﻿:root{--ink:#172033;--muted:#6f7787;--line:#e7e9ef;--bg:#f5f6f8;--blue:#4169e1;--navy:#171b2c;--amber:#f3a53b;--violet:#7d61d8;--mint:#3ab99c;--red:#dd5b63;--shadow:0 8px 28px rgba(26,33,52,.07)}

*{box-sizing:border-box}
.safe-badge{font-size:10px;font-weight:750;color:#237966;background:#eaf8f3;border-radius:20px;padding:8px 11px}
.vacation-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(430px,1.35fr);gap:14px}
.vacation-form-card,.vacation-list-card{min-height:520px}
.vacation-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#edf1ff;color:var(--blue);font-size:18px}
.admin-heading{margin-bottom:14px}.admin-tabs{display:flex;gap:4px;padding:5px;background:#e9ecf2;border-radius:12px;margin-bottom:18px;overflow:auto}.admin-tabs button{border:0;background:transparent;color:#687086;padding:10px 14px;border-radius:8px;font:inherit;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}.admin-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #17203312}.admin-pane{display:none}.admin-pane.active{display:block}.admin-pane>.section-head{margin-top:4px}.admin-pane[data-admin-pane="shifts"] .settings-grid{grid-template-columns:1fr}.admin-pane[data-admin-pane="shifts"] .integration-panel{display:none}.form-actions{display:flex;gap:8px}.form-actions .primary{flex:1}.rule-tier{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:11px}.rule-tier strong{font-size:11px}.override-list{display:grid;gap:8px;margin-top:18px}.override-row{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px}.override-row .vacation-avatar{flex:none}.override-row>span:nth-child(2){display:grid;flex:1}.override-row strong{font-size:10px}.override-row small{font-size:9px;color:var(--muted)}.override-pill{font-size:8px;font-weight:750;padding:5px 7px;border-radius:12px;background:#f2f4f8;color:#687086}.override-pill.custom{background:#fff1dc;color:#a86817}.system-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.storage-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.storage-stat{padding:12px;background:#f5f7fa;border-radius:9px}.storage-stat strong{display:block;font-size:17px}.storage-stat span{font-size:8px;color:var(--muted)}.data-actions{display:flex;gap:8px;margin-top:22px}.system-integrations{margin-top:14px}.checkbox-field{display:flex!important;align-items:center;gap:7px;min-height:39px;padding:9px 10px;background:#f7f8fb;border-radius:9px;font-size:9px!important}.checkbox-field input{width:auto}.vacation-actions{display:flex;gap:5px}.vacation-actions button{border:0;background:#f5f6f8;color:#7a8292;width:30px;height:30px;border-radius:8px;cursor:pointer}
.branding-panel{margin-bottom:14px}.branding-editor{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:18px;margin-top:18px}.branding-preview{width:96px;height:96px;border:1px solid var(--line);border-radius:18px;background:#f7f8fb;overflow:hidden;display:grid;place-items:center}.branding-preview img{width:100%;height:100%;object-fit:contain;display:block;padding:8px;box-sizing:border-box}.branding-copy strong{font-size:12px}.branding-copy p{font-size:10px;color:var(--muted);margin-top:5px}.branding-actions{margin-top:14px}
@media(max-width:1050px){.system-status-grid{grid-template-columns:1fr}}
@media(max-width:760px){.rule-tier{grid-template-columns:1fr}.storage-details{grid-template-columns:1fr}.data-actions{flex-direction:column}.branding-editor{grid-template-columns:1fr}.branding-preview{width:80px;height:80px}}
.settings-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.settings-form{display:grid;gap:14px;margin-top:20px}.settings-form label,.employee-dialog label{display:grid;gap:7px}.settings-form label>span,.employee-dialog label>span{font-size:10px;color:#596174;font-weight:750}.settings-form input,.employee-dialog input,.employee-dialog textarea,.day-rule-fields select{width:100%;border:1px solid #dfe2e9;border-radius:9px;background:#fff;padding:10px 11px;font:inherit;color:var(--ink);outline:0}.setting-block{padding:14px;border:1px solid var(--line);border-radius:11px;display:grid;gap:12px}.setting-block>strong{font-size:12px}.integration-list{display:grid;gap:8px;margin-top:20px}.integration-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:12px;border:1px solid var(--line);border-radius:10px}.integration-list span{font-size:11px;font-weight:750}.integration-list small{font-size:9px;color:var(--muted)}.integration-list b{grid-row:1/3;grid-column:2;align-self:center;font-size:8px;color:#237966;background:#eaf8f3;border-radius:15px;padding:5px 8px}
.tier-table{display:grid;gap:8px}.tier-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:end}.tier-head{padding:0 4px;color:var(--muted);font-size:10px;font-weight:800}.tier-row label span{font-size:9px;color:var(--muted);font-weight:750}.tier-row input{text-align:center}
.employee-dialog{width:min(720px,94vw)}.employee-dialog form{padding:22px}.employee-form-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr 1fr;gap:10px;margin-top:18px}.day-rule-editor{margin-top:18px;padding:14px;background:#f7f8fb;border-radius:11px}.day-rule-editor>div:first-child p{font-size:9px;color:var(--muted);margin-top:3px}.day-rule-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.day-rule-fields label span{text-align:center}.full-field{margin-top:15px}.team-actions{display:flex;gap:6px;margin-left:auto}.team-actions button{border:0;border-radius:7px;background:#f2f4f8;color:#687086;padding:6px 8px;font-size:9px;cursor:pointer}.team-actions button.danger:hover{background:#fff0f0;color:var(--red)}.team-card .team-top{align-items:flex-start}.team-rule.empty{font-style:italic;color:#a0a5b1}
.vacation-form{display:grid;gap:14px;margin-top:22px}.vacation-form label{display:grid;gap:7px}.vacation-form label>span{font-size:10px;color:#596174;font-weight:750}.vacation-form small{font-weight:500;color:#9a9fad}
.vacation-form input,.vacation-form select{width:100%;border:1px solid #dfe2e9;border-radius:9px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink);outline:0}.vacation-form input:focus,.vacation-form select:focus{border-color:#7f94df;box-shadow:0 0 0 3px #4169e111}
.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.submit-vacation{margin-top:1px}.vacation-feedback{display:none;padding:10px 11px;border-radius:9px;font-size:10px;line-height:1.45}.vacation-feedback.error{display:block;background:#fff0f0;color:#a9434b}.vacation-feedback.success{display:block;background:#eaf8f3;color:#237966}
.rule-callout{margin-top:22px;padding:13px;background:#f5f7fc;border-radius:10px;border-left:3px solid #8699dd}.rule-callout strong{font-size:10px}.rule-callout p{font-size:9px;line-height:1.55;color:var(--muted);margin-top:4px}.count-badge.neutral{background:#edf1ff;color:#5069ba}
.vacation-list{display:grid;gap:9px;margin-top:18px}.vacation-empty{display:grid;place-items:center;text-align:center;min-height:360px;color:var(--muted)}.vacation-empty span{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#f2f4f8;color:#94a0bd;font-size:22px;margin:0 auto 12px}.vacation-empty strong{display:block;color:var(--ink);font-size:12px}.vacation-empty p{font-size:10px;margin-top:5px}
.vacation-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px}.vacation-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf1ff;color:#536bb9;font-size:10px;font-weight:850}.vacation-info strong{display:block;font-size:11px}.vacation-info p{font-size:10px;color:var(--muted);margin-top:3px}.vacation-info small{display:inline-block;margin-top:6px;padding:3px 6px;background:#eaf8f3;color:#237966;border-radius:5px;font-size:8px;font-weight:750}.delete-vacation{border:0;background:#f5f6f8;color:#8a91a0;width:30px;height:30px;border-radius:8px;cursor:pointer}.delete-vacation:hover{background:#fff0f0;color:var(--red)}
.vacation-item.request-open{border-left:3px solid #e3a23c}.vacation-item.request-confirmed{border-left:3px solid #32b68a}.vacation-item.request-rejected{border-left:3px solid #98a2b3;opacity:.72}
.vacation-year-panel{margin-top:14px}.year-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.year-actions strong{min-width:54px;text-align:center;font-size:13px}.vacation-year-legend{display:flex;gap:14px;margin:12px 0 16px;color:var(--muted);font-size:10px}.legend-box{display:inline-block;width:12px;height:8px;border-radius:3px;margin-right:5px;background:#eaf8f3;border:1px solid #32b68a}.legend-box.open{background:#fff8ec;border:1px dashed #e3a23c}.vacation-year-calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.year-month{border:1px solid var(--line);border-radius:13px;background:#fbfcff;padding:12px}.year-month h4{margin:0 0 9px;font-size:12px}.year-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.year-weekday{font-size:8px;color:var(--muted);text-align:center;font-weight:800;padding-bottom:2px}.year-day{min-height:54px;border:1px solid #e8ebf1;border-radius:8px;background:#fff;padding:4px;overflow:hidden}.year-day.empty{background:transparent;border-color:transparent}.year-day.weekend{background:#f7f8fa;color:#9aa1ae}.year-day.has-vacation{background:#fffefa}.year-day>strong{display:block;font-size:8px;line-height:1;margin-bottom:3px}.vacation-day-chips{display:grid;gap:2px}.vacation-day-chip{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:2px 3px;font-size:7px;line-height:1.1;font-weight:800;background:#eaf8f3;color:#237966;border:1px solid #32b68a}.vacation-day-chip.open{background:#fff8ec;color:#9a651d;border-style:dashed;border-color:#e3a23c}.vacation-day-chip.more{background:#f2f4f8;color:#667085;border-color:#d8dde7}
@media(max-width:1050px){.vacation-layout,.settings-grid{grid-template-columns:1fr}.vacation-form-card,.vacation-list-card{min-height:auto}.employee-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.vacation-year-calendar{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.date-fields,.employee-form-grid{grid-template-columns:1fr}.day-rule-fields{grid-template-columns:1fr 1fr}.vacation-year-calendar{grid-template-columns:1fr}.year-actions{align-items:stretch}.year-actions .primary{width:100%}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}
.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:25px 18px 18px;background:var(--navy);color:#fff;display:flex;flex-direction:column;z-index:5}
.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:760;padding:0 8px 29px}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.16)}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block;padding:3px;box-sizing:border-box}
.sidebar nav{display:grid;gap:6px}
.nav-item{border:0;background:transparent;color:#aeb4c7;border-radius:10px;text-align:left;padding:11px 13px;font:inherit;font-weight:600;cursor:pointer}
.nav-item span{display:inline-block;width:24px}
.nav-item:hover,.nav-item.active{background:#292e45;color:#fff}
.profile{display:flex;align-items:center;gap:9px;border-top:1px solid #303549;margin-top:auto;padding:17px 4px 0}
.profile-logo{width:36px;height:36px;border-radius:50%;overflow:hidden;background:#fff;display:grid;place-items:center;flex:0 0 36px;box-shadow:0 0 0 2px rgba(255,255,255,.12)}.profile-logo img{width:100%;height:100%;object-fit:cover;display:block}
.profile>span:nth-child(2){display:grid;line-height:1.35}
.profile strong{font-size:12px}
.profile a{color:inherit;text-decoration:none}.profile a:hover{text-decoration:underline}
.profile small{font-size:10px;color:#969daf}
.profile button{margin-left:auto;border:0;background:transparent;color:#959bae}
.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ebe8ff;color:#6255b5;font-size:11px;font-weight:800}
main{margin-left:230px;min-height:100vh}
.topbar{height:90px;padding:20px 34px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
h1,h2,h3,p{margin:0}
h1{font-size:22px}
h2{font-size:21px}
h3{font-size:15px}
.eyebrow{font-size:9px;letter-spacing:.16em;color:#969dac;font-weight:800;margin-bottom:5px}
.top-actions,.toolbar-actions{display:flex;gap:9px}
.primary,.secondary,.icon-btn,.text-btn,.month-switcher button{border:0;border-radius:9px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}
.primary{background:var(--blue);color:#fff;box-shadow:0 4px 12px #4169e144}
.secondary,.icon-btn{background:#fff;color:var(--ink);border:1px solid var(--line)}
.icon-btn{padding:10px 12px;color:#737b8d}
.view{display:none;padding:28px 34px 38px}
.view.active{display:block}
.section-head,.panel-head,.schedule-toolbar{display:flex;align-items:center;justify-content:space-between}
.section-head{margin-bottom:20px}
.section-head p,.schedule-toolbar p,.panel-head p{color:var(--muted);font-size:12px;margin-top:5px}
.status-pill{font-size:11px;background:#eaf8f3;color:#257f6c;border-radius:20px;padding:7px 11px;font-weight:700}.status-pill span{display:inline-block;width:7px;height:7px;background:#3ab99c;border-radius:50%;margin-right:6px}.status-pill.danger{background:#fff0f0;color:#b33d47}.status-pill.danger span{background:var(--red)}
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.metric{position:relative;background:#fff;border:1px solid #ebedf2;border-radius:15px;padding:18px;box-shadow:0 3px 12px rgba(25,31,48,.03)}
.metric p{font-size:11px;color:var(--muted);font-weight:650}
.metric strong{display:block;font-size:29px;margin:7px 0 4px}
.metric>span:last-child{font-size:10px;color:#9299a8}
.metric-icon{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:33px;height:33px;border-radius:10px}
.metric.blue .metric-icon{background:#edf1ff;color:var(--blue)}
.metric.amber .metric-icon{background:#fff4e4;color:#d4871c}
.metric.violet .metric-icon{background:#f2edff;color:var(--violet)}
.metric.mint .metric-icon{background:#e8f8f4;color:var(--mint)}
.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-top:14px}
.panel{background:#fff;border:1px solid #ebedf2;border-radius:15px;box-shadow:var(--shadow);padding:19px}
.count-badge{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;background:#fff0f0;color:var(--red);border-radius:20px;font-weight:800}
.count-badge.neutral{background:#edf1ff;color:#5069ba}.action-list{display:grid;gap:9px;margin-top:17px;min-height:128px;align-content:start}.action-item,.action-empty{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.action-item.critical{align-items:flex-start;background:#fff5f5;border-color:#f4c8cc;border-left:4px solid var(--red)}.action-icon,.action-empty>span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-size:11px;font-weight:900}.action-empty.success{background:#eff9f6;border-color:#c9eadd}.action-empty.success>span{background:var(--mint)}.action-item strong,.action-empty strong{display:block;font-size:11px}.action-item p,.action-empty p{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.4}.action-item.vacation .vacation-avatar{width:34px;height:34px;border-radius:9px}.vacation-preview-panel .action-empty>span{background:#f2f4f8;color:#7d8798}
.next-panel{margin-top:14px}
.upcoming-days{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:17px}
.day-card{border:1px solid var(--line);border-radius:11px;padding:12px}
.day-card.today{border-color:#8aa0ee;background:#f6f8ff}
.day-card .date{font-size:10px;color:var(--muted)}
.day-card strong{display:block;font-size:13px;margin:5px 0 9px}.day-split{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px}.day-split span{font-size:9px;padding:6px;background:#f5f7fa;border-radius:7px;color:var(--muted)}.day-split b{display:block;color:var(--ink);font-size:11px;margin-top:2px}
.mini-stats{display:flex;gap:7px;flex-wrap:wrap}
.mini-stats span{font-size:9px;padding:4px 6px;border-radius:6px;background:#f2f3f6}
.schedule-toolbar{margin-bottom:17px}
.month-switcher{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px}
.month-switcher button{background:transparent;padding:9px 12px;font-size:18px}
.month-switcher strong{min-width:130px;text-align:center;font-size:13px}
.plan-summary{display:flex;gap:8px;margin-bottom:12px}
.summary-chip{font-size:10px;border-radius:20px;padding:7px 10px;background:#fff;border:1px solid var(--line)}
.summary-chip.error{background:#fff0f0;color:#b84c53;border-color:#f4c9cc}
.schedule-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.schedule-legend{display:flex;gap:17px;padding:13px 17px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}
.dot.early{background:var(--amber)}
.dot.late{background:var(--violet)}
.dot.hs{background:#ad79d6}
.dot.home{background:var(--mint)}
.dot.off{background:#b3b7c1}
.table-scroll{overflow:auto;max-height:65vh}
table{border-collapse:separate;border-spacing:0;min-width:1170px;width:100%;font-size:10px}
th,td{border-right:1px solid #eef0f3;border-bottom:1px solid #eef0f3;text-align:center;height:43px;min-width:34px;padding:4px}
thead th{position:sticky;top:0;background:#fafbfc;z-index:2;color:#6f7787;font-weight:700}
.day-head{min-width:90px;height:134px;padding:6px 5px}.day-title{font-size:10px;margin-bottom:5px}.day-coverage{display:grid;gap:2px;text-align:left}.day-coverage span{display:block;padding:2px 3px;border-radius:4px;background:#f0f7f4;color:#317263;font-size:8px;line-height:1.15}.day-coverage span.working-summary{margin-bottom:2px;background:#317263;color:#f0f7f4;font-weight:850}.day-coverage span.office-summary,.day-coverage span.home-summary{background:#e7faf4;color:#21816b;font-weight:850;box-shadow:inset 0 0 0 1px #bfe8dc}.day-coverage span.home-summary{margin-top:2px}.day-coverage span.bad{background:#ffe7e8;color:#b33d47;font-weight:850}.weekend-summary{display:block;text-align:center;color:#b1b5be;font-size:8px;padding-top:9px}.day-head-conflict{background:#fff0f1!important;box-shadow:inset 0 -3px 0 #dd5b63}.conflict-day{background:#fff8f8!important}
th.employee,td.employee{position:sticky;left:0;z-index:3;background:#fff;min-width:145px;text-align:left;padding:8px 12px}
thead th.employee{background:#fafbfc;z-index:4}
td.employee strong{display:block;font-size:11px;color:var(--ink)}
td.employee span{font-size:9px;color:var(--muted)}
th.weekend,td.weekend{background:#fafafa;color:#b6bac3}
th.today,td.today{background:#f4f7ff}
th.today-column,td.today-column{box-shadow:inset 2px 0 0 #6f8df2,inset -2px 0 0 #6f8df2}
th.today-column{box-shadow:inset 2px 0 0 #6f8df2,inset -2px 0 0 #6f8df2,inset 0 2px 0 #6f8df2}
tbody tr:last-child td.today-column{box-shadow:inset 2px 0 0 #6f8df2,inset -2px 0 0 #6f8df2,inset 0 -2px 0 #6f8df2}
th.conflict-column,td.conflict-column{box-shadow:inset 2px 0 0 #e15b65,inset -2px 0 0 #e15b65;background:#fff6f7!important}
th.conflict-column{box-shadow:inset 2px 0 0 #e15b65,inset -2px 0 0 #e15b65,inset 0 2px 0 #e15b65;background:#fff0f1!important}
tbody tr:last-child td.conflict-column{box-shadow:inset 2px 0 0 #e15b65,inset -2px 0 0 #e15b65,inset 0 -2px 0 #e15b65}
.shift-cell{cursor:pointer;border-radius:7px;font-size:9px;font-weight:800;padding:7px 2px;transition:.15s}
.shift-cell:hover{transform:scale(1.04);filter:brightness(.97)}
.status-F{background:#fff0d9;color:#a96613}
.status-S{background:#eee9ff;color:#624eb0}
.status-HF{background:#e3f6ff;color:#276e8b}
.status-HS{background:#e7faf4;color:#21816b}
.status-HO{background:#e7faf4;color:#21816b}
.status-O{background:#edf1ff;color:#4863b3}
.status-FO{background:#e5ebff;color:#3f58ad;box-shadow:inset 0 0 0 1px #cbd6ff}
.status-X{background:#f0f1f3;color:#969aa3}
.status-U,.status-K{background:#fff0f0;color:#bd5359}
.coverage-row td{height:30px;background:#fafbfc;font-weight:750}
.coverage-row td.bad-day{background:#fff0f0;color:#bd5359}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.team-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 4px 18px rgba(20,26,43,.04)}
.team-top{display:flex;align-items:center;gap:10px}
.team-top .avatar{width:39px;height:39px}
.team-top strong{display:block}
.team-top span:last-child small{color:var(--muted)}
.team-rule{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.55}
.team-tags{display:flex;gap:5px;margin-top:9px}
.team-tags span{padding:4px 7px;border-radius:6px;background:#f2f4f8;font-size:9px}
dialog{border:0;border-radius:17px;padding:0;width:min(440px,92vw);box-shadow:0 25px 80px #11182755}
dialog::backdrop{background:#18203366;backdrop-filter:blur(3px)}
dialog form{padding:22px}
.dialog-head{display:flex;justify-content:space-between}
.close-btn{border:0;background:#f2f3f6;border-radius:50%;width:30px;height:30px;font-size:20px;cursor:pointer}
.dialog-subtitle{font-size:11px;color:var(--muted);margin:7px 0 17px}
.status-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.status-option{border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;text-align:left;cursor:pointer;font:inherit}
.status-option:hover{border-color:#9cacdf;background:#f8f9ff}
.status-option strong{display:block;font-size:11px}
.status-option span{font-size:9px;color:var(--muted)}
.dialog-actions{display:flex;justify-content:flex-end;margin-top:18px}
.toast{position:fixed;right:26px;bottom:25px;padding:11px 15px;background:#20283b;color:#fff;border-radius:10px;font-size:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}
.toast.show{opacity:1;transform:none}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}
.dashboard-grid{grid-template-columns:1fr}
.upcoming-days{grid-template-columns:repeat(3,1fr)}
.team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){.sidebar{width:72px;padding:20px 10px}
.brand span:last-child,.nav-item:not(.active){font-size:0}
.brand{padding-left:8px}
.nav-item span{font-size:16px}
.profile>span:nth-child(2),.profile button{display:none}
main{margin-left:72px}
.topbar,.view{padding-left:18px;padding-right:18px}
.top-actions .icon-btn{display:none}
.cards{grid-template-columns:1fr 1fr}
.schedule-toolbar{align-items:flex-start;gap:14px;flex-wrap:wrap}
.upcoming-days{grid-template-columns:1fr 1fr}
.team-grid{grid-template-columns:1fr}
}


.config-section{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}.config-flow-hint{padding:11px 13px;border:1px solid #cfe4ff;border-radius:12px;background:#f3f8ff;color:#24416b;font-size:12px}.config-flow-hint strong{color:#0f2444}.config-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.config-list{display:grid;gap:8px}.config-row{display:grid;grid-template-columns:70px minmax(130px,1fr) 112px 112px 46px 38px;gap:8px;align-items:end}.config-row.shift-row{grid-template-columns:70px minmax(160px,1fr) 112px 112px 46px 38px}.config-row.location-row{grid-template-columns:70px minmax(140px,1fr) 105px minmax(130px,auto) 46px 90px 38px}.config-row label{display:grid;gap:4px}.config-row label span{font-size:10px;color:var(--muted)}.config-row input,.config-add input{width:100%;min-width:0}.config-row input[readonly]{background:#f0f3f8;font-weight:800}.config-delete{height:38px;padding:0}.config-delete:disabled{opacity:.3;cursor:not-allowed}.config-kind{align-self:center;font-size:11px;color:var(--muted)}.config-add{display:grid;grid-template-columns:100px minmax(150px,1fr) 110px 110px 46px auto;gap:8px;padding-top:10px;border-top:1px dashed var(--line)}.config-add.location-add{grid-template-columns:100px minmax(150px,1fr) 110px 46px auto}.shift-cell{white-space:nowrap;font-size:10px;padding-inline:4px}.day-head{height:auto;min-height:134px}.day-coverage{height:auto;min-height:106px}
.config-row.team-row{grid-template-columns:90px minmax(160px,1fr) minmax(150px,1fr) 46px 38px}.config-add.team-add{grid-template-columns:110px minmax(160px,1fr) minmax(150px,1fr) 46px auto}.location-minimums{display:flex;gap:5px}.location-minimums label{width:62px}.location-minimum-note{font-size:9px;color:var(--muted)}.membership-editor{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.membership-editor>div:first-child p{margin:4px 0 0;color:var(--muted);font-size:10px}.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-chip{position:relative}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip span{display:block;padding:8px 11px;border:1px solid var(--line);border-radius:9px;font-size:10px;font-weight:700;cursor:pointer}.choice-chip input:checked+span{border-color:var(--choice-color);background:color-mix(in srgb,var(--choice-color) 12%,white);color:var(--choice-color)}
@media(max-width:1000px){.config-row,.config-row.shift-row,.config-row.location-row,.config-add,.config-add.location-add{grid-template-columns:1fr 1fr}.config-delete{width:38px}}
.export-dialog{width:min(620px,calc(100vw - 30px))}.export-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.export-choice{display:grid;text-align:left;gap:6px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#f8faff;color:var(--ink);cursor:pointer}.export-choice:hover{border-color:#4977e8;background:#f1f5ff}.export-choice strong{font-size:13px}.export-choice span{font-size:10px;line-height:1.5;color:var(--muted)}.export-choice:disabled{opacity:.45;cursor:not-allowed}.export-dialog .full-field{display:grid;gap:6px}.export-dialog .full-field span{font-size:10px;font-weight:700;color:var(--muted)}
@media(max-width:650px){.export-choice-grid{grid-template-columns:1fr}}
.toolbar-actions{flex-direction:column;align-items:flex-end}.toolbar-action-row{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.toolbar-actions small{max-width:420px;color:var(--muted);font-size:9px;line-height:1.4;text-align:right}.warning-action{background:#2f55c7}.admin-tabs{align-items:center}.admin-tab-group{padding:0 7px;color:#7b8497;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.admin-tab-group:not(:first-child){margin-left:8px;border-left:1px solid #d7dce7}
#adminView[data-mode="people"] [data-admin-scope="admin"],#adminView[data-mode="admin"] [data-admin-scope="people"]{display:none}
#adminView[data-mode="people"] .admin-tab-group[data-admin-scope="people"],#adminView[data-mode="admin"] .admin-tab-group[data-admin-scope="admin"]{margin-left:0;border-left:0}
.monthly-report-panel{margin-top:16px}.report-actions{display:flex;gap:8px}.monthly-stats-scroll{overflow:auto}.monthly-stats-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.monthly-stats-table th{padding:10px 12px;background:#f1f4f9;color:#667085;text-align:center;font-size:9px;white-space:nowrap;border-bottom:1px solid var(--line)}.monthly-stats-table th:first-child{text-align:left;border-radius:9px 0 0 0}.monthly-stats-table th:last-child{border-radius:0 9px 0 0}.monthly-stats-table td{padding:11px 12px;text-align:center;border-bottom:1px solid #edf0f5}.monthly-stats-table td:first-child{text-align:left;min-width:190px}.monthly-stats-table tr:last-child td{border-bottom:0}.stat-person{display:flex;align-items:center;gap:9px}.stat-person .avatar{width:30px;height:30px}.stat-person>span{display:grid}.stat-person small{color:var(--muted);font-size:9px}.stat-total{font-weight:800;color:#172033}.stat-office{color:#236957;font-weight:750}.stat-home{color:#14806d;font-weight:750}.employee-stat-details{margin-top:5px}.employee-stat-details summary{font-size:8px;color:#4169d8;cursor:pointer;list-style:none}.employee-stat-details summary::-webkit-details-marker{display:none}.stat-detail-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.stat-detail-chips span{padding:3px 6px;border-radius:8px;background:#f1f4f8;color:#657086;font-size:8px}.monthly-report-panel.collapsed #monthlyStatsContent{display:none}.monthly-report-panel.collapsed{padding-bottom:12px}
@media(max-width:750px){.report-actions{flex-direction:column}.monthly-report-panel .panel-head{align-items:flex-start}}
.operating-day-fields{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:12px}.operating-day-option{position:relative}.operating-day-option input{position:absolute;opacity:0}.operating-day-option span{display:grid;place-items:center;min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer}.operating-day-option input:checked+span{background:#eaf0ff;border-color:#4774e6;color:#315fce}.reset-panel{margin-top:14px;border-color:#f0c9c9}.reset-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px;background:#fff8f8;border-radius:11px}.reset-row strong{font-size:11px}.reset-row p{margin:4px 0 0;color:var(--muted);font-size:9px}.danger-button{border:0;border-radius:9px;background:#c83f4d;color:#fff;padding:11px 15px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 5px 12px #c83f4d25}.danger-button:hover{background:#af303d}.confirm-dialog{width:min(560px,calc(100vw - 30px))}.confirm-warning{display:grid;gap:5px;margin:18px 0;padding:14px;border:1px solid #efc4c8;border-radius:11px;background:#fff4f5;color:#9b2d39}.confirm-warning strong{font-size:11px}.confirm-warning span{font-size:9px}.confirm-dialog .dialog-actions{justify-content:flex-end}
@media(max-width:750px){.operating-day-fields{grid-template-columns:repeat(4,1fr)}.reset-row{align-items:flex-start;flex-direction:column}}
.day-rule-fields .inactive-rule-day{opacity:.58}.closed-day{background:#f6f7f9!important}.day-head.closed-day .day-title{color:#9aa1ae}
.location-config-item{display:grid;gap:8px;padding:10px;border:1px solid #e7ebf2;border-radius:12px;background:#fff}.location-operating-days{display:flex;align-items:center;gap:12px;padding:8px 10px;border-top:1px dashed var(--line)}.location-operating-days>strong{min-width:105px;font-size:9px;color:var(--muted)}.location-day-options{display:flex;gap:6px;flex-wrap:wrap}.location-day-options label{position:relative}.location-day-options input{position:absolute;opacity:0;pointer-events:none}.location-day-options span{display:grid;place-items:center;width:34px;height:28px;border:1px solid var(--line);border-radius:8px;background:#f7f8fb;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.location-day-options input:checked+span{border-color:#4774e6;background:#eaf0ff;color:#315fce}.location-days-note{padding:7px 10px;border-top:1px dashed var(--line);color:var(--muted);font-size:9px}.closed-summary{background:#f1f2f5!important;color:#8c94a3!important;border-color:#dfe3e9!important}
@media(max-width:750px){.location-operating-days{align-items:flex-start;flex-direction:column}.location-operating-days>strong{min-width:0}}
.cloud-toolbar{display:flex;align-items:center;gap:9px}.cloud-status{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#f1f3f7;color:#667085;font-size:9px;font-weight:800}.cloud-status i{width:7px;height:7px;border-radius:50%;background:#98a2b3}.cloud-status.online{background:#e8f7f1;color:#16745d}.cloud-status.online i{background:#32b68a}.cloud-status.syncing{background:#edf2ff;color:#3f68cf}.cloud-status.syncing i{background:#4b76e5;box-shadow:0 0 0 4px #4b76e51c}.cloud-status.offline,.cloud-status.conflict{background:#fff0f1;color:#b43745}.cloud-status.offline i,.cloud-status.conflict i{background:#d84a59}.cloud-status.config{background:#fff6e8;color:#9a651d}.cloud-status.config i{background:#e3a23c}.cloud-login-overlay[hidden]{display:none}.cloud-login-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(18,25,42,.82);backdrop-filter:blur(8px)}.cloud-login-card{display:grid;gap:13px;width:min(430px,100%);padding:34px;border-radius:20px;background:#fff;box-shadow:0 30px 80px #0a102055}.cloud-login-card>img{width:52px;height:52px;object-fit:contain;border:1px solid var(--line);border-radius:12px}.cloud-login-card h2{margin:0;font-size:23px}.cloud-login-card>p:not(.eyebrow){margin:-4px 0 4px;color:var(--muted);font-size:11px;line-height:1.6}.cloud-login-card label{display:grid;gap:6px}.cloud-login-card label span{font-size:10px;font-weight:800;color:#536078}.cloud-login-card input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit}.cloud-login-card .primary{padding:12px}.cloud-login-card small{color:var(--muted);font-size:8px;line-height:1.5;text-align:center}.cloud-login-feedback{min-height:16px;font-size:9px;color:#b43745}.cloud-login-feedback.success{color:#16745d}.cloud-login-feedback.working{color:#3f68cf}
@media(max-width:760px){.cloud-status span:last-child{display:none}.cloud-status{padding:8px}.cloud-toolbar .secondary{padding:8px}.cloud-login-card{padding:25px}}

/* OP-Logo in der Sidebar */
.op-logo-top{padding:0 10px 18px;display:flex;align-items:center;justify-content:center}
.op-logo-bottom{padding:12px 10px 0;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}
.op-logo-img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#fff;padding:5px;box-sizing:border-box}

/* Brand-Bereich: OP-Logo + Demo-Version */
.brand>span:nth-child(2){display:flex;flex-direction:column;line-height:1.2}
.brand-sub{font-size:9px;font-weight:600;color:#7a8299;letter-spacing:.04em;margin-top:2px}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block;padding:4px;box-sizing:border-box}

/* ===== MOBILE NAVIGATION ===== */
.hamburger-btn{display:none;border:0;background:transparent;color:var(--ink);font-size:22px;padding:4px 6px;cursor:pointer;line-height:1;border-radius:7px}
.hamburger-btn:hover{background:#f0f2f6}
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(10,15,30,.45);z-index:4;backdrop-filter:blur(2px)}

@media(max-width:760px){
  /* Hamburger sichtbar */
  .hamburger-btn{display:inline-flex;align-items:center;justify-content:center}

  /* Sidebar standardmässig versteckt */
  .sidebar{transform:translateX(-100%);transition:transform .25s cubic-bezier(0.23,1,0.32,1);width:230px!important;padding:25px 18px 18px!important;z-index:10}

  /* Sidebar-Texte wieder sichtbar auf Mobile (wenn offen) */
  .brand span:last-child{font-size:inherit!important}
  .nav-item:not(.active){font-size:inherit!important}
  .profile>span:nth-child(2),.profile button{display:flex!important}

  /* Sidebar offen */
  body.nav-open .sidebar{transform:translateX(0)}
  body.nav-open .mobile-overlay{display:block}

  /* Main ohne seitlichen Abstand */
  main{margin-left:0!important}
  .topbar,.view{padding-left:16px!important;padding-right:16px!important}

  /* Topbar kompakter */
  .topbar{height:auto;padding:14px 16px}
  h1{font-size:18px}

  /* Karten 1-spaltig auf sehr kleinen Screens */
  .cards{grid-template-columns:1fr!important}
  .dashboard-grid{grid-template-columns:1fr!important}
  .upcoming-days{grid-template-columns:1fr!important}

  /* Schichtplan-Toolbar */
  .schedule-toolbar{flex-direction:column;align-items:flex-start;gap:10px}
  .toolbar-actions{flex-direction:column;align-items:stretch}
  .toolbar-action-row{flex-wrap:wrap}
}
