:root{--escriba-tuerkis: #9FD1CD;--escriba-blau: #1F507B;--escriba-blau-tint: #E7EEF4;--escriba-gelb: #FCEA36;--escriba-schwarz: #252525;--escriba-grau-hell: #E9E9E9;--escriba-grau-silber: #C8C8C8;--escriba-grau-mittel: #929292;--escriba-grau-dunkel: #5C5C5C;--escriba-topbar-muted: #4a4a4a;--color-text-primary: #1a1a1a;--color-text-secondary: #666;--color-background-primary: #fff;--color-background-secondary: #f5f5f4;--color-border-primary: var(--escriba-grau-mittel);--color-border-secondary: var(--escriba-grau-silber);--color-border-tertiary: var(--escriba-grau-hell);--color-accent-primary: var(--escriba-blau);--c-ok-bg: #ECFDF5;--c-ok-border: #16A34A;--c-ok-text: #16A34A;--c-warn-bg: #FFFBEB;--c-warn-border: #F97316;--c-warn-text: #F97316;--c-err-bg: #FEF2F2;--c-err-border: #DC2626;--c-err-text: #B91C1C;--c-urlaub-bg: #FDF4FF;--c-urlaub-border: #9333EA;--c-urlaub-text: #7E22CE;--c-krank-bg: #FFF7ED;--c-krank-border: #EA580C;--c-krank-text: #C2410C;--c-off-bg: #F8FAFC;--c-off-border: #CBD5E1;--c-off-text: #64748B;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--fs-body: 13px;--fs-caption: 11px;--fs-label: 11px;--fs-subheading: 15px;--fs-heading: 15px;--fs-pagetitle: 16px;--fs-stat: 28px;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 10px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--shadow-sm: 0 1px 2px rgba(37, 37, 37, .06);--shadow-md: 0 2px 10px rgba(31, 80, 123, .08);--progress-track: var(--escriba-grau-hell);--progress-fill-partial: var(--escriba-tuerkis);--progress-fill-complete: var(--c-ok-border);--progress-fill-over: var(--c-warn-border);--progress-fill-neutral: var(--escriba-grau-silber);--progress-height-sm: 4px;--progress-height-md: 8px;--dur-fast: .12s;--dur-base: .22s;--ease-out: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--color-text-primary);background:#fafaf9}.btn{padding:var(--space-1) var(--space-3);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);background:var(--color-background-primary);font:inherit;cursor:pointer}.btn.primary{background:var(--escriba-blau);border-color:var(--escriba-blau);color:#fff}.btn.danger{border-color:var(--c-err-border);color:var(--c-err-text)}.btn:disabled{opacity:.55;cursor:default}.modal-backdrop{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#25252559}.modal-card{display:flex;flex-direction:column;gap:var(--space-3);max-height:90vh;overflow:auto;padding:var(--space-5);background:var(--color-background-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.modal-title{font-size:var(--fs-subheading);font-weight:500;color:var(--escriba-blau)}.alert{padding:var(--space-2) var(--space-3);border-left:3px solid;border-radius:var(--border-radius-sm)}.alert.ok{background:var(--c-ok-bg);border-color:var(--c-ok-border);color:var(--c-ok-text)}.alert.warn{background:var(--c-warn-bg);border-color:var(--c-warn-border);color:var(--c-warn-text)}.alert.err{background:var(--c-err-bg);border-color:var(--c-err-border);color:var(--c-err-text)}.page-title{font-size:var(--fs-pagetitle);font-weight:500}.deliverable.focused{outline:2px solid var(--c-err-border);outline-offset:-2px}.member.focused{background:var(--escriba-blau-tint);border-radius:var(--border-radius-sm)}.card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.txt-label{font-size:var(--fs-label);font-weight:500;color:var(--escriba-grau-dunkel)}.grid-table{width:100%;border-collapse:collapse;font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.grid-table th,.grid-table td{padding:var(--space-2);border-bottom:.5px solid var(--color-border-tertiary);text-align:right;white-space:nowrap}.grid-table th{font-weight:500;color:var(--escriba-grau-dunkel);background:var(--color-background-secondary)}.grid-table th:first-child,.grid-table td:first-child{text-align:left}.kt-code,.initials{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--escriba-grau-dunkel)}.hint,.empty{font-size:var(--fs-caption);color:var(--color-text-secondary)}.form-input{padding:var(--space-1) var(--space-2);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);font:inherit}
