/* Hrusty Live. Светлый продуктовый UI в стиле дашборда на странице Hrusty. */
:root{--h-ink:#2f2d27;--h-muted:#7a7568;--h-faint:#a39d90;--h-line:#e7e2da;--h-bg:#faf9f6;--h-card:#fff;--h-side:#f1f0e9;--h-accent:#7448ff;--h-accent-ink:#6a45d8;--h-soft:#efe8ff;--h-ok:#3f7a52;--h-ok-bg:#e9f4ec;--h-warn:#9a6a14;--h-warn-bg:#fff1d9;--h-bad:#b2403a;--h-bad-bg:#fde9e6;--h-night:#3b3561;color-scheme:light}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:Manrope,'Golos Text',system-ui,sans-serif;color:var(--h-ink);background:var(--h-bg);font-size:14px;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
button:disabled{cursor:default;opacity:.55}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--h-accent);outline-offset:2px}
small{font-size:inherit}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.02em}
.h-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.h-root,.h-app{height:100%}
.h-app{display:grid;grid-template-columns:208px minmax(0,1fr);position:relative;overflow:hidden}

/* боковое меню */
.h-side{background:var(--h-side);border-right:1px solid var(--h-line);padding:22px 12px;display:flex;flex-direction:column;gap:22px;min-height:0}
.h-brand{display:flex;align-items:center;gap:9px;padding:0 8px;font-size:18px}
.h-brand i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--h-accent);color:#fff;font-style:normal;font-size:15px}
.h-brand b{font-weight:600}
.h-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow:auto}
.h-nav-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;color:#5f5a4f;font-size:13.5px;position:relative}
.h-nav-item i{font-style:normal;width:18px;text-align:center;color:#a49e8f}
.h-nav-item small{margin-left:auto;font-size:10px;color:#b0aa9b}
.h-nav-item:hover{background:#e9e7de}
.h-nav-item.is-active{background:#e5dbfa;color:var(--h-accent-ink);font-weight:600}
.h-nav-item.is-active i{color:var(--h-accent)}
.h-nav-dot{width:7px;height:7px;border-radius:50%;background:#f0a33a;margin-left:auto}
.h-org{padding:12px 10px 0;border-top:1px solid var(--h-line);font-size:12px;color:#6d685c;display:flex;flex-direction:column;gap:3px}
.h-org b{font-weight:600}
.h-org small{color:var(--h-faint);font-size:11px}

/* верхняя полоса и основная область */
.h-body{display:flex;flex-direction:column;min-width:0;min-height:0}
.h-top{display:flex;align-items:center;gap:14px;padding:12px 26px;border-bottom:1px solid var(--h-line);background:#fff;font-size:12.5px;color:var(--h-muted)}
.h-demo{padding:4px 8px;border-radius:6px;background:var(--h-warn-bg);color:var(--h-warn);font-size:11.5px}
.h-user{margin-left:auto;display:flex;align-items:center;gap:9px;color:var(--h-ink);line-height:1.25}
.h-user small{display:block;color:var(--h-faint);font-size:11px}
.h-main{flex:1;overflow:auto;padding:24px 26px 40px;outline:none;display:flex;flex-direction:column;gap:16px}
.h-main>*{flex-shrink:0}

.h-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.h-head small{display:block;font-size:12px;color:var(--h-faint);margin-bottom:6px}
.h-head h1{font-size:26px;letter-spacing:-.035em}
.h-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.h-pill{font-size:12px;color:var(--h-muted);border:1px solid var(--h-line);border-radius:8px;padding:8px 11px;background:#fff}

.h-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #ddd7cc;background:#fff;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:500;white-space:nowrap}
.h-btn:hover:not(:disabled){border-color:#bfb7a8}
.h-btn-primary{background:var(--h-accent);border-color:var(--h-accent);color:#fff}
.h-btn-primary:hover:not(:disabled){background:#6439f0;border-color:#6439f0}
.h-btn-block{width:100%;padding:12px}
.h-link{color:var(--h-accent-ink);font-weight:500;font-size:13px}

.h-seg{display:inline-flex;background:#efede6;border-radius:9px;padding:3px;gap:2px}
.h-seg button{padding:7px 12px;border-radius:7px;font-size:12.5px;color:#6a6559;display:flex;flex-direction:column;align-items:center;line-height:1.2}
.h-seg button small{font-size:10.5px;color:var(--h-faint)}
.h-seg button.is-active{background:#fff;color:var(--h-ink);font-weight:600;box-shadow:0 1px 3px #0000000f}
.h-seg-wide{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
.h-seg-wide button{padding:10px 6px}

.h-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;background:#f1efe9;color:#6b665a;font-size:11.5px;white-space:nowrap;font-weight:500}
.h-chip-ok{background:var(--h-ok-bg);color:var(--h-ok)}
.h-chip-warn{background:var(--h-warn-bg);color:var(--h-warn)}
.h-chip-bad{background:var(--h-bad-bg);color:var(--h-bad)}
.h-chip-purple{background:var(--h-soft);color:var(--h-accent-ink)}
.h-chips{display:flex;flex-wrap:wrap;gap:6px}

.h-ava{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#efe7fa;color:#7d5fb0;font-size:11px;font-weight:600}
.h-ava-sm{width:28px;height:28px;font-size:10px}
.h-ava-lg{width:56px;height:56px;font-size:18px}

.h-card{background:var(--h-card);border:1px solid var(--h-line);border-radius:14px;padding:18px}
.h-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.h-card-head h2{font-size:15px;font-weight:600}
.h-card-head small{font-size:12px;color:var(--h-faint)}

/* обзор */
.h-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.h-kpi{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--h-line);border-radius:12px;background:#fffdf9;transition:border-color .15s,transform .15s}
.h-kpi:hover{border-color:#c9b6f5;transform:translateY(-1px)}
.h-kpi>span{font-size:12px;color:var(--h-muted)}
.h-kpi b{font-size:26px;font-weight:500;letter-spacing:-.035em}
.h-kpi b span{font-size:14px;color:var(--h-faint);margin-left:3px;letter-spacing:0}
.h-kpi small{font-size:12px;color:var(--h-muted)}
.h-kpi.is-bad small{color:var(--h-bad)}
.h-kpi.is-ok small{color:var(--h-ok)}
.h-kpi.is-warn small{color:var(--h-warn)}
.h-grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}
.h-legend{font-size:12px;color:var(--h-muted);display:flex;align-items:center;gap:6px}
.h-legend i{width:7px;height:7px;border-radius:50%;background:var(--h-accent);display:inline-block;margin-left:6px}
.h-legend i.is-plan{background:#c9bcef}
.h-line{width:100%;height:auto;max-height:260px;display:block}
.h-line line{stroke:#eeeae2}
.h-line text{font-size:11px;fill:#a29c8e}
.h-line-area{fill:#f2edff}
.h-line-plan{fill:none;stroke:#c3b5ef;stroke-width:2;stroke-dasharray:5 4}
.h-line-fact{fill:none;stroke:var(--h-accent);stroke-width:2.5}
.h-line circle{fill:var(--h-accent)}
.h-line .h-line-label{font-size:14px;font-weight:700;fill:var(--h-accent)}
.h-bars{display:flex;flex-direction:column;gap:18px;margin-top:14px}
.h-bars div{display:grid;grid-template-columns:110px 1fr 44px;gap:10px;align-items:center;font-size:12.5px}
.h-bars span{color:var(--h-muted)}
.h-bars i{height:9px;border-radius:4px;background:#f0e9fb;overflow:hidden}
.h-bars b{display:block;height:100%;background:#9b79db;border-radius:4px}
.h-bars small{text-align:right;color:var(--h-muted)}
.h-note{font-size:12.5px;color:#7d6aa3;background:#f6f2ff;border-radius:8px;padding:10px 12px;margin:18px 0 0}
.h-attention{list-style:none;margin:0;padding:0}
.h-attention li+li{border-top:1px solid #f0ece5}
.h-attention a{display:flex;align-items:center;gap:12px;padding:11px 6px;border-radius:8px}
.h-attention a:hover{background:#faf8f3}
.h-attention i{font-style:normal;width:30px;height:30px;border-radius:8px;background:#f3f0ea;display:flex;align-items:center;justify-content:center;color:#8d8576;flex:0 0 auto}
.h-attention .h-att-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.h-attention b{font-weight:500;font-size:13.5px}
.h-attention small{font-size:12px;color:var(--h-faint)}
.h-attention em{font-style:normal;color:#c2bbad}

/* график */
.h-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:var(--h-muted)}
.h-summary>span:first-child{margin-right:6px}
.h-sched-card{padding:0;overflow:hidden}
.h-sched-wrap{overflow:auto;max-height:calc(100vh - 250px);min-height:420px}
.h-sched thead{position:sticky;top:0;z-index:4}
.h-sched tfoot{position:sticky;bottom:0;z-index:4;box-shadow:0 -1px 0 #ebe6dd}
.h-sched{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;font-size:12px}
.h-sched th,.h-sched td{border-bottom:1px solid #f0ece5;padding:4px;text-align:center;vertical-align:middle}
.h-sched thead th{background:#fbfaf7;font-weight:600;font-size:12px;padding:10px 4px;z-index:2}
.h-sched thead th small{display:block;font-weight:400;color:var(--h-faint);font-size:11px;margin-top:2px}
.h-sched thead th.is-weekend{color:#9b6f61}
.h-sched thead th.is-today{color:var(--h-accent-ink);background:#f4efff}
.h-sched tbody th,.h-sched tfoot th,.h-sched-corner{position:sticky;left:0;background:#fff;z-index:1;text-align:left;min-width:230px;border-right:1px solid #f0ece5}
.h-sched-corner{z-index:3!important;background:#fbfaf7!important;padding-left:14px!important}
.h-person{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:4px 8px;border-radius:8px}
.h-person:hover{background:#faf8f3}
.h-person span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.h-person b{font-weight:500;font-size:13px;white-space:nowrap}
.h-person small{color:var(--h-faint);font-size:11px;white-space:nowrap}
.h-person em{margin-left:auto;font-style:normal;display:flex;gap:3px}
.h-person em i{font-style:normal;font-size:10px;color:#8b7bb0;background:#f3eefc;border-radius:4px;padding:2px 4px}
.h-cell{position:relative;width:100%;min-width:62px;height:38px;border-radius:7px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;border:1px solid transparent;transition:transform .1s}
.h-cell:hover{transform:scale(1.04);border-color:#cdbff5}
.h-cell.is-day{background:#ece4ff;color:#5b3ac4}
.h-cell.is-night{background:var(--h-night);color:#e6e1ff}
.h-cell.is-off{color:#c1baab;font-weight:400}
.h-cell.is-off:empty::before{content:'·'}
.h-cell.is-cant{background:repeating-linear-gradient(135deg,#f6f3ec 0 5px,#efebe2 5px 10px);color:#a1998a;font-size:10.5px;font-weight:500}
.h-cell.is-nomed{background:#f6efee;color:#b8867f;font-size:10px;font-weight:500}
.h-cell.is-vac{background:#f4f2ec;color:#aaa395;font-size:10.5px;font-weight:500}
.h-cell.is-bad{outline:2px solid var(--h-bad);outline-offset:-2px}
.h-cell.is-past{opacity:.75}
.h-cell.is-absent{background:var(--h-bad-bg);color:var(--h-bad)}
.h-want{position:absolute;top:2px;right:4px;font-style:normal;font-size:9px;color:#9a7fe0;font-weight:700}
.h-cell.is-night .h-want{color:#c3b5ff}
.h-manual{position:absolute;bottom:1px;right:4px;font-style:normal;font-size:9px;opacity:.8}
.h-fact{position:absolute;top:2px;left:4px;font-style:normal;font-size:9px;color:var(--h-ok)}
.h-cell.is-night .h-fact{color:#9fe0b0}
.h-cell.is-absent .h-fact{color:var(--h-bad)}
.h-sum{font-weight:600;font-size:12px;white-space:nowrap;min-width:60px}
.h-sum small{display:block;font-weight:400;color:var(--h-faint);font-size:11px}
.h-sum.is-bad{color:var(--h-bad)}
.h-sched tfoot th{font-weight:600;font-size:12px;padding:10px 14px;background:#fbfaf7}
.h-sched tfoot th small{display:block;font-weight:400;color:var(--h-faint);font-size:11px}
.h-sched tfoot td{background:#fbfaf7}
.h-cov-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:38px;border-radius:7px;font-weight:600;color:var(--h-ok);background:var(--h-ok-bg);font-size:12px;line-height:1.1}
.h-cov-cell small{font-size:9.5px;font-weight:500}
.h-cov-cell.is-hole{background:var(--h-bad-bg);color:var(--h-bad);border:1px dashed #e3a49e}
.h-cov-cell.is-hole:hover{border-style:solid}
.h-cov-cell.is-req{background:var(--h-soft);color:var(--h-accent-ink);border-color:#c8b6f7}
.h-forecast td{color:var(--h-muted);font-size:11.5px;line-height:1.3}
.h-forecast td small{display:block;color:var(--h-faint)}
.h-legend-row{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;border-top:1px solid #f0ece5;font-size:11.5px;color:var(--h-muted)}
.h-legend-row span{display:flex;align-items:center;gap:6px}
.h-legend-row i{width:14px;height:14px;border-radius:4px;display:inline-block}
.h-legend-row i.is-day{background:#ece4ff}
.h-legend-row i.is-night{background:var(--h-night)}
.h-legend-row i.is-cant{background:repeating-linear-gradient(135deg,#f6f3ec 0 3px,#e5e0d4 3px 6px)}
.h-legend-row b{color:#8f78d6}

/* персонал */
.h-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.h-filters .h-seg button{flex-direction:row;gap:5px}
.h-select select,.h-search input{border:1px solid var(--h-line);background:#fff;border-radius:8px;padding:9px 11px;font-size:13px}
.h-search{margin-left:auto}
.h-search input{width:220px}
.h-check{display:flex;align-items:center;gap:7px;font-size:13px;color:#5f5a4f}
.h-check small{background:var(--h-warn-bg);color:var(--h-warn);border-radius:5px;padding:1px 6px;font-size:11px}
.h-check input{accent-color:var(--h-accent);width:16px;height:16px}
.h-table-card{padding:0;overflow:hidden}
.h-table-wrap{overflow:auto}
.h-table{width:100%;border-collapse:collapse;font-size:13px;min-width:600px}
.h-table-people{min-width:860px}
.h-table th{text-align:left;font-weight:500;font-size:12px;color:var(--h-faint);background:#fbfaf7;padding:11px 14px;position:sticky;top:0}
.h-table td{padding:10px 14px;border-top:1px solid #f0ece5;white-space:nowrap}
.h-table td small{color:var(--h-faint);font-size:11.5px;margin-left:3px}
.h-table td>small:only-child{margin:0}
.h-table tbody tr{cursor:pointer}
.h-table tbody tr:hover{background:#faf8f3}
.h-table td:nth-child(3) small{display:block;margin:2px 0 0}
.h-who{display:flex;align-items:center;gap:10px}
.h-who span{display:flex;flex-direction:column;line-height:1.3}
.h-who b{font-weight:500}
.h-who small{margin:0!important}
.h-meter{display:inline-block;width:56px;height:6px;border-radius:3px;background:#f0ece4;overflow:hidden;margin-right:8px;vertical-align:middle}
.h-meter i{display:block;height:100%;background:#9b79db}
.h-meter.is-low i{background:#e0a24a}
.h-empty{text-align:center;color:var(--h-muted);padding:30px!important}

/* боковая панель */
.h-scrim{position:absolute;inset:0;background:#1d1a1426;z-index:20;animation:h-fade .15s}
.h-drawer{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;z-index:21;box-shadow:-12px 0 40px #2a20400f;display:flex;flex-direction:column;animation:h-slide .2s ease-out}
.h-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 12px}
.h-drawer>header h2{font-size:19px;letter-spacing:-.03em}
.h-x{font-size:24px;line-height:1;color:var(--h-faint);width:32px;height:32px;border-radius:8px}
.h-x:hover{background:#f3f0ea}
.h-drawer-body{flex:1;overflow:auto;padding:0 22px 26px;display:flex;flex-direction:column;gap:16px}
.h-drawer section{display:flex;flex-direction:column;gap:9px}
.h-drawer h3{font-size:13px;font-weight:600;display:flex;gap:8px;align-items:baseline}
.h-drawer h3 small{font-weight:400;color:var(--h-faint);font-size:12px}
.h-sub{margin:-6px 0 0;color:var(--h-muted);font-size:13px}
.h-muted{margin:0;color:var(--h-muted);font-size:12.5px;line-height:1.45}
.h-why{margin:0;font-size:12.5px;line-height:1.45;background:#f6f2ff;color:#5b468e;padding:10px 12px;border-radius:8px}
.h-warn{margin:0;font-size:12.5px;line-height:1.45;background:var(--h-bad-bg);color:var(--h-bad);padding:10px 12px;border-radius:8px}
.h-okay{margin:0;font-size:12.5px;background:var(--h-ok-bg);color:var(--h-ok);padding:10px 12px;border-radius:8px}
.h-violation{background:var(--h-warn-bg);border-radius:10px;padding:12px;font-size:12.5px;color:#7d5612;display:flex;flex-direction:column;gap:8px}
.h-violation ul{margin:0;padding-left:18px}
.h-violation label{display:flex;flex-direction:column;gap:6px}
.h-violation textarea{border:1px solid #ead2a4;border-radius:8px;padding:9px;background:#fff;resize:vertical;font-size:13px}
.h-violation textarea.is-required{border-color:var(--h-bad);box-shadow:0 0 0 3px #b2403a1a}
.h-dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.h-dl div{border:1px solid var(--h-line);border-radius:9px;padding:10px}
.h-dl dt{font-size:11.5px;color:var(--h-faint);margin-bottom:4px}
.h-dl dd{margin:0;font-weight:600;font-size:13px}
.h-profile-head{display:flex;gap:14px;align-items:center}
.h-profile-head p{margin:0 0 7px;color:var(--h-muted);font-size:13px}
.h-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.h-stats div{border:1px solid var(--h-line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:3px}
.h-stats small{font-size:11px;color:var(--h-faint)}
.h-stats b{font-size:17px;font-weight:600;letter-spacing:-.02em}
.h-stats b.is-expired{color:var(--h-bad)}
.h-stats b.is-expiring{color:var(--h-warn)}
.h-stats b.is-ok{color:var(--h-ok)}
.h-stats span{font-size:11px;color:var(--h-muted)}
.h-docs,.h-skills,.h-cands,.h-reasons,.h-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.h-docs li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f2eee7;font-size:13px}
.h-docs small{color:var(--h-faint);font-size:12px}
.h-skills li{display:grid;grid-template-columns:90px 70px 1fr;gap:10px;align-items:center;padding:5px 0;font-size:13px}
.h-skills small{color:var(--h-faint);font-size:12px}
.h-lvl{display:flex;gap:3px}
.h-lvl b{flex:1;height:6px;border-radius:3px;background:#eeeae2}
.h-lvl[data-lvl="1"] b:nth-child(-n+1),.h-lvl[data-lvl="2"] b:nth-child(-n+2),.h-lvl[data-lvl="3"] b{background:#9b79db}
.h-mini-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.h-mini-week span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:7px;background:#f5f3ee;font-weight:600;font-size:12px;color:#b4ad9f}
.h-mini-week small{font-weight:400;font-size:10px;color:var(--h-faint)}
.h-mini-week .is-day{background:#ece4ff;color:#5b3ac4}
.h-mini-week .is-night{background:var(--h-night);color:#e6e1ff}
.h-mini-week .is-night small{color:#b9b2e0}
.h-mini-week .is-nomed{background:#f6efee;color:#b8867f}
.h-mini-week .is-cant{background:repeating-linear-gradient(135deg,#f6f3ec 0 4px,#ece8de 4px 8px)}
.h-progress{height:8px;border-radius:4px;background:#f0ece4;overflow:hidden}
.h-progress i{display:block;height:100%;background:#9b79db}
.h-progress.is-over i{background:#e0a24a}
.h-money{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline;border:1px solid var(--h-line);border-radius:10px;padding:12px;margin-top:4px}
.h-money span{font-size:12.5px;color:var(--h-muted)}
.h-money b{font-size:18px;font-weight:600;letter-spacing:-.02em}
.h-money small{grid-column:1/-1;font-size:11.5px;color:var(--h-faint)}
.h-cands li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f2eee7}
.h-cands span{flex:1;display:flex;flex-direction:column;line-height:1.3}
.h-cands b{font-weight:500;font-size:13px}
.h-cands small,.h-reasons small{color:var(--h-faint);font-size:12px}
.h-reasons li{display:flex;flex-direction:column;gap:2px;padding:7px 0;border-bottom:1px solid #f2eee7;font-size:13px}
.h-reasons b{font-weight:500}
.h-log li{padding:10px 0;border-bottom:1px solid #f2eee7;font-size:13px;line-height:1.45;display:flex;flex-direction:column;gap:3px}
.h-log small{color:var(--h-faint);font-size:11.5px}
.h-toast{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);background:#2b2838;color:#fff;padding:11px 16px;border-radius:10px;font-size:13px;z-index:30;box-shadow:0 10px 30px #0003;animation:h-up .2s;max-width:calc(100% - 32px)}


/* общие детали новых разделов */
.h-kpi.is-static{cursor:default}.h-kpi.is-static:hover{transform:none;border-color:var(--h-line)}
.h-pad{padding:16px 18px 0}.h-pad-x{margin:0 18px 16px!important}
.h-card-head .h-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.h-actions{display:inline-flex;gap:6px;flex-wrap:wrap}
.h-actions-end{display:flex;justify-content:flex-end}
.h-btn-sm{padding:5px 9px;font-size:12px}
.h-who-btn{text-align:left;border-radius:8px;padding:2px 6px 2px 0}
.h-who-btn:hover b{color:var(--h-accent-ink)}
.h-grid-ts{grid-template-columns:1.6fr 1fr;align-items:start}
.h-grid-tasks{grid-template-columns:1.25fr 1fr;align-items:start}
.h-grid-even{grid-template-columns:1fr 1fr}
.h-table-ts{min-width:620px}.h-table th{white-space:nowrap}
.h-flags{display:flex;flex-wrap:wrap;gap:4px;min-width:150px;white-space:normal}
.h-table-ts td small,.h-table-reg td small{display:block;margin:2px 0 0}
.h-table tbody tr:not([data-person]){cursor:default}
.h-table tbody tr:not([data-person]):hover{background:none}
.h-table tr.is-flag{background:#fffaf0!important}
.h-table-more td{color:var(--h-muted);font-size:12.5px;background:#fbfaf7}
.h-note-cell{white-space:normal!important;min-width:260px}
.h-note-cell .h-actions{margin-top:6px;display:flex}
.h-anom{display:block;color:var(--h-warn);font-size:12.5px}

/* табель: корректировки */
.h-corr{list-style:none;margin:0 0 10px;padding:0}
.h-corr li{display:flex;flex-direction:column;gap:10px;padding:12px 0;border-bottom:1px solid #f2eee7}
.h-corr b{font-weight:600;font-size:13px;display:block}
.h-corr small{color:var(--h-faint);font-size:12px}
.h-corr p{margin:6px 0 0;font-size:13px;line-height:1.45}
.h-corr .h-flag{color:var(--h-warn);font-size:12px}
.h-corr .h-actions{justify-content:flex-end}

/* задания: очереди */
.h-queues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.h-queue{background:#fff;border:1px solid var(--h-line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}
.h-queue.is-late{border-color:#efb7b0;background:#fffafa}
.h-queue header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.h-queue header b{font-weight:600}
.h-queue-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.h-queue-nums small{display:block;font-size:11px;color:var(--h-faint);margin-bottom:3px}
.h-queue-nums b{font-size:18px;font-weight:600;letter-spacing:-.02em}
.h-queue-nums b span{font-size:11px;color:var(--h-faint);margin-left:2px;font-weight:400}
.h-queue-bar{position:relative;height:8px;border-radius:4px;background:#f0ece4}
.h-queue-bar i{display:block;height:100%;border-radius:4px;background:#9b79db}
.h-queue.is-late .h-queue-bar i{background:#e0a24a}
.h-queue-bar em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--h-ink);border-radius:1px}
.h-queue footer{display:flex;justify-content:space-between;font-size:12px;color:var(--h-muted);gap:8px}
.h-rec{display:flex;flex-direction:column;gap:12px}
.h-move li{padding:6px 0}
.h-move label{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer}
.h-move input{accent-color:var(--h-accent);width:16px;height:16px}
.h-move .is-excluded label{cursor:default;opacity:.7}
.h-move .is-excluded small{color:var(--h-bad)}

/* партнёры */
.h-seg-sm button{padding:5px 10px;font-size:12px}
.h-claim{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.h-claim .h-muted{max-width:520px}

/* графики: один цвет, план — пунктиром */
.h-chart{width:100%;height:auto;max-height:240px;display:block}
.h-chart line{stroke:#eeeae2}
.h-chart text{font-size:11px;fill:#8f897c}
.h-chart-line{fill:none;stroke:var(--h-accent);stroke-width:2;stroke-linejoin:round}
.h-chart-pt circle:not(.h-chart-hit){fill:var(--h-accent);stroke:#fff;stroke-width:2}
.h-chart-hit{fill:transparent;stroke:none}
.h-chart-pt:hover circle:not(.h-chart-hit){r:6}
.h-chart-col path{fill:#9b79db}
.h-chart-col:hover path{fill:var(--h-accent)}
.h-chart .h-chart-target{stroke:#b9b2a3;stroke-dasharray:4 4}
.h-chart .h-chart-target-label{fill:#8f897c;font-size:10.5px}
.h-chart .h-chart-last{font-size:12px;font-weight:700;fill:var(--h-ink)}
.h-hbars{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.h-hbars div{display:grid;grid-template-columns:170px 1fr 70px;gap:12px;align-items:center;font-size:12.5px}
.h-hbars span{color:var(--h-muted)}
.h-hbars i{position:relative;height:10px;border-radius:4px;background:#f0e9fb}
.h-hbars b{display:block;height:100%;border-radius:4px;background:#9b79db}
.h-hbars em{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--h-ink);border-radius:1px;z-index:1}
.h-hbars small{text-align:right;color:var(--h-ink);font-weight:600}

@keyframes h-fade{from{opacity:0}}
@keyframes h-slide{from{transform:translateX(24px);opacity:0}}
@keyframes h-up{from{transform:translate(-50%,8px);opacity:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:1100px){.h-kpis{grid-template-columns:1fr 1fr}.h-grid-2{grid-template-columns:1fr}.h-queues{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
  .h-app{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .h-side{flex-direction:row;align-items:center;padding:8px 10px;gap:10px;border-right:0;border-bottom:1px solid var(--h-line);min-width:0}
  .h-brand b,.h-org{display:none}
  .h-brand{padding:0 2px}
  .h-nav{flex-direction:row;overflow-x:auto;scrollbar-width:none}
  .h-nav-item{white-space:nowrap;padding:8px 10px}
  .h-nav-item small,.h-nav-item i{display:none}
  .h-top{padding:10px 16px;flex-wrap:wrap;gap:8px}
  .h-top-date{display:none}
  .h-user small{display:none}
  .h-main{padding:18px 16px 32px}
  .h-head h1{font-size:22px}
  .h-search{margin-left:0;width:100%}.h-search input{width:100%}
  .h-sched tbody th,.h-sched tfoot th,.h-sched-corner{min-width:118px}
  .h-sched{min-width:640px}.h-cell{min-width:52px}
  .h-person .h-ava{display:none}.h-person b{white-space:normal;font-size:12.5px}
  .h-sched-wrap{max-height:none;min-height:0}
  .h-person small,.h-person em{display:none}
  .h-dl,.h-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.h-queues{grid-template-columns:1fr}.h-hbars div{grid-template-columns:110px 1fr 54px}}
@media(max-width:480px){.h-kpis{grid-template-columns:1fr}.h-kpi b{font-size:22px}.h-stats{grid-template-columns:1fr}.h-user span{display:none}}
.h-flags .h-chip{white-space:normal}
.h-corr>li>.h-chip{align-self:flex-start}

.h-cands .h-ava{flex:0 0 30px}
.h-grid-tasks .h-table{min-width:520px}
.h-grid-tasks .h-table td{padding:10px 12px}
.h-hbars+.h-muted,.h-hbars+.h-note{margin-top:16px}
