@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2) format("woff2-variations");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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2) format("woff2-variations");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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-cyrillic-ext-wght-normal-D8xHCTEw.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-cyrillic-wght-normal-bOs07Rf4.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-greek-ext-wght-normal-Bm9CHu9r.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-greek-wght-normal-8neIfJ3r.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-hebrew-wght-normal-BjjtG49P.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-math-wght-normal-C1FvUlkR.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-symbols-wght-normal-BAf6-sld.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-vietnamese-wght-normal-UygKeDyW.woff2) format("woff2-variations");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:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-latin-ext-wght-normal-DPNHYqvY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-latin-wght-normal-CWNzRldh.woff2) format("woff2-variations");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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #f2f4f7;--color-surface: #ffffff;--color-surface-sunken: #f7f9fb;--color-border: #e5e9ee;--color-border-strong: #ccd4dd;--color-ink: #1e2426;--color-text: #3d474e;--color-text-muted: #74838d;--color-text-invert: #ffffff;--color-primary: #2a3133;--color-primary-hover: #3b4548;--color-primary-soft: #eef1f3;--color-accent: #008bf8;--color-accent-hover: #0072cf;--color-accent-soft: rgba(0, 139, 248, .1);--color-accent-soft-strong: rgba(0, 139, 248, .18);--color-gold: #f2c14e;--color-focus: #008bf8;--sidebar-bg: #21282a;--sidebar-bg-soft: rgba(255, 255, 255, .06);--sidebar-text: rgba(255, 255, 255, .72);--sidebar-text-strong: #ffffff;--color-ampel-green: #178243;--color-ampel-yellow: #b45309;--color-ampel-red: #c62828;--color-success: var(--color-ampel-green);--color-warning: var(--color-ampel-yellow);--color-danger: var(--color-ampel-red);--color-danger-soft: #fdeceb;--color-warning-soft: #fdf3e3;--color-success-soft: #e6f5ec;--color-info-soft: rgba(0, 139, 248, .09);--font-body: "Open Sans Variable", "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Montserrat Variable", Montserrat, var(--font-body);--font-family: var(--font-body);--font-size-base: 15px;--font-size-sm: .867rem;--font-size-xs: .767rem;--radius-xl: 20px;--radius-lg: 16px;--radius: 12px;--radius-sm: 9px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .06);--shadow-card: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px -8px rgba(16, 24, 40, .14);--shadow-lift: 0 2px 4px rgba(16, 24, 40, .06), 0 12px 28px -10px rgba(16, 24, 40, .22);--shadow-pop: 0 8px 30px rgba(16, 24, 40, .16);--shadow-modal: 0 32px 80px rgba(16, 24, 40, .3);--sidebar-width: 258px;--touch-target: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px}*,*:before,*:after{box-sizing:border-box}html{font-size:var(--font-size-base)}body{margin:0;font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.02em;line-height:1.15}h1{font-size:clamp(1.9rem,2.6vw,2.45rem);font-weight:800;margin:0 0 var(--space-3)}h2{font-size:1.28rem;font-weight:700;margin:0 0 var(--space-3)}h3{font-size:1.02rem;font-weight:700;margin:0 0 var(--space-2)}h4{font-size:.92rem;font-weight:700;margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2.5px solid var(--color-focus);outline-offset:2px;border-radius:4px}.text-muted{color:var(--color-text-muted)}.text-danger{color:var(--color-danger)}.text-sm{font-size:var(--font-size-sm)}.eyebrow{margin:0 0 6px;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.eyebrow-muted{color:var(--color-text-muted)}.tabular{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 20px;font:inherit;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.005em;color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .06s ease}.btn:hover:not(:disabled){border-color:var(--color-ink)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{flex:0 0 auto}.btn-primary{color:var(--color-text-invert);background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 12px -2px #2a313366}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 4px 16px -2px #2a313373}.btn-accent{color:var(--color-text-invert);background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 2px 12px -2px #008bf880}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-danger{color:var(--color-text-invert);background:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#a82121;border-color:#a82121}.btn-ghost{background:var(--color-accent-soft);border-color:transparent;color:var(--color-accent)}.btn-ghost:hover:not(:disabled){background:var(--color-accent-soft-strong);border-color:transparent}.btn-quiet{background:transparent;border-color:transparent;color:var(--color-text-muted)}.btn-quiet:hover:not(:disabled){background:var(--color-primary-soft);border-color:transparent;color:var(--color-ink)}.btn-sm{min-height:34px;padding:0 14px;font-size:var(--font-size-xs)}.btn-lg{min-height:52px;padding:0 28px;font-size:.95rem}.btn-block{width:100%}.btn-icon{padding:0;width:var(--touch-target);min-height:var(--touch-target)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5)}.card+.card{margin-top:var(--space-4)}.card-title{font-family:var(--font-display);font-size:1.02rem;font-weight:700;color:var(--color-ink);letter-spacing:-.01em;margin:0 0 var(--space-4)}.card-quiet{background:var(--color-surface-sunken);box-shadow:none}.card-flush{padding:0;overflow:hidden}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-5)}.page-head-text{min-width:0}.page-head h1{margin:0}.page-head-sub{margin:8px 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.page-head-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.section-head h2{margin:0}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}@media (max-width: 560px){.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:var(--space-2)}.stat-tile{padding:var(--space-3) var(--space-4)}.stat-value{font-size:1.55rem}}.stat-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);text-align:left;font:inherit;cursor:default;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease,transform .08s ease}button.stat-tile{cursor:pointer}button.stat-tile:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.stat-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-border-strong)}.stat-tile.ton-green:before{background:var(--color-ampel-green)}.stat-tile.ton-yellow:before{background:#d97706}.stat-tile.ton-red:before{background:var(--color-ampel-red)}.stat-tile.ton-accent:before{background:var(--color-accent)}.stat-tile.is-active{border-color:var(--color-ink);box-shadow:var(--shadow-card)}.stat-value{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--color-ink);font-variant-numeric:tabular-nums}.stat-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.stat-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.avatar-initials{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:var(--radius-pill);color:#fff;font-family:var(--font-display);font-weight:700;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.avatar-initials.ring-green{box-shadow:0 0 0 2.5px var(--color-surface),0 0 0 4.5px var(--color-ampel-green)}.avatar-initials.ring-yellow{box-shadow:0 0 0 2.5px var(--color-surface),0 0 0 4.5px #d97706}.avatar-initials.ring-red{box-shadow:0 0 0 2.5px var(--color-surface),0 0 0 4.5px var(--color-ampel-red)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-text-invert);font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.04em;flex:0 0 auto}.identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.identity-text{min-width:0}.identity-name{display:block;font-weight:700;color:var(--color-ink);font-size:.94rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity-meta{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.table-container{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th,.table td{text-align:left;padding:13px var(--space-5);border-bottom:1px solid var(--color-border);white-space:nowrap}.table tbody tr:last-child td{border-bottom:none}.table th{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);background:var(--color-surface-sunken);padding-top:11px;padding-bottom:11px;position:sticky;top:0;z-index:1}.table td{color:var(--color-text)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--color-accent-soft)}.table tbody tr.clickable:hover .identity-name{color:var(--color-accent)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--color-ink)}.table-empty,.table-loading{padding:var(--space-7);text-align:center;color:var(--color-text-muted)}.skeleton{display:inline-block;height:.9em;width:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,#e9edf1 25%,#f4f6f8,#e9edf1 75%);background-size:200% 100%;animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{padding:var(--space-7) var(--space-5);text-align:center}.empty-state h3{margin-bottom:var(--space-1)}.empty-state p{margin-bottom:var(--space-4)}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--space-3);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-text-muted)}.empty-icon.ton-green{background:var(--color-success-soft);color:var(--color-ampel-green)}.filterbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.filterbar .form-field{margin-bottom:0}.filterbar label{font-size:var(--font-size-xs)}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--color-primary-soft);border-radius:var(--radius-pill)}.segmented button{border:none;background:transparent;font:inherit;font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-muted);padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.segmented button:hover{color:var(--color-ink)}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-xs)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 12px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:700;border:none}.chip button,.chip .chip-x{border:none;background:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.chip-muted{background:var(--color-primary-soft);color:var(--color-text-muted)}.form-field{margin-bottom:var(--space-4)}.form-field label{display:block;font-weight:700;font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--color-ink);margin-bottom:6px}.form-field label.row{display:flex;font-weight:400;letter-spacing:0;margin-bottom:0}.form-field label.text-sm{font-size:var(--font-size-sm)}.form-field .required-star{color:var(--color-danger);margin-left:2px}.form-field input[type=text],.form-field input[type=email],.form-field input[type=password],.form-field input[type=number],.form-field input[type=date],.form-field input[type=month],.form-field input[type=time],.form-field input[type=tel],.form-field input[type=search],.form-field select,.form-field textarea{width:100%;min-height:var(--touch-target);padding:var(--space-2) 14px;font:inherit;font-size:var(--font-size-sm);color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.form-field textarea{min-height:96px;resize:vertical;line-height:1.6}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3.5px var(--color-accent-soft)}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--color-danger)}.form-field .field-error{margin-top:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-danger)}.form-field .field-hint{margin-top:6px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-legend{font-size:var(--font-size-xs);color:var(--color-text-muted)}.choice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-weight:600;color:var(--color-ink);transition:border-color .15s ease,background-color .15s ease}.choice+.choice{margin-top:var(--space-2)}.choice:hover{border-color:var(--color-border-strong)}.choice input{margin-top:3px;accent-color:var(--color-accent);width:18px;height:18px}.choice:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.banner{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-4);font-size:var(--font-size-sm);font-weight:600;line-height:1.5}.banner-error{background:var(--color-danger-soft);color:#8f1f1f}.banner-warning{background:var(--color-warning-soft);color:#8a4a06}.banner-info{background:var(--color-info-soft);color:#005ea8}.banner-success{background:var(--color-success-soft);color:#116636}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.02em;background:var(--color-accent-soft);color:var(--color-accent);white-space:nowrap}.badge-green{background:var(--color-success-soft);color:#116636}.badge-yellow{background:var(--color-warning-soft);color:#8a4a06}.badge-red{background:var(--color-danger-soft);color:#a32020}.badge-gray{background:var(--color-primary-soft);color:var(--color-text-muted)}.badge-dark{background:var(--color-primary);color:#fff}.ampel{display:inline-flex;align-items:center;gap:var(--space-2);position:relative;border:none;background:none;padding:0;font:inherit;cursor:pointer}.ampel-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.ampel-dot-lg{width:16px;height:16px}.ampel-dot.green{background:var(--color-ampel-green);box-shadow:0 0 0 3.5px var(--color-success-soft)}.ampel-dot.yellow{background:#d97706;box-shadow:0 0 0 3.5px var(--color-warning-soft)}.ampel-dot.red{background:var(--color-ampel-red);box-shadow:0 0 0 3.5px var(--color-danger-soft)}.ampel-label{font-size:var(--font-size-sm);font-weight:700}.ampel-label.green{color:var(--color-ampel-green)}.ampel-label.yellow{color:#96520a}.ampel-label.red{color:var(--color-ampel-red)}.ampel-popover{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:40;min-width:268px;max-width:340px;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-pop);text-align:left;font-weight:400;cursor:default}.ampel-popover h4{margin:0 0 var(--space-2);font-size:var(--font-size-sm)}.ampel-popover ul{margin:0;padding-left:18px;font-size:var(--font-size-sm)}.ampel-popover li+li{margin-top:var(--space-1)}.stepper{list-style:none;margin:0;padding:0}.stepper li{position:relative;display:flex;gap:var(--space-4);padding:0 0 var(--space-5) 0}.stepper li:last-child{padding-bottom:0}.stepper li:before{content:"";position:absolute;left:13px;top:30px;bottom:4px;width:2px;background:var(--color-border)}.stepper li:last-child:before{display:none}.step-marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--color-surface);border:2px solid var(--color-border-strong);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700}.step-done .step-marker{background:var(--color-ampel-green);border-color:var(--color-ampel-green);color:#fff}.step-current .step-marker{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.step-blocked .step-marker{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.step-body{min-width:0;padding-top:2px}.step-title{font-weight:700;color:var(--color-ink)}.step-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.datalist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4) var(--space-5)}.datalist>div{min-width:0}.datalist dt{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2px}.datalist dd{margin:0;font-weight:600;color:var(--color-ink)}.tabs{display:flex;gap:var(--space-1);border-bottom:1.5px solid var(--color-border);margin-bottom:var(--space-5);overflow-x:auto}.tabs button{border:none;background:none;font:inherit;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1.5px;white-space:nowrap;min-height:var(--touch-target);transition:color .15s ease}.tabs button:hover{color:var(--color-ink)}.tabs button[aria-selected=true]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14191b8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:100%;max-width:560px;max-height:calc(100vh - 2 * var(--space-4));display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.15rem}.modal-close{border:none;background:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--color-text-muted);min-width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius-pill)}.modal-close:hover{background:var(--color-primary-soft);color:var(--color-ink)}.modal-body{padding:var(--space-5);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--color-border)}.toast-container{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(380px,calc(100vw - 2 * var(--space-4)))}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius);box-shadow:var(--shadow-pop);background:var(--color-ink);color:var(--color-text-invert);font-size:var(--font-size-sm);font-weight:600;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-danger)}@media (max-width: 640px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:calc(72px + var(--space-3));max-width:none}}.file-upload-buttons{display:flex;gap:var(--space-3);flex-wrap:wrap}.file-upload-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.file-upload-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:var(--font-size-sm)}.file-upload-item img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex:0 0 auto}.file-upload-item .file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signature-pad canvas{width:100%;height:200px;border:2px dashed var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface-sunken);touch-action:none;display:block}.signature-pad .signature-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-2) 0 var(--space-3)}.signature-pad .signature-actions{display:flex;gap:var(--space-3);margin-top:var(--space-3)}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-aside{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-7) clamp(2rem,5vw,4.5rem);background:radial-gradient(900px 500px at 80% 0%,rgba(0,139,248,.22),transparent 60%),linear-gradient(160deg,#262e30,#1b2123);color:#fff;overflow:hidden}.login-aside:after{content:"";position:absolute;right:-140px;bottom:-160px;width:460px;height:460px;border-radius:50%;border:1px solid rgba(255,255,255,.09)}.login-aside .brand-line{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:-.01em}.login-aside .brand-line svg{color:var(--color-gold)}.login-claim{font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:#fff;margin:0 0 var(--space-4);max-width:15ch}.login-claim em{font-style:normal;color:var(--color-gold)}.login-aside .eyebrow{color:#ffffffa8}.login-aside p{color:#ffffffbd;max-width:46ch}.login-foot{font-size:var(--font-size-xs);color:#ffffff73;margin:0}.login-main{display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-5);background:var(--color-surface)}.login-card{width:100%;max-width:380px}.card.login-card{border:none;box-shadow:none;padding:0;background:transparent}.login-card h1{font-size:1.85rem;margin-bottom:var(--space-1)}.login-card .login-sub{color:var(--color-text-muted);margin-bottom:var(--space-5);font-size:var(--font-size-sm)}.login-logo{display:none}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-aside{padding:var(--space-5);gap:var(--space-4)}.login-claim{font-size:1.6rem;max-width:none}.login-aside p,.login-foot{display:none}.login-main{padding:var(--space-6) var(--space-4) var(--space-7)}}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-sidebar .brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);font-family:var(--font-display);font-weight:800;font-size:1.02rem;letter-spacing:-.01em;color:var(--sidebar-text-strong)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border-radius:13px;background:#f2c14e24;color:var(--color-gold)}.brand-sub{display:block;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff6;margin-top:1px}.admin-sidebar nav{flex:1;padding:var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:2px;overflow-y:auto}.admin-sidebar nav a{display:flex;align-items:center;gap:var(--space-3);min-height:42px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;transition:background-color .15s ease,color .15s ease}.admin-sidebar nav a svg{color:#ffffff73;flex:0 0 auto;transition:color .15s ease}.admin-sidebar nav a:hover{background:var(--sidebar-bg-soft);color:var(--sidebar-text-strong);text-decoration:none}.admin-sidebar nav a:hover svg{color:var(--sidebar-text-strong)}.admin-sidebar nav a.active{background:var(--color-accent);color:#fff;box-shadow:0 4px 14px -4px #008bf8cc}.admin-sidebar nav a.active svg{color:#fff}.sidebar-foot{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid rgba(255,255,255,.08);font-size:var(--font-size-xs);color:#ffffff61}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-header{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);min-height:64px;padding:0 clamp(1rem,3vw,2.5rem);background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:30}.admin-header .user-name{font-size:var(--font-size-sm);font-weight:700;color:var(--color-ink)}.admin-header .user-location{font-size:var(--font-size-xs)}.admin-content{flex:1;padding:var(--space-6) clamp(1rem,3vw,2.5rem) var(--space-7);min-width:0;max-width:1380px;width:100%}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5);align-items:start}.split-rail{position:sticky;top:88px;display:flex;flex-direction:column;gap:var(--space-4)}@media (max-width: 1180px){.split{grid-template-columns:1fr}.split-rail{position:static}}@media (max-width: 1023px){.admin-sidebar{width:76px;flex-basis:76px}.admin-sidebar .brand span:not(.brand-mark){display:none}.admin-sidebar .brand{justify-content:center;padding-inline:0}.admin-sidebar nav a{justify-content:center;padding:0}.admin-sidebar nav a span,.sidebar-foot{display:none}}.pwa-layout{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);box-shadow:0 0 60px #1018280f}.pwa-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--sidebar-bg);color:var(--color-text-invert);position:sticky;top:0;z-index:30}.pwa-header .brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:800;font-size:.98rem;letter-spacing:-.01em}.pwa-header .brand svg{color:var(--color-gold)}.pwa-header .btn{border-color:#ffffff47;background:transparent;color:var(--color-text-invert)}.pwa-header .btn:hover:not(:disabled){border-color:#fff;background:#ffffff1a}.pwa-content{flex:1;padding:var(--space-5) var(--space-4);padding-bottom:calc(76px + env(safe-area-inset-bottom) + var(--space-5))}.pwa-content h1{font-size:1.75rem}.pwa-greeting{margin-bottom:var(--space-5)}.pwa-greeting h1{margin-bottom:var(--space-1)}.pwa-greeting p{color:var(--color-text-muted);margin:0}.task-card{position:relative;display:block;width:100%;text-align:left;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .15s ease,transform .08s ease}.task-card+.task-card{margin-top:var(--space-3)}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--color-accent)}.task-card.is-overdue:before{background:var(--color-ampel-red)}.task-card.is-soon:before{background:#d97706}.task-card:active{transform:scale(.995)}.task-card .task-title{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--color-ink);letter-spacing:-.01em;margin:var(--space-1) 0 4px}.task-card .task-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3)}.task-card .task-meta.is-overdue{color:var(--color-danger);font-weight:700}.progress{height:8px;border-radius:var(--radius-pill);background:var(--color-primary-soft);overflow:hidden}.progress>span{display:block;height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-accent),#35a7ff);transition:width .4s ease}.progress.ton-green>span{background:linear-gradient(90deg,var(--color-ampel-green),#23a559)}.progress.ton-yellow>span{background:linear-gradient(90deg,#b45309,#e08a1e)}.progress.ton-red>span{background:linear-gradient(90deg,var(--color-ampel-red),#e14a4a)}.pwa-bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border);box-shadow:0 -6px 24px #10182812;z-index:50}.pwa-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-muted);text-decoration:none;min-height:var(--touch-target);transition:color .15s ease}.pwa-bottom-nav a:hover{text-decoration:none;color:var(--color-ink)}.pwa-bottom-nav a.active{color:var(--color-accent)}.pwa-bottom-nav .nav-icon{display:inline-flex;line-height:1}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{margin:0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.spacer{flex:1}.divider{height:1px;background:var(--color-border);margin:var(--space-4) 0;border:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
