@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--navy-900: #0b2540;--navy-800: #103253;--navy-700: #16406a;--accent: #0e7490;--accent-strong: #0a5c73;--accent-soft: #e0f2f7;--sand: #fff7e8;--sand-border: #f0dcb4;--bg: #eef2f7;--surface: #ffffff;--fg: #1a2b42;--muted: #5d6f86;--border: #dde5ee;--border-strong: #c6d2e0;--error: #b3261e;--error-bg: #fcebe9;--success: #15803d;--success-bg: #e8f6ee;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(13, 30, 53, .06), 0 1px 3px rgba(13, 30, 53, .08);--shadow-md: 0 4px 12px rgba(13, 30, 53, .08), 0 2px 4px rgba(13, 30, 53, .06);--ring: 0 0 0 3px rgba(14, 116, 144, .25);font-family:Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-weight:650;letter-spacing:-.01em}h2{font-size:1.15rem;margin:0 0 1rem}h3{font-size:1rem;margin:0 0 .75rem}.topbar{display:flex;align-items:center;gap:1.25rem;padding:.65rem 1.25rem;background:linear-gradient(120deg,var(--navy-900) 0%,var(--navy-700) 100%);color:#fff;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:20}.topbar .brand{font-weight:700;letter-spacing:-.01em;color:#fff;display:flex;align-items:center;gap:.5rem}.topbar .brand:before{content:"";width:1.25em;height:1.25em;background-color:#4cc3dd;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 13c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2zm0-6c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 13c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2zm0-6c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2z'/%3E%3C/svg%3E") center / contain no-repeat}.topbar nav{display:flex;gap:.35rem}.topbar nav a{text-decoration:none;color:#ffffffc7;padding:.4rem .85rem;border-radius:999px;font-weight:530;transition:background .15s ease,color .15s ease}.topbar nav a:hover{color:#fff;background:#ffffff1a}.topbar nav a.active{background:#ffffff29;color:#fff;font-weight:650}.topbar .spacer{flex:1}.topbar .user{color:#ffffffa8;font-size:.86rem}.topbar button{background:#ffffff1a;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.86rem;padding:.4rem .85rem}.topbar button:hover{background:#ffffff2e}.content{padding:1.75rem 1.5rem 3rem;max-width:1160px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}button{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;cursor:pointer;font-size:.92rem;font-weight:600;font-family:inherit;transition:background .15s ease,box-shadow .15s ease,transform .05s ease}button:hover{background:var(--accent-strong)}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled{opacity:.55;cursor:default;transform:none}button.secondary{background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);font-weight:530}button.secondary:hover{background:#f4f7fa;border-color:var(--accent);color:var(--accent-strong)}input,select{padding:.5rem .65rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.92rem;font-family:inherit;color:var(--fg);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}input:focus-visible,select:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input[type=checkbox]{accent-color:var(--accent);width:1.05rem;height:1.05rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:560;color:var(--muted);margin-bottom:.75rem}table{width:100%;border-collapse:collapse;background:var(--surface)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid #edf1f6;font-size:.9rem}th{background:#f7fafc;color:var(--muted);font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em}tbody tr{transition:background .1s ease}tbody tr:hover{background:#f7fafc}.error{background:var(--error-bg);color:var(--error);padding:.6rem .85rem;border-radius:var(--radius-sm);border:1px solid #f3c2bd;margin-bottom:.85rem;font-size:.9rem}.success{color:var(--success);font-weight:650}tr.row-selected td{background:var(--accent-soft)}.num-col{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th.group-head{text-align:center;font-size:.72rem;color:var(--navy-800);background:#eef3f8;border-bottom:2px solid var(--border-strong)}.col-sep{border-left:2px solid var(--border)}tfoot td{font-weight:650;background:#f2f6fa;border-top:2px solid var(--border-strong)}td.empty-row{color:var(--muted);font-style:italic}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(900px 500px at 85% -10%,rgba(14,116,144,.35),transparent 60%),radial-gradient(700px 500px at 0% 110%,rgba(76,195,221,.18),transparent 55%),linear-gradient(150deg,var(--navy-900),var(--navy-700))}.login .card{width:360px;padding:2rem;border:none;box-shadow:0 24px 60px #05112173}.login h1{font-size:1.3rem;margin:0 0 1.25rem;color:var(--navy-900);display:flex;align-items:center;gap:.5rem}.login h1:before{content:"";width:1.2em;height:1.2em;background-color:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 13c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2zm0-6c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 13c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2zm0-6c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2v3c-2.5 0-2.5-2-5-2s-2.5 2-5 2-2.5-2-5-2-2.5 2-5 2z'/%3E%3C/svg%3E") center / contain no-repeat}.login button{width:100%;padding:.6rem;margin-top:.25rem}.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;background:#e3eaf2;border-radius:999px;padding:.3rem;width:fit-content;max-width:100%}.tabs button{border-radius:999px;font-size:.88rem;padding:.42rem 1rem;background:var(--navy-800)}.tabs button.secondary{background:transparent;border:none;color:var(--muted)}.tabs button.secondary:hover{background:#ffffffb3;color:var(--fg)}.stamm-picker{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}.stamm-picker label{margin-bottom:0;min-width:280px}.stamm-picker button{margin-bottom:.1rem}.crud-form-title{margin:0 0 .65rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.crud-form-title.editing{color:var(--accent-strong)}label.field-error{color:var(--error)}label.field-error input,label.field-error select{border-color:var(--error);box-shadow:0 0 0 3px #b3261e1f}tr.row-editing td{background:var(--sand);box-shadow:inset 3px 0 #d9a93f}.crud-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem 1.1rem;align-items:end;margin-bottom:1.1rem;padding:1rem 1.1rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-sm)}.crud-actions{display:flex;gap:.5rem;align-items:center}.crud-form .crud-actions{flex-wrap:wrap;min-width:0}.row-actions{display:flex;gap:.4rem;justify-content:flex-end;white-space:nowrap}.row-actions button{font-size:.8rem;padding:.32rem .7rem}.hint{font-size:.84rem;color:var(--muted);margin:.6rem 0 0;line-height:1.5}.week-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.week-nav .week-label{font-weight:650;min-width:13rem;text-align:center;font-variant-numeric:tabular-nums}.week-grid td,.week-grid th{padding:.4rem .55rem}.week-grid input,.week-grid select{padding:.38rem .45rem;width:100%}.week-grid .num{max-width:5.5rem;text-align:right;font-variant-numeric:tabular-nums}.week-grid td.soll-cell{font-variant-numeric:tabular-nums;color:var(--muted);background:#f7fafc;text-align:right}.week-grid .day-label{font-weight:650;white-space:nowrap}.week-grid tr.feiertag,.week-grid tr.feiertag:hover{background:var(--sand)}.week-grid tr.feiertag .day-label:after{content:" · Feiertag";color:#b26a00;font-weight:650;font-size:.8em}.week-grid tr.sonntag{background:#f1f5fa}.week-grid .leih-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;background:var(--accent-soft);color:var(--accent-strong);border:1px solid #b5dfe9;border-radius:999px;padding:.08rem .5rem;margin-left:.35rem}.week-sums{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border);font-variant-numeric:tabular-nums}.saldo-pos{color:var(--success);font-weight:650}.saldo-neg{color:var(--error);font-weight:650}.status-badge{display:inline-block;font-size:.74rem;font-weight:650;letter-spacing:.02em;border-radius:999px;padding:.12rem .6rem;white-space:nowrap}.status-offen{background:var(--sand);color:#8a5a00;border:1px solid var(--sand-border)}.status-abgerechnet{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #b5dfe9}.status-final{background:var(--success-bg);color:var(--success);border:1px solid #b7e2c7}.status-storniert{background:#eceff3;color:var(--muted);border:1px solid var(--border-strong)}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.card.kpi{margin-bottom:0;display:flex;flex-direction:column;gap:.35rem;border-top:3px solid var(--accent)}.kpi-label{font-size:.74rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.kpi-value{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--navy-900)}.dash-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:900px){.dash-2col{grid-template-columns:1fr}}
