:root{--page:#f3f6f5;--surface:#fff;--ink:#183e40;--subtle:#556f66;--border:#cbdad3;--nav:#e1eee9;--active:#165d52;--check-bg:#fff4df;--check-border:#b87e25;--check-ink:#6b4a17;--error:#a33227;--success:#17654e;--employee-odd:#eef7f2;--employee-even:#deeee5;--department-odd:#eef3fc;--department-even:#dfe9f9;--input:#fff;--guide:#eaf3fc;--guide-border:#3d72a4;--audit-field:#fff9ee;color-scheme:light}
:root[data-theme="dark"]{--page:#101b21;--surface:#192830;--ink:#e0eee9;--subtle:#b4c8c1;--border:#40565b;--nav:#1e383d;--active:#277966;--check-bg:#382f1c;--check-border:#c99a46;--check-ink:#f6d99c;--error:#ffb6a6;--success:#a5dfc4;--employee-odd:#1d3430;--employee-even:#28473d;--department-odd:#23334c;--department-even:#2c4160;--input:#132329;--guide:#1c344b;--guide-border:#7cafda;--audit-field:#382f1c;color-scheme:dark}
body{background:var(--page);color:var(--ink)}.card,section{background:var(--surface);border-color:var(--border)}input,select,button,.upload{background:var(--input);color:var(--ink);border-color:var(--border)}.muted,footer,th,.settings-row small{color:var(--subtle)}th,td{border-color:var(--border)}.good{color:var(--success)}.bad{color:var(--error)}.theme-switch{margin-left:auto;white-space:nowrap}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4c99ba;outline-offset:3px}
nav{background:var(--nav);border:1px solid var(--border);border-radius:12px;padding:13px;box-shadow:0 3px 10px #102f2410;gap:10px}nav button{font-weight:650;min-height:44px}nav button.active{background:var(--active);border-color:var(--active);color:#fff;box-shadow:0 2px 5px #143e3530}nav button[data-view="checks"],nav button[data-view="report"]{border-color:var(--check-border);color:var(--check-ink);background:var(--check-bg)}nav button[data-view="checks"].active,nav button[data-view="report"].active{background:#865c1d;color:#fff}
#approvalPanel,#checks{background:var(--check-bg);border:2px solid var(--check-border);border-left-width:7px}#approvalPanel h2,#checks h2{color:var(--check-ink)}#approvalPanel p:last-child{color:var(--subtle)}#approvalStatus,#reportApproval{font-weight:650;line-height:1.6}#approveMonth{background:#245f50;color:white;border:2px solid #245f50;font-weight:700;min-height:44px}#checks #issues{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px 16px 38px}#monthlyAudit{padding:18px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}#reportApproval{padding:12px;border:2px solid var(--check-border);background:var(--check-bg)}#dayAudit{background:var(--audit-field);border-color:var(--check-border);color:var(--ink)}.audit-warning{color:var(--check-ink)}.warn{background:var(--check-bg);color:var(--check-ink)}.audit-link{background:var(--surface);color:var(--ink)}
.person-heading{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,auto) 180px 16px;gap:16px;position:relative;align-items:center}.person-heading h3{grid-column:1;min-width:0;white-space:normal!important}.person-heading>span:not(.person-alarm){grid-column:2}.person-heading>.person-alarm{grid-column:3;justify-self:end;text-align:right;margin:0;white-space:nowrap}.person-heading::after{grid-column:4;justify-self:end;position:static!important;margin:0!important}.person-card:not([open]) .person-heading>span:not(.person-alarm){display:none}.person-heading .person-alarm.good{color:var(--success)}.person-heading .person-alarm.bad{color:var(--error)}.person-totals,.period-label small,.period-total small{color:var(--subtle)}
.settings-list{padding:20px 0 0}.settings-list>.settings-row,.department-group-rows>.settings-row{padding:14px 16px;border:1px solid var(--border);border-left:5px solid #478f72;border-radius:7px;margin:7px 0}.settings-list[data-kind="employees"]>.settings-row:nth-of-type(odd){background:var(--employee-odd)}.settings-list[data-kind="employees"]>.settings-row:nth-of-type(even){background:var(--employee-even)}.settings-list[data-kind="departments"] .settings-row{border-left-color:#5b7eb6}.settings-list[data-kind="departments"] .settings-row:nth-of-type(odd){background:var(--department-odd)}.settings-list[data-kind="departments"] .settings-row:nth-of-type(even){background:var(--department-even)}.settings-editor{background:var(--employee-odd);border:1px solid var(--border)}.settings-editor label:has(input[type="checkbox"]){flex-direction:row;align-items:center;padding:8px 0}
.copy-guide{background:var(--guide);border:1px solid var(--guide-border);border-left:6px solid var(--guide-border);border-radius:9px;padding:18px 22px;margin:18px 0 24px;font-size:15px;line-height:1.7}.copy-guide strong{font-size:17px}.copy-guide ol{padding-left:22px;margin:10px 0}.copy-guide li{padding:3px 0}.copy-warning{font-weight:600;border-top:1px solid var(--border);padding-top:12px;margin-bottom:0}.preset-explanation{line-height:1.65;color:var(--subtle);max-width:900px}
.preference-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px;margin:24px 0}.preference-card fieldset{border:1px solid var(--border);border-radius:7px;display:flex;flex-wrap:wrap;gap:20px;padding:16px}.preference-card label{display:flex;gap:8px;align-items:center}.preference-card p{line-height:1.6}.backup-status{padding:12px 15px;background:var(--guide);border-left:4px solid var(--guide-border);line-height:1.65}.backup-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:12px 0}.backup-item span{margin-right:auto}.backup-meta{font-size:13px;color:var(--subtle)}
:root[data-theme="dark"] [data-minutes="420"]{--group-color:#6fb89c;--group-bg:#223d34}:root[data-theme="dark"] [data-minutes="455"]{--group-color:#84a7e0;--group-bg:#2a3957}:root[data-theme="dark"] [data-minutes="480"]{--group-color:#d6ae68;--group-bg:#443824}:root[data-theme="dark"] .person-card{border-top-color:var(--border);border-right-color:var(--border);border-bottom-color:var(--border)}:root[data-theme="dark"] .person-heading span{color:var(--subtle)}:root[data-theme="dark"] .person-heading::after{color:var(--ink)}:root[data-theme="dark"] .route-stop{background:#223e34;border-color:#52856e}:root[data-theme="dark"] .dept-1{background:#293956;border-color:#5a79ac}:root[data-theme="dark"] .dept-2{background:#423a28;border-color:#9d864e}:root[data-theme="dark"] .route-stop small{color:var(--subtle)}:root[data-theme="dark"] .pill{background:#294b40;color:var(--ink)}:root[data-theme="dark"] .track{background:#334c43}:root[data-theme="dark"] .audit-over{background:#472c28!important;border-color:#da9888!important}:root[data-theme="dark"] .audit-row-error{background:#472c28}:root[data-theme="dark"] .card:has(.department-choice[aria-pressed="true"]){background:#234b3f}:root[data-theme="dark"] .people-modes button[aria-pressed="true"]{background:#277966}
@media(max-width:750px){.person-heading{grid-template-columns:minmax(0,1fr) 150px 14px;gap:8px 12px}.person-heading h3{grid-column:1;grid-row:1}.person-heading>.person-alarm{grid-column:2;grid-row:1;font-size:11px!important}.person-heading>span:not(.person-alarm){grid-column:1/3;grid-row:2;order:initial!important;flex-basis:auto!important}.person-heading::after{grid-column:3;grid-row:1}.theme-switch{margin-left:0}.copy-guide{padding:14px}.settings-row>button{font-size:13px}.preference-card{padding:15px}nav{padding:10px;gap:8px}}
@media print{body{background:white!important;color:black!important}.theme-switch,.preference-card{display:none!important}#report{background:white!important;color:black!important}#reportApproval{background:white!important;border-color:#777!important;color:black!important}#report table,#report th,#report td,#report p{color:black!important}}
.help-trigger{font-size:12px;font-weight:500;padding:5px 9px;margin-left:14px;vertical-align:middle;border-radius:20px;white-space:nowrap;color:var(--ink);background:var(--surface);border:1px solid var(--border)}.help-trigger[aria-expanded="true"]{border-color:var(--guide-border);background:var(--guide)}.help-panel{margin:14px 0 20px;padding:15px 20px;border:1px solid var(--guide-border);border-left:5px solid var(--guide-border);border-radius:8px;background:var(--guide);font-size:14px;line-height:1.7;color:var(--ink)}.help-panel[hidden]{display:none!important}.help-panel p{margin:0 0 12px}.help-panel .copy-guide{margin:0;padding:0;border:0;background:transparent;font-size:14px}.help-close{font-size:12px;padding:5px 9px}.test-tools>summary{font-weight:650;cursor:pointer}.test-content{padding-top:18px}.test-content h3{margin-top:0}.test-content>.flex{margin:14px 0}.test-tools .preset-explanation{display:none}@media(max-width:600px){.help-trigger{margin:8px 0 0 10px}.help-panel{padding:12px}}@media print{.help-trigger,.help-panel,.test-tools{display:none!important}}
.settings-list[data-kind="employees"]>button{background:#087342;border:2px solid #087342;color:#fff;font-weight:750;padding:11px 18px;box-shadow:0 3px 8px #08734226}.settings-list[data-kind="departments"]>button{background:#1b56c8;border:2px solid #1b56c8;color:#fff;font-weight:750;padding:11px 18px;box-shadow:0 3px 8px #1b56c826}:root[data-theme="dark"] .settings-list[data-kind="employees"]>button{background:#30c58c;border-color:#30c58c;color:#09291e}:root[data-theme="dark"] .settings-list[data-kind="departments"]>button{background:#82aaff;border-color:#82aaff;color:#102144}.test-write-warning{padding:13px 16px;border:2px solid var(--check-border);border-left-width:6px;border-radius:7px;background:var(--check-bg);color:var(--check-ink);font-weight:650;line-height:1.6}
#backupSettings>details{margin-top:20px}#backupSettings>details>summary{padding:6px 0;cursor:pointer}

.department-edit-action{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.saturday-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;box-sizing:border-box;border:2px solid #195bc1;border-radius:50%;color:#195bc1;background:#edf4ff;font-size:17px;font-weight:800;line-height:1;flex-shrink:0}:root[data-theme="dark"] .saturday-badge{color:#9cc3ff;border-color:#9cc3ff;background:#193454}

.settings-row>.department-edit-action{flex:0 0 auto;min-width:0}
#rows tr:focus-within{box-shadow:inset 3px 0 var(--guide-border)}
#rows tr.audit-row-error{background:#fff0eb;box-shadow:inset 4px 0 var(--error)}
:root[data-theme="dark"] #rows tr.audit-row-error{background:#472c28}
#rows select.day-department{font-weight:750;border:2px solid #7ba68e;background:#e4f3e9;color:#183e40;min-width:90px}
#rows select.day-department.dept-1{background:#e5edff;border-color:#7d9fd0}
#rows select.day-department.dept-2{background:#fff0d2;border-color:#b49b64}
#rows select.day-department option{background:var(--input);color:var(--ink);font-weight:400}
:root[data-theme="dark"] #rows select.day-department{background:#223e34;border-color:#52856e;color:var(--ink)}
:root[data-theme="dark"] #rows select.day-department.dept-1{background:#293956;border-color:#5a79ac}
:root[data-theme="dark"] #rows select.day-department.dept-2{background:#423a28;border-color:#9d864e}
.education-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;margin:8px 0 0;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:700;background:var(--nav);color:var(--ink)}
.education-badge[data-education=LIC]{background:#e5edff;color:#244a82;border-color:#7d9fd0}
.education-badge[data-education=MAG]{background:#f0e5ff;color:#613b85;border-color:#b090d1}
.education-badge[data-education=TEC]{background:#e4f3e9;color:#255a41;border-color:#7ba68e}
.education-badge[data-education=MAS]{background:#fff0d2;color:#77561d;border-color:#b49b64}
:root[data-theme=dark] .education-badge[data-education=LIC]{background:#293956;color:#c5dbff;border-color:#5a79ac}
:root[data-theme=dark] .education-badge[data-education=MAG]{background:#3d2e53;color:#e3c8ff;border-color:#9777b8}
:root[data-theme=dark] .education-badge[data-education=TEC]{background:#223e34;color:#b5e7ce;border-color:#52856e}
:root[data-theme=dark] .education-badge[data-education=MAS]{background:#423a28;color:#f6d99c;border-color:#9d864e}
.settings-editor[data-kind=employees]{background:#fff3c7;border:1px solid #c49b34;border-left:5px solid #c49b34}
:root[data-theme=dark] .settings-editor[data-kind=employees]{background:#3e341c;border-color:#b99541}
.settings-editor[data-kind=employees] input[readonly]{font-weight:700;background:var(--guide);border-color:var(--guide-border)}
#dailyDimensionRule{flex-basis:100%;margin:0;padding:10px 12px;border-left:3px solid var(--check-border);background:var(--check-bg);color:var(--check-ink)}
.settings-list[data-kind=employees] .employee-status-badges{display:flex;flex:0 0 auto;min-width:0;gap:5px;align-items:center}
.employee-status-badge{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;box-sizing:border-box;border:1.5px solid #195bc1;border-radius:3px;color:#195bc1;background:#edf4ff;font-size:13px;font-weight:800;line-height:1;flex-shrink:0}
.employee-status-badge[data-flag=N]{background:#fff0d2;color:#77561d;border-color:#a7863b}
:root[data-theme=dark] .employee-status-badge{color:#9cc3ff;border-color:#9cc3ff;background:#193454}
:root[data-theme=dark] .employee-status-badge[data-flag=N]{background:#423a28;color:#f6d99c;border-color:#b99541}
.settings-list[data-kind=employees] .settings-row>details{order:5}

.settings-list[data-kind=employees]>.add-employee-bottom{margin-top:10px}

.department-sort{margin:10px 0 10px 16px;font-size:13px;gap:9px;flex-wrap:wrap}.department-sort select{max-width:100%}@media(max-width:600px){.department-sort{display:flex;margin-left:0}}

.strict-limit-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;box-sizing:border-box;border:2px solid #237345;border-radius:50%;color:#237345;background:#edf8ef;font-size:17px;font-weight:800;line-height:1;flex-shrink:0}:root[data-theme="dark"] .strict-limit-badge{color:#9bddb1;border-color:#9bddb1;background:#203e2b}

.department-other-group{margin-top:14px;border:1px solid var(--border);border-radius:8px;padding:12px}.department-other-group>summary{cursor:pointer;font-weight:700}.department-group-rows{margin-top:12px}.other-group-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;box-sizing:border-box;border:2px solid #8053ac;border-radius:50%;color:#8053ac;background:#f5effc;font-size:17px;font-weight:800;line-height:1;flex-shrink:0}:root[data-theme="dark"] .other-group-badge{color:#d5b5f5;border-color:#d5b5f5;background:#39294b}

#rows tr.audit-row-ok{background:#e1f4e7}#rows tr.audit-row-error{background:#ffebe9;box-shadow:inset 4px 0 #b91c1c}:root[data-theme="dark"] #rows tr.audit-row-ok{background:#203f32}:root[data-theme="dark"] #rows tr.audit-row-error{background:#472c28}#rows tr[hidden]{display:none}#rows .day-person-summary{cursor:pointer;font-weight:650}#rows .day-person-toggle{border:0;background:transparent;color:inherit;text-align:left;font-weight:700;padding:5px 0}#rows .day-person-toggle::before{content:'▸ ';display:inline-block;width:18px}#rows .day-person-toggle[aria-expanded=true]::before{content:'▾ '}#rows .day-assignment td:first-child{padding-left:30px;font-size:12px;color:var(--subtle)}

.department-card-group{display:contents}.other-departments-card{border:2px solid #8053ac}.other-departments-card p{font-size:13px;line-height:1.6}.other-department-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:16px;border:1px solid #8053ac;border-radius:12px;background:var(--department-odd)}.other-department-cards[hidden]{display:none}.other-department-cards .card{min-width:0;padding:16px}.other-department-cards .big{font-size:22px}.other-department-cards .track{margin:10px 0}.other-departments-toggle{font-size:13px}:root[data-theme="dark"] .other-departments-card,:root[data-theme="dark"] .other-department-cards{border-color:#d5b5f5}@media(max-width:800px){.other-department-cards{grid-template-columns:1fr}}

#cards .other-departments-card{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:3px solid #8053ac;box-shadow:none}#cards .other-departments-card .department-group-label{font-size:11px;font-weight:800;letter-spacing:1.2px;color:#63328e;margin-bottom:6px}#cards .other-departments-card h2{font-size:19px;margin-bottom:10px}#cards .other-departments-card .department-choice{font-size:19px;font-weight:800;line-height:1.35}#cards .other-departments-card .big{font-size:30px}#cards .other-departments-card .other-departments-toggle{display:block;width:100%;min-height:52px;margin-top:auto;padding:13px 16px;background:#653294;border:2px solid #653294;color:#fff;font-size:16px;font-weight:800;text-align:center;box-shadow:0 3px 6px #49216726}#cards .other-departments-card .other-departments-toggle:hover{background:#4f2379;border-color:#4f2379;filter:none}#cards .other-departments-card:not(.group-minimum-shortfall):has(.department-choice[aria-pressed=true]){background:var(--surface);border-color:#63328e}:root[data-theme="dark"] #cards .other-departments-card{background:var(--surface);border-color:#bd90eb;box-shadow:none}:root[data-theme="dark"] #cards .other-departments-card .department-group-label{color:#dfc7ff}:root[data-theme="dark"] #cards .other-departments-card .other-departments-toggle{background:#d7b7ff;border-color:#d7b7ff;color:#251333}:root[data-theme="dark"] #cards .other-departments-card .other-departments-toggle:hover{background:#e6d1ff;border-color:#e6d1ff}:root[data-theme="dark"] #cards .other-departments-card:not(.group-minimum-shortfall):has(.department-choice[aria-pressed=true]){background:var(--surface);border-color:#dfc7ff}

.settings-list .department-other-group{margin:7px 0;border:0;padding:0;border-radius:7px}.department-other-group>.department-group-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--border);border-left:5px solid #8053ac;border-radius:7px;background:var(--department-odd);font-weight:600;list-style:none;cursor:pointer}.department-group-summary::-webkit-details-marker{display:none}.department-group-summary::before{content:'▸';font-size:20px;color:var(--ink)}.department-other-group[open]>.department-group-summary::before{content:'▾'}.department-group-info{flex:1 1 220px;min-width:0}.department-group-info small{display:block;color:var(--subtle);font-size:12px;font-weight:400;line-height:1.6;margin-top:5px}.settings-group-expand{padding:9px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:13px;font-weight:700}.settings-group-expand::before{content:'Rozwiń szczegóły'}.department-other-group[open]>.department-group-summary .settings-group-expand::before{content:'Zwiń szczegóły'}.department-other-group>.department-group-rows{margin-top:0;padding:7px 0 0 18px;border-left:2px solid var(--border)}:root[data-theme="dark"] .department-other-group>.department-group-summary{border-left-color:#d5b5f5}

.other-group-minimum-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px;margin:10px 0;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.other-group-minimum-form h3,.other-group-minimum-form p,.other-group-minimum-history{flex-basis:100%;margin:0}.other-group-minimum-form h3{font-size:15px}.other-group-minimum-form p{font-size:12px;color:var(--subtle);line-height:1.6}.other-group-minimum-form label{display:flex;flex-direction:column;align-items:start;font-size:13px}.other-group-minimum-history{font-size:12px}.other-group-minimum-history summary{cursor:pointer}.other-group-minimum-history p{margin-top:8px}#cards .other-departments-card.group-minimum-shortfall{background:#fff0ee;border-color:#b91c1c}#cards .group-minimum-shortfall .group-minimum-status{color:#b91c1c;font-weight:750}:root[data-theme="dark"] #cards .other-departments-card.group-minimum-shortfall{background:#472c28;border-color:#ff9292}:root[data-theme="dark"] #cards .group-minimum-shortfall .group-minimum-status{color:#ff9292}.matrix-group-minimum{font-size:13px;line-height:1.6}
#departmentCards{margin:0 0 16px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
#departmentCards>summary{cursor:pointer;font-weight:700}
.people-view #departmentCards,.settings-view #departmentCards{display:none}
#approvalStatus .approval-warning{color:#bc454b}
:root[data-theme="dark"] #approvalStatus .approval-warning{color:#ff9b9e}
