@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-vietnamese-600-normal-CqNNoesj.woff2) format("woff2"),url(/assets/quicksand-vietnamese-600-normal-CNyIcav1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-ext-600-normal-CxselQ3_.woff2) format("woff2"),url(/assets/quicksand-latin-ext-600-normal-DIHfPkLp.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-600-normal-DcLyjD7K.woff2) format("woff2"),url(/assets/quicksand-latin-600-normal-mIQlYRtk.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-vietnamese-700-normal-BRJU9RAO.woff2) format("woff2"),url(/assets/quicksand-vietnamese-700-normal-VcDce_2U.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-latin-ext-700-normal-b6WHqIXP.woff2) format("woff2"),url(/assets/quicksand-latin-ext-700-normal-gVh3PgFP.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-latin-700-normal-waBAXlO4.woff2) format("woff2"),url(/assets/quicksand-latin-700-normal--YYUxR5U.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Dwzd0TKx.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal--EtKVqC7.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BKTgBNmI.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-DDbeQdWO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-DkTWoOHj.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-DXKoNrs9.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-BriLmxM2.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-CVvOgo6s.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-brand: "Quicksand", "Avenir Next", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: #f7f5f3;--surface: #ffffff;--surface-2: #f2efec;--surface-3: #e9e4e0;--border: #d6d0cb;--border-strong: #8c837d;--text: #1f1b19;--text-muted: #5a534e;--brand: #c81919;--brand-hover: #a51313;--brand-text: #b01515;--brand-weak: #fcebea;--on-brand: #ffffff;--link: #22668a;--focus: #22668a;--ok: #1d6b38;--ok-weak: #e4f3e8;--warn: #7a4f00;--warn-weak: #fff3d1;--danger: #b3261e;--danger-weak: #fdeceb;--info: #22668a;--info-weak: #e5f0f7;--fertig-bg: #fff0b3;--fertig-border: #b38600;--fertig-text: #4d3a00;--change-bg: #e3f0f8;--change-border: #22668a;--me-bg: #fde7e6;--me-border: #c81919;--radius-s: 6px;--radius: 10px;--radius-l: 16px;--shadow-1: 0 1px 2px rgb(31 27 25 / .06), 0 1px 3px rgb(31 27 25 / .08);--shadow-2: 0 4px 16px rgb(31 27 25 / .1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--tap: 44px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #141211;--surface: #1d1a19;--surface-2: #262221;--surface-3: #312c2a;--border: #3d3734;--border-strong: #8a817b;--text: #f3efec;--text-muted: #bdb5af;--brand: #c81919;--brand-hover: #e02a2a;--brand-text: #ff8a7f;--brand-weak: #3a1918;--on-brand: #ffffff;--link: #7cc0e6;--focus: #7cc0e6;--ok: #7fd49a;--ok-weak: #15301f;--warn: #f2c25c;--warn-weak: #3a2c0c;--danger: #ff8a80;--danger-weak: #3d1614;--info: #7cc0e6;--info-weak: #13293a;--fertig-bg: #4a3a05;--fertig-border: #e2b93b;--fertig-text: #ffe795;--change-bg: #11324a;--change-border: #7cc0e6;--me-bg: #45201e;--me-border: #ff8a7f;--shadow-1: 0 1px 2px rgb(0 0 0 / .4);--shadow-2: 0 6px 20px rgb(0 0 0 / .5)}}:root[data-theme=dark]{color-scheme:dark;--bg: #141211;--surface: #1d1a19;--surface-2: #262221;--surface-3: #312c2a;--border: #3d3734;--border-strong: #8a817b;--text: #f3efec;--text-muted: #bdb5af;--brand: #c81919;--brand-hover: #e02a2a;--brand-text: #ff8a7f;--brand-weak: #3a1918;--on-brand: #ffffff;--link: #7cc0e6;--focus: #7cc0e6;--ok: #7fd49a;--ok-weak: #15301f;--warn: #f2c25c;--warn-weak: #3a2c0c;--danger: #ff8a80;--danger-weak: #3d1614;--info: #7cc0e6;--info-weak: #13293a;--fertig-bg: #4a3a05;--fertig-border: #e2b93b;--fertig-text: #ffe795;--change-bg: #11324a;--change-border: #7cc0e6;--me-bg: #45201e;--me-border: #ff8a7f;--shadow-1: 0 1px 2px rgb(0 0 0 / .4);--shadow-2: 0 6px 20px rgb(0 0 0 / .5)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-brand);font-weight:700;line-height:1.2;margin:0;letter-spacing:-.01em}h1{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 var(--space-3)}a{color:var(--link);text-underline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-100px;z-index:100;background:var(--surface);color:var(--text);padding:var(--space-2) var(--space-4);border-radius:var(--radius);box-shadow:var(--shadow-2)}.skip-link:focus{top:var(--space-3)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1440px;margin:0 auto;padding:var(--space-2) var(--space-4);display:flex;align-items:center;gap:var(--space-4);min-height:60px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--text);margin-right:auto}.brand-mark{width:38px;height:38px;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.1;font-family:var(--font-brand)}.brand-text strong{font-size:1.1rem;font-weight:700}.brand-text strong span{color:var(--brand-text)}.brand-text small{font-size:.8rem;color:var(--text-muted);font-weight:600}.mainnav{display:flex;gap:var(--space-1);flex-wrap:wrap}.mainnav a{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 var(--space-3);border-radius:999px;color:var(--text);text-decoration:none;font-weight:600}.mainnav a:hover{background:var(--surface-2)}.mainnav a[aria-current=page]{background:var(--brand-weak);color:var(--brand-text)}.topbar-tools{display:flex;align-items:center;gap:var(--space-2)}@media (max-width: 760px){.topbar-inner{gap:var(--space-2)}.mainnav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.mainnav a{white-space:nowrap}}.container{max-width:1440px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-6)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.page-head p{color:var(--text-muted);margin:var(--space-1) 0 0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.spacer{flex:1}.layout-side{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-4);align-items:start}@media (max-width: 1500px){.layout-side{grid-template-columns:minmax(0,1fr)}}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.card-pad{padding:var(--space-4)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.card-head h2,.card-head h3{font-size:1.05rem}.muted{color:var(--text-muted)}.small{font-size:.875rem}.banner{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid;margin-bottom:var(--space-4)}.banner-info{background:var(--info-weak);border-color:color-mix(in srgb,var(--info) 40%,transparent)}.banner-warn{background:var(--warn-weak);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.banner-danger{background:var(--danger-weak);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.banner p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 60%,transparent)}.btn-sm{min-height:36px;padding:0 var(--space-3);font-size:.9rem}.icon-btn{width:var(--tap);padding:0}.icon{width:20px;height:20px;flex:none}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field>.label{font-weight:700;font-size:.95rem}.field .hint{font-size:.85rem;color:var(--text-muted)}.input,select.input,textarea.input{min-height:var(--tap);padding:0 var(--space-3);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);width:100%}textarea.input{padding:var(--space-2) var(--space-3);min-height:80px}.input:focus-visible{outline-offset:0}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;cursor:pointer}.checkbox input{width:20px;height:20px;accent-color:var(--brand)}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin:0}legend{font-weight:700;padding:0 var(--space-1)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:999px;padding:3px;background:var(--surface)}.segmented button{min-height:36px;padding:0 var(--space-3);border:0;background:transparent;border-radius:999px;cursor:pointer;font-weight:700;color:var(--text-muted)}.segmented button[aria-pressed=true]{background:var(--text);color:var(--surface)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid;white-space:nowrap}.chip-ok{color:var(--ok);background:var(--ok-weak);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.chip-draft{color:var(--warn);background:var(--warn-weak);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.chip-none{color:var(--text-muted);background:var(--surface-2);border-color:var(--border)}.chip-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.badge-f{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--fertig-border);color:var(--surface);font-size:.7rem;font-weight:800;flex:none}.week-nav{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.week-tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding:2px;scrollbar-width:thin}.week-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:128px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left}.week-tab strong{font-family:var(--font-brand);font-size:1rem}.week-tab span{font-size:.8rem;color:var(--text-muted)}.week-tab[aria-current=true]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-weak)}.plan-scroll{overflow-x:auto;border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1)}table.plan{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px;font-size:.92rem}table.plan caption{text-align:left;padding:var(--space-3) var(--space-4);font-weight:700}table.plan th,table.plan td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0}table.plan thead th{background:var(--surface-2);position:sticky;top:0;z-index:2;font-weight:700;padding:var(--space-2);text-align:left}table.plan thead tr:first-child th{font-family:var(--font-brand);font-size:1rem}table.plan thead .day-date{display:block;font-family:var(--font-body);font-weight:400;font-size:.8rem;color:var(--text-muted)}table.plan thead tr:nth-child(2) th{top:52px;font-size:.8rem;color:var(--text-muted);font-weight:700}table.plan th.rowhead{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;font-weight:700;padding:var(--space-2) var(--space-3);min-width:170px;white-space:nowrap}table.plan thead th.rowhead{z-index:3;background:var(--surface-2)}table.plan th.rowhead .sub{display:block;font-weight:400;font-size:.78rem;color:var(--text-muted)}table.plan tr.section th{background:var(--surface-3);text-align:left;padding:6px var(--space-3);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);position:sticky;left:0}table.plan tr.anlass td{background:var(--info-weak);color:var(--text);font-size:.85rem;padding:6px var(--space-2);font-weight:600}table.plan .day-start{border-left:2px solid var(--border-strong)}td.cell{position:relative;min-width:104px;height:40px}td.cell .cell-inner{display:flex;align-items:center;gap:6px;min-height:40px;padding:4px var(--space-2)}td.cell[colspan="2"] .cell-inner{justify-content:center}td.cell .empty{color:var(--text-muted)}td.cell.is-fertig{background:var(--fertig-bg);color:var(--fertig-text);box-shadow:inset 0 0 0 1px var(--fertig-border)}td.cell.is-change{background:var(--change-bg);box-shadow:inset 0 0 0 2px var(--change-border)}td.cell.is-change.is-fertig{background:linear-gradient(135deg,var(--fertig-bg) 50%,var(--change-bg) 50%)}td.cell.is-me{box-shadow:inset 0 0 0 2px var(--me-border);font-weight:800}td.cell.is-error{background:var(--danger-weak)}td.cell.is-closed{background:repeating-linear-gradient(135deg,var(--surface-3) 0 6px,transparent 6px 12px)}.day-closed{display:block;font-size:.78rem;font-weight:700;color:var(--info, inherit);margin-top:2px}.reminders{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);width:100%}.reminders li{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;justify-content:space-between}td.cell.is-error .empty{color:var(--danger);font-weight:700}td.cell.is-warn{background:var(--warn-weak)}td.cell.is-off{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 6px,var(--surface) 6px,var(--surface) 12px)}.change-mark{width:16px;height:16px;color:var(--change-border);flex:none}select.cell-select{width:100%;min-height:40px;border:0;background:transparent;padding:0 22px 0 var(--space-2);border-radius:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:600;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px;background-repeat:no-repeat}select.cell-select:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.fertig-toggle{position:absolute;right:2px;top:2px}.legend{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:.85rem;color:var(--text-muted);margin-top:var(--space-3)}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:18px;height:18px;border-radius:4px;border:1px solid var(--border-strong)}.swatch-fertig{background:var(--fertig-bg);border-color:var(--fertig-border)}.swatch-change{background:var(--change-bg);border:2px solid var(--change-border)}.swatch-me{background:var(--surface);border:2px solid var(--me-border)}.day-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:var(--surface-2);padding:4px;border-radius:var(--radius);margin-bottom:var(--space-3)}.day-tabs button{min-height:var(--tap);border:0;border-radius:var(--radius-s);background:transparent;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;color:var(--text-muted)}.day-tabs button small{font-weight:400;font-size:.75rem}.day-tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.ht-block{margin-bottom:var(--space-4)}.ht-block h3{margin-bottom:var(--space-2)}.duty-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);overflow:hidden}.duty-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--space-4);border-bottom:1px solid var(--border);min-height:48px}.duty-list li:last-child{border-bottom:0}.duty-list .slot{color:var(--text-muted)}.duty-list .who{font-weight:700;display:inline-flex;align-items:center;gap:6px;text-align:right}.duty-list li.is-fertig{background:var(--fertig-bg);color:var(--fertig-text)}.duty-list li.is-fertig .slot{color:inherit}.duty-list li.is-change{background:var(--change-bg);box-shadow:inset 4px 0 0 var(--change-border)}.duty-list li.is-me{box-shadow:inset 4px 0 0 var(--me-border)}.my-summary{display:grid;gap:var(--space-2)}.my-day{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.my-day:last-child{border-bottom:0}.my-day strong{min-width:90px;font-family:var(--font-brand)}.hinweise{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}.hinweise li{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);font-size:.9rem;align-items:flex-start}.hinweise li:last-child{border-bottom:0}.hinweise .lvl{flex:none;font-weight:800;font-size:.75rem;padding:1px 8px;border-radius:999px;margin-top:2px}.lvl-fehler{background:var(--danger-weak);color:var(--danger)}.lvl-warnung{background:var(--warn-weak);color:var(--warn)}.lvl-info{background:var(--info-weak);color:var(--info)}.hinweise .when{color:var(--text-muted);white-space:nowrap}.empty-state{padding:var(--space-5) var(--space-4);text-align:center;color:var(--text-muted)}table.simple{width:100%;border-collapse:collapse;font-size:.9rem}table.simple th,table.simple td{text-align:left;padding:8px var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}table.simple thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-2)}table.simple td.num,table.simple th.num{text-align:right;font-variant-numeric:tabular-nums}.bar{position:relative;height:8px;background:var(--surface-3);border-radius:999px;min-width:60px;overflow:hidden}.bar>span{position:absolute;inset:0 auto 0 0;background:var(--brand);border-radius:999px}.bar.hi>span{background:var(--danger)}.bar.lo>span{background:var(--info)}.people-list{list-style:none;margin:0;padding:0}.people-list button{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;min-height:56px}.people-list button:hover{background:var(--surface-2)}.people-list button[aria-current=true]{background:var(--brand-weak)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-family:var(--font-brand);background:var(--surface-3);color:var(--text);flex:none}.avatar.lern{background:var(--info-weak);color:var(--info)}.muster-grid{display:grid;grid-template-columns:auto repeat(5,minmax(44px,1fr));gap:4px;align-items:center}.muster-grid .h{font-size:.8rem;font-weight:700;color:var(--text-muted);text-align:center}.toggle-cell{min-height:var(--tap);border-radius:var(--radius-s);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-weight:700;font-size:.8rem}.toggle-cell[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 var(--space-4)}.skills-grid .auto{font-size:.78rem;color:var(--info);font-weight:700}.login-wrap{min-height:calc(100dvh - 61px);display:grid;place-items:center;padding:var(--space-4)}.login-card{width:min(420px,100%)}.login-card .brand-big{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}dialog{border:0;border-radius:var(--radius-l);padding:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);width:min(560px,calc(100vw - 32px))}dialog::backdrop{background:#00000073}.dialog-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.toast-region{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:var(--space-2);width:min(480px,calc(100vw - 32px))}.toast{background:var(--text);color:var(--surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius);box-shadow:var(--shadow-2);font-weight:600;animation:toast-in .2s ease-out}.toast.err{background:var(--danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.footer{max-width:1440px;margin:0 auto;padding:0 var(--space-4) var(--space-5);color:var(--text-muted);font-size:.85rem}@media (max-width: 760px){.container{padding-top:var(--space-4)}.page-head{margin-bottom:var(--space-3)}.head-tools{width:100%;flex-wrap:nowrap;align-items:flex-end}.head-tools .field{flex:1;min-width:0!important}.week-tab{min-width:118px}}.day-table-wrap{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-1)}table.day-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.95rem}table.day-table col.c-slot{width:32%}table.day-table thead th{background:var(--surface-2);font-size:.8rem;font-weight:700;color:var(--text-muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}table.day-table tbody th{text-align:left;font-weight:400;color:var(--text-muted);padding:8px 6px 8px 10px;font-size:.85rem;line-height:1.25;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}table.day-table tbody tr+tr>*{border-top:1px solid var(--border)}table.day-table td{padding:0;border-left:1px solid var(--border);vertical-align:middle}.dcell-inner{display:flex;align-items:center;gap:4px;min-height:44px;padding:6px 8px}td.dcell[colspan="2"] .dcell-inner{justify-content:center}.dname{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.dcell .badge-f{width:18px;height:18px;font-size:.65rem}td.dcell .change-mark{width:14px;height:14px}td.dcell.is-fertig{background:var(--fertig-bg);color:var(--fertig-text);box-shadow:inset 0 0 0 1px var(--fertig-border)}td.dcell.is-change{background:var(--change-bg);box-shadow:inset 0 0 0 2px var(--change-border)}td.dcell.is-change.is-fertig{background:linear-gradient(135deg,var(--fertig-bg) 50%,var(--change-bg) 50%)}td.dcell.is-me{box-shadow:inset 0 0 0 2px var(--me-border)}tr.dabs td{padding:8px 10px;font-size:.85rem;color:var(--text-muted)}@media (max-width: 360px){table.day-table{font-size:.88rem}table.day-table col.c-slot{width:32%}.dcell-inner{padding:6px 5px;gap:3px}}@media (max-width: 480px){.plan-link-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media (max-width: 360px){.topbar-inner{flex-wrap:nowrap}.brand,.brand-text{min-width:0}.brand-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-tools{gap:0;flex:none}}.repair-list{margin:0;padding-left:20px;display:grid;gap:2px}.repair-offen{margin:8px 0 0;color:var(--danger)}.dname-btn{all:unset;cursor:pointer;font-weight:inherit;text-decoration:underline dotted;text-underline-offset:3px;min-height:32px;display:inline-flex;align-items:center}.dname-btn:focus-visible{outline:2px solid var(--focus, var(--brand));outline-offset:2px}.mein-jahr{padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border)}.mein-jahr h3{margin:0 0 4px;font-size:1rem}.mein-jahr p{margin:0 0 4px}.container-wide{max-width:none}.cal-scroll{overflow-x:auto;border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1)}table.cal{border-collapse:separate;border-spacing:0;font-size:.8rem}table.cal th,table.cal td{border-bottom:1px solid var(--border);padding:0}table.cal .cal-name{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;padding:6px var(--space-3);min-width:120px;font-weight:700;border-right:1px solid var(--border);white-space:nowrap}table.cal .cal-name .sub{display:block;font-weight:400;font-size:.72rem;color:var(--text-muted)}table.cal thead th{background:var(--surface-2)}table.cal thead .cal-name{z-index:3;background:var(--surface-2)}table.cal .cal-month{text-align:left;padding:6px 8px;font-weight:700;border-left:2px solid var(--border-strong);text-transform:capitalize}table.cal .cal-day{min-width:24px;width:24px;text-align:center;font-weight:400;color:var(--text-muted);padding:4px 0}table.cal .mo{border-left:1px solid var(--border-strong)}table.cal .today{box-shadow:inset 0 0 0 2px var(--brand)}table.cal .cal-day.today{color:var(--brand-text);font-weight:800}.cal-cell{height:30px;position:relative}.cal-cell>button{all:unset;display:block;width:100%;height:30px;cursor:pointer}.cal-cell>button:hover{background:color-mix(in srgb,var(--text) 10%,transparent)}.cal-cell.frei,.frei-swatch{background:var(--surface-2)}.cal-cell.zu,.zu-swatch{background:repeating-linear-gradient(135deg,var(--surface-3) 0 4px,transparent 4px 8px)}.cal-cell.g-ferien,.g-ferien{background:color-mix(in srgb,var(--info) 55%,var(--surface))}.cal-cell.g-schule,.g-schule{background:color-mix(in srgb,var(--ok) 45%,var(--surface))}.cal-cell.g-kurs,.g-kurs{background:color-mix(in srgb,var(--warn) 45%,var(--surface))}.cal-cell.g-krank,.g-krank{background:color-mix(in srgb,var(--danger) 50%,var(--surface))}.cal-cell.g-andere,.g-andere{background:color-mix(in srgb,var(--text-muted) 45%,var(--surface))}.cal-cell.half,.half-swatch{background-image:linear-gradient(135deg,transparent 50%,var(--surface) 50%)}.half-swatch{background-color:color-mix(in srgb,var(--info) 55%,var(--surface))}.cal-cell.sel{box-shadow:inset 0 0 0 3px var(--brand)}.cal-count{text-align:center;font-weight:700;font-size:.75rem;height:28px}.cal-count.knapp,.knapp-swatch{background:var(--danger-weak);color:var(--danger)}.cal-count.zu{background:repeating-linear-gradient(135deg,var(--surface-3) 0 4px,transparent 4px 8px)}.cal-swatch{border:1px solid var(--border)}
