:root{color-scheme:light;--lu-green: #0e553f;--lu-green-mid: #307240;--lu-yellow: #aaad00;--lu-yellow-bright: #d2c738;--lu-accent: #ceaf61;--lu-cream: #f2f6d5;--lu-cream-warm: #ecebe4;--lu-text: #363636;--lu-text-muted: #62718d;--bg: var(--lu-cream-warm);--surface: #ffffff;--surface-elevated: rgba(255, 255, 255, .92);--text: var(--lu-text);--text-secondary: var(--lu-text-muted);--border: rgba(14, 85, 63, .12);--accent: var(--lu-green);--accent-hover: var(--lu-green-mid);--accent-secondary: var(--lu-yellow);--radius-lg: 12px;--radius-md: 8px;--radius-sm: 6px;--shadow: 0 4px 20px rgba(14, 85, 63, .08);--shadow-sm: 0 1px 4px rgba(14, 85, 63, .06);--font-heading: "Nunito Sans", system-ui, sans-serif;--font-body: "Cabin", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-body);font-size:1rem;line-height:1.55;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.page-title{font-family:var(--font-heading);font-weight:600;color:var(--lu-green)}a{color:var(--lu-green);text-decoration:none}a:hover{color:var(--lu-green-mid);text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1.5rem;background:var(--lu-green);border-bottom:3px solid var(--lu-yellow);box-shadow:var(--shadow-sm)}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.brand:hover{text-decoration:none;opacity:.95}.brand-logo-wrap{display:flex;align-items:center;flex-shrink:0;background:#fff;padding:.3rem .55rem;border-radius:var(--radius-sm)}.brand-logo{height:44px;width:auto;display:block;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:#fff}.brand-sub{font-size:.82rem;font-weight:500;color:var(--lu-yellow-bright);letter-spacing:.02em}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.header-user{font-size:.85rem;color:var(--lu-cream)}.header-link{font-family:var(--font-heading);font-size:.88rem;font-weight:600;color:#fff;padding:.4rem .85rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.35);text-decoration:none;transition:background .15s ease,border-color .15s ease}.header-link:hover{background:#ffffff1f;border-color:var(--lu-yellow);text-decoration:none;color:#fff}.header-btn{font-family:var(--font-heading);font-size:.88rem;font-weight:600;color:#fff;padding:.4rem .85rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.35);background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.header-btn:hover{background:#ffffff1f;border-color:var(--lu-yellow)}.app-main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:1.75rem 1.25rem 3rem}.app-footer{margin-top:auto;padding:1rem 1.5rem;text-align:center;font-size:.85rem;color:var(--text-secondary);background:var(--lu-cream);border-top:1px solid var(--border)}.app-footer a{font-weight:600}.page-title{font-size:1.85rem;letter-spacing:-.02em;margin:0 0 .35rem}.page-lead{margin:0 0 1.5rem;color:var(--text-secondary);line-height:1.55;max-width:42rem}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:1.1rem 1.25rem;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}@media (prefers-reduced-motion: reduce){.card{transition:none}}.card:hover{box-shadow:var(--shadow);border-color:#0e553f38;transform:translateY(-2px)}.card h3{margin:0 0 .35rem;font-size:1.08rem;font-weight:600;font-family:var(--font-heading);color:var(--lu-green)}.card-meta{font-size:.85rem;color:var(--text-secondary)}.segmented{display:inline-flex;padding:4px;background:#0e553f14;border-radius:var(--radius-md);gap:2px;margin-bottom:1.25rem}.segmented button{border:none;background:transparent;padding:.5rem 1.1rem;border-radius:calc(var(--radius-md) - 2px);font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.segmented button:disabled{opacity:.45;cursor:not-allowed}.segmented button:hover:not(.active):not(:disabled){color:var(--lu-green)}.segmented button.active{background:var(--lu-green);color:#fff;box-shadow:var(--shadow-sm)}.field .segmented-toggle{margin-bottom:0;width:fit-content}.segmented-toggle button{min-width:2.75rem;padding:.45rem .9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:var(--radius-sm);padding:.55rem 1.2rem;font-family:var(--font-heading);font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .1s ease}.btn-primary{background:var(--lu-yellow);color:var(--lu-green)}.btn-primary:hover{background:var(--lu-yellow-bright)}.btn-secondary{background:#0e553f14;color:var(--lu-green);border:1px solid var(--border)}.btn-secondary:hover{background:#0e553f24}.btn-sm{padding:.35rem .75rem;font-size:.85rem}.login-page{display:flex;justify-content:center;align-items:flex-start;padding-top:2rem}.login-card{width:100%;max-width:22rem}.login-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.login-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.login-error{margin:0;color:#b42318;font-size:.9rem}.btn-danger{background:#df193a1a;color:#a31830;border:1px solid rgba(223,25,58,.2)}.btn-danger:hover:not(:disabled){background:#df193a2e}.btn-danger:disabled{opacity:.65;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--lu-green);border:1px solid transparent}.btn-ghost:hover{background:#0e553f0f;border-color:var(--border)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-family:var(--font-heading);font-size:.82rem;font-weight:600;color:var(--lu-green);text-transform:uppercase;letter-spacing:.04em}.field-value{font-family:var(--font-body);color:var(--text);padding:.35rem 0 .1rem;white-space:pre-wrap}.ops-readonly-list{margin:0 0 .5rem;padding-left:1.2rem}.field input,.field select,.field textarea{font:inherit;font-family:var(--font-body);border-radius:var(--radius-sm);border:1px solid var(--border);padding:.55rem .65rem;background:var(--surface);color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(170,173,0,.45);outline-offset:1px;border-color:var(--lu-yellow)}input:disabled,select:disabled,textarea:disabled{background:var(--lu-cream);color:var(--text);cursor:default;opacity:.92}.table-wrap{overflow:auto;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th,table.data td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border)}table.data th{font-family:var(--font-heading);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--lu-green);background:var(--lu-cream)}table.data tbody tr:hover{background:#f2f6d559}table.bed-score-table th.bed-col-deltager{background:#fff;color:var(--lu-green)}table.bed-score-table th.bed-col-deltager .bed-th-btn{color:var(--lu-green)}table.bed-score-table th.bed-col-grøn{background:var(--lu-cream);color:var(--lu-green)}table.bed-score-table th.bed-col-grøn .bed-th-btn{color:var(--lu-green)}table.bed-score-table th.bed-col-stub{background:#7a6200;color:#fff}table.bed-score-table th.bed-col-stub .bed-th-btn{color:#fff}table.bed-score-table td.bed-col-deltager{background:#fff}table.bed-score-table th.bed-col-divider,table.bed-score-table td.bed-col-divider{border-left:3px solid var(--lu-green)}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.muted{color:var(--text-secondary);font-size:.9rem}.error{color:#a31830;font-size:.9rem}@media (max-width: 560px){.app-header{flex-wrap:wrap;padding:.65rem 1rem}.brand-logo-wrap{padding:.25rem .45rem}.brand-logo{height:36px}.brand-title{font-size:1rem}}
