.notif-bell{position:relative;display:inline-flex}.notif-trigger{position:relative;background:none;border:none;cursor:pointer;font-size:18px;padding:4px 6px;line-height:1}.notif-badge{position:absolute;top:-2px;right:-2px;background:var(--crit);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notif-dropdown{position:absolute;top:130%;right:0;width:320px;max-height:420px;background:var(--surface, #fff);color:var(--ink, #222);border:1px solid var(--line-2, #ddd);border-radius:8px;box-shadow:0 12px 32px #00000040;z-index:9999;display:flex;flex-direction:column;overflow:hidden}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line-2, #eee);font-size:13px}.notif-readall{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px}.notif-list{overflow-y:auto}.notif-empty{padding:24px 12px;text-align:center;color:var(--ink-2, #888);font-size:13px}.notif-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line-2, #f0f0f0);padding:10px 12px;cursor:pointer}.notif-item:hover{background:var(--surface-2, #f6f7f9)}.notif-item.unread{background:color-mix(in srgb,var(--accent) 8%,transparent)}.notif-item.unread .notif-item-title:before{content:"● ";color:var(--accent)}.notif-item-title{font-size:13px;font-weight:600;color:var(--ink, #222)}.notif-go{float:right;color:var(--accent);font-weight:700}.notif-item:not(.nav){cursor:default}.notif-item-body{font-size:12px;color:var(--ink-2, #666);margin-top:2px}.notif-item-time{font-size:11px;color:var(--ink-2, #999);margin-top:3px}@media (max-width: 900px){.notif-dropdown{position:fixed;top:56px;right:8px;left:8px;width:auto;max-height:70vh}}.legal-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px 18px;font-size:12px;color:var(--ink-2)}.legal-footer button{background:none;border:none;padding:0;font:inherit;color:var(--ink-2);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.legal-footer button:hover{color:var(--ink)}.legal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.legal-dialog{background:var(--surface);border:1px solid var(--line-2);border-radius:6px;width:min(640px,100%);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000040}.legal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 12px;border-bottom:1px solid var(--line-2)}.legal-head h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.legal-close{background:none;border:none;font-size:18px;line-height:1;color:var(--ink-2);cursor:pointer;padding:4px 6px}.legal-body{padding:18px 22px 24px;overflow-y:auto;font-size:13px;line-height:1.65;color:var(--ink)}.legal-body h3{margin:18px 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.legal-body p{margin:0 0 10px}.legal-body a{color:var(--accent)}.legal-note{margin-top:16px;font-size:12px;font-style:italic;color:var(--ink-2)}.fernwartung-banner{position:sticky;top:0;z-index:1200;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 18px;background:#b3261e;color:#fff;font-size:13px;line-height:1.45;box-shadow:0 2px 10px #00000040}.fw-punkt{flex:none;width:10px;height:10px;border-radius:50%;background:#fff;animation:fw-puls 2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.fw-punkt{animation:none}}@keyframes fw-puls{0%,to{opacity:1}50%{opacity:.35}}.fw-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 340px}.fw-text strong{font-size:13px;font-weight:700}.fw-text span{opacity:.92}.fw-stop{flex:none;padding:6px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.75);background:transparent;color:#fff;font-size:13px;font-weight:700;text-transform:none;letter-spacing:normal;cursor:pointer}.fw-stop:hover:not(:disabled){background:#ffffff26}.fw-stop:disabled{opacity:.5;cursor:default}.abrechnung-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:9px 18px;font-size:13px;font-weight:600;line-height:1.45}.abrechnung-banner.test{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.abrechnung-banner.frist{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--warn) 50%,transparent)}.abrechnung-banner.gesperrt{background:#b3261e;color:#fff}.abrechnung-banner a{color:inherit;text-decoration:underline;white-space:nowrap}.app-layout{display:flex;flex-direction:column;min-height:100vh}.masthead{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--line-2);background:var(--surface);padding:0;margin-bottom:18px;box-shadow:0 1px 3px #0000000f}.plate{width:54px;flex-shrink:0;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;border-right:1px solid var(--line-2)}.id{display:flex;flex-direction:column;justify-content:center;padding:0 16px;border-right:1px solid var(--line-2);min-width:0;flex-shrink:0;overflow:hidden}.co{font-weight:800;font-size:15px;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.loc{font-family:ui-monospace,Courier New,monospace;font-size:11px;color:var(--ink-2);margin-top:2px;white-space:nowrap}.tabs{display:flex;align-items:stretch;gap:0;border-right:1px solid var(--line-2);min-width:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{font:inherit;font-weight:700;font-size:12px;letter-spacing:.02em;text-transform:uppercase;padding:0 13px;border:none;border-left:1px solid var(--line-2);background:transparent;color:var(--ink-2);cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.tab:first-child{border-left:none}.tab:hover{background:var(--surface-2)}.tab.on{background:var(--ink);color:var(--surface)}.user-section{display:flex;align-items:center;gap:12px;padding:0 14px;border-left:1px solid var(--line-2)}.user-name{font-size:13px;color:var(--ink-2);font-weight:500}.btn-logout{background:none;border:none;color:var(--ink-3);cursor:pointer;font-size:16px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.btn-logout:hover{color:var(--crit)}.content{flex:1;padding:0 18px 60px;max-width:1220px;margin:0 auto;width:100%}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--paper)}.login-card{background:var(--surface);border:1px solid var(--line-2);border-radius:6px;padding:40px;width:100%;max-width:380px;box-shadow:0 2px 8px #00000014}.login-header{text-align:center;margin-bottom:32px}.logo-circle{width:60px;height:60px;margin:0 auto 16px;background:var(--accent);color:var(--accent-ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:28px}.login-header h1{margin:0;font-size:24px;color:var(--ink)}.login-header p{margin:4px 0 0;font-size:12px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}form{display:flex;flex-direction:column;gap:16px}.field input{font-size:14px;padding:10px 12px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2);color:var(--ink);font-family:inherit}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--crit);font-size:13px;padding:8px 12px;background:color-mix(in srgb,var(--crit) 10%,transparent);border:1px solid color-mix(in srgb,var(--crit) 30%,transparent);border-radius:4px}.btn-login{background:var(--accent);color:var(--accent-ink);border:none;padding:11px;font-size:14px;font-weight:700;border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.02em;transition:background .2s}.btn-login:hover:not(:disabled){background:var(--accent-2)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.demo-hint{text-align:center;margin-top:16px;color:var(--ink-3)}.demo-hint small{font-size:11px}.link-btn{display:block;width:100%;margin-top:12px;background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;text-align:center}.link-btn:hover{text-decoration:underline}.reset-hint{font-size:13px;color:var(--ink-2, #666);margin:0 0 12px;text-align:center}.login-card .info{background:color-mix(in srgb,var(--good) 12%,transparent);color:var(--good);padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:10px}.employer-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.employer-btn{width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line-2, #ddd);border-radius:8px;background:var(--surface-2, #f7f8fa);color:var(--ink, #222);font-size:15px;font-weight:600;cursor:pointer}.employer-btn:hover:not(:disabled){border-color:var(--accent, #2a9dd9);color:var(--accent, #2a9dd9)}.reg-verify{border:1px solid var(--line-2, #ddd);border-radius:8px;padding:14px;background:var(--surface-2, #f7f8fa);margin-bottom:12px}.reg-employer{font-size:16px;font-weight:800;color:var(--ink, #222)}.reg-line{font-size:13px;color:var(--ink-2, #555);margin-top:3px}.reg-verify hr{border:none;border-top:1px solid var(--line-2, #ddd);margin:10px 0}.cell-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.cell-editor{background:var(--surface);border:1px solid var(--line-2);border-radius:6px;padding:24px;max-width:400px;width:90%;box-shadow:0 10px 40px #00000026}.cell-editor h3{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--ink)}.shift-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-bottom:20px}.shift-options .option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:2px solid var(--line-2);border-radius:4px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.shift-options .option:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-2))}.shift-options .option.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--accent)}.shift-options .option .code{font-weight:800;font-size:14px;font-family:ui-monospace,monospace}.shift-options .option .label{font-size:10px;color:var(--ink-2);text-align:center;line-height:1.2}.shift-options .option.on .label{color:var(--accent)}.actions{display:flex;gap:8px}.btn{flex:1;padding:10px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;font-size:13px;transition:all .2s}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.btn.secondary{background:var(--surface)}.btn.secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wish-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}.wish-label{font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.wish-options{display:flex;flex-wrap:wrap;gap:6px}.wish-opt{font:inherit;font-size:12px;padding:5px 10px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:all .15s}.wish-opt:hover{border-color:var(--accent)}.wish-opt.on{background:var(--accent);color:#fff;border-color:var(--accent)}.cell-editor .auswirkungen{margin:.9rem 0 .25rem;padding:.7rem .85rem;border:1px solid var(--line, #d8dfe8);border-radius:8px;background:var(--surface-2, #f0f3f7)}.cell-editor .auswirkungen-titel{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2, #5a6574);margin-bottom:.45rem}.cell-editor .auswirkung-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.cell-editor .auswirkung{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.35;color:var(--ink, #1f2937)}.cell-editor .auswirkung .marke{flex:0 0 1.15rem;height:1.15rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;margin-top:.08rem;background:var(--sunk, #e9ecf0);color:var(--ink-2, #5a6574)}.cell-editor .auswirkung.crit .marke{background:#b23a26;color:#fff}.cell-editor .auswirkung.warn .marke{background:#b07d16;color:#fff}.cell-editor .auswirkung.geloest .marke{background:#3f7d3a;color:#fff}.cell-editor .auswirkung.crit .text{font-weight:600}.rm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.rm-modal{background:var(--bg, var(--surface));color:var(--ink);border:1px solid var(--line-2);border-radius:10px;width:100%;max-width:620px;max-height:85vh;overflow-y:auto;padding:20px;box-shadow:0 12px 40px #00000040}.rm-head{display:flex;align-items:center;justify-content:space-between}.rm-head h3{margin:0;font-size:17px;font-weight:700}.rm-x{border:none;background:none;cursor:pointer;font-size:16px;color:var(--ink-2)}.rm-hint{font-size:13px;color:var(--ink-2);margin:4px 0 16px}.rm-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.rm-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--ink-2)}.rm-controls select{padding:8px 10px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2, var(--surface));color:var(--ink);font-size:13px;min-width:160px}.btn{padding:8px 14px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2, var(--surface));color:var(--ink);cursor:pointer;font-weight:600;font-size:13px}.btn.sm{padding:5px 10px;font-size:12px}.rm-results{display:flex;flex-direction:column;gap:8px}.rm-empty{padding:24px;text-align:center;color:var(--ink-2);background:var(--surface);border:1px dashed var(--line-2);border-radius:6px}.rm-candidate{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface)}.rm-candidate.best{border-color:color-mix(in srgb,var(--good) 50%,transparent);background:color-mix(in srgb,var(--good) 6%,transparent)}.rm-rank{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:color-mix(in srgb,var(--ink) 10%,transparent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.rm-info{flex:1;min-width:0}.rm-name{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}.best-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:2px 6px;border-radius:3px;background:var(--good);color:#fff}.rm-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.rm-reasons .reason{font-size:11px;color:var(--ink-2);background:color-mix(in srgb,var(--ink) 5%,transparent);padding:2px 6px;border-radius:3px}.rm-reasons .warning{font-size:11px;color:var(--warn, #b26a00);background:color-mix(in srgb,var(--warn, #ff9800) 12%,transparent);padding:2px 6px;border-radius:3px}.rm-score{font-size:18px;font-weight:800;color:var(--ink);min-width:36px;text-align:center}.opt-modelle{padding:16px 20px}.opt-modelle-hinweis{margin:0 0 12px;font-size:13px;color:var(--ink-2);line-height:1.5}.opt-modell{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:6px;cursor:pointer;border:1px solid var(--border);border-radius:8px;font-size:14px}.opt-modell:hover{background:var(--surface-2)}.opt-option{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-top:10px;cursor:pointer;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface-2)}.opt-option:hover{border-color:var(--ink-2)}.opt-modelle-aktionen{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.opt-modelle-aktionen button{padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--surface)}.opt-modelle-aktionen button:disabled{opacity:.5;cursor:default}.opt-modelle-warnung{font-size:13px;color:var(--warn)}.opt-schieflage{padding:16px 20px;border-top:1px solid var(--border)}.opt-schieflage h3{margin:0 0 12px;font-size:15px}.opt-schieflage-grund{font-weight:400;color:var(--ink-2);font-size:13px}.opt-gruppen-stunden{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.opt-gruppe-stunde{display:flex;flex-direction:column;gap:1px;padding:7px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:13px;min-width:110px}.opt-gruppe-stunde small{color:var(--ink-2);font-size:11px}.opt-luecken{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:14px}.opt-luecken th,.opt-luecken td{border-bottom:1px solid var(--border);padding:5px 8px;text-align:left;vertical-align:top}.opt-luecken th{color:var(--ink-2);font-weight:600;font-size:12px}.opt-vorschlaege{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.opt-vorschlag.keine_kandidaten{color:var(--crit)}.opt-vorschlag.ueberstunden{color:var(--warn)}.opt-option.opt-warnung{border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.opt-fremd{color:var(--warn);font-weight:600;font-size:12px}.opt-abweichungen{padding:16px 20px;border-top:2px solid color-mix(in srgb,var(--warn) 55%,transparent);background:color-mix(in srgb,var(--warn) 5%,transparent)}.opt-abweichungen h3{margin:0 0 6px;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.opt-alle{font-size:12px;padding:3px 8px;white-space:nowrap}.opt-abw-hinweis{margin:0 0 12px;font-size:13px;color:var(--ink-2);line-height:1.5}.opt-abw-liste{width:100%;border-collapse:collapse;font-size:13px}.opt-abw-liste td{border-bottom:1px solid var(--border);padding:7px 8px;vertical-align:top}.opt-abw-liste tr.ok{opacity:.55}.opt-abw-haken{width:26px;padding-top:9px!important}.opt-abw-haken input{width:15px;height:15px;cursor:pointer}.opt-abw-wer{min-width:150px}.opt-abw-wer strong{display:block;font-weight:600}.opt-abw-wer small{color:var(--ink-2);font-size:11px}.opt-abw-was{white-space:nowrap;font-family:ui-monospace,monospace}.opt-abw-soll{color:var(--ink-2);text-decoration:line-through}.opt-abw-pfeil{margin:0 5px;color:var(--ink-3)}.opt-abw-ist{font-weight:700}.opt-abw-grund{width:45%}.opt-abw-art{display:block;font-weight:600;font-size:12px}.opt-abw-grund small{color:var(--ink-2);line-height:1.4}.opt-abw-art.abwesend,.opt-abw-art.nicht_beschaeftigt{color:var(--ink-2)}.opt-abw-art.unterdeckung,.opt-abw-art.ueberdeckung{color:var(--accent)}.opt-abw-art.schicht_zu_lang,.opt-abw-art.qualifikation{color:var(--warn)}.opt-abw-art.modellfremd,.opt-abw-art.ausgleich{color:var(--crit)}.opt-abw-zahlen{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink-2);white-space:nowrap;text-align:right}.opt-abw-zahlen .warn{color:var(--crit);font-weight:700}.opt-foot-offen{color:var(--warn)}@media (max-width: 640px){.opt-abw-liste,.opt-abw-liste tbody,.opt-abw-liste tr,.opt-abw-liste td{display:block;width:auto}.opt-abw-liste tr{border-bottom:1px solid var(--border);position:relative;padding:6px 0 6px 26px}.opt-abw-liste td{border:none;padding:2px 0}.opt-abw-haken{position:absolute;left:0;top:8px}.opt-abw-zahlen{flex-direction:row;gap:10px;text-align:left}}.sc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.sc-modal{background:var(--surface);color:var(--ink);border-radius:12px;padding:20px 22px;width:min(560px,92vw);max-height:88vh;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.sc-head{display:flex;align-items:center;justify-content:space-between}.sc-head h3{margin:0;font-size:18px}.sc-x{background:none;border:none;font-size:18px;cursor:pointer;color:var(--ink-2)}.sc-hint{color:var(--ink-2);font-size:13px;margin:6px 0 14px}.sc-emps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.sc-emp{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;cursor:pointer}.sc-emp.on{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent)}.sc-result{margin-top:16px}.sc-delta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sc-badge{font-size:13px;font-weight:700;padding:6px 12px;border-radius:8px}.sc-badge.cost{background:color-mix(in srgb,var(--crit) 16%,transparent);color:var(--crit)}.sc-badge.under{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--ink)}.sc-badge.ok{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.sc-table{width:100%;border-collapse:collapse;font-size:14px}.sc-table th,.sc-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.sc-table th:not(:first-child),.sc-table td:not(:first-child){text-align:right}.sc-table thead th{color:var(--ink-2);font-size:12px;text-transform:uppercase}.os-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.os-form input[type=text]{flex:1;min-width:140px}.os-form input,.os-form select{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--ink)}.os-list{display:flex;flex-direction:column;gap:8px}.os-empty{color:var(--ink-2);font-size:14px;padding:8px 0}.os-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px}.os-row.claimed{border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.os-row.filled{border-color:color-mix(in srgb,var(--good) 50%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent)}.os-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.os-code{padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:700}.os-status,.os-claimant{color:var(--ink-2);font-size:13px}.os-actions{display:flex;gap:6px}.os-actions .btn.sm{padding:4px 10px;font-size:13px}.os-actions .approve{background:var(--good);color:#fff;border:none}.approval-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 14px;margin:0 0 12px;border-radius:8px;font-size:14px;border:1px solid var(--border);background:var(--surface-2)}.approval-status{display:flex;align-items:center;gap:8px}.approval-dot{width:10px;height:10px;border-radius:50%;background:var(--ink-2)}.approval-meta{color:var(--ink-2)}.approval-bar.submitted{border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent)}.approval-bar.submitted .approval-dot{background:var(--warn)}.approval-bar.approved{border-color:color-mix(in srgb,var(--good) 50%,transparent);background:color-mix(in srgb,var(--good) 12%,transparent)}.approval-bar.approved .approval-dot{background:var(--good)}.approval-bar.rejected{border-color:color-mix(in srgb,var(--crit) 50%,transparent);background:color-mix(in srgb,var(--crit) 12%,transparent)}.approval-bar.rejected .approval-dot{background:var(--crit)}.approval-actions{display:flex;gap:8px}.approval-actions .btn.sm{padding:5px 12px;font-size:13px}.approval-actions .approve{background:var(--good);color:#fff;border:none}.approval-actions .reject{background:var(--crit);color:#fff;border:none}.approval-bar.stale{border-color:color-mix(in srgb,var(--crit) 55%,transparent);background:color-mix(in srgb,var(--crit) 10%,transparent)}.approval-bar.stale .approval-dot{background:var(--crit)}.approval-warn{color:var(--crit);font-weight:600}.approval-snapshot{flex-basis:100%;margin-top:10px;overflow-x:auto}.approval-snapshot-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;color:var(--ink-2);font-size:13px}.approval-snapshot-head strong{color:var(--ink)}.approval-snapshot table{border-collapse:collapse;font-size:13px;min-width:100%}.approval-snapshot th,.approval-snapshot td{border:1px solid var(--border);padding:3px 8px;text-align:center;white-space:nowrap}.approval-snapshot td:first-child,.approval-snapshot th:first-child{text-align:left}.plan-page{display:flex;flex-direction:column;gap:18px}.ctrl-group select:disabled{opacity:.5;cursor:not-allowed}.kw-nav{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);padding:4px 8px}.kw-nav button{background:none;border:none;color:var(--ink-2);cursor:pointer;font-size:14px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.kw-nav button:hover{color:var(--ink)}.kw-nav span{font-weight:700;min-width:20px;text-align:center;font-family:ui-monospace,monospace}.stats{display:flex;gap:16px}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat .val{font-weight:800;font-size:18px;font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}.stat .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);text-align:center;max-width:100px;line-height:1.2}.stat.crit .val{color:var(--crit)}.stat.warn .val{color:var(--warn)}.stat.ok .val{color:var(--good)}.plan-table{width:100%;border-collapse:collapse;min-width:900px}.plan-table thead th{background:var(--sunk);border:1px solid var(--line);padding:8px;text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-2);position:sticky;top:0;z-index:5}.plan-table thead th.weekend{background:color-mix(in srgb,var(--ink) 6%,var(--surface))}.plan-table thead th.heute,.plan-table tbody td.heute{background:color-mix(in srgb,var(--accent) 7%,var(--surface));box-shadow:inset 1px 0 0 var(--accent),inset -1px 0 0 var(--accent)}.plan-table thead th.heute{box-shadow:inset 1px 0 0 var(--accent),inset -1px 0 0 var(--accent),inset 0 3px 0 var(--accent)}.plan-table thead th.heute .wd{color:var(--accent)}.plan-table thead th.weekend.heute{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.cell.heute:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.plan-table thead th .wd{font-weight:800;color:var(--ink);font-size:12px}.plan-table thead th .dd{font-size:10px;margin-top:2px}.emp-header{text-align:left;padding-left:12px!important;min-width:200px;max-width:200px}.plan-table tbody td{border:1px solid var(--line);padding:4px;text-align:center;height:50px}.plan-table tbody td.weekend{background:color-mix(in srgb,var(--ink) 4%,var(--surface))}.emp-cell{position:sticky;left:0;z-index:4;background:var(--surface);text-align:left;padding:8px 12px!important;min-width:200px;max-width:200px;border-right:1px solid var(--line-2)}.emp-name{font-weight:700;font-size:13px;color:var(--ink)}.emp-pers{font-family:ui-monospace,monospace;font-size:11px;color:var(--ink-2);margin-top:2px}.cell{vertical-align:middle;cursor:pointer;transition:background .15s}.cell:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.chip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 6px;font-size:12px;font-weight:700;font-family:ui-monospace,monospace;border-radius:2px;line-height:1.1;background:color-mix(in srgb,#4a7c9e 20%,var(--surface));color:color-mix(in srgb,#4a7c9e 70%,var(--ink));border:1px solid color-mix(in srgb,#4a7c9e 40%,transparent);min-width:45px}.chip small{font-size:9px;margin-top:1px}.chip.absence{background:color-mix(in srgb,var(--warn) 20%,var(--surface));color:color-mix(in srgb,var(--warn) 70%,var(--ink));border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.none{color:var(--ink-3);font-size:12px}.violations{border:1px solid var(--line-2);border-radius:4px;background:var(--surface);padding:16px}.violations h3{margin:0 0 12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.violation-list{display:flex;flex-direction:column;gap:8px}.violation{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:3px;font-size:13px}.violation.crit{background:color-mix(in srgb,var(--crit) 10%,transparent);border:1px solid color-mix(in srgb,var(--crit) 30%,transparent)}.violation.warn{background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.violation .badge{flex-shrink:0;font-weight:700;color:var(--crit)}.violation.warn .badge{color:var(--warn)}.violation .text{flex:1}.violation .text strong{font-weight:700}.cell{position:relative}.wish-marker{position:absolute;top:1px;right:2px;font-size:9px;line-height:1;opacity:.85;pointer-events:none}.forecast-banner{background:color-mix(in srgb,var(--warn) 16%,transparent);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);color:var(--ink);border-radius:8px;padding:8px 14px;margin:0 0 12px;font-size:14px;font-weight:600}.fremde-aenderung{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--ink);border-radius:8px;padding:8px 14px;margin:0 0 12px;font-size:14px;font-weight:600}.fremde-aenderung .btn{padding:4px 12px;font-size:13px;font-weight:600;text-transform:none;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}.plan-empty{max-width:560px;margin:48px auto;padding:32px;text-align:center;background:var(--surface);border:1px dashed var(--line-2);border-radius:6px}.plan-empty h2{margin:0 0 10px;font-size:16px;font-weight:700;color:var(--ink)}.plan-empty p{margin:0 0 20px;font-size:13px;line-height:1.6;color:var(--ink-2)}.plan-empty .btn.primary{padding:10px 18px;border-radius:3px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:13px;cursor:pointer}.plan-empty .btn.primary:hover{background:var(--accent-2)}.tagesbesetzung{margin-top:4px;line-height:1.2}.tb-zahl{font-size:15px;font-weight:700;color:var(--ink)}.tb-auf{font-size:10px;color:var(--ink-2);margin-left:3px;text-transform:uppercase;letter-spacing:.04em}.tb-schichten{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:2px;font-size:10px;color:var(--ink-2);font-weight:500}.plan-table tr.gruppen-kopf td{background:var(--surface-2);border-top:2px solid var(--border);padding:5px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);cursor:default}.plan-table tr.gruppen-kopf:first-child td{border-top:none}.gruppen-anzahl{font-weight:400;text-transform:none;letter-spacing:0;margin-left:8px}.plan-table tr.modell-kopf td{background:var(--ink);color:var(--surface);padding:6px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:default}.alle-hinweis{margin:0 0 12px;padding:8px 14px;border-radius:8px;font-size:13px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border)}.emp-name-link{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:inherit}.emp-name-link:hover,.emp-name-link:focus-visible{text-decoration:underline}.plan-blaettern{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--border, #e2e8f0);flex-wrap:wrap}.plan-blaettern .plan-blaettern-stand{font-size:.9rem;color:var(--muted, #64748b);font-variant-numeric:tabular-nums;min-width:12ch;text-align:center}.plan-blaettern .btn[disabled]{opacity:.45;cursor:default}.qr-anzeige-schluessel{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.qr-anzeige-schluessel>label{font-weight:600;font-size:13px}.qas-status{margin:6px 0;font-size:13px;color:var(--ink-2)}.qas-link{margin:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qas-link input{flex:1;min-width:260px;font-family:ui-monospace,monospace;font-size:12px;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.qas-warnung{flex-basis:100%;font-size:12px;font-weight:600;color:var(--warn)}.qas-aktionen{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.qas-aktionen button{padding:5px 12px;font-size:12px;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink)}.qas-aktionen button.danger{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 40%,transparent)}.qas-aktionen button:disabled{opacity:.5;cursor:default}.config-locations{display:flex;flex-direction:column;gap:16px}.config-locations h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.locations-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.loc-card{border:1px solid var(--line-2);border-radius:4px;background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:10px}.loc-header{display:flex;align-items:baseline;gap:10px}.loc-header h3{margin:0;font-size:14px;font-weight:700;color:var(--ink)}.loc-header .region{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:2px 6px;background:var(--surface-2);border-radius:2px}.loc-details{font-size:12px;color:var(--ink-2)}.loc-details div{margin:2px 0}.loc-details strong{font-weight:600}.loc-rule{display:flex;flex-direction:column;gap:4px}.loc-rule label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.loc-rule select{font-size:12px;padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit}.loc-actions{display:flex;gap:8px;margin-top:6px}.loc-qr{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-2);padding-top:10px}.loc-qr label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.loc-qr-hint{font-size:12px;color:var(--ink-2)}.loc-qr-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.subtle{color:var(--ink-2)}.btn.accent:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{background:none;border:none;color:var(--ink-2);padding:4px 0;font-weight:500}.btn.ghost:hover{color:var(--accent);background:none;border:none}.csv-import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.csv-import{background:var(--surface);border:1px solid var(--line-2);border-radius:6px;padding:24px;width:min(720px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;gap:14px}.csv-import h3{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.csv-import .hint{margin:0;font-size:13px;color:var(--ink-2);font-style:italic}.csv-field{display:flex;flex-direction:column;gap:6px;min-width:0}.csv-field label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.csv-field input,.csv-field select{font-size:13px;padding:8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit}.csv-field input:focus,.csv-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.csv-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.csv-alert{font-size:12px;padding:8px 10px;border-radius:3px;border:1px solid transparent}.csv-alert.ok{background:color-mix(in srgb,var(--good) 10%,transparent);border-color:color-mix(in srgb,var(--good) 40%,transparent);color:var(--ink)}.csv-alert.bad{background:color-mix(in srgb,var(--crit) 10%,transparent);border-color:color-mix(in srgb,var(--crit) 40%,transparent);color:var(--crit)}.csv-preview{overflow-x:auto;border:1px solid var(--line-2);border-radius:3px}.csv-preview table{border-collapse:collapse;width:100%;font-size:12px}.csv-preview th,.csv-preview td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line-2);white-space:nowrap;color:var(--ink)}.csv-preview th{background:var(--surface-2);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.csv-preview th.unused{color:var(--ink-2);text-decoration:line-through}.csv-preview th.used{color:var(--accent)}.csv-actions{display:flex;gap:8px;margin-top:4px}.csv-result .tally{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:600;margin-bottom:10px}.csv-result .tally .ok{color:var(--good)}.csv-result .tally .warn{color:var(--warn)}.csv-result .tally .bad{color:var(--crit)}.err-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;margin-top:8px}.err-row{display:grid;grid-template-columns:70px 1fr 1.4fr;gap:8px;font-size:12px;padding:6px 8px;background:var(--surface-2);border-radius:3px}.err-row .line{color:var(--ink-2)}.err-row .what{color:var(--ink);font-weight:600}.err-row .why{color:var(--crit)}@media (max-width: 620px){.csv-field-row{grid-template-columns:1fr}.err-row{grid-template-columns:1fr;gap:2px}}.gruppen-reihenfolge{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.gruppen-reihenfolge h3{margin:0 0 4px;font-size:16px}.gruppen-reihenfolge .hint{margin-bottom:14px;color:var(--ink-2);font-size:13px}.go-auswahl{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}.go-auswahl label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.go-liste{list-style:none;margin:0;padding:0;max-width:560px}.go-liste li{display:flex;align-items:center;gap:10px;padding:7px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:var(--surface)}.go-pos{min-width:26px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink-2)}.go-name{flex:1;font-weight:600}.go-pers{color:var(--ink-2);font-size:12px}.go-pfeile{display:flex;gap:4px}.go-pfeile button{width:30px;height:28px;cursor:pointer;font-size:14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink)}.go-pfeile button:hover:not(:disabled){background:var(--surface-2)}.go-pfeile button:disabled{opacity:.3;cursor:default}.go-aktionen{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.gruppen-reihenfolge>summary{cursor:pointer;list-style-position:outside;padding:4px 0}.gruppen-reihenfolge>summary h3{display:inline;margin:0;font-size:16px}.gruppen-reihenfolge>summary:hover h3{text-decoration:underline}.go-aktionen button{padding:7px 16px;font-size:13px;cursor:pointer;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink)}.go-aktionen button:first-child{background:var(--ink);color:var(--surface);border-color:var(--ink);font-weight:600}.go-aktionen button:disabled{opacity:.5;cursor:default}.config-employees{display:flex;flex-direction:column;gap:16px}.config-employees h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.emp-list{display:flex;flex-direction:column;gap:8px}.emp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.emp-info{flex:1;min-width:0}.emp-info .name{font-weight:600;font-size:14px;color:var(--ink)}.emp-info .meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;font-size:11px;color:var(--ink-2)}.emp-info .meta span{display:inline-block;padding:2px 6px;background:var(--surface-2);border-radius:2px}.emp-actions{display:flex;gap:6px;flex-shrink:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field input,.field select{font-size:13px;padding:8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit}.emp-search{display:flex;align-items:center;gap:12px;margin:12px 0 4px}.emp-search input{flex:1;max-width:380px;font-size:13px;padding:8px 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit}.emp-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.emp-count{font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.emp-kennzahlen{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.emp-kennzahlen .kz{font-size:11px;padding:1px 7px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;cursor:help}.emp-kennzahlen .kz-warn{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 45%,transparent);background:color-mix(in srgb,var(--crit) 8%,transparent)}.emp-kennzahlen .kz-offen{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.emp-kennzahlen .kz-unbekannt{opacity:.6;font-style:italic}.edit-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:24px 12px;z-index:1000}.edit-modal{margin:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:6px;padding:24px;width:90%;max-width:520px;box-shadow:0 10px 40px #00000026}.edit-modal.breit{max-width:640px}.edit-modal h3{margin:0 0 20px;font-size:16px;font-weight:700;color:var(--ink)}.modell-aenderung .ma-intro{margin:0 0 .9rem;color:var(--ink-2, #5a6574);font-size:.92rem}.modell-aenderung .ma-block{margin-bottom:.9rem;padding:.7rem .85rem;border:1px solid var(--line, #d8dfe8);border-radius:8px;background:var(--surface-2, #f0f3f7)}.modell-aenderung .ma-titel{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2, #5a6574);margin-bottom:.5rem}.modell-aenderung .ma-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.modell-aenderung .ma-liste li{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:.9rem;line-height:1.35}.modell-aenderung .ma-feld{font-weight:600;min-width:7ch}.modell-aenderung .ma-vorher{color:var(--ink-2, #5a6574);text-decoration:line-through}.modell-aenderung .ma-nachher{font-weight:600}.modell-aenderung .ma-pfeil{color:var(--ink-3, #8b95a5)}.modell-aenderung .ma-code{font-weight:700;font-family:ui-monospace,monospace}.modell-aenderung .ma-teilfeld{display:block;color:var(--ink-2, #5a6574)}.modell-aenderung .ma-warnung{color:#b23a26;font-weight:600}.modell-aenderung .ma-leer{color:var(--ink-2, #5a6574);font-style:italic}.modell-aenderung .ma-marke{flex:0 0 auto;min-width:1.2rem;height:1.2rem;padding:0 .35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;text-transform:uppercase;background:var(--sunk, #e9ecf0);color:var(--ink-2, #5a6574)}.modell-aenderung .ma-marke.ma-neu{background:#3f7d3a;color:#fff}.modell-aenderung .ma-marke.ma-geaendert{background:#b07d16;color:#fff}.modell-aenderung .ma-marke.ma-entfernt{background:#b23a26;color:#fff}.modell-aenderung .ma-marke.ma-info{background:#1a6f9c;color:#fff}.modell-aenderung .ma-sperre{margin:0 0 .8rem;padding:.6rem .75rem;border-radius:8px;background:#fdf3e3;color:#8a5d10;font-size:.9rem}.pattern-editor-v2{display:flex;flex-direction:column;gap:14px}.pe-laenge{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pe-laenge>label{font-weight:600}.pe-laenge input[type=number]{width:74px}.pe-einheit{color:var(--ink-2);margin-right:8px}.pe-schnell{display:flex;gap:6px;flex-wrap:wrap}.pe-schnell button{padding:4px 12px;font-size:12px;cursor:pointer;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink)}.pe-schnell button:hover{background:var(--surface-2)}.pe-schnell button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.pe-hinweis{font-size:13px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 10px}.pe-raster{overflow-x:auto}.pe-kopf,.pe-zeile{display:grid;grid-template-columns:68px repeat(7,minmax(64px,1fr));gap:4px;align-items:center;min-width:540px}.pe-kopf{margin-bottom:4px}.pe-kopf span{text-align:center;font-size:12px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.pe-zeile{margin-bottom:4px}.pe-woche{font-size:12px;color:var(--ink-2)}.pe-leer{height:30px}.pe-zeile select{width:100%;height:30px;text-align:center;font-size:13px;padding:0 4px;border-radius:6px}.pe-zeile select.frei{color:var(--ink-2);background:var(--surface-2)}.pe-gruppen{display:flex;flex-direction:column;gap:8px}.pe-gruppen>label{font-weight:600}.pe-gruppen-liste{display:flex;flex-direction:column;gap:6px}.pe-gruppe{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pe-gruppe input[type=text]{width:64px}.pe-gruppe input[type=number]{width:74px}.pe-gruppe>span{font-size:13px;color:var(--ink-2)}.pe-versatz-info{min-width:110px}.pe-gruppen-aktionen{display:flex;gap:8px;flex-wrap:wrap}.config-models{display:flex;flex-direction:column;gap:16px}.config-models h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.ctrl-group select{font-size:13px;padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit}.btn{font-size:12px;padding:6px 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;transition:all .2s}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);text-transform:uppercase;letter-spacing:.02em}.btn.accent:hover{background:var(--accent-2)}.btn.ghost{background:none;border:none;padding:4px 0;font-weight:500}.btn.ghost:hover{background:none}.models-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.empty{grid-column:1 / -1;text-align:center;padding:40px 20px;background:var(--surface);border:1px dashed var(--line-2);border-radius:4px;color:var(--ink-2);font-size:13px}.model-card{border:1px solid var(--line-2);border-radius:4px;background:var(--surface);padding:12px;display:flex;flex-direction:column;gap:10px}.model-header h3{margin:0;font-size:14px;font-weight:700;color:var(--ink)}.model-details{font-size:12px;color:var(--ink-2)}.model-details div{margin:4px 0;line-height:1.4}.model-details strong{font-weight:600}.model-actions{display:flex;gap:6px}.edit-modal h4{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.form{display:flex;flex-direction:column;gap:16px}.section{padding:12px;background:var(--surface-2);border-radius:4px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.field input,.field select{font-size:13px;padding:8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface);color:var(--ink);font-family:inherit}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field small{font-size:11px;color:var(--ink-3);margin-top:2px}.shifts-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.shift-row{display:grid;grid-template-columns:46px minmax(70px,1fr) 86px 86px 58px 56px 46px 26px;gap:5px;align-items:center}.shifts-list{overflow-x:auto}.shifts-list>*{min-width:500px}.shift-row input{font-size:12px;padding:6px 4px;min-width:0;border:1px solid var(--line);border-radius:2px}.pattern-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:4px}.pattern-editor input{font-size:12px;padding:6px;text-align:center;border:1px solid var(--line);border-radius:2px}.actions{display:flex;gap:8px;margin-top:12px}.btn.primary{flex:1;background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:10px}.btn.primary:hover:not(:disabled){background:var(--accent-2)}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{flex:1;background:var(--surface-2);padding:10px}.btn.secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--surface)}.anchor-warn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;padding:6px 10px;border-radius:6px;font-size:13px;color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}.shift-pause{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-2)}.shift-pause input{width:34px}.shift-dauer{font-size:11px;color:var(--ink-2)}.shift-dauer small{opacity:.75}.shift-soll{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-2)}.shift-soll input{width:34px}.shift-row>button{width:100%;min-width:0;padding:4px 0;font-size:12px;line-height:1}.config-rulesets{display:flex;flex-direction:column;gap:16px}.config-rulesets h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.rulesets-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.ruleset-card{border:1px solid var(--line-2);border-radius:4px;background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:12px}.ruleset-header{display:flex;align-items:center;gap:8px}.ruleset-header h3{margin:0;font-size:14px;font-weight:700;color:var(--ink)}.ruleset-header .country{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:var(--surface-2);color:var(--ink-2)}.ruleset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.ruleset-grid .metric{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:var(--surface-2);border-radius:3px}.ruleset-grid .metric .v{font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.ruleset-grid .metric .l{font-size:10px;line-height:1.2;color:var(--ink-2)}.ruleset-actions{display:flex;gap:6px}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.checkbox-field input{width:16px;height:16px;cursor:pointer}.hard-soft-section{padding-top:12px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:10px}.hard-soft-section h4{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.hard-soft-section .section-hint{margin:0;font-size:12px;color:var(--ink-2);line-height:1.4}.config-absences{display:flex;flex-direction:column;gap:16px}.config-absences h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.config-absences h3{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.absences-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.absence-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-radius:3px;border:1px solid var(--line-2)}.absence-row.pending{background:color-mix(in srgb,var(--warn) 8%,transparent)}.absence-row.approved{background:color-mix(in srgb,var(--good) 8%,transparent)}.absence-row.rejected{background:color-mix(in srgb,var(--crit) 8%,transparent)}.absence-info{flex:1;min-width:0}.absence-info .type{font-weight:600;font-size:13px;color:var(--ink)}.absence-info .period{font-size:12px;color:var(--ink-2);margin-top:2px}.absence-actions{display:flex;gap:6px;flex-shrink:0}.btn{font-size:11px;padding:6px 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;transition:all .2s}.btn.delete{border-color:var(--crit);color:var(--crit)}.btn.delete:hover{background:color-mix(in srgb,var(--crit) 10%,transparent)}.btn.cancel{border-color:var(--ink-2);color:var(--ink-2)}.btn.cancel:hover{background:color-mix(in srgb,var(--ink-2) 10%,transparent)}.absence-row.editing{flex-direction:column}.edit-form{width:100%;display:flex;flex-direction:column;gap:10px}.form-row{display:flex;flex-direction:column;gap:4px}.form-row label{font-size:11px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.03em}.form-row input,.form-row select{padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-size:13px;font-family:inherit}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--ink)}.form-actions{display:flex;gap:6px;margin-top:6px}.actions-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.absence-new{border:1px solid var(--line-2);border-radius:4px;background:var(--surface);padding:14px;margin-bottom:4px}.absence-new h3{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.absence-new-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.absence-new-row select,.absence-new-row input{font-size:13px;padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit}.absence-new-row select:first-child{min-width:190px}.absence-new-row .btn.sm.save{padding:7px 14px;border-radius:3px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:13px;cursor:pointer}.absence-new-row .btn.sm.save:disabled{opacity:.5;cursor:not-allowed}.absence-new .hint{margin-top:8px}.config-rights{display:flex;flex-direction:column;gap:16px}.config-rights h2{margin:0;font-size:16px;font-weight:700}.users-list{display:flex;flex-direction:column;gap:8px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.user-info{flex:1;min-width:0}.user-info .name{font-weight:600;font-size:13px;color:var(--ink)}.user-info .email{font-size:12px;color:var(--ink-2);margin-top:2px}.user-info .meta{font-size:11px;color:var(--ink-3);margin-top:4px}.user-role{flex-shrink:0}.role-display{display:flex;align-items:center;gap:8px}.badge{font-size:11px;font-weight:700;padding:4px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.badge.role-admin{background:color-mix(in srgb,var(--crit) 20%,transparent);color:var(--crit)}.badge.role-planner{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.badge.role-viewer{background:color-mix(in srgb,var(--ink-2) 20%,transparent);color:var(--ink-2)}.you-badge{margin-left:8px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb,var(--accent, var(--ink-2)) 18%,transparent);color:var(--accent, var(--ink-2));vertical-align:middle}.role-editor{display:flex;align-items:center;gap:6px}.role-editor select{padding:4px 6px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-size:12px;font-family:inherit}.btn.edit{border-color:var(--ink-2);color:var(--ink-2)}.btn.edit:hover{background:color-mix(in srgb,var(--ink-2) 10%,transparent)}.btn.save{border-color:var(--good);color:var(--good)}.btn.save:hover{background:color-mix(in srgb,var(--good) 10%,transparent)}.btn.cancel{border-color:var(--crit);color:var(--crit)}.btn.cancel:hover{background:color-mix(in srgb,var(--crit) 10%,transparent)}.section-hint{padding:16px;background:color-mix(in srgb,var(--ink) 3%,transparent);border-radius:4px;border-left:3px solid var(--line-2)}.section-hint h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.role-descriptions{display:flex;flex-direction:column;gap:8px}.role-desc{font-size:12px;line-height:1.5;color:var(--ink-2)}.role-desc strong{color:var(--ink);font-weight:600}.config-rights .user-standorte{padding:.75rem 1rem;border-top:1px solid var(--line, #d8dfe8);background:var(--surface-2, #f0f3f7);display:flex;flex-direction:column;gap:.4rem}.config-rights .user-standorte .standort-wahl{display:flex;align-items:center;gap:.5rem;font-weight:400;text-transform:none;letter-spacing:normal;font-size:.95rem;cursor:pointer}.config-rights .user-standorte .standort-aktionen{display:flex;align-items:center;gap:.75rem;margin-top:.35rem;flex-wrap:wrap}.config-rights .user-standorte .hint{font-size:.85rem;color:var(--ink-2, #5a6574)}.shift-exchange{display:flex;flex-direction:column;gap:16px}.shift-exchange h2{margin:0;font-size:16px;font-weight:700}.hint{font-size:13px;color:var(--ink-2);font-style:italic;margin:-8px 0 0}.btn.accent{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.accent:hover{background:color-mix(in srgb,var(--ink) 90%,black)}.form-card{padding:16px;background:var(--surface);border:1px solid var(--line-2);border-radius:4px;margin-bottom:12px}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-size:13px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--ink)}.form-actions{display:flex;gap:8px;margin-top:12px}.section{padding:16px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.section h3{margin:0 0 12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.exchanges-list{display:flex;flex-direction:column;gap:8px}.exchange-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line-2);border-radius:3px}.exchange-row.pending{background:color-mix(in srgb,var(--warn) 8%,transparent)}.exchange-row.approved{background:color-mix(in srgb,var(--good) 8%,transparent)}.exchange-row.rejected{background:color-mix(in srgb,var(--crit) 8%,transparent)}.exchange-row.finalized{background:color-mix(in srgb,var(--good) 15%,transparent)}.exchange-info{flex:1}.from-to{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;margin-bottom:4px}.from-to .emp{padding:2px 6px;background:color-mix(in srgb,var(--ink) 10%,transparent);border-radius:2px}.exchange-info .date{font-size:12px;color:var(--ink-2)}.exchange-info .reason{font-size:12px;color:var(--ink-2);font-style:italic;margin-top:4px}.actions{display:flex;gap:6px;flex-shrink:0}.btn.approve{border-color:var(--good);color:var(--good)}.btn.approve:hover{background:color-mix(in srgb,var(--good) 10%,transparent)}.btn.reject{border-color:var(--crit);color:var(--crit)}.btn.reject:hover{background:color-mix(in srgb,var(--crit) 10%,transparent)}.status-badge{font-size:11px;font-weight:700;padding:4px 8px;border-radius:2px;text-transform:uppercase;letter-spacing:.03em}.approved .status-badge{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good)}.rejected .status-badge{background:color-mix(in srgb,var(--crit) 20%,transparent);color:var(--crit)}.finalized .status-badge{background:color-mix(in srgb,var(--good) 30%,transparent);color:var(--good);font-weight:800}.empty{text-align:center;padding:40px 20px;background:var(--surface);border:1px dashed var(--line-2);border-radius:4px;color:var(--ink-2);font-size:13px}.config-skills{display:flex;flex-direction:column;gap:16px}.config-skills h2{margin:0;font-size:16px;font-weight:700}.config-skills .hint{font-size:13px;color:var(--ink-2);font-style:italic;margin:-8px 0 0}.sub-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-2)}.sub-tab{padding:8px 14px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}.sub-tab.on{color:var(--ink);border-bottom-color:var(--accent, var(--ink))}.tab-body{display:flex;flex-direction:column;gap:14px}.add-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.add-form input[type=text],.add-form input:not([type]),.add-form input[type=date],.add-form select{padding:8px 10px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2, var(--surface));color:var(--ink);font-size:13px}.add-form input[placeholder]{min-width:140px}.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);cursor:pointer}.btn{padding:8px 12px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2, var(--surface));color:var(--ink);cursor:pointer;font-weight:600;font-size:13px}.btn.sm{padding:4px 8px;font-size:12px}.cat-group h4{margin:8px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.skill-chips,.req-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.skill-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;background:var(--surface);border:1px solid var(--line-2);border-radius:20px;font-size:13px}.skill-chip .exp-badge{font-size:12px}.skill-chip .x,.emp-skill-row .x,.req-chip .x{border:none;background:none;cursor:pointer;color:var(--ink-2);font-size:12px;padding:2px 4px}.skill-chip .x:hover,.req-chip .x:hover{color:var(--crit)}.selectors{display:flex;gap:8px;flex-wrap:wrap}.selectors select{padding:8px 10px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2, var(--surface));color:var(--ink);font-size:13px;min-width:180px}.expiring-banner{padding:12px 14px;border-radius:6px;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--warn, #ff9800) 12%,transparent);color:var(--warn, #b26a00);border:1px solid color-mix(in srgb,var(--warn, #ff9800) 30%,transparent)}.expiring-list{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;font-weight:500}.exp-item{padding:2px 8px;background:var(--surface);border-radius:3px;font-size:12px}.exp-item.expired{color:var(--crit);text-decoration:line-through}.emp-skill-list{display:flex;flex-direction:column;gap:6px}.emp-skill-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border:1px solid var(--line-2);border-radius:4px;font-size:13px}.emp-skill-row .cat-tag{padding:2px 8px;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:3px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.emp-skill-row .nm{font-weight:600;flex:1}.emp-skill-row .lvl{color:var(--accent, #d4a017);letter-spacing:1px}.emp-skill-row .exp{font-size:12px;color:var(--ink-2)}.emp-skill-row .exp.expired,.exp-item.expired{color:var(--crit);font-weight:700}.shift-req-group{padding:12px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface)}.shift-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.shift-head .code{padding:3px 10px;background:var(--ink);color:#fff;border-radius:4px;font-weight:700;font-size:13px}.shift-head .label{color:var(--ink-2);font-size:13px}.req-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 12px;border-radius:20px;font-size:13px;border:1px solid var(--line-2)}.req-chip small{font-size:10px;text-transform:uppercase;opacity:.7}.req-chip.mand{background:color-mix(in srgb,var(--crit) 10%,transparent);border-color:color-mix(in srgb,var(--crit) 30%,transparent)}.req-chip.opt{background:color-mix(in srgb,var(--ink) 5%,transparent)}.req-add{display:inline-flex;align-items:center;gap:6px}.req-add select{padding:6px 8px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2, var(--surface));color:var(--ink);font-size:13px}.add-req-btn{border:1px dashed var(--line-2);background:none;border-radius:20px;padding:5px 12px;cursor:pointer;color:var(--ink-2);font-size:13px}.add-req-btn:hover{color:var(--ink);border-color:var(--ink)}.config-skills .empty{padding:24px;text-align:center;color:var(--ink-2);font-size:13px;background:var(--surface);border:1px dashed var(--line-2);border-radius:6px}.audit-log{display:flex;flex-direction:column;gap:16px}.audit-log h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.audit-log .hint{font-size:13px;color:var(--ink-2);margin:0}.audit-log .error{padding:12px;background:color-mix(in srgb,var(--crit) 12%,transparent);color:var(--crit);border-radius:4px;font-size:13px}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:12px;background:var(--surface-2);border-radius:4px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:12px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}.filter-group select{padding:8px;border:1px solid var(--line-2);border-radius:3px;background:var(--bg);color:var(--ink);font-size:13px;cursor:pointer}.audit-table{overflow-x:auto;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.audit-table table{width:100%;border-collapse:collapse;font-size:13px}.audit-table th{padding:10px 12px;background:var(--surface-2);color:var(--ink);font-weight:600;text-align:left;border-bottom:1px solid var(--line-2)}.audit-table td{padding:10px 12px;border-bottom:1px solid var(--line-2);color:var(--ink)}.audit-table .timestamp{font-family:monospace;font-size:12px;color:var(--ink-2);white-space:nowrap}.audit-table .user{font-weight:500}.audit-table .resource{white-space:nowrap}.audit-table .resource>*+*{margin-left:6px}.audit-table .type{background:var(--surface-2);padding:2px 6px;border-radius:2px;font-size:11px;font-weight:600;text-transform:uppercase}.audit-table .id{font-size:11px;color:var(--ink-2);font-family:monospace}.audit-table .action{text-align:center}.audit-table .badge{display:inline-block;padding:3px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase}.audit-table .action-create{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good)}.audit-table .action-update{background:#3498db33;color:#1652a0}.audit-table .action-delete{background:color-mix(in srgb,var(--crit) 20%,transparent);color:var(--crit)}.audit-table .action-login{background:#9b59b633;color:#7d3c6e}.audit-table .action-export{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.audit-table .details{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-table code{background:var(--surface-2);padding:2px 4px;border-radius:2px;font-family:monospace;font-size:11px;color:var(--ink-2)}.audit-log .loading{padding:24px;text-align:center;color:var(--ink-2);font-size:13px}.audit-log .empty{padding:24px;text-align:center;color:var(--ink-2);background:var(--surface-2);border-radius:4px;font-size:13px}.client-errors{margin-top:28px}.client-errors h3{margin:0 0 4px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.client-errors .hint{margin-bottom:10px}.audit-table .message{max-width:420px;color:var(--crit);font-weight:600}.audit-table .count{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.config-calendar{display:flex;flex-direction:column;gap:16px}.config-calendar h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.config-calendar .hint{font-size:13px;color:var(--ink-2)}.cal-controls{display:flex;align-items:center;gap:12px}.cal-controls .grow{flex:1}.cal-generate{display:flex;gap:6px;align-items:center}.cal-generate input{width:90px;padding:7px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--bg);color:var(--ink)}.cal-table{overflow-x:auto;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.cal-table table{width:100%;border-collapse:collapse;font-size:13px}.cal-table th{padding:10px 12px;background:var(--surface-2);color:var(--ink);font-weight:600;text-align:left;border-bottom:1px solid var(--line-2)}.cal-table td{padding:10px 12px;border-bottom:1px solid var(--line-2);color:var(--ink)}.cal-date{font-family:monospace;white-space:nowrap}.kind-badge{display:inline-block;padding:3px 8px;border-radius:3px;font-size:11px;font-weight:600}.kind-feiertag{background:#3498db33;color:#1652a0}.kind-brueckentag{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.kind-betriebsferien{background:#9b59b633;color:#7d3c6e}.cal-models .all-models{font-style:italic;color:var(--ink-2)}.cal-actions{text-align:right;white-space:nowrap}.cal-actions .btn+.btn{margin-left:6px}.field-hint{margin:0 0 6px;font-size:11px;color:var(--ink-2)}.model-checks{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding:4px 0}.model-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.model-check input{width:16px;height:16px;cursor:pointer}.all-models-note{margin:8px 0 0;font-size:12px;color:var(--good);font-weight:500}.config-calendar .muted{color:var(--ink-2);font-size:12px}.config-calendar .empty{padding:24px;text-align:center;color:var(--ink-2);background:var(--surface-2);border-radius:4px;font-size:13px}.cal-templates{margin-top:24px;padding-top:20px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}.cal-templates-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cal-templates-head h3{margin:0;font-size:14px;font-weight:700;color:var(--ink)}.tpl-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.tpl-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.tpl-info{display:flex;flex-direction:column;gap:2px;min-width:0}.tpl-info .muted{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}.tpl-actions{display:flex;gap:6px;flex-shrink:0}.tpl-entry-row{display:grid;grid-template-columns:1fr 64px 64px auto;gap:6px;margin-bottom:6px}.tpl-entry-row input{padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--bg);color:var(--ink);font-size:13px}.config-privacy{display:flex;flex-direction:column;gap:20px}.config-privacy h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.config-privacy h3{margin:0 0 8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.config-privacy .hint{font-size:13px;color:var(--ink-2);font-style:italic;margin:0}.config-privacy .empty{text-align:center;padding:28px 20px;background:var(--surface);border:1px dashed var(--line-2);border-radius:4px;color:var(--ink-2);font-size:13px}.req-list{display:flex;flex-direction:column;gap:8px}.req-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line-2);border-left:3px solid var(--warn);border-radius:4px;background:var(--surface);flex-wrap:wrap}.req-who .name{font-weight:600;font-size:14px;color:var(--ink)}.req-who .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:11px;color:var(--ink-2)}.req-actions{display:flex;gap:6px;align-items:center}.access-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.access-row select{font-size:13px;padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit;min-width:220px}.legal-note{font-size:12px;color:var(--ink-2);padding:10px 12px;background:var(--surface-2);border-radius:4px;margin:0;line-height:1.5}.abrechnung{max-width:900px}.ab-zustand{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-radius:8px;margin-bottom:20px;border:1px solid transparent}.ab-zustand strong{font-size:15px}.ab-zustand span{font-size:13px;opacity:.85}.ab-zustand.aktiv{background:color-mix(in srgb,var(--ok, #2e7d32) 12%,transparent);border-color:color-mix(in srgb,var(--ok, #2e7d32) 40%,transparent)}.ab-zustand.test{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ab-zustand.frist{background:color-mix(in srgb,var(--warn) 16%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.ab-zustand.gesperrt{background:color-mix(in srgb,var(--crit, #c62828) 14%,transparent);border-color:color-mix(in srgb,var(--crit, #c62828) 45%,transparent)}.ab-kennzahlen{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.ab-kz{flex:1 1 140px;display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px}.ab-kz .wert{font-size:22px;font-weight:700;color:var(--ink)}.ab-kz .lbl{font-size:12px;opacity:.7}.ab-hinweis{font-size:13px;padding:10px 14px;border-radius:6px;background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.abrechnung h3{font-size:15px;font-weight:700;margin:24px 0 12px}.ab-stufen{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ab-stufe{display:flex;flex-direction:column;padding:18px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px}.ab-stufe.aktuell{border-color:var(--accent)}.ab-stufe-kopf{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ab-stufe-kopf strong{font-size:16px}.ab-marke{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff}.ab-stufe ul{margin:0 0 12px;padding-left:18px}.ab-stufe li{font-size:13px;line-height:1.7}.ab-warum{font-size:12px;opacity:.75;margin:0 0 10px}.ab-stufe .ab-kauf{margin-top:auto;padding:9px 14px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer}.ab-stufe .ab-kauf:disabled{opacity:.45;cursor:default}.ab-verwalten{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--line-2)}.ab-verwalten .ab-portal{padding:9px 16px;border-radius:6px;border:1px solid var(--line-2);background:transparent;color:var(--ink);font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer}.ab-verwalten .ab-portal:disabled{opacity:.45;cursor:default}.ab-verwalten small{font-size:12px;opacity:.7}.ab-arten{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px}.ab-art{flex:1 1 260px;display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);cursor:pointer}.ab-art.gewaehlt{border-color:var(--accent)}.ab-art:has(input:disabled){opacity:.5;cursor:default}.ab-art input{margin-top:3px;flex:none}.ab-art span{display:flex;flex-direction:column;gap:3px}.ab-art strong{font-size:14px}.ab-art small{font-size:12px;opacity:.75;line-height:1.5}.ab-kz .ab-zusatz{font-size:11px;opacity:.75;margin-top:2px}.fernwartung{max-width:860px}.fw-erklaerung{font-size:13px;line-height:1.6;opacity:.85;margin:0 0 20px;max-width:62ch}.fw-leer{font-size:13px;opacity:.7}.fw-karte{padding:16px 18px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);margin-bottom:14px}.fw-karte.offen{border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.fw-karte.laufend{border-color:#b3261e;background:color-mix(in srgb,#b3261e 8%,var(--surface))}.fw-kopf{display:flex;align-items:center;gap:10px;margin-bottom:6px}.fw-kopf strong{font-size:15px}.fw-marke{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--line-2);color:var(--ink)}.fw-grund{margin:0 0 6px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.fw-karte small{font-size:12px;opacity:.7}.fw-optionen{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 12px;font-size:13px}.fw-optionen select{padding:5px 8px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:13px}.fw-haken{display:flex;align-items:center;gap:6px;cursor:pointer}.fw-aktionen{display:flex;gap:10px;flex-wrap:wrap}.fw-knopf{padding:8px 16px;border-radius:6px;border:1px solid var(--line-2);background:transparent;color:var(--ink);font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer}.fw-knopf.zusage{background:var(--accent);border-color:var(--accent);color:#fff}.fw-knopf.gefahr{background:#b3261e;border-color:#b3261e;color:#fff;margin-top:12px}.fw-knopf:disabled{opacity:.5;cursor:default}.fernwartung h3{font-size:15px;font-weight:700;margin:28px 0 10px}.fw-tabelle{width:100%;border-collapse:collapse;font-size:13px}.fw-tabelle th,.fw-tabelle td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}.fw-tabelle th{font-weight:700;opacity:.75}.tdel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.tdel{background:var(--surface);border:1px solid var(--crit);border-radius:6px;padding:24px;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000040}.tdel h3{margin:0 0 12px;font-size:16px;font-weight:700;color:var(--crit)}.tdel-warn{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--ink);padding:10px 12px;border-radius:4px;background:color-mix(in srgb,var(--crit) 10%,transparent);border:1px solid color-mix(in srgb,var(--crit) 35%,transparent)}.tdel-sub{margin:0 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.tdel-list{list-style:none;margin:0 0 14px;padding:0;max-height:190px;overflow-y:auto;border:1px solid var(--line-2);border-radius:4px}.tdel-list li{display:flex;justify-content:space-between;gap:12px;padding:5px 10px;font-size:12px;border-bottom:1px solid var(--line-2)}.tdel-list li:last-child{border-bottom:none}.tdel-list li span{color:var(--ink-2);font-family:ui-monospace,monospace}.tdel-list li strong{color:var(--ink);font-variant-numeric:tabular-nums}.tdel-keep{margin:0 0 16px;font-size:12px;line-height:1.55;color:var(--ink-2);font-style:italic}.tdel-label{display:block;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px}.tdel input{width:100%;font-size:13px;padding:9px 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit;box-sizing:border-box}.tdel input:focus{outline:none;border-color:var(--crit);box-shadow:0 0 0 3px color-mix(in srgb,var(--crit) 22%,transparent)}.tdel-error{margin-top:10px;font-size:12px;color:var(--crit);font-weight:600}.tdel-actions{display:flex;gap:8px;margin-top:18px}.tdel-actions .btn{flex:1;padding:10px;border-radius:3px;font-weight:600;font-size:13px;cursor:pointer;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink)}.tdel-actions .btn.danger{background:var(--crit);border-color:var(--crit);color:#fff}.tdel-actions .btn.danger:disabled{opacity:.45;cursor:not-allowed}.settings-page{display:flex;justify-content:center;padding:20px}.settings-container{max-width:600px;width:100%}.settings-page h1{margin:0 0 20px;font-size:24px;font-weight:700}.settings-section{padding:20px;margin-bottom:16px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.settings-section h2{margin:0 0 12px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.form-group{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.form-group label{font-size:12px;font-weight:600;color:var(--ink)}.form-group input,.form-group select{padding:8px 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-size:13px;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--ink)}.form-group small{font-size:11px;color:var(--ink-2);font-style:italic}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-row .form-group{margin-bottom:0}.danger-zone{padding:12px;margin-bottom:12px;border:1px dashed var(--crit);border-radius:3px;background:color-mix(in srgb,var(--crit) 5%,transparent)}.danger-zone h3{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--crit)}.danger-zone p{margin:0 0 8px;font-size:12px;color:var(--ink-2)}.form-actions{display:flex;gap:8px;margin-top:20px;justify-content:flex-start}.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 80%,white)}.btn.primary:disabled{opacity:.6;cursor:not-allowed}.btn.danger{border-color:var(--crit);color:var(--crit)}.btn.danger:hover{background:color-mix(in srgb,var(--crit) 10%,transparent)}.settings-section.danger-section{border:1px solid color-mix(in srgb,var(--crit) 35%,transparent);background:color-mix(in srgb,var(--crit) 5%,transparent)}.settings-section.danger-section h2{color:var(--crit)}.btn.danger-outline{border:1px solid var(--crit);color:var(--crit);background:transparent;padding:8px 14px;border-radius:3px;font-weight:600;font-size:13px;cursor:pointer}.btn.danger-outline:hover{background:color-mix(in srgb,var(--crit) 12%,transparent)}.config-terminals h2{margin:0 0 4px;font-size:17px}.config-terminals>.hint{margin:0 0 14px;color:var(--ink-2);font-size:14px;line-height:1.6}.config-terminals h3{margin:18px 0 8px;font-size:14px}.term-howto{padding:12px 14px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:6px}.term-howto h3{margin-top:0}.term-howto p{margin:0 0 8px;font-size:13px;line-height:1.6}.term-howto code{display:block;word-break:break-all;font-size:12px;padding:6px 8px;margin-bottom:4px;background:var(--surface);border-radius:4px}.term-howto .term-dim{opacity:.8}.term-note{margin:8px 0 0!important;color:var(--ink-2);font-size:12px}.term-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.term-form .field{display:flex;flex-direction:column;gap:4px}.term-form label{font-size:11px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}.term-form input,.term-form select{font-size:13px;padding:7px 9px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink);font-family:inherit}.term-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.term-row:last-child{border-bottom:none}.config-terminals .empty{padding:14px;text-align:center;color:var(--ink-2);font-size:13px;border:1px dashed var(--line-2);border-radius:6px}.integrations-page{max-width:900px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:22px}.integrations-page .page-header{margin:0}.integrations-page .page-header h1{margin:0 0 4px;font-size:22px;font-weight:700}.integrations-page .page-header p{margin:0;color:var(--ink-2)}.int-block{border:1px solid var(--line-2);border-radius:8px;background:var(--surface);padding:18px 20px}.int-block h2{margin:0 0 6px;font-size:17px}.int-block h3{margin:20px 0 8px;font-size:14px}.int-block h3:first-child{margin-top:0}.int-lead{margin:0 0 14px;color:var(--ink-2);line-height:1.6;font-size:14px}.int-note{margin:8px 0 0;color:var(--ink-2);font-size:12px;line-height:1.6}.int-empty{padding:14px;text-align:center;color:var(--ink-2);font-size:13px;border:1px dashed var(--line-2);border-radius:6px}.int-list{margin:0;padding-left:20px;line-height:1.8;font-size:14px}.core-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:12px}.core-status{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.core-status span{color:var(--ink-2);font-size:11px}.core-status strong{font-size:13px;overflow-wrap:anywhere}.int-endpoint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:12px}.int-endpoint>span{font-size:12px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.int-endpoint code{font-size:13px;word-break:break-all;flex:1 1 260px}.int-ref{font-size:13px;margin-bottom:18px}.int-ref>summary{cursor:pointer;font-weight:600;padding:4px 0}.int-ref-table{width:100%;border-collapse:collapse;margin-top:8px}.int-ref-table td{border-bottom:1px solid var(--line);padding:5px 8px;vertical-align:top}.int-ref-table td:first-child{white-space:nowrap;width:1%}.int-ref-table code{font-size:12px}.int-code{margin:10px 0 0;padding:10px 12px;border-radius:6px;overflow-x:auto;background:var(--sunk);border:1px solid var(--line);font-size:12px;line-height:1.6}.int-form{margin-top:6px}.int-form-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}.int-form-row .field{flex:1 1 220px;display:flex;flex-direction:column;gap:4px}.int-form .field>label{font-size:12px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.int-form .field input,.int-form .field select{font-size:13px;padding:7px 9px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink);font-family:inherit}.int-form .field small{color:var(--ink-3);font-size:11px}.int-rights-hint{display:block;color:var(--ink-2);margin-bottom:8px;line-height:1.5;font-size:12px}.scope-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:7px;margin-bottom:12px}.integrations-page .scope-item{display:flex;align-items:baseline;gap:7px;cursor:pointer;font-weight:400;font-size:13px;color:var(--ink);text-transform:none;letter-spacing:normal}.scope-item>span{display:flex;flex-direction:column;gap:1px}.scope-item code{font-size:11px;padding:1px 5px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line);width:fit-content}.scope-item small{color:var(--ink-2);font-size:12px}.scope-tags{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.scope-tags code{font-size:10px;padding:1px 5px;border-radius:3px;background:var(--accent-soft);color:var(--accent)}.int-secret{margin:14px 0;padding:12px 14px;border-radius:6px;background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 50%,transparent)}.int-secret strong{display:block;margin-bottom:8px;font-size:13px;line-height:1.5}.int-secret code{display:block;word-break:break-all;font-size:13px;padding:8px;background:var(--surface);border-radius:4px}.int-secret-actions{display:flex;gap:8px;margin-top:8px}.int-test{margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.int-test-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.int-test-row input{flex:1 1 260px;font-size:13px;padding:7px 9px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink);font-family:inherit}.int-test-ok,.int-test-fail{margin-top:10px;padding:9px 12px;border-radius:6px;font-size:13px;line-height:1.5}.int-test-ok{background:color-mix(in srgb,var(--good, #2a9d59) 12%,transparent);color:var(--good, #2a9d59)}.int-test-fail{background:color-mix(in srgb,var(--crit) 12%,transparent);color:var(--crit)}.int-keys{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.int-key{border:1px solid var(--line-2);border-radius:6px;padding:10px 12px}.int-key.terminal{background:var(--surface-2)}.int-key-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.int-key-art{font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.int-key-ort,.int-key-used{font-size:11px;color:var(--ink-2)}.int-key-used{margin-left:auto}.int-key-actions{display:flex;gap:8px;margin-top:8px}.int-key-edit{margin-top:10px}.integrations-page .btn{font-size:12px;padding:6px 11px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;font-family:inherit}.integrations-page .btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.integrations-page .btn:disabled{opacity:.5;cursor:not-allowed}.integrations-page .btn.sm{font-size:11px;padding:4px 9px}.integrations-page .btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.integrations-page .btn.primary:hover:not(:disabled){background:var(--accent-2);color:var(--accent-ink)}.integrations-page .btn.ghost{background:none;border-color:transparent;font-weight:500}.integrations-page .btn.danger{border-color:var(--crit);color:var(--crit)}.integrations-page .btn.danger:hover{background:color-mix(in srgb,var(--crit) 10%,transparent)}.int-pending{background:var(--surface-2)}.int-pending h2{color:var(--ink-2)}@media (max-width: 620px){.int-key-used{margin-left:0;width:100%}.int-form-row{flex-direction:column}}.verb-block h2{margin:0 0 6px;font-size:17px}.verb-block h3{margin:0 0 12px;font-size:14px}.verb-liste{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}.verb-eintrag{border:1px solid var(--line-2);border-radius:6px;padding:11px 13px}.verb-eintrag.aktiv{border-left:3px solid var(--accent)}.verb-kopf{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.verb-art{font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.verb-status{font-size:11px;font-weight:700}.verb-status.an{color:var(--accent)}.verb-status.aus{color:var(--ink-3)}.verb-zeit{font-size:11px;color:var(--ink-2);margin-left:auto}.verb-url{display:block;font-size:11px;color:var(--ink-2);margin:5px 0;word-break:break-all}.verb-warn{font-size:12px;color:var(--warn);padding:5px 8px;border-radius:4px;background:color-mix(in srgb,var(--warn) 10%,transparent);margin:5px 0}.verb-aktionen{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.verb-laeufe{width:100%;border-collapse:collapse;font-size:12px;margin-top:9px}.verb-laeufe td{border-bottom:1px solid var(--line);padding:4px 7px;vertical-align:top}.verb-laeufe tr.lauf-fehler td{color:var(--crit)}.verb-laeufe tr.lauf-teilweise td{color:var(--warn)}.lauf-meldung{color:var(--ink-2);word-break:break-word}.verb-form{border-top:1px solid var(--line);padding-top:14px;margin-top:6px}.verb-geheim{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:7px}.verb-geheim input{font-size:13px;padding:7px 9px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink);font-family:inherit}.verb-map{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}.verb-map td{padding:3px 6px;vertical-align:middle}.verb-map td:first-child{white-space:nowrap;width:1%}.verb-map code{font-size:11px;padding:1px 5px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line)}.verb-map .pflicht{color:var(--crit);font-weight:700}.verb-map input{width:100%;font-size:13px;padding:5px 8px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink);font-family:inherit}.verb-map-hilfe{color:var(--ink-2);font-size:11px}.verb-art-zeile{display:flex;gap:7px;align-items:center;margin-bottom:6px}.verb-art-zeile input,.verb-art-zeile select{font-size:13px;padding:5px 8px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink);font-family:inherit}.verb-art-zeile input{width:110px}.verb-schalter{display:flex;align-items:baseline;gap:7px;margin:7px 0;font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal}.verb-form-aktionen{display:flex;gap:9px;margin-top:14px}@media (max-width: 620px){.verb-zeit{margin-left:0;width:100%}.verb-map,.verb-map tbody,.verb-map tr,.verb-map td{display:block;width:auto}.verb-map tr{margin-bottom:9px}}.config-page{display:flex;flex-direction:column;gap:0}.config-header{padding:0 0 14px;border-bottom:1px solid var(--line-2);margin-bottom:14px}.config-header h1{margin:0;font-size:20px;font-weight:800;color:var(--ink)}.config-header small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.config-tabs{display:flex;gap:0;border-bottom:1px solid var(--line-2);margin-bottom:18px;overflow-x:auto}.config-tabs .tab{display:flex;align-items:center;gap:8px;font:inherit;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:12px 16px;border:none;border-bottom:2px solid transparent;background:none;color:var(--ink-2);cursor:pointer;transition:all .2s;white-space:nowrap}.config-tabs .tab:hover{color:var(--ink);border-bottom-color:var(--line-2)}.config-tabs .tab.on{color:var(--accent);border-bottom-color:var(--accent)}.config-tabs .tab .ix{font-size:10px;color:var(--ink-3);font-weight:800}.config-panel{flex:1;min-height:400px}.report-page{display:flex;flex-direction:column;gap:18px}.toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:14px;background:var(--surface);border:1px solid var(--line-2);border-radius:4px}.ctrl-group select{font-size:13px;padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-family:inherit;cursor:pointer}.grow{flex:1 1 auto}.export-actions{display:flex;gap:6px}.btn{font-size:11px;padding:4px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;transition:all .2s}.btn.sm{padding:4px 8px;font-size:11px}.btn:hover{background:color-mix(in srgb,var(--ink) 10%,transparent)}.filter-pills{display:flex;gap:8px;flex-wrap:wrap}.pill{font-size:12px;font-weight:600;padding:6px 12px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface-2);color:var(--ink-2);cursor:pointer;transition:all .2s}.pill:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.pill.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.loading{text-align:center;padding:40px;color:var(--ink-2)}.table-wrap{overflow-x:auto;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.report-table{width:100%;border-collapse:collapse;min-width:900px;font-variant-numeric:tabular-nums}.report-table thead th{background:var(--sunk);border:1px solid var(--line);padding:8px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-2);position:sticky;top:0;z-index:5}.report-table thead th.num-col{text-align:right;padding-right:12px}.sort-btn{background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0;text-align:left}.sort-btn:hover{color:var(--accent)}.report-table tbody td{border:1px solid var(--line);padding:10px 8px}.report-table tbody td.name-col{font-weight:600;color:var(--ink)}.report-table tbody td.pers-col{font-size:12px;color:var(--ink-2)}.report-table tbody td.num-col{text-align:right;padding-right:12px;font-family:ui-monospace,monospace;font-size:13px}.report-table tbody td.mono{font-family:ui-monospace,monospace}.report-table tbody td.crit{color:var(--crit);font-weight:700}.report-table tbody tr.has-violation{background:color-mix(in srgb,var(--crit) 6%,transparent)}.empty{text-align:center;padding:40px;color:var(--ink-3);font-size:13px}.summary{border:1px solid var(--line-2);border-radius:4px;background:var(--surface);padding:18px}.summary h3{margin:0 0 14px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.summary-stat{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--surface-2);border-radius:3px;border:1px solid var(--line-2)}.summary-stat .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.summary-stat .value{font-size:18px;font-weight:800;font-family:ui-monospace,monospace;color:var(--ink)}.summary-stat .value.crit{color:var(--crit)}.insights{display:flex;flex-direction:column;gap:16px}.insights-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.insights-head h2{margin:0;font-size:18px;font-weight:700;color:var(--ink)}.insights-sub{font-size:13px;color:var(--ink-2);margin-top:2px}.insights-controls{display:flex;gap:8px}.insights-controls select{font-size:13px;padding:7px 10px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2);color:var(--ink);font-family:inherit}.insights-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-2)}.insights-tabs button{border:none;background:none;padding:10px 16px;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.insights-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.insights-loading{padding:40px;text-align:center;color:var(--ink-2)}.insights-empty{padding:48px;text-align:center;color:var(--ink-2);font-size:15px;background:var(--surface-2);border:1px dashed var(--line-2);border-radius:8px}.insights-panel{display:flex;flex-direction:column;gap:14px}.insights-claim{font-size:13px;color:var(--ink-2);font-style:italic;margin:0}.insights-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.insights-pdf{border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:13px;font-weight:700;padding:8px 14px;border-radius:4px;cursor:pointer;white-space:nowrap}.insights-pdf:hover{background:var(--accent-2, var(--accent))}.seal{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:8px;border:1px solid var(--line-2)}.seal.ok{background:color-mix(in srgb,var(--good) 10%,transparent);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.seal.warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.seal-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:800;color:#fff;flex-shrink:0}.seal.ok .seal-icon{background:var(--good)}.seal.warn .seal-icon{background:var(--warn)}.seal-title{font-size:17px;font-weight:800;color:var(--ink)}.seal-desc{font-size:13px;color:var(--ink-2);margin-top:2px}.insights-list{display:flex;flex-direction:column;gap:4px}.crow,.frow{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:4px;background:var(--surface-2)}.crow-badge{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.crow.ok .crow-badge{background:var(--good)}.crow.bad .crow-badge{background:var(--crit)}.crow-name,.frow-name{font-weight:600;color:var(--ink);min-width:140px}.crow-detail{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}.vchip{padding:2px 7px;border-radius:10px;font-size:11px;font-weight:600}.vchip.crit{background:color-mix(in srgb,var(--crit) 15%,transparent);color:var(--crit)}.vchip.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.insights-kpis{display:flex;gap:14px;flex-wrap:wrap}.kpi{flex:1;min-width:150px;padding:18px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line-2)}.kpi-val{font-size:34px;font-weight:800;color:var(--ink);line-height:1}.kpi-unit{font-size:16px;font-weight:600;color:var(--ink-2);margin-left:2px}.kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin-top:8px}.kpi-sub{font-size:12px;color:var(--ink-3);margin-top:2px}.frow-bars{display:flex;gap:6px;flex:1;align-items:center}.frow-bars .bar{font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px;white-space:nowrap;min-width:fit-content}.frow-bars .bar.night{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.frow-bars .bar.weekend{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.frow-delta{font-weight:700;font-size:13px;color:var(--ink-2);min-width:40px;text-align:right}.frow-delta.high{color:var(--crit)}.frow-delta.low{color:var(--good)}.insights-table{width:100%;border-collapse:collapse;font-size:13px}.insights-table th{text-align:left;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);border-bottom:1px solid var(--line-2)}.insights-table td{padding:8px 12px;border-bottom:1px solid var(--line-2);color:var(--ink)}.insights-table td.strong{font-weight:700}.analytics-page{max-width:1200px;margin:0 auto;padding:20px}.analytics-page h1{margin:0 0 4px;font-size:24px;font-weight:700}.subtitle{margin:0 0 24px;font-size:14px;color:var(--ink-2)}.kpis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.kpi-card{padding:16px;background:var(--surface);border:1px solid var(--line-2);border-radius:6px;text-align:center}.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-bottom:8px}.kpi-value{font-size:28px;font-weight:700;color:var(--ink);margin-bottom:8px}.kpi-trend{font-size:12px;font-weight:700}.kpi-trend.positive{color:var(--good)}.kpi-trend.negative{color:var(--crit)}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:24px}.chart-card{padding:16px;background:var(--surface);border:1px solid var(--line-2);border-radius:6px}.chart-card h3{margin:0 0 12px;font-size:14px;font-weight:700}.chart-placeholder{padding:40px 20px;text-align:center;background:color-mix(in srgb,var(--ink) 3%,transparent);border:1px dashed var(--line-2);border-radius:4px;color:var(--ink-2)}.compliance-score{display:flex;gap:20px;align-items:center}.score-ring{position:relative;width:100px;height:100px;border-radius:50%;background:conic-gradient(var(--good) 95%,var(--ink-3) 95%);display:flex;align-items:center;justify-content:center}.score-ring:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--surface)}.score-percent{position:relative;z-index:1;font-size:24px;font-weight:700;color:var(--good)}.score-details{flex:1;display:flex;flex-direction:column;gap:6px}.score-details .detail{font-size:12px;color:var(--ink-2)}.trends-section{margin-bottom:24px}.trends-section h2{margin:0 0 12px;font-size:16px;font-weight:700}.trend-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.trend-card{padding:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:4px}.trend-card h4{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.trend-value{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--good)}.trend-note{margin:0;font-size:11px;color:var(--ink-2)}.insights-section{margin-bottom:24px}.insights-section h2{margin:0 0 12px;font-size:16px;font-weight:700}.insight-cards{display:flex;flex-direction:column;gap:8px}.insight-card{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:4px;border-left:3px solid}.insight-card.info{background:color-mix(in srgb,#2196F3 5%,transparent);border-left-color:#2196f3}.insight-card.warning{background:color-mix(in srgb,var(--warn) 10%,transparent);border-left-color:var(--warn)}.insight-card.success{background:color-mix(in srgb,var(--good) 10%,transparent);border-left-color:var(--good)}.insight-card .icon{font-size:18px;font-weight:700;flex-shrink:0}.insight-card .content strong{display:block;font-size:13px;font-weight:700;margin-bottom:2px}.insight-card .content p{margin:0;font-size:12px;color:var(--ink-2)}.roi-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--good) 12%,transparent),color-mix(in srgb,var(--accent) 8%,transparent));border:1px solid color-mix(in srgb,var(--good) 25%,transparent);border-radius:12px;padding:24px;margin-bottom:24px}.roi-headline{display:flex;align-items:center;gap:14px;margin-bottom:20px}.roi-icon{font-size:36px;line-height:1}.roi-headline h2{margin:0;font-size:18px;color:var(--ink)}.roi-note{margin:2px 0 0;font-size:12px;color:var(--ink-2)}.roi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px}.roi-card{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:20px;text-align:center}.roi-card.primary{border-color:var(--good);background:color-mix(in srgb,var(--good) 6%,transparent)}.roi-value{font-size:30px;font-weight:700;color:var(--good);font-variant-numeric:tabular-nums}.roi-card:not(.primary) .roi-value{color:var(--ink)}.roi-label{font-size:12px;color:var(--ink-2);margin-top:4px}.roi-assumptions{margin:0;font-size:11px;color:var(--ink-2);font-style:italic;line-height:1.5}@media (max-width: 768px){.kpis-grid,.trend-cards{grid-template-columns:repeat(2,1fr)}.charts-section{grid-template-columns:1fr}.compliance-score{flex-direction:column;align-items:center}.roi-cards{grid-template-columns:1fr}}.analytics-section{margin-top:28px}.worktime-table{width:100%;border-collapse:collapse;font-size:14px}.worktime-table th,.worktime-table td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:right}.worktime-table th:first-child,.worktime-table td:first-child{text-align:left}.worktime-table thead th{color:var(--ink-2);font-size:12px;text-transform:uppercase}.worktime-table .saldo-pos{color:var(--good);font-weight:600}.worktime-table .saldo-neg{color:var(--crit);font-weight:600}.budget-card{padding:12px 14px;border-radius:10px;border:1px solid var(--border)}.budget-bar{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}.budget-fill{height:100%;background:var(--good)}.budget-card.warn .budget-fill{background:var(--warn)}.budget-card.over .budget-fill{background:var(--crit)}.budget-nums{display:flex;justify-content:space-between;margin-top:8px;font-size:14px;flex-wrap:wrap;gap:8px}.budget-status.ok{color:var(--good)}.budget-status.warn{color:var(--warn)}.budget-status.over{color:var(--crit)}.matrix-list{display:flex;flex-direction:column;gap:8px}.matrix-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--border);border-radius:8px}.matrix-name{font-weight:600;min-width:140px}.matrix-skills{display:flex;gap:6px;flex-wrap:wrap}.matrix-chip{font-size:12px;padding:3px 9px;border-radius:999px}.matrix-chip.expiring{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--ink)}.matrix-chip.expired{background:color-mix(in srgb,var(--crit) 20%,transparent);color:var(--crit);font-weight:700}.worktime-stichtag{margin:0 0 10px;font-size:12px;color:var(--ink-2);line-height:1.5}.timeclock-page{max-width:600px;margin:0 auto;padding:20px}.timeclock-header{text-align:center;margin-bottom:30px}.timeclock-header h1{margin:0 0 4px;font-size:28px;font-weight:700}.timeclock-header .date{margin:0;font-size:14px;color:var(--ink-2)}.timeclock-employee{display:flex;align-items:center;gap:12px;margin-bottom:20px}.timeclock-employee label{font-size:13px;font-weight:600;color:var(--ink-2)}.timeclock-employee select{flex:1;max-width:340px;padding:8px 10px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);font-size:14px}.timeclock-card{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;margin-bottom:24px;overflow:hidden}.card-content{padding:24px}.time-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.time-field{display:flex;flex-direction:column;align-items:center;padding:16px;background:color-mix(in srgb,var(--ink) 3%,transparent);border-radius:4px}.time-field .label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-bottom:8px}.time-field .time{font-size:28px;font-weight:700;font-family:monospace;color:var(--ink)}.time-field.duration .time{font-size:20px;color:var(--good)}.empty-state{text-align:center;padding:40px 20px}.empty-state .icon{font-size:64px;margin-bottom:16px}.empty-state h2{margin:0 0 16px;font-size:18px;color:var(--ink-2)}.actions{display:flex;gap:8px;justify-content:center}.btn{padding:10px 20px;border:1px solid var(--line-2);border-radius:4px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.btn.checkin,.btn.checkout{padding:12px 24px;font-size:15px;border-color:var(--good);color:var(--good)}.btn.checkin:hover,.btn.checkout:hover{background:color-mix(in srgb,var(--good) 10%,transparent)}.btn.checkin-large{padding:16px 32px;font-size:18px;background:var(--good);color:#fff;border-color:var(--good)}.btn.checkin-large:hover{background:color-mix(in srgb,var(--good) 90%,black)}.history-section{margin-top:30px}.history-section h2{margin:0 0 12px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.entries-list{display:flex;flex-direction:column;gap:8px}.entry{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:4px}.entry-times{display:flex;align-items:center;gap:8px;font-family:monospace;font-weight:600;font-size:14px}.entry-duration{font-size:13px;font-weight:700;color:var(--good)}.empty{padding:20px;text-align:center;background:var(--surface);border:1px dashed var(--line-2);border-radius:4px;color:var(--ink-2);font-size:13px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-header h2{margin:0;flex:1}.btn.export{padding:8px 14px;font-size:13px;background:var(--accent, var(--ink-2));color:#fff;border:none;white-space:nowrap}.btn.export:hover{opacity:.85}@media (max-width: 600px){.timeclock-page{padding:12px}.timeclock-header h1{font-size:24px}.time-display{grid-template-columns:1fr}.time-field .time{font-size:32px}.btn.checkin-large{width:100%}.section-header{flex-direction:column;align-items:stretch}.btn.export{width:100%}}.payroll-page{max-width:1200px;margin:0 auto;padding:20px}.payroll-page h1{margin:0 0 20px;font-size:24px;font-weight:700}.controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px;padding:16px;background:var(--surface);border:1px solid var(--line-2);border-radius:4px}.ctrl-group{display:flex;flex-direction:column;gap:4px}.ctrl-group label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.ctrl-group input,.ctrl-group select{padding:6px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);font-size:13px}.btn{padding:8px 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:600;font-size:13px;transition:all .2s}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:color-mix(in srgb,var(--ink) 90%,black)}.btn.secondary{border-color:var(--line-2);color:var(--ink-2)}.btn.secondary:hover{background:color-mix(in srgb,var(--ink-2) 10%,transparent)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.summary-stat{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--surface);border:1px solid var(--line-2);border-radius:4px}.summary-stat .label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.summary-stat .value{font-size:20px;font-weight:700;color:var(--ink)}.payroll-list{border:1px solid var(--line-2);border-radius:4px;overflow:hidden}.payroll-table{width:100%;border-collapse:collapse;font-size:13px}.payroll-table th{background:color-mix(in srgb,var(--ink) 5%,transparent);padding:10px;text-align:left;font-weight:700;border-bottom:1px solid var(--line-2)}.payroll-table td{padding:10px;border-bottom:1px solid var(--line-2)}.payroll-table .mono{font-family:monospace;text-align:right}.payroll-table .gross{font-weight:700}.payroll-table .name{font-weight:600}.payroll-table .actions{display:table-cell;text-align:right;white-space:nowrap}.payroll-table .actions .btn-sm+.btn-sm{margin-left:6px}.btn-sm{padding:4px 8px;font-size:11px;border:1px solid var(--line-2);border-radius:2px;background:var(--surface-2);color:var(--ink);cursor:pointer}.btn-sm:hover{background:color-mix(in srgb,var(--ink) 10%,transparent)}.badge{font-size:10px;font-weight:700;padding:3px 6px;border-radius:2px;text-transform:uppercase;letter-spacing:.02em}.badge.status-draft{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.badge.status-finalized{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good)}.badge.status-paid{background:color-mix(in srgb,var(--good) 30%,transparent);color:var(--good)}.status-draft{opacity:.8}.empty{padding:40px;text-align:center;color:var(--ink-2);background:var(--surface)}.payroll-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-2);margin-bottom:20px}.ptab{font:inherit;font-size:13px;font-weight:600;padding:8px 16px;border:none;background:none;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.ptab:hover{color:var(--ink)}.ptab.on{color:var(--accent);border-bottom-color:var(--accent)}.rate-section{margin-bottom:28px}.rate-section h3{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--ink)}.rate-section .hint,.vacation-tab .hint{font-size:12px;color:var(--ink-2);font-style:italic;margin:0 0 12px}.rate-input{width:110px;font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink)}.rate-input:focus{outline:none;border-color:var(--accent)}.payroll-table .add-row td{background:var(--surface-2)}.payroll-table .add-row select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface);color:var(--ink)}@media (max-width: 768px){.payroll-table{font-size:11px}.payroll-table th,.payroll-table td{padding:6px 4px}.controls{flex-direction:column;align-items:stretch}.ctrl-group,.btn{width:100%}}.emp-view{max-width:640px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.emp-view .emp-header{display:flex;align-items:center;justify-content:space-between;padding:8px 4px}.emp-hello{font-size:20px;font-weight:700;color:var(--ink)}.emp-sub{font-size:13px;color:var(--ink-2)}.emp-logout{background:none;border:1px solid var(--line-2);border-radius:6px;width:36px;height:36px;cursor:pointer;color:var(--ink-2);font-size:16px}.emp-card{background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:16px}.emp-card h3{margin:0 0 12px;font-size:15px;color:var(--ink)}.emp-week-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:14px;font-weight:600;color:var(--ink)}.emp-week-nav button{background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:18px;color:var(--ink)}.emp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.emp-day{position:relative;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:8px 2px;cursor:pointer;text-align:center;transition:border-color .15s}.emp-day:hover{border-color:var(--accent)}.emp-day-name{font-size:11px;font-weight:700;color:var(--ink-2)}.emp-day-date{font-size:10px;color:var(--ink-2)}.emp-day-shift{margin-top:6px;font-size:15px;font-weight:700;color:var(--ink)}.emp-day-shift.absence{color:var(--crit)}.emp-day-shift.none{color:var(--ink-2);font-weight:400}.emp-day-wish{position:absolute;top:2px;right:3px;font-size:10px}.emp-hint,.emp-empty{font-size:12px;color:var(--ink-2);text-align:center;margin:10px 0 0}.emp-abs-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.emp-abs-form select,.emp-abs-form input{padding:8px;border:1px solid var(--line-2);border-radius:6px;background:var(--bg);color:var(--ink);flex:1;min-width:110px}.emp-abs-list{display:flex;flex-direction:column;gap:6px}.emp-abs-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-2);border-radius:6px;font-size:13px}.emp-abs-type{font-weight:600}.emp-abs-dates{color:var(--ink-2);flex:1}.emp-abs-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase}.emp-abs-status.ok{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good)}.emp-abs-status.no{background:color-mix(in srgb,var(--crit) 20%,transparent);color:var(--crit)}.emp-abs-status.pending{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.emp-clock{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.emp-clock-status{font-size:14px;font-weight:600;color:var(--ink)}.emp-clock-status .clock-out{color:var(--ink-2)}.emp-clock-btn{border:none;border-radius:10px;padding:14px 28px;font-size:16px;font-weight:700;color:#fff;cursor:pointer;transition:transform .1s,opacity .2s}.emp-clock-btn:disabled{opacity:.6;cursor:default}.emp-clock-btn.in{background:var(--good)}.emp-clock-btn.out{background:var(--crit)}.emp-clock-btn.qr{background:var(--accent)}.emp-clock-btn:active:not(:disabled){transform:scale(.97)}.emp-notifs-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.emp-notifs-head h3{margin:0}.emp-notifs-clear{border:none;background:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;padding:4px 2px}.emp-notifs-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.emp-notif{border-left:3px solid var(--line-2);padding:6px 10px;border-radius:4px;background:var(--surface-2)}.emp-notif.unread{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.emp-notif-title{font-size:14px;font-weight:600;color:var(--ink)}.emp-notif-body{font-size:12px;color:var(--ink-2);margin-top:2px}.emp-cal-row{display:flex;gap:8px;align-items:center;margin-top:8px}.emp-cal-url{flex:1;min-width:0;font-size:12px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--ink-2)}.emp-cal-row .btn{white-space:nowrap}.emp-open-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.emp-open-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.emp-open-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.emp-open-date{font-weight:600}.emp-open-code{padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:700}.emp-open-note{color:var(--ink-2);font-size:13px}.emp-cal-revoke{margin-top:10px;background:none;border:none;padding:0;color:var(--crit);font-size:13px;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.emp-cal-revoke:disabled{opacity:.5;cursor:not-allowed}.qr-anzeige{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0d0d10;color:#f4f4f5;font-family:system-ui,-apple-system,sans-serif;user-select:none;-webkit-user-select:none}.qra-inhalt{text-align:center;padding:24px}.qra-inhalt h1{margin:0 0 6px;font-size:clamp(20px,4vmin,40px);font-weight:700}.qra-hinweis{margin:0 0 28px;opacity:.6;font-size:clamp(13px,2vmin,20px)}.qra-bild{width:min(72vmin,620px);height:auto;image-rendering:pixelated;background:#fff;padding:16px;border-radius:12px}.qra-fehler{max-width:32em;margin:0 auto;line-height:1.5;color:#ffb4b4;font-size:clamp(14px,2.2vmin,20px)}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);display:flex;align-items:center;justify-content:center;z-index:2000}.onboarding-wizard{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:500px;overflow:hidden}.wizard-header{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);color:#fff;padding:32px 24px 24px;text-align:center}.wizard-header h1{margin:0 0 20px;font-size:24px;font-weight:700}.progress-bar{height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden;margin-bottom:12px}.progress{height:100%;background:#fff;transition:width .3s ease}.step-counter{margin:0;font-size:12px;opacity:.9}.wizard-body{padding:32px 24px;min-height:300px}.wizard-step{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wizard-step h2{margin:0 0 8px;font-size:20px;font-weight:700;color:#1a1a1a}.wizard-step p{margin:0 0 20px;font-size:14px;color:#666}.wizard-step input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px;font-family:inherit;transition:all .2s}.wizard-step input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.options{display:grid;grid-template-columns:1fr;gap:12px}.option{padding:16px;border:2px solid #e0e0e0;border-radius:6px;background:#f9f9f9;color:#1a1a1a;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-align:left}.option:hover{border-color:var(--accent);background:var(--accent-soft)}.option.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.option-wide{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.option-wide strong{font-size:15px}.option-sub{font-size:12px;font-weight:400;color:#555;line-height:1.4}.option.selected .option-sub{color:var(--accent)}.wizard-footer{display:flex;gap:12px;padding:24px;background:#f9f9f9;border-top:1px solid #e0e0e0}.btn{flex:1;padding:12px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.btn.primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);color:#fff}.btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px color-mix(in srgb,var(--accent) 30%,transparent)}.btn.secondary{background:#f0f0f0;color:#1a1a1a;border:1px solid #e0e0e0}.btn.secondary:hover:not(:disabled){background:#e8e8e8}.btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.onboarding-wizard{max-width:90vw;max-height:90vh}.wizard-header{padding:24px 16px 16px}.wizard-header h1{font-size:20px;margin-bottom:12px}.wizard-body{padding:24px 16px;min-height:auto}.wizard-footer{flex-direction:column-reverse}}.wizard-skip{display:block;width:100%;margin:0;padding:12px;background:#f9f9f9;border:none;border-top:1px solid #e8e8e8;border-radius:0 0 12px 12px;color:#6b6b6b;font-size:13px;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.wizard-skip:hover:not(:disabled){color:#333;background:#f0f0f0}.wizard-skip:disabled{opacity:.4;cursor:not-allowed}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:2000;max-width:300px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:4px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;font-size:13px;font-weight:500}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:color-mix(in srgb,var(--good) 20%,var(--surface));border:1px solid color-mix(in srgb,var(--good) 50%,transparent);color:var(--good)}.toast-error{background:color-mix(in srgb,var(--crit) 20%,var(--surface));border:1px solid color-mix(in srgb,var(--crit) 50%,transparent);color:var(--crit)}.toast-info{background:color-mix(in srgb,var(--accent) 20%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent)}.toast .icon{font-weight:700;flex-shrink:0}.toast .message{flex:1}.plattform{padding:20px 24px}.pf-kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.pf-kopf h1{font-size:20px;font-weight:700;margin:0;flex:1 1 auto}.pf-suche{padding:7px 12px;min-width:220px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:13px}.pf-summen{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.pf-kennzahl{flex:1 1 130px;display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px}.pf-kennzahl .wert{font-size:22px;font-weight:700;color:var(--ink)}.pf-kennzahl .lbl{font-size:12px;opacity:.7}.pf-tabellenrahmen{overflow-x:auto;border:1px solid var(--line-2);border-radius:8px;background:var(--surface)}.pf-tabelle{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}.pf-tabelle th,.pf-tabelle td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}.pf-tabelle th{font-weight:700;font-size:12px;opacity:.75;position:sticky;top:0;background:var(--surface)}.pf-tabelle tr:last-child td{border-bottom:none}.pf-tabelle .zahl{text-align:right;font-variant-numeric:tabular-nums}.pf-tabelle a{color:var(--accent)}.pf-klein{font-size:11px;opacity:.65;margin-top:2px}.pf-leer{font-size:13px;opacity:.7;margin-top:16px}.pf-marke{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--line-2);color:var(--ink);white-space:nowrap}.pf-marke.aktiv{background:color-mix(in srgb,var(--ok, #2e7d32) 25%,transparent)}.pf-marke.testphase{background:color-mix(in srgb,var(--accent) 25%,transparent)}.pf-marke.zahlungsfrist{background:color-mix(in srgb,var(--warn) 35%,transparent)}.pf-marke.gesperrt,.pf-marke.laeuft{background:#b3261e;color:#fff}.pf-marke.wartet{background:color-mix(in srgb,var(--warn) 35%,transparent)}.pf-knopf{padding:7px 14px;border-radius:6px;border:1px solid var(--line-2);background:transparent;color:var(--ink);font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer}.pf-knopf.klein{padding:4px 10px;font-size:12px;margin-top:6px}.pf-knopf.zusage{background:var(--accent);border-color:var(--accent);color:#fff}.pf-knopf:disabled{opacity:.45;cursor:default}.pf-feld{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.pf-feld label{font-size:12px;font-weight:600;text-transform:none;letter-spacing:normal;opacity:.8}.pf-feld input,.pf-feld select,.pf-feld textarea{padding:7px 10px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:13px;font-family:inherit}.pf-feld textarea{resize:vertical}.pf-hinweis{font-size:12px;line-height:1.6;opacity:.85;margin:0 0 16px}.pf-warn{font-size:11px;color:var(--warn)}.pf-aktionen{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.pf-marke.geschenkt{background:color-mix(in srgb,var(--warn) 35%,transparent);margin-left:6px}.pf-eng{color:var(--warn);font-weight:700;opacity:1}.splash{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--ink-2)}.api-health-banner{position:fixed;top:0;left:0;right:0;z-index:10000;background:var(--crit);color:#fff;text-align:center;padding:8px 16px;font-size:14px;font-weight:600;box-shadow:0 2px 8px #0003}.verify-banner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--warn) 45%,transparent);padding:8px 16px;font-size:14px}.verify-resend{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer}.verify-resend:hover{background:color-mix(in srgb,var(--accent) 85%,#000)}:root{color-scheme:light;--paper: #f5f7fa;--surface: #fafbfc;--surface-2: #f0f3f7;--sunk: #e9ecf0;--line: #d8dfe8;--line-2: #c4ccd7;--ink: #1f2937;--ink-2: #5a6574;--ink-3: #8b95a5;--accent: #2a9dd9;--accent-2: #1b8bc7;--accent-ink: #ffffff;--accent-soft: #e3f2fd;--good: #3f7d3a;--warn: #b07d16;--crit: #b23a26}:root[data-theme=dark]{color-scheme:dark;--paper: #14171b;--surface: #1c2026;--surface-2: #232830;--sunk: #161a1f;--line: #333a44;--line-2: #454e5a;--ink: #e7eaef;--ink-2: #a3abb7;--ink-3: #6f7885;--accent: #3bb3ad;--accent-2: #2f958f;--accent-ink: #12171a;--accent-soft: #1d2f2e;--good: #7fb277;--warn: #d1a13e;--crit: #d8654c}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.45}#root{min-height:100vh}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=dark]{--bg: #0f0f0f;--surface: #1a1a1a;--surface-2: #252525;--line: #333333;--line-2: #2a2a2a;--ink: #e8e8e8;--ink-2: #b0b0b0;--ink-3: #808080;--good: #4ade80;--warn: #facc15;--crit: #ef4444}:root[data-theme=light]{--bg: #ffffff;--surface: #f5f5f5;--surface-2: #ebebeb;--line: #e0e0e0;--line-2: #d0d0d0;--ink: #1a1a1a;--ink-2: #666666;--ink-3: #999999;--good: #22c55e;--warn: #eab308;--crit: #dc2626}:root[data-theme=dark] body{color-scheme:dark}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color-scheme:dark}:root[data-theme=dark] a{color:#60a5fa}:root[data-theme=dark] a:visited{color:#a78bfa}:root[data-theme=dark] a:hover{color:#93c5fd}:root[data-theme=dark] code,:root[data-theme=dark] pre{background:var(--surface-2);color:#d1d5db}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.theme-toggle{position:fixed;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s}.theme-toggle:hover{background:var(--line)}.theme-toggle:focus{outline:2px solid var(--good);outline-offset:2px}@media (max-width: 768px){.app-layout{flex-direction:column}.masthead{flex-wrap:wrap;padding:10px;gap:8px}.plate{width:32px;height:32px;font-size:16px}.id{font-size:12px}.id .co{font-size:14px}.id .loc{font-size:10px}.tabs{display:flex!important;flex-wrap:nowrap;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--line-2);margin-bottom:8px}.tab{flex:0 0 auto;font-size:12px;padding:10px 12px;white-space:nowrap}.user-section{width:100%;justify-content:space-between;order:10}.user-name{font-size:12px}.content{padding:12px}.plan-page{gap:12px}.toolbar{flex-wrap:wrap;gap:8px;padding:10px}.ctrl-group{flex:1;min-width:120px}.ctrl-group select,.ctrl-group input{font-size:12px;padding:6px}.roster-grid{font-size:11px}.roster-grid th,.roster-grid td{padding:4px;min-width:40px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.plan-table{font-size:12px;width:max-content;min-width:100%}.plan-table .emp-header,.plan-table .emp-cell{position:sticky;left:0;z-index:2;background:var(--surface);width:120px;box-shadow:1px 0 0 var(--line-2)}.plan-table thead .emp-header{z-index:3}.emp-name{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.plan-table tbody td{min-width:44px}.notif-dropdown{position:fixed;top:56px;right:8px;left:8px;width:auto;max-height:70vh}.report-table{font-size:10px}.report-table th,.report-table td{padding:6px 3px}.export-actions{flex-wrap:wrap}.filter-pills{width:100%;order:11}.pill{font-size:10px;padding:4px 8px;white-space:nowrap}.config-employees,.config-models,.config-locations,.config-absences,.config-rights{gap:12px}.emp-row,.model-card,.loc-card,.absence-row,.user-row{flex-wrap:wrap;gap:8px}.emp-actions,.model-actions,.loc-actions,.absence-actions{width:100%}.field-row{grid-template-columns:1fr;gap:8px}.edit-modal{max-width:90vw;max-height:90vh;margin:10px}.form{max-height:calc(90vh - 150px);overflow-y:auto}.btn{font-size:12px;padding:6px 10px}.btn.sm{font-size:10px;padding:4px 6px}.edit-modal-overlay{padding:10px;align-items:flex-end}.edit-modal{border-radius:8px 8px 0 0;margin:auto 0 0;width:100%}.time-display{grid-template-columns:1fr;gap:12px}.time-field .time{font-size:24px}.btn.checkin-large{width:100%;font-size:16px;padding:12px}button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px}}@media (max-width: 480px){.masthead{flex-direction:column;align-items:flex-start}.grow{display:none}.tabs{width:100%;gap:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{flex:0 0 auto;text-align:center;border-bottom:2px solid transparent;padding:8px 12px;min-width:max-content}.tab.on{border-bottom-color:var(--ink)}.ctrl-group{min-width:100%}.roster-grid{font-size:9px;margin:0 -12px;border-radius:0}.content{padding:8px}.filter-pills{flex-direction:column}.pill{width:100%;text-align:left}.emp-row,.model-card,.absence-row{flex-direction:column}.emp-info,.model-details,.absence-info{width:100%}.emp-actions,.model-actions,.absence-actions{width:100%;flex-direction:row}.form-row{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.table-wrap{overflow-x:auto}.report-table{min-width:600px}.settings-container{max-width:100%}.login-form{max-width:90vw;margin:20px 10px}}@media (min-width: 769px) and (max-width: 1024px){.ctrl-group{min-width:140px}.roster-grid{font-size:12px}.report-table{font-size:11px}}@media print{.masthead,.sidebar,.toolbar,.controls,.export-actions,.btn,.filter-pills{display:none!important}.content{padding:0}.roster-grid,.report-table{page-break-inside:avoid;border:1px solid black}.roster-grid tr,.report-table tr{page-break-inside:avoid}}@media print{.layout-header,.sidebar,.toast-container,.modal-overlay,button,.absence-actions{display:none!important}@page{size:A4 landscape;margin:.5in}body{margin:0;padding:0;background:#fff;color:#000}.plan-page{width:100%;page-break-after:always}.week-selector{display:none}.roster-grid{width:100%;border-collapse:collapse;font-size:10px;margin-bottom:20px}.roster-grid th,.roster-grid td{border:1px solid #000;padding:4px;text-align:center}.roster-grid th{background:#f0f0f0;font-weight:700}.roster-grid .cell-shift{background:#fff;font-weight:600}.roster-grid .cell-off{background:#f9f9f9}.roster-grid .cell-absence{background:#e8e8e8;text-decoration:line-through}.violations-list{margin-top:20px;width:100%}.violations-list h3{font-size:12px;font-weight:700;margin:10px 0 5px;page-break-after:avoid}.violation-item{font-size:9px;margin:3px 0;padding:3px;border-bottom:1px solid #ddd;page-break-inside:avoid}.report-page{width:100%}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;page-break-after:avoid}.report-header h1{font-size:18px;margin:0}.report-header .meta{font-size:10px;color:#666}.report-filters{display:none}.metrics-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;page-break-after:avoid}.metric-card{border:1px solid #999;padding:8px;text-align:center;font-size:10px}.metric-card .value{font-size:16px;font-weight:700;margin:4px 0}.report-table{width:100%;border-collapse:collapse;font-size:9px;margin-top:15px}.report-table thead{background:#f0f0f0;page-break-after:avoid}.report-table th{border:1px solid #999;padding:6px;text-align:left;font-weight:700}.report-table td{border:1px solid #ddd;padding:4px 6px}.report-table tbody tr:nth-child(2n){background:#f9f9f9}.report-table tbody tr{page-break-inside:avoid}.print-footer{display:block;position:fixed;bottom:.3in;left:.5in;right:.5in;font-size:8px;color:#999;text-align:right;border-top:1px solid #ddd;padding-top:5px}.print-footer:after{content:" | Seite " counter(page)}}
