:root{--color-bg:#f4f1ea;--color-card:#fff;--color-primary:#2d4a3e;--color-secondary:#4a7a6a;--color-accent:#8b6914;--color-muted:#c4bba8;--color-border:#ddd8ce;--color-text:#1c1c1c;--color-text-soft:#5a5a5a;--color-text-muted:#9a9a9a;--color-text-inv:#f4f1ea;--color-ledig-bg:#eaf2ee;--color-ledig-text:#1e4030;--color-opptatt-bg:#f5efe0;--color-opptatt-text:#6b4a00;--color-error-bg:#fbeaea;--color-error-text:#7a1e1e;--color-haldfast:#2d4a3e;--color-eloeen:#4a7a6a;--color-bolgen:#8b6914;--color-hviteorn:#a07840;--font-serif:Georgia, "Times New Roman", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Courier New", Courier, monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--transition:.15s ease;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.65}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);min-height:100svh}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-primary);letter-spacing:-.01em;font-weight:400;line-height:1.2}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{color:var(--color-text-soft);line-height:1.7}a{color:var(--color-primary);text-underline-offset:3px;transition:opacity var(--transition);text-decoration:underline}a:hover{opacity:.7}.label{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent)}.label-muted{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted)}.btn{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition);border:none;padding:10px 20px;text-decoration:none;display:inline-block}.btn:hover{opacity:.85}.btn-primary{background:var(--color-primary);color:var(--color-text-inv)}.btn-ghost{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.btn-accent{background:var(--color-accent);color:var(--color-text-inv)}.card{background:var(--color-card);border:1px solid var(--color-border);padding:var(--space-8)}.card-sm{background:var(--color-card);border:1px solid var(--color-border);padding:var(--space-5)}.badge{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;display:inline-block}.badge-ledig{background:var(--color-ledig-bg);color:var(--color-ledig-text)}.badge-opptatt{background:var(--color-opptatt-bg);color:var(--color-opptatt-text)}.badge-error{background:var(--color-error-bg);color:var(--color-error-text)}input,select,textarea{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-card);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);width:100%;transition:border-color var(--transition);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--color-primary)}label{font-size:var(--text-sm);color:var(--color-text-soft);margin-bottom:var(--space-2);display:block}hr{border:none;border-top:1px solid var(--color-border)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-muted)}
