:root{--color-brand-navy: #002554;--color-brand-gold: #f1b434;--color-brand-gold-dark: #e5a535;--color-bg-page: #f4f5f7;--color-bg-card: #ffffff;--color-bg-sidebar: #002554;--color-text-primary: #1a1a1a;--color-text-secondary: #333333;--color-text-light: #ffffff;--color-text-muted: #5a6472;--color-border: #e0e3e8;--color-success: #2e7d32;--color-warning: #f59e0b;--color-danger: #c62828;--font-family-base: "Inter", "Segoe UI", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 14px;--shadow-card: 0 1px 4px rgba(0,0,0,.1);--shadow-elevated: 0 4px 12px rgba(0,0,0,.15)}*{box-sizing:border-box}body{font-family:var(--font-family-base);background:var(--color-bg-page);color:var(--color-text-primary);margin:0;min-height:100vh}.app{display:flex;min-height:100vh}.sidebar{background:var(--color-bg-sidebar);color:var(--color-text-light);width:220px;flex-shrink:0;padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar .logo{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.sidebar .logo-img{width:100%;max-width:170px}.sidebar .logo-app{color:var(--color-brand-gold);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:.15em;text-transform:uppercase}.sidebar button{background:none;border:none;border-left:3px solid transparent;text-align:left;cursor:pointer;color:#ffffffb8;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:.65rem 1.25rem;min-height:44px;transition:background .15s,color .15s}.sidebar button:hover{background:#ffffff14;color:#fff}.sidebar button.aktiv{background:#ffffff14;color:#fff;border-left:3px solid var(--color-brand-gold)}.sidebar .bruker{margin-top:auto;font-size:var(--font-size-sm);color:#ffffffb3;padding:var(--spacing-md)}.innhold{flex:1;padding:var(--spacing-lg);max-width:1100px}.innhold h1{font-size:var(--font-size-2xl);margin:0 0 var(--spacing-lg)}.innhold h2{font-size:var(--font-size-lg);margin:var(--spacing-lg) 0 var(--spacing-sm)}@media (max-width: 768px){.app{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;padding:var(--spacing-sm)}.sidebar .logo{margin:0 var(--spacing-md) 0 var(--spacing-sm);flex-direction:row;align-items:center;gap:var(--spacing-sm)}.sidebar .logo-img{width:110px}.sidebar .logo-app,.sidebar .bruker{display:none}.innhold{padding:var(--spacing-md)}}.card{background:var(--color-bg-card);border-radius:var(--border-radius-md);box-shadow:var(--shadow-card);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.card.klikkbar{cursor:pointer}.card.klikkbar:hover{box-shadow:var(--shadow-elevated)}.btn-primary{background:var(--color-brand-gold);color:var(--color-brand-navy);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);cursor:pointer}.btn-primary:hover{background:var(--color-brand-gold-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-sekundar{background:var(--color-bg-card);color:var(--color-brand-navy);border:1.5px solid var(--color-brand-navy);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-weight:var(--font-weight-medium);cursor:pointer}.btn-sekundar:hover{background:var(--color-brand-navy);color:var(--color-text-light)}.btn-fare{border-color:var(--color-danger);color:var(--color-danger)}.btn-fare:hover{background:var(--color-danger);color:var(--color-text-light)}.knapperad{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-md)}label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:var(--spacing-md) 0 var(--spacing-xs)}input,select,textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-family:inherit;font-size:var(--font-size-base)}textarea{min-height:90px}.merke{display:inline-block;padding:2px 10px;border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.merke.tilgjengelig{background:#fff7e0;color:#9a6b00}.merke.tildelt{background:#e3ecf7;color:var(--color-brand-navy)}.merke.fullfort{background:#e6f4e6;color:var(--color-success)}.merke.pa_vent{background:#f3e8ff;color:#6b21a8}.merke.venter{background:#f0f0f0;color:var(--color-text-muted)}.merke.hoppet_over{background:#f0f0f0;color:var(--color-text-muted);text-decoration:line-through}.merke.forfalt{background:#fdecea;color:var(--color-danger)}.merke.godkjenn{background:var(--color-brand-navy);color:var(--color-brand-gold)}.oppgave-rad{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.oppgave-rad .tittel{font-weight:var(--font-weight-medium)}.oppgave-rad .meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.sjekkliste{list-style:none;padding:0}.sjekkliste li{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.sjekkliste input{width:auto}.logg{font-size:var(--font-size-sm)}.logg li{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border);list-style:none}.logg .tid{color:var(--color-text-muted);margin-right:var(--spacing-sm)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-brand-navy)}.login-innhold{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-md)}.login-logo{width:min(320px,80vw)}.login .card{text-align:center;padding:var(--spacing-2xl);max-width:360px}.login h1{color:var(--color-brand-navy)}.feilmelding{background:#fdecea;color:var(--color-danger);padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md)}.wizard-topp{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.wizard-tittel{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-brand-navy)}.wizard-fremdrift{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}.wizard-progresjon{display:flex;gap:6px;margin:var(--spacing-md) 0}.wizard-prikk{height:4px;flex:1;border-radius:2px;background:var(--color-border)}.wizard-prikk.ferdig{background:var(--color-brand-navy)}.wizard-prikk.aktiv{background:var(--color-brand-gold)}.wizard-forklaring{display:flex;gap:var(--spacing-sm);align-items:flex-start;background:#f7f0dd;border-left:3px solid var(--color-brand-gold);padding:var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.wizard-forklaring i{color:var(--color-brand-gold-dark);font-size:1.1rem;margin-top:1px}.wizard-knapper{justify-content:flex-end}.wizard-oppsummering dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--spacing-md)}.wizard-oppsummering dd{margin:2px 0 0}.tomt{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-muted);padding:var(--spacing-2xl);text-align:center}.tomt i{font-size:2rem}.fasespor{display:flex;gap:8px;margin-bottom:var(--spacing-md);flex-wrap:wrap}.fasespor .fase{flex:1 1 140px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#fff;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;text-align:center;font:inherit}.fasespor .fase.valgt{border-color:var(--color-brand)}.fasespor .fase-sirkel{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;background:#eee;color:var(--color-text)}.fasespor .fase.lukket .fase-sirkel{background:var(--color-brand);color:#fff}.fasespor .fase.apen .fase-sirkel{background:#f1b434;color:#4a3405}.fasespor .fase.laast{opacity:.6}.fasespor .fase-navn{font-size:13px;line-height:1.3}
