:root{--ink:#162320;--muted:#6f7d78;--line:#e6ebe8;--bg:#f4f7f5;--panel:#fff;--green:#115c4d;--green-2:#1d7a65;--mint:#dcefe8;--lime:#d8f06c;--orange:#e99545;--red:#df625c;--blue:#5677d9;--shadow:0 8px 30px rgba(29,54,47,.06);--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,"Segoe UI",sans-serif;font-size:14px}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.app-shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#123d35;color:#fff;padding:27px 16px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--lime);display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:8px}.brand-mark span{width:4px;background:#164b40;border-radius:3px}.brand-mark span:nth-child(1){height:9px}.brand-mark span:nth-child(2){height:17px}.brand-mark span:nth-child(3){height:13px}.brand strong{font-size:18px;display:block;line-height:17px}.brand small{font-size:10px;letter-spacing:2.2px;color:#a6c3bb}.nav-list{display:flex;flex-direction:column;gap:3px}.nav-item{appearance:none;border:0;background:transparent;color:#b6cbc5;width:100%;height:44px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 13px;font:600 13px Manrope;cursor:pointer;text-align:left;transition:.2s}.nav-item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.nav-item:hover{color:#fff;background:rgba(255,255,255,.07)}.nav-item.active{color:#173e36;background:var(--lime);font-weight:800}.nav-pill{margin-left:auto;background:rgba(255,255,255,.16);padding:2px 7px;border-radius:10px;font-size:10px}.nav-item.active .nav-pill{background:#c4df56}.spark{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(216,240,108,.15)}.sidebar-footer{margin-top:auto}.help-card{margin:16px 5px;padding:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:14px}.help-icon{height:28px;width:28px;border-radius:9px;background:var(--lime);color:#164b40;display:grid;place-items:center;font-weight:800;margin-bottom:10px}.help-card strong{font-size:12px}.help-card p{font-size:10px;line-height:1.5;color:#a8beb8;margin:4px 0 10px}.help-card button{font:700 10px Manrope;color:#fff;border:0;background:transparent;padding:0;cursor:pointer}.side-user{display:flex;align-items:center;gap:9px;padding:13px 6px 0;border-top:1px solid rgba(255,255,255,.1)}.avatar{width:33px;height:33px;border-radius:10px;background:#f4c7a2;color:#664023;display:grid;place-items:center;font-weight:800;font-size:10px}.side-user div:nth-child(2){min-width:0;flex:1}.side-user strong,.side-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user strong{font-size:11px}.side-user small{font-size:9px;color:#9db4ae;margin-top:2px}.side-user>span{color:#78978f}.mobile-close{display:none}.main{grid-column:2;min-width:0}.topbar{height:74px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.period-switch,.week-nav{display:flex;align-items:center;gap:10px}.period-switch button,.week-nav button,.calendar-head button{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;color:var(--ink);cursor:pointer;font-size:18px}.period-switch strong{min-width:124px;text-align:center;font-size:13px}.top-actions,.heading-actions{display:flex;align-items:center;gap:10px}.role-switch{display:flex;align-items:center;gap:8px;border-right:1px solid var(--line);padding-right:14px}.role-switch span{color:var(--muted);font-size:11px}.role-switch select,.select-control,.legend select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 28px 8px 10px;color:var(--ink);font:600 11px Manrope}.icon-btn{position:relative;border:1px solid var(--line);background:#fff;border-radius:9px;width:38px;height:38px;display:grid;place-items:center}.icon-btn svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.8}.icon-btn i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--orange);right:7px;top:7px;border:1px solid #fff}.export-btn,.primary-btn,.soft-btn,.upload-btn{border:0;border-radius:9px;font:700 11px Manrope;height:38px;padding:0 15px;display:flex;align-items:center;gap:8px;cursor:pointer}.export-btn,.primary-btn{color:#fff;background:var(--green)}.export-btn:hover,.primary-btn:hover{background:#0c4c40}.export-btn svg,.primary-btn svg,.upload-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.soft-btn,.upload-btn{color:var(--green);background:#e7f0ed;border:1px solid #d7e5e0}.upload-btn input{display:none}.menu-btn{display:none}.view{display:none;padding:30px 32px 44px;max-width:1600px;margin:0 auto}.view.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:28px;line-height:1.18;letter-spacing:-.8px;margin:2px 0 6px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.eyebrow,.quick-kicker{font-size:9px!important;color:var(--green-2)!important;text-transform:uppercase;letter-spacing:1.4px;font-weight:800}.status-chip{align-self:center;background:#fff;border:1px solid var(--line);border-radius:30px;padding:8px 12px;color:var(--muted);font-size:9px;white-space:nowrap}.status-chip i{display:inline-block;width:7px;height:7px;background:#35a677;border-radius:50%;margin-right:5px;box-shadow:0 0 0 3px #e0f4eb}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 15px;box-shadow:var(--shadow);min-height:145px}.kpi-card.accent{background:var(--green);color:#fff;border-color:var(--green)}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-top>span{font-size:10px;color:var(--muted);font-weight:600}.accent .kpi-top>span{color:#b9d0ca}.kpi-top em{font-style:normal;color:#208f6f;background:#e3f4ed;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:800}.accent .kpi-top em{color:var(--lime);background:rgba(255,255,255,.1)}.kpi-top em.neutral{color:#53645f;background:#eef2f0}.kpi-top em.danger{color:#c04943;background:#fbe8e6}.kpi-card>strong{display:block;font-size:26px;letter-spacing:-1px;margin:12px 0 10px}.kpi-card>small,.kpi-foot small{font-size:8px;color:#92a09c}.accent>small{color:#a8c2ba}.micro-bars{height:18px;display:flex;align-items:flex-end;gap:3px;margin-bottom:5px}.micro-bars i{flex:1;background:rgba(216,240,108,.3);border-radius:2px 2px 0 0}.micro-bars i:last-child,.micro-bars i:nth-last-child(2){background:var(--lime)}.kpi-foot{display:flex;align-items:center;gap:7px}.mini-avatars{display:flex}.mini-avatars i{font-style:normal;width:25px;height:25px;border-radius:50%;background:#d8e4e0;border:2px solid white;display:grid;place-items:center;font-size:7px;margin-left:-5px}.mini-avatars i:first-child{margin-left:0;background:#f5c6aa}.mini-avatars i:nth-child(2){background:#c5d4ef}.progress{height:5px;border-radius:5px;background:#e9eeec;overflow:hidden;margin:17px 0 8px}.progress i{display:block;background:var(--green-2);height:100%;border-radius:5px}.split-meter{height:5px;display:flex;gap:2px;margin:17px 0 8px}.split-meter i{height:100%;border-radius:5px}.split-meter .under{background:var(--red)}.split-meter .ok{background:#4dae82}.split-meter .over{background:var(--orange)}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin:0 2px 0 6px}.dot:first-child{margin-left:0}.red{background:var(--red)!important}.green{background:#4dae82!important}.amber{background:var(--orange)!important}.blue{background:var(--blue)!important}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr);gap:14px;margin-top:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{padding:18px 20px 13px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.panel-head h2{font-size:14px;margin:0 0 3px}.panel-head p{font-size:9px;color:var(--muted);margin:0}.legend{display:flex;align-items:center;gap:10px;font-size:8px;color:var(--muted)}.line-dot{display:inline-block;width:15px;height:2px;margin-right:4px;vertical-align:middle}.line-dot.need{background:var(--green-2)}.line-dot.scheduled{background:var(--orange);border-top:1px dashed white}.chart-wrap{position:relative;padding:0 13px 0 10px;height:270px}.chart-wrap canvas{width:100%;height:100%}.chart-tooltip{display:none;position:absolute;pointer-events:none;background:#163f36;color:#fff;border-radius:8px;padding:7px 9px;font-size:9px;box-shadow:0 5px 15px rgba(0,0,0,.15)}.chart-insight{margin:0 18px 15px;padding:10px 12px;border-radius:10px;background:#fff7ed;display:flex;align-items:center;gap:10px}.insight-icon{width:24px;height:24px;border-radius:8px;background:#f9dfbf;color:#b6691e;display:grid;place-items:center;font-weight:800}.chart-insight p{margin:0;font-size:9px;line-height:1.6;flex:1}.chart-insight p span{color:#8a765f}.link-button{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:#9b5a19;font:800 9px Manrope;cursor:pointer}.link-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}.load-legend{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:7px}.load-legend i{width:10px;height:10px;border-radius:3px;background:#eaf2ef}.load-legend i:nth-of-type(2){background:#cbe5dc}.load-legend i:nth-of-type(3){background:#82bba8}.load-legend i:nth-of-type(4){background:#327b66}.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:0 18px 8px}.calendar-head strong{font-size:11px}.calendar-head button{border:0;background:transparent}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:0 16px}.calendar-week span{text-align:center;color:#9ba7a3;font-size:7px;padding:4px}.calendar-day{aspect-ratio:1;border-radius:7px;display:grid;place-items:center;font-size:8px;color:#53615d;position:relative}.calendar-day.muted{opacity:.25}.calendar-day.level-1{background:#edf5f2}.calendar-day.level-2{background:#cce5dc}.calendar-day.level-3{background:#8ec2b1;color:#174d40}.calendar-day.level-4{background:#2d7763;color:#fff}.calendar-day.selected{outline:2px solid var(--lime);outline-offset:1px}.calendar-day b{position:absolute;font-size:5px;bottom:3px;font-weight:500;opacity:.75}.calendar-note{display:flex;align-items:center;gap:9px;margin:13px 18px 16px;padding:9px 10px;background:#f4f8f6;border-radius:9px}.pulse-dot{width:8px;height:8px;background:var(--green-2);border-radius:50%;box-shadow:0 0 0 4px #dcefe8}.calendar-note p{font-size:8px;line-height:1.5;margin:0}.calendar-note p:not(strong){color:var(--muted)}.quick-panel{margin-top:14px;padding:16px 20px;display:flex;align-items:center;gap:35px}.quick-panel>div:first-child{min-width:235px}.quick-panel h2{font-size:13px;margin:5px 0 0}.flow-steps{display:flex;align-items:center;flex:1}.flow-steps button{border:0;background:transparent;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;padding:4px}.flow-steps button>i{width:27px;height:27px;border-radius:9px;background:#e4efeb;color:var(--green);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:9px}.flow-steps button:hover>i{background:var(--lime)}.flow-steps b,.flow-steps small{display:block}.flow-steps b{font-size:9px}.flow-steps small{color:var(--muted);font-size:7px;margin-top:2px}.flow-steps>em{height:1px;background:#dce5e2;flex:1;margin:0 7px}.forecast-layout{display:grid;grid-template-columns:minmax(500px,1.7fr) minmax(330px,1fr);gap:14px}.table-scroll{overflow:auto;max-height:600px}.data-table{border-collapse:collapse;width:100%;font-size:10px}.data-table th{position:sticky;top:0;background:#f7f9f8;color:#83908c;font-size:8px;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:10px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:1}.data-table td{padding:9px 16px;border-bottom:1px solid #eff2f0}.data-table tr:hover td{background:#f9fbfa}.data-table input{width:90px;border:1px solid transparent;background:transparent;padding:6px 8px;border-radius:7px;font:600 10px Manrope}.data-table input:focus{outline:0;border-color:#8ec2b1;background:#fff}.day-name{color:var(--muted)}.change-up{color:#288764}.change-down{color:#c65b55}.profile-panel{align-self:start}.sum-badge{font-size:9px;background:#e3f4ed;color:#19785d;padding:5px 8px;border-radius:15px;font-weight:800}.sum-badge.invalid{background:#fbe8e6;color:#c04943}.hour-profile{padding:3px 20px 10px;display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;max-height:535px;overflow:auto}.profile-row{display:grid;grid-template-columns:36px 1fr 48px;gap:7px;align-items:center;font-size:8px}.profile-bar{height:5px;background:#edf1ef;border-radius:5px;overflow:hidden}.profile-bar i{display:block;height:100%;background:var(--green-2);border-radius:5px}.profile-row input{width:48px;border:1px solid var(--line);border-radius:6px;padding:5px;font:600 8px Manrope;text-align:right}.profile-footer{border-top:1px solid var(--line);padding:13px 20px;display:flex;justify-content:space-between;font-size:10px}.parameter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.parameter-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:var(--shadow)}.parameter-card>span{font-weight:700;font-size:10px}.parameter-card>div{display:flex;align-items:baseline;margin:8px 0}.parameter-card input{width:100%;border:0;font:800 23px Manrope;color:var(--ink);outline:0}.parameter-card b{font-size:10px;color:var(--muted)}.parameter-card small{font-size:7px;color:#8f9b97;line-height:1.4;display:block}.erlang-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#173f36;border-radius:15px;padding:13px;margin-bottom:14px;color:#fff}.erlang-summary article{padding:8px 14px;border-right:1px solid rgba(255,255,255,.12)}.erlang-summary article:last-child{border:0}.erlang-summary span,.erlang-summary strong{display:block}.erlang-summary span{color:#a9c0ba;font-size:8px;margin-bottom:7px}.erlang-summary strong{font-size:19px}.erlang-summary .highlight{background:var(--lime);color:#173f36;border:0;border-radius:10px}.erlang-summary .highlight span{color:#4b6a62}.compact td{padding:8px 16px}.solver-layout{display:grid;grid-template-columns:300px 1fr;gap:14px}.solver-settings{padding-bottom:17px;align-self:start}.solver-settings>label{display:block;margin:0 20px 14px}.solver-settings label>span{display:block;font-size:9px;font-weight:700;margin-bottom:6px}.solver-settings select,.solver-settings input[type=number]{width:100%;height:36px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 9px;font:600 10px Manrope}.inline-input{position:relative}.inline-input b{position:absolute;right:10px;top:9px;font-size:9px;color:var(--muted)}.solver-settings input[type=range]{width:100%;accent-color:var(--green)}.solver-settings label small{display:block;color:var(--muted);font-size:7px;margin-top:3px}.solver-note{margin:5px 18px 0;padding:10px;background:#eff6f3;border-radius:9px;display:flex;gap:8px}.solver-note i{font-style:normal;width:17px;height:17px;border-radius:50%;background:#cbe5dc;color:var(--green);display:grid;place-items:center;font-size:8px;font-weight:800}.solver-note p{font-size:7px;line-height:1.55;color:#587069;margin:0;flex:1}.solver-result{min-height:520px}.solver-score{text-align:right}.solver-score span,.solver-score strong{display:block}.solver-score span{font-size:7px;color:var(--muted)}.solver-score strong{font-size:18px;color:var(--green-2)}.solver-bars{height:175px;margin:0 20px 15px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;gap:4px;padding-top:15px}.solver-hour{flex:1;height:100%;display:flex;align-items:flex-end;position:relative}.solver-hour .need-bar{width:70%;margin:auto;background:#dce9e5;border-radius:3px 3px 0 0;position:absolute;bottom:0;left:15%}.solver-hour .cover-bar{width:32%;margin:auto;background:var(--green-2);border-radius:3px 3px 0 0;position:absolute;bottom:0;left:34%}.solver-hour label{position:absolute;bottom:-14px;width:100%;text-align:center;font-size:6px;color:var(--muted)}.shift-list{padding:0 20px 20px}.shift-row{display:grid;grid-template-columns:90px 120px 1fr 70px;gap:12px;align-items:center;border-top:1px solid var(--line);padding:11px 4px;font-size:9px}.shift-time{font-weight:800}.shift-count{display:flex;align-items:center;gap:6px}.shift-count button{width:20px;height:20px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}.shift-coverage{height:5px;background:#edf1ef;border-radius:5px;overflow:hidden}.shift-coverage i{display:block;background:#54a98a;height:100%}.shift-row strong:last-child{text-align:right;color:var(--green)}.empty-state{text-align:center;padding:70px 20px}.empty-state>div{width:46px;height:46px;border-radius:15px;background:#e8f1ee;display:grid;place-items:center;margin:auto}.empty-state svg{width:22px;height:22px;fill:none;stroke:var(--green);stroke-width:1.7}.empty-state h3{font-size:12px;margin:12px 0 4px}.empty-state p{font-size:9px;color:var(--muted)}.schedule-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.segmented{background:#e5ebe8;border-radius:9px;padding:3px;display:flex}.segmented button{border:0;background:transparent;border-radius:7px;padding:7px 12px;font:700 9px Manrope;color:var(--muted);cursor:pointer}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.07)}.week-nav strong{font-size:11px;min-width:110px;text-align:center}.schedule-legend{display:flex;gap:12px;font-size:8px;color:var(--muted)}.heat{width:9px;height:9px;display:inline-block;border-radius:3px;margin-right:4px;vertical-align:middle}.heat.under{background:#f3b1ad}.heat.ok{background:#9bd0bd}.heat.over{background:#f2c28f}.schedule-scroll{overflow:auto}.schedule-table{display:grid;min-width:930px}.schedule-row{display:grid;grid-template-columns:175px repeat(7,minmax(105px,1fr));border-bottom:1px solid var(--line)}.schedule-cell{min-height:55px;border-right:1px solid var(--line);padding:8px;display:flex;align-items:center;justify-content:center;position:relative}.schedule-row.header .schedule-cell{min-height:45px;background:#f7f9f8;display:block;text-align:center;font-size:8px;color:var(--muted)}.schedule-row.header .schedule-cell b{display:block;color:var(--ink);font-size:10px;margin-top:3px}.employee-cell{justify-content:flex-start;gap:8px}.employee-cell .avatar{flex:0 0 auto}.employee-cell b,.employee-cell small{display:block}.employee-cell b{font-size:9px}.employee-cell small{font-size:7px;color:var(--muted);margin-top:2px}.shift-chip{width:100%;border-radius:7px;background:#dfece8;color:#245c4e;text-align:center;padding:7px 4px;font-size:8px;font-weight:700;cursor:pointer}.shift-chip.day-off{background:#f1f3f2;color:#9ca6a3}.coverage-cell{flex-direction:column;color:#173f36;font-weight:800;font-size:10px}.coverage-cell small{font-size:6px;font-weight:500;opacity:.7}.coverage-under{background:#f9d9d6}.coverage-ok{background:#d9eee6}.coverage-over{background:#f9e5cf}.schedule-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.schedule-stats article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;display:flex;align-items:center;gap:8px;font-size:8px;color:var(--muted)}.schedule-stats article>i{width:8px;height:8px;border-radius:50%}.schedule-stats b{font-size:10px;color:var(--ink);margin-right:3px}.simple-view .panel{min-height:300px}.team-table{width:100%;border-collapse:collapse}.team-table td,.team-table th{padding:13px 20px;border-bottom:1px solid var(--line);text-align:left;font-size:10px}.team-table th{font-size:8px;color:var(--muted);background:#f7f9f8}.person{display:flex;align-items:center;gap:9px}.person b,.person small{display:block}.person small{color:var(--muted);font-size:7px}.skill-tag{background:#e6f0ed;color:#2e6c5b;padding:5px 7px;border-radius:12px;font-size:7px}.status-active{color:#1d805f}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.report-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;min-height:210px}.report-card .report-icon{width:35px;height:35px;border-radius:11px;background:#e4efeb;display:grid;place-items:center}.report-card svg{width:18px;height:18px;fill:none;stroke:var(--green);stroke-width:1.8}.report-card h2{font-size:13px;margin:14px 0 5px}.report-card p{font-size:9px;color:var(--muted);line-height:1.6;min-height:42px}.report-card button{border:0;background:transparent;padding:0;color:var(--green);font:800 9px Manrope;cursor:pointer}.settings-placeholder{text-align:center;padding:70px 20px}.settings-icon{width:48px;height:48px;border-radius:15px;background:#e4efeb;display:grid;place-items:center;margin:auto}.settings-icon svg{width:24px;height:24px;fill:none;stroke:var(--green);stroke-width:1.6}.settings-placeholder h2{font-size:15px;margin:15px 0 6px}.settings-placeholder p{font-size:10px;color:var(--muted)}.toast{position:fixed;right:24px;bottom:24px;background:#173f36;color:#fff;padding:12px 16px;border-radius:11px;display:flex;align-items:center;gap:9px;z-index:50;box-shadow:0 12px 35px rgba(0,0,0,.2);transform:translateY(90px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.toast span{width:21px;height:21px;border-radius:50%;background:var(--lime);color:#173f36;display:grid;place-items:center;font-weight:800}.toast p{margin:0;font-size:10px}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(11,35,29,.5);z-index:60;place-items:center;padding:20px}.modal-backdrop.show{display:grid}.modal{position:relative;background:#fff;border-radius:18px;padding:28px;max-width:470px;width:100%;box-shadow:0 25px 70px rgba(0,0,0,.25)}.modal h2{font-size:20px;margin:6px 0 15px}.modal ol{padding-left:20px;font-size:10px;line-height:1.8;color:#54645f}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:22px;cursor:pointer;color:var(--muted)}body.readonly .edit-only,body.readonly #runSolver,body.readonly #calculateErlang,body.readonly #saveForecast,body.readonly #addEmployee,body.readonly #copyWeek,body.readonly .upload-btn{display:none!important}body.operator .nav-item[data-view="forecast"],body.operator .nav-item[data-view="erlang"],body.operator .nav-item[data-view="solver"],body.operator .nav-item[data-view="team"],body.operator .nav-item[data-view="reports"],body.operator .nav-item[data-view="settings"],body.operator .export-btn{display:none}body.supervisor .nav-item[data-view="forecast"],body.supervisor .nav-item[data-view="erlang"],body.supervisor .nav-item[data-view="solver"],body.supervisor .export-btn{display:none}
.library-badge{height:38px;border:1px solid #cfe0da;background:#f4f9f7;border-radius:9px;padding:0 12px;display:flex;align-items:center;gap:7px;color:#42645b;font-size:9px;font-weight:800}.library-badge i{width:7px;height:7px;border-radius:50%;background:#36a67b;box-shadow:0 0 0 3px #dff2eb}.solver-config-grid{display:grid;grid-template-columns:minmax(600px,1.8fr) minmax(330px,1fr);gap:14px;margin-bottom:14px}.shift-constructor{min-width:0}.template-table-wrap{overflow:auto;padding-bottom:10px}.template-table{border-collapse:collapse;width:100%;min-width:720px}.template-table th{background:#f7f9f8;color:#7e8d88;text-transform:uppercase;letter-spacing:.5px;font-size:7px;text-align:left;padding:9px 8px;border-block:1px solid var(--line)}.template-table th:first-child,.template-table td:first-child{padding-left:18px}.template-table td{padding:8px;border-bottom:1px solid #edf1ef}.template-table input,.template-table select{height:31px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 7px;font:600 9px Manrope;color:var(--ink)}.template-table input[type=checkbox]{height:15px;width:15px;accent-color:var(--green)}.template-table .template-name{width:105px}.template-table input[type=time]{width:82px}.template-table input[type=number]{width:55px}.template-break{display:flex;align-items:center;gap:4px}.template-break select{width:67px}.delete-template{width:27px;height:27px;border:0;border-radius:7px;background:#f8e9e7;color:#bd5750;cursor:pointer;font-size:15px}.constraint-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px 12px}.constraint-grid label>span{display:block;font-size:8px;font-weight:700;margin-bottom:5px}.constraint-grid input[type=number]{height:34px;width:100%;border:1px solid var(--line);border-radius:8px;padding:0 9px;font:600 9px Manrope}.constraint-grid input[type=range]{width:100%;accent-color:var(--green)}.constraint-grid small{display:block;font-size:7px;color:var(--muted)}.solver-result{margin-top:0}.solver-status{display:flex;gap:7px;flex-wrap:wrap;padding:0 20px}.solver-status span{font-size:8px;padding:5px 8px;border-radius:15px;background:#e4f2ed;color:#26755f}.solver-status span.warn{background:#fbe9dc;color:#a65b25}.shift-row{grid-template-columns:150px 120px 1fr 90px}.shift-time small{display:block;font-size:7px;color:var(--muted);margin-top:3px}.solver-hour .cover-bar{background:var(--green-2)}
.schedule-panel .schedule-scroll{max-height:510px}.schedule-table{min-width:1160px}.schedule-row{grid-template-columns:185px repeat(7,minmax(120px,1fr)) 75px}.schedule-row.header{position:sticky;top:0;z-index:4}.schedule-row.footer{position:sticky;bottom:0;z-index:3}.schedule-cell{min-height:76px;padding:7px}.schedule-row.header .schedule-cell{min-height:48px}.shift-chip{border:1px solid #d2e4de;background:#edf6f3;padding:7px;text-align:left;min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:3px}.shift-chip:hover{border-color:#78ae9e;background:#e5f2ed}.shift-chip .shift-interval{font-size:9px;font-weight:800;color:#174e40;white-space:nowrap}.shift-chip .shift-break{font-size:6px;color:#8a6b42;background:#f8ead9;border-radius:4px;padding:2px 4px;width:max-content}.shift-chip .shift-hours{font-size:7px;color:#60716c}.shift-chip.day-off{align-items:center;justify-content:center;text-align:center}.shift-chip.day-off .shift-interval{color:#929e9a}.timesheet-total{background:#f7f9f8;font-size:11px;font-weight:800;color:var(--green)}.schedule-row.footer .schedule-cell{min-height:44px;background:#163f36;color:#fff;border-color:rgba(255,255,255,.08);font-size:9px;font-weight:800}.schedule-row.footer .schedule-cell small{display:block;color:#a9c3bb;font-size:6px;font-weight:500}.schedule-analysis{margin-top:14px}.analysis-controls{display:flex;align-items:center;gap:11px}.chart-legend{font-size:8px;color:var(--muted)}.chart-legend:before{content:"";display:inline-block;width:14px;height:2px;margin-right:5px;vertical-align:middle}.chart-legend.need:before{background:var(--green)}.chart-legend.plan:before{background:var(--orange)}.chart-legend.fact:before{background:var(--blue)}.schedule-chart-wrap{height:290px;padding:0 18px 18px;position:relative}.schedule-chart-wrap canvas{height:100%;width:100%}.shift-modal{max-width:560px}.shift-edit-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}.shift-edit-grid label>span{display:block;font-size:8px;font-weight:700;margin-bottom:5px}.shift-edit-grid input,.shift-edit-grid select,.break-edit-row input,.break-edit-row select{width:100%;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 9px;font:600 10px Manrope}.break-editor-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px}.break-editor-head b,.break-editor-head small{display:block}.break-editor-head b{font-size:11px}.break-editor-head small{font-size:7px;color:var(--muted);margin-top:2px}.break-edit-list{display:flex;flex-direction:column;gap:7px}.break-edit-row{display:grid;grid-template-columns:1fr 1fr 32px;gap:7px}.break-edit-row button{border:0;background:#f8e9e7;color:#b94f48;border-radius:8px;cursor:pointer}.shift-total-preview{display:flex;align-items:center;justify-content:space-between;background:#edf5f2;border-radius:10px;padding:12px 14px;margin-top:14px}.shift-total-preview span{font-size:9px;color:#5b716a}.shift-total-preview strong{font-size:16px;color:var(--green)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}body.operator .schedule-stats,body.operator .schedule-controls .segmented,body.operator .schedule-legend{display:none}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.parameter-grid{grid-template-columns:repeat(3,1fr)}.quick-panel{align-items:flex-start;flex-direction:column;gap:15px}.flow-steps{width:100%}.forecast-layout{grid-template-columns:1fr}.profile-panel{width:100%}.solver-config-grid{grid-template-columns:1fr}.analysis-controls{flex-wrap:wrap}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobile-close{display:block;position:absolute;right:12px;top:17px;border:0;background:transparent;color:#fff;font-size:24px}.main{width:100%}.topbar{height:62px;padding:0 14px}.menu-btn{display:block;border:0;background:transparent;font-size:20px}.period-switch{display:none}.role-switch span{display:none}.role-switch{border:0;padding:0}.role-switch select{max-width:135px}.export-btn{width:38px;padding:0;font-size:0;justify-content:center}.view{padding:22px 14px 36px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:23px}.kpi-grid{grid-template-columns:1fr}.parameter-grid,.erlang-summary,.schedule-stats,.report-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.solver-layout{grid-template-columns:1fr}.solver-settings{width:100%}.flow-steps{overflow:auto}.flow-steps>em{min-width:20px}.legend span{display:none}.quick-panel{display:none}.hour-profile{grid-template-columns:1fr}.heading-actions{width:100%;flex-wrap:wrap}.schedule-controls{align-items:flex-start;gap:10px;flex-wrap:wrap}.schedule-legend{width:100%}.top-actions{gap:6px}.icon-btn{display:none}}
@media(max-width:450px){.parameter-grid,.erlang-summary,.schedule-stats,.report-grid,.constraint-grid{grid-template-columns:1fr}.role-switch{display:none}.forecast-layout{display:block}.panel-head{padding:15px}.chart-wrap{height:230px}.chart-insight button{display:none}.library-badge{display:none}.shift-edit-grid{grid-template-columns:1fr}.schedule-chart-wrap{height:240px}}
.template-table-wrap{max-height:330px}
.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.demand-panel{min-width:0}
.monthly-forecast-card{display:flex;align-items:center;gap:28px;padding:18px 20px;margin-bottom:14px}.monthly-forecast-card>div{flex:1}.monthly-forecast-card h2{font-size:15px;margin:4px 0}.monthly-forecast-card p{font-size:9px;color:var(--muted);margin:0}.monthly-forecast-card label{display:flex;align-items:baseline;border:1px solid #cfe0da;border-radius:11px;background:#f7faf9;padding:6px 13px;min-width:220px}.monthly-forecast-card input{border:0;background:transparent;outline:0;width:145px;font:800 23px Manrope;color:var(--green)}.monthly-forecast-card label span{font-size:8px;color:var(--muted)}.forecast-profiles-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:14px;margin-bottom:14px}.distribution-panel,.profile-panel{min-width:0}.distribution-list{padding:2px 18px 10px}.distribution-row{display:grid;grid-template-columns:92px 1fr 54px 10px;align-items:center;gap:7px;min-height:43px;border-bottom:1px solid #eff2f0}.distribution-row>span b,.distribution-row>span small{display:block}.distribution-row>span b{font-size:8px}.distribution-row>span small{font-size:6px;color:var(--muted);margin-top:2px}.distribution-row>i{height:5px;background:#edf2f0;border-radius:4px;overflow:hidden}.distribution-row>i em{display:block;height:100%;background:var(--green-2);border-radius:4px}.distribution-row>input{width:54px;border:1px solid var(--line);border-radius:6px;padding:5px;font:700 8px Manrope;text-align:right}.distribution-row>b{font-size:7px;color:var(--muted)}.weekday-list .distribution-row{min-height:31px}.forecast-profiles-grid .hour-profile{max-height:320px}.daily-forecast-panel .table-scroll{max-height:520px}.forecast-check{font-size:8px;color:#26775f;background:#e4f2ed;border-radius:18px;padding:6px 9px}.forecast-check.invalid{color:#b1524c;background:#fbe8e6}.date-range{display:block;color:var(--muted);font-size:6px;margin-top:2px}
.month-schedule-label{text-align:center}.month-schedule-label strong,.month-schedule-label span{display:block}.month-schedule-label strong{font-size:11px}.month-schedule-label span{font-size:7px;color:var(--muted);margin-top:2px}.schedule-panel .schedule-scroll{max-height:570px}.schedule-table{min-width:3150px}.schedule-row{grid-template-columns:220px repeat(31,92px) 80px}.schedule-row>.schedule-cell:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:3px 0 7px rgba(24,55,47,.05)}.schedule-row>.schedule-cell:last-child{position:sticky;right:0;z-index:2;background:#f7f9f8;box-shadow:-3px 0 7px rgba(24,55,47,.05)}.schedule-row.header>.schedule-cell:first-child,.schedule-row.header>.schedule-cell:last-child{z-index:6}.schedule-row.footer>.schedule-cell:first-child,.schedule-row.footer>.schedule-cell:last-child{background:#163f36}.schedule-cell{min-height:61px}.schedule-row.header .schedule-cell{min-height:47px;border:0;border-right:1px solid var(--line)}.date-header{appearance:none;cursor:pointer;font-family:Manrope}.date-header b,.date-header small{display:block}.date-header.selected{background:#dff1ea!important;box-shadow:inset 0 -3px 0 var(--green-2)}.date-header:hover{background:#eef6f3}.employee-cell em{display:block;font-style:normal;font-size:7px;color:#3184d4;margin-top:3px}.shift-chip{min-height:45px;padding:5px;align-items:center;text-align:center;border:0;border-radius:0;background:transparent}.shift-chip.tone-0{background:#fffdf1}.shift-chip.tone-1{background:#dceafb}.shift-chip.tone-2{background:#edf6f3}.shift-chip .shift-interval{font-size:8px;color:#101815}.shift-chip .shift-hours{font-size:9px;font-weight:800;color:#101815}.shift-code{font-size:11px;font-weight:800}.shift-chip.status-vacation{background:#d4d4d4}.shift-chip.status-sick{background:#eee}.break-dot{position:absolute;right:4px;top:4px;width:5px;height:5px;border-radius:50%;background:#e34f47}.coverage-summary-row .schedule-cell{min-height:64px}.coverage-summary-row button{border:0;font:700 9px Manrope;cursor:pointer}.day-drilldown{margin-top:18px;scroll-margin-top:85px}.day-drilldown.collapsed{display:none}.day-drilldown-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:11px}.day-drilldown-head h2{font-size:18px;margin:4px 0}.day-drilldown-head p{font-size:9px;color:var(--muted);margin:0}.timeline-panel{overflow:hidden;margin-bottom:14px}.timeline-axis{height:35px;margin-left:205px;position:relative;border-bottom:1px solid var(--line)}.timeline-axis>span{position:absolute;left:-205px;width:205px;height:100%;background:#f7f9f8}.timeline-axis b{position:absolute;bottom:8px;transform:translateX(-50%);font-size:7px;color:var(--muted)}.operator-timelines{max-height:430px;overflow:auto}.timeline-row{display:grid;grid-template-columns:205px 1fr;min-height:49px;border-bottom:1px solid var(--line)}.timeline-person{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border-right:1px solid var(--line);position:sticky;left:0;z-index:2}.timeline-person .avatar{width:28px;height:28px}.timeline-person b{font-size:8px}.timeline-track{position:relative;background:repeating-linear-gradient(to right,#fff 0,#fff calc(12.5% - 1px),#edf1ef calc(12.5% - 1px),#edf1ef 12.5%)}.timeline-shift{position:absolute;top:8px;height:33px;border-radius:7px;background:#bcded2;color:#174f41;padding:4px 7px;min-width:40px;overflow:hidden}.timeline-shift b,.timeline-shift small{display:block;white-space:nowrap}.timeline-shift b{font-size:8px}.timeline-shift small{font-size:6px;margin-top:2px}.timeline-shift i{position:absolute;top:0;height:100%;background:#f2c38e;opacity:.85}.timeline-absence{position:absolute;left:2%;top:12px;color:#87938f;font-size:8px;font-weight:800}.schedule-analysis{margin-top:0}
@media(max-width:1100px){.forecast-profiles-grid{grid-template-columns:1fr 1fr}.forecast-profiles-grid .profile-panel{grid-column:1/-1}.monthly-forecast-card{flex-wrap:wrap}.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.forecast-profiles-grid,.kpi-grid{grid-template-columns:1fr}.forecast-profiles-grid .profile-panel{grid-column:auto}.monthly-forecast-card{align-items:flex-start;flex-direction:column}.monthly-forecast-card label{width:100%}.day-drilldown-head{align-items:flex-start;flex-direction:column;gap:10px}}
.profile-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.mini-action{height:25px;border:1px solid #d4e4de;background:#eef6f3;color:var(--green);border-radius:7px;padding:0 8px;font:700 7px Manrope;cursor:pointer}.mini-action.upload{display:flex;align-items:center}.mini-action input{display:none}.hour-profile-table{padding:0 18px}.hour-profile-header{display:grid;grid-template-columns:1fr 70px 12px;gap:8px;color:#899590;text-transform:uppercase;font-size:7px;border-block:1px solid var(--line);padding:7px 0}.hour-profile{display:grid;grid-template-columns:1fr;gap:0;padding:0;max-height:300px}.profile-row.simple{display:grid;grid-template-columns:1fr 70px 12px;gap:8px;min-height:31px;border-bottom:1px solid #eef2f0;align-items:center}.profile-row.simple span{font-size:8px;font-weight:700}.profile-row.simple input{width:70px;height:25px}.profile-row.simple b{font-size:7px;color:var(--muted)}
.solver-heatmap{padding:4px 20px 18px;display:grid;grid-template-columns:105px 1fr;gap:8px}.heatmap-labels{display:grid;grid-template-rows:repeat(4,28px);border:1px solid var(--line);border-radius:9px;overflow:hidden}.heatmap-labels b{display:flex;align-items:center;padding:0 9px;background:#f7f9f8;border-bottom:1px solid var(--line);font-size:7px;color:#65736f}.heatmap-hours{display:grid;grid-template-columns:repeat(24,minmax(48px,1fr));overflow:auto;border:1px solid var(--line);border-radius:9px}.solver-heat-cell{display:grid;grid-template-rows:repeat(4,28px);min-width:48px;text-align:center;border-right:1px solid rgba(255,255,255,.6)}.solver-heat-cell>*{display:grid;place-items:center;font-size:7px}.solver-heat-cell b{background:#f7f9f8;color:#61706b}.solver-heat-cell.deficit span,.solver-heat-cell.deficit strong{background:#fae1df;color:#9e3d38}.solver-heat-cell.surplus span,.solver-heat-cell.surplus strong{background:#faead7;color:#9a5b20}.solver-heat-cell.balanced span,.solver-heat-cell.balanced strong{background:#ddf0e9;color:#236b57}.solver-heat-cell strong{font-size:8px}
.schedule-row>.schedule-cell{padding:0}.schedule-row>.employee-cell{padding:8px 10px}.schedule-row.header>.schedule-cell{display:flex;align-items:center;justify-content:center}.schedule-row.header>.employee-cell{justify-content:flex-start}.shift-chip{width:100%;height:100%;min-height:61px;border-radius:0;padding:4px 2px}.schedule-row.footer>.schedule-cell{padding:5px}.schedule-row.footer>.employee-cell{padding:8px 10px}.schedule-row>.timesheet-total{display:flex;align-items:center;justify-content:center}.date-header{border:0;flex-direction:row;gap:3px}.date-header small{font-size:7px}.day-drilldown.collapsed{display:none}
.annual-upload-card{display:grid;grid-template-columns:54px 1fr minmax(290px,.7fr);align-items:center;gap:18px;padding:20px;margin-bottom:14px}.annual-upload-icon{width:52px;height:52px;border-radius:15px;background:#dff0ea;color:var(--green);display:grid;place-items:center}.annual-upload-icon svg,.annual-drop svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.annual-upload-card h2{font-size:16px;margin:4px 0}.annual-upload-card p{font-size:9px;color:var(--muted);margin:0}.annual-upload-card p b{color:var(--green)}.annual-drop{border:1px dashed #8db8ab;background:#f4faf8;border-radius:12px;min-height:66px;padding:12px 15px;display:flex;align-items:center;gap:11px;color:var(--green);cursor:pointer}.annual-drop:hover{background:#e9f5f1}.annual-drop input{display:none}.annual-drop span b,.annual-drop span small{display:block}.annual-drop span b{font-size:10px}.annual-drop span small{font-size:7px;color:var(--muted);margin-top:3px}.annual-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.annual-kpis article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 16px;box-shadow:var(--shadow)}.annual-kpis span,.annual-kpis strong{display:block}.annual-kpis span{font-size:8px;color:var(--muted);margin-bottom:7px}.annual-kpis strong{font-size:16px}.annual-kpis strong.valid{color:#21815f}.annual-kpis strong.invalid{color:#c5524c}.annual-forecast-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:14px}.annual-month-bars{padding:2px 20px 18px;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px}.annual-month{display:grid;grid-template-columns:115px 1fr;align-items:center;gap:9px}.annual-month span{display:flex;justify-content:space-between;gap:5px}.annual-month b{font-size:8px}.annual-month strong{font-size:7px;color:var(--muted)}.annual-month>i{height:7px;border-radius:5px;background:#edf2f0;overflow:hidden}.annual-month>i em{display:block;height:100%;border-radius:5px;background:var(--green-2)}.validation-list{padding:0 20px 18px}.validation-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.validation-item>i{font-style:normal;width:25px;height:25px;border-radius:8px;background:#e6eeeb;color:#64736e;display:grid;place-items:center;font-weight:800}.validation-item.ok>i{background:#def1e9;color:#258060}.validation-item.warn>i{background:#fbe4e1;color:#bd514a}.validation-item span b,.validation-item span small{display:block}.validation-item span b{font-size:9px}.validation-item span small{font-size:7px;color:var(--muted);margin-top:2px}.annual-preview .table-scroll{max-height:520px}.annual-preview .data-table td{padding-block:7px}
@media(max-width:1000px){.annual-kpis{grid-template-columns:repeat(3,1fr)}.annual-forecast-grid{grid-template-columns:1fr}.annual-upload-card{grid-template-columns:54px 1fr}.annual-drop{grid-column:1/-1}}
@media(max-width:600px){.annual-kpis{grid-template-columns:1fr 1fr}.annual-upload-card{grid-template-columns:1fr}.annual-upload-icon{display:none}.annual-month-bars{grid-template-columns:1fr}}

/* Navigation collapse, notifications and annual dashboard refinements */
.app-shell{transition:grid-template-columns .22s ease}.sidebar{transition:width .22s ease,transform .25s}.topbar-left{display:flex;align-items:center;gap:14px}.sidebar-toggle{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);font:700 20px/1 Manrope;cursor:pointer}.sidebar-toggle:hover{background:#edf5f2}.dashboard-grid{grid-template-columns:1fr}.bar-dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:middle}.bar-dot.forecast{background:var(--green-2)}.bar-dot.fte{background:var(--orange)}
body.sidebar-collapsed .app-shell{grid-template-columns:72px 1fr}body.sidebar-collapsed .sidebar{width:72px;padding-inline:10px}body.sidebar-collapsed .brand{padding-inline:9px;justify-content:center}body.sidebar-collapsed .brand>div:last-child,body.sidebar-collapsed .nav-item span,body.sidebar-collapsed .nav-pill,body.sidebar-collapsed .spark,body.sidebar-collapsed .sidebar-footer{display:none}body.sidebar-collapsed .nav-item{justify-content:center;padding:0}body.sidebar-collapsed .nav-item svg{width:21px;height:21px}
.notification-wrap{position:relative}.notification-panel{display:none;position:absolute;right:0;top:47px;width:330px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(21,50,42,.18);padding:8px;z-index:30}.notification-panel.show{display:block}.notification-head{display:flex;align-items:center;justify-content:space-between;padding:9px 10px 11px;border-bottom:1px solid var(--line)}.notification-head b,.notification-head small{display:block}.notification-head b{font-size:12px}.notification-head small{font-size:8px;color:var(--muted);margin-top:2px}.notification-head button{border:0;background:transparent;color:var(--green);font:700 8px Manrope;cursor:pointer}.notification-panel>button{width:100%;border:0;background:#fff;border-radius:9px;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:11px 10px;cursor:pointer}.notification-panel>button:hover{background:#f3f8f6}.notification-panel>button i{font-style:normal;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;font-size:9px;font-weight:800}.notification-panel>button span b,.notification-panel>button span small{display:block}.notification-panel>button span b{font-size:9px}.notification-panel>button span small{font-size:7px;color:var(--muted);margin-top:3px}.notice-green{background:#def1e9;color:#258060}.notice-orange{background:#fbe9d8;color:#b66b24}.notice-blue{background:#e4ebfa;color:#4e6fc7}.notification-panel.read .notification-head small{visibility:hidden}
.annual-kpis{grid-template-columns:repeat(4,1fr)}.annual-forecast-grid{grid-template-columns:1fr}.annual-month-bars{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.annual-kpis{grid-template-columns:repeat(2,1fr)}.annual-month-bars{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar-toggle{display:none}body.sidebar-collapsed .app-shell{display:block}body.sidebar-collapsed .sidebar{width:244px;padding:27px 16px 18px}body.sidebar-collapsed .brand>div:last-child,body.sidebar-collapsed .nav-item span,body.sidebar-collapsed .nav-pill,body.sidebar-collapsed .spark,body.sidebar-collapsed .sidebar-footer{display:initial}body.sidebar-collapsed .nav-item{justify-content:flex-start;padding:0 13px}.notification-panel{position:fixed;top:66px;left:14px;right:14px;width:auto}.annual-month-bars{grid-template-columns:1fr}}

/* Readable typography: important values never fall below 10px on desktop. */
.panel-head h2{font-size:16px}.panel-head p,.page-heading p{font-size:12px}.legend,.chart-insight p,.link-button,.chart-tooltip{font-size:11px}.chart-tooltip{line-height:1.55;padding:9px 11px}.kpi-top>span{font-size:12px}.kpi-card>strong{font-size:30px}.kpi-card>small,.kpi-foot small{font-size:10px}.kpi-top em{font-size:10px}.annual-upload-card p{font-size:11px}.annual-drop span b{font-size:12px}.annual-drop span small{font-size:10px}.annual-kpis span{font-size:11px}.annual-kpis strong{font-size:22px}.annual-month{grid-template-columns:150px 1fr}.annual-month b{font-size:11px}.annual-month strong{font-size:11px;color:#53645f}.annual-month>i{height:9px}.data-table{font-size:12px}.data-table th{font-size:10px;padding:12px 16px}.data-table td{padding:11px 16px}.annual-preview .data-table td{padding-block:10px}.parameter-card>span,.parameter-card b{font-size:12px}.parameter-card small{font-size:10px}.parameter-card input{font-size:26px}.erlang-summary span{font-size:11px}.erlang-summary strong{font-size:23px}.flow-steps b{font-size:11px}.flow-steps small{font-size:9px}.status-chip{font-size:10px}.notification-head small,.notification-head button{font-size:10px}.notification-panel>button span b{font-size:11px}.notification-panel>button span small{font-size:10px;line-height:1.4}.schedule-table{min-width:3420px}.schedule-row{grid-template-columns:230px repeat(31,100px) 90px}.date-header b,.schedule-row.header .schedule-cell b{font-size:11px}.date-header small,.employee-cell em{font-size:9px}.employee-cell b{font-size:11px}.employee-cell small{font-size:9px}.shift-chip .shift-interval{font-size:11px}.shift-chip .shift-hours{font-size:11px}.shift-code{font-size:13px}.timesheet-total{font-size:13px}.coverage-summary-row button{font-size:11px}.schedule-row.footer .schedule-cell{font-size:11px}.schedule-row.footer .schedule-cell small{font-size:9px}.schedule-stats article{font-size:10px}.schedule-stats b{font-size:12px}.month-schedule-label strong{font-size:13px}.month-schedule-label span,.schedule-legend,.chart-legend{font-size:10px}.solver-heatmap{grid-template-columns:125px 1fr}.heatmap-labels b,.solver-heat-cell>*{font-size:10px}.solver-heat-cell strong{font-size:11px}.heatmap-hours{grid-template-columns:repeat(24,minmax(58px,1fr))}.solver-heat-cell{min-width:58px}.shift-row{font-size:11px}.shift-time small,.solver-score span,.constraint-grid small,.solver-note p{font-size:9px}.solver-status span{font-size:10px}.timeline-axis b,.timeline-person b,.timeline-shift b{font-size:10px}.timeline-shift small{font-size:9px}
@media(max-width:760px){.kpi-card>strong{font-size:27px}.annual-kpis strong{font-size:19px}.annual-month{grid-template-columns:125px 1fr}.data-table{font-size:11px}.panel-head h2{font-size:15px}}

.dashboard-period-row{display:flex;justify-content:flex-end;margin:-8px 0 12px}.dashboard-month-control{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 11px 9px 15px;box-shadow:var(--shadow)}.dashboard-month-control span{font-size:11px;font-weight:700;color:var(--muted)}.dashboard-month-control select{min-width:175px;height:38px;border:1px solid #d8e3df;border-radius:9px;background:#f7faf9;color:var(--ink);padding:0 34px 0 12px;font:700 12px Manrope;cursor:pointer}.schedule-table .schedule-row{grid-template-columns:230px repeat(var(--schedule-days,31),100px) 90px}
@media(max-width:760px){.dashboard-period-row{justify-content:stretch}.dashboard-month-control{width:100%;justify-content:space-between}.dashboard-month-control select{flex:1;max-width:220px}}

/* Compact annual forecast workspace. */
#view-forecast{padding-top:18px}#view-forecast .page-heading{display:grid;grid-template-columns:max-content auto;justify-content:start;align-items:end;gap:24px;margin-bottom:14px}#view-forecast .page-heading h1{margin-bottom:4px}#view-forecast .heading-actions{width:auto!important;flex:0 0 auto;flex-wrap:nowrap}#view-forecast .heading-actions button{justify-content:center;white-space:nowrap}#view-forecast #downloadYearTemplate{width:180px!important;min-width:180px;flex:0 0 180px!important}#view-forecast #saveForecast{width:150px!important;min-width:150px;flex:0 0 150px!important}.annual-upload-card{grid-template-columns:42px minmax(390px,1fr) minmax(330px,420px);gap:13px;padding:12px 16px;margin-bottom:10px}.annual-upload-icon{width:42px;height:42px;border-radius:12px}.annual-upload-icon svg,.annual-drop svg{width:20px;height:20px}.annual-upload-card h2{font-size:15px;margin:2px 0}.annual-upload-card p{font-size:10px;white-space:nowrap}.annual-drop{min-height:52px;padding:8px 13px;border-radius:10px}.annual-kpis{gap:10px;margin-bottom:10px}.annual-kpis article{padding:11px 15px}.annual-kpis span{margin-bottom:4px}.annual-kpis strong{font-size:20px}.annual-forecast-grid{margin-bottom:10px}.annual-forecast-grid .panel-head,.annual-preview .panel-head{padding:14px 18px 9px}.annual-month-chart{height:220px;padding:0 12px 10px}.annual-month-chart canvas{width:100%;height:100%;display:block}.annual-preview .panel-head{align-items:center}.annual-preview .table-scroll{max-height:560px}
@media(max-width:1000px){#view-forecast .page-heading{grid-template-columns:1fr}#view-forecast .heading-actions{justify-self:start}.annual-upload-card{grid-template-columns:42px 1fr}.annual-drop{grid-column:1/-1}.annual-upload-card p{white-space:normal}}
@media(max-width:600px){#view-forecast .heading-actions{width:100%!important;flex-wrap:wrap}#view-forecast #downloadYearTemplate,#view-forecast #saveForecast{width:auto!important;min-width:140px;flex:1 1 140px!important}.annual-upload-card{grid-template-columns:1fr}.annual-month-chart{height:250px}}

.excel-upload-btn{width:165px!important;min-width:165px;flex:0 0 165px!important;justify-content:center;white-space:nowrap;cursor:pointer}.excel-upload-btn input{display:none}.soft-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.forecast-history{margin-bottom:10px}.forecast-history .panel-head{padding:13px 18px 8px}.forecast-history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 12px}.forecast-history-item{display:flex;align-items:center;gap:10px;min-width:0;background:#f6f9f8;border:1px solid #e5ece9;border-radius:10px;padding:9px 10px}.forecast-history-item>i{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#dff0ea;color:var(--green);display:grid;place-items:center;font-style:normal;font-weight:800}.forecast-history-item>div{min-width:0;flex:1}.forecast-history-item span{display:flex;align-items:center;justify-content:space-between;gap:8px}.forecast-history-item span b{font-size:10px;color:var(--green)}.forecast-history-item time{font-size:9px;color:var(--muted);white-space:nowrap}.forecast-history-item strong,.forecast-history-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-history-item strong{font-size:11px;margin:3px 0}.forecast-history-item small{font-size:9px;color:var(--muted)}.forecast-history-empty{grid-column:1/-1;color:var(--muted);font-size:10px;padding:6px 4px}body.readonly .excel-upload-btn{display:none!important}
@media(max-width:1100px){.forecast-history-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.forecast-history-list{grid-template-columns:1fr}.excel-upload-btn{width:auto!important;min-width:140px;flex:1 1 140px!important}}

/* Forecast versions: compact header action and focused modal journals. */
.forecast-history-btn{width:165px!important;min-width:165px;flex:0 0 165px!important;justify-content:center;white-space:nowrap}.forecast-history-modal{max-width:760px}.forecast-save-modal{max-width:560px}.modal-description{margin:-8px 0 20px;color:var(--muted);font-size:11px;line-height:1.55}.forecast-history-modal .forecast-history-list{grid-template-columns:1fr;gap:9px;max-height:430px;overflow:auto;padding:2px 4px 2px 0}.forecast-history-modal .forecast-history-item{align-items:flex-start;padding:12px 13px;background:#f7faf9}.forecast-history-modal .forecast-history-item>i{margin-top:1px}.forecast-history-item span b{font-size:11px}.forecast-history-item time{font-size:10px}.forecast-history-item strong{font-size:12px;margin:4px 0}.forecast-history-item p{margin:4px 0 6px;color:#415650;font-size:11px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.forecast-history-item small{font-size:10px}.forecast-history-empty{display:flex;flex-direction:column;gap:5px;border:1px dashed #cfded9;border-radius:11px;background:#f7faf9;padding:24px;text-align:center;font-size:11px}.forecast-history-empty b{font-size:13px;color:var(--ink)}.forecast-history-empty span{color:var(--muted)}.forecast-comment-field{display:block}.forecast-comment-field>span{display:block;margin-bottom:7px;font-size:11px;font-weight:800}.forecast-comment-field textarea{display:block;width:100%;min-height:112px;resize:vertical;border:1px solid #d5e1dd;border-radius:11px;background:#fbfcfc;padding:12px 13px;color:var(--ink);font:500 12px/1.55 Manrope,"Segoe UI",sans-serif}.forecast-comment-field textarea:focus{outline:0;border-color:#65a491;box-shadow:0 0 0 3px rgba(101,164,145,.13);background:#fff}.forecast-comment-field small{display:block;margin-top:5px;text-align:right;color:var(--muted);font-size:10px}.forecast-comment-field small b{color:var(--green)}
@media(max-width:760px){.forecast-history-btn{width:auto!important;min-width:150px;flex:1 1 150px!important}.forecast-history-modal,.forecast-save-modal{padding:23px 18px}.forecast-history-modal .forecast-history-item span{align-items:flex-start;flex-direction:column;gap:2px}}

/* Compact Erlang C controls. */
#view-erlang{padding-top:18px}#view-erlang .page-heading{margin-bottom:14px}#view-erlang .parameter-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:10px}#view-erlang .parameter-card{min-height:96px;padding:11px 14px;border-radius:12px}#view-erlang .parameter-card>div{margin:4px 0 2px}#view-erlang .parameter-card input{font-size:24px;line-height:1.1}#view-erlang .parameter-card small{line-height:1.3}#view-erlang .erlang-summary{grid-template-columns:repeat(4,1fr);gap:0;padding:9px;margin-bottom:10px}#view-erlang .erlang-summary article{padding:7px 18px}#view-erlang .erlang-summary .highlight{padding-inline:18px}
.fte-stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:10px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line);box-shadow:var(--shadow)}.fte-stage-grid article{background:#fff;padding:10px 16px}.fte-stage-grid span,.fte-stage-grid strong,.fte-stage-grid small{display:block}.fte-stage-grid span{color:var(--muted);font-size:9px}.fte-stage-grid strong{font-size:20px;margin:3px 0;color:var(--ink)}.fte-stage-grid small{font-size:8px;color:#8c9995}.fte-stage-grid .final{background:#f2fbc7}.fte-stage-grid .final strong{color:var(--green)}.erlang-model-note{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:10px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line);box-shadow:var(--shadow)}.erlang-model-note>div{min-width:0;background:#fff;padding:10px 14px}.erlang-model-note b,.erlang-model-note span{display:block}.erlang-model-note b{margin-bottom:3px;color:var(--green);font-size:10px}.erlang-model-note span{color:var(--muted);font-size:9px;line-height:1.4}.erlang-detail-table{min-width:620px}.erlang-detail-table td:nth-child(4){background:#eff8f4;color:var(--green)}
.erlang-heatmap-panel{margin-bottom:10px;overflow:hidden}.erlang-heatmap-controls{display:flex;align-items:center;gap:10px}.erlang-heatmap-tabs{flex:0 0 auto}.erlang-heatmap-meta{display:flex;align-items:center;justify-content:space-between;padding:0 20px 10px;color:var(--muted);font-size:10px}.erlang-heatmap-scale{display:grid;grid-template-columns:repeat(5,16px);align-items:center;gap:3px}.erlang-heatmap-scale i{width:16px;height:8px;border-radius:2px}.erlang-heatmap-scale i:nth-child(1){background:#edf5f2}.erlang-heatmap-scale i:nth-child(2){background:#d4e9e2}.erlang-heatmap-scale i:nth-child(3){background:#9dcdbd}.erlang-heatmap-scale i:nth-child(4){background:#55a68d}.erlang-heatmap-scale i:nth-child(5){background:#176b59}.erlang-heatmap-scale b{grid-row:2;font-size:8px;font-weight:600}.erlang-heatmap-scale b:first-of-type{grid-column:1/3;text-align:left}.erlang-heatmap-scale b:last-of-type{grid-column:4/6;text-align:right}.erlang-heatmap-scroll{max-height:535px;overflow:auto;border-top:1px solid var(--line)}.erlang-heatmap-grid{display:grid;grid-template-columns:78px repeat(24,minmax(46px,1fr));min-width:1182px;background:#fff}.erlang-heatmap-grid>button,.erlang-heatmap-grid>div{height:29px;border:0;border-right:1px solid #fff;border-bottom:1px solid #fff;display:grid;place-items:center;font:700 9px Manrope;white-space:nowrap}.erlang-heatmap-corner,.erlang-heatmap-hour{position:sticky;top:0;z-index:4;background:#f3f6f5;color:#6d7a76}.erlang-heatmap-corner{left:0;z-index:6}.erlang-heatmap-day{position:sticky;left:0;z-index:3!important;justify-content:start!important;padding-left:12px;background:#f7f9f8;color:#53645f;cursor:pointer}.erlang-heatmap-day:hover,.erlang-heatmap-day.selected{background:#dff0ea;color:var(--green)}.erlang-heatmap-cell{cursor:pointer;color:#28453d;transition:filter .12s,box-shadow .12s}.erlang-heatmap-cell:hover{filter:brightness(.92);box-shadow:inset 0 0 0 2px #173f36;z-index:2}.erlang-heatmap-cell.selected-day{border-bottom-color:#c2d9d1}.heat-level-0{background:#f4f7f6}.heat-level-1{background:#e6f1ed}.heat-level-2{background:#cce5dc}.heat-level-3{background:#9acdbc}.heat-level-4{background:#55a68d;color:#103d32}.heat-level-5{background:#176b59;color:#fff}.erlang-detail-panel{scroll-margin-top:86px}
@media(max-width:1300px){#view-erlang .parameter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){#view-erlang .parameter-grid,#view-erlang .erlang-summary,.fte-stage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.erlang-model-note{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.erlang-heatmap-panel .panel-head{align-items:stretch;flex-direction:column}.erlang-heatmap-controls{align-items:stretch;flex-direction:column}.erlang-heatmap-tabs button{flex:1}.erlang-heatmap-meta{padding-inline:14px}}
@media(max-width:450px){#view-erlang .parameter-grid,#view-erlang .erlang-summary,.fte-stage-grid,.erlang-model-note{grid-template-columns:1fr}}

/* Solver month, HR hiring summary, generated roster and monthly delta. */
.solver-heading-actions{align-items:flex-end}.solver-month-control{display:flex;flex-direction:column;gap:4px}.solver-month-control>span{color:var(--muted);font-size:9px;font-weight:700}.solver-month-control select{min-width:145px;height:38px}.solver-delta-panel,.hr-summary-panel,.solver-roster-panel{margin-top:14px}.solver-delta-legend{display:flex;gap:12px;color:var(--muted);font-size:9px}.solver-delta-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.solver-delta-legend .deficit{background:#f5b5b2}.solver-delta-legend .balance{background:#b9efd0}.solver-delta-legend .surplus{background:#b9d7f6}.solver-month-delta{max-height:610px;overflow:auto;border-top:1px solid var(--line)}.solver-delta-grid{display:grid;min-width:max-content}.solver-delta-grid>div{height:29px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.8);font:700 9px Manrope}.solver-delta-corner,.solver-delta-date{position:sticky;top:0;z-index:4;background:#f3f6f5;color:#687671}.solver-delta-corner{left:0;z-index:6}.solver-delta-date{flex-direction:column;line-height:1.05}.solver-delta-date small{font-size:7px;color:#94a09c}.solver-delta-hour{position:sticky;left:0;z-index:3;background:#f7f9f8;color:#6c7975}.solver-delta-cell.deficit{background:#f7c3c1;color:#9f302b}.solver-delta-cell.balance{background:#bcefd2;color:#176244}.solver-delta-cell.surplus{background:#bfdaf7;color:#245a96}.solver-placeholder{padding:44px 20px;text-align:center;color:var(--muted);font-size:11px}.hr-summary-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}.hr-summary-kpis article{padding:13px 18px;background:#f9fbfa}.hr-summary-kpis span,.hr-summary-kpis strong,.hr-summary-kpis small{display:block}.hr-summary-kpis span{font-size:9px;color:var(--muted)}.hr-summary-kpis strong{margin:4px 0 2px;font-size:20px}.hr-summary-kpis small{font-size:8px;color:#8b9894}.hr-summary-kpis strong.danger{color:#c64f49}.hr-summary-scroll{max-height:320px}.hr-summary-table .hr-people{display:inline-grid;place-items:center;min-width:52px;padding:5px;border-radius:8px;background:#eef0ff;color:#4e53d8}.hr-summary-table .hr-total td{background:#f2f7f5}.hr-summary-text{margin:14px 20px 18px;max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#f7f9fb;padding:13px;color:#334b63;font:500 10px/1.55 Consolas,monospace;white-space:pre}.solver-roster-scroll{max-height:590px;overflow:auto;border-top:1px solid var(--line)}.solver-roster-table{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;font-size:9px}.solver-roster-table th,.solver-roster-table td{height:31px;min-width:58px;padding:5px 7px;border-right:1px solid #e2e8ee;border-bottom:1px solid #e2e8ee;text-align:center;white-space:nowrap}.solver-roster-table th{position:sticky;top:0;z-index:4;background:#f4f7fa;color:#66788f;font-size:8px}.solver-roster-table th b,.solver-roster-table th span{display:block}.solver-roster-table th span{margin-top:2px}.solver-roster-table th:nth-child(1),.solver-roster-table td:nth-child(1){position:sticky;left:0;z-index:3;min-width:205px;text-align:left;background:#fff}.solver-roster-table th:nth-child(2),.solver-roster-table td:nth-child(2){position:sticky;left:205px;z-index:3;min-width:96px;background:#fff}.solver-roster-table th:nth-child(3),.solver-roster-table td:nth-child(3){position:sticky;left:301px;z-index:3;min-width:58px;background:#fff}.solver-roster-table th:nth-child(4),.solver-roster-table td:nth-child(4){position:sticky;left:359px;z-index:3;min-width:68px;background:#fff}.solver-roster-table th:nth-child(-n+4){z-index:6;background:#f4f7fa}.solver-roster-table td.roster-work{background:#eef1ff;color:#5056d8;font-weight:800}.solver-roster-table td.roster-off{background:#fafbfb;color:#a5aeab}.solver-roster-table tbody tr:hover td{filter:brightness(.98)}
@media(max-width:900px){.solver-heading-actions{align-items:stretch;width:100%;flex-wrap:wrap}.solver-month-control{flex:1}.hr-summary-kpis{grid-template-columns:1fr 1fr}.solver-delta-legend{flex-wrap:wrap}}
@media(max-width:520px){.hr-summary-kpis{grid-template-columns:1fr}.solver-delta-panel .panel-head{flex-direction:column}.solver-roster-table th:nth-child(n),.solver-roster-table td:nth-child(n){position:static}.solver-roster-table th{position:sticky;top:0}}

/* Employee profiles, vacations and editable team registry. */
.employee-modal{max-width:820px;padding:26px}.employee-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}.employee-form-grid label>span,.vacation-interval-row label>span{display:block;margin-bottom:6px;color:#40534d;font-size:10px;font-weight:800}.employee-form-grid input,.employee-form-grid select,.vacation-interval-row input{width:100%;height:40px;border:1px solid #d7e2de;border-radius:9px;background:#fbfcfc;padding:0 11px;color:var(--ink);font:600 11px Manrope}.employee-form-grid input:focus,.employee-form-grid select:focus,.vacation-interval-row input:focus{outline:0;border-color:#65a491;box-shadow:0 0 0 3px rgba(101,164,145,.12);background:#fff}.employee-form-grid label>small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.employee-field-wide{grid-column:1/-1}.vacation-editor-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 9px}.vacation-editor-head b,.vacation-editor-head small{display:block}.vacation-editor-head b{font-size:12px}.vacation-editor-head small{margin-top:3px;color:var(--muted);font-size:9px}.vacation-interval-list{display:flex;max-height:210px;overflow:auto;flex-direction:column;gap:8px}.vacation-interval-row{display:grid;grid-template-columns:1fr 22px 1fr 36px;align-items:end;gap:8px;border:1px solid #e3eae7;border-radius:10px;background:#f8faf9;padding:9px}.vacation-arrow{align-self:center;margin-top:18px;text-align:center;color:#7b8a85}.vacation-interval-row>button{height:40px;border:0;border-radius:8px;background:#f8e9e7;color:#b94f48;font-size:19px;cursor:pointer}.vacation-interval-row>button:hover{background:#f3d8d5}.vacation-empty{border:1px dashed #cfded9;border-radius:10px;padding:18px;text-align:center;color:var(--muted);font-size:10px}.team-profile-scroll{overflow:auto}.team-profile-table{min-width:1280px}.team-profile-table td{vertical-align:middle}.team-profile-table td:nth-child(1){min-width:220px}.team-profile-table td:nth-child(2){min-width:145px}.team-profile-table td:nth-child(5){min-width:180px}.team-profile-table td:nth-child(6){min-width:180px}.team-profile-table td:nth-child(7){min-width:210px}.profile-meta{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:500}.work-pattern-tag{display:inline-grid;min-width:45px;place-items:center;border-radius:8px;background:#edf4f1;padding:5px 8px;color:var(--green);font-weight:800}.profile-skills,.profile-vacations{display:flex;flex-wrap:wrap;gap:4px}.profile-skills i,.profile-vacations i{font-style:normal}.profile-vacations i{border-radius:7px;background:#fff2df;padding:5px 7px;color:#8c591f;font-size:8px;white-space:nowrap}.team-edit-btn{height:32px;border:1px solid #cfe0da;border-radius:8px;background:#edf5f2;padding:0 11px;color:var(--green);font:800 9px Manrope;cursor:pointer}.team-edit-btn:hover{border-color:#70a997;background:#dff0ea}body.readonly #addTeamEmployee,body.readonly .team-edit-btn{display:none!important}
.employee-shift-field>span{display:block;margin-bottom:6px;color:#40534d;font-size:10px;font-weight:800}.employee-shift-times{display:grid;grid-template-columns:1fr 18px 1fr;align-items:end;gap:6px}.employee-shift-times label small{display:block;margin-bottom:4px;color:var(--muted);font-size:8px}.employee-shift-times>i{align-self:center;margin-top:15px;color:#7b8a85;font-style:normal;text-align:center}
.employee-modal{max-height:calc(100vh - 30px);overflow:auto}.employee-interval-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 8px}.employee-interval-head b,.employee-interval-head small{display:block}.employee-interval-head b{font-size:11px}.employee-interval-head small{margin-top:2px;color:var(--muted);font-size:8px}.employee-break-interval-list{display:flex;max-height:150px;overflow:auto;flex-direction:column;gap:7px}.employee-break-interval-row{display:grid;grid-template-columns:1fr 22px 1fr 36px;align-items:end;gap:8px;border:1px solid #e3eae7;border-radius:10px;background:#f8faf9;padding:8px}.employee-break-interval-row>span{align-self:center;margin-top:18px;text-align:center;color:#7b8a85}.employee-break-interval-row>button{height:40px;border:0;border-radius:8px;background:#f8e9e7;color:#b94f48;font-size:19px;cursor:pointer}.employee-break-interval-row>button:hover{background:#f3d8d5}.profile-break-times{display:block;margin-top:5px;color:#8a6b42;font-size:8px;font-weight:700;white-space:normal}.employee-break-editor{border-top:1px solid #e8eeeb;padding-top:10px}
@media(max-width:700px){.employee-modal{padding:22px 16px}.employee-form-grid{grid-template-columns:1fr}.employee-field-wide{grid-column:auto}.vacation-interval-row,.employee-break-interval-row{grid-template-columns:1fr 34px}.vacation-arrow,.employee-break-interval-row>span{display:none}.vacation-interval-row>button,.employee-break-interval-row>button{grid-column:2;grid-row:1/3;align-self:end}.vacation-editor-head,.employee-interval-head{align-items:flex-start;flex-direction:column}}

/* Access roles, plan/fact controls and operator personal account. */
.operator-profile-nav[hidden],.nav-item[hidden]{display:none!important}.schedule-control-groups{display:flex;align-items:center;gap:9px}.schedule-kind-tabs{background:#dce8e4}.schedule-kind-tabs button.active{background:var(--green);color:#fff}.schedule-month-control,.operator-profile-month{display:flex;align-items:center;gap:8px}.schedule-month-control>span,.operator-profile-month>span{color:var(--muted);font-size:9px;font-weight:800}.schedule-month-control select,.operator-profile-month select{min-width:150px;height:36px}.access-role-tag{display:inline-flex;border-radius:8px;padding:5px 8px;font-size:8px;font-weight:800;white-space:nowrap}.access-role-tag.role-operator{background:#edf4f1;color:#236855}.access-role-tag.role-supervisor{background:#eaf0fb;color:#4464a5}.access-role-tag.role-wfm{background:#f0f8c9;color:#4f6818}body.supervisor .export-btn{display:flex!important}.operator-profile-grid{display:grid;grid-template-columns:minmax(340px,1.2fr) 2fr;gap:14px;margin-bottom:14px}.operator-identity-card{display:flex;align-items:center;gap:20px;padding:22px}.operator-avatar-large{width:84px;height:84px;flex:0 0 84px;border-radius:24px;display:grid;place-items:center;font-size:36px;font-weight:800}.operator-identity-card h2{margin:4px 0;font-size:21px}.operator-identity-card p{margin:0;color:var(--muted);font-size:10px}.operator-avatar-picker{margin-top:15px}.operator-avatar-picker>b{display:block;margin-bottom:7px;font-size:9px}.operator-avatar-picker>div{display:flex;flex-wrap:wrap;gap:5px}.operator-avatar-picker button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#f7faf9;font-size:19px;cursor:pointer}.operator-avatar-picker button.selected{border-color:var(--green);background:#dff0ea;box-shadow:0 0 0 2px rgba(17,92,77,.12)}.operator-profile-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.operator-profile-kpis article{border:1px solid var(--line);border-radius:14px;background:#fff;padding:17px;box-shadow:var(--shadow)}.operator-profile-kpis span,.operator-profile-kpis strong,.operator-profile-kpis small{display:block}.operator-profile-kpis span{color:var(--muted);font-size:9px}.operator-profile-kpis strong{margin:8px 0 5px;font-size:19px}.operator-profile-kpis small{color:#84918d;font-size:8px;line-height:1.5}.operator-break-card{margin-bottom:14px}.operator-break-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 18px}.operator-break-list span{border-radius:9px;background:#fff2df;padding:8px 11px;color:#85551f;font-size:10px;font-weight:800}.operator-break-list .empty{background:#f3f6f5;color:var(--muted)}.operator-calendar-card{overflow:hidden}.operator-month-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}.operator-day{min-height:92px;background:#fff;padding:10px}.operator-day span,.operator-day b,.operator-day small{display:block}.operator-day span{color:var(--muted);font-size:8px}.operator-day b{margin:7px 0 4px;font-size:10px}.operator-day small{color:#82908b;font-size:7px;line-height:1.45}.operator-day.work{background:#f3faf7}.operator-day.vacation{background:#f2f2f2}.operator-day.vacation b{color:#555}.operator-day.off{background:#fafbfb}.operator-day.sick{background:#fff3f2}.operator-day.sick b{color:#b44f49}
#view-operator-profile .operator-break-card{min-height:0!important}
@media(max-width:1000px){.schedule-controls{align-items:flex-start;flex-wrap:wrap}.schedule-control-groups{width:100%;justify-content:space-between}.operator-profile-grid{grid-template-columns:1fr}.operator-month-calendar{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.schedule-control-groups{align-items:stretch;flex-direction:column}.schedule-month-control{width:100%;justify-content:space-between}.operator-identity-card{align-items:flex-start;flex-direction:column}.operator-profile-kpis{grid-template-columns:1fr}.operator-month-calendar{grid-template-columns:1fr 1fr}}

/* Unified monthly timesheet: approved plan and editable fact in one cell. */
.plan-fact-legend{align-items:center}.plan-fact-legend i{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:5px;border-radius:5px;font-style:normal;font-size:8px;font-weight:900}.plan-fact-legend .plan-mark{background:#eef2f1;color:#65736f}.plan-fact-legend .fact-mark{background:#e8efff;color:#4264b4}.plan-fact-legend .variance-mark{background:#fff0dc;border:1px solid #e7a352}.combined-shift{gap:2px;padding:5px 6px;min-height:68px}.combined-shift .plan-line,.combined-shift .fact-line{display:grid;grid-template-columns:15px 1fr auto;align-items:center;gap:3px;width:100%;white-space:nowrap}.combined-shift .plan-line i,.combined-shift .fact-line i{display:grid;place-items:center;width:15px;height:15px;border-radius:4px;font-style:normal;font-size:7px;font-weight:900}.combined-shift .plan-line i{background:#e8eeec;color:#687570}.combined-shift .fact-line i{background:#dce7ff;color:#365cac}.combined-shift .plan-line b{color:#75817d;font-size:9px;font-weight:700}.combined-shift .fact-line b{color:#163f36;font-size:10px;font-weight:900}.combined-shift>small{align-self:flex-end;border-radius:4px;background:#fff0dc;padding:1px 4px;color:#a35f16;font-size:6px;font-weight:800}.combined-shift.has-variance{border-color:#e7a352;background:#fff9f0;box-shadow:inset 3px 0 #ee9e43}.combined-shift.has-variance:hover{border-color:#d88931;background:#fff4e4}.combined-shift.day-off{align-items:stretch;text-align:left}.combined-shift.day-off .plan-line,.combined-shift.day-off .fact-line{justify-content:start}.timesheet-total{flex-direction:column;gap:4px}.timesheet-total span{color:#71807b;font-size:9px;font-weight:700}.timesheet-total b{color:#315da9;font-size:11px}.schedule-row.footer>.schedule-cell{flex-direction:column;gap:2px}.schedule-row.footer>.schedule-cell span{color:#a9c3bb;font-size:8px}.schedule-row.footer>.schedule-cell b{font-size:9px}.schedule-row.footer>.employee-cell{align-items:flex-start;justify-content:center}.schedule-row.footer>.employee-cell{color:#fff}.schedule-row.footer>.employee-cell b{color:inherit}.schedule-row.footer>.employee-cell span{color:inherit}.schedule-row.footer>.employee-cell{flex-direction:row}
body.operator .schedule-stats{display:grid!important}body.operator .schedule-controls .segmented{display:flex!important}body.operator .schedule-legend{display:flex!important}body.operator .combined-shift{cursor:default}body.operator .combined-shift:hover{border-color:#d2e4de;background:#edf6f3}body.operator .combined-shift.has-variance:hover{border-color:#e7a352;background:#fff9f0}body.operator .timeline-shift,body.operator .timeline-break{cursor:default}
.date-header.future-date{background:#fbfcfc!important}.date-header.future-date b{color:#64736e!important}.date-header.today-date{background:#e8f5ef!important;box-shadow:inset 0 -3px #2a8b6e}.date-header.today-date small{color:#1c765c;font-weight:900}.future-schedule-cell{background:#fcfdfd}.future-plan-shift{position:relative;min-height:68px;align-items:center;justify-content:center;background:#f2f7f5;border-color:#dce8e4}.future-plan-shift .plan-only-line{display:grid;grid-template-columns:17px 1fr;align-items:center;gap:4px;white-space:nowrap}.future-plan-shift .plan-only-line i{display:grid;place-items:center;width:17px;height:17px;border-radius:5px;background:#dce9e4;color:#526b63;font-style:normal;font-size:8px;font-weight:900}.future-plan-shift .plan-only-line b{color:#204f43;font-size:10px}.future-plan-shift>.break-dot{position:absolute;right:7px;top:7px}.future-total span{display:none}.future-total b{color:#fff!important}.schedule-row.footer .future-total{background:#1b493f}

/* Workspace settings. */
#view-settings{max-width:1500px}.settings-tabs{display:flex;gap:7px;margin-bottom:14px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#e9efed;width:max-content;max-width:100%;overflow:auto}.settings-tabs button{height:40px;border:0;border-radius:9px;background:transparent;padding:0 15px;display:flex;align-items:center;gap:8px;color:#66746f;font:800 10px Manrope;white-space:nowrap;cursor:pointer}.settings-tabs button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.settings-tabs button.active{background:#fff;color:var(--green);box-shadow:0 3px 10px rgba(22,59,50,.08)}.settings-content .panel{min-height:0}.settings-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.settings-summary article{padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.settings-summary span,.settings-summary strong,.settings-summary small{display:block}.settings-summary span{color:var(--muted);font-size:10px}.settings-summary strong{margin:5px 0 2px;font-size:24px}.settings-summary small{color:#8d9995;font-size:9px}.settings-summary .settings-ok{color:#208561;font-size:20px}.settings-section{overflow:hidden}.settings-team-list{border-top:1px solid var(--line)}.settings-team-row{display:grid;grid-template-columns:38px 1.15fr 1fr 1.25fr 105px 34px;gap:10px;align-items:end;padding:12px 18px;border-bottom:1px solid #edf1ef}.settings-team-row:last-child{border-bottom:0}.settings-team-mark{align-self:center;width:36px;height:36px;border-radius:10px;background:#dfeee9;color:var(--green);display:grid;place-items:center;font-size:9px;font-weight:900}.settings-team-row label small{display:block;margin-bottom:5px;color:#84918d;font-size:8px;font-weight:700}.settings-team-row input{width:100%;height:37px;border:1px solid #dbe5e1;border-radius:8px;background:#fbfcfc;padding:0 10px;color:var(--ink);font:700 10px Manrope}.settings-team-row input:focus,.holiday-add-row input:focus{outline:0;border-color:#6ca793;box-shadow:0 0 0 3px rgba(75,146,121,.1);background:#fff}.settings-delete-btn,.holiday-list button{width:32px;height:32px;border:0;border-radius:8px;background:#f8e9e7;color:#b95049;font-size:18px;cursor:pointer}.settings-saved-badge{padding:6px 9px;border-radius:14px;background:#e5f3ed;color:#28765f;font-size:8px;font-weight:800}.settings-access-scroll{overflow:auto;border-top:1px solid var(--line)}.settings-access-table{width:100%;min-width:760px;border-collapse:collapse}.settings-access-table th,.settings-access-table td{padding:12px 18px;border-bottom:1px solid #edf1ef;text-align:left}.settings-access-table th{background:#f7f9f8;color:#7d8c87;font-size:8px;text-transform:uppercase;letter-spacing:.4px}.settings-access-table th:not(:first-child),.settings-access-table td:not(:first-child){text-align:center}.settings-access-table td:first-child{min-width:230px}.settings-access-table td b,.settings-access-table td small{display:block}.settings-access-table td b{font-size:10px}.settings-access-table td small{margin-top:3px;color:#8b9894;font-size:8px}.permission-toggle{min-width:108px;border:0;background:transparent;display:inline-flex;align-items:center;gap:7px;color:#8d9995;font:700 9px Manrope;cursor:pointer}.permission-toggle i{position:relative;width:31px;height:18px;border-radius:18px;background:#dce3e0;transition:.2s}.permission-toggle i:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.permission-toggle.enabled{color:#24765e}.permission-toggle.enabled i{background:#58ad8d}.permission-toggle.enabled i:after{transform:translateX(13px)}.permission-toggle.locked{opacity:.72;cursor:not-allowed}.settings-access-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.settings-access-notes article{border:1px solid var(--line);border-radius:12px;background:#f8faf9;padding:14px}.settings-access-notes b{font-size:10px}.settings-access-notes p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.settings-calendar-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr);gap:14px}.production-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:3px 18px 18px}.production-month{position:relative;border:1px solid #e0e8e5;border-radius:11px;background:#f9fbfa;padding:13px}.production-month.active{border-color:#71ad98;background:#edf7f3;box-shadow:0 0 0 2px rgba(55,139,109,.08)}.production-month span,.production-month strong,.production-month small{display:block}.production-month span{color:#5f6f69;font-size:9px;font-weight:800}.production-month strong{margin:5px 0 2px;font-size:22px}.production-month small{color:#8a9793;font-size:8px}.production-month i{position:absolute;right:8px;top:8px;border-radius:8px;background:#fff0dc;padding:3px 5px;color:#9a5d1d;font-size:7px;font-style:normal;font-weight:800}.settings-holidays{overflow:hidden}.holiday-add-row{display:grid;grid-template-columns:135px 1fr auto;gap:7px;padding:0 16px 12px}.holiday-add-row input{min-width:0;height:37px;border:1px solid #dbe5e1;border-radius:8px;background:#fbfcfc;padding:0 9px;font:600 9px Manrope}.holiday-list{max-height:370px;overflow:auto;border-top:1px solid var(--line)}.holiday-list>div{display:grid;grid-template-columns:86px 1fr 32px;gap:9px;align-items:center;padding:9px 16px;border-bottom:1px solid #edf1ef}.holiday-list time{color:var(--green);font-size:9px;font-weight:900}.holiday-list span{font-size:9px}.holiday-list button{width:28px;height:28px}.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.integration-card{position:relative;padding:20px}.integration-mark{width:46px;height:46px;border-radius:13px;background:#e8eeec;color:#5d6b67;display:grid;place-items:center;font-size:10px;font-weight:900}.integration-card.connected .integration-mark{background:#dff1ea;color:#1f785e}.integration-status{position:absolute;right:18px;top:18px;border-radius:15px;background:#f0f3f2;padding:5px 8px;color:#83908c;font-size:8px;font-weight:800}.integration-status i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#a5afac}.integration-card.connected .integration-status{background:#e5f4ee;color:#25785f}.integration-card.connected .integration-status i{background:#37a77d}.integration-card h2{margin:14px 0 4px;font-size:14px}.integration-card p{min-height:34px;margin:0 0 16px;color:var(--muted);font-size:9px;line-height:1.55}.integration-card>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}.integration-card>div:last-child small{color:#8a9793;font-size:8px}.integration-card button{flex:0 0 auto}
@media(max-width:1050px){.settings-team-row{grid-template-columns:38px 1fr 1fr}.settings-team-row label:nth-of-type(3){grid-column:2}.settings-members-field{grid-column:3}.settings-delete-btn{grid-column:3;grid-row:2;justify-self:end}.settings-calendar-layout{grid-template-columns:1fr}.production-month-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.settings-summary,.settings-access-notes,.integration-grid{grid-template-columns:1fr}.settings-team-row{grid-template-columns:36px 1fr 34px}.settings-team-row label{grid-column:2}.settings-team-row label:nth-of-type(3),.settings-members-field{grid-column:2}.settings-delete-btn{grid-column:3;grid-row:1}.production-month-grid{grid-template-columns:1fr 1fr}.holiday-add-row{grid-template-columns:1fr}.integration-card>div:last-child{align-items:flex-start;flex-direction:column}}

/* Direct manipulation of daily shifts and breaks. */
.timeline-shift{overflow:visible;cursor:grab;touch-action:none;user-select:none;z-index:1;transition:box-shadow .15s,filter .15s}.timeline-shift:hover{box-shadow:0 5px 14px rgba(20,77,64,.18),inset 0 0 0 1px rgba(17,92,77,.18)}.timeline-shift.dragging{cursor:grabbing;z-index:8;filter:saturate(1.15);box-shadow:0 9px 22px rgba(20,77,64,.3),inset 0 0 0 2px #19745f}.timeline-shift>b,.timeline-shift>small{pointer-events:none}.timeline-shift .timeline-break{position:absolute;top:0;height:100%;display:block;background:#efb66f;opacity:.92;cursor:ew-resize;touch-action:none;z-index:3;transition:top .14s,height .14s,background .14s,box-shadow .14s,opacity .14s}.timeline-shift .timeline-break:hover,.timeline-shift .timeline-break.dragging-break{top:-7px;height:47px;background:#e88d32;opacity:1;box-shadow:0 0 0 2px #fff,0 6px 16px rgba(159,84,18,.35);z-index:10}.timeline-shift .timeline-break::after{content:'Перерыв ' attr(data-break-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:none;min-width:max-content;border-radius:6px;background:#8d4d18;color:#fff;padding:4px 7px;font:800 8px Manrope;white-space:nowrap;pointer-events:none}.timeline-shift .timeline-break:hover::after,.timeline-shift .timeline-break.dragging-break::after{display:block}.timeline-track:has(.timeline-shift.dragging){background-color:#f4faf7}

/* Premium Unitiki blue theme. */
:root{--ink:#0d2148;--muted:#65769a;--line:#dce6f3;--bg:#edf4fb;--panel:rgba(255,255,255,.94);--green:#1747ad;--green-2:#0b84c9;--mint:#e4f3ff;--lime:#ffdb38;--orange:#ffad32;--red:#ef5b70;--blue:#6657df;--shadow:0 16px 42px rgba(21,59,128,.09);--radius:17px}html{background:#edf4fb}body{background:radial-gradient(circle at 78% 5%,rgba(31,167,220,.12),transparent 27%),radial-gradient(circle at 34% 92%,rgba(72,91,210,.09),transparent 30%),linear-gradient(135deg,#f7faff 0%,#eef5fc 55%,#eaf3fb 100%);background-attachment:fixed;color:var(--ink)}body:before{content:"";position:fixed;right:-120px;top:90px;width:330px;height:330px;border-radius:50%;background:rgba(19,159,210,.10);filter:blur(70px);pointer-events:none;z-index:-1}.sidebar{background:linear-gradient(165deg,#163f9e 0%,#10347f 48%,#0a2867 100%);box-shadow:12px 0 38px rgba(11,42,106,.18);border-right:1px solid rgba(255,255,255,.08)}.sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 3%,rgba(50,202,232,.18),transparent 23%),linear-gradient(120deg,transparent 65%,rgba(255,255,255,.035));pointer-events:none}.sidebar>*{position:relative}.brand-mark{background:linear-gradient(145deg,#ffe75a,#ffc91f);box-shadow:0 9px 24px rgba(255,209,35,.25)}.brand-mark span{background:#123c94}.brand small{color:#9ddff1}.nav-item{color:#b9cae9;transition:color .2s,background .2s,transform .2s,box-shadow .2s}.nav-item:hover{color:#fff;background:rgba(255,255,255,.09);transform:translateX(3px)}.nav-item.active{color:#15306e;background:linear-gradient(135deg,#ffe66a,#ffd329);box-shadow:0 10px 24px rgba(255,210,27,.24),inset 0 1px rgba(255,255,255,.55)}.nav-pill{background:rgba(72,207,230,.2);color:#c8f6ff}.nav-item.active .nav-pill{background:rgba(19,54,130,.12);color:#16377e}.spark{background:#5de6de;box-shadow:0 0 0 4px rgba(93,230,222,.16),0 0 16px rgba(93,230,222,.8)}.side-user{border-color:rgba(198,220,255,.17)}.side-user small{color:#9db8e4}.side-user>span{color:#7fa1d7}.topbar{background:rgba(255,255,255,.82);border-color:rgba(185,204,230,.65);box-shadow:0 8px 28px rgba(28,64,126,.06);backdrop-filter:blur(18px) saturate(1.25)}.topbar:after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,#62c9ea,transparent);opacity:.45}.period-switch button,.week-nav button,.calendar-head button,.icon-btn{border-color:#d8e4f2;background:rgba(255,255,255,.9);box-shadow:0 4px 13px rgba(34,74,141,.06);transition:.2s}.period-switch button:hover,.week-nav button:hover,.calendar-head button:hover,.icon-btn:hover{border-color:#8dcce7;color:#0d75bd;transform:translateY(-1px);box-shadow:0 8px 18px rgba(24,106,173,.12)}.icon-btn i{background:#ffd128;box-shadow:0 0 0 3px rgba(255,209,40,.18);animation:premiumPulse 2.2s ease-in-out infinite}.view{position:relative}.view.active{animation:premiumViewIn .42s cubic-bezier(.2,.75,.25,1) both}.view.active>.page-heading{animation:premiumHeadingIn .48s cubic-bezier(.2,.75,.25,1) both}.page-heading h1{color:#0a214e;letter-spacing:-1px}.eyebrow,.quick-kicker{color:#0b82c6!important}.status-chip{background:rgba(255,255,255,.82);border-color:#d7e5f3;box-shadow:0 8px 22px rgba(27,67,133,.07)}.status-chip i{background:#23c7b1;box-shadow:0 0 0 4px rgba(35,199,177,.13)}.panel,.kpi-card,.parameter-card,.report-card,.settings-summary article,.operator-profile-kpis article{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,252,255,.91));border-color:rgba(205,220,239,.9);box-shadow:0 16px 44px rgba(24,61,124,.085),inset 0 1px rgba(255,255,255,.9)}.kpi-card,.parameter-card,.report-card,.settings-summary article,.operator-profile-kpis article,.integration-card,.production-month{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.kpi-card:hover,.parameter-card:hover,.report-card:hover,.settings-summary article:hover,.operator-profile-kpis article:hover,.integration-card:hover,.production-month:hover{transform:translateY(-3px);border-color:#b6d6ed;box-shadow:0 22px 48px rgba(27,70,142,.13),inset 0 1px #fff}.kpi-card.accent{position:relative;overflow:hidden;background:linear-gradient(135deg,#194bb6 0%,#097fc6 65%,#12a7cf 100%);border-color:transparent;box-shadow:0 19px 42px rgba(19,82,177,.25)}.kpi-card.accent:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-65px;top:-95px;background:rgba(255,255,255,.16);filter:blur(2px)}.accent .kpi-top>span,.accent>small{color:#c4e6f7}.micro-bars i{background:rgba(111,227,237,.32)}.micro-bars i:last-child,.micro-bars i:nth-last-child(2){background:#ffe252;box-shadow:0 0 12px rgba(255,226,82,.38)}.primary-btn,.export-btn{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#1764c9 0%,#0b89ca 100%);box-shadow:0 9px 22px rgba(18,91,183,.18);transition:transform .2s,box-shadow .2s,filter .2s}.primary-btn:before,.export-btn:before{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(110deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .55s}.primary-btn:hover,.export-btn:hover{background:linear-gradient(135deg,#1b6fd8,#0896d4);transform:translateY(-2px);box-shadow:0 14px 28px rgba(18,91,183,.28);filter:saturate(1.06)}.primary-btn:hover:before,.export-btn:hover:before{transform:translateX(120%)}.primary-btn:active,.export-btn:active,.soft-btn:active{transform:translateY(0) scale(.98)}.soft-btn,.upload-btn{color:#144caa;background:linear-gradient(145deg,#f3f8ff,#e9f2fb);border-color:#cfdeef;transition:transform .2s,border-color .2s,box-shadow .2s}.soft-btn:hover,.upload-btn:hover{border-color:#8fc5e5;box-shadow:0 8px 18px rgba(29,91,164,.11);transform:translateY(-1px)}.select-control,.role-switch select,.legend select,.dashboard-month-control select,.solver-settings select,.solver-settings input[type=number]{border-color:#d4e1f0;background:#fbfdff;color:#173160;box-shadow:inset 0 1px 2px rgba(38,73,126,.03)}input:focus,select:focus{border-color:#48a9d5!important;box-shadow:0 0 0 4px rgba(39,155,207,.11)!important}.segmented,.settings-tabs{background:#e7eef8;border-color:#d5e2f1}.segmented button.active,.settings-tabs button.active{color:#1549ab;background:#fff;box-shadow:0 5px 14px rgba(28,71,143,.11)}.chart-tooltip,.toast{background:linear-gradient(145deg,#173f9e,#0b2e78);box-shadow:0 16px 35px rgba(11,43,111,.28)}.toast span{background:#ffe047;color:#153277}.data-table th,.team-table th,.template-table th,.settings-access-table th,.schedule-row.header .schedule-cell{background:#f3f7fc;color:#6e80a2;border-color:#dce6f3}.data-table tr:hover td,.team-table tr:hover td{background:#f5f9ff}.table-scroll,.schedule-scroll,.solver-roster-scroll,.operator-timelines{scrollbar-color:#98b7dd #eaf0f7;scrollbar-width:thin}.erlang-summary{background:linear-gradient(125deg,#173f9f,#0c69ba 64%,#0c8fc4);box-shadow:0 18px 38px rgba(17,74,162,.22)}.erlang-summary .highlight{background:linear-gradient(135deg,#ffe762,#ffd22b);color:#17326f;box-shadow:0 8px 22px rgba(255,209,35,.24)}.erlang-summary .highlight span{color:#6b5915}.sum-badge,.settings-saved-badge{background:#e1f5fb;color:#0877b2}.library-badge{border-color:#cae3f1;background:#f3fbff;color:#315d91}.library-badge i{background:#28c3d2;box-shadow:0 0 0 3px rgba(40,195,210,.14)}.solver-status span{background:#e5f4fb;color:#176ba4}.solver-hour .need-bar{background:#dce8f5}.shift-coverage i{background:#19a8c9}.schedule-row.footer .schedule-cell{background:linear-gradient(145deg,#153f9d,#0f327d);border-color:rgba(255,255,255,.1)}.schedule-row.footer .future-total{background:#123987}.timesheet-total{background:#f4f8fd;color:#154aac}.timesheet-total b{color:#365fc6}.shift-chip{border-color:#d1e1ef;background:#eef6fc;color:#17508a}.shift-chip:hover{border-color:#69b5d8;background:#e7f5fd}.combined-shift .plan-line i{background:#e8eef6;color:#627393}.combined-shift .fact-line i{background:#dce6ff;color:#3558bd}.combined-shift .fact-line b{color:#14366f}.combined-shift.has-variance{border-color:#efb352;background:#fff9ed;box-shadow:inset 3px 0 #ffb332}.future-plan-shift{background:#eff6fc;border-color:#d6e4f0}.future-plan-shift .plan-only-line i{background:#dbe9f4;color:#3f668d}.future-plan-shift .plan-only-line b{color:#174371}.date-header.today-date{background:#e1f4ff!important;box-shadow:inset 0 -3px #138ac6}.date-header.today-date small{color:#0878b5}.coverage-under{background:#ffe0e5}.coverage-ok{background:#ddf4f8}.coverage-over{background:#fff0d2}.schedule-stats article{background:rgba(255,255,255,.91);border-color:#d5e3f1;box-shadow:0 10px 24px rgba(26,67,133,.06)}.timeline-shift{background:linear-gradient(135deg,#bfeaf3,#b9d9fa);color:#123d82}.timeline-shift:hover{box-shadow:0 8px 20px rgba(24,83,167,.22),inset 0 0 0 1px rgba(31,112,190,.22)}.timeline-shift.dragging{box-shadow:0 12px 28px rgba(21,70,155,.32),inset 0 0 0 2px #1a70c2}.timeline-shift .timeline-break{background:#ffd05c}.timeline-shift .timeline-break:hover,.timeline-shift .timeline-break.dragging-break{background:#ffb72b}.timeline-shift .timeline-break::after{background:#173b91}.timeline-track:has(.timeline-shift.dragging){background-color:#eef7ff}.modal{border:1px solid rgba(202,219,239,.9);background:linear-gradient(145deg,#fff,#f7faff);box-shadow:0 30px 90px rgba(13,47,112,.3)}.modal-backdrop{background:rgba(8,31,80,.53);backdrop-filter:blur(5px)}.annual-drop{border-color:#9ecce4;background:#f5fbff}.forecast-history-item,.settings-access-notes article{background:#f5f9fe;border-color:#d9e5f2}.settings-team-mark,.integration-card.connected .integration-mark{background:#dff4fa;color:#0d77b1}.permission-toggle.enabled{color:#116fb0}.permission-toggle.enabled i{background:linear-gradient(90deg,#2466d1,#16a8c7)}.production-month.active{border-color:#63b9dd;background:#edf9ff;box-shadow:0 0 0 3px rgba(50,164,211,.09)}.integration-card.connected .integration-status{background:#e2f7f5;color:#138277}.integration-card.connected .integration-status i{background:#23c7b1;box-shadow:0 0 0 3px rgba(35,199,177,.12)}.operator-day.work{background:#eef8ff}.operator-day.vacation{background:#f1f3f8}.skill-tag,.work-pattern-tag{background:#e7f2fb;color:#155ca8}.profile-vacations i{background:#fff1d8;color:#8f5c10}.report-card .report-icon,.settings-icon{background:linear-gradient(145deg,#e5f4ff,#dbe9fb)}.report-card svg,.settings-icon svg{stroke:#1769bd}.notification-panel,.forecast-history-popover{border-color:#d5e2f1;box-shadow:0 22px 55px rgba(15,53,121,.2)}
@keyframes premiumViewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes premiumHeadingIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@keyframes premiumPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.22);opacity:.72}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Постоянное хранилище */
.db-status{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d7e3f1;border-radius:12px;background:rgba(248,251,255,.9);color:#587094;font-size:12px;font-weight:700;white-space:nowrap;transition:.2s ease}.db-status i{width:8px;height:8px;border-radius:50%;background:#8ea2bf;box-shadow:0 0 0 4px rgba(142,162,191,.12)}.db-status.connecting i,.db-status.saving i{background:#f5b52e;box-shadow:0 0 0 4px rgba(245,181,46,.14);animation:premiumPulse 1.2s ease-in-out infinite}.db-status.online{color:#11776f;border-color:#cce8e5;background:#f1fbfa}.db-status.online i{background:#24baa9;box-shadow:0 0 0 4px rgba(36,186,169,.13)}.db-status.offline,.db-status.error{color:#a14e5d;border-color:#f0d2d8;background:#fff7f8}.db-status.offline i,.db-status.error i{background:#ec6376;box-shadow:0 0 0 4px rgba(236,99,118,.12)}
@media(max-width:1180px){.db-status span{display:none}.db-status{width:38px;padding:0;justify-content:center}}
@media(max-width:760px){.db-status{display:none}}
.split-meter .ok{background:#1aafd0}.split-meter .over{background:#ffc936}.green{background:#1aafd0!important}.amber{background:#ffc936!important}.chart-insight{background:linear-gradient(135deg,#fff8e7,#fff3d3);border:1px solid #f5dfaa}.insight-icon{background:#ffe3a1;color:#8f6100}.link-button{color:#1555ad}.pulse-dot{background:#26c8d3;box-shadow:0 0 0 4px rgba(38,200,211,.13)}

/* Компактная таблица сотрудников и действия со строкой. */
.team-profile-table{min-width:1180px;table-layout:fixed}.team-profile-table th,.team-profile-table td{padding:10px 9px}.team-profile-table th:nth-child(1),.team-profile-table td:nth-child(1){width:180px;min-width:0}.team-profile-table th:nth-child(2),.team-profile-table td:nth-child(2){width:88px;min-width:0}.team-profile-table th:nth-child(3),.team-profile-table td:nth-child(3){width:78px}.team-profile-table th:nth-child(4),.team-profile-table td:nth-child(4){width:100px}.team-profile-table th:nth-child(5),.team-profile-table td:nth-child(5){width:105px;min-width:0}.team-profile-table th:nth-child(6),.team-profile-table td:nth-child(6){width:100px;min-width:0}.team-profile-table th:nth-child(7),.team-profile-table td:nth-child(7){width:135px;min-width:0}.team-profile-table th:nth-child(8),.team-profile-table td:nth-child(8){width:105px}.team-profile-table th:nth-child(9),.team-profile-table td:nth-child(9){width:165px}.team-profile-table th:last-child,.team-profile-table td:last-child{position:sticky;right:0;width:174px;min-width:174px;background:#fff;box-shadow:-12px 0 18px -18px rgba(20,51,95,.7);z-index:2}.team-profile-table th:last-child{background:#f7f9f8;z-index:3}.team-profile-table tr:hover td:last-child{background:#f9fbfa}.team-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:5px}.team-row-actions button{height:29px;min-width:0;padding:0 7px;white-space:nowrap}.team-profile-btn{border:1px solid #bcd9ef;border-radius:8px;background:#e8f5ff;color:#1766ae;font:800 9px Manrope;cursor:pointer}.team-profile-btn:hover{border-color:#69b5d8;background:#dff2ff}.team-terminate-btn{border:1px solid #e8d6ae;border-radius:8px;background:#fff9e9;color:#8b641a;font:800 9px Manrope;cursor:pointer}.team-terminate-btn:hover{border-color:#d8b764;background:#fff2ce}.team-delete-btn{border:1px solid #f0cfd5;border-radius:8px;background:#fff5f6;color:#b54859;font:800 9px Manrope;cursor:pointer}.team-delete-btn:hover{border-color:#e69aa7;background:#ffe9ec}body.readonly .team-terminate-btn,body.readonly .team-delete-btn{display:none!important}

/* Авторизация и управление учётными записями. */
.auth-pending .app-shell,.auth-required .app-shell{visibility:hidden}.auth-gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 72% 10%,rgba(32,174,220,.2),transparent 30%),linear-gradient(145deg,#f6faff,#eaf3fb)}body.authenticated .auth-gate{display:none}.auth-card{width:min(430px,100%);border:1px solid #d3e2f2;border-radius:22px;background:rgba(255,255,255,.96);padding:30px;box-shadow:0 28px 80px rgba(13,47,112,.2)}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:18px}.auth-brand small{color:#7790b4;font-size:9px;letter-spacing:2px}.auth-screen[hidden]{display:none!important}.auth-screen h1{margin:5px 0 8px;color:#0a214e;font-size:24px;letter-spacing:-.6px}.auth-screen>p{margin:0 0 20px;color:var(--muted);font-size:11px;line-height:1.6}.auth-screen label{display:block;margin-top:12px}.auth-screen label>span{display:block;margin-bottom:6px;color:#40577e;font-size:10px;font-weight:800}.auth-screen input{width:100%;height:43px;border:1px solid #d4e1f0;border-radius:10px;background:#fbfdff;padding:0 12px;color:var(--ink);font:700 12px Manrope}.auth-screen .primary-btn{width:100%;justify-content:center;margin-top:16px}.auth-hint{display:block;margin-top:7px;color:#7c8da9;font-size:9px}.auth-error{min-height:17px!important;margin:10px 0 0!important;color:#bb4155!important;font-weight:700}.auth-spinner{display:block;width:34px;height:34px;margin-bottom:18px;border:4px solid #d9e7f4;border-top-color:#1687c9;border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-logout-btn{height:38px;border:1px solid #d4e1f0;border-radius:9px;background:#fff;color:#36547d;padding:0 12px;font:800 10px Manrope;cursor:pointer}.auth-logout-btn:hover{border-color:#efacb7;background:#fff5f6;color:#b54859}.role-switch select:disabled{opacity:1;cursor:default}
.account-create{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:9px;padding:0 18px 18px}.account-create label>span{display:block;margin-bottom:5px;color:#7889a5;font-size:8px;font-weight:800}.account-create input,.account-create select{width:100%;height:38px;border:1px solid #d5e2f1;border-radius:8px;background:#fbfdff;padding:0 9px;color:var(--ink);font:700 9px Manrope}.account-create button{align-self:end}.account-list{border-top:1px solid var(--line)}.account-row{display:grid;grid-template-columns:minmax(145px,1.1fr) minmax(150px,1.2fr) 115px 90px minmax(260px,1.5fr);gap:10px;align-items:center;padding:11px 18px;border-bottom:1px solid #e8eef6}.account-row b,.account-row small{display:block}.account-row small{margin-top:3px;color:var(--muted);font-size:8px}.account-role,.account-status{display:inline-flex;width:max-content;border-radius:14px;padding:5px 8px;background:#e8f2fb;color:#1b5da7;font-size:8px;font-weight:800}.account-status.blocked{background:#fff0f1;color:#b34859}.account-actions{display:flex;flex-wrap:wrap;gap:5px}.account-actions button{height:29px;border:1px solid #d4e1f0;border-radius:7px;background:#f7faff;color:#244f91;padding:0 8px;font:800 8px Manrope;cursor:pointer}.account-actions button.danger{border-color:#f0cfd5;background:#fff5f6;color:#b54859}.account-empty{padding:28px;text-align:center;color:var(--muted);font-size:10px}@media(max-width:1050px){.account-create{grid-template-columns:1fr 1fr}.account-row{grid-template-columns:1fr 1fr}.account-actions{grid-column:1/-1}}@media(max-width:700px){.auth-card{padding:24px}.account-create,.account-row{grid-template-columns:1fr}.account-actions{grid-column:auto}.role-switch{display:none}}

.password-input-wrap{position:relative;display:block}.password-input-wrap input{padding-right:86px}.password-input-wrap button{position:absolute;right:6px;top:5px;height:33px;border:0;border-radius:8px;background:#eaf3fb;color:#175da4;padding:0 10px;font:800 9px Manrope;cursor:pointer}.account-export-actions{display:flex;align-items:center;gap:10px}.account-security-note{margin:0 18px 14px;padding:10px 12px;border:1px solid #d9e8f4;border-radius:9px;background:#f4f9fd;color:#526a8d;font-size:9px}.account-password-state{display:block;margin-top:5px;color:#7a8da9;font-size:8px;font-style:normal}.account-copy-credential{border-color:#9edbd1!important;background:#eefbf8!important;color:#08766b!important}.extra-shift-editor-head{margin-top:18px}.extra-shift-edit-row{grid-template-columns:auto 1fr auto 1fr auto}.market-extra-badge{border-radius:12px;background:#eaf8f5;color:#08786c;padding:5px 8px;font-size:8px;font-weight:800}.market-history{margin-top:12px;border-top:1px solid #e2ebf5;padding-top:10px}.market-history summary{color:#315d94;font-size:9px;font-weight:800;cursor:pointer}.market-history>div{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;padding:7px 0;border-bottom:1px dashed #e4ebf4;font-size:8px}.market-history>div span,.market-history>div time{color:#7183a0}.market-history>div time{font-size:8px}
.account-actions .account-show-password{border-color:#7bc9b7!important;background:#eaf9f5!important;color:#087565!important}

/* Учёт фактического рабочего времени. */
.account-create{grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto auto}
.account-temporary-password{display:block;width:max-content;max-width:100%;margin-top:6px;border:1px solid #a9ddd5;border-radius:6px;background:#effbf8;color:#086f65;padding:4px 7px;font:800 10px Consolas,monospace;overflow:hidden;text-overflow:ellipsis}.credential-modal{width:min(560px,calc(100vw - 32px))}.credential-value{margin-top:14px}.credential-value>span{display:block;margin-bottom:6px;color:#667b9d;font-size:10px;font-weight:800}.credential-value>div{display:flex;align-items:center;gap:8px}.credential-value code{min-width:0;flex:1;min-height:44px;display:flex;align-items:center;border:1px solid #cce0ed;border-radius:10px;background:#f5f9fc;color:#102d59;padding:0 12px;font:800 14px Consolas,monospace;user-select:all;overflow-wrap:anywhere}.credential-value:nth-of-type(2) code{border-color:#9edbd1;background:#effbf8;color:#087267}.credential-modal-note{margin-top:14px;border-radius:9px;background:#fff8e8;color:#78622e;padding:10px 12px;font-size:9px;line-height:1.5}
.account-credential-picker{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(520px,1.8fr);gap:14px;margin:0 18px 18px;border:1px solid #cddfed;border-radius:13px;background:linear-gradient(145deg,#f8fbff,#eff8f6);padding:14px}.account-credential-picker>label>span,.account-selected-credentials span{display:block;margin-bottom:6px;color:#657b9e;font-size:9px;font-weight:800}.account-credential-picker select{width:100%;height:42px;border:1px solid #bfd4e5;border-radius:9px;background:#fff;padding:0 11px;color:#17355f;font:800 10px Manrope}.account-selected-credentials{display:grid;grid-template-columns:1.1fr 1fr 1.35fr auto;gap:10px;align-items:end}.account-selected-credentials>div{min-width:0}.account-selected-credentials b,.account-selected-credentials code,.account-selected-credentials em{display:block;min-height:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-selected-credentials b{font-size:10px;padding-top:8px}.account-selected-credentials code{border:1px solid #b7d9d1;border-radius:7px;background:#fff;color:#087267;padding:8px;font:800 10px Consolas,monospace;user-select:all}.account-selected-credentials em{color:#916633;font-size:9px;font-style:normal;padding-top:8px}.account-selected-credentials button{height:32px;margin-top:6px}.account-copy-all{align-self:end;white-space:nowrap}@media(max-width:1150px){.account-credential-picker{grid-template-columns:1fr}.account-selected-credentials{grid-template-columns:1fr 1fr}}@media(max-width:650px){.account-selected-credentials{grid-template-columns:1fr}}
.attendance-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:9px;margin-bottom:8px}.attendance-toolbar label,.attendance-day-picker label{display:block}.attendance-toolbar label>span,.attendance-day-picker label>span,.attendance-modal-grid label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:8px;font-weight:800}.attendance-toolbar input,.attendance-toolbar select,.attendance-day-picker input,.attendance-modal-grid input,.attendance-modal-grid select,.attendance-modal-grid textarea{height:38px;border:1px solid #d5e2f1;border-radius:9px;background:#fbfdff;padding:0 10px;color:var(--ink);font:700 10px Manrope}.attendance-toolbar select{min-width:210px}.attendance-range-control{display:flex;align-items:end;gap:9px}.attendance-range-tabs{height:38px}.attendance-range-tabs button{min-width:64px;padding:0 10px}.attendance-range-fields{display:flex;gap:7px}.attendance-range-fields input{min-width:138px}.attendance-range-summary{margin:0 0 10px;color:var(--muted);font-size:9px}.attendance-range-summary b{color:#294878}.attendance-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:12px}.attendance-kpis article{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);padding:14px 16px;box-shadow:var(--shadow)}.attendance-kpis span,.attendance-kpis strong,.attendance-kpis small{display:block}.attendance-kpis span{color:var(--muted);font-size:8px;font-weight:700}.attendance-kpis strong{margin:6px 0 3px;font-size:18px}.attendance-kpis small{color:#8090aa;font-size:8px;line-height:1.4}.attendance-timesheet{overflow:hidden;margin-bottom:12px}.attendance-daily-breakdown{margin-bottom:12px}.attendance-table-scroll{overflow:auto;max-height:620px}.attendance-timesheet table{width:100%;min-width:920px;border-collapse:collapse}.attendance-timesheet th,.attendance-timesheet td{border-bottom:1px solid #e5ecf5;padding:10px 12px;text-align:left;font-size:9px}.attendance-timesheet th{position:sticky;top:0;z-index:1;background:#f3f7fc;color:#7081a1;font-size:8px}.attendance-timesheet td small{display:block;margin-top:3px;color:var(--muted);font-size:7px}.attendance-negative{color:#c2475b;font-weight:800}.attendance-positive{color:#148371;font-weight:800}.attendance-status{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:15px;background:#eef3f8;padding:6px 9px;color:#5f708c;font-size:8px;font-weight:800;white-space:nowrap}.attendance-status i{width:7px;height:7px;border-radius:50%;background:#97a7bd}.attendance-status:not(.status-closed){background:#e6f5f2;color:#19725f}.attendance-status:not(.status-closed) i{background:#24b99f;box-shadow:0 0 0 3px rgba(36,185,159,.12)}.attendance-status.status-break,.attendance-status.status-meal{background:#fff3df;color:#8e5d19}.attendance-status.status-break i,.attendance-status.status-meal i{background:#f2a72d}.attendance-status.status-training,.attendance-status.status-error_review,.attendance-status.status-non_billable{background:#eeeafe;color:#5b4db4}.attendance-status.status-training i,.attendance-status.status-error_review i,.attendance-status.status-non_billable i{background:#7364d8}.attendance-events-card{overflow:hidden}.attendance-event-list{border-top:1px solid var(--line)}.attendance-event-row{display:grid;grid-template-columns:92px minmax(220px,1fr) auto;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid #e8eef6}.attendance-event-row time{color:#1747ad;font-size:10px;font-weight:800;white-space:nowrap}.attendance-event-row b,.attendance-event-row small{display:block}.attendance-event-row b{font-size:10px}.attendance-event-row small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.5}.attendance-event-actions{display:flex;gap:5px}.attendance-event-actions button{height:29px;border:1px solid #d4e1f0;border-radius:7px;background:#f7faff;color:#244f91;padding:0 8px;font:800 8px Manrope;cursor:pointer}.attendance-event-actions button.danger{border-color:#f0cfd5;background:#fff5f6;color:#b54859}.attendance-empty,.attendance-loading{padding:28px;text-align:center;color:var(--muted);font-size:10px}.attendance-operator-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:12px;margin-bottom:12px}.attendance-clock-card{padding:20px}.attendance-live{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:9px 0 16px}.attendance-live small,.attendance-live h2,.attendance-live p{display:block;margin:0}.attendance-live small{color:var(--muted);font-size:8px}.attendance-live h2{margin:4px 0;font-size:23px}.attendance-live p,.attendance-day-picker p,.attendance-preview-note{color:var(--muted);font-size:8px;line-height:1.55}.attendance-punches{display:flex;flex-wrap:wrap;gap:7px}.attendance-punches button{min-height:36px;border-radius:9px;padding:0 12px;font:800 9px Manrope;cursor:pointer}.attendance-punches button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.55}.attendance-activity-btn{border:1px solid #d6e2f0;background:#f7faff;color:#36547d}.attendance-activity-btn.active{border-color:#70bdaa;background:#e4f5f0;color:#146b59}.attendance-activity-btn.status-training,.attendance-activity-btn.status-error_review,.attendance-activity-btn.status-non_billable{border-color:#d9d2f5;background:#f5f2ff;color:#5e50b4}.attendance-end-btn{border:1px solid #efcbd2;background:#fff2f4;color:#b64758}.attendance-day-picker{padding:20px}.attendance-day-picker .attendance-range-control{align-items:stretch;flex-direction:column}.attendance-day-picker .attendance-range-fields label,.attendance-day-picker .attendance-range-fields input{width:100%}.attendance-day-picker input{margin-bottom:8px}.attendance-preview-note{border-radius:9px;background:#fff7de;padding:9px 11px;color:#755b16}.attendance-modal{max-width:650px}.attendance-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.attendance-modal-grid label{display:block}.attendance-modal-grid input,.attendance-modal-grid select{width:100%}.attendance-modal-grid textarea{width:100%;height:auto;padding:10px;resize:vertical}.attendance-modal-reason{grid-column:1/-1}@media(max-width:1000px){.attendance-kpis{grid-template-columns:repeat(3,1fr)}.attendance-operator-head{grid-template-columns:1fr}}@media(max-width:700px){.attendance-kpis{grid-template-columns:1fr 1fr}.attendance-toolbar>*{width:100%}.attendance-toolbar select{min-width:0}.attendance-range-control{align-items:stretch;flex-direction:column}.attendance-range-fields label,.attendance-range-fields input{width:100%}.attendance-event-row{grid-template-columns:78px 1fr}.attendance-event-actions{grid-column:1/-1}.attendance-modal-grid{grid-template-columns:1fr}.attendance-modal-reason{grid-column:auto}}@media(max-width:450px){.attendance-kpis{grid-template-columns:1fr}.attendance-range-fields{flex-direction:column}}
.attendance-schedule-ok,.attendance-schedule-warning{margin:0 0 12px;border-radius:9px;padding:9px 11px;font-size:8px;font-weight:800;line-height:1.55}.attendance-schedule-ok{background:#e8f6f1;color:#18715e}.attendance-schedule-warning{background:#fff0f2;color:#af4556}

/* Доработки табеля, таймлайна и читаемости. */
.avatar img,.operator-avatar-large img,.side-user>i img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.operator-avatar-large{overflow:hidden}.operator-avatar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:9px}.operator-avatar-actions label,.operator-avatar-actions button{height:31px;border:1px solid #c9dced;border-radius:8px;background:#f1f8ff;color:#175ca7;padding:0 10px;display:inline-flex;align-items:center;font:800 9px Manrope;cursor:pointer}.operator-avatar-actions label i{font-style:normal}.operator-avatar-actions button{border-color:#efcbd2;background:#fff4f5;color:#ad4656}
.employee-mini-avatar{display:inline-grid!important;place-items:center;flex:0 0 34px;width:34px;height:34px;overflow:hidden;border:2px solid #fff;border-radius:11px;box-shadow:0 2px 8px rgba(20,61,53,.18);color:#173f36;font-style:normal;font-size:10px;font-weight:900;line-height:1}.employee-mini-avatar>span{display:grid;place-items:center;width:100%;height:100%}.employee-mini-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.actual-fte-card{background:linear-gradient(145deg,#fff 0%,#f2f8f5 100%)}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kpi-grid{grid-template-columns:1fr}}

.access-role-tag.role-senior_operator{background:#fff2df;color:#92591d}
body.senior-operator .combined-shift,body.senior-operator .timeline-shift,body.senior-operator .timeline-break,body.senior-operator .vacation-bar{cursor:default}
body.senior-operator .combined-shift:hover{border-color:#d2e4de;background:#edf6f3}
body.senior-operator .combined-shift.has-variance:hover{border-color:#e7a352;background:#fff9f0}
body.senior-operator .timeline-add-break,body.senior-operator .timeline-break>button,body.senior-operator .vacation-add,body.senior-operator .vacation-name>button{display:none!important}
.settings-access-notes{grid-template-columns:repeat(4,minmax(0,1fr))}
.account-permissions-panel{margin-top:14px}.account-permissions-toolbar{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(190px,.8fr) auto;gap:12px;align-items:end;padding:16px 18px;border-top:1px solid var(--line);background:#f8fbff}.account-permissions-toolbar label span,.account-permissions-toolbar>div span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:800}.account-permissions-toolbar select{width:100%;height:40px;border:1px solid #cbdced;border-radius:9px;background:#fff;padding:0 11px;color:var(--ink);font:800 10px Manrope}.account-permissions-toolbar>div b{display:block;min-height:40px;padding:12px;border:1px solid #d9e5f2;border-radius:9px;background:#fff;font-size:10px}.account-permissions-toolbar button{height:40px}.account-access-table{min-width:560px}.account-access-table th:last-child,.account-access-table td:last-child{text-align:center}
@media(max-width:1000px){.settings-access-notes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.account-permissions-toolbar{grid-template-columns:1fr}.account-permissions-toolbar button{width:100%}}@media(max-width:600px){.settings-access-notes{grid-template-columns:1fr}}
body.operator .nav-item[data-view]:not([hidden]),body.supervisor .nav-item[data-view]:not([hidden]),body.senior-operator .nav-item[data-view]:not([hidden]){display:flex}body .nav-item[data-view][hidden]{display:none!important}

.activity-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.activity-kpis article{min-height:98px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow)}.activity-kpis span,.activity-kpis strong,.activity-kpis small{display:block}.activity-kpis span{color:var(--muted);font-size:9px;font-weight:700}.activity-kpis strong{margin:7px 0 3px;color:#113a8c;font-size:23px}.activity-kpis small{color:#8090aa;font-size:8px}.activity-panel{overflow:hidden}.activity-toolbar{display:flex;align-items:end;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line);background:#f8fbff}.activity-toolbar label{display:block}.activity-toolbar label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:8px;font-weight:800}.activity-toolbar input,.activity-toolbar select{height:38px;border:1px solid #d5e2f1;border-radius:9px;background:#fff;padding:0 11px;color:var(--ink);font:700 10px Manrope}.activity-toolbar select{min-width:190px}.activity-search{flex:1}.activity-search input{width:100%;min-width:240px}.activity-table-scroll{max-height:680px;overflow:auto}.activity-table{width:100%;min-width:1060px;border-collapse:collapse}.activity-table th,.activity-table td{padding:11px 13px;border-bottom:1px solid #e5ecf5;text-align:left;vertical-align:top;font-size:9px}.activity-table th{position:sticky;top:0;z-index:2;background:#f3f7fc;color:#66799c;font-size:8px}.activity-table th:first-child{width:165px}.activity-table th:nth-child(2){width:150px}.activity-table th:nth-child(4){width:150px}.activity-table th:last-child{width:175px}.activity-table td time,.activity-table td b,.activity-table td small{display:block}.activity-table td time{color:#173f8f;font-size:9px;font-weight:800;white-space:nowrap}.activity-table td small{margin-top:4px;color:var(--muted);font-size:7px;line-height:1.45}.activity-table td:first-child small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-category{display:inline-flex;border-radius:14px;background:#edf2f8;padding:6px 9px;color:#536682;font-size:8px;font-weight:800;white-space:nowrap}.activity-category.category-changes{background:#e7f2ff;color:#1761aa}.activity-category.category-security{background:#fff0df;color:#9a5a12}.activity-category.category-users{background:#eeeafe;color:#5d4eb2}.activity-category.category-attendance{background:#e4f5f0;color:#14715e}.activity-category.category-shift_market{background:#e4f6f8;color:#0b7383}.activity-category.category-development{background:#fff5cf;color:#7b6410}.activity-details summary{color:#28599a;font-size:8px;font-weight:800;cursor:pointer}.activity-details pre{max-width:320px;max-height:170px;margin:7px 0 0;overflow:auto;border-radius:8px;background:#eff4fa;padding:8px;color:#38506f;font:7px/1.45 Consolas,monospace;white-space:pre-wrap;word-break:break-word}.activity-no-details{color:#9ba9bc}.activity-empty{padding:34px!important;text-align:center!important;color:var(--muted);font-size:10px!important}@media(max-width:1000px){.activity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.activity-kpis{grid-template-columns:1fr}.activity-toolbar{align-items:stretch;flex-direction:column}.activity-toolbar label,.activity-toolbar input,.activity-toolbar select{width:100%;min-width:0}}
.activity-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.system-changes-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.system-changes-summary article{padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow)}.system-changes-summary span,.system-changes-summary strong,.system-changes-summary small{display:block}.system-changes-summary span{color:var(--muted);font-size:9px;font-weight:700}.system-changes-summary strong{margin:7px 0 3px;color:#113a8c;font-size:20px}.system-changes-summary small{color:#8090aa;font-size:8px}.system-changes-list{display:grid;gap:10px}.system-change-card{display:grid;grid-template-columns:165px minmax(0,1fr) 90px;gap:18px;align-items:start;padding:17px 19px}.system-change-card time{color:#173f8f;font-size:9px;font-weight:800}.system-change-card h2{margin:0 0 6px;font-size:13px}.system-change-card p{margin:0;color:#60718c;font-size:10px;line-height:1.55}.system-change-card>span{justify-self:end;border-radius:14px;background:#fff5cf;padding:6px 9px;color:#7b6410;font-size:8px;font-weight:800}@media(max-width:700px){.activity-kpis,.system-changes-summary{grid-template-columns:1fr}.system-change-card{grid-template-columns:1fr;gap:7px}.system-change-card>span{justify-self:start}}
.plan-fact-legend .plan-mark{background:#fff0d5;color:#9a5900}.combined-shift .plan-line i{background:#ffe1ad;color:#945300}.combined-shift .plan-line b{color:#a35b00}.future-schedule-cell{background:#fffdf9}.future-plan-shift{background:#fff7e9;border-color:#f2cf95}.future-plan-shift:hover{background:#fff1d6;border-color:#eaae52}.future-plan-shift .plan-only-line i{background:#ffc768;color:#754000}.future-plan-shift .plan-only-line b{color:#8d5000}.timeline-shift.is-plan{background:linear-gradient(135deg,#ffd580,#ffbc4d);color:#6f3b00}.timeline-shift.is-fact{background:linear-gradient(135deg,#bfeaf3,#b9d9fa);color:#123d82}
.shift-chip[draggable=true]{cursor:grab}.shift-chip.drag-source{opacity:.42;cursor:grabbing}.shift-chip.drag-target{outline:3px solid #28a7d0;outline-offset:2px;transform:translateY(-2px);box-shadow:0 9px 20px rgba(28,121,184,.2)}
.timeline-person{gap:7px}.timeline-add-break{border:1px solid #c8dced;border-radius:7px;background:#f4f9fe;color:#175ca7;padding:3px 6px;font:800 8px Manrope;cursor:pointer;white-space:nowrap}.timeline-break>button{position:absolute;right:-6px;top:-8px;width:17px;height:17px;border:2px solid #fff;border-radius:50%;background:#d94f5d;color:#fff;display:none;align-items:center;justify-content:center;padding:0;font:900 12px/1 Arial;cursor:pointer;z-index:12}.timeline-break:hover>button{display:flex}.timeline-shift .timeline-break:hover::after{top:calc(50% + 13px)}
.attendance-correction-btn{height:29px;border:1px solid #c7daec;border-radius:7px;background:#f1f8ff;color:#185aa4;padding:0 8px;font:800 9px Manrope;cursor:pointer;white-space:nowrap}.attendance-correction-btn:hover{border-color:#6cb6d9;background:#e5f5ff}
.page-heading p{font-size:13px}.panel-head p{font-size:11px}.schedule-row.header .schedule-cell{font-size:10px}.schedule-row.header .schedule-cell b{font-size:12px}.employee-cell b{font-size:11px}.employee-cell small{font-size:9px}.employee-cell em{font-size:8px}.schedule-legend,.plan-fact-legend{font-size:10px}.combined-shift .plan-line b,.combined-shift .fact-line b,.future-plan-shift .plan-only-line b{font-size:10px}.timeline-person b{font-size:11px}.timeline-axis b{font-size:9px}.employee-form-grid label>span,.employee-shift-field>span,.employee-interval-head b{font-size:11px}.employee-form-grid input,.employee-form-grid select{font-size:11px}.attendance-toolbar label>span,.attendance-day-picker label>span,.attendance-modal-grid label>span{font-size:10px}.attendance-range-summary{font-size:11px}.attendance-kpis span,.attendance-kpis small{font-size:10px}.attendance-timesheet th{font-size:10px}.attendance-timesheet td{font-size:11px}.attendance-timesheet td small{font-size:9px}.attendance-event-row b{font-size:11px}.attendance-event-row small{font-size:10px}.attendance-live small,.attendance-live p,.attendance-day-picker p,.attendance-preview-note{font-size:10px}

/* Отчёты: ручной факт трафика и аналитический дашборд. */
.erlang-summary{grid-template-columns:repeat(5,1fr)}.erlang-summary article small{display:block;margin-top:4px;color:#a9c8e3;font-size:8px}.reports-tabs{display:flex;width:max-content;max-width:100%;gap:5px;margin-bottom:14px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#e7eef8;overflow:auto}.reports-tabs button{height:39px;border:0;border-radius:9px;background:transparent;color:#65769a;padding:0 17px;font:800 11px Manrope;white-space:nowrap;cursor:pointer}.reports-tabs button.active{background:#fff;color:#1549ab;box-shadow:0 5px 14px rgba(28,71,143,.11)}.report-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:12px}.report-subhead h2{margin:0 0 4px;font-size:18px}.report-subhead p{margin:0;color:var(--muted);font-size:11px}.report-month-control>span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:800}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.report-kpis article{min-height:100px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow)}.report-kpis span,.report-kpis strong,.report-kpis small{display:block}.report-kpis span{color:var(--muted);font-size:10px;font-weight:700}.report-kpis strong{margin:8px 0 3px;font-size:22px}.report-kpis small{color:#8090aa;font-size:9px}.report-kpis strong.negative,.traffic-plan-fact-table .negative{color:#c2475b}.report-kpis strong.positive,.traffic-plan-fact-table .positive{color:#148371}.traffic-plan-fact-panel,.report-hourly-detail{overflow:hidden}.traffic-table-scroll{max-height:650px;overflow:auto}.traffic-plan-fact-table{width:100%;min-width:1120px;border-collapse:collapse}.traffic-plan-fact-table th,.traffic-plan-fact-table td{padding:9px 11px;border-bottom:1px solid #e5ecf5;text-align:left;font-size:10px}.traffic-plan-fact-table th{position:sticky;top:0;z-index:2;background:#f3f7fc;color:#66799c;font-size:9px}.traffic-plan-fact-table td small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.traffic-plan-fact-table input{width:96px;height:34px;border:1px solid #ceddeb;border-radius:8px;background:#fff;padding:0 9px;color:#0d2148;font:800 11px Manrope}.traffic-plan-fact-table input:placeholder-shown{background:#f7f9fc}.report-readonly-note{color:var(--muted);font-size:10px}.report-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.report-chart-wrap{height:250px;padding:0 15px 15px}.report-chart-wrap canvas{width:100%;height:100%}.report-hourly-detail .traffic-plan-fact-table{min-width:760px}.report-dashboard-kpis .accent{background:linear-gradient(135deg,#184caf,#0b8ac9);color:#fff;border-color:transparent}.report-dashboard-kpis .accent span,.report-dashboard-kpis .accent small{color:#c5e5f7}
@media(max-width:1050px){.erlang-summary{grid-template-columns:repeat(3,1fr)}.report-kpis{grid-template-columns:1fr 1fr}.report-chart-grid{grid-template-columns:1fr}}
@media(max-width:650px){.erlang-summary,.report-kpis{grid-template-columns:1fr}.report-subhead{align-items:stretch;flex-direction:column}.report-month-control,.report-month-control select{width:100%}}
.traffic-plan-fact-table input.dashboard-fact-input{width:128px;border-color:#8fc5e5;background:#f4fbff}.traffic-plan-fact-table input.dashboard-fact-input::placeholder{color:#8295b3;font-size:9px}
.daily-traffic-table{min-width:980px}.traffic-plan-fact-table input.daily-fact-input{width:140px;border-color:#8fc5e5;background:#f4fbff}.traffic-plan-fact-table input.daily-fact-input::placeholder{color:#8295b3;font-size:9px}
.helpdesk-import-panel{min-height:0!important;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;margin-bottom:12px;overflow:hidden;background:linear-gradient(125deg,#123b91,#0b74ba 68%,#0ca0c5)!important;color:#fff}.helpdesk-import-copy{max-width:720px}.helpdesk-import-copy h2{margin:4px 0 7px;font-size:19px}.helpdesk-import-copy p{margin:0 0 9px;color:#d3eafa;font-size:10px;line-height:1.6}.helpdesk-import-copy small{color:#acd5ed;font-size:9px}.helpdesk-import-copy .quick-kicker{color:#70e2ed!important}.helpdesk-upload{min-width:185px;min-height:92px;border:1px dashed rgba(255,255,255,.55);border-radius:14px;background:rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.helpdesk-upload:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}.helpdesk-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.helpdesk-upload b{font-size:12px}.helpdesk-upload span{margin-top:5px;color:#c8e5f5;font-size:8px}.helpdesk-upload.disabled{cursor:wait;opacity:.7}.helpdesk-upload.readonly{cursor:default}.helpdesk-upload.readonly:hover{transform:none}.helpdesk-warning{margin:-2px 0 12px;padding:11px 14px;border:1px solid #f2d79a;border-radius:11px;background:#fff9e9;color:#76521b;font-size:10px;line-height:1.5}.helpdesk-loading,.helpdesk-empty{padding:55px 24px;border:1px dashed var(--line);border-radius:15px;background:rgba(255,255,255,.65);text-align:center;color:var(--muted);font-size:11px}.helpdesk-empty h2{margin:0 0 7px;color:var(--ink);font-size:17px}.helpdesk-empty p{margin:0}.helpdesk-empty.compact{margin-bottom:12px;padding:28px}.helpdesk-heading{margin-top:17px}.helpdesk-chart-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)}.helpdesk-breakdown{min-height:300px!important;overflow:hidden}.helpdesk-bars{padding:4px 20px 20px}.helpdesk-bars>div{display:grid;grid-template-columns:90px 1fr 55px;align-items:center;gap:9px;margin:13px 0;font-size:9px}.helpdesk-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#53678d;font-weight:800}.helpdesk-bars i{height:8px;border-radius:99px;background:#e8eef7;overflow:hidden}.helpdesk-bars i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1764c9,#14afc5)}.helpdesk-bars strong{text-align:right;font-size:10px}.helpdesk-table-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(560px,1.25fr);gap:12px;margin-bottom:12px}.helpdesk-table-panel{min-height:360px!important;overflow:hidden}.helpdesk-table{min-width:470px}.helpdesk-operator-table{min-width:760px}.helpdesk-history{min-height:0!important;overflow:hidden}.helpdesk-history-list{padding:0 20px 18px}.helpdesk-history-list>div{display:grid;grid-template-columns:95px minmax(180px,1fr) minmax(260px,1.6fr);align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e5ecf5;font-size:9px}.helpdesk-history-list>div:last-child{border-bottom:0}.helpdesk-history-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.helpdesk-history-list small{color:var(--muted)}.helpdesk-file-type{width:max-content;padding:5px 8px;border-radius:99px;background:#e8f1ff;color:#1757aa;font-weight:800}.helpdesk-file-type.employee_activity{background:#e2f8f5;color:#138277}
.helpdesk-import-section{margin-bottom:12px}.helpdesk-import-section .helpdesk-import-panel{margin-bottom:10px}.helpdesk-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.helpdesk-upload-card{min-height:230px;padding:19px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:13px}.helpdesk-upload-card>div:first-child{flex:1}.helpdesk-upload-card>div:first-child>span{display:block;margin-bottom:6px;color:#1671be;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.helpdesk-upload-card.employee_activity>div:first-child>span{color:#138c7d}.helpdesk-upload-card h3{margin:0 0 7px;font-size:16px}.helpdesk-upload-card p{margin:0 0 8px;color:#566b90;font-size:10px;line-height:1.55}.helpdesk-upload-card small{color:#8493aa;font-size:8px}.helpdesk-last-file{min-height:48px;padding:9px 11px;border-radius:9px;background:#eef5ff;display:flex;flex-direction:column;justify-content:center}.helpdesk-upload-card.employee_activity .helpdesk-last-file{background:#eaf8f5}.helpdesk-last-file b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.helpdesk-last-file span{margin-top:3px;color:#7082a0;font-size:8px}.helpdesk-last-file.empty{background:#f4f6f9;color:#7888a0}.helpdesk-upload-button{height:41px;border-radius:9px;background:linear-gradient(135deg,#1764c9,#0b89ca);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px rgba(18,91,183,.18);transition:.2s}.helpdesk-upload-card.employee_activity .helpdesk-upload-button{background:linear-gradient(135deg,#148b83,#10a99c)}.helpdesk-upload-button:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(18,91,183,.24)}.helpdesk-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.helpdesk-upload-button b{font-size:10px}.helpdesk-upload-button.disabled{cursor:wait;opacity:.55;transform:none}.helpdesk-upload-button.readonly{background:#e9eef5;color:#687c9c;cursor:default;box-shadow:none}
@media(max-width:1050px){.helpdesk-chart-grid,.helpdesk-table-grid{grid-template-columns:1fr}.helpdesk-import-panel{align-items:stretch;flex-direction:column}.helpdesk-upload-grid{grid-template-columns:1fr}.helpdesk-history-list>div{grid-template-columns:90px 1fr}.helpdesk-history-list small{grid-column:2}}
@media(max-width:650px){.helpdesk-import-panel{padding:17px}.helpdesk-upload-card{min-height:0}.helpdesk-bars>div{grid-template-columns:76px 1fr 45px}.helpdesk-history-list>div{display:flex;align-items:flex-start;flex-direction:column;gap:5px}.helpdesk-history-list small{grid-column:auto}}
.helpdesk-import-panel{gap:18px;padding:14px 18px;margin-bottom:9px}.helpdesk-import-copy{max-width:900px}.helpdesk-import-copy h2{margin:3px 0 4px;font-size:17px}.helpdesk-import-copy p{margin:0;font-size:9px;line-height:1.4}.helpdesk-upload-card{min-height:0;padding:12px 14px;border-radius:13px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(145px,.85fr);gap:8px 10px;align-items:center}.helpdesk-upload-card>div:first-child{grid-column:1/-1}.helpdesk-upload-card>div:first-child>span{margin-bottom:3px;font-size:8px}.helpdesk-upload-card h3{margin:0 0 3px;font-size:14px}.helpdesk-upload-card p{margin:0 0 3px;font-size:9px;line-height:1.35}.helpdesk-upload-card small{font-size:7px}.helpdesk-last-file{min-height:34px;padding:5px 9px;border-radius:8px}.helpdesk-last-file b{font-size:8px}.helpdesk-last-file span{margin-top:1px;font-size:7px}.helpdesk-upload-button{height:34px;border-radius:8px;box-shadow:0 6px 14px rgba(18,91,183,.16)}.helpdesk-upload-button b{font-size:9px}
@media(max-width:650px){.helpdesk-import-panel{padding:12px 14px}.helpdesk-upload-card{grid-template-columns:1fr}.helpdesk-upload-card>div:first-child{grid-column:auto}}
.helpdesk-import-section{margin:0 0 8px}.helpdesk-compact-head{display:flex;align-items:center;gap:10px;margin:0 0 6px;padding:0 2px;color:#123f80}.helpdesk-compact-head b{font-size:11px}.helpdesk-compact-head span{color:#71819d;font-size:8px}.helpdesk-upload-grid{gap:8px}.helpdesk-upload-card{grid-template-columns:minmax(135px,.9fr) minmax(180px,1.15fr) 145px;gap:8px;padding:8px 10px;border-radius:11px;box-shadow:0 4px 12px rgba(24,65,118,.08)}.helpdesk-upload-card>div:first-child{grid-column:auto}.helpdesk-upload-card>div:first-child>span{margin:0 0 2px;font-size:7px}.helpdesk-upload-card h3{margin:0;font-size:11px;line-height:1.2}.helpdesk-upload-card p,.helpdesk-upload-card small{display:none}.helpdesk-last-file{min-height:32px;padding:4px 8px}.helpdesk-upload-button{height:32px}.helpdesk-warning{margin:0 0 9px;padding:0;border-radius:9px;font-size:9px}.helpdesk-warning summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 11px;cursor:pointer;list-style:none}.helpdesk-warning summary::-webkit-details-marker{display:none}.helpdesk-warning summary span{color:#a46f12;font-size:8px;font-weight:800}.helpdesk-warning p{margin:0;padding:0 11px 9px;line-height:1.45}.helpdesk-warning[open] summary span{font-size:0}.helpdesk-warning[open] summary span::after{content:'Скрыть ФИО';font-size:8px}@media(max-width:1050px){.helpdesk-upload-grid{grid-template-columns:1fr}.helpdesk-upload-card{grid-template-columns:minmax(150px,.8fr) minmax(200px,1.2fr) 155px}}@media(max-width:650px){.helpdesk-compact-head{align-items:flex-start;flex-direction:column;gap:2px}.helpdesk-upload-card{grid-template-columns:1fr 130px}.helpdesk-upload-card>div:first-child{grid-column:1/-1}.helpdesk-last-file{min-width:0}}
.reports-top.has-import{display:grid;grid-template-columns:minmax(430px,.72fr) minmax(760px,1.28fr);align-items:start;gap:24px}.reports-top.has-import .page-heading{margin-bottom:14px}.reports-top.has-import .reports-tabs{margin-bottom:0}.reports-import-slot:empty{display:none}.reports-import-slot{padding-top:4px}.reports-import-slot .helpdesk-import-section{margin-bottom:6px}.reports-import-slot .helpdesk-compact-head{margin-bottom:5px}.reports-import-slot .helpdesk-upload-card{grid-template-columns:minmax(135px,.9fr) minmax(160px,1.1fr) 135px;padding:7px 9px}.reports-import-slot .helpdesk-warning{margin-bottom:0}@media(max-width:1450px){.reports-top.has-import{display:block}.reports-top.has-import .reports-tabs{margin-bottom:12px}.reports-import-slot{padding-top:0}}@media(max-width:650px){.reports-import-slot .helpdesk-upload-card{grid-template-columns:1fr 130px}.reports-import-slot .helpdesk-upload-card>div:first-child{grid-column:1/-1}}
.report-heading-controls{display:flex;align-items:end;gap:9px}.forecast-accuracy-kpis article small{line-height:1.45}.forecast-recalc-modal{max-width:670px}.forecast-recalc-method>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:800}.forecast-recalc-method select{width:100%;height:41px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;font:700 11px Manrope}.forecast-recalc-preview{display:flex;justify-content:space-between;gap:12px;margin:13px 0;padding:13px 14px;border-radius:11px;background:#eaf5f1;color:#155b4c}.forecast-recalc-preview b,.forecast-recalc-preview span{font-size:10px}.forecast-recalc-months>b{display:block;margin-bottom:8px;font-size:11px}.forecast-recalc-months>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.forecast-recalc-months label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;padding:9px;font-size:9px;font-weight:700}.forecast-recalc-months input{accent-color:var(--green)}.forecast-recalc-note{color:var(--muted);font-size:9px;line-height:1.5}@media(max-width:650px){.report-heading-controls{align-items:stretch;flex-direction:column}.forecast-recalc-months>div{grid-template-columns:repeat(2,1fr)}}

/* Биржа смен. */
.market-tabs{display:flex;width:max-content;max-width:100%;gap:5px;margin-bottom:13px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#e7eef8}.market-tabs button{height:38px;border:0;border-radius:9px;background:transparent;color:#65769a;padding:0 17px;font:800 11px Manrope;cursor:pointer}.market-tabs button.active{background:#fff;color:#1549ab;box-shadow:0 5px 14px rgba(28,71,143,.11)}.market-tabs button b{margin-left:5px;border-radius:10px;background:#e4475a;color:#fff;padding:2px 6px;font-size:8px}.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.market-card{position:relative;overflow:hidden;padding:17px 18px}.market-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#31b8a1}.market-card.type-swap::before{background:#725fd4}.market-card.type-overtime::before{background:#168aca}.market-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.market-card-head h2{margin:5px 0 0;font-size:15px}.market-type{color:#6e80a0;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.market-status,.market-response-status{display:inline-flex;width:max-content;border-radius:15px;background:#e8f5f2;color:#16715f;padding:6px 9px;font-size:8px;font-weight:800;white-space:nowrap}.market-status.pending_approval,.market-response-status.pending{background:#fff3dc;color:#956017}.market-status.matched{background:#eeeafe;color:#5b4db4}.market-status.rejected,.market-status.cancelled,.market-response-status.rejected,.market-response-status.withdrawn{background:#fff0f2;color:#b14759}.market-card-detail{margin:14px 0 7px;color:#16345f;font-size:11px;font-weight:800;line-height:1.5}.market-skill,.market-decision{margin:5px 0;color:#667a9b;font-size:9px}.market-card blockquote{margin:10px 0;border-left:3px solid #d4dfec;padding:5px 9px;color:#61718c;font-size:10px;line-height:1.5}.market-card>time{display:block;margin-top:10px;color:#8b9ab1;font-size:8px}.market-responses{margin:13px -18px 0;border-top:1px solid #e5ecf5}.market-responses h3{margin:0;padding:10px 18px 6px;color:#7283a1;font-size:9px}.market-response{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px 18px;border-top:1px solid #edf2f8}.market-response b,.market-response small{display:block}.market-response b{font-size:10px}.market-response small{margin-top:3px;color:#71809b;font-size:8px;line-height:1.45}.market-response-actions{display:flex;gap:5px}.market-response-actions button,.market-cancel-btn{height:29px;border:1px solid #d5e1ef;border-radius:7px;background:#f7faff;color:#37557e;padding:0 8px;font:800 8px Manrope;cursor:pointer}.market-response-actions .market-approve{border-color:#a7d7ca;background:#e8f6f2;color:#176c5b}.market-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.market-cancel-btn{border-color:#efcdd3;background:#fff4f5;color:#ad4656}.market-empty{padding:42px;text-align:center;color:#6e7f9d}.market-empty h3{margin:0 0 7px;color:#17335e}.market-empty p{margin:0}.market-preview-note{margin-bottom:11px;border-radius:10px;background:#fff5dd;color:#7a5a18;padding:10px 13px;font-size:9px;font-weight:700}.market-modal{max-width:660px}.market-modal h2{margin:5px 0 6px}.market-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:17px}.market-form-grid label>span{display:block;margin-bottom:6px;color:#596c8d;font-size:10px;font-weight:800}.market-form-grid input,.market-form-grid select,.market-form-grid textarea{width:100%;height:40px;border:1px solid #d3e1ef;border-radius:9px;background:#fbfdff;padding:0 10px;color:#142e57;font:700 10px Manrope}.market-form-grid textarea{height:auto;padding:10px;resize:vertical}.market-wide{grid-column:1/-1}.timeline-market-extra{position:absolute;top:8px;height:40px;z-index:7;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border:1px solid #56a996;border-radius:8px;background:repeating-linear-gradient(135deg,#dff6ef,#dff6ef 8px,#cceee5 8px,#cceee5 16px);color:#145f51;padding:0 7px;box-shadow:0 4px 10px rgba(20,110,91,.13)}.timeline-market-extra b,.timeline-market-extra small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-market-extra b{font-size:9px}.timeline-market-extra small{font-size:7px;font-weight:800}
@media(max-width:950px){.market-grid{grid-template-columns:1fr}}@media(max-width:650px){.market-form-grid{grid-template-columns:1fr}.market-wide{grid-column:auto}.market-response{grid-template-columns:1fr}.market-response-actions{grid-column:1/-1}.market-tabs{width:100%;overflow:auto}}
.market-card.type-day_off::before{background:#e58a32}.market-day-off-btn{border-color:#efc98f!important;background:#fff8ec!important;color:#965916!important}#shiftMarketHeadingActions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:800px){#view-shift-market .page-heading{align-items:flex-start;flex-direction:column}#shiftMarketHeadingActions{justify-content:flex-start}}

/* График отпусков. */
.vacation-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:9px;margin-bottom:11px}.vacation-toolbar label>span{display:block;margin-bottom:5px;color:#677b9d;font-size:10px;font-weight:800}.vacation-toolbar select,.vacation-toolbar input{height:39px;border:1px solid #d2e0ef;border-radius:9px;background:#fff;padding:0 10px;color:#18345f;font:700 10px Manrope}.vacation-search input{min-width:240px}.vacation-only{height:39px;display:flex;align-items:center;gap:7px;border:1px solid #d7e3ef;border-radius:9px;background:#f8fbff;padding:0 11px}.vacation-only input{width:15px;height:15px}.vacation-only span{margin:0!important}.vacation-add{display:flex;align-items:end;gap:7px;margin-left:auto}.vacation-add select{min-width:185px}.vacation-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:11px}.vacation-kpis article{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow)}.vacation-kpis article.warning{border-color:#efce98;background:#fff9ee}.vacation-kpis span,.vacation-kpis strong,.vacation-kpis small{display:block}.vacation-kpis span{color:#7283a1;font-size:9px;font-weight:800}.vacation-kpis strong{margin:6px 0 2px;font-size:21px}.vacation-kpis small{color:#8594ad;font-size:8px}.vacation-source-note{display:flex;align-items:center;gap:10px;margin-bottom:11px;padding:11px 14px;background:#edf8f5}.vacation-source-note>i{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#bfe9df;color:#156957;font-style:normal;font-weight:900}.vacation-source-note p{margin:0;color:#55716d;font-size:9px;line-height:1.5}.vacation-timeline-panel{overflow:hidden}.vacation-legend{height:43px;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:0 17px;border-bottom:1px solid #e5ecf5;color:#6f819f;font-size:9px;font-weight:700}.vacation-legend span{display:flex;align-items:center;gap:6px}.vacation-legend i{width:17px;height:8px;border-radius:4px;background:#54b8a1}.vacation-legend i.overlap{background:#e58b39}.vacation-scroll{overflow:auto}.vacation-timeline{min-width:1120px;display:grid;grid-template-columns:230px minmax(890px,1fr);align-items:stretch}.vacation-name-head,.vacation-days-head{position:sticky;top:0;z-index:8;height:48px;background:#f3f7fc;border-bottom:1px solid #dfe8f3}.vacation-name-head{left:0;display:flex;align-items:center;padding:0 16px;color:#5f7396;font-size:9px;font-weight:900}.vacation-days-head{display:grid;grid-template-columns:repeat(var(--vacation-days),1fr)}.vacation-days-head>b{display:flex;align-items:center;justify-content:center;flex-direction:column;border-left:1px solid #e5ecf5;color:#486184;font-size:9px}.vacation-days-head>b small{margin-top:2px;color:#8b9ab0;font-size:7px}.vacation-days-head>b.weekend{background:#eef2f8;color:#9b5870}.vacation-days-head>b.today{background:#e1f5ef;color:#126c59;box-shadow:inset 0 -3px #28aa91}.vacation-name{position:sticky;left:0;z-index:5;min-height:57px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #e7edf5;background:#fff;padding:8px 12px}.vacation-name .avatar{flex:0 0 32px}.vacation-name span:nth-child(2){min-width:0;flex:1}.vacation-name b,.vacation-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vacation-name b{font-size:10px}.vacation-name small{margin-top:3px;color:#8090aa;font-size:8px}.vacation-name>button{width:27px;height:27px;border:1px solid #c9ddeb;border-radius:7px;background:#f1f8ff;color:#1762a9;cursor:pointer}.vacation-track{position:relative;min-height:57px;display:grid;grid-template-columns:repeat(var(--vacation-days),1fr);border-bottom:1px solid #e7edf5;background:#fff}.vacation-grid-day{border-left:1px solid #edf2f7}.vacation-grid-day.weekend{background:#f8f9fc}.vacation-track>em{position:absolute;left:14px;top:20px;color:#a0acc0;font-size:8px;font-style:normal}.vacation-bar{position:absolute;top:10px;height:36px;z-index:3;min-width:16px;overflow:hidden;border:2px solid #fff;border-radius:9px;background:#48b59d;color:#fff;padding:0 5px;box-shadow:0 3px 9px rgba(22,116,96,.2);font:900 9px Manrope;cursor:pointer}.vacation-bar.color-1{background:#5979d4}.vacation-bar.color-2{background:#b16fc1}.vacation-bar.color-3{background:#e18b3b}.vacation-bar.color-4{background:#2693bd}.vacation-bar.color-5{background:#d05f7c}.occupancy-name{background:#f8fbff}.occupancy-track{height:57px;min-height:57px;align-items:end;background:#f8fbff}.occupancy-track>i{position:relative;height:100%;display:flex;align-items:end;justify-content:center;border-left:1px solid #edf2f7}.occupancy-track>i span{width:55%;max-height:35px;border-radius:4px 4px 0 0;background:#86cbbc}.occupancy-track>i.overlap span{background:#e7a154}.vacation-no-results{grid-column:1/-1;padding:36px;text-align:center;color:#8291aa;font-size:10px}
@media(max-width:1000px){.vacation-kpis{grid-template-columns:1fr 1fr}.vacation-add{width:100%;margin-left:0}}@media(max-width:600px){.vacation-kpis{grid-template-columns:1fr}.vacation-toolbar>*{width:100%}.vacation-toolbar input,.vacation-toolbar select,.vacation-add,.vacation-add label,.vacation-add select{width:100%}.vacation-add{align-items:stretch;flex-direction:column}.vacation-legend{justify-content:flex-start;overflow:auto;white-space:nowrap}}

/* Настраиваемый доступ супервайзера имеет приоритет над устаревшим ограничением навигации. */
body.supervisor .nav-item[data-view="erlang"]:not([hidden]){display:flex!important}
body.readonly.schedule-editor #copyWeek{display:flex!important}

/* Сентябрь 2026: компактный рабочий интерфейс, профили и актуальный дашборд. */
#roleSwitch[hidden]{display:none!important}
.template-table{min-width:900px}.template-table select{min-width:105px;height:38px;border:1px solid #d3e1ef;border-radius:8px;background:#fff;color:#17345f;padding:0 8px;font:700 10px Manrope}.template-table th:nth-child(3),.template-table th:nth-child(4){min-width:120px}
.market-grid{grid-template-columns:repeat(auto-fill,minmax(320px,440px));align-items:start;justify-content:start;gap:10px}.market-card{align-self:start;min-height:0!important;padding:13px 15px}.market-card-head h2{font-size:14px}.market-card-detail{margin:9px 0 5px}.market-card-actions{margin-top:8px}.market-card>time{margin-top:7px}.market-responses{margin:9px -15px 0}.market-responses h3{padding:8px 15px 5px}.market-response{padding:7px 15px}.market-empty{padding:28px}
.vacation-source-note{display:none!important}.vacation-kpis{margin-bottom:10px}.vacation-timeline-panel{margin-top:0}
.employee-account-link{cursor:pointer;border-radius:9px;transition:background .18s ease,box-shadow .18s ease}.employee-account-link:hover,.employee-account-link:focus-visible{background:#eef7ff!important;box-shadow:inset 0 0 0 1px #b9d9ef;outline:0}.team-table .person.employee-account-link{display:flex;padding:5px 7px;margin:-5px -7px}
.employee-form-grid textarea{width:100%;min-height:92px;border:1px solid #d3e1ef;border-radius:9px;background:#fbfdff;padding:10px;color:#142e57;font:700 11px/1.55 Manrope;resize:vertical}.employee-photo-editor{border:1px solid #dce7f2;border-radius:13px;background:#f7fbff;padding:13px}.employee-photo-upload{cursor:pointer}.employee-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:9px;margin-top:11px}.employee-photo-gallery figure{position:relative;overflow:hidden;margin:0;border:2px solid transparent;border-radius:11px;background:#fff;box-shadow:0 4px 14px rgba(32,70,120,.1)}.employee-photo-gallery figure.selected{border-color:#20a98d}.employee-photo-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.employee-photo-gallery figcaption{display:flex;gap:4px;padding:6px}.employee-photo-gallery button{height:27px;flex:1;border:1px solid #cfe0ee;border-radius:7px;background:#f2f8fd;color:#195ba5;font:800 8px Manrope;cursor:pointer}.employee-photo-gallery button.danger{flex:0 0 28px;background:#fff2f3;color:#b34756}.employee-photo-empty{grid-column:1/-1;color:#8393aa;padding:17px;text-align:center;font-size:10px}.employee-modal.social-only .employee-form-grid>label:not(:has(#employeeBirthDate)):not(:has(#employeeCity)):not(:has(#employeeInterests)):not(:has(#employeeAbout)),.employee-modal.social-only .employee-shift-field,.employee-modal.social-only .employee-break-editor,.employee-modal.social-only .vacation-editor-head,.employee-modal.social-only .vacation-interval-list{display:none}.employee-modal.social-only .employee-form-grid{grid-template-columns:1fr 1fr}

/* Группы операторов в табеле и профилях */
.schedule-group-row{display:flex;align-items:center;justify-content:space-between;min-height:31px;padding:5px 14px;border-block:1px solid color-mix(in srgb,var(--operator-group) 30%,#dce6f3);background:color-mix(in srgb,var(--operator-group) 8%,#f7faff);color:#274363;font-size:9px;position:relative;z-index:1}.schedule-group-row span{display:flex;align-items:center;gap:7px;font-weight:900;letter-spacing:.15px}.schedule-group-row span i,.operator-group-tag i,.timeline-group-row i{width:8px;height:8px;border-radius:50%;background:var(--operator-group);box-shadow:0 0 0 3px color-mix(in srgb,var(--operator-group) 15%,transparent)}.schedule-group-row>b{font-size:8px;color:#72819b}.timeline-group-row{display:flex;align-items:center;justify-content:space-between;min-height:29px;padding:5px 13px;border-block:1px solid color-mix(in srgb,var(--operator-group) 28%,#dce6f3);background:color-mix(in srgb,var(--operator-group) 8%,#f7faff);color:#274363;font-size:8px;font-weight:900}.timeline-group-row span{display:flex;align-items:center;gap:7px}.timeline-group-row>b{color:#78879e}.operator-group-tag{display:inline-flex;align-items:center;gap:6px;max-width:170px;border:1px solid color-mix(in srgb,var(--operator-group) 28%,#dce6f3);border-radius:12px;background:color-mix(in srgb,var(--operator-group) 9%,#fff);padding:5px 8px;color:#294462;font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operator-groups-modal{max-width:650px}.operator-group-create{display:grid;grid-template-columns:1fr 48px auto;gap:8px;margin:16px 0}.operator-group-create input[type=text],.operator-group-row input[type=text]{height:40px;border:1px solid #d4e1f0;border-radius:9px;background:#fbfdff;padding:0 11px;color:#173160;font:700 11px Manrope}.operator-group-create input[type=color],.operator-group-row input[type=color]{width:48px;height:40px;border:1px solid #d4e1f0;border-radius:9px;background:#fff;padding:4px;cursor:pointer}.operator-group-list{display:flex;max-height:390px;overflow:auto;flex-direction:column;gap:8px}.operator-group-row{display:grid;grid-template-columns:48px minmax(180px,1fr) 105px 36px;align-items:end;gap:9px;border:1px solid #dce6f3;border-radius:12px;background:#f8fbff;padding:10px}.operator-group-row label span{display:block;margin-bottom:5px;color:#6c7d98;font-size:8px;font-weight:700}.operator-group-row label input{width:100%}.operator-group-members{align-self:center;color:#73839d;font-size:8px;text-align:center}.operator-group-members b{display:block;color:#16366f;font-size:15px}.operator-group-row>button{height:40px;border:0;border-radius:9px;background:#fff0f1;color:#bd4d5d;font-size:18px;cursor:pointer}.operator-group-empty,.schedule-alert-empty{display:flex;align-items:center;flex-direction:column;gap:5px;border:1px dashed #cad8e8;border-radius:12px;padding:28px;color:#7a8aa3;text-align:center;font-size:9px}.operator-group-empty b,.schedule-alert-empty b{color:#23416f;font-size:12px}.settings-members-field strong{display:grid;height:34px;place-items:center;border-radius:8px;background:#edf4fb;color:#1747ad;font-size:13px}

/* Почасовой план-факт и алерты */
.schedule-alert-button{display:flex;align-items:center;gap:6px;height:32px;border:1px solid #d8e3f0;border-radius:9px;background:#f7faff;padding:0 8px;color:#5e6f89;font:800 8px Manrope;cursor:pointer}.heading-actions>.schedule-alert-button{height:38px}.schedule-alert-button>b{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#9aa8bb;color:#fff;font-size:12px}.schedule-alert-button>i{display:grid;min-width:19px;height:19px;place-items:center;border-radius:10px;background:#e7edf5;color:#4e607c;font-style:normal;font-size:8px}.schedule-alert-button.has-alerts{border-color:#f0b4bc;background:#fff6f7;color:#a13e4e}.schedule-alert-button.has-alerts>b{background:#e95569;box-shadow:0 0 0 4px rgba(233,85,105,.12)}.schedule-alert-button.has-alerts>i{background:#e95569;color:#fff}.hourly-plan-fact{border-top:1px solid #e0e8f3;padding:0 18px 18px}.hourly-plan-fact-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 2px 9px}.hourly-plan-fact-title b,.hourly-plan-fact-title span{display:block}.hourly-plan-fact-title b{font-size:10px}.hourly-plan-fact-title div>span{margin-top:2px;color:#7585a0;font-size:8px}.hourly-alert-legend{display:flex!important;align-items:center;gap:5px;color:#a34755!important;font-size:8px!important;white-space:nowrap}.hourly-alert-legend i{width:9px;height:9px;border-radius:3px;background:#ffe1e5;box-shadow:inset 0 0 0 1px #ef9daa}.hourly-plan-fact-scroll{overflow:auto;border:1px solid #dce6f3;border-radius:11px}.hourly-plan-fact table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.hourly-plan-fact th,.hourly-plan-fact td{min-width:62px;height:34px;border-right:1px solid #e7edf5;border-bottom:1px solid #e7edf5;padding:5px 7px;text-align:center;font-size:8px;white-space:nowrap}.hourly-plan-fact thead th{background:#f2f6fb;color:#6f7f99;font-size:7px}.hourly-plan-fact th:first-child{position:sticky;left:0;z-index:2;min-width:115px;text-align:left}.hourly-plan-fact thead th:first-child{z-index:3}.hourly-plan-fact tbody th{background:#f8fbff;color:#29466f}.hourly-plan-fact .forecast-row td{color:#1552b8;font-weight:800}.hourly-plan-fact .plan-row td{color:#a36510;font-weight:800}.hourly-plan-fact .fact-row td{color:#6657df;font-weight:800}.hourly-plan-fact .variance-row td{color:#728099;font-size:7px}.hourly-plan-fact td.hourly-alert.under{background:#ffe5e8;color:#b73d50}.hourly-plan-fact td.hourly-alert.over{background:#fff0d8;color:#a36112}.schedule-alerts-modal{max-width:720px}.schedule-alert-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.schedule-alert-summary article{border:1px solid #dce6f3;border-radius:11px;background:#f8fbff;padding:11px}.schedule-alert-summary span,.schedule-alert-summary b{display:block}.schedule-alert-summary span{color:#73829a;font-size:8px}.schedule-alert-summary b{margin-top:4px;color:#173b78;font-size:19px}.schedule-alert-summary .under{background:#fff4f5}.schedule-alert-summary .under b{color:#c54457}.schedule-alert-summary .over{background:#fff8ec}.schedule-alert-summary .over b{color:#ae6b16}.schedule-alert-list{display:flex;max-height:440px;overflow:auto;flex-direction:column;gap:7px}.schedule-alert-item{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;width:100%;border:1px solid #dce6f3;border-radius:11px;background:#fff;padding:9px 11px;color:#17335f;text-align:left;cursor:pointer}.schedule-alert-item:hover,.schedule-alert-item.selected-day{border-color:#9ec5e5;background:#f4f9ff}.schedule-alert-item.under{box-shadow:inset 3px 0 #e95569}.schedule-alert-item.over{box-shadow:inset 3px 0 #e6a13c}.schedule-alert-mark{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#e95569;color:#fff;font-weight:900}.schedule-alert-item.over .schedule-alert-mark{background:#e6a13c}.schedule-alert-item b,.schedule-alert-item small{display:block}.schedule-alert-item b{font-size:9px}.schedule-alert-item small{margin-top:3px;color:#75849a;font-size:7px}.schedule-alert-values{text-align:right}.schedule-alert-values b{margin-top:2px;font-size:10px}

@media(max-width:700px){.operator-group-create{grid-template-columns:1fr 48px}.operator-group-create button{grid-column:1/-1;justify-content:center}.operator-group-row{grid-template-columns:44px 1fr 36px}.operator-group-members{grid-column:1/-1;grid-row:2}.schedule-alert-summary{grid-template-columns:1fr}.hourly-plan-fact-title{align-items:flex-start;flex-direction:column}.schedule-alert-item{grid-template-columns:31px 1fr}.schedule-alert-values{grid-column:2;text-align:left}}
.operator-profile-edit{margin-top:12px}.operator-about-card{margin-top:12px}.operator-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.operator-about-grid>div{padding:12px;border:1px solid #e0e9f2;border-radius:11px;background:#f8fbff}.operator-about-grid span,.operator-about-grid b{display:block}.operator-about-grid span{color:#7a8ca8;font-size:9px}.operator-about-grid b{margin-top:5px;font-size:11px}.operator-about-grid>p{grid-column:1/-1;margin:0;padding:13px 15px;border-radius:11px;background:#eef7f4;color:#3b625b;font-size:10px;line-height:1.65}.operator-photo-gallery{display:flex;gap:9px;margin-top:12px;overflow:auto;padding-bottom:3px}.operator-photo-gallery button{position:relative;flex:0 0 116px;overflow:hidden;border:2px solid transparent;border-radius:12px;background:#edf3fa;padding:0;cursor:pointer}.operator-photo-gallery button.selected{border-color:#22aa8f}.operator-photo-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.operator-photo-gallery i{position:absolute;right:5px;bottom:5px;border-radius:10px;background:rgba(11,36,72,.75);color:#fff;padding:3px 6px;font:800 7px Manrope;font-style:normal}.operator-gallery-empty{margin-top:10px;border:1px dashed #ccdbea;border-radius:10px;color:#8291aa;padding:16px;text-align:center;font-size:9px}
.dashboard-period-row{display:flex;align-items:end;justify-content:space-between;gap:12px}.dashboard-asof{display:inline-flex;align-items:center;gap:7px;border:1px solid #bfe4da;border-radius:18px;background:#effaf7;color:#16705f;padding:8px 12px;font-size:9px;font-weight:800}.dashboard-asof i{width:8px;height:8px;border-radius:50%;background:#24b99f;box-shadow:0 0 0 5px rgba(36,185,159,.12)}.dashboard-current-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:11px 0}.dashboard-current-strip article{position:relative;overflow:hidden;min-height:82px;border:1px solid #dce8f3;border-radius:14px;background:linear-gradient(145deg,#fff,#f4f9ff);padding:13px 15px;box-shadow:0 8px 22px rgba(38,74,123,.08)}.dashboard-current-strip article:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#25aa91}.dashboard-current-strip article:nth-child(2):before{background:#188dcc}.dashboard-current-strip article:nth-child(3):before{background:#f0aa2c}.dashboard-current-strip article:nth-child(4):before{background:#6a5bd3}.dashboard-current-strip span,.dashboard-current-strip strong,.dashboard-current-strip small{display:block}.dashboard-current-strip span{color:#7486a3;font-size:9px;font-weight:800}.dashboard-current-strip strong{margin:5px 0 1px;color:#13315e;font-size:19px}.dashboard-current-strip small{color:#8795aa;font-size:8px}
.dashboard-chart-empty{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #c9d9e9;border-radius:15px;background:linear-gradient(145deg,#f9fcff,#f1f7fc);color:#7a8ca7;text-align:center}.dashboard-chart-empty i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#dff4ef;color:#17947d;font:900 20px Manrope;font-style:normal}.dashboard-chart-empty b{margin-top:10px;color:#24466f;font-size:12px}.dashboard-chart-empty span{max-width:480px;margin-top:4px;font-size:9px;line-height:1.5}
@media(max-width:950px){.dashboard-current-strip,.operator-about-grid{grid-template-columns:1fr 1fr}.market-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:600px){.dashboard-current-strip,.operator-about-grid,.employee-modal.social-only .employee-form-grid{grid-template-columns:1fr}.dashboard-period-row{align-items:stretch;flex-direction:column}.dashboard-asof{align-self:flex-start}}

/* Компактный личный кабинет и медиагалерея в стиле мессенджера. */
#view-operator-profile .panel{min-height:0!important}
#view-operator-profile .page-heading{margin-bottom:16px}
#view-operator-profile .operator-profile-grid{grid-template-columns:minmax(300px,.9fr) 2fr;gap:10px;margin-bottom:10px}
#view-operator-profile .operator-identity-card{min-height:0!important;gap:14px;padding:16px 18px}
#view-operator-profile .operator-avatar-large{width:68px;height:68px;flex-basis:68px;border-radius:19px;font-size:29px}
#view-operator-profile .operator-identity-card h2{margin:3px 0;font-size:18px;line-height:1.25}
#view-operator-profile .operator-identity-card p{font-size:11px}
#view-operator-profile .operator-profile-edit{height:34px;margin-top:9px;padding:0 12px;font-size:11px}
#view-operator-profile .operator-profile-kpis{gap:8px}
#view-operator-profile .operator-profile-kpis article{min-height:0!important;padding:13px 15px}
#view-operator-profile .operator-profile-kpis span{font-size:11px;font-weight:700}
#view-operator-profile .operator-profile-kpis strong{margin:5px 0 3px;font-size:18px}
#view-operator-profile .operator-profile-kpis small{font-size:10px;line-height:1.45}
#view-operator-profile .panel-head{padding:14px 18px 10px}
#view-operator-profile .panel-head h2{font-size:16px}
#view-operator-profile .panel-head p{font-size:11px;line-height:1.4}
#view-operator-profile .quick-kicker{font-size:10px!important}
.operator-about-card{margin-top:10px;padding-bottom:14px}
.operator-about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:14px;align-items:start;padding:0 18px}
.operator-about-grid{gap:7px}
.operator-about-grid>div{min-width:0;padding:9px 11px;border-radius:9px}
.operator-about-grid span{font-size:11px;font-weight:700}
.operator-about-grid b{margin-top:3px;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.operator-about-grid>p{padding:10px 12px;border-radius:9px;font-size:12px;line-height:1.5}
.operator-profile-media{min-width:0;border:1px solid #dce7f2;border-radius:11px;background:#f5f9fd;padding:9px}
.operator-media-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 1px 8px}
.operator-media-head b{font-size:12px}
.operator-media-head span{color:#7789a5;font-size:10px}
.operator-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;overflow:visible;padding:0}
.operator-photo-gallery.single{grid-template-columns:120px}
.operator-photo-gallery button{position:relative;min-width:0;overflow:hidden;border:2px solid transparent;border-radius:9px;background:#e8f0f8;padding:0;aspect-ratio:1;cursor:zoom-in;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.operator-photo-gallery.single button{aspect-ratio:1}
.operator-photo-gallery button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,57,105,.18)}
.operator-photo-gallery button.selected{border-color:#22aa8f}
.operator-photo-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.operator-photo-gallery i{position:absolute;right:5px;bottom:5px;border-radius:12px;background:rgba(8,28,59,.78);color:#fff;padding:3px 7px;font:800 9px Manrope;font-style:normal}
.operator-gallery-empty{margin:0;border:1px dashed #c9d8e7;border-radius:9px;padding:18px 10px;color:#73859f;text-align:center;font-size:11px}
#view-operator-profile .operator-break-card{margin-bottom:10px}
#view-operator-profile .operator-break-list{gap:6px;padding:0 18px 14px}
#view-operator-profile .operator-break-list span{padding:7px 10px;font-size:11px}
#view-operator-profile .operator-day{min-height:82px;padding:9px}
#view-operator-profile .operator-day span{font-size:10px}
#view-operator-profile .operator-day b{margin:5px 0 3px;font-size:12px}
#view-operator-profile .operator-day small{font-size:10px;line-height:1.35}

body.profile-media-open{overflow:hidden}
.profile-media-viewer[hidden]{display:none!important}
.profile-media-viewer{position:fixed;inset:0;z-index:300;display:grid;grid-template-columns:76px minmax(0,1fr) 76px;grid-template-rows:68px minmax(0,1fr) 96px;padding:0 18px 14px;color:#fff;opacity:0;transition:opacity .18s ease}
.profile-media-viewer.show{opacity:1}
.profile-media-backdrop{position:absolute;inset:0;z-index:0;border:0;background:rgba(4,12,27,.94);cursor:zoom-out}
.profile-media-viewer>header{z-index:2;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.12)}
.profile-media-viewer>header b,.profile-media-viewer>header span{display:block}
.profile-media-viewer>header b{font-size:14px}
.profile-media-viewer>header span{margin-top:2px;color:#b9c5d7;font-size:11px}
.profile-media-close,.profile-media-nav{z-index:3;border:0;color:#fff;background:rgba(255,255,255,.12);cursor:pointer;transition:background .18s ease,transform .18s ease}
.profile-media-close{width:40px;height:40px;border-radius:50%;font-size:28px;line-height:1}
.profile-media-nav{align-self:center;width:48px;height:64px;border-radius:16px;font-size:43px;line-height:1}
.profile-media-nav.previous{grid-column:1;grid-row:2;justify-self:center}
.profile-media-nav.next{grid-column:3;grid-row:2;justify-self:center}
.profile-media-close:hover,.profile-media-nav:hover{background:rgba(255,255,255,.22);transform:scale(1.04)}
.profile-media-viewer>figure{z-index:2;grid-column:2;grid-row:2;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:12px}
.profile-media-viewer>figure img{display:block;max-width:100%;max-height:calc(100vh - 204px);object-fit:contain;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.48)}
.profile-media-viewer>figure figcaption{margin-top:9px;color:#acb8ca;font-size:11px}
.profile-media-thumbs{z-index:2;grid-column:1/-1;grid-row:3;display:flex;align-items:center;justify-content:center;gap:7px;overflow:auto;padding:8px}
.profile-media-thumbs button{width:58px;height:58px;flex:0 0 58px;overflow:hidden;border:2px solid transparent;border-radius:10px;background:#1b2738;padding:0;opacity:.62;cursor:pointer}
.profile-media-thumbs button.active{border-color:#39bfa8;opacity:1;box-shadow:0 0 0 3px rgba(57,191,168,.18)}
.profile-media-thumbs img{width:100%;height:100%;display:block;object-fit:cover}

/* Читаемые подписи без увеличения высоты рабочих блоков. */
.dashboard-asof{font-size:11px}
.dashboard-current-strip article{min-height:84px;padding:12px 15px}
.dashboard-current-strip span{font-size:11px}
.dashboard-current-strip strong{font-size:20px}
.dashboard-current-strip small{font-size:10px;line-height:1.35}
.employee-photo-gallery button{font-size:10px}
.employee-photo-empty{font-size:11px}

@media(max-width:1050px){#view-operator-profile .operator-profile-grid,.operator-about-layout{grid-template-columns:1fr}.operator-profile-media{max-width:520px}}
@media(max-width:650px){.operator-about-layout{padding:0 12px}.operator-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-media-viewer{grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:60px minmax(0,1fr) 82px;padding:0 6px 8px}.profile-media-nav{width:40px;height:54px;font-size:36px}.profile-media-viewer>figure{margin:8px}.profile-media-viewer>figure img{max-height:calc(100vh - 178px)}.profile-media-viewer>figure figcaption{display:none}.profile-media-thumbs button{width:50px;height:50px;flex-basis:50px}}

/* Системные журналы внутри настроек. */
.settings-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:2px 0 14px;padding:0 2px}
.settings-subhead>div>span{display:block;margin-bottom:4px;color:#0b82c6;font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}
.settings-subhead h2{margin:0 0 5px;color:#0d2148;font-size:22px;letter-spacing:-.35px}
.settings-subhead p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.settings-content .activity-panel,.settings-content .system-change-card{min-height:0!important}
@media(max-width:700px){.settings-subhead{align-items:stretch;flex-direction:column}.settings-subhead .soft-btn{align-self:flex-start}}

.nav-list{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.chat-page-heading{margin-bottom:15px}.chat-sound-toggle span{font-size:15px;line-height:1}.chat-sound-toggle.muted{color:#7b899f;background:#f1f4f7}.chat-sound-toggle b{font-size:11px}
.chat-workspace{display:grid;grid-template-columns:250px minmax(390px,1fr) 310px;gap:12px;height:calc(100vh - 184px);min-height:540px;max-height:790px}
.chat-workspace>.panel{min-height:0!important;overflow:hidden;border-color:#dce6ef;box-shadow:0 10px 32px rgba(24,57,99,.08)}
.chat-contacts-window,.chat-conversation-window,.chat-news-window{display:flex;min-width:0;flex-direction:column;background:linear-gradient(155deg,#fff 0%,#fbfdff 100%)}
.chat-contacts-window>header{flex:0 0 auto;padding:15px 15px 11px;border-bottom:1px solid #e4ebf3;background:#f5f9fd}
.chat-contacts-window>header>div:first-child{display:flex;align-items:center;justify-content:space-between;color:#7587a2;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.chat-contacts-window>header strong{color:#173760;font-size:11px;letter-spacing:0;text-transform:none}.chat-contacts-window>header strong b{color:#14977d}
.chat-online-stack{display:flex;align-items:center;min-height:38px;margin-top:10px;padding-left:3px}.chat-online-stack>span{position:relative;margin-left:-7px}.chat-online-stack>span:first-child{margin-left:0}.chat-online-stack .employee-mini-avatar{width:34px;height:34px;border:3px solid #f5f9fd;border-radius:50%;font-size:8px}.chat-online-stack>span>i{position:absolute;right:1px;bottom:1px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#21ba83}.chat-online-stack>small{color:#8795aa;font-size:10px}
.chat-contact-list{min-height:0;overflow-y:auto;padding:7px}.chat-contact{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;border:0;border-radius:11px;background:transparent;padding:9px;text-align:left;color:#17345d;font:inherit;cursor:pointer;transition:.16s}.chat-contact:hover{background:#eff6fb}.chat-contact.active{background:#e5f4ef;box-shadow:inset 0 0 0 1px #c6e6dc}.chat-contact .employee-mini-avatar,.chat-contact .chat-general-avatar{width:38px;height:38px;border-radius:12px}.chat-contact>span:nth-child(2){min-width:0}.chat-contact b,.chat-contact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact b{font-size:12px}.chat-contact small{margin-top:3px;color:#7d8da6;font-size:9px}.chat-contact small i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#aab4c2}.chat-contact small i.online{background:#20b780;box-shadow:0 0 0 3px rgba(32,183,128,.12)}.chat-contact>em{min-width:20px;border-radius:12px;background:#1aa88b;color:#fff;padding:3px 6px;text-align:center;font:800 9px Manrope;font-style:normal}
.chat-contact-section{display:flex;align-items:center;justify-content:space-between;margin:10px 7px 3px;padding-top:8px;border-top:1px solid #e5edf4;color:#8291a6;font-size:8px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.chat-contact-section:first-of-type{margin-top:5px}.chat-contact-section button{width:24px;height:24px;display:grid;place-items:center;border:1px solid #ccdae6;border-radius:8px;background:#fff;color:#227d69;font:800 16px/1 Manrope;cursor:pointer}.chat-contact-section button:hover{border-color:#9acdbf;background:#eaf7f3}
.chat-general-avatar{display:grid;place-items:center;background:linear-gradient(145deg,#1b7a69,#114f45);color:#dfff84;font:900 18px Manrope}
.chat-conversation-window{position:relative}.chat-conversation-head{min-height:69px;display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid #e4ebf3;background:rgba(255,255,255,.94)}.chat-conversation-head>div:nth-child(2){min-width:0;flex:1}.chat-conversation-head h2{overflow:hidden;margin:0;color:#132f58;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.chat-conversation-head p{margin:3px 0 0;color:#7789a5;font-size:10px}.chat-conversation-avatar{position:relative;flex:0 0 40px}.chat-conversation-avatar .employee-mini-avatar,.chat-conversation-avatar .chat-general-avatar{width:40px;height:40px;border-radius:13px}.chat-conversation-avatar.online:after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#20b780}.chat-refresh-btn{width:34px;height:34px;border:1px solid #d9e4ee;border-radius:10px;background:#f5f9fd;color:#39739f;font:800 18px Manrope;cursor:pointer}
.chat-messages{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;padding:15px 16px;background:radial-gradient(circle at 10% 10%,rgba(201,236,228,.28),transparent 31%),linear-gradient(165deg,#f8fbfe,#f2f7fb)}
.chat-date-divider{display:flex;align-items:center;gap:9px;margin:10px 0;color:#8797ae;font-size:9px}.chat-date-divider:before,.chat-date-divider:after{content:"";height:1px;flex:1;background:#dfe8f1}.chat-date-divider span{border:1px solid #dbe5ef;border-radius:12px;background:rgba(255,255,255,.86);padding:4px 9px}
.chat-message{display:flex;align-items:flex-end;gap:7px;margin:7px 0;transition:.25s}.chat-message.highlight{filter:drop-shadow(0 0 7px rgba(28,168,139,.5));transform:scale(1.012)}.chat-message>.employee-mini-avatar{width:29px;height:29px;flex:0 0 29px;border-radius:9px;font-size:8px}.chat-message.own{justify-content:flex-end}.chat-message-stack{min-width:0;max-width:min(78%,560px)}.chat-message.own .chat-message-stack{display:flex;align-items:flex-end;flex-direction:column}.chat-bubble{position:relative;max-width:100%;overflow:visible;border:1px solid #dce6ef;border-radius:15px 15px 15px 4px;background:#fff;padding:8px 10px;box-shadow:0 3px 10px rgba(30,63,104,.06)}.chat-message.own .chat-bubble{border-color:#a9ddcf;border-radius:15px 15px 4px 15px;background:#dff5ed}.chat-bubble>header{display:flex;align-items:center;gap:12px;margin-bottom:3px}.chat-bubble>header b{color:#16745f;font-size:10px}.chat-bubble>header time{margin-left:auto;color:#8795aa;font-size:8px}.chat-bubble>p{overflow-wrap:anywhere;margin:0;color:#1b365e;font-size:12px;line-height:1.48}
.chat-message-actions{position:absolute;right:5px;top:-31px;z-index:5;display:flex;align-items:center;gap:3px;border:1px solid #dbe5ee;border-radius:11px;background:#fff;padding:3px;box-shadow:0 7px 18px rgba(24,54,91,.14);opacity:0;pointer-events:none;transform:translateY(4px);transition:.15s}.chat-message.own .chat-message-actions{right:5px;left:auto}.chat-bubble:hover .chat-message-actions,.chat-message-actions:focus-within{opacity:1;pointer-events:auto;transform:none}.chat-message-actions>button,.chat-quick-reactions button{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#55708f;font:800 15px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;cursor:pointer}.chat-message-actions>button:hover,.chat-quick-reactions button:hover{background:#edf5f8;color:#176d5c}.chat-quick-reactions{display:flex;align-items:center;gap:1px;padding-right:3px;border-right:1px solid #e4eaf0}
.chat-message-reference{width:100%;display:block;margin:4px 0 7px;border:0;border-left:3px solid #35a68d;border-radius:5px;background:rgba(226,244,239,.7);padding:6px 8px;color:#315d70;text-align:left;font:inherit;cursor:pointer}.chat-message-reference.forwarded{border-left-color:#6892b5;background:rgba(232,240,247,.8);cursor:default}.chat-message-reference span,.chat-message-reference small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-message-reference span{font-size:8px;font-weight:750}.chat-message-reference span b{color:#126d5c}.chat-message-reference small{margin-top:2px;color:#667a91;font-size:9px}.chat-message-reference img{width:54px;height:42px;margin-top:5px;border-radius:6px;object-fit:cover}
.chat-reaction-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.chat-message.own .chat-reaction-list{justify-content:flex-end}.chat-reaction-chip{position:relative;min-width:37px;height:25px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #d8e4ed;border-radius:13px;background:#fff;color:#566d88;padding:0 7px;font:inherit;cursor:pointer}.chat-reaction-chip.active{border-color:#7fc7b6;background:#e2f5ef;color:#116d59}.chat-reaction-chip>span{font:14px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif}.chat-reaction-chip>b{font-size:8px}.chat-reaction-people{position:absolute;left:50%;bottom:calc(100% + 7px);z-index:30;width:max-content;max-width:250px;border-radius:7px;background:#17344f;color:#fff;padding:6px 8px;font:600 8px/1.4 Manrope;font-style:normal;white-space:normal;box-shadow:0 6px 18px rgba(17,39,66,.25);opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:.14s}.chat-reaction-chip:hover .chat-reaction-people,.chat-reaction-chip:focus .chat-reaction-people{opacity:1;transform:translate(-50%,0)}
.chat-message-image,.chat-news-image{display:block;overflow:hidden;border:0;border-radius:11px;background:#e9f0f6;padding:0;cursor:zoom-in}.chat-message-image{max-width:360px;margin-top:7px}.chat-message-image img{display:block;width:100%;max-height:300px;object-fit:cover}.chat-load-older{display:block;margin:0 auto 10px;border:1px solid #ccdae8;border-radius:14px;background:#fff;color:#346486;padding:6px 12px;font:800 9px Manrope;cursor:pointer}
.chat-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#778ba6;text-align:center}.chat-empty>span{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#dff3ed;font-size:25px}.chat-empty h3{margin:10px 0 4px;color:#26486f;font-size:14px}.chat-empty p{max-width:280px;margin:0;font-size:10px;line-height:1.5}
.chat-draft-image{display:flex;align-items:center;gap:9px;border-top:1px solid #e1e9f1;background:#f8fbfd;padding:7px 12px}.chat-draft-image[hidden]{display:none}.chat-draft-image img{width:44px;height:44px;border-radius:9px;object-fit:cover}.chat-draft-image span{min-width:0;flex:1}.chat-draft-image b,.chat-draft-image small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-draft-image b{font-size:10px}.chat-draft-image small{margin-top:2px;color:#8391a5;font-size:8px}.chat-draft-image button,.chat-news-image-preview button{width:28px;height:28px;border:0;border-radius:8px;background:#fee9eb;color:#b64250;font-size:17px;cursor:pointer}
.chat-composer-context{display:flex;align-items:center;gap:7px;border-top:1px solid #e0e8f0;background:#f8fbfd;padding:7px 12px}.chat-composer-context[hidden]{display:none}.chat-composer-context .chat-message-reference{min-width:0;flex:1;margin:0}.chat-composer-context>button{width:28px;height:28px;flex:0 0 28px;border:0;border-radius:8px;background:#e9eef4;color:#62748a;font-size:18px;cursor:pointer}
.chat-composer{position:relative;display:flex;align-items:flex-end;gap:7px;min-height:62px;border-top:1px solid #e0e8f0;background:#fff;padding:9px 11px}.chat-composer textarea{min-width:0;min-height:40px;max-height:120px;flex:1;resize:none;border:1px solid #d8e3ed;border-radius:13px;background:#f7fafc;padding:10px 12px;color:#16345d;font:600 12px/1.45 Manrope;outline:0}.chat-composer textarea:focus{border-color:#82cabb;background:#fff;box-shadow:0 0 0 3px rgba(31,166,139,.1)}.chat-composer textarea:disabled{color:#8996a9;background:#f0f3f6}
.chat-mention{display:inline;border-radius:5px;background:#dceff9;color:#15618b;padding:1px 3px;font-weight:800}.chat-mention.group{background:#e9f2c8;color:#526b0f}.chat-message.own .chat-mention{background:#c6e9df;color:#126957}.chat-message.own .chat-mention.group{background:#dbe9a9;color:#49610c}.chat-mention-menu{position:absolute;right:58px;bottom:57px;left:58px;z-index:10;max-height:270px;overflow-y:auto;border:1px solid #cddde9;border-radius:14px;background:#fff;padding:6px;box-shadow:0 15px 38px rgba(25,56,94,.2)}.chat-mention-menu[hidden]{display:none}.chat-mention-option{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;border:0;border-radius:10px;background:transparent;padding:7px 9px;color:#17345d;text-align:left;font:inherit;cursor:pointer}.chat-mention-option:hover,.chat-mention-option.active{background:#e8f5f1}.chat-mention-option.group{background:#fbfdf3}.chat-mention-option.group:hover,.chat-mention-option.group.active{background:#f0f6d9}.chat-mention-option .employee-mini-avatar,.chat-mention-group-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-size:8px}.chat-mention-group-avatar{background:linear-gradient(145deg,#dff0a6,#c9df72);color:#405d09;font:900 16px Manrope}.chat-mention-option span,.chat-mention-option b,.chat-mention-option small{display:block;min-width:0}.chat-mention-option b,.chat-mention-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-mention-option b{font-size:11px}.chat-mention-option small{margin-top:3px;color:#788aa3;font-size:8px}
.chat-tool-btn,.chat-send-btn{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid #d8e3ed;border-radius:12px;background:#f5f9fc;color:#376d94;font:800 20px Manrope;cursor:pointer}.chat-tool-btn svg,.chat-send-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.chat-tool-btn input{display:none}.chat-tool-btn.disabled{cursor:not-allowed;opacity:.45}.chat-send-btn{border-color:#176958;background:#176958;color:#fff}.chat-send-btn:disabled{cursor:not-allowed;opacity:.45}
.chat-emoji-wrap{position:relative}.chat-emoji-toggle{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif!important;font-size:20px!important;line-height:1!important}.chat-emoji-picker{position:absolute;left:0;bottom:48px;z-index:18;width:306px;border:1px solid #d8e4ee;border-radius:16px;background:#fff;padding:9px;box-shadow:0 15px 42px rgba(24,53,91,.22)}.chat-emoji-picker[hidden]{display:none}.chat-emoji-picker>header{display:flex;align-items:baseline;justify-content:space-between;margin:0 3px 7px;padding-bottom:7px;border-bottom:1px solid #e8eef3}.chat-emoji-picker>header b{color:#244667;font-size:10px}.chat-emoji-picker>header small{color:#8b98aa;font-size:7px}.chat-emoji-picker>div{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.chat-emoji-picker button{width:33px;height:33px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;padding:0;font:20px/1 "Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;cursor:pointer}.chat-emoji-picker button:hover,.chat-emoji-picker button:focus{background:#edf5f9;outline:0;transform:scale(1.08)}
.chat-forward-backdrop{position:fixed;inset:0;z-index:350;border:0;background:rgba(12,29,51,.42);backdrop-filter:blur(2px)}.chat-forward-card{position:fixed;left:50%;top:50%;z-index:351;width:min(430px,calc(100vw - 28px));max-height:min(650px,calc(100vh - 32px));display:flex;flex-direction:column;border:1px solid #d6e2eb;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(13,39,70,.3);transform:translate(-50%,-50%)}.chat-forward-card>header{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid #e5ebf1}.chat-forward-card>header span{color:#27917b;font-size:8px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.chat-forward-card>header h3{margin:3px 0 0;color:#17365d;font-size:16px}.chat-forward-card>header button{width:32px;height:32px;border:0;border-radius:9px;background:#edf2f6;color:#55708a;font-size:20px;cursor:pointer}.chat-forward-source{padding:10px 13px 3px}.chat-forward-destinations{min-height:0;overflow-y:auto;padding:7px 10px 12px}.chat-forward-destinations>button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;border:0;border-radius:11px;background:transparent;padding:8px;color:#17365c;text-align:left;font:inherit;cursor:pointer}.chat-forward-destinations>button:hover{background:#eaf6f2}.chat-forward-destinations .employee-mini-avatar,.chat-forward-destinations .chat-general-avatar{width:38px;height:38px;border-radius:11px}.chat-forward-destinations b,.chat-forward-destinations small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-forward-destinations b{font-size:11px}.chat-forward-destinations small{margin-top:3px;color:#7f8da2;font-size:8px}
.chat-conversation-window.dragging{box-shadow:inset 0 0 0 3px #29aa91,0 10px 32px rgba(24,57,99,.08)}.chat-conversation-window.dragging:after{content:"Перетащите изображение сюда";position:absolute;inset:80px 20px 78px;z-index:7;display:grid;place-items:center;border:2px dashed #2aaa91;border-radius:18px;background:rgba(231,249,244,.92);color:#126a59;font-size:15px;font-weight:800;pointer-events:none}
.chat-news-window>header{min-height:69px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid #e4ebf3;background:#f8fbfe}.chat-news-window>header span{display:block;color:#2c9b84;font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.chat-news-window>header h2{margin:3px 0 0;color:#132f58;font-size:15px}.chat-news-window>header button{border:1px solid #cce2dc;border-radius:9px;background:#e9f7f2;color:#15705e;padding:7px 9px;font:800 9px Manrope;cursor:pointer}
.chat-news-list{min-height:0;flex:1;overflow-y:auto;padding:10px}.chat-news-card{border:1px solid #dde7f0;border-radius:13px;background:#fff;padding:11px;box-shadow:0 4px 13px rgba(30,62,102,.05)}.chat-news-card+.chat-news-card{margin-top:9px}.chat-news-card>header{display:flex;align-items:center;gap:7px}.chat-news-author .employee-mini-avatar{width:29px;height:29px;border-radius:9px}.chat-news-card>header div{min-width:0}.chat-news-card>header b,.chat-news-card>header time{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-news-card>header b{color:#1a4e71;font-size:9px}.chat-news-card>header time{margin-top:1px;color:#8998ad;font-size:7px}.chat-news-card h3{margin:10px 0 5px;color:#15345f;font-size:13px;line-height:1.3}.chat-news-card>p{overflow-wrap:anywhere;margin:0;color:#536983;font-size:10px;line-height:1.55}.chat-news-image{width:100%;margin-top:9px}.chat-news-image img{display:block;width:100%;max-height:190px;object-fit:cover}
.chat-news-reaction-actions{height:0;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transform:translateY(-3px);transition:.15s}.chat-news-card:hover .chat-news-reaction-actions,.chat-news-reaction-actions:focus-within{height:31px;margin-top:7px;opacity:1;pointer-events:auto;transform:none}.chat-news-reaction-actions .chat-quick-reactions{border:1px solid #dce6ee;border-radius:10px;background:#fff;padding:2px;box-shadow:0 5px 14px rgba(25,54,89,.09)}.chat-news-card>.chat-reaction-list{margin-top:8px}
.chat-news-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;min-height:230px;color:#8291a7;text-align:center}.chat-news-empty span{font-size:31px}.chat-news-empty b{margin-top:9px;color:#294b71;font-size:12px}.chat-news-empty p{max-width:210px;margin:4px 0 0;font-size:9px;line-height:1.5}
.chat-news-composer{display:flex;flex-direction:column;gap:7px;border-bottom:1px solid #e0e8f0;background:#f6fafc;padding:10px}.chat-news-composer input,.chat-news-composer textarea{width:100%;border:1px solid #d8e3ed;border-radius:9px;background:#fff;padding:8px 9px;color:#19375d;font:600 10px/1.45 Manrope;resize:vertical;outline:0}.chat-news-composer>div:last-child{display:flex;justify-content:space-between;gap:7px}.chat-news-composer .soft-btn,.chat-news-composer .primary-btn{height:34px;font-size:9px}.chat-news-composer label input{display:none}.chat-news-image-preview{display:flex;align-items:center;gap:7px;border:1px solid #dce6ef;border-radius:9px;background:#fff;padding:6px}.chat-news-image-preview[hidden]{display:none}.chat-news-image-preview img{width:38px;height:38px;border-radius:7px;object-fit:cover}.chat-news-image-preview span{min-width:0;flex:1;overflow:hidden;color:#62748d;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.chat-image-viewer[hidden]{display:none!important}.chat-image-viewer{position:fixed;inset:0;z-index:320;display:grid;grid-template-rows:64px minmax(0,1fr);padding:0 20px 20px;color:#fff;opacity:0;transition:opacity .18s}.chat-image-viewer.show{opacity:1}.chat-image-viewer-backdrop{position:absolute;inset:0;border:0;background:rgba(4,12,27,.94);cursor:zoom-out}.chat-image-viewer>header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);padding:0 5px}.chat-image-viewer>header b{font-size:13px}.chat-image-viewer>header button{width:39px;height:39px;border:0;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;font-size:27px;cursor:pointer}.chat-image-viewer figure{position:relative;z-index:2;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;margin:15px}.chat-image-viewer figure img{display:block;max-width:100%;max-height:calc(100vh - 110px);border-radius:9px;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.5)}
@media(max-width:1250px){.chat-workspace{grid-template-columns:230px minmax(380px,1fr);height:auto;max-height:none}.chat-contacts-window,.chat-conversation-window{height:650px}.chat-news-window{grid-column:1/-1;min-height:360px;max-height:520px}.chat-news-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:9px}.chat-news-card+.chat-news-card{margin-top:0}}
@media(max-width:760px){.chat-page-heading{align-items:flex-start;flex-direction:column}.chat-workspace{grid-template-columns:1fr}.chat-contacts-window{height:275px}.chat-conversation-window{height:620px}.chat-news-window{grid-column:auto;max-height:520px}.chat-news-list{grid-template-columns:1fr}.chat-message-stack{max-width:88%}}
@media(max-width:520px){.chat-workspace{gap:9px}.chat-message-image{max-width:260px}.chat-composer{gap:5px;padding:8px}.chat-tool-btn,.chat-send-btn{width:37px;height:37px;flex-basis:37px}.chat-emoji-picker{left:-3px;width:274px}.chat-emoji-picker>div{grid-template-columns:repeat(7,1fr)}.chat-emoji-picker button{width:33px}.chat-message-actions{max-width:260px}.chat-quick-reactions button{width:24px}.chat-image-viewer{padding:0 7px 8px}.chat-image-viewer figure{margin:8px}}

/* Корпоративная база знаний. */
.knowledge-page-heading{align-items:center}.knowledge-workspace{display:grid;grid-template-columns:245px minmax(480px,1fr) 300px;gap:12px;height:calc(100vh - 184px);min-height:590px;max-height:820px}.knowledge-workspace>.panel{min-height:0!important;overflow:hidden;border-color:#dbe5f0;box-shadow:0 12px 34px rgba(25,59,105,.08)}
.knowledge-workspace.no-inspector{grid-template-columns:245px minmax(480px,1fr)}
.knowledge-sidebar{display:flex;min-width:0;flex-direction:column;background:linear-gradient(155deg,#f9fcff,#f3f8fc);padding:12px}.knowledge-search{position:relative;flex:0 0 auto}.knowledge-search>span{position:absolute;left:11px;top:8px;color:#527397;font-size:19px}.knowledge-search input{width:100%;height:40px;border:1px solid #d5e2ee;border-radius:11px;background:#fff;padding:0 10px 0 34px;color:#17365f;font:650 11px Manrope;outline:0}.knowledge-search input:focus{border-color:#59accb;box-shadow:0 0 0 3px rgba(38,153,196,.1)}
.knowledge-quick-nav{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding-bottom:11px;border-bottom:1px solid #dfe8f1}.knowledge-quick-nav button,.knowledge-tree-item{width:100%;display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:5px;border:0;border-radius:9px;background:transparent;padding:8px 9px;color:#4f6583;text-align:left;font:inherit;cursor:pointer}.knowledge-quick-nav button:hover,.knowledge-tree-item:hover{background:#eaf2f8;color:#173f72}.knowledge-quick-nav button.active,.knowledge-tree-item.active{background:#dfeff4;color:#126b78;box-shadow:inset 0 0 0 1px #c3e1e6}.knowledge-quick-nav span,.knowledge-tree-item>span{font-size:15px;text-align:center}.knowledge-quick-nav b,.knowledge-tree-item>b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.knowledge-quick-nav em,.knowledge-tree-item>em{min-width:19px;border-radius:10px;background:#e7eef5;padding:2px 5px;color:#6f8098;text-align:center;font:800 8px Manrope;font-style:normal}.knowledge-quick-nav button.active em{background:#c8e4e6;color:#0b6f78}
.knowledge-tree-head{display:flex;align-items:center;justify-content:space-between;padding:14px 7px 7px;color:#7c8ba1;font-size:9px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.knowledge-tree-head button{width:25px;height:25px;border:1px solid #cbdbe8;border-radius:8px;background:#fff;color:#247598;font:800 16px Manrope;cursor:pointer}.knowledge-tree{min-height:0;overflow-y:auto}.knowledge-tree-item{padding-left:calc(7px + var(--knowledge-depth,0)*14px)}.knowledge-tree-branch>.knowledge-tree-branch{margin-left:0}
.knowledge-workspace>.knowledge-main{min-width:0;overflow-y:scroll;overscroll-behavior:contain;scrollbar-gutter:stable;background:rgba(255,255,255,.96)}.knowledge-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 14px}.knowledge-library-head h2{margin:3px 0 4px;color:#102d58;font-size:21px;letter-spacing:-.4px}.knowledge-library-head p{margin:0;color:#7a8ba5;font-size:11px}.knowledge-status-filters{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid #e2e9f2;border-bottom:1px solid #e2e9f2;background:#f8fbfe;padding:8px 22px}.knowledge-status-filters button{border:1px solid transparent;border-radius:16px;background:transparent;padding:6px 9px;color:#61738e;font:750 9px Manrope;cursor:pointer}.knowledge-status-filters button.active{border-color:#bdd9e6;background:#e7f5f7;color:#0d7180}.knowledge-status-filters em{margin-left:5px;font-style:normal;opacity:.7}
.knowledge-article-list{display:flex;flex-direction:column;gap:7px;padding:12px}.knowledge-article-card{position:relative;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;border:1px solid #dde6ef;border-radius:13px;background:#fff;padding:13px;text-align:left;color:#18345d;font:inherit;cursor:pointer;box-shadow:0 4px 12px rgba(25,59,102,.04);transition:.16s}.knowledge-article-card:hover,.knowledge-article-card.active{border-color:#9bcbdc;background:#f8fdff;box-shadow:0 9px 22px rgba(26,91,132,.09);transform:translateY(-1px)}.knowledge-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#dff4f1,#d9ebf8);color:#137a77;font-size:18px;font-weight:900}.knowledge-card-copy{min-width:0}.knowledge-card-copy>span:first-child{display:flex;align-items:center;gap:7px}.knowledge-card-copy>span:first-child small{overflow:hidden;color:#8090a6;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.knowledge-card-copy>strong{display:block;overflow:hidden;margin:7px 0 3px;color:#132f59;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.knowledge-card-copy>p{overflow:hidden;margin:0;color:#657792;font-size:10px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.knowledge-card-copy>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.knowledge-card-copy>footer>span{display:flex;gap:4px}.knowledge-card-copy>footer i,.knowledge-detail-tags i{border-radius:10px;background:#edf3f8;padding:3px 6px;color:#526d91;font-size:8px;font-style:normal}.knowledge-card-copy>footer time{color:#8a98ad;font-size:8px;white-space:nowrap}.knowledge-favorite-mark{position:absolute;right:11px;top:10px;color:#f2b322;font-size:15px}
.knowledge-status{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:12px;background:#edf2f7;padding:4px 7px;color:#66758a;font-size:8px;font-weight:850;white-space:nowrap}.knowledge-status i{width:6px;height:6px;border-radius:50%;background:#8f9daf}.knowledge-status.published{background:#e1f5ee;color:#11745e}.knowledge-status.published i{background:#20b58b}.knowledge-status.draft{background:#e9f1fb;color:#3a69a5}.knowledge-status.draft i{background:#4d85c9}.knowledge-status.archived{background:#f0edf3;color:#76677e}.knowledge-status.archived i{background:#998ba2}
.knowledge-empty,.knowledge-loading{min-height:360px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px;color:#7b8da7;text-align:center}.knowledge-empty>span{width:55px;height:55px;display:grid;place-items:center;border-radius:18px;background:#e5f2f7;color:#2d7997;font-size:28px}.knowledge-empty h3{margin:12px 0 4px;color:#27486f;font-size:15px}.knowledge-empty p{margin:0 0 15px;font-size:10px}.knowledge-loading i{width:30px;height:30px;margin-bottom:12px;border:3px solid #dce7f1;border-top-color:#1986aa;border-radius:50%;animation:authSpin .8s linear infinite}.knowledge-loading b{font-size:12px}
.knowledge-page{max-width:850px;margin:0 auto;padding:20px 38px 45px}.knowledge-page>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.knowledge-back{border:0;background:transparent;color:#2c719e;padding:5px 0;font:800 10px Manrope;cursor:pointer}.knowledge-page-actions{display:flex;align-items:center;gap:7px}.knowledge-star{width:36px;height:36px;border:1px solid #d9e3ed;border-radius:10px;background:#fff;color:#9aa6b7;font-size:20px;cursor:pointer}.knowledge-star.active{border-color:#f0cc74;background:#fff9e9;color:#e4a514}.knowledge-breadcrumb{margin-top:25px;color:#8291a7;font-size:10px}.knowledge-breadcrumb span{margin:0 5px}.knowledge-page-status{display:flex;align-items:center;gap:7px;margin-top:13px}.knowledge-verified{border-radius:13px;background:#e7f7f3;padding:5px 8px;color:#15806b;font-size:8px;font-weight:850}.knowledge-verified.expired{background:#fff0df;color:#a46c1b}.knowledge-page>h1{overflow-wrap:anywhere;margin:12px 0 8px;color:#0c2854;font-size:32px;line-height:1.18;letter-spacing:-1px}.knowledge-lead{margin:0;color:#60738f;font-size:14px;line-height:1.65}.knowledge-content{margin-top:28px;color:#203b62}.knowledge-content-paragraph{margin:11px 0;font-size:13px;line-height:1.75}.knowledge-content-heading{margin:25px 0 10px;color:#112e59;line-height:1.3}.knowledge-content h2{font-size:23px}.knowledge-content h3{font-size:19px}.knowledge-content h4{font-size:16px}.knowledge-content-callout{display:flex;align-items:flex-start;gap:10px;margin:16px 0;border:1px solid #cce7e3;border-radius:12px;background:#ecf8f6;padding:13px}.knowledge-content-callout>span{font-size:18px}.knowledge-content-callout p{margin:0;font-size:12px;line-height:1.65}.knowledge-content-check{display:flex;align-items:flex-start;gap:9px;margin:9px 0;font-size:12px;line-height:1.5}.knowledge-content-check input{margin-top:2px;accent-color:#168d79}.knowledge-content blockquote{margin:18px 0;border-left:4px solid #46a5c6;background:#f4f9fc;padding:12px 16px;color:#385875;font-size:13px;font-style:italic;line-height:1.7}.knowledge-content hr{height:1px;margin:25px 0;border:0;background:#dfe7ef}.knowledge-content-image{margin:20px 0}.knowledge-content-image button{display:block;max-width:100%;overflow:hidden;border:0;border-radius:14px;background:#edf3f7;padding:0;cursor:zoom-in}.knowledge-content-image img{display:block;max-width:100%;max-height:520px;object-fit:contain}.knowledge-content-image figcaption{margin-top:7px;color:#7e8ca0;font-size:9px}.knowledge-content-file{display:flex;align-items:center;gap:11px;margin:13px 0;border:1px solid #d7e3ec;border-radius:12px;background:#f8fbfd;padding:11px;color:#214c76;text-decoration:none}.knowledge-content-file>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#dfeefa;font-size:18px}.knowledge-content-file b,.knowledge-content-file small{display:block}.knowledge-content-file b{font-size:11px}.knowledge-content-file small{margin-top:3px;color:#7b8da6;font-size:8px}.knowledge-muted,.knowledge-empty-content{color:#98a5b5}.knowledge-page-footer{display:grid;grid-template-columns:auto 1fr auto;gap:7px;margin-top:34px;border-top:1px solid #e1e8f0;padding-top:13px;color:#8795a9;font-size:9px}.knowledge-page-footer b{color:#47617f}.knowledge-broken-attachment{border:1px dashed #e2a8ae;border-radius:10px;background:#fff5f6;padding:15px;color:#ab4e5c;font-size:10px}
.knowledge-inspector{display:flex;min-width:0;flex-direction:column;background:linear-gradient(155deg,#fff,#f8fbfe)}.knowledge-inspector>header{flex:0 0 auto;border-bottom:1px solid #e0e8f1;padding:16px}.knowledge-inspector>header span{color:#2990a9;font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.knowledge-inspector>header h2{margin:4px 0 0;color:#15335d;font-size:15px}.knowledge-side-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e1e9f1;padding:6px}.knowledge-side-tabs button{border:0;border-radius:8px;background:transparent;padding:8px 4px;color:#7688a2;font:800 8px Manrope;cursor:pointer}.knowledge-side-tabs button.active{background:#e8f2f8;color:#1a668e}.knowledge-side-content{min-height:0;overflow-y:auto;padding:13px}.knowledge-detail-list{display:flex;flex-direction:column;gap:13px}.knowledge-detail-list>div>span{display:block;margin-bottom:5px;color:#8492a6;font-size:8px;font-weight:800}.knowledge-detail-list>div>b{color:#274767;font-size:10px}.knowledge-detail-tags p{display:flex;flex-wrap:wrap;gap:4px;margin:0}.knowledge-library-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px}.knowledge-library-stats article{border:1px solid #dce6ef;border-radius:11px;background:#fff;padding:10px}.knowledge-library-stats span,.knowledge-library-stats b{display:block}.knowledge-library-stats span{color:#7d8ca2;font-size:8px}.knowledge-library-stats b{margin-top:4px;color:#14375f;font-size:19px}.knowledge-inspector-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:220px;padding:18px;color:#8492a6;text-align:center}.knowledge-inspector-empty>span{font-size:27px}.knowledge-inspector-empty b{margin:8px 0 3px;color:#315274;font-size:11px}.knowledge-inspector-empty p{margin:0;font-size:9px;line-height:1.55}.knowledge-inspector-empty.compact{min-height:130px;border:1px solid #dce7ef;border-radius:11px;background:#f7fbfd;margin:0 12px}.knowledge-side-empty{padding:25px 10px;color:#8896a9;text-align:center;font-size:9px}
.knowledge-comments{display:flex;min-height:100%;flex-direction:column}.knowledge-comments>article{display:flex;align-items:flex-start;gap:8px;border-bottom:1px solid #e7edf3;padding:10px 2px}.knowledge-comments>article>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:9px;background:#dfeef5;color:#296486;font-size:8px;font-weight:900}.knowledge-comments>article>div{min-width:0;flex:1}.knowledge-comments header{display:flex;align-items:center;justify-content:space-between;gap:5px}.knowledge-comments header b{overflow:hidden;color:#244666;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.knowledge-comments time{color:#93a0b1;font-size:7px}.knowledge-comments p{overflow-wrap:anywhere;margin:5px 0 0;color:#526b84;font-size:9px;line-height:1.55}.knowledge-comments form{margin-top:auto;padding-top:12px}.knowledge-comments textarea{width:100%;resize:vertical;border:1px solid #d7e2ec;border-radius:9px;background:#fff;padding:9px;color:#24415f;font:600 10px/1.5 Manrope}.knowledge-comments form button{height:32px;margin-top:6px;font-size:9px}.knowledge-history article{display:flex;align-items:center;gap:9px;border-bottom:1px solid #e5ecf2;padding:9px 2px}.knowledge-history article>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e3f1f6;color:#26758e;font:900 9px Manrope;font-style:normal}.knowledge-history b,.knowledge-history span,.knowledge-history small{display:block}.knowledge-history b{font-size:9px}.knowledge-history span{margin:2px 0;color:#8291a5;font-size:7px}.knowledge-history small{color:#526c89;font-size:8px}
.knowledge-editor{min-height:100%;padding-bottom:30px}.knowledge-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #e1e8f0;padding:20px 22px}.knowledge-editor>header>div:first-child{min-width:0;flex:1}.knowledge-editor>header>div:last-child{display:flex;gap:7px}.knowledge-editor>header input,.knowledge-editor>header textarea{width:100%;border:0;background:transparent;color:#102c56;outline:0}.knowledge-editor>header input{margin-top:5px;font:800 25px/1.25 Manrope;letter-spacing:-.6px}.knowledge-editor>header textarea{margin-top:5px;resize:none;color:#687b96;font:600 11px/1.5 Manrope}.knowledge-editor-blocks{display:flex;flex-direction:column;gap:8px;padding:15px 20px}.knowledge-editor-block{overflow:hidden;border:1px solid #dce5ee;border-radius:12px;background:#fff}.knowledge-editor-block>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edf3;background:#f7fafd;padding:6px 8px}.knowledge-editor-block>header>select{border:0;background:transparent;color:#52708d;font:800 8px Manrope}.knowledge-block-move{display:flex;gap:3px}.knowledge-block-move button{width:26px;height:25px;border:1px solid #d4e0e9;border-radius:7px;background:#fff;color:#456887;font:800 11px Manrope;cursor:pointer}.knowledge-block-move button:disabled{opacity:.35}.knowledge-block-move button.danger{border-color:#f0d1d5;color:#b94f5f}.knowledge-editor-input{display:flex;align-items:flex-start;gap:8px;padding:10px}.knowledge-editor-input textarea{min-height:45px;flex:1;resize:vertical;border:0;background:transparent;color:#243f61;font:600 12px/1.6 Manrope;outline:0}.knowledge-editor-input select{width:55px;border:1px solid #d5e1ea;border-radius:8px;background:#f8fbfd;padding:6px;color:#476782;font:800 9px Manrope}.knowledge-editor-check{display:flex;align-items:center;gap:5px;color:#657a93;font-size:8px}.knowledge-editor-check input{accent-color:#168b78}.knowledge-editor-divider{display:flex;align-items:center;gap:8px;padding:18px}.knowledge-editor-divider span{height:1px;flex:1;background:#dbe4ec}.knowledge-editor-divider small{color:#8d99a9;font-size:8px}.knowledge-editor-attachment{display:flex;align-items:center;gap:10px;padding:10px}.knowledge-editor-attachment>img,.knowledge-editor-attachment>span{width:58px;height:50px;display:grid;place-items:center;flex:0 0 58px;border-radius:9px;background:#e7f0f7;object-fit:cover;font-size:21px}.knowledge-editor-attachment>div{min-width:0;flex:1}.knowledge-editor-attachment b,.knowledge-editor-attachment small{display:block}.knowledge-editor-attachment b{font-size:10px}.knowledge-editor-attachment small{color:#8291a5;font-size:8px}.knowledge-editor-attachment input{width:100%;margin-top:6px;border:1px solid #d8e2eb;border-radius:7px;padding:6px;color:#45617f;font:600 9px Manrope}.knowledge-block-add{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 20px;border:1px dashed #bfd2df;border-radius:11px;background:#f8fbfd;padding:10px}.knowledge-block-add>span{margin-right:5px;color:#71839b;font-size:9px;font-weight:800}.knowledge-block-add button{border:1px solid #d5e1e9;border-radius:9px;background:#fff;padding:7px 9px;color:#37617f;font:750 8px Manrope;cursor:pointer}.knowledge-block-add button:hover{border-color:#7ebbd0;background:#eef8fb}.knowledge-draft-details{min-height:0;overflow-y:auto;padding:12px}.knowledge-draft-details label{display:block;margin-bottom:11px}.knowledge-draft-details label>span{display:block;margin-bottom:5px;color:#7e8da3;font-size:8px;font-weight:800}.knowledge-draft-details input,.knowledge-draft-details select{width:100%;height:36px;border:1px solid #d6e1eb;border-radius:9px;background:#fff;padding:0 8px;color:#294968;font:650 9px Manrope}.knowledge-workflow-note{border-radius:10px;background:#eef7f6;padding:10px;color:#55756f;font-size:8px;line-height:1.55}
@media(max-width:1280px){.knowledge-workspace{grid-template-columns:220px minmax(440px,1fr);height:auto;max-height:none}.knowledge-sidebar,.knowledge-main{height:700px}.knowledge-inspector{grid-column:1/-1;min-height:280px;max-height:520px}.knowledge-inspector>.knowledge-side-content{max-height:410px}.knowledge-detail-list{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.knowledge-page-heading{align-items:flex-start;flex-direction:column}.knowledge-workspace{grid-template-columns:1fr}.knowledge-sidebar{height:360px}.knowledge-main{height:auto;min-height:620px}.knowledge-inspector{grid-column:auto}.knowledge-page{padding:18px 20px 35px}.knowledge-page>h1{font-size:27px}.knowledge-editor>header{flex-direction:column}.knowledge-detail-list{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.knowledge-card-copy>footer{align-items:flex-start;flex-direction:column}.knowledge-library-head{padding:18px 15px}.knowledge-status-filters{padding:7px 13px}.knowledge-page{padding:15px}.knowledge-page>h1{font-size:24px}.knowledge-detail-list{grid-template-columns:1fr}.knowledge-editor>header{padding:16px}.knowledge-editor-blocks{padding:12px}.knowledge-block-add{margin:0 12px}.knowledge-editor-input{flex-direction:column}}

/* База знаний: служебные подписи остаются компактными, но читаются без увеличения. */
.knowledge-search input{font-size:12px}
.knowledge-quick-nav b,.knowledge-tree-item>b{font-size:12px}
.knowledge-quick-nav em,.knowledge-tree-item>em,.knowledge-tree-head{font-size:10px}
.knowledge-library-head p{font-size:12px}
.knowledge-status-filters button{font-size:11px}
.knowledge-card-copy>span:first-child small{font-size:10px}
.knowledge-card-copy>strong{font-size:14px}
.knowledge-card-copy>p{font-size:11px}
.knowledge-card-copy>footer i,.knowledge-detail-tags i,.knowledge-card-copy>footer time,.knowledge-status{font-size:10px}
.knowledge-back,.knowledge-breadcrumb{font-size:11px}
.knowledge-verified{font-size:10px}
.knowledge-content-paragraph{font-size:14px}
.knowledge-content-callout p,.knowledge-content-check{font-size:13px}
.knowledge-content-image figcaption,.knowledge-content-file b,.knowledge-page-footer,.knowledge-broken-attachment{font-size:11px}
.knowledge-content-file small{font-size:10px}
.knowledge-inspector>header span,.knowledge-side-tabs button{font-size:10px}
.knowledge-inspector>header h2{font-size:16px}
.knowledge-detail-list>div>span,.knowledge-library-stats span{font-size:10px}
.knowledge-detail-list>div>b{font-size:12px}
.knowledge-inspector-empty b{font-size:12px}
.knowledge-inspector-empty p,.knowledge-side-empty{font-size:11px}
.knowledge-comments header b,.knowledge-comments p,.knowledge-comments textarea{font-size:11px}
.knowledge-comments time{font-size:9px}
.knowledge-history b{font-size:11px}
.knowledge-history span{font-size:9px}
.knowledge-history small{font-size:10px}
.knowledge-editor>header textarea,.knowledge-editor-input textarea{font-size:12px}
.knowledge-editor-block>header>select,.knowledge-editor-input select,.knowledge-block-add>span,.knowledge-block-add button{font-size:10px}
.knowledge-editor-check,.knowledge-editor-divider small,.knowledge-editor-attachment small,.knowledge-draft-details label>span,.knowledge-workflow-note{font-size:10px}
.knowledge-editor-attachment b,.knowledge-editor-attachment input,.knowledge-draft-details input,.knowledge-draft-details select{font-size:11px}
.shift-chip.status-terminated{background:#ffe8eb!important;border-color:#e7a4ae!important;color:#a33c4b!important;cursor:not-allowed}.shift-chip.status-terminated b{color:#a33c4b!important}.employee-termination-note{color:#b44555!important;font-weight:800}.employee-terminated-row{opacity:.82}.employee-terminated-tag{display:inline-flex;align-items:center;border-radius:8px;background:#ffe8eb;color:#a33c4b;padding:6px 9px;font-size:8px;font-weight:800;white-space:nowrap}.operator-day.terminated{background:#fff0f2}.operator-day.terminated b{color:#ad4050}.timeline-absence{color:#87938f}.employee-terminated-row .timeline-absence{color:#ad4050}
.termination-modal{max-width:460px}.termination-date-field{display:block;margin-top:18px}.termination-date-field>span{display:block;margin-bottom:7px;color:#40534d;font-size:10px;font-weight:800}.termination-date-field input{width:100%;height:42px;border:1px solid #d7e2de;border-radius:9px;background:#fbfcfc;padding:0 11px;color:var(--ink);font:700 12px Manrope}.termination-date-field input:focus{outline:0;border-color:#d8b764;box-shadow:0 0 0 3px rgba(216,183,100,.16);background:#fff}.termination-warning{margin-top:14px;border-radius:10px;background:#fff7df;padding:12px;color:#75561c;font-size:10px;line-height:1.55}.team-terminate-confirm{height:38px;border:1px solid #d8b764;border-radius:9px;background:#f2c84b;padding:0 16px;color:#5e4512;font:800 10px Manrope;cursor:pointer}.team-terminate-confirm:hover{background:#e8bb36}
.schedule-group-row>span{position:sticky;left:14px}.schedule-group-row>b{position:sticky;right:14px}

/* Читаемое сравнение покрытия и корректное скрытие формы групп. */
.operator-group-create[hidden]{display:none!important}
.hourly-plan-fact-title b{font-size:11px}.hourly-plan-fact-title div>span{margin-top:3px}.hourly-metric-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 11px}.hourly-metric-guide article{position:relative;border:1px solid #dce6f3;border-radius:10px;background:#f8fbff;padding:10px 11px 10px 15px}.hourly-metric-guide article:before{content:"";position:absolute;inset:8px auto 8px 6px;width:3px;border-radius:3px;background:#1552b8}.hourly-metric-guide article.plan:before{background:#e99a23}.hourly-metric-guide article.fact:before{background:#7657df}.hourly-metric-guide article.unavailable{opacity:.55}.hourly-metric-guide b,.hourly-metric-guide span{display:block}.hourly-metric-guide b{font-size:9px}.hourly-metric-guide span{margin-top:3px;color:#7585a0;font-size:7px;line-height:1.45}.hourly-plan-fact th,.hourly-plan-fact td{min-width:72px;height:40px;padding:6px 8px}.hourly-plan-fact th:first-child{min-width:170px}.hourly-plan-fact tbody th b,.hourly-plan-fact tbody th small{display:block}.hourly-plan-fact tbody th small{margin-top:2px;color:#8492a8;font-size:7px;font-weight:500}
.schedule-alert-tabs{display:inline-flex;gap:3px;margin-top:14px;border:1px solid #d7e3f0;border-radius:10px;background:#eef3f8;padding:3px}.schedule-alert-tabs button{height:31px;border:0;border-radius:7px;background:transparent;padding:0 16px;color:#667895;font:800 9px Manrope;cursor:pointer}.schedule-alert-tabs button.active{background:#fff;color:#1747ad;box-shadow:0 2px 8px rgba(30,68,124,.12)}.schedule-alert-item.day{min-height:62px}.schedule-alert-item.day .schedule-alert-mark{font-size:10px}.schedule-alert-item.day.over .schedule-alert-mark{background:#e6a13c}
.schedule-group-filter{position:relative;z-index:6}.schedule-group-filter summary{min-width:145px;height:36px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;border:1px solid #d4e1f0;border-radius:9px;background:#fff;padding:0 30px 0 10px;list-style:none;cursor:pointer}.schedule-group-filter summary::-webkit-details-marker{display:none}.schedule-group-filter summary:after{content:"⌄";position:absolute;right:10px;top:10px;color:#6980a2}.schedule-group-filter[open] summary:after{transform:rotate(180deg)}.schedule-group-filter summary span,.schedule-group-filter summary b{display:block}.schedule-group-filter summary span{color:#7b8da8;font-size:7px}.schedule-group-filter summary b{margin-top:1px;color:#173a70;font-size:9px}.schedule-group-filter>div{position:absolute;top:42px;left:0;min-width:225px;max-height:310px;overflow:auto;border:1px solid #d4e1f0;border-radius:11px;background:#fff;padding:7px;box-shadow:0 14px 36px rgba(24,58,111,.18)}.schedule-group-filter label{display:flex;align-items:center;gap:8px;border-radius:8px;padding:8px 9px;color:#29466f;font-size:9px;font-weight:700;cursor:pointer}.schedule-group-filter label:hover{background:#f2f7fc}.schedule-group-filter label.all{border-bottom:1px solid #e3eaf3;border-radius:0;margin-bottom:4px}.schedule-group-filter input{accent-color:#2478c5}.schedule-group-filter label i{width:8px;height:8px;border-radius:50%;background:var(--filter-group);box-shadow:0 0 0 3px color-mix(in srgb,var(--filter-group) 16%,transparent)}.schedule-group-filter-empty{display:block;padding:12px;color:#7d8ca3;font-size:8px}.employee-section-title{margin-top:5px;border-top:1px solid #dfe8f1;padding-top:14px}.employee-section-title b,.employee-section-title small{display:block}.employee-section-title b{color:#173a70;font-size:12px}.employee-section-title small{margin-top:3px;color:#7b8ba3;font-size:8px}.employee-modal.social-only .employee-section-title{display:none}
@media(max-width:700px){.hourly-metric-guide{grid-template-columns:1fr}}

/* Компактный рабочий режим месячного графика. */
#view-schedule{max-width:none;padding:16px 18px 36px}
#view-schedule>.page-heading{align-items:center;margin-bottom:10px}
#view-schedule>.page-heading h1{font-size:22px;line-height:1.1;margin:1px 0 3px}
#view-schedule>.page-heading p{font-size:10px}
#view-schedule>.page-heading .heading-actions{justify-content:flex-end;flex-wrap:wrap;gap:6px}
#view-schedule>.page-heading .heading-actions button{height:32px;padding-inline:11px;font-size:9px;white-space:nowrap}
#view-schedule .schedule-alert-button{height:32px}
#view-schedule .schedule-controls{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px;min-height:40px}
#view-schedule .schedule-control-groups{flex:0 0 auto}
#view-schedule .schedule-month-control{order:4}
#view-schedule .schedule-group-filter{order:3}
#view-schedule .month-schedule-label{order:5;margin-left:auto;text-align:right}
#view-schedule .schedule-legend{order:6}
#view-schedule .segmented button{height:30px;padding:0 11px}
.schedule-search{order:1;position:relative;display:flex;align-items:center;width:210px;height:34px;border:1px solid #d4e1f0;border-radius:9px;background:#fff;color:#71839d}
.schedule-search>span{padding-left:10px;font-size:17px;line-height:1}
.schedule-search input{min-width:0;flex:1;height:100%;border:0!important;outline:0;background:transparent;padding:0 28px 0 7px;color:#173a70;font:700 10px Manrope;box-shadow:none!important}
.schedule-search input::-webkit-search-cancel-button{display:none}
.schedule-search button{position:absolute;right:5px;width:24px;height:24px;border:0;border-radius:7px;background:#edf3f8;color:#607594;font-size:15px;cursor:pointer}
.schedule-search button[hidden]{display:none!important}
.schedule-sort-control{order:2;display:flex;align-items:center;height:34px;border:1px solid #d4e1f0;border-radius:9px;background:#fff;padding-left:9px}
.schedule-sort-control>span{color:#7b8da8;font-size:7px}
.schedule-sort-control select{height:32px;border:0;background:transparent;padding:0 26px 0 7px;color:#173a70;font:800 9px Manrope;outline:0}
#view-schedule .schedule-group-filter summary{height:34px;min-width:126px}
#view-schedule .schedule-month-control{display:flex;align-items:center;height:34px;border:1px solid #d4e1f0;border-radius:9px;background:#fff;padding-left:9px}
#view-schedule .schedule-month-control>span{color:#7b8da8;font-size:7px}
#view-schedule .schedule-month-control select{height:32px;border:0;padding-block:0;background-color:transparent}
.schedule-selection-bar[hidden],.schedule-cell-menu[hidden],#shiftAdvancedFields[hidden],.shift-advanced-toggle[hidden],.shift-time-field[hidden]{display:none!important}
.schedule-selection-bar{display:flex;align-items:center;gap:8px;min-height:34px;margin:0 0 7px;border:1px solid #b9d7eb;border-radius:9px;background:#eef8ff;padding:4px 6px 4px 11px;color:#173a70}
.schedule-selection-bar>span{font-size:9px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-selection-bar>small{margin-right:auto;color:#6f829e;font-size:8px;white-space:nowrap}
.schedule-selection-bar button{height:25px;border:1px solid #c8dced;border-radius:7px;background:#fff;padding:0 9px;color:#1747ad;font:800 8px Manrope;cursor:pointer}
.schedule-selection-bar button:disabled{opacity:.45;cursor:not-allowed}
.schedule-selection-bar #scheduleSelectionEdit{border-color:#1764c9;background:#1764c9;color:#fff}
.schedule-selection-bar #scheduleSelectionClose{width:25px;padding:0;font-size:15px}
#view-schedule .schedule-panel{overflow:hidden;border-radius:12px}
#view-schedule .schedule-panel .schedule-scroll{max-height:calc(100vh - 292px);min-height:290px;overscroll-behavior:contain}
#view-schedule .schedule-table{min-width:calc(220px + var(--schedule-days,31) * 84px + 76px)}
#view-schedule .schedule-table .schedule-row{grid-template-columns:220px repeat(var(--schedule-days,31),84px) 76px}
#view-schedule .schedule-cell{min-height:56px;padding:4px}
#view-schedule .schedule-row.header .schedule-cell{min-height:42px;padding:5px 3px}
#view-schedule .schedule-row.header .schedule-cell b{font-size:10px}
#view-schedule .schedule-row.header .schedule-cell small{font-size:8px}
#view-schedule .schedule-row>.schedule-cell:first-child{background:#fff}
#view-schedule .schedule-row.header>.schedule-cell:first-child{background:#f3f7fc}
#view-schedule .schedule-row.footer>.schedule-cell:first-child{background:#153f9d}
#view-schedule .schedule-group-row{min-height:27px;padding-block:3px}
#view-schedule .employee-cell{gap:7px;padding-inline:8px}
#view-schedule .employee-cell .employee-mini-avatar,#view-schedule .employee-cell .avatar{width:28px;height:28px;border-radius:8px}
#view-schedule .employee-cell b{font-size:9px;line-height:1.25}
#view-schedule .employee-cell small{font-size:7px}
#view-schedule .employee-cell em{font-size:7px;margin-top:2px}
#view-schedule .shift-chip{min-height:48px;padding:3px 4px;gap:1px;border-radius:4px}
#view-schedule .combined-shift{min-height:48px;padding:3px 4px;gap:1px}
#view-schedule .combined-shift .plan-line,#view-schedule .combined-shift .fact-line{grid-template-columns:13px 1fr auto;gap:2px}
#view-schedule .combined-shift .plan-line i,#view-schedule .combined-shift .fact-line i{width:13px;height:13px;font-size:6px}
#view-schedule .combined-shift .plan-line b,#view-schedule .combined-shift .fact-line b,#view-schedule .future-plan-shift .plan-only-line b{font-size:8px}
#view-schedule .combined-shift>small{font-size:5px}
#view-schedule .future-plan-shift{min-height:48px}
#view-schedule .future-plan-shift .plan-only-line{grid-template-columns:14px 1fr;gap:2px}
#view-schedule .future-plan-shift .plan-only-line i{width:14px;height:14px;font-size:6px}
#view-schedule .timesheet-total span,#view-schedule .timesheet-total b{font-size:8px}
#view-schedule .schedule-row.footer .schedule-cell{min-height:38px}
#view-schedule .selected-day-column{background:rgba(36,120,197,.055)!important;box-shadow:inset 1px 0 rgba(36,120,197,.13),inset -1px 0 rgba(36,120,197,.13)}
#view-schedule .date-header.selected-day-column{background:#e5f4ff!important;box-shadow:inset 0 -3px #138ac6,inset 1px 0 rgba(36,120,197,.15),inset -1px 0 rgba(36,120,197,.15)}
#view-schedule .schedule-row.footer .selected-day-column{background:#174aa8!important}
#view-schedule .selected-shift-cell{position:relative;z-index:2;outline:2px solid #168bd0;outline-offset:-2px;background:#dff3ff!important;box-shadow:0 3px 10px rgba(23,100,185,.2)}
.schedule-empty-result{position:sticky;left:0;width:430px;display:flex;align-items:center;flex-direction:column;gap:4px;padding:44px 20px;color:#7688a1}
.schedule-empty-result b{color:#29466f;font-size:12px}.schedule-empty-result span{font-size:9px}
.schedule-cell-menu{position:fixed;z-index:120;width:245px;border:1px solid #d4e1f0;border-radius:11px;background:#fff;padding:6px;box-shadow:0 18px 45px rgba(13,47,112,.24)}
.schedule-cell-menu button{display:flex;align-items:flex-start;flex-direction:column;width:100%;border:0;border-radius:8px;background:transparent;padding:9px 10px;color:#173a70;text-align:left;cursor:pointer}
.schedule-cell-menu button:hover{background:#eef6fc}
.schedule-cell-menu b{font-size:10px}.schedule-cell-menu small{margin-top:2px;color:#788aa3;font-size:8px}
#view-schedule .schedule-stats{margin-top:8px;gap:7px}
#view-schedule .schedule-stats article{min-height:36px;padding:7px 10px}

.shift-modal{width:min(620px,calc(100vw - 28px));max-width:620px;max-height:88vh;overflow:auto;padding-bottom:0}
.shift-modal h2{margin-bottom:14px;font-size:18px;line-height:1.3}
.shift-advanced-toggle{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:8px;width:100%;min-height:46px;margin-top:13px;border:1px solid #d8e4f1;border-radius:10px;background:#f4f8fc;padding:8px 11px;color:#173a70;text-align:left;cursor:pointer}
.shift-advanced-toggle span{font:900 10px Manrope}.shift-advanced-toggle b{color:#7586a0;font:700 8px Manrope}.shift-advanced-toggle i{font-style:normal;font-size:15px;transition:transform .2s}.shift-advanced-toggle.open i{transform:rotate(180deg)}
.shift-modal #shiftAdvancedFields{border-top:1px solid #e0e8f2;margin-top:12px;padding-top:1px}
.shift-modal.non-work-shift{max-width:480px}
.shift-modal.non-work-shift .shift-edit-grid{grid-template-columns:1fr}
.shift-modal.non-work-shift .shift-total-preview{display:none}
.shift-modal-actions{position:sticky;bottom:0;z-index:4;margin:18px -24px 0;padding:12px 24px;border-top:1px solid #dce6f3;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}

@media(max-width:1250px){#view-schedule .schedule-legend{display:none}.schedule-search{width:180px}#view-schedule .month-schedule-label span{display:none}}
@media(max-width:900px){#view-schedule{padding:14px}#view-schedule>.page-heading{align-items:flex-start;flex-direction:column}.schedule-search{width:100%}#view-schedule .schedule-controls{flex-wrap:wrap}.schedule-selection-bar>small{display:none}#view-schedule .schedule-panel .schedule-scroll{max-height:560px}}

.schedule-alert-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.schedule-alert-filters button[data-schedule-alert-filter="under"].active{background:#fff0f2;color:#bd4053;box-shadow:inset 0 0 0 1px #f0bac2}
.schedule-alert-filters button[data-schedule-alert-filter="over"].active{background:#fff6e7;color:#a66514;box-shadow:inset 0 0 0 1px #edce99}
@media(max-width:700px){.schedule-alert-toolbar{align-items:stretch;flex-direction:column}.schedule-alert-toolbar .schedule-alert-tabs{display:flex;width:100%;margin-top:8px}.schedule-alert-toolbar .schedule-alert-tabs button{flex:1;padding-inline:8px}}

/* Спокойная визуальная система в духе Astra WFM. */
:root{
  --ink:#202939;
  --muted:#748094;
  --line:#e1e6ed;
  --bg:#f4f6f8;
  --panel:#fff;
  --green:#2563d9;
  --green-2:#2563d9;
  --mint:#edf4ff;
  --lime:#dbe8ff;
  --orange:#d98a26;
  --red:#dc5264;
  --blue:#5b63d9;
  --shadow:0 1px 2px rgba(25,36,54,.04),0 5px 16px rgba(25,36,54,.035);
  --radius:10px;
}

/* Табель открывает компактные настройки графика без профильных данных. */
.employee-modal.schedule-only{max-width:720px}
.employee-modal.schedule-only .employee-form-grid>label:not(:has(#employeeScheduleStartDate)):not(:has(#employeeCycleAnchorDate)):not(:has(#employeeShiftTemplate)):not(:has(#employeeShiftType)):not(:has(#employeeWorkPattern)):not(:has(#employeeBreakTemplate)),
.employee-modal.schedule-only .employee-photo-editor,
.employee-modal.schedule-only .vacation-editor-head,
.employee-modal.schedule-only .vacation-interval-list{display:none}
.employee-modal.schedule-only .employee-section-title{margin-top:0;border-top:0;padding-top:0}
.employee-modal.schedule-only .employee-form-grid{margin-top:14px}

/* Служебные показатели вынесены из табеля в отдельную диаграмму под ним. */
.schedule-coverage-strip{margin-top:10px;padding:14px 16px 12px;min-height:0!important}.schedule-coverage-strip-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.schedule-coverage-strip-head h2{margin:2px 0 0;font-size:14px}.schedule-hours-legend{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:12px;color:#627390;font-size:9px;font-weight:700}.schedule-hours-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}.schedule-hours-legend .need{background:#b9c8db}.schedule-hours-legend .scheduled{background:#2e70d1}.schedule-hours-legend .fact{background:#16a398}.schedule-hours-legend .balance{background:#f2b450}.schedule-coverage-strip-scroll{overflow-x:auto;padding:4px 2px 8px}.schedule-hours-chart{display:grid;grid-template-columns:repeat(var(--schedule-days,31),86px);gap:7px;width:max-content}.schedule-hours-day{height:190px;border:1px solid #dce5f0;border-radius:10px;background:#fbfdff;color:#17345f;padding:8px 6px 7px;display:grid;grid-template-rows:auto 1fr auto;gap:6px;cursor:pointer;transition:.15s}.schedule-hours-day:hover{border-color:#8ab7dc;background:#f4f9ff;transform:translateY(-1px)}.schedule-hours-day.selected{border-color:#168ac5;box-shadow:0 0 0 2px rgba(22,138,197,.12)}.schedule-hours-date{font-size:9px;font-weight:800}.schedule-hours-date small{display:block;margin-top:2px;color:#8290a5;font-size:7px;font-weight:600}.schedule-hours-bars{height:112px;display:flex;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid #dfe7f1;background:linear-gradient(to top,rgba(214,225,238,.45) 1px,transparent 1px);background-size:100% 28px;padding-top:13px}.schedule-hours-bars>i{position:relative;width:17px;height:max(3px,var(--bar));max-height:98px;border-radius:4px 4px 1px 1px}.schedule-hours-bars>i.need{background:#b9c8db}.schedule-hours-bars>i.scheduled{background:#2e70d1}.schedule-hours-bars>i.fact{background:#16a398}.schedule-hours-bars>i.fact.empty{height:3px;background:#d9e1eb}.schedule-hours-bars em{position:absolute;left:50%;top:-13px;transform:translateX(-50%);color:#36506f;font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.schedule-hours-balance{justify-self:stretch;border-radius:6px;padding:4px 3px;font-size:8px}.schedule-hours-balance.negative{background:#ffebee;color:#b53d51}.schedule-hours-balance.positive{background:#e9f7f2;color:#147762}.schedule-hours-balance.neutral{background:#edf2f7;color:#65758c}@media(max-width:760px){.schedule-coverage-strip-head{align-items:flex-start;flex-direction:column}.schedule-hours-legend{justify-content:flex-start}}
html{background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}
body:before{display:none}
button,input,select,textarea{font-family:Inter,"Segoe UI",Arial,sans-serif!important;letter-spacing:normal}
::selection{background:#dbe8ff;color:#173d84}

.sidebar{background:#172238;border-right:1px solid #25324a;box-shadow:none}
.sidebar:before{display:none}
.brand{padding-bottom:22px}
.brand-mark{border-radius:8px;background:#3973df;box-shadow:none}
.brand-mark span{background:#fff}
.brand strong{font-size:16px;font-weight:650}
.brand small{color:#92a0b8;font-size:8px;letter-spacing:1.7px}
.nav-list{gap:2px}
.nav-item{height:40px;border-radius:7px;color:#aeb9ca;font-size:12px;font-weight:500;transition:background .15s,color .15s}
.nav-item:hover{background:#222f47;color:#fff;transform:none}
.nav-item.active{background:#316bd4;color:#fff;box-shadow:none;font-weight:600}
.nav-item.active .nav-pill{background:rgba(255,255,255,.16);color:#fff}
.nav-pill{background:#283752;color:#b9c5d7}
.spark{background:#66d2af;box-shadow:none}
.help-card{border-color:#2d3a52;border-radius:8px;background:#202d44}
.help-icon{border-radius:7px;background:#31405a;color:#d8e2f2}
.help-card p,.side-user small{color:#8998b0}
.side-user{border-color:#2a3850}

.topbar{height:64px;border-color:var(--line);background:rgba(255,255,255,.96);box-shadow:none;backdrop-filter:blur(10px)}
.topbar:after{display:none}
.period-switch button,.week-nav button,.calendar-head button,.icon-btn{border-color:#dce2ea;border-radius:7px;background:#fff;box-shadow:none;transition:border-color .15s,background .15s,color .15s}
.period-switch button:hover,.week-nav button:hover,.calendar-head button:hover,.icon-btn:hover{border-color:#aebbd0;background:#f8fafc;color:#2563d9;box-shadow:none;transform:none}
.icon-btn i{background:#dc5264;box-shadow:0 0 0 2px #fff;animation:none}
.role-switch select,.select-control,.legend select,.dashboard-month-control select,.solver-settings select,.solver-settings input[type=number]{border-color:#dce2ea;border-radius:7px;background:#fff;color:#344055;box-shadow:none}
input:focus,select:focus,textarea:focus{border-color:#7da2ea!important;box-shadow:0 0 0 3px rgba(37,99,217,.10)!important;outline:0}

.view{padding:24px 28px 38px}
.view.active,.view.active>.page-heading{animation:none}
.page-heading{margin-bottom:18px}
.page-heading h1{color:#202939;font-size:25px;font-weight:650;letter-spacing:-.45px}
.page-heading p{color:#7b8698;font-size:11px}
.eyebrow,.quick-kicker{color:#557099!important;font-size:8px!important;letter-spacing:1.15px}
.status-chip{border-color:#e0e5eb;border-radius:7px;background:#fff;box-shadow:none}
.status-chip i{background:#35a981;box-shadow:none}

.panel,.kpi-card,.parameter-card,.report-card,.settings-summary article,.operator-profile-kpis article,.integration-card,.production-month{
  border-color:var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)
}
.kpi-card,.parameter-card,.report-card,.settings-summary article,.operator-profile-kpis article,.integration-card,.production-month{transition:border-color .15s,box-shadow .15s}
.kpi-card:hover,.parameter-card:hover,.report-card:hover,.settings-summary article:hover,.operator-profile-kpis article:hover,.integration-card:hover,.production-month:hover{border-color:#cbd3df;box-shadow:0 3px 12px rgba(25,36,54,.06);transform:none}
.panel-head h2{font-weight:650}
.kpi-card.accent{background:#316bd4;border-color:#316bd4;box-shadow:var(--shadow)}
.kpi-card.accent:after{display:none}
.accent .kpi-top>span,.accent>small{color:#d9e6ff}
.micro-bars i{background:rgba(255,255,255,.2)}
.micro-bars i:last-child,.micro-bars i:nth-last-child(2){background:#fff;box-shadow:none}

.primary-btn,.export-btn{background:#316bd4;box-shadow:none;color:#fff;transition:background .15s,border-color .15s}
.primary-btn:before,.export-btn:before{display:none}
.primary-btn:hover,.export-btn:hover{background:#285dc1;box-shadow:none;filter:none;transform:none}
.soft-btn,.upload-btn{border-color:#d9e0e9;background:#fff;color:#41516a;box-shadow:none;transition:background .15s,border-color .15s,color .15s}
.soft-btn:hover,.upload-btn:hover{border-color:#b9c4d3;background:#f8fafc;color:#245bc4;box-shadow:none;transform:none}
.primary-btn,.export-btn,.soft-btn,.upload-btn{border-radius:7px;font-weight:600}
.segmented,.settings-tabs{border:1px solid #dde3eb;border-radius:8px;background:#edf0f4}
.segmented button,.settings-tabs button{font-weight:500}
.segmented button.active,.settings-tabs button.active{background:#fff;color:#245bc4;box-shadow:0 1px 3px rgba(23,34,53,.08)}

.data-table th,.team-table th,.template-table th,.settings-access-table th,.schedule-row.header .schedule-cell{border-color:#e2e7ed;background:#f6f7f9;color:#737f92}
.data-table tr:hover td,.team-table tr:hover td{background:#f8fafc}
.table-scroll,.schedule-scroll,.solver-roster-scroll,.operator-timelines{scrollbar-color:#bdc7d4 #eef1f4}
.sum-badge,.settings-saved-badge{background:#edf4ff;color:#275fc8}
.erlang-summary{background:#24324a;box-shadow:none}
.erlang-summary .highlight{background:#fff;color:#25334c;box-shadow:none}
.erlang-summary .highlight span{color:#6e7a8d}
.schedule-row.footer .schedule-cell{border-color:#35445d;background:#24324a}
.schedule-row.footer .future-total{background:#293951}
.shift-chip{border-color:#cfdcec;background:#edf4fb;color:#31567f}
.shift-chip:hover{border-color:#9fb9dc;background:#e8f1fc}
.combined-shift .plan-line i{background:#edf0f4;color:#6a7586}
.combined-shift .fact-line i{background:#e7edfb;color:#465eaa}
.combined-shift .fact-line b{color:#2a3f73}
.future-plan-shift{border-color:#d7e0e9;background:#f1f5f9}
.future-plan-shift .plan-only-line i{background:#e5ebf1;color:#5b6d80}
.future-plan-shift .plan-only-line b{color:#354c66}
.date-header.today-date{background:#eaf1ff!important;box-shadow:inset 0 -2px #316bd4}
.date-header.today-date small{color:#275fc8}
.coverage-under{background:#fbe8eb}.coverage-ok{background:#e8f4ef}.coverage-over{background:#fff1dc}
.schedule-stats article{border-color:#e0e5eb;border-radius:8px;background:#fff;box-shadow:none}
.schedule-selection-bar{border-color:#cbdaf2;border-radius:8px;background:#f2f6fc}
.schedule-cell-menu{border-color:#dbe2eb;border-radius:9px;box-shadow:0 12px 30px rgba(24,35,52,.15)}

.modal{border-color:#dfe4eb;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(20,30,47,.24)}
.modal-backdrop{background:rgba(21,29,43,.48);backdrop-filter:blur(3px)}
.notification-panel,.forecast-history-popover{border-color:#dfe4eb;border-radius:10px;box-shadow:0 16px 45px rgba(20,30,47,.17)}
.chart-tooltip,.toast{background:#24324a;box-shadow:0 12px 30px rgba(20,30,47,.2)}
.toast span{background:#fff;color:#24324a}
.annual-drop,.forecast-history-item,.settings-access-notes article{border-color:#dfe5ec;background:#f8fafc}
.solver-note{background:#f3f6f9}.solver-note i{background:#e1e8f0;color:#45617f}.solver-note p{color:#687789}
.permission-toggle.enabled{color:#275fc8}.permission-toggle.enabled i{background:#3973df}
.settings-team-mark,.integration-card.connected .integration-mark{background:#edf4ff;color:#316bd4}
.production-month.active{border-color:#8faee6;background:#f2f6fd;box-shadow:0 0 0 2px rgba(49,107,212,.08)}
.auth-gate{background:#f3f5f8}
.auth-card{border-color:#dfe4eb;border-radius:14px;background:#fff;box-shadow:0 20px 60px rgba(20,30,47,.13)}
.auth-screen h1{color:#202939}
.auth-screen input{border-color:#dce2ea;border-radius:7px;background:#fff}

@media(min-width:901px){
  .app-shell{grid-template-columns:228px 1fr}
  .sidebar{width:228px;padding:22px 12px 16px}
  body.sidebar-collapsed .app-shell{grid-template-columns:68px 1fr}
  body.sidebar-collapsed .sidebar{width:68px;padding-inline:10px}
}

/* Цветовая идентичность Юнитики остаётся без изменений. */
:root{
  --ink:#0d2148;--muted:#65769a;--line:#dce6f3;--bg:#edf4fb;--panel:#fff;
  --green:#1747ad;--green-2:#0b84c9;--mint:#e4f3ff;--lime:#ffdb38;
  --orange:#ffad32;--red:#ef5b70;--blue:#6657df;
}
html{background:#edf4fb}
body{background:radial-gradient(circle at 78% 5%,rgba(31,167,220,.10),transparent 27%),linear-gradient(135deg,#f7faff 0%,#eef5fc 55%,#eaf3fb 100%);color:var(--ink)}
.sidebar{background:linear-gradient(165deg,#163f9e 0%,#10347f 52%,#0a2867 100%);border-color:rgba(255,255,255,.08)}
.brand-mark{background:#ffdb38}.brand-mark span{background:#123c94}.brand small{color:#9ddff1}
.nav-item{color:#b9cae9}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active{background:#ffdb38;color:#15306e}.nav-item.active .nav-pill{background:rgba(19,54,130,.12);color:#16377e}
.nav-pill{background:rgba(72,207,230,.18);color:#c8f6ff}.spark{background:#5de6de}
.help-card{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.07)}
.help-icon{background:#ffdb38;color:#16458d}.help-card p,.side-user small{color:#9db8e4}
.side-user{border-color:rgba(198,220,255,.17)}
.page-heading h1{color:#0a214e}.eyebrow,.quick-kicker{color:#0b82c6!important}
.primary-btn,.export-btn{background:#1764c9}.primary-btn:hover,.export-btn:hover{background:#1358b5}
.soft-btn,.upload-btn{border-color:#cfdeef;background:#f1f6fc;color:#144caa}
.soft-btn:hover,.upload-btn:hover{border-color:#8fc5e5;background:#eaf3fb;color:#144caa}
.segmented,.settings-tabs{border-color:#d5e2f1;background:#e7eef8}
.segmented button.active,.settings-tabs button.active{color:#1549ab}
.kpi-card.accent{border-color:#194bb6;background:#194bb6}
.accent .kpi-top>span,.accent>small{color:#c4e6f7}
.micro-bars i{background:rgba(111,227,237,.3)}.micro-bars i:last-child,.micro-bars i:nth-last-child(2){background:#ffe252}
.sum-badge,.settings-saved-badge{background:#e1f5fb;color:#0877b2}
.erlang-summary{background:#173f9f}.erlang-summary .highlight{background:#ffe04b;color:#17326f}.erlang-summary .highlight span{color:#6b5915}
.data-table th,.team-table th,.template-table th,.settings-access-table th,.schedule-row.header .schedule-cell{border-color:#dce6f3;background:#f3f7fc;color:#6e80a2}
.data-table tr:hover td,.team-table tr:hover td{background:#f5f9ff}
.schedule-row.footer .schedule-cell{border-color:rgba(255,255,255,.1);background:#153f9d}.schedule-row.footer .future-total{background:#123987}
.shift-chip{border-color:#d1e1ef;background:#eef6fc;color:#17508a}.shift-chip:hover{border-color:#69b5d8;background:#e7f5fd}
.combined-shift .plan-line i{background:#e8eef6;color:#627393}.combined-shift .fact-line i{background:#dce6ff;color:#3558bd}.combined-shift .fact-line b{color:#14366f}
.future-plan-shift{border-color:#d6e4f0;background:#eff6fc}.future-plan-shift .plan-only-line i{background:#dbe9f4;color:#3f668d}.future-plan-shift .plan-only-line b{color:#174371}
.date-header.today-date{background:#e1f4ff!important;box-shadow:inset 0 -2px #138ac6}.date-header.today-date small{color:#0878b5}
.coverage-under{background:#ffe0e5}.coverage-ok{background:#ddf4f8}.coverage-over{background:#fff0d2}
.schedule-selection-bar{border-color:#b9d7eb;background:#eef8ff}
.chart-tooltip,.toast{background:#173f9e}.toast span{background:#ffe047;color:#153277}
.solver-note{background:#eff6fb}.solver-note i{background:#d8edf7;color:#176ba4}.solver-note p{color:#58728a}
.permission-toggle.enabled{color:#116fb0}.permission-toggle.enabled i{background:#2466d1}
.settings-team-mark,.integration-card.connected .integration-mark{background:#dff4fa;color:#0d77b1}
.production-month.active{border-color:#63b9dd;background:#edf9ff}
.auth-gate{background:linear-gradient(145deg,#f6faff,#eaf3fb)}

/* WFM process clarity: solver inputs, schedule formation and forecast safeguards */
.solver-process-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.solver-process-strip article{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.solver-process-strip article:not(:last-child)::after{content:'→';position:absolute;right:-9px;top:50%;transform:translateY(-50%);z-index:1;color:#6d8a82;background:var(--bg);border-radius:50%;padding:2px}.solver-process-strip b,.solver-process-strip span{display:block}.solver-process-strip b{font-size:11px;color:var(--green)}.solver-process-strip span{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.4}.solver-cycle-control,.schedule-formation-control{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px}.solver-cycle-control input,.schedule-formation-control input{height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px;color:var(--ink);font:600 11px Manrope}.solver-result-actions{display:flex;align-items:center;gap:12px}.solver-bars{height:auto!important;display:block!important;padding:0 20px 20px!important}.solver-hourly-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.solver-hourly-summary article{border:1px solid var(--line);background:#f7faf9;border-radius:10px;padding:10px 12px}.solver-hourly-summary span,.solver-hourly-summary b{display:block}.solver-hourly-summary span{font-size:8px;color:var(--muted)}.solver-hourly-summary b{font-size:15px;margin-top:3px}.solver-hourly-summary .danger b{color:var(--red)}.solver-hourly-summary .warning b{color:#b87515}.solver-chart-legend{display:flex;gap:18px;justify-content:flex-end;font-size:9px;color:var(--muted);margin:0 0 8px}.solver-chart-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-2px}.solver-chart-legend .need{background:#dbe7e3}.solver-chart-legend .plan{background:#1496c8}.solver-hourly-chart{height:210px;display:flex;align-items:flex-end;gap:5px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 8px 22px}.solver-hour{position:relative;flex:1;height:100%;min-width:18px;display:flex;align-items:flex-end;justify-content:center}.solver-hour>i{position:absolute;bottom:0;border-radius:4px 4px 0 0}.solver-hour .need-bar{width:84%;background:#dbe7e3}.solver-hour .cover-bar{width:48%;z-index:1}.solver-hour label{position:absolute;bottom:-18px;font-size:7px;color:var(--muted)}.solver-hour b,.solver-hour em{display:none}.schedule-controls{flex-wrap:wrap}.schedule-formation-control{min-width:155px}.schedule-stats{grid-template-columns:repeat(6,minmax(0,1fr))!important}.forecast-recalc-preview em{display:block;margin-top:8px;color:#8a651e;font-size:9px;font-style:normal;line-height:1.5}.forecast-recalc-months label.disabled{opacity:.42;cursor:not-allowed}.forecast-recalc-months label.disabled input{cursor:not-allowed}

/* Employee-specific schedule generation */
.employee-schedule-build{border:1px solid #cbdced;border-radius:12px;background:#f3f8fd;padding:13px 14px}.employee-schedule-build>div{display:flex;align-items:flex-end;gap:12px}.employee-schedule-build label{flex:1}.employee-schedule-build label span{display:block;margin-bottom:6px;font-weight:800;color:var(--ink)}.employee-schedule-build input{width:100%;height:40px}.employee-schedule-build button{height:40px;white-space:nowrap}.employee-schedule-build>small{display:block;margin-top:8px;color:#536581;line-height:1.5}.employee-schedule-build[hidden]{display:none!important}

/* Desktop readability pass */
:root{--muted:#536581}
@media(min-width:901px){
  body{font-size:15px;line-height:1.45}
  .nav-item{font-size:13.5px}.side-user strong{font-size:12px}.side-user small,.brand small{font-size:10px}
  .page-heading p{font-size:14px}.eyebrow,.quick-kicker{font-size:10.5px!important}.status-chip{font-size:11px}
  .primary-btn,.soft-btn,.export-btn,.upload-btn{font-size:12.5px;height:40px}.role-switch span,.role-switch select,.select-control,.legend select{font-size:12px}
  .panel-head h2{font-size:16px}.panel-head p{font-size:11.5px;line-height:1.5}.legend,.chart-legend,.schedule-legend{font-size:10.5px}
  .kpi-top>span{font-size:11px}.kpi-top em{font-size:10px}.kpi-card>small,.kpi-foot small{font-size:10.5px;line-height:1.45}
  .data-table{font-size:12px}.data-table th,.team-table th,.template-table th,.settings-access-table th{font-size:10.5px}.data-table td,.team-table td,.template-table td{font-size:12px}.data-table input{font-size:12px}
  .parameter-card>span{font-size:11.5px}.parameter-card small,.erlang-summary span{font-size:10px}.profile-row,.profile-row input{font-size:10.5px}
  .solver-settings label>span,.constraint-grid label>span{font-size:11px}.solver-settings select,.solver-settings input[type=number],.constraint-grid select,.constraint-grid input{font-size:11.5px}.solver-settings label small,.constraint-grid small,.solver-note p{font-size:9.5px}.solver-process-strip b{font-size:12px}.solver-process-strip span{font-size:10.5px}.solver-hourly-summary span,.solver-chart-legend,.solver-hour label{font-size:9.5px}.shift-row{font-size:11.5px}.shift-time small,.solver-score span{font-size:10px}
  .segmented button{font-size:10.5px}.month-schedule-label span{font-size:11px!important}.plan-fact-legend{font-size:10.5px!important}
  #view-schedule .schedule-row.header .schedule-cell{font-size:10px}#view-schedule .schedule-row.header .schedule-cell b{font-size:11px}#view-schedule .employee-cell b{font-size:10.5px!important}#view-schedule .employee-cell small{font-size:9px!important}#view-schedule .employee-cell em{font-size:8.5px!important;line-height:1.35}#view-schedule .combined-shift .plan-line b,#view-schedule .combined-shift .fact-line b,#view-schedule .future-plan-shift .plan-only-line b{font-size:10px!important}#view-schedule .schedule-row.footer>.schedule-cell span{font-size:9px}#view-schedule .schedule-row.footer>.schedule-cell b{font-size:10px}.schedule-stats article{font-size:10.5px}.schedule-stats b{font-size:13px}
  .employee-form-grid label>span,.employee-shift-field>span,.employee-interval-head b,.employee-section-title b{font-size:12px}.employee-form-grid input,.employee-form-grid select,.employee-form-grid textarea{font-size:12px}.employee-form-grid small,.employee-section-title small,.vacation-editor-head small{font-size:10.5px;line-height:1.45}
  .report-card p,.settings-card p,.operator-profile-content p{font-size:11.5px;line-height:1.5}.report-card button{font-size:11.5px}
  .calendar-week span{font-size:9px}.calendar-day{font-size:10px}.calendar-day b{font-size:7px}.calendar-note p,.chart-insight p,.empty-state p{font-size:10.5px}
  .chart-tooltip,.toast{font-size:11px}.flow-steps b{font-size:10.5px}.flow-steps small{font-size:9.5px}
}

/* Операторский дашборд из однодневных почасовых отчётов. */
.operator-shift-dashboard{margin:18px 0}.operator-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}.operator-dashboard-head h2{margin:3px 0 4px;color:#102d59;font-size:20px}.operator-dashboard-head p{margin:0;color:var(--muted);font-size:10px}.operator-dashboard-head label{display:flex;align-items:center;gap:9px;color:#667895;font-size:9px;font-weight:800}.operator-shift-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.operator-shift-kpis article{position:relative;min-height:91px;border:1px solid #dce6f2;border-radius:12px;background:linear-gradient(145deg,#fff,#f5f9ff);padding:13px 13px 11px;overflow:hidden}.operator-shift-kpis article:after{content:"";position:absolute;width:54px;height:54px;right:-18px;bottom:-22px;border-radius:50%;background:#e5f1ff}.operator-shift-kpis i{width:27px;height:27px;border-radius:8px;background:#e4efff;color:#2165c0;display:grid;place-items:center;font-style:normal;font-weight:900}.operator-shift-kpis span,.operator-shift-kpis strong{display:block}.operator-shift-kpis span{margin-top:8px;color:#697c99;font-size:9px;font-weight:700}.operator-shift-kpis strong{margin-top:2px;color:#102f5f;font-size:21px}.operator-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:12px;margin-bottom:12px}.operator-ranking-panel,.operator-stars-card,.ticket-save-card,.operator-daily-table-panel{min-height:0!important}.operator-total-badge{align-self:center;border-radius:99px;background:#e5f1ff;color:#1b5eae;padding:6px 10px;font-size:10px}.operator-ranking-list{padding:0 18px 15px}.operator-ranking-row{display:grid;grid-template-columns:25px minmax(180px,1fr) minmax(120px,1.2fr) 42px;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #e8edf4}.operator-rank{width:22px;height:22px;border-radius:7px;background:#edf3fb;color:#507098;display:grid;place-items:center;font-size:8px;font-weight:900}.operator-ranking-row>div b,.operator-ranking-row>div small{display:block}.operator-ranking-row>div b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18375f;font-size:10px}.operator-ranking-row>div small{margin-top:3px;color:#8290a4;font-size:8px}.operator-shift-chip{display:inline-block;margin-right:6px;border-radius:99px;padding:2px 5px;font-style:normal;font-size:7px}.operator-shift-chip.day{background:#fff1ce;color:#95620e}.operator-shift-chip.night{background:#e8eafb;color:#5357a4}.operator-rank-bar{height:7px;border-radius:99px;background:#e9eff6;overflow:hidden}.operator-rank-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#286ad0,#18a6be)}.operator-ranking-row>strong{text-align:right;color:#163967;font-size:11px}.operator-highlight-column{display:grid;grid-template-rows:auto auto;gap:12px}.operator-stars-card,.ticket-save-card{padding:16px}.operator-stars-card h2,.ticket-save-card h2{margin:3px 0 12px;color:#17365e;font-size:14px}.operator-stars-card>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.operator-stars-card article{display:flex;align-items:flex-start;gap:8px;border:1px solid #e2e9f2;border-radius:10px;background:#f8fbff;padding:10px}.operator-stars-card article>i{font-style:normal;font-size:19px}.operator-stars-card article span,.operator-stars-card article b,.operator-stars-card article small{display:block}.operator-stars-card article span{color:#7b879b;font-size:8px}.operator-stars-card article b{margin-top:4px;color:#15355e;font-size:9px;line-height:1.4}.operator-stars-card article small{margin-top:3px;color:#1e82a0;font-size:7px;font-weight:800}.ticket-save-card{border-color:#f0dcae;background:linear-gradient(145deg,#fffdf7,#fff8e8)}.ticket-save-values{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ticket-save-values span{border-radius:8px;background:rgba(255,255,255,.8);padding:8px;color:#826b3f;font-size:7px}.ticket-save-values b{display:block;margin-top:3px;color:#8a641c;font-size:15px}.ticket-save-card p{margin:10px 0 0;color:#8a7550;font-size:8px;line-height:1.5}.operator-daily-table-panel{overflow:hidden}.operator-daily-table{min-width:820px}.operator-daily-table th:last-child,.operator-daily-table td:last-child{background:#f2f7fd}.operator-daily-table td strong{color:#1759a9}.operator-shift-divider td{padding:8px 14px!important;background:#edf4fc!important;color:#34567e;font-size:9px;font-weight:900}.operator-shift-divider.night td{background:#f0f0fa!important;color:#56598f}.operator-shift-divider span{margin-right:6px;font-size:13px}.operator-shift-divider b{float:right;color:#7b8da5;font-size:8px}.operator-shift-empty{min-height:0!important;margin:16px 0;padding:20px}.operator-shift-empty h2{margin:3px 0 6px;font-size:16px}.operator-shift-empty p{margin:0;color:var(--muted);font-size:10px}@media(max-width:1100px){.operator-shift-kpis{grid-template-columns:repeat(3,1fr)}.operator-dashboard-grid{grid-template-columns:1fr}.operator-highlight-column{grid-template-columns:1fr 1fr;grid-template-rows:auto}}@media(max-width:700px){.operator-dashboard-head{align-items:flex-start;flex-direction:column}.operator-shift-kpis{grid-template-columns:1fr 1fr}.operator-highlight-column{grid-template-columns:1fr}.operator-ranking-row{grid-template-columns:25px 1fr 38px}.operator-rank-bar{grid-column:2/-1}.operator-stars-card>div{grid-template-columns:1fr}}

/* Service-wide readability and responsive report header. */
html,body{max-width:100%;overflow-x:hidden}body,button,input,select,textarea{font-family:Inter,"Segoe UI",sans-serif}.view,.reports-top,.reports-import-slot,.helpdesk-upload-grid,.helpdesk-upload-card{min-width:0}.reports-top.has-import{grid-template-columns:minmax(390px,.6fr) minmax(0,1.4fr);gap:16px}.reports-import-slot{width:100%}.reports-import-slot .helpdesk-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-import-slot .helpdesk-upload-card{grid-template-columns:minmax(0,1fr) 130px;grid-template-areas:"info action" "file action";gap:4px 8px;padding:8px 9px}.reports-import-slot .helpdesk-upload-card>div:first-child{grid-area:info;min-width:0}.reports-import-slot .helpdesk-last-file{grid-area:file;min-width:0}.reports-import-slot .helpdesk-upload-button{grid-area:action;align-self:stretch;width:130px;height:auto;min-height:48px;padding:0 8px;text-align:center}.reports-import-slot .helpdesk-upload-button b{white-space:nowrap}
@media(min-width:901px){body{font-size:16px;line-height:1.5}.nav-item{font-size:14px}.brand small,.side-user small{font-size:11px}.side-user strong,.help-card strong{font-size:13px}.help-card p,.help-card button{font-size:12px}.role-switch span,.role-switch select,.select-control,.legend select{font-size:13px}.export-btn,.primary-btn,.soft-btn,.upload-btn{font-size:13px}.page-heading p{font-size:14px!important}.eyebrow,.quick-kicker{font-size:11px!important}.status-chip{font-size:12px}.view p{font-size:13px!important;line-height:1.5}.view small{font-size:11px!important;line-height:1.45}.view label{font-size:12px!important}.view button,.view input,.view select,.view textarea{font-size:13px!important}.view table th{font-size:11px!important}.view table td{font-size:12px!important}.panel-head h2{font-size:17px}.panel-head p,.report-subhead p{font-size:13px!important}.report-subhead h2{font-size:20px}.reports-tabs button{height:42px;font-size:13px!important}.kpi-top>span,.report-kpis span,.activity-kpis span,.schedule-stats span{font-size:12px!important}.kpi-top em,.report-kpis small,.activity-kpis small,.schedule-stats small{font-size:11px!important}.data-table,.data-table td,.team-table td,.template-table td,.settings-access-table td{font-size:12.5px!important}.data-table th,.team-table th,.template-table th,.settings-access-table th{font-size:11px!important}.helpdesk-compact-head b{font-size:12px}.helpdesk-compact-head span{font-size:10px!important}.helpdesk-upload-card>div:first-child>span{font-size:9.5px!important}.helpdesk-upload-card h3{font-size:12px}.helpdesk-last-file b{font-size:10px}.helpdesk-last-file span{font-size:9px!important}.helpdesk-upload-button b{font-size:11px}.helpdesk-warning,.helpdesk-warning summary span,.helpdesk-warning p{font-size:11px!important}.operator-dashboard-head p,.operator-dashboard-head label{font-size:12px!important}.operator-shift-kpis span{font-size:12px!important}.operator-total-badge{font-size:12px}.operator-rank{font-size:10px}.operator-ranking-row>div b{font-size:12px}.operator-ranking-row>div small{font-size:11px!important}.operator-shift-chip{font-size:10px}.operator-ranking-row>strong{font-size:13px}.operator-stars-card h2,.ticket-save-card h2{font-size:16px}.operator-stars-card article span{font-size:11px!important}.operator-stars-card article b{font-size:12px}.operator-stars-card article small{font-size:10px!important}.ticket-save-values span{font-size:10px!important}.ticket-save-card p{font-size:11px!important}.operator-shift-divider td{font-size:11px!important}.operator-shift-divider b{font-size:10px}.calendar-week span{font-size:10px!important}.calendar-day{font-size:11px}.calendar-day b{font-size:9px}.solver-hour label{font-size:10px!important}.chart-tooltip,.toast{font-size:12px}#view-schedule .employee-cell b{font-size:11.5px!important}#view-schedule .employee-cell small{font-size:10.5px!important}#view-schedule .employee-cell em{font-size:10px!important}#view-schedule .schedule-row.header .schedule-cell{font-size:11px}#view-schedule .schedule-row.header .schedule-cell b{font-size:12px}#view-schedule .schedule-row.footer>.schedule-cell span{font-size:10px}#view-schedule .schedule-row.footer>.schedule-cell b{font-size:11px}}
@media(max-width:1450px){.reports-top.has-import{display:block}.reports-top.has-import .reports-tabs{margin-bottom:12px}.reports-import-slot{padding-top:0}}
@media(max-width:760px){.reports-import-slot .helpdesk-upload-grid{grid-template-columns:1fr}.reports-import-slot .helpdesk-upload-card{grid-template-columns:minmax(0,1fr) 125px}.reports-import-slot .helpdesk-upload-button{width:125px}}
