:root{--bg:#f4f7fb;--panel:#fff;--text:#17233a;--muted:#6d7890;--line:#e2e8f0;--primary:#2667ff;--primary2:#1f55d6;--success:#168152;--warn:#b87412;--danger:#b73646;--sidebar:#172235;--shadow:0 8px 28px rgba(27,39,66,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--primary)}.hidden{display:none!important}.muted{color:var(--muted)}.app-shell{min-height:100vh;display:flex}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#182438,#0f1828);padding:20px 14px;color:#fff}.brand{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.brand img{max-width:200px;background:#fff;padding:8px;border-radius:6px}.brand span{font-size:12px;color:#b8c5d8;font-weight:700}.sidebar nav{display:grid;gap:4px}.nav-btn{border:0;background:transparent;color:#dbe4f3;text-align:left;padding:12px;border-radius:9px}.nav-btn.active,.nav-btn:hover{background:var(--primary);color:#fff}.sidebar-foot{position:absolute;left:16px;bottom:18px}.sidebar-foot a{color:#dbe4f3}.main{margin-left:230px;width:calc(100% - 230px)}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 22px;position:sticky;top:0;z-index:10}.search{width:min(520px,55vw);background:#f6f8fb}.userbox{display:flex;align-items:center;gap:9px}.userbox small{display:block;color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.content{padding:20px 22px}.tab{display:none}.tab.active{display:block}.heading-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.heading-row.compact{align-items:center}.heading-row h1,.heading-row h2,.heading-row p{margin-top:0}.heading-row p{color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px;margin-bottom:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}.stat span{color:var(--muted);display:block}.stat strong{display:block;font-size:23px;margin-top:5px}.home-grid{display:grid;grid-template-columns:2.8fr .85fr;gap:12px}.work-card{background:linear-gradient(135deg,#eff5ff,#f8fbff);border-color:#cfe0ff}.work-layout{display:grid;grid-template-columns:160px 210px 222px 343px 164px;gap:20px;align-items:start}.work-layout label,.filters label,.preset-form label,.maintenance-grid label{font-size:13px;font-weight:700}.task-field{grid-column:1/-1}.task-field textarea{min-height:170px}.quick-times{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.quick-times button{border:1px solid #cdd8ea;background:#f7f9fc;color:#315079;border-radius:8px;padding:5px 9px;font-weight:700;font-size:13px}.checkline{display:flex;align-items:center;gap:7px;min-height:42px;border:1px solid #ccd5e2;border-radius:8px;padding:8px 10px;background:#fff;font-weight:600}.checkline input{width:auto}input,select,textarea{width:100%;border:1px solid #ccd5e2;border-radius:8px;padding:10px;background:#fff;color:var(--text)}textarea{resize:vertical;line-height:1.45}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:800}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.light{background:#edf2f7;color:#29354b}.btn.danger{background:#fdecef;color:var(--danger)}.day-values{display:grid;gap:10px;margin-top:12px}.day-values span{display:flex;justify-content:space-between;gap:12px}.progress{height:16px;background:#edf0f4;border-radius:999px;overflow:hidden;display:flex;margin-top:14px}.bar-work{background:#18a66a}.bar-break{background:#ef9f26}.status{font-size:13px}.status.ok{color:var(--success)}.status.warning{color:var(--warn)}.status.over{color:var(--danger)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}th{color:#627089;background:#fafbfd}.task-text{white-space:pre-line;line-height:1.45}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.badge.blue{background:#e8f0ff;color:#2459d8}.badge.green{background:#e8f8f1;color:#168152}.badge.orange{background:#fff2df;color:#b87412}.badge.gray{background:#edf0f4;color:#566177}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.task-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.report-filters{grid-template-columns:repeat(5,minmax(0,1fr))}.report-filters .btn{align-self:end}.filter-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:12px 0}.cal-day{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;text-align:center}.cal-day strong{font-size:19px;display:block}.cal-day.weekend{border-color:#efb0b8;background:#fff1f2;color:#a51d2d}.cal-day.vacation{border-color:#ead68a;background:#fff7cc;color:#8a6a00}.cal-day.weekend.vacation{border-color:#ead68a;background:#fff4b8;color:#8a6a00}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-kpis h2{margin:5px 0}.report-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.bars{display:flex;align-items:flex-end;height:210px;gap:14px}.barcol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:50px}.barcol .fill{background:var(--primary);border-radius:7px 7px 2px 2px;min-height:8px}.barcol small{text-align:center;margin-top:6px;overflow:hidden;text-overflow:ellipsis}.settings-grid{display:grid;grid-template-columns:1.3fr .85fr;gap:12px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.chip{display:inline-flex;align-items:center;gap:7px;background:#eef3f8;border:1px solid var(--line);border-radius:999px;padding:7px 10px}.chip button{border:0;background:transparent;color:#7b8798;padding:0}.inline-add{display:grid;grid-template-columns:1fr auto;gap:8px}.preset-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 120px 160px;gap:10px}.preset-item,.vacation-item{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:9px;padding:10px;margin-top:9px}.maintenance-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vacation-form{display:grid;grid-template-columns:1fr 160px 160px auto;gap:8px}.rule-note{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f7f9fc;color:var(--muted);font-size:13px}.combo{position:relative;display:grid;grid-template-columns:1fr 38px}.combo input{border-radius:8px 0 0 8px}.combo-toggle{border:1px solid #ccd5e2;border-left:0;border-radius:0 8px 8px 0;background:#f7f9fc}.combo-menu{display:none;position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #ccd5e2;border-radius:9px;padding:5px;box-shadow:0 12px 28px rgba(27,39,66,.18);max-height:240px;overflow:auto}.combo-menu.open{display:block}.combo-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px;border-radius:7px}.combo-option:hover{background:#edf4ff}.combo-option.create{font-weight:800;color:var(--primary);border-bottom:1px solid var(--line)}.success-text{color:var(--success);font-weight:700}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#17233a;color:#fff;padding:12px 16px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.modal{position:fixed;inset:0;background:rgba(7,13,24,.55);display:grid;place-items:center;z-index:90;padding:20px}.modal-card{width:min(720px,96vw);background:#fff;border-radius:14px;padding:22px;position:relative;max-height:90vh;overflow:auto}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:26px}.auth-bg{min-height:100vh;background:linear-gradient(135deg,#162338,#0e1726);display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,94vw);background:#fff;border-radius:16px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.auth-card.wide{width:min(620px,94vw)}.auth-logo{max-width:180px;background:#fff;padding:8px}.stack{display:grid;gap:12px}.error-box,.success-box,.secret-box{padding:12px;border-radius:8px;margin:12px 0}.error-box{background:#fdecef;color:#8d2432}.success-box{background:#e8f8f1;color:#176b49}.secret-box{background:#f5f7fb;border:1px solid var(--line)}.secret-box code,.wrapcode{display:block;word-break:break-all;margin-top:8px}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.recovery-grid code{padding:7px;background:#fff;border-radius:6px}.auth-card hr{border:0;border-top:1px solid var(--line);margin:6px 0}.auth-card small{color:var(--muted)}
@media(max-width:1250px){.work-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.task-field{grid-column:1/-1}.home-grid,.report-grid{grid-template-columns:1fr}.maintenance-grid{grid-template-columns:1fr}.preset-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{width:72px}.sidebar .brand span,.sidebar nav span,.sidebar-foot{display:none}.sidebar .brand img{max-width:54px;padding:4px}.main{margin-left:72px;width:calc(100% - 72px)}.kpis,.report-kpis{grid-template-columns:repeat(2,1fr)}.filters,.task-filters,.report-filters,.settings-grid{grid-template-columns:repeat(2,1fr)}.calendar-strip{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.content{padding:14px}.topbar{padding:0 12px}.search{width:52vw}.kpis,.report-kpis,.filters,.task-filters,.report-filters,.settings-grid,.work-layout,.preset-form,.vacation-form,.two{grid-template-columns:1fr}.calendar-strip{grid-template-columns:repeat(2,1fr)}.heading-row{flex-direction:column}.inline-add{grid-template-columns:1fr}.recovery-grid{grid-template-columns:1fr}}


.manual-maintenance{margin-top:14px}.manual-maintenance-grid{display:grid;grid-template-columns:.8fr 1.35fr .8fr;gap:12px;align-items:stretch}.manual-box{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fafcff;display:grid;gap:8px;align-content:start}.manual-box label{margin:0}.manual-box .btn{justify-self:start}.manual-overwrite{margin-top:12px}.manual-maintenance #manualMaintResult{margin-top:10px}.manual-maintenance #manualMaintResult.hidden{display:none}@media(max-width:1000px){.manual-maintenance-grid{grid-template-columns:1fr}}
