:root{--color-primary-900: #000D1F;--color-primary-800: #011C3A;--color-primary-700: #022B59;--color-primary-600: #033A78;--color-primary-500: #0A4D99;--color-primary-400: #1A6DC4;--color-primary-300: #4090E0;--color-primary-200: #80B8F0;--color-primary-100: #C0DBFA;--color-primary-50: #E8F2FD;--color-accent-900: #6B1500;--color-accent-800: #9C1D00;--color-accent-700: #C42600;--color-accent-600: #E83E01;--color-accent-500: #FF5722;--color-accent-400: #FF7043;--color-accent-300: #FF8A65;--color-accent-200: #FFCCBC;--color-accent-100: #FBE9E7;--color-accent-50: #FFF3F0;--color-gray-950: #111111;--color-gray-900: #1A1A1A;--color-gray-800: #2C2C2E;--color-gray-700: #48484A;--color-gray-600: #636366;--color-gray-500: #8E8E93;--color-gray-400: #AEAEB2;--color-gray-300: #C7C7CC;--color-gray-200: #E5E5EA;--color-gray-100: #F2F2F7;--color-gray-50: #F5F5F7;--color-status-ny: #8E8E93;--color-status-ny-bg: rgba(142, 142, 147, .1);--color-status-under-arbeid: #0A84FF;--color-status-under-arbeid-bg: rgba(10, 132, 255, .1);--color-status-lost: #30D158;--color-status-lost-bg: rgba(48, 209, 88, .1);--color-priority-kritisk: #FF3B30;--color-priority-kritisk-bg: rgba(255, 59, 48, .1);--color-priority-hoy: #FF9500;--color-priority-hoy-bg: rgba(255, 149, 0, .1);--color-priority-medium: #FFCC00;--color-priority-medium-bg: rgba(255, 204, 0, .1);--color-priority-lav: #8E8E93;--color-priority-lav-bg: rgba(142, 142, 147, .1);--color-type-bug: #FF3B30;--color-type-bug-bg: rgba(255, 59, 48, .1);--color-type-feil: #FF9500;--color-type-feil-bg: rgba(255, 149, 0, .1);--color-type-justering: #AF52DE;--color-type-justering-bg: rgba(175, 82, 222, .1);--color-type-forbedring: #30D158;--color-type-forbedring-bg: rgba(48, 209, 88, .1);--color-type-oppdatering: #0A84FF;--color-type-oppdatering-bg: rgba(10, 132, 255, .1);--color-white: #FFFFFF;--color-black: #000000;--bg-canvas: var(--color-gray-50);--bg-surface: var(--color-white);--bg-raised: var(--color-white);--bg-sidebar: var(--color-primary-800);--bg-header: var(--color-primary-800);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--text-muted: var(--color-gray-500);--text-inverse: var(--color-white);--text-link: var(--color-primary-500);--border-default: var(--color-gray-200);--border-strong: var(--color-gray-300);--border-focus: var(--color-primary-500);--interactive-primary: var(--color-accent-600);--interactive-primary-hover: var(--color-accent-700);--interactive-secondary: var(--color-primary-800);--interactive-secondary-hover: var(--color-primary-700);--font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .04em;--tracking-wider: .08em;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--shadow-modal: 0 25px 50px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 240px;--sidebar-collapsed-width: 56px;--header-height: 56px;--content-max-width: 1100px;--z-below: -1;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-regular);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-canvas);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}p{line-height:var(--leading-relaxed)}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-600)}ul,ol{list-style:none}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}textarea{resize:vertical}code,pre,kbd{font-family:var(--font-mono);font-size:.9em}table{border-collapse:collapse;width:100%}hr{border:none;border-top:1px solid var(--border-default)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--interactive-primary);color:var(--color-white);border-radius:var(--radius-md);font-weight:var(--font-medium);transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-4)}::selection{background:var(--color-primary-100);color:var(--color-primary-800)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.block{display:block}.inline{display:inline}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.p-0{padding:var(--space-0)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.mt-1{margin-top:var(--space-1)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-light{font-weight:var(--font-light)}.font-regular{font-weight:var(--font-regular)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-inverse{color:var(--text-inverse)}.text-accent{color:var(--color-accent-600)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uppercase{text-transform:uppercase;letter-spacing:var(--tracking-wider)}.bg-canvas{background:var(--bg-canvas)}.bg-surface{background:var(--bg-surface)}.bg-primary{background:var(--color-primary-800)}.bg-accent{background:var(--color-accent-600)}.border{border:1px solid var(--border-default)}.border-top{border-top:1px solid var(--border-default)}.border-bottom{border-bottom:1px solid var(--border-default)}.border-strong{border-color:var(--border-strong)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.h-full{height:100%}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-4)}.app-loading__spinner{width:36px;height:36px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary-800);border-radius:var(--radius-full);animation:spin .8s linear infinite}.app-loading__text{color:var(--text-muted);font-size:var(--text-sm)}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.app-layout__main{display:flex;flex-direction:column;min-height:100vh;overflow:hidden}.app-content{flex:1;padding:var(--space-8);overflow-y:auto}.page-enter{opacity:0;transform:translateY(6px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .2s ease}.table-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.search-input-wrap{flex:1;min-width:200px}.mb-6{margin-bottom:var(--space-6)}.project-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.project-card__prefix{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.project-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.project-card__desc{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__meta{display:flex;gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted)}.sidebar__project-list{display:flex;flex-direction:column;gap:2px}.sidebar__project-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);color:#ffffffa6;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;overflow:hidden}.sidebar__project-link:hover{background:#ffffff14;color:#fff}.sidebar__project-link.active{background:#ffffff1f;color:#fff}.sidebar__project-prefix{font-family:var(--font-mono);font-size:10px;background:#ffffff1f;padding:1px 4px;border-radius:3px;flex-shrink:0}.comment-empty{font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-4) 0}.comment-form__actions{display:flex;justify-content:flex-end;margin-top:var(--space-3)}@media(max-width:768px){.app-layout{grid-template-columns:1fr}.app-content{padding:var(--space-4)}}@media(max-width:768px){.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar .search-input-wrap{min-width:unset}.table-toolbar .flex{flex-wrap:wrap}.select--sm{min-width:0;flex:1}}@media(max-width:480px){.app-content{padding:var(--space-4) var(--space-3)}.table-toolbar .flex{flex-wrap:wrap;gap:var(--space-2)}.table-toolbar .flex .select--sm{flex:1 1 30%;min-width:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(100%) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(100%) scale(.9)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease both}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease both}.animate-fade-in-down{animation:fadeInDown var(--transition-base) ease both}.animate-scale-in{animation:scaleIn var(--transition-base) ease both}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:var(--bg-surface);border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);gap:var(--space-4);z-index:var(--z-sticky)}.header__left{display:flex;align-items:center;gap:var(--space-3);flex:1;overflow:hidden}.header__menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--text-secondary);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.header__menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.header__breadcrumb{display:flex;align-items:center;gap:var(--space-2);overflow:hidden}.breadcrumb__link{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;transition:color var(--transition-fast)}.breadcrumb__link:hover{color:var(--text-primary)}.breadcrumb__sep{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0}.breadcrumb__current{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.header__user{display:flex;align-items:center;gap:var(--space-2)}.header__user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap}.header__logout{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.header__logout:hover{background:var(--bg-hover);color:var(--text-danger)}.sidebar.sidebar--collapsed~* .app-header{left:68px}@media(max-width:1024px){.app-header{left:0}.header__user-name{display:none}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-sidebar);display:flex;flex-direction:column;z-index:var(--z-sticky);transition:width var(--transition-base);overflow:hidden}.sidebar__brand{display:flex;align-items:center;height:var(--header-height);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;padding:0 var(--space-4)}.sidebar__logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;overflow:hidden}.sidebar__logo-mark{height:32px;width:auto;padding:0 12px;background:var(--color-accent-600);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:var(--font-bold);letter-spacing:.02em;color:var(--color-white);flex-shrink:0;white-space:nowrap}.sidebar__logo-text{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-white);white-space:nowrap;overflow:hidden}.sidebar__nav{flex:1;padding:var(--space-4) var(--space-3);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#ffffffa6;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;text-decoration:none}.sidebar__link:hover{background:#ffffff14;color:var(--color-white)}.sidebar__link.active{background:#ffffff1f;color:var(--color-white)}.sidebar__link svg{flex-shrink:0;opacity:.8}.sidebar__link.active svg{opacity:1}.sidebar__projects{padding:0 var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:#ffffff59;text-transform:uppercase;letter-spacing:var(--tracking-wider);padding:var(--space-3) var(--space-2) var(--space-1);white-space:nowrap}.sidebar__project-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:180px;overflow-y:auto}.sidebar__project-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:#ffffff8c;font-size:var(--text-xs);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;overflow:hidden;text-decoration:none}.sidebar__project-link:hover{background:#ffffff0f;color:#ffffffd9}.sidebar__project-link.active{background:#ffffff14;color:var(--color-white)}.sidebar__project-prefix{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-accent-400);flex-shrink:0;min-width:22px}.sidebar__project-name{overflow:hidden;text-overflow:ellipsis}.sidebar__footer{padding:var(--space-3);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar__user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.sidebar__user:hover{background:#ffffff14}.sidebar__user-info{flex:1;overflow:hidden}.sidebar__user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.sidebar__user-role{font-size:var(--text-xs);color:#ffffff73;display:block}.sidebar__overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-sticky) - 1)}.app-layout{display:flex;min-height:100vh}.app-layout__main{flex:1;margin-left:var(--sidebar-width);margin-top:var(--header-height);min-width:0;display:flex;flex-direction:column}.app-content{flex:1;padding:var(--space-8);width:100%}.sidebar.sidebar--collapsed{width:68px}.sidebar.sidebar--collapsed .sidebar__logo-text,.sidebar.sidebar--collapsed .sidebar__section-title,.sidebar.sidebar--collapsed .sidebar__link span,.sidebar.sidebar--collapsed .sidebar__user-info,.sidebar.sidebar--collapsed .sidebar__projects{display:none}.sidebar.sidebar--collapsed .sidebar__brand{justify-content:center;padding:0}.sidebar.sidebar--collapsed .sidebar__logo-mark{width:32px;height:32px;padding:0;font-size:0}.sidebar.sidebar--collapsed .sidebar__logo-mark:after{content:"S";font-size:18px;font-weight:var(--font-bold)}.sidebar.sidebar--collapsed .sidebar__nav{padding:var(--space-4) var(--space-2);align-items:center}.sidebar.sidebar--collapsed .sidebar__link{justify-content:center;padding:var(--space-2);width:44px}.sidebar.sidebar--collapsed .sidebar__footer{padding:var(--space-3) var(--space-2)}.sidebar.sidebar--collapsed .sidebar__user{justify-content:center;padding:var(--space-2)}.sidebar.sidebar--collapsed .sidebar__user .avatar{width:36px;height:36px;font-size:var(--text-sm)}.sidebar.sidebar--collapsed~.app-layout__main{margin-left:68px}body:has(.sidebar.sidebar--open) .sidebar__overlay{display:block}@media(max-width:1024px){.sidebar{transform:translate(-100%);z-index:var(--z-modal)}.sidebar.sidebar--open{transform:translate(0)}.app-layout__main{margin-left:0}.app-content{padding:var(--space-4)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border:1px solid transparent;text-decoration:none;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--color-accent-600);color:var(--color-white);border-color:var(--color-accent-600)}.btn--primary:hover{background:var(--color-accent-700);border-color:var(--color-accent-700)}.btn--secondary{background:var(--color-primary-800);color:var(--color-white);border-color:var(--color-primary-800)}.btn--secondary:hover{background:var(--color-primary-700);border-color:var(--color-primary-700)}.btn--outline{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn--outline:hover{background:var(--color-gray-100)}.btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn--ghost:hover{background:var(--color-gray-100);color:var(--text-primary)}.btn--danger{background:var(--color-priority-kritisk);color:var(--color-white);border-color:var(--color-priority-kritisk)}.btn--danger:hover{background:#e02020;border-color:#e02020}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);gap:var(--space-1)}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast);cursor:pointer}.btn-icon:hover{background:var(--color-gray-100);color:var(--text-primary)}.btn-icon--sm{width:24px;height:24px;border-radius:var(--radius-sm)}.btn-icon--lg{width:40px;height:40px}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-label--required:after{content:" *";color:var(--color-priority-kritisk)}.form-hint{font-size:var(--text-xs);color:var(--text-muted)}.form-error{font-size:var(--text-xs);color:var(--color-priority-kritisk);display:flex;align-items:center;gap:var(--space-1)}.input{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none}.input::placeholder{color:var(--text-muted)}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #0a4d991f}.input.error{border-color:var(--color-priority-kritisk)}.input.error:focus{box-shadow:0 0 0 3px #ff3b301f}.input:disabled{background:var(--color-gray-100);color:var(--text-muted);cursor:not-allowed}.input-wrapper{position:relative}.input-wrapper .input{padding-left:var(--space-9, 36px)}.input-wrapper__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;width:16px;height:16px}.textarea{width:100%;padding:var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;resize:vertical;min-height:100px;line-height:var(--leading-relaxed);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.textarea::placeholder{color:var(--text-muted)}.textarea:hover{border-color:var(--border-strong)}.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #0a4d991f}.select{width:100%;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%238E8E93' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select:hover{border-color:var(--border-strong)}.select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #0a4d991f}.search-input{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-gray-100);border:1px solid transparent;border-radius:var(--radius-md);width:100%;transition:background var(--transition-fast),border-color var(--transition-fast)}.search-input:focus-within{background:var(--bg-surface);border-color:var(--border-focus);box-shadow:0 0 0 3px #0a4d991f}.search-input__icon{color:var(--text-muted);flex-shrink:0;width:16px;height:16px}.search-input input{flex:1;background:transparent;border:none;outline:none;font-size:var(--text-sm);color:var(--text-primary)}.search-input input::placeholder{color:var(--text-muted)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.form-actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-default)}.form-actions .btn{min-width:100px}@media(max-width:480px){.form-row{flex-direction:column;gap:0}}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-default);display:flex;align-items:center;gap:var(--space-3)}.card__title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);flex:1}.card__body{padding:var(--space-5) var(--space-6)}.card__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-default);background:var(--color-gray-50)}.project-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base);display:flex;flex-direction:column;gap:var(--space-4);text-decoration:none}.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-200);transform:translateY(-1px)}.project-card__top{display:flex;align-items:flex-start;gap:var(--space-3)}.project-card__icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary-600);display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-md);flex-shrink:0}.project-card__name{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-snug)}.project-card__desc{font-size:var(--text-sm);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted)}.project-card__stat{display:flex;align-items:center;gap:var(--space-1)}.stat-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.stat-card__label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.stat-card__value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.stat-card__sub{font-size:var(--text-sm);color:var(--text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;gap:var(--space-4)}.empty-state__icon{width:64px;height:64px;border-radius:var(--radius-xl);background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:28px}.empty-state__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.empty-state__desc{font-size:var(--text-sm);color:var(--text-secondary);max-width:360px;line-height:var(--leading-relaxed)}@media(max-width:768px){.empty-state{padding:var(--space-10) var(--space-6);gap:var(--space-3)}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap;line-height:1.4}.badge__dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.badge--ny{background:var(--color-status-ny-bg);color:var(--color-status-ny)}.badge--under-arbeid{background:var(--color-status-under-arbeid-bg);color:var(--color-status-under-arbeid)}.badge--lost{background:var(--color-status-lost-bg);color:var(--color-status-lost)}.badge--kritisk{background:var(--color-priority-kritisk-bg);color:var(--color-priority-kritisk)}.badge--hoy{background:var(--color-priority-hoy-bg);color:var(--color-priority-hoy)}.badge--medium{background:var(--color-priority-medium-bg);color:#b8860b}.badge--lav{background:var(--color-priority-lav-bg);color:var(--color-priority-lav)}.badge--bug{background:var(--color-type-bug-bg);color:var(--color-type-bug)}.badge--feil{background:var(--color-type-feil-bg);color:var(--color-type-feil)}.badge--justering{background:var(--color-type-justering-bg);color:var(--color-type-justering)}.badge--forbedring{background:var(--color-type-forbedring-bg);color:var(--color-type-forbedring)}.badge--oppdatering{background:var(--color-type-oppdatering-bg);color:var(--color-type-oppdatering)}.badge--admin{background:#af52de1a;color:#af52de}.badge--team{background:var(--color-primary-50);color:var(--color-primary-600)}.badge--klient{background:var(--color-gray-100);color:var(--color-gray-600)}.badge--pill{border-radius:var(--radius-full);padding:4px var(--space-3)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;font-weight:var(--font-semibold);text-transform:uppercase;-webkit-user-select:none;user-select:none}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--xs{width:20px;height:20px;font-size:8px}.avatar--sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar--md{width:36px;height:36px;font-size:var(--text-sm)}.avatar--lg{width:48px;height:48px;font-size:var(--text-md)}.avatar--xl{width:64px;height:64px;font-size:var(--text-xl)}.avatar--color-0{background:#0a84ff;color:#fff}.avatar--color-1{background:#30d158;color:#fff}.avatar--color-2{background:#ff9500;color:#fff}.avatar--color-3{background:#af52de;color:#fff}.avatar--color-4{background:#ff3b30;color:#fff}.avatar--color-5{background:#5ac8fa;color:#fff}.avatar--color-6{background:#e83e01;color:#fff}.avatar--color-7{background:#32ade6;color:#fff}.avatar--default{background:var(--color-primary-800);color:var(--color-white)}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid var(--bg-surface);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.avatar-group__more{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-gray-200);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);border:2px solid var(--bg-surface);margin-left:-8px}.modal-overlay{position:fixed;inset:0;background:#011c3a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn var(--transition-base) ease}.modal-overlay--exit{animation:fadeOut .15s ease forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.modal{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn var(--transition-base) var(--transition-bounce);overflow:hidden}.modal--lg{max-width:680px}.modal--sm{max-width:380px}.modal__header{display:flex;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-default);gap:var(--space-3);flex-shrink:0}.modal__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);flex:1}.modal__close{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.modal__close:hover{background:var(--color-gray-100);color:var(--text-primary)}.modal__body{padding:var(--space-6);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-5)}.modal__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-default);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-shrink:0;background:var(--color-gray-50)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-gray-900);color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:280px;max-width:400px;pointer-events:all;animation:toastSlideIn var(--transition-base) ease}.toast--success .toast__icon{color:var(--color-status-lost)}.toast--error .toast__icon{color:var(--color-priority-kritisk)}.toast--warning .toast__icon{color:var(--color-priority-hoy)}.toast--info .toast__icon{color:var(--color-status-under-arbeid)}.toast__icon{flex-shrink:0;width:18px;height:18px}.toast__message{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-snug)}.toast__close{width:20px;height:20px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#ffffff80;cursor:pointer;transition:color var(--transition-fast);flex-shrink:0}.toast__close:hover{color:var(--color-white)}.toast.removing{animation:toastSlideOut var(--transition-base) ease forwards}.dropdown{position:relative;display:inline-block}.dropdown__menu{position:absolute;top:calc(100% + var(--space-1));left:0;min-width:180px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;animation:fadeInDown var(--transition-fast) ease}.dropdown__menu--right{left:auto;right:0}.dropdown__menu--up{top:auto;bottom:calc(100% + var(--space-1));animation:fadeInUp var(--transition-fast) ease}.dropdown__section{padding:var(--space-1)}.dropdown__section+.dropdown__section{border-top:1px solid var(--border-default)}.dropdown__section-label{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.dropdown__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.dropdown__item:hover{background:var(--color-gray-100)}.dropdown__item.active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-medium)}.dropdown__item--danger{color:var(--color-priority-kritisk)}.dropdown__item--danger:hover{background:#ff3b3014}.dropdown__item-icon{width:16px;height:16px;flex-shrink:0;opacity:.7}.dropdown__item-badge{margin-left:auto}.data-table-wrapper{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.data-table__filters{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;background:var(--bg-surface)}.data-table__filter-group{display:flex;align-items:center;gap:var(--space-2)}.data-table__filter-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.data-table__filter-btn:hover,.data-table__filter-btn.active{background:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-700)}.data-table__search{margin-left:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);background:var(--color-gray-50);border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--text-primary)}.data-table th.sorted{color:var(--color-primary-700)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);vertical-align:middle;font-size:var(--text-sm);color:var(--text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-gray-50)}.data-table tr{cursor:pointer;transition:background var(--transition-fast)}.data-table__col-id{width:80px}.data-table__col-title{min-width:200px}.data-table__col-badge{width:110px}.data-table__col-date{width:120px}.data-table__col-avatar{width:80px}.data-table__col-actions{width:60px;text-align:right}.issue-id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);background:var(--color-gray-100);padding:2px var(--space-2);border-radius:var(--radius-sm)}.deadline--overdue{color:var(--color-priority-kritisk);font-weight:var(--font-medium)}.data-table__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-default);display:flex;align-items:center;gap:var(--space-3);background:var(--color-gray-50)}.data-table__count{font-size:var(--text-xs);color:var(--text-muted);flex:1}.file-upload{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.file-upload:hover,.file-upload--hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.file-upload--dragging{border-color:var(--color-accent-600);background:var(--color-accent-50)}.file-upload__icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:24px}.file-upload__title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.file-upload__subtitle{font-size:var(--text-xs);color:var(--text-muted)}.file-upload input[type=file]{display:none}.file-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.file-preview__item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-default)}.file-preview__item img{width:100%;height:100%;object-fit:cover}.file-preview__remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:var(--radius-full);background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.file-preview__item:hover .file-preview__remove{opacity:1}.file-preview__progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--color-gray-200)}.file-preview__progress-bar{height:100%;background:var(--color-accent-600);transition:width var(--transition-base)}.comments-section{display:flex;flex-direction:column;gap:var(--space-1)}.comments-section__title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-default);margin-bottom:var(--space-2)}.comment{display:flex;gap:var(--space-3);padding:var(--space-3) 0}.comment__avatar{flex-shrink:0}.comment__body{flex:1;min-width:0}.comment__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.comment__author{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.comment__time{font-size:var(--text-xs);color:var(--text-muted)}.comment__content{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-primary)}.activity-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.activity-row__line{width:28px;display:flex;justify-content:center;flex-shrink:0}.activity-row__dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--border-strong)}.activity-row__text{font-size:var(--text-xs);color:var(--text-muted);flex:1}.activity-row__text strong{color:var(--text-secondary);font-weight:var(--font-medium)}.comment-input{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-default);margin-top:var(--space-2)}.comment-input__body{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.comment-input__field{width:100%;min-height:80px;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);resize:vertical;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.comment-input__field:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #0a4d991a}.comment-input__actions{display:flex;justify-content:flex-end}.issue-header{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-default);margin-bottom:var(--space-6)}.issue-header__top{display:flex;align-items:flex-start;gap:var(--space-4)}.issue-header__id{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0;margin-top:2px}.issue-header__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-snug);flex:1}.issue-header__badges{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.issue-meta{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.issue-meta__item{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);border-bottom:1px solid var(--border-default)}.issue-meta__item:last-child{border-bottom:none}.issue-meta__label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.issue-meta__value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium)}.issue-meta__value--editable{cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);margin:-2px calc(-1 * var(--space-2));border-radius:var(--radius-sm);transition:background var(--transition-fast)}.issue-meta__value--editable:hover{background:var(--color-gray-100)}.issue-description{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-primary)}.issue-description h1,.issue-description h2,.issue-description h3{margin-top:var(--space-4);margin-bottom:var(--space-2)}.issue-description p{margin-bottom:var(--space-3)}.issue-description ul,.issue-description ol{margin-bottom:var(--space-3);padding-left:var(--space-5)}.issue-description li{margin-bottom:var(--space-1);list-style:disc}.issue-description ol li{list-style:decimal}.issue-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.issue-image-thumb{aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-default);cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.issue-image-thumb:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.issue-image-thumb img{width:100%;height:100%;object-fit:cover}.lightbox{position:fixed;inset:0;background:#000000e6;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-8);animation:fadeIn var(--transition-base) ease}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.lightbox__close{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;border-radius:var(--radius-full);background:#ffffff26;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px}.issue-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-6);align-items:start}@media(max-width:900px){.issue-layout{grid-template-columns:1fr}}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--color-primary-800);display:flex;align-items:center;justify-content:center;padding:var(--space-12);position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(232,62,1,.18),transparent 70%);top:-100px;right:-100px;border-radius:var(--radius-full)}.login-brand:after{content:"";position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(232,62,1,.08),transparent 70%);bottom:-60px;left:-60px;border-radius:var(--radius-full)}.login-brand__content{position:relative;z-index:1;text-align:center}.login-brand__logo{width:64px;height:64px;background:var(--color-accent-600);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-white);margin:0 auto var(--space-6);box-shadow:0 8px 24px #e83e0159}.login-brand__name{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-white);margin-bottom:var(--space-3);letter-spacing:-.02em}.login-brand__tagline{font-size:var(--text-sm);color:#ffffff80;text-align:center;max-width:260px;line-height:var(--leading-relaxed)}.login-form-area{display:flex;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8);background:var(--bg-surface)}.login-form-card{width:100%;max-width:400px;padding:var(--space-8);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.login-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-default);margin-bottom:var(--space-6)}.login-tab{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition-fast),border-color var(--transition-fast)}.login-tab.active{color:var(--color-primary-800);border-bottom-color:var(--color-accent-600)}.login-tab:hover:not(.active){color:var(--text-primary)}.login-panel{display:none}.login-panel.active{display:flex;flex-direction:column;gap:var(--space-4)}.login-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-xs)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.btn--google{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);background:var(--bg-surface);cursor:pointer;width:100%;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.btn--google:hover{background:var(--color-gray-50);box-shadow:var(--shadow-sm)}.w-full{width:100%}.mt-2{margin-top:var(--space-2)}@media(max-width:1024px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-form-area{padding:var(--space-8) var(--space-4);align-items:flex-start;padding-top:var(--space-16)}}.dashboard-header{margin-bottom:var(--space-8)}.dashboard-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.dashboard-header p{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.dashboard-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.dashboard-section-title span{font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--font-regular)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-8)}.dashboard-section{margin-bottom:var(--space-6)}.dashboard-section__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4)}.stat-card--danger .stat-card__value{color:var(--color-priority-kritisk)}.stat-card--success .stat-card__value{color:var(--color-status-lost)}@media(max-width:1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.dashboard-stats{grid-template-columns:1fr}.dashboard-header h1{font-size:var(--text-xl)}}.page-header[hidden]{display:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8)}.page-header__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.page-header__sub{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-6)}.page-header .btn{align-self:flex-start}.page-header__title{font-size:var(--text-xl)}}@media(max-width:480px){.projects-grid{grid-template-columns:1fr}}.project-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4)}.project-detail-header__left{flex:1;min-width:0}.project-detail__name{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-detail__prefix{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.project-detail__members{display:flex;align-items:center;gap:var(--space-3)}@media(max-width:768px){.project-detail-header{flex-direction:column;align-items:flex-start}.project-detail__members{display:none}}.issue-detail-page{max-width:1100px}.issue-detail-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-6);align-items:start}@media(max-width:900px){.issue-detail-layout{grid-template-columns:1fr}.issue-detail-meta{order:-1}}.issue-header{margin-bottom:var(--space-6)}.issue-header__id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-2)}.issue-header__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.issue-header__badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.issue-description{margin-bottom:var(--space-6)}.issue-description h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.issue-description__text{font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-relaxed)}.issue-images{margin-bottom:var(--space-6)}.issue-images h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.image-gallery{display:flex;gap:var(--space-3);flex-wrap:wrap}.issue-meta-group{padding:var(--space-3) 0;border-bottom:1px solid var(--border-default)}.issue-meta-group:last-of-type{border-bottom:none}.issue-meta-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.issue-meta-value{font-size:var(--text-sm);color:var(--text-primary)}.issue-form{display:grid;grid-template-columns:1fr 280px;gap:var(--space-6);align-items:start}@media(max-width:900px){.issue-form{grid-template-columns:1fr}}.issue-detail-back{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-5);cursor:pointer;transition:color var(--transition-fast)}.issue-detail-back:hover{color:var(--text-primary)}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:var(--space-8);align-items:start}.settings-nav{display:flex;flex-direction:column;gap:var(--space-1)}.settings-nav__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.settings-nav__item:hover{background:var(--color-gray-100);color:var(--text-primary)}.settings-nav__item.active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-medium)}.settings-section{display:flex;flex-direction:column;gap:var(--space-6)}.settings-section__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-default)}.profil-info{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.profil-info__item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border-bottom:1px solid var(--border-default)}.profil-info__item:last-child{border-bottom:none}.profil-info__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);min-width:80px}.profil-info__value{font-size:var(--text-sm);color:var(--text-primary)}.members-list{display:flex;flex-direction:column}.member-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-default)}.member-row:last-child{border-bottom:none}.member-row__info{flex:1;min-width:0}.member-row__name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-row__email{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;flex-wrap:wrap}}
