:root{--font-sans: "Figtree", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-primary: #0f1a18;--text-secondary: #5a6866;--text-on-accent: #ffffff;--text-on-inverse-muted: #c6d2ce;--surface-base: #ffffff;--surface-muted: #f6f8f7;--surface-sunken: #f1f4f3;--surface-inverse: #0c1817;--surface-inverse-border: #273330;--overlay: rgba(12, 24, 23, .45);--overlay-glass: rgba(241, 244, 243, .55);--border-subtle: #edf0ef;--border-default: #e0e6e4;--border-strong: #cdd5d3;--border-input: #8b9895;--accent-base: #044c30;--accent-hover: #06603c;--accent-soft: #e6f2ec;--accent-on-dark: #7fe0b7;--brand-mint: #00b071;--success-fg: #027c4d;--success-bg: #e6f2ec;--success-border: #b9d8c6;--danger-fg: #c42b1f;--danger-bg: #fdeeec;--danger-border: #f2c4bf;--warning-fg: #6b4800;--warning-bg: #fef4e2;--warning-border: #f3d49a;--practice-primary: #044c30;--practice-secondary: #027c4d;--practice-on-primary: #ffffff;--radius-badge: 6px;--radius-chip: 8px;--radius-control: 10px;--radius-control-lg: 12px;--radius-card: 14px;--radius-card-lg: 18px;--radius-pill: 999px;--control-h-sm: 32px;--control-h: 40px;--control-h-lg: 48px;--touch-min: 44px;--sidebar-w: 248px;--drawer-w: 280px;--reading-max: 760px;--content-w: 960px;--status-success: var(--success-fg);--shadow-login: 0 1px 2px rgba(15, 26, 24, .04), 0 12px 32px -16px rgba(15, 26, 24, .18);--shadow-card: 0 2px 6px rgba(12, 24, 23, .04);--shadow-menu: 0 12px 30px rgba(12, 24, 23, .15);--shadow-dialog: 0 20px 50px rgba(0, 0, 0, .25);--focus-ring: 3px solid var(--accent-base);--focus-offset: 2px;--dur-fast: .15s;--dur-medium: .25s}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--surface-sunken);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5}a{color:var(--accent-base);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h-lg);padding:0 18px;border-radius:var(--radius-control-lg);border:1px solid transparent;font:600 16px/1 var(--font-sans);cursor:pointer;transition:background var(--dur-fast) ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--prim{background:var(--accent-base);color:var(--text-on-accent);box-shadow:0 8px 18px -10px #044c3099}.btn--prim:not(:disabled):hover{background:var(--accent-hover)}.btn--sek{background:var(--surface-base);border-color:var(--border-strong);color:var(--text-primary)}.btn--sek:not(:disabled):hover{background:var(--surface-muted)}.btn--klein{min-height:var(--control-h-sm);padding:0 12px;border-radius:var(--radius-chip);font-size:14px;font-weight:500;background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary)}.btn--klein:not(:disabled):hover{background:var(--surface-muted)}.btn--gefaehrlich{border-color:var(--danger-border);color:var(--danger-fg)}.btn--gefaehrlich:not(:disabled):hover{background:var(--danger-bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chip{min-height:var(--control-h-sm);padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-base);color:var(--text-primary);font:500 14px/1 var(--font-sans);cursor:pointer}.chip--aktiv{background:var(--surface-inverse);border-color:var(--surface-inverse);color:#fff;font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;white-space:nowrap}.badge--entwurf{background:var(--surface-sunken);color:var(--text-secondary)}.badge--freigegeben,.badge--veroeffentlicht{background:var(--success-bg);color:var(--success-fg)}.badge--gesperrt,.badge--unvollstaendig{background:var(--warning-bg);color:var(--warning-fg)}.badge--abgeschlossen,.badge--fertig{background:#d7ede1;color:var(--accent-base)}.badge--fehler{background:var(--danger-bg);color:var(--danger-fg)}.msgbox{display:flex;gap:12px;padding:12px 14px;border-radius:var(--radius-control-lg);font-size:14px;line-height:21px}.msgbox strong{display:block;font-weight:600}.msgbox--danger{background:var(--danger-bg);border:1px solid var(--danger-border)}.msgbox--warning{background:var(--warning-bg);border:1px solid var(--warning-border)}.msgbox--info{background:var(--surface-muted);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:13px;line-height:19px}.msgbox__icon{flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--danger-fg);color:#fff;font:700 12px/20px var(--font-sans);text-align:center}.msgbox--warning .msgbox__icon{border-radius:6px;background:var(--warning-fg)}.msgbox--info .msgbox__icon{width:16px;height:16px;border:1.5px solid var(--text-secondary);border-radius:50%;background:transparent;color:var(--text-secondary);font:700 10px/13px var(--font-sans)}
