:root{
  /* основной фон — чисто белый; карточки и панели — светло-серые */
  --bg:#FFFFFF; --card:#F5F6FA; --card-2:#FFFFFF; --line:#E4E6EF; --line-strong:#D3D6E4;
  --ink:#171A2E; --ink-2:#4B5068; --muted:#6F7490; --faint:#9DA2BB;
  --solid:#171A2E; --logo:#171A2E;
  --accent:#4F46E5; --accent-2:#6366F1; --accent-soft:#EEF0FF; --accent-ink:#3730A3;
  --ok:#16A34A; --ok-soft:#DCFCE7; --warn:#D97706; --warn-soft:#FEF3C7; --bad:#DC2626; --bad-soft:#FEE2E2; --info:#2563EB; --info-soft:#DBEAFE;
  --r:16px; --r-sm:10px; --shadow:0 1px 2px rgba(23,26,46,.03),0 4px 14px rgba(23,26,46,.04);
  --font:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){ :root[data-theme="dark"], :root:not([data-theme="light"]){ --bg:#0F1120; --card:#181B2E; --line:#262A44; --line-strong:#343955; --ink:#F1F2F8; --ink-2:#C9CCE0; --muted:#9CA1BE; --faint:#6E7390; --accent-soft:#262A5A; --accent-ink:#C7CBFF; --ok-soft:#113A22; --warn-soft:#3D2A08; --bad-soft:#3F1414; --info-soft:#132A4D; --solid:#2F3456; --logo:#4F46E5; --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);} }
:root[data-theme="dark"]{ --bg:#0F1120; --card:#181B2E; --line:#262A44; --line-strong:#343955; --ink:#F1F2F8; --ink-2:#C9CCE0; --muted:#9CA1BE; --faint:#6E7390; --accent-soft:#262A5A; --accent-ink:#C7CBFF; --ok-soft:#113A22; --warn-soft:#3D2A08; --bad-soft:#3F1414; --info-soft:#132A4D; --solid:#2F3456; --logo:#4F46E5; }

*{box-sizing:border-box} html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none} button{font:inherit;color:inherit} input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em} h1{font-size:34px;line-height:1.15} h2{font-size:20px} h3{font-size:16px}
[dir=auto]{unicode-bidi:plaintext}
.muted{color:var(--muted)} .faint{color:var(--faint)} .small{font-size:13px} .tiny{font-size:12px} .bold{font-weight:600} .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.nowrap{white-space:nowrap} .right{text-align:right} .center{text-align:center}
.row{display:flex;align-items:center;gap:10px} .wrap{flex-wrap:wrap} .between{justify-content:space-between} .grow{flex:1;min-width:0} .col{display:flex;flex-direction:column;gap:8px}
.stack>*+*{margin-top:14px}

/* ---------- Шапка ---------- */
.topbar{position:sticky;top:0;z-index:20;background:var(--card);border-bottom:1px solid var(--line);padding:0 max(16px,env(safe-area-inset-left))}
.topbar-in{max-width:1640px;margin:0 auto;display:flex;align-items:center;gap:18px;height:60px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;white-space:nowrap}
.brand .logo{width:32px;height:32px;border-radius:9px;background:var(--logo);display:grid;place-items:center;color:#fff;font-weight:900;font-size:12px;letter-spacing:-.04em}
.brand-text b{font-weight:900;color:var(--ink);letter-spacing:-.03em} .brand-accent{font-weight:900;letter-spacing:-.03em;background:linear-gradient(90deg,#3B5BFF,#5B2BE6);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1} .nav::-webkit-scrollbar{display:none}
.nav a{padding:8px 12px;border-radius:9px;color:var(--ink-2);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent}
.nav a.active{color:var(--accent);background:var(--accent-soft)}
.menu-btn{display:none}
.topbar .icon-btn{position:relative}
.badge-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.user-chip{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;border:1px solid var(--line);background:var(--bg)}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.avatar.lg{width:52px;height:52px;font-size:20px;border-radius:14px;background:var(--accent-soft);color:var(--accent)}
.avatar.human{background:var(--ok-soft);color:var(--ok)}

/* ---------- Макет ---------- */
.page{max-width:1640px;margin:0 auto;padding:22px max(16px,env(safe-area-inset-right)) 60px max(16px,env(safe-area-inset-left))}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.page-head .sub{color:var(--muted);margin-top:4px;font-size:16px}
.grid{display:grid;gap:14px} .g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)} .g5{grid-template-columns:repeat(5,1fr)}
.g-main{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr)}
@media (max-width:1100px){.g4,.g5{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(2,1fr)} .g-main{grid-template-columns:1fr}}
@media (max-width:640px){.g2,.g3,.g5{grid-template-columns:1fr} .g4{grid-template-columns:repeat(2,1fr)} h1{font-size:26px} .page{padding-top:14px} .page-head{flex-direction:column} .topbar-in{gap:8px} .brand .brand-text{display:none}
  .nav{display:none} .menu-btn{display:grid} .metric{flex-direction:column;gap:8px} .metric .icon-tile{width:40px;height:40px} .metric .value{font-size:26px} .card{padding:14px}
  .composer{flex-direction:column} .composer .icon-tile{display:none} .composer select.input{width:100%!important;max-width:100%} .composer .btn.lg{width:100%;justify-content:center}
  .user-chip .small{display:none} .user-chip{padding:3px} .page-head .btn{width:100%;justify-content:center}}
@media (max-width:1200px){.menu-btn{display:grid}}
.menu-list{display:flex;flex-direction:column;gap:4px} .menu-list a{padding:12px 14px;border-radius:12px;font-weight:600;color:var(--ink)} .menu-list a.active{background:var(--accent-soft);color:var(--accent)}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px}
.card.pad-sm{padding:14px} .card.flat{box-shadow:none}
.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.card-title h2{font-size:18px}
.list{display:flex;flex-direction:column} .list>*+*{border-top:1px solid var(--line)}
.item{display:flex;gap:14px;align-items:center;padding:12px 0;cursor:pointer;min-width:0}
.item:hover .title{color:var(--accent)}
.item .title{font-weight:600;color:var(--ink)} .item .desc{color:var(--muted);font-size:13px}
.item .meta{font-size:12.5px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.icon-tile{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.icon-tile.ok{background:var(--ok-soft);color:var(--ok)} .icon-tile.warn{background:var(--warn-soft);color:var(--warn)} .icon-tile.bad{background:var(--bad-soft);color:var(--bad)}

/* ---------- Кнопки, поля ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--card);font-weight:600;cursor:pointer;white-space:nowrap;line-height:1.2}
.btn:hover{border-color:var(--accent-2);color:var(--accent)} .btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff} .btn.primary:hover{background:#4338CA;color:#fff}
.btn.lg{padding:13px 20px;font-size:16px;border-radius:14px} .btn.sm{padding:6px 10px;font-size:13px;border-radius:9px} .btn.ghost{border-color:transparent;background:transparent}
.btn.danger{color:var(--bad);border-color:var(--bad-soft)} .btn.danger:hover{background:var(--bad-soft)}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}
.field{display:flex;flex-direction:column;gap:6px} .field label{font-size:13px;font-weight:600;color:var(--ink-2)}
.input,textarea.input,select.input{width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:12px;background:var(--card);outline:none}
.input:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-soft)} textarea.input{min-height:110px;resize:vertical}
.check{display:flex;align-items:center;gap:8px;font-size:14px}
.seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;padding:8px 14px;border-radius:9px;font-weight:600;color:var(--muted);cursor:pointer}
.seg button.active{background:var(--card);color:var(--accent);box-shadow:var(--shadow)}
.tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none} .tabs::-webkit-scrollbar{display:none}
.tab{flex:1 0 auto;min-width:150px;text-align:center;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-weight:600;color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow)}
.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.tab .tiny{display:block;font-weight:500;opacity:.8;margin-top:2px}

/* ---------- Метрики ---------- */
.metric{display:flex;gap:14px;align-items:flex-start;cursor:pointer}
.metric .icon-tile{width:50px;height:50px}
.metric .label{color:var(--ink-2);font-size:14px;font-weight:500} .metric .value{font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:2px 0}
.metric .value small{font-size:18px;color:var(--muted);font-weight:600} .metric .hint{color:var(--muted);font-size:12.5px}
.bar{height:7px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:8px} .bar>i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .4s}
.bar.ok>i{background:var(--ok)} .bar.warn>i{background:var(--warn)}

/* ---------- Статусы ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap}
.pill.ok{background:var(--ok-soft);color:#166534} .pill.warn{background:var(--warn-soft);color:#92400E} .pill.bad{background:var(--bad-soft);color:#991B1B} .pill.info{background:var(--info-soft);color:#1E40AF} .pill.gray{background:var(--line);color:var(--ink-2)}
.pill.demo{background:#FDE68A;color:#78350F}
.dot{width:9px;height:9px;border-radius:50%;background:var(--faint);display:inline-block;flex:none} .dot.ok{background:var(--ok)} .dot.warn{background:var(--warn)} .dot.bad{background:var(--bad)} .dot.accent{background:var(--accent)}
.dot.pulse{box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:pulse 1.6s infinite} @keyframes pulse{70%{box-shadow:0 0 0 8px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}

/* ---------- Специалисты ---------- */
.people{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin}
.person{flex:0 0 190px;cursor:pointer;position:relative}
.person .avatar.lg{margin-bottom:10px} .person .name{font-weight:700;line-height:1.25} .person .kind{color:var(--muted);font-size:12.5px;margin:2px 0 8px}
.person .dot{position:absolute;top:14px;right:14px}
.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}

/* ---------- Таблица ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--r-sm);border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:14px} th{background:var(--accent);color:#fff;text-align:left;padding:11px 12px;font-weight:600;white-space:nowrap} td{padding:11px 12px;border-top:1px solid var(--line);vertical-align:top}
tr.clickable{cursor:pointer} tr.clickable:hover td{background:var(--accent-soft)}
.kanban{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px} .kanban .card{padding:12px}
.kanban .kcol-title{font-weight:700;margin-bottom:10px;display:flex;justify-content:space-between}
.kcard{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;cursor:pointer;background:var(--bg)}

/* ---------- Таймлайн ---------- */
.timeline{display:flex;flex-direction:column} .tl{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.tl .t{font-size:12px;color:var(--faint)} .tl .ico{width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:11px;font-weight:700}
.tl .ico.ok{background:var(--ok-soft);color:var(--ok)} .tl .ico.bad{background:var(--bad-soft);color:var(--bad)} .tl .ico.warn{background:var(--warn-soft);color:var(--warn)}
details.box{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg)} details.box summary{cursor:pointer;font-weight:600}
pre.block{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px;overflow:auto;font-size:12.5px;max-height:320px;white-space:pre-wrap;word-break:break-word}
.md{line-height:1.55} .md h1,.md h2,.md h3{margin:14px 0 6px} .md p{margin:8px 0} .md ul,.md ol{padding-left:22px} .md table{font-size:13.5px} .md th{background:var(--accent-soft);color:var(--accent-ink)} .md code{background:var(--bg);padding:1px 5px;border-radius:5px;font-size:13px}

/* ---------- Модальные окна ---------- */
.modal-back{position:fixed;inset:0;background:rgba(17,19,36,.45);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:40px 12px;overflow:auto}
.modal{background:var(--card);border-radius:20px;width:min(760px,100%);box-shadow:0 20px 60px rgba(0,0,0,.25);padding:22px}
.modal.wide{width:min(980px,100%)}
.modal h2{margin-bottom:4px} .modal .sub{color:var(--muted);margin-bottom:16px}
.dropzone{border:2px dashed var(--line-strong);border-radius:14px;padding:18px;text-align:center;color:var(--muted);cursor:pointer}
.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}
.files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
@media (max-width:640px){.modal-back{padding:0} .modal{border-radius:0;min-height:100vh}}

/* ---------- Прочее ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--solid);color:#fff;padding:12px 18px;border-radius:12px;z-index:99;width:max-content;max-width:calc(100vw - 32px);box-shadow:0 10px 30px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08)}
.toast.bad{background:var(--bad)}
.toast.warn{background:var(--warn)}
.empty{padding:28px;text-align:center;color:var(--muted)}
.login{min-height:100vh;display:grid;place-items:center;padding:20px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:14px} .kv dt{color:var(--muted)} .kv dd{margin:0}
.banner{padding:12px 14px;border-radius:12px;display:flex;gap:10px;align-items:flex-start;font-size:14px} .banner.warn{background:var(--warn-soft);color:#78350F} .banner.info{background:var(--info-soft);color:#1E3A8A} .banner.bad{background:var(--bad-soft);color:#7F1D1D} .banner.ok{background:var(--ok-soft);color:#14532D}
.chips{display:flex;flex-wrap:wrap;gap:6px} .chip{padding:4px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:12.5px}
.composer{display:flex;gap:14px;align-items:flex-start} .composer .icon-tile{width:56px;height:56px}
.composer textarea.input{min-height:54px}
.footer-note{color:var(--faint);font-size:12.5px;margin-top:18px}
.sr{position:absolute;left:-9999px}
.dir-card{cursor:pointer} .dir-card h3{margin-bottom:4px}
.steps{counter-reset:s} .step{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)} .step .n{width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.step.done .n{background:var(--ok-soft);color:var(--ok)} .step.bad .n{background:var(--bad-soft);color:var(--bad)}

/* ---------- Палитра направлений и департаментов ---------- */
:root{--c-production:#C2410C;--c-production-soft:#FFEDD5;--c-igaming:#7C3AED;--c-igaming-soft:#EDE9FE;--c-fintech:#0F766E;--c-fintech-soft:#CCFBF1;--c-personal:#15803D;--c-personal-soft:#DCFCE7;
  --c-management:#4F46E5;--c-management-soft:#EEF0FF;--c-strategy:#0369A1;--c-strategy-soft:#E0F2FE;--c-product:#BE185D;--c-product-soft:#FCE7F3;--c-marketing:#B45309;--c-marketing-soft:#FEF3C7;--c-finance:#047857;--c-finance-soft:#D1FAE5;--c-legal:#6D28D9;--c-legal-soft:#EDE9FE;--c-engineering:#1D4ED8;--c-engineering-soft:#DBEAFE;--c-people:#9F1239;--c-people-soft:#FFE4E6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c-production-soft:#3B2410;--c-igaming-soft:#2E1F5E;--c-fintech-soft:#0F3A36;--c-personal-soft:#113A22;--c-management-soft:#262A5A;--c-strategy-soft:#0C2F45;--c-product-soft:#4A1535;--c-marketing-soft:#3D2A08;--c-finance-soft:#0F3A2C;--c-legal-soft:#2E1F5E;--c-engineering-soft:#132A4D;--c-people-soft:#4A1120;--c-production:#FDBA74;--c-igaming:#C4B5FD;--c-fintech:#5EEAD4;--c-personal:#86EFAC;--c-strategy:#7DD3FC;--c-product:#F9A8D4;--c-marketing:#FCD34D;--c-finance:#6EE7B7;--c-legal:#C4B5FD;--c-engineering:#93C5FD;--c-people:#FDA4AF;--c-management:#C7CBFF}}
:root[data-theme="dark"]{--c-production-soft:#3B2410;--c-igaming-soft:#2E1F5E;--c-fintech-soft:#0F3A36;--c-personal-soft:#113A22;--c-management-soft:#262A5A;--c-strategy-soft:#0C2F45;--c-product-soft:#4A1535;--c-marketing-soft:#3D2A08;--c-finance-soft:#0F3A2C;--c-legal-soft:#2E1F5E;--c-engineering-soft:#132A4D;--c-people-soft:#4A1120;--c-production:#FDBA74;--c-igaming:#C4B5FD;--c-fintech:#5EEAD4;--c-personal:#86EFAC;--c-strategy:#7DD3FC;--c-product:#F9A8D4;--c-marketing:#FCD34D;--c-finance:#6EE7B7;--c-legal:#C4B5FD;--c-engineering:#93C5FD;--c-people:#FDA4AF;--c-management:#C7CBFF}
[data-hue]{--hue:var(--accent);--hue-soft:var(--accent-soft)}
[data-hue="production"]{--hue:var(--c-production);--hue-soft:var(--c-production-soft)} [data-hue="igaming"]{--hue:var(--c-igaming);--hue-soft:var(--c-igaming-soft)} [data-hue="fintech"]{--hue:var(--c-fintech);--hue-soft:var(--c-fintech-soft)} [data-hue="personal"]{--hue:var(--c-personal);--hue-soft:var(--c-personal-soft)}
[data-hue="management"]{--hue:var(--c-management);--hue-soft:var(--c-management-soft)} [data-hue="strategy"]{--hue:var(--c-strategy);--hue-soft:var(--c-strategy-soft)} [data-hue="product"]{--hue:var(--c-product);--hue-soft:var(--c-product-soft)} [data-hue="marketing"]{--hue:var(--c-marketing);--hue-soft:var(--c-marketing-soft)} [data-hue="finance"]{--hue:var(--c-finance);--hue-soft:var(--c-finance-soft)} [data-hue="legal"]{--hue:var(--c-legal);--hue-soft:var(--c-legal-soft)} [data-hue="engineering"]{--hue:var(--c-engineering);--hue-soft:var(--c-engineering-soft)} [data-hue="people"]{--hue:var(--c-people);--hue-soft:var(--c-people-soft)}
.icon-tile[data-hue],.avatar.lg[data-hue]{background:var(--hue-soft);color:var(--hue)}
/* Переключатели направлений без цветных обводок: активный — синий (по решению владельца 2026-10-23) */
.card[data-hue]{border-top:4px solid var(--hue)}
.bar[data-hue]>i{background:var(--hue)}
.person[data-hue] .name{color:var(--ink)} .person[data-hue] .kind{color:var(--hue)}
.pill[data-hue]{background:var(--hue-soft);color:var(--hue)}
.metric[data-tone="violet"] .icon-tile{background:#EDE9FE;color:#6D28D9} .metric[data-tone="blue"] .icon-tile{background:#DBEAFE;color:#1D4ED8} .metric[data-tone="teal"] .icon-tile{background:#CCFBF1;color:#0F766E} .metric[data-tone="amber"] .icon-tile{background:#FEF3C7;color:#B45309} .metric[data-tone="green"] .icon-tile{background:#DCFCE7;color:#15803D} .metric[data-tone="rose"] .icon-tile{background:#FFE4E6;color:#BE123C}
.metric[data-tone="violet"] .bar>i{background:#6D28D9} .metric[data-tone="blue"] .value{color:#1D4ED8} .metric[data-tone="violet"] .value{color:#6D28D9} .metric[data-tone="teal"] .value{color:#0F766E} .metric[data-tone="amber"] .value{color:#B45309} .metric[data-tone="green"] .value{color:#15803D} .metric[data-tone="rose"] .value{color:#BE123C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .metric[data-tone] .value{color:var(--ink)} :root:not([data-theme="light"]) .metric[data-tone] .icon-tile{background:var(--accent-soft);color:var(--accent-ink)}}
:root[data-theme="dark"] .metric[data-tone] .value{color:var(--ink)} :root[data-theme="dark"] .metric[data-tone] .icon-tile{background:var(--accent-soft);color:var(--accent-ink)}

/* ---------- Решения ---------- */
.decision{border:1px solid var(--line);border-left:4px solid var(--hue,var(--accent));border-radius:12px;padding:12px;margin-top:8px;display:flex;flex-direction:column;gap:8px;background:var(--card)}
.decision .kv{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:4px 12px} .decision .kv dt{color:var(--muted);font-weight:600} .decision .kv dd{margin:0}
.group-title{font-weight:700;margin-top:10px;display:flex;align-items:center;gap:8px}
.decision-actions > div{padding:0!important}
@media (max-width:640px){.decision .kv{grid-template-columns:1fr} .decision .kv dt{margin-top:4px}}

/* телефон: ничего не выходит за ширину экрана */
.grid>*{min-width:0} .card{min-width:0;overflow-wrap:anywhere} .md pre,.block{max-width:100%;overflow-x:auto} .step{flex-wrap:wrap} .step .grow{min-width:0;flex:1 1 160px} .grid{min-width:0}
@media (max-width:640px){.g-main{grid-template-columns:minmax(0,1fr)} .kv{grid-template-columns:1fr}}
@media (max-width:640px){.page-head{flex-wrap:wrap} .page-head>*{min-width:0;max-width:100%} .row.wrap>*{max-width:100%} .row.wrap>input.input,.row.wrap>textarea.input{width:100%} .stack>*{min-width:0;max-width:100%}}
@media (max-width:640px){.row:not(.nowrap){flex-wrap:wrap} .row>*{max-width:100%;min-width:0} .btn{white-space:normal;text-align:center}}

/* ========== Канбан (по макету): равномерные колонки, белые карточки, мягкие подложки ========== */
:root{--tone-gray:#F3F4F9;--tone-violet:#EEF0FF;--tone-amber:#FFF4D6;--tone-green:#E6F7EC;--tone-red:#FDE8E8;--tone-gray-t:#6B6F85;--tone-amber-t:#8A5A00;--tone-green-t:#166534;--tone-red-t:#B91C1C;--tone-violet-t:#3F3BBF}
:root[data-theme="dark"]{--tone-gray:#1A1C2E;--tone-violet:#1E2140;--tone-amber:#3A2E10;--tone-green:#11301E;--tone-red:#3A1818;--tone-gray-t:#A9ACC4;--tone-amber-t:#FCD34D;--tone-green-t:#86EFAC;--tone-red-t:#FCA5A5;--tone-violet-t:#C7D2FE}
.kanban-board{display:grid;grid-template-columns:repeat(7,minmax(215px,1fr));gap:12px;align-items:start;min-height:420px;overflow-x:auto;padding-bottom:6px}
.kcol{background:var(--tone-gray);border-radius:16px;padding:10px;display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 300px)} .kcol.tone-amber{background:var(--tone-amber)} .kcol.tone-green{background:var(--tone-green)} .kcol.tone-red{background:var(--tone-red)}
.kcol.over{outline:2px dashed var(--accent);outline-offset:-2px}
.kcol-title{display:flex;align-items:center;gap:8px;padding:4px 4px 10px;font-weight:800;font-size:15px;letter-spacing:-.01em;color:var(--ink)} .kcol.tone-amber .kcol-title{color:var(--tone-amber-t)} .kcol.tone-green .kcol-title{color:var(--tone-green-t)} .kcol.tone-red .kcol-title{color:var(--tone-red-t)}
.kcol-name{flex:1;min-width:0;line-height:1.2;overflow-wrap:anywhere;hyphens:auto} .kcol-count{background:var(--card);border-radius:999px;padding:2px 9px;font-size:13px;font-weight:700;color:var(--ink);box-shadow:var(--shadow)} .kcol-add{border:0;background:var(--card);width:28px;height:28px;border-radius:999px;font-size:18px;line-height:1;cursor:pointer;color:var(--ink);box-shadow:var(--shadow)} .kcol-add:hover{color:var(--accent)}
.kcol-body{display:flex;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:thin;padding:2px} .kcol.empty .kcol-body{min-height:60px}
.kcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 12px 10px;box-shadow:0 1px 2px rgba(20,22,60,.05);display:flex;flex-direction:column;gap:7px;min-width:0;cursor:pointer;transition:box-shadow .15s,transform .15s} .kcard:hover{box-shadow:0 6px 18px rgba(20,22,60,.10);transform:translateY(-1px)} .kcard.dragging{opacity:.5} .kcard.overdue{border-color:#FCA5A5}
.kcard-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dir-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--hue-soft,var(--accent-soft));color:var(--hue,var(--accent));font-size:12px;font-weight:600;line-height:1.3;max-width:100%} .dir-chip .dir-dot,.dir-dot{width:8px;height:8px;border-radius:50%;background:var(--hue,var(--accent));flex:none;display:inline-block}
.pill.sm{padding:2px 7px;font-size:11px}
.kcard-title{font-weight:700;font-size:15px;line-height:1.3;overflow-wrap:anywhere;color:var(--ink)}
.kcard-owner{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)} .kcard-owner svg{width:15px;height:15px;flex:none}
.kcard-pl{font-size:12.5px;color:var(--muted)} .kcard-pl b{color:var(--ink)} .kcard-progress .bar{margin-top:4px;height:6px}
.kcard-note{display:flex;align-items:center;gap:6px;border-radius:9px;padding:7px 9px;font-size:12.5px;font-weight:600} .kcard-note svg{width:15px;height:15px;flex:none} .kcard-note.amber{background:var(--tone-amber);color:var(--tone-amber-t)} .kcard-note.green{background:var(--tone-green);color:var(--tone-green-t)} .kcard-note.red{background:var(--tone-red);color:var(--tone-red-t)} .kcard-note span{overflow-wrap:anywhere}
.kcard-cta{width:100%;justify-content:space-between;font-size:13.5px;padding:9px 12px;white-space:normal;text-align:left}
.kcard-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;padding-top:8px;border-top:1px solid var(--line)} .kf{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap} .kf svg{width:14px;height:14px}
.avs{display:inline-flex} .av{width:24px;height:24px;border-radius:50%;background:var(--hue-soft,var(--accent-soft));color:var(--hue,var(--accent));border:2px solid var(--card);margin-left:-7px;font-size:10px;font-weight:700;display:inline-grid;place-items:center} .av:first-child{margin-left:0} .av.human{background:#DCFCE7;color:#166534} .av.more{background:var(--line);color:var(--muted)}
.bad-text{color:var(--bad)} .faint{color:var(--muted);opacity:.8}
@media (max-width:1000px){.kanban-board{grid-template-columns:repeat(7,230px)} .kcol{max-height:none}}
@media (max-width:640px){.kanban-board{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;min-height:0} .kcol{flex:0 0 86vw;scroll-snap-align:start} .kcol.empty{flex:0 0 150px}}

/* ========== Боковая панель задачи ========== */
.drawer-back{position:fixed;inset:0;background:rgba(18,19,24,.35);z-index:45;display:flex;justify-content:flex-end}
.drawer{width:min(640px,100%);height:100%;background:var(--card);box-shadow:-10px 0 40px rgba(0,0,0,.2);display:flex;flex-direction:column;animation:slidein .2s ease} @keyframes slidein{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.drawer-head{display:flex;gap:10px;align-items:flex-start;padding:16px 18px 10px;border-bottom:1px solid var(--line)} .drawer-head h2{font-size:20px;margin:6px 0 0;line-height:1.25;overflow-wrap:anywhere}
.drawer-tabs{display:flex;gap:2px;padding:6px 12px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none} .drawer-tabs button{border:0;background:transparent;padding:8px 12px;border-radius:9px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap} .drawer-tabs button.active{background:var(--accent-soft);color:var(--accent)}
.drawer-body{padding:14px 18px;overflow-y:auto;flex:1}
@media (max-width:640px){.drawer{width:100%} .drawer-head{padding:12px}}

/* ========== Календарь ========== */
.cal-root{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start} .cal-main{min-width:0;display:flex;flex-direction:column;gap:12px} .cal-side{display:flex;flex-direction:column;gap:12px}
.side-card{gap:8px;padding:14px} .side-card .btn{justify-content:center}
.gicon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--line);font-weight:900;color:#4285F4;font-size:14px}
.calchk{display:flex;align-items:center;gap:8px;font-size:14px;padding:3px 0} .calchk input{accent-color:var(--accent)}
.heb-big{font-size:28px;font-weight:700;line-height:1.1;text-align:right}
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap} .cal-nav{display:flex;align-items:center;gap:8px} .cal-title{text-align:center;min-width:220px} .cal-title b{font-size:20px}
.wgrid{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.wrow{display:grid;grid-template-columns:60px repeat(7,minmax(0,1fr));border-top:1px solid var(--line);min-height:52px} .wrow.whead{border-top:0;min-height:0} .wrow.wband{min-height:0;background:var(--bg)} .wrow.wallday{background:var(--bg);min-height:40px}
.wtime{font-size:12px;color:var(--muted);padding:6px 8px;border-right:1px solid var(--line);text-align:right}
.dhead{padding:8px 10px;border-left:1px solid var(--line);min-width:0} .dhead .dh-wd{font-size:12px;color:var(--muted)} .dhead .dh-d{font-weight:800;font-size:17px;line-height:1.2} .dhead .dh-h{font-size:12px;color:var(--muted)} .dhead.today .dh-d{color:var(--accent)} .dhead.rest{background:var(--tone-amber)}
.wband-in{grid-column:2 / -1;display:flex;flex-direction:column}
.hband{display:grid;gap:4px;padding:6px 6px 2px} .hseg{border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;min-width:0} .hseg>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0} .hseg.none{visibility:hidden;padding:0} .hseg.yomtov{background:#FDE68A;color:#78350F} .hseg.cholhamoed{background:#FEF3C7;color:#92400E} .hseg.fast{background:#E5E7EB;color:#374151} .hseg.minor{background:#DBEAFE;color:#1E40AF} .hstar{font-size:14px} .hhe{margin-left:auto;font-size:12px;opacity:.8;white-space:nowrap}
.srow{display:grid;padding:2px 6px 6px;gap:4px} .scell{font-size:11px;color:var(--ink-2);display:flex;flex-direction:column;gap:2px;min-width:0;padding:2px 4px;border-radius:6px} .scell.rest{background:var(--tone-amber)} .sc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcell{border-left:1px solid var(--line);padding:3px;display:flex;flex-direction:column;gap:3px;min-width:0} .wcell.off{background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(0,0,0,.02) 8px 9px)} .wcell.rest{background:var(--tone-amber)} .wcell.over{outline:2px dashed var(--accent);outline-offset:-2px}
.cev{display:flex;flex-direction:column;gap:1px;font-size:12px;line-height:1.25;padding:5px 7px;border-radius:7px;background:var(--hue-soft,var(--accent-soft));color:var(--ink);border-left:3px solid var(--hue,var(--accent));cursor:pointer;min-width:0} .cev-t{overflow-wrap:anywhere} .cev-sub{font-size:11px;color:var(--muted)} .cev.google{border-left-style:double}
.cev.overdue{border-left-color:var(--bad)} .cev-decision{background:var(--tone-amber)} .cev-task_forecast{opacity:.75;border-left-style:dashed} .cev-review{background:var(--tone-green)}
.cgrid.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px}
.cdow{font-size:12px;color:var(--muted);text-align:center;padding:4px 0;font-weight:600}
.cday{min-height:110px;border:1px solid var(--line);border-radius:10px;padding:5px;background:var(--bg);display:flex;flex-direction:column;gap:3px;min-width:0;cursor:pointer} .cday.other{opacity:.5} .cday.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)} .cday.over{outline:2px dashed var(--accent)} .cday.selected{background:var(--accent-soft)} .cday.rest{background:var(--tone-amber)}
.cday-top{display:flex;justify-content:space-between;gap:4px;align-items:baseline} .cday-n{font-size:14px;font-weight:800} .cday.today .cday-n{color:var(--accent)} .cday-h{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cday-hol{font-size:11px;font-weight:600;border-radius:6px;padding:2px 5px;background:#FDE68A;color:#78350F;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .cday-hol.cholhamoed{background:#FEF3C7} .cday-hol.minor{background:#DBEAFE;color:#1E40AF} .cday-hol.fast{background:#E5E7EB;color:#374151} .cday-hol.roshchodesh{background:#E0E7FF;color:#3730A3}
.cday-items{display:flex;flex-direction:column;gap:3px;min-width:0}
.cgrid.month .cev{flex-direction:row;padding:2px 5px;font-size:11px} .cgrid.month .cev-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .cgrid.month .cev-sub{display:none}
.agenda{display:flex;flex-direction:column;gap:10px} .agenda-day{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px} .agenda-date{font-weight:700;margin-bottom:6px} .agenda-date.today{color:var(--accent)}
.agenda-item{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);cursor:pointer} .agenda-item:first-of-type{border-top:0}
.icon-tile.sm{width:30px;height:30px;border-radius:8px} .icon-tile.sm svg{width:16px;height:16px}
.day-panel{margin-top:4px}
@media (max-width:1100px){.cal-root{grid-template-columns:1fr} .cal-side{flex-direction:row;flex-wrap:wrap} .cal-side .card{flex:1 1 260px}}
@media (max-width:640px){.cal-head{flex-direction:column;align-items:stretch} .cal-head .seg{flex:1} .cal-head .seg button{flex:1;padding:8px 6px} .cal-title{min-width:0}
  .cgrid.month{gap:2px;padding:4px} .cday{min-height:58px;padding:2px;border-radius:6px} .cday-h,.cday-hol{display:none} .cgrid.month .cev{padding:0;border:0;height:7px;width:7px;border-radius:50%;background:var(--hue,var(--accent))!important} .cgrid.month .cev-t{display:none} .cday-items{flex-direction:row;flex-wrap:wrap;gap:2px}
  .wgrid{overflow-x:auto} .wrow{grid-template-columns:44px repeat(7,120px)} .wtime{padding:4px} .dhead .dh-d{font-size:14px}}

/* ========== Большой экран ========== */
html.screen-mode body{background:var(--bg)} .screen{--scale:1.25;min-height:100vh;display:flex;flex-direction:column;font-size:calc(16px * var(--scale));zoom:var(--scale)}
.sbar{display:flex;align-items:center;gap:18px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.sbrand{display:flex;align-items:center;gap:8px;font-weight:900;font-size:18px} .sbrand .logo{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--logo);color:#fff;font-size:11px}
.sdirs{display:flex;gap:6px;flex-wrap:nowrap;overflow:hidden;flex:1;min-width:0;align-items:center} .sdirs .dir-chip{white-space:nowrap}
.sright{display:flex;align-items:center;gap:14px;margin-left:auto;white-space:nowrap} .sclock{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums} .sdate{font-size:14px;color:var(--muted)} .sheb{font-size:13px;color:var(--muted);max-width:260px;white-space:normal;line-height:1.2}
.sfresh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)} .sfresh .dot{width:9px;height:9px;border-radius:50%;background:#C7CAD9} .sfresh.ok .dot{background:var(--ok)} .sfresh.stale .dot{background:var(--bad)} .sfresh.stale{color:var(--bad)}
.screen-body{padding:14px 20px 24px;flex:1} .screen .kanban-board{min-height:calc(100vh - 120px);grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible} .screen .kcol{max-height:calc(100vh - 110px)} .screen .kcard-title{font-size:16px} .screen .cal-root{grid-template-columns:1fr}
.sset{position:fixed;right:20px;top:70px;width:360px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:14px;display:flex;flex-direction:column;gap:10px;z-index:20;font-size:14px;zoom:calc(1 / var(--scale))} .sset input[type=range]{width:100%}
@media (max-width:1100px){.sheb,.sdate{display:none}}
.screen-link{display:inline-flex;gap:6px} @media (max-width:1200px){.screen-link span{display:none}}

/* ========== Полная читаемость: ничего не обрезается, телефон и компьютер ========== */
.tabs{flex-wrap:wrap} .tab{flex:1 1 auto;min-width:150px} /* вкладки направлений переносятся, а не прячутся за край */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));overflow:visible}
@media (max-width:640px){.tabs{gap:6px} .tab{flex:1 1 calc(50% - 6px);min-width:0;padding:10px 10px;font-size:14px;border-radius:12px} .tab .tiny{display:none} .people{grid-template-columns:1fr 1fr}}
.kanban-board{grid-template-columns:repeat(7,minmax(190px,1fr))}
.hseg>span:nth-child(2){white-space:normal;overflow:visible;text-overflow:clip} .hhe{white-space:normal} .sc{white-space:normal;overflow:visible;text-overflow:clip}
.cday-hol{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2} .cgrid.month .cev-t{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere} .cday-h{font-size:11.5px;white-space:normal;overflow:visible;text-overflow:clip}
.agenda-item{flex-wrap:wrap} .agenda-item .grow{flex:1 1 200px;min-width:0}
/* адаптивная таблица задач: на телефоне строки становятся карточками с подписями */
@media (max-width:760px){
  .table-wrap{border:0;overflow:visible} .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%} .table-wrap thead{display:none}
  .table-wrap tr{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:10px;padding:8px 12px}
  .table-wrap td{border:0;padding:4px 0;white-space:normal!important;display:flex;gap:10px;align-items:flex-start} .table-wrap td::before{content:attr(data-label);color:var(--muted);font-size:12px;min-width:96px;flex:none;padding-top:2px}
  .table-wrap td:not([data-label])::before{content:none} .table-wrap td.empty{display:block}
  .table-wrap.numeric table{display:table;width:100%} .table-wrap.numeric tbody,.table-wrap.numeric tr,.table-wrap.numeric td,.table-wrap.numeric thead{display:revert} .table-wrap.numeric{overflow-x:auto;border:1px solid var(--line)} .table-wrap.numeric td::before{content:none}
}
/* большой экран на узком устройстве — без масштабирования, доска прокручивается */
@media (max-width:900px){.screen{zoom:1!important;font-size:16px} .sbar{flex-wrap:wrap;gap:8px;padding:8px 12px} .sright{margin-left:0;flex-wrap:wrap} .screen .kanban-board{display:flex;overflow-x:auto;min-height:0} .screen .kcol{flex:0 0 86vw;max-height:none} .screen .cal-root{display:block}}
@media (max-width:760px){.table-wrap td{flex-wrap:wrap} .table-wrap td>*{min-width:0;max-width:100%!important} .table-wrap td .pill{white-space:normal;height:auto} .table-wrap td.nowrap{white-space:normal!important}}

.agenda-day.rest{background:var(--tone-amber)} .agenda-day.today-day{border-color:var(--accent)}
@media (max-width:640px){.cal-head>.row{flex-direction:column;align-items:stretch;width:100%} .cal-head .seg{width:100%} .cal-head .btn.primary{width:100%;justify-content:center} .cal-nav{justify-content:space-between;width:100%} .cal-title b{font-size:17px}}

/* ========== Белая тема: белый фон, серые карточки; вложенные элементы — белые для контраста ========== */
:root:not([data-theme="dark"]) .topbar{background:#FFFFFF;border-bottom:1px solid var(--line)}
:root:not([data-theme="dark"]) .card{background:var(--card);border-color:var(--line);box-shadow:none}
:root:not([data-theme="dark"]) .card .card,:root:not([data-theme="dark"]) .card .box,:root:not([data-theme="dark"]) .card .item:hover{background:#FFFFFF}
:root:not([data-theme="dark"]) .input,:root:not([data-theme="dark"]) .seg,:root:not([data-theme="dark"]) .tab,:root:not([data-theme="dark"]) .btn:not(.primary):not(.danger){background:#FFFFFF}
:root:not([data-theme="dark"]) .seg button.active{background:var(--accent-soft)}
:root:not([data-theme="dark"]) .kcol{background:#F5F6FA} :root:not([data-theme="dark"]) .kcard{background:#FFFFFF}
:root:not([data-theme="dark"]) .wgrid,:root:not([data-theme="dark"]) .cgrid.month,:root:not([data-theme="dark"]) .agenda-day{background:#FFFFFF}
:root:not([data-theme="dark"]) .cday{background:#F7F8FB} :root:not([data-theme="dark"]) .wrow.wband,:root:not([data-theme="dark"]) .wrow.wallday{background:#F7F8FB}
:root:not([data-theme="dark"]) .drawer,:root:not([data-theme="dark"]) .modal,:root:not([data-theme="dark"]) .sset,:root:not([data-theme="dark"]) .sbar{background:#FFFFFF}
:root:not([data-theme="dark"]) .decision,:root:not([data-theme="dark"]) .kcard-block{background:#FFFFFF}
:root:not([data-theme="dark"]) .person{background:#F5F6FA} :root:not([data-theme="dark"]) .metric{background:#F5F6FA}
:root:not([data-theme="dark"]) .table-wrap{background:#FFFFFF} :root:not([data-theme="dark"]) .table-wrap tr{background:#FFFFFF}
:root:not([data-theme="dark"]) .kcol-count,:root:not([data-theme="dark"]) .kcol-add{background:#FFFFFF}
:root:not([data-theme="dark"]) .tab.active{background:var(--accent)!important;color:#fff;border-color:var(--accent)}
/* списки на узком экране: текст занимает всю ширину, статус и прогресс — под ним */
.card{overflow-wrap:break-word} .item>.grow{flex:1 1 200px;min-width:0} .item>.col{min-width:0}
@media (max-width:760px){.item{flex-wrap:wrap} .item>.grow{flex:1 1 calc(100% - 60px)} .item>.col{flex:1 1 100%;align-items:flex-start!important;min-width:0!important} .item .meta{flex-direction:column;gap:2px} .item>.btn,.item>a.btn{flex:0 0 auto}}
@media (max-width:760px){.item .meta>*,.item .pill{align-self:flex-start;width:auto}}

.user-chip{cursor:pointer} .user-chip:hover{background:var(--line)} .user-chip svg{width:16px;height:16px;opacity:.6}
.menu-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;background:transparent;border-radius:12px;font:inherit;color:var(--ink);text-align:left;cursor:pointer} .menu-row:hover{background:var(--line)} .menu-row svg{width:20px;height:20px;stroke:var(--muted);fill:none;stroke-width:1.8} .menu-row.danger{color:var(--bad)} .menu-row.danger svg{stroke:var(--bad)}

/* Хранилище файлов */
.crumbs{display:flex;align-items:center;gap:2px;flex-wrap:wrap;font-size:14px} .crumbs a{display:inline-flex;align-items:center;gap:5px;color:var(--accent);cursor:pointer;padding:3px 4px;border-radius:7px} .crumbs a:hover{background:var(--line)} .crumbs svg{width:16px;height:16px}
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:10px}
.folder-card,.file-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--bg);cursor:pointer;text-align:left;min-width:0;transition:border-color .15s,box-shadow .15s} .folder-card:hover,.file-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.folder-card .fc-ic svg{width:34px;height:34px;stroke:var(--accent);fill:none;stroke-width:1.6} .folder-card.sys .fc-ic svg{stroke:#8b8fa8}
.file-card .fc-ic{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#EEF0FF} .file-card .fc-ic svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.6}
.file-card .fc-ic.cat-image,.file-card .fc-ic.cat-video{background:#E9FBF0} .file-card .cat-image svg,.file-card .cat-video svg{stroke:#16A34A} .file-card .cat-contract svg,.file-card .fc-ic.cat-contract{background:#FEF3E8} .file-card .cat-contract svg{stroke:#D97706} .file-card .cat-table svg{stroke:#2563EB}
.fc-thumb{width:100%;height:92px;border-radius:10px;background-size:cover;background-position:center;background-color:var(--line)}
.fc-nm{font-weight:600;font-size:13.5px;line-height:1.25;overflow-wrap:anywhere;width:100%} .fc-meta{font-size:12px;color:var(--muted)} .fc-meta.tiny{font-size:11px}
.folder-card .pill.tiny{font-size:10px;padding:1px 7px;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis} .files-head{margin:16px 0 2px} .icon-tile.lg{width:52px;height:52px} .icon-tile.lg svg{width:26px;height:26px}

/* ---------- Тёмная тема: контраст активных состояний и ссылок ----------
   Индиго --accent (#4F46E5) как цвет ТЕКСТА на тёмных подложках не читается: активный раздел шапки, переключатель видов,
   вкладки панели задачи, ссылки, цветные метки. В тёмной теме активное состояние — белый текст на индиго, ссылки — светлый индиго. */
:root[data-theme="dark"] a{color:var(--accent-ink)}
:root[data-theme="dark"] .nav a.active,:root[data-theme="dark"] .menu-list a.active{background:var(--accent);color:#fff}
:root[data-theme="dark"] .nav a:hover{color:#fff}
:root[data-theme="dark"] .seg button.active{background:var(--accent);color:#fff;box-shadow:none}
:root[data-theme="dark"] .drawer-tabs button.active{background:var(--accent);color:#fff}
:root[data-theme="dark"] .item:hover .title,:root[data-theme="dark"] .btn:hover{color:var(--accent-ink)}
:root[data-theme="dark"] .btn.primary:hover{background:#6366F1;color:#fff}
:root[data-theme="dark"] .icon-tile,:root[data-theme="dark"] .tl .ico,:root[data-theme="dark"] .avatar.lg,:root[data-theme="dark"] .cday.today .cday-n{color:var(--accent-ink)}
:root[data-theme="dark"] .pill.ok{color:#86EFAC} :root[data-theme="dark"] .pill.warn{color:#FCD34D} :root[data-theme="dark"] .pill.bad{color:#FCA5A5} :root[data-theme="dark"] .pill.info{color:#93C5FD}
:root[data-theme="dark"] .pill.demo{background:#3D2A08;color:#FCD34D}
/* Информационные блоки в тёмной теме: светлый текст на тёмной подложке (иначе синий на синем) */
:root[data-theme="dark"] .banner.info{color:#BFDBFE} :root[data-theme="dark"] .banner.warn{color:#FDE68A} :root[data-theme="dark"] .banner.bad{color:#FECACA} :root[data-theme="dark"] .banner.ok{color:#BBF7D0}
:root[data-theme="dark"] .banner code{background:rgba(255,255,255,.08)}

/* ========== Телефон: компактные заголовки, вкладки-чипсы, фильтры в две колонки, ничего не вылезает за край ========== */
@media (max-width:640px){
  .page{overflow-wrap:break-word}
  h1{font-size:23px;line-height:1.2}
  .page-head{margin-bottom:12px;gap:10px} .page-head .sub{font-size:13px;line-height:1.35;margin-top:3px}
  .page-head>.row{display:flex;flex-wrap:wrap;gap:8px;width:100%}
  .page-head .btn,.page-head>.row>.btn{flex:1 1 calc(50% - 4px);width:auto;min-width:0;padding:10px 10px;font-size:14px}
  .tabs{gap:6px} .tab{flex:1 1 auto;min-width:0;padding:7px 11px;font-size:13px;line-height:1.25;border-radius:999px;box-shadow:none}
  .filters>.input{flex:1 1 calc(50% - 4px);width:auto;max-width:100%!important;min-width:0;padding:9px 10px}
  /* iOS увеличивает страницу при фокусе на поле со шрифтом меньше 16px — на телефоне все поля ввода 16px */
  .input,input.input,select.input,textarea.input,.chat-input{font-size:16px}
  .filters>input.input{flex:1 1 100%}
  .filters:not(.open)>select.input{display:none} .filters:not(.open)>select.input:first-of-type{display:block}
  .filters .seg{width:100%;display:flex} .filters .seg button{flex:1;padding:8px 4px;font-size:13px;white-space:nowrap}
  .page-head>.btn{flex-basis:auto;width:100%} .page-head>.row>.btn:only-child{flex-basis:100%}
  .card-title{flex-wrap:wrap;gap:6px} .card-title .pill{white-space:normal;height:auto;line-height:1.3;max-width:100%}
  .cal-title b{font-size:17px} .cal-title .tiny{font-size:11.5px}
  /* полоска «Как работает офис» на телефоне — столбиком */
  .onboard{flex-direction:column;align-items:stretch;gap:8px;padding:12px} .onboard-title{white-space:normal} .onboard-steps{flex-direction:column;gap:6px} .onboard .btn{margin-left:0;align-self:flex-start}
  .composer2 h2{font-size:19px} .composer2-head .small{display:none}
}
/* ========== Понятный офис: Главная, путь поручения, «что от вас нужно» ========== */
/* баннеры одной строкой */
.banner.line{padding:8px 12px;font-size:13px;align-items:center} .banner.line svg{width:16px;height:16px}
/* первое знакомство */
.onboard{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-radius:14px;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--line)}
.onboard-title{font-weight:700;white-space:nowrap} .onboard-steps{display:flex;gap:10px;flex-wrap:wrap;flex:1;min-width:0;font-size:14px}
.onboard-step{display:inline-flex;align-items:center;gap:6px} .onboard-step b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;flex:none}
.onboard .btn{margin-left:auto}
/* главная зона действия */
.composer2 .composer2-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px} .composer2 h2{font-size:22px}
.composer2 textarea.input{min-height:76px;font-size:16px} .composer2 .btn.lg{white-space:nowrap}
.examples{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px} .chip-btn{border:1px solid var(--line-strong);background:var(--bg);border-radius:999px;padding:5px 11px;font-size:12.5px;color:var(--ink-2);cursor:pointer;text-align:left;max-width:100%} .chip-btn:hover{border-color:var(--accent);color:var(--accent)}
.chip-link{font-size:13px;font-weight:600;white-space:nowrap}
.tabs.compact{gap:6px;padding-bottom:0} .tabs.compact .tab{flex:0 1 auto;min-width:0;padding:8px 14px;font-size:13.5px;border-radius:10px;box-shadow:none} .tabs.compact .tab .tiny{display:none}
/* путь поручения */
.pipe{display:flex;flex-direction:column;gap:8px;min-width:0}
.pipe-steps{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;gap:0}
.pipe-step{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;text-align:center}
.pipe-step::before{content:"";position:absolute;top:12px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0} .pipe-step:first-child::before{display:none}
.pipe-step.done::before,.pipe-step.cur::before{background:var(--accent)}
.pipe-dot{position:relative;z-index:1;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--card-2,#fff);border:2px solid var(--line-strong);color:var(--muted)}
.pipe-step.done .pipe-dot{background:var(--accent);border-color:var(--accent);color:#fff} .pipe-step.cur .pipe-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.pipe.tone-ok .pipe-step.cur .pipe-dot,.pipe.tone-ok .pipe-step.done .pipe-dot{background:var(--ok);border-color:var(--ok);color:#fff} .pipe.tone-ok .pipe-step.done::before,.pipe.tone-ok .pipe-step.cur::before{background:var(--ok)}
.pipe.waiting .pipe-step.cur .pipe-dot{border-color:var(--warn);color:var(--warn);box-shadow:0 0 0 4px var(--warn-soft)} .pipe.tone-bad .pipe-step.cur .pipe-dot{border-color:var(--bad);color:var(--bad);box-shadow:0 0 0 4px var(--bad-soft)}
.pipe.tone-gray .pipe-step.cur .pipe-dot{border-color:var(--faint);color:var(--faint);box-shadow:none}
.pipe-label{font-size:12px;color:var(--muted);line-height:1.15;overflow-wrap:anywhere} .pipe-step.cur .pipe-label{color:var(--ink);font-weight:700} .pipe-step.done .pipe-label{color:var(--ink-2)}
.pipe-text{font-size:14px;color:var(--ink-2);overflow-wrap:anywhere} .pipe-text>span{display:inline-flex;align-items:flex-start;gap:6px}
.pipe-flag{display:inline-flex;align-items:flex-start;gap:6px;padding:5px 10px;border-radius:9px;font-weight:600;background:var(--warn-soft);color:#92400E;border-left:3px solid var(--warn)} .pipe-flag.bad{background:var(--bad-soft);color:#991B1B;border-left-color:var(--bad)} .pipe-flag svg{width:16px;height:16px;flex:none;margin-top:1px}
.pipe.compact .pipe-dot{width:18px;height:18px;font-size:9.5px;border-width:1.5px} .pipe.compact .pipe-step::before{top:9px} .pipe.compact .pipe-label{font-size:10.5px} .pipe.compact .pipe-text{font-size:13px} .pipe.compact{gap:5px}
.pipe.compact .pipe-steps{max-width:560px}
.msteps{display:flex;flex-direction:column;gap:3px;min-width:0} .msteps-dots{display:inline-flex;gap:3px} .msteps-dots i{width:9px;height:9px;border-radius:50%;background:var(--line-strong);display:inline-block} .msteps-dots i.done{background:var(--accent)} .msteps-dots i.cur{background:var(--card);box-shadow:inset 0 0 0 2px var(--accent)}
.msteps.waiting .msteps-dots i.cur{box-shadow:inset 0 0 0 2px var(--warn)} .msteps.tone-bad .msteps-dots i.cur{box-shadow:inset 0 0 0 2px var(--bad)} .msteps.tone-ok .msteps-dots i{background:var(--ok)}
.msteps-text{font-size:12px;color:var(--muted);line-height:1.25;max-width:260px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} .msteps.waiting .msteps-text{color:#92400E;font-weight:600} .msteps.tone-bad .msteps-text{color:var(--bad)}
/* списки Главной */
.work-item{display:flex;flex-direction:column;gap:7px;padding:12px 0;cursor:pointer;min-width:0} .work-item:hover .title{color:var(--accent)}
.work-item .title{font-weight:700;color:var(--ink);font-size:15px} .work-item .meta{font-size:12.5px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.work-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.recent-item{display:flex;align-items:center;gap:10px;padding:9px 0;cursor:pointer;min-width:0} .recent-item .title{font-weight:600;font-size:14px;color:var(--ink)} .recent-item:hover .title{color:var(--accent)} .recent-item .desc{font-size:12px;color:var(--muted)}
/* плитки показателей */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px} .kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;min-width:0} .kpi:hover{border-color:var(--accent-2)}
.kpi .label{font-size:12.5px;color:var(--muted)} .kpi .value{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15} .kpi .value small{font-size:13px;color:var(--muted);font-weight:600} .kpi .hint{font-size:11.5px;color:var(--faint);overflow-wrap:anywhere} .kpi .bar{margin-top:6px;height:5px}
.kpi[data-tone="amber"] .value{color:#B45309} .kpi[data-tone="bad"] .value{color:var(--bad)} .kpi[data-tone="ok"] .value{color:#15803D}
/* руководители компактно */
.leaders{display:flex;gap:8px;flex-wrap:wrap} .leader{display:flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border:1px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer;min-width:0;max-width:100%} .leader:hover{border-color:var(--accent-2)}
.leader .avatar{width:30px;height:30px;font-size:12px;background:var(--hue-soft,var(--accent-soft));color:var(--hue,var(--accent));position:relative} .leader .avatar .dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border:2px solid var(--card)}
.leader>div{min-width:0;overflow:hidden} .leader-nm{font-weight:700;font-size:13.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px} .leader-rl{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px} .leader-ld{font-size:11.5px;color:var(--muted);white-space:nowrap;margin-left:4px} .leader .bar{width:48px;height:4px;margin:0;flex:none}
/* свёрнутый технический блок */
details.meter-box{padding:10px 14px} details.meter-box summary{color:var(--muted);font-size:13.5px} details.meter-box .card{border:0;box-shadow:none;padding:10px 0 0;background:transparent}
/* «Что от вас нужно» */
.need{border:1px solid #F5C77A;border-left:5px solid var(--warn);background:var(--card)} .need.bad{border-color:#FCA5A5;border-left-color:var(--bad)}
.need .card-title h2{display:flex;align-items:center;gap:8px} .need-why{font-size:15px;color:var(--ink);margin-bottom:6px;overflow-wrap:anywhere}
.need .list>*+*{border-top:1px solid var(--line)}
.now-line{display:flex;gap:10px;align-items:flex-start;font-size:14px} .now-line .dot{margin-top:6px} .now-line .tiny{display:block}
.ask{display:flex;flex-direction:column;gap:8px;padding:10px 0} .ask-title{font-weight:700;font-size:15px} .ask-text{font-size:14px;color:var(--ink-2);overflow-wrap:anywhere} .ask-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.ask-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:260px} .ask-btn .tiny{color:var(--muted);padding-left:2px;white-space:normal;text-align:left}
.pill.archived{background:var(--line);color:var(--ink-2)}
.log-more{margin-top:8px}
.help h2{margin-top:6px} .help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px} .help .card h3{display:flex;align-items:center;gap:8px;margin-bottom:6px} .help .card p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.5}
.help-path{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:14px} .help-path .step{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)} .help-path .step b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px}
.icon-btn.help-btn{font-weight:800;font-size:16px;color:var(--accent)}
/* живой офис: обращения сотрудников, рассказ о ходе работы, эффективность */
.inbox-list{display:flex;flex-direction:column;gap:10px} .inbox-card{gap:8px}
.inbox-head{display:flex;align-items:flex-start;gap:10px} .inbox-head .avatar{width:38px;height:38px;font-size:14px;border-radius:12px;background:var(--hue-soft,var(--accent-soft));color:var(--hue,var(--accent));flex:none}
.inbox-who{font-size:15px;line-height:1.2} .inbox-verb{font-size:13px;color:var(--ink-2);margin-top:2px} .inbox-verb a{font-weight:600}
.inbox-text{font-size:14.5px;color:var(--ink);line-height:1.45;overflow-wrap:anywhere} .inbox-reply{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg)} .inbox-reply textarea.input{min-height:72px}
.avatar.sm{width:28px;height:28px;font-size:11px;border-radius:9px;flex:none} .avatar.sm.owner{background:var(--solid);color:#fff}
.story{display:flex;flex-direction:column} .story-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)} .story-item:first-child{border-top:0}
.story-text{font-size:14px;line-height:1.4;overflow-wrap:anywhere} .story-item.ok .story-text{color:var(--ink)} .story-item.warn .story-text{color:#92400E} .story-item.bad .story-text{color:var(--bad)} .story-task{font-weight:600;white-space:nowrap}
.story-details{margin:4px 0 0;padding-left:18px;font-size:13px;color:var(--ink-2)} .story-details li{margin:2px 0}
.eff-line{font-size:14.5px;line-height:1.5} .eff-best{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.eff-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border:1px solid var(--line);border-radius:999px;background:var(--bg);cursor:pointer;font:inherit;text-align:left;max-width:100%} .eff-chip:hover{border-color:var(--accent)} .eff-nm{font-size:13px;min-width:0;overflow-wrap:anywhere}
details.admin-box{margin-top:4px} details.admin-box>summary{color:var(--muted);font-size:13px} details.admin-box .stack{margin-top:10px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .story-item.warn .story-text{color:#FCD34D}} :root[data-theme="dark"] .story-item.warn .story-text{color:#FCD34D}
:root:not([data-theme="dark"]) .inbox-reply,:root:not([data-theme="dark"]) .eff-chip{background:#FFFFFF}
@media (max-width:640px){.inbox-head{flex-wrap:wrap} .inbox-head>.tiny{width:100%;padding-left:48px}}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){
  .kpis{grid-template-columns:repeat(2,1fr)} .kpi .value{font-size:19px}
  .onboard{gap:8px} .onboard-steps{flex-direction:column;gap:4px} .onboard .btn{margin-left:0;width:100%;justify-content:center} .onboard-title{white-space:normal}
  .composer2 .btn.lg{width:100%;justify-content:center} .composer2 .row.wrap>select.input{width:100%!important} .examples .chip-btn{white-space:normal} .chip-link{white-space:normal}
  .pipe-label{font-size:10px} .pipe-dot{width:20px;height:20px;font-size:10px} .pipe-step::before{top:10px} .pipe.compact .pipe-label{font-size:9.5px} .pipe-text{font-size:13px}
  .leader{flex:1 1 100%;border-radius:14px} .leader-nm{white-space:normal;max-width:none} .leader-rl{max-width:none;white-space:normal} .leader .bar{display:none} .leader-ld{margin-left:auto}
  .composer2 .seg{display:flex;flex-wrap:wrap} .composer2 .seg button{flex:1 1 auto}
  .ask-btns{flex-direction:column} .ask-btns>*{width:100%} .ask-btn{max-width:none;width:100%} .ask-btn .btn{width:100%;justify-content:center}
  .work-top{flex-direction:column;align-items:flex-start} .msteps-text{max-width:none}
  /* список задач на телефоне: до нажатия «Фильтры» видны только поиск, «Активные», «Архив» и вид */
  .filters:not(.open)>select.input:not(.keep){display:none}
}
:root:not([data-theme="dark"]) .kpi,:root:not([data-theme="dark"]) .leader{background:#FFFFFF} :root:not([data-theme="dark"]) .onboard{background:var(--accent-soft)}
:root:not([data-theme="dark"]) .chip-btn{background:#FFFFFF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pipe-flag{color:#FCD34D} :root:not([data-theme="light"]) .pipe-flag.bad{color:#FCA5A5} :root:not([data-theme="light"]) .msteps.waiting .msteps-text{color:#FCD34D} :root:not([data-theme="light"]) .kpi[data-tone="amber"] .value{color:#FCD34D} :root:not([data-theme="light"]) .kpi[data-tone="ok"] .value{color:#86EFAC} :root:not([data-theme="light"]) .pipe-dot{background:var(--card)} :root:not([data-theme="light"]) .need{border-color:#6B4A12}}
:root[data-theme="dark"] .pipe-flag{color:#FCD34D} :root[data-theme="dark"] .pipe-flag.bad{color:#FCA5A5} :root[data-theme="dark"] .msteps.waiting .msteps-text{color:#FCD34D} :root[data-theme="dark"] .kpi[data-tone="amber"] .value{color:#FCD34D} :root[data-theme="dark"] .kpi[data-tone="ok"] .value{color:#86EFAC} :root[data-theme="dark"] .pipe-dot{background:var(--card)} :root[data-theme="dark"] .need{border-color:#6B4A12}

/* Кнопка-ссылка внутри текста карточек */
.link-btn{border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0;font:inherit;font-weight:600} .link-btn:hover{text-decoration:underline} :root[data-theme="dark"] .link-btn{color:var(--accent-ink)}

/* Участник поручения с кнопкой «отстранить» */
.chip-member{display:inline-flex;align-items:center;gap:6px} .chip-member a{color:inherit} .chip-x{border:0;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;padding:0 2px;border-radius:50%} .chip-x:hover{color:var(--bad)}

/* ========== Режим владельца «Только результат»: простая карточка задачи, панель «Показать работу», человеческие статусы ========== */
.status-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0} .status-sub{line-height:1.2}
.mode-switch{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)} .mode-switch .seg button{padding:7px 10px;font-size:13px}
:root:not([data-theme="dark"]) .mode-switch{background:#FFFFFF}
/* шапка карточки: факты «Направление · Ответственный» */
.facts{display:flex;flex-direction:column;gap:6px} .fact{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:15px;min-width:0} .fact-k{color:var(--muted);font-size:13px;min-width:120px;flex:none} .fact-v{min-width:0;overflow-wrap:anywhere} .fact-v a{color:inherit}
/* краткий результат */
.result-brief .excerpt{max-height:260px;overflow:hidden;position:relative;font-size:14px;color:var(--ink-2)} .result-brief .excerpt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:linear-gradient(to bottom,transparent,var(--card))}
.result-brief .assump{margin-top:10px;padding:8px 10px;border-left:3px solid var(--warn);background:var(--warn-soft);border-radius:8px;color:var(--ink)} .result-brief .assump p{margin:2px 0}
.need.soft{border-color:var(--line);border-left-color:var(--info)}
/* следующий шаг · расход */
.next-step{display:flex;flex-direction:column;gap:6px;font-size:15px} .next-step .spend-line{padding-left:19px}
.next-line{color:var(--ink-2);margin-top:2px} .next-line.waiting,.next-cell.waiting{color:#92400E;font-weight:600} .next-cell.waiting span{color:#92400E}
:root[data-theme="dark"] .next-line.waiting,:root[data-theme="dark"] .next-cell.waiting,:root[data-theme="dark"] .next-cell.waiting span{color:#FCD34D}
.work-item.simple{gap:5px} .work-item.simple .title{font-size:15.5px}
.ready-card{border-left:5px solid var(--info)}
.owner-actions{gap:8px}
/* панель «Показать работу» */
details.work-panel{border:0;padding:0;background:transparent} details.work-panel>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;max-width:100%;flex-wrap:wrap} details.work-panel>summary::-webkit-details-marker{display:none} details.work-panel>summary::marker{content:""}
details.work-panel>summary svg{width:18px;height:18px} details.work-panel>summary .tiny{font-weight:400;white-space:normal;text-align:left}
details.work-panel[open]>summary{margin-bottom:14px}
.work-body>*+*{margin-top:14px}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px} .work-sec{min-width:0} .work-sec h3{font-size:15px;margin-bottom:6px;display:flex;align-items:baseline;flex-wrap:wrap}
.work-list{margin:0;padding-left:18px;font-size:14px;line-height:1.45} .work-list li{margin:3px 0;overflow-wrap:anywhere} .work-list .assump-li{color:var(--ink-2)}
.chip-member.excluded{opacity:.6;text-decoration:line-through}
.suggested{white-space:pre-line}
.new-dir{padding:8px 10px;border-radius:10px;background:var(--accent-soft);color:var(--ink);font-size:14px} .new-dir-list{margin:4px 0 0;padding-left:18px} .new-dir-list li{margin:2px 0}
.tasks-table .dir-chip{white-space:normal}
/* ---------- Шапка: четыре раздела, «Ещё», чат-иконка со значком ---------- */
.more-btn{white-space:nowrap;color:var(--ink-2)} .more-btn.active{background:var(--accent-soft);color:var(--accent);border-color:transparent} .more-btn svg{width:18px;height:18px}
:root[data-theme="dark"] .more-btn.active{background:var(--accent);color:#fff}
.chat-btn{color:var(--ink-2)} .chat-btn.active{background:var(--accent-soft);color:var(--accent)} :root[data-theme="dark"] .chat-btn.active{background:var(--accent);color:#fff}
.icon-btn .nav-badge{position:absolute;top:-6px;right:-6px;display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:var(--bad);color:#fff;font-size:11px;font-weight:700;padding:0 5px;line-height:1;border:2px solid var(--bg)}
.menu-more .menu-main{display:none} .menu-group{margin-top:6px} .menu-group-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 14px 2px}
.menu-more .menu-list a{display:flex;align-items:center;gap:10px;padding:10px 14px} .menu-more .menu-list a svg{width:18px;height:18px;opacity:.75;flex:none}
@media (max-width:640px){.menu-more .menu-main{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px} .menu-more .menu-main a{flex:1 1 calc(50% - 6px);justify-content:center;border:1px solid var(--line);padding:10px 8px} .more-btn .more-label{display:none} .more-btn{width:40px;height:40px;padding:0;justify-content:center;border:1px solid var(--line);border-radius:12px}}
/* ---------- Выбор сотрудника ---------- */
.mp{display:flex;flex-direction:column;gap:8px;min-width:0} .mp-count{padding:0 2px}
.mp-list{max-height:min(52vh,440px);overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:4px}
.mp-dept{font-size:12px;font-weight:700;color:var(--muted);padding:8px 10px 4px;position:sticky;top:0;background:var(--bg);z-index:1}
.mp-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:transparent;border-radius:10px;text-align:left;cursor:pointer;color:var(--ink);font:inherit;min-width:0} .mp-row:hover{background:var(--accent-soft)} .mp-row.active{background:var(--accent);color:#fff} .mp-row.active .mp-role,.mp-row.active .mp-comp{color:rgba(255,255,255,.85)}
.mp-row .dot{flex:none} .mp-text{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25} .mp-text b{font-size:14.5px} .mp-role{font-size:12.5px;color:var(--muted)} .mp-comp{font-size:12px;color:var(--accent-ink);margin-top:2px;overflow-wrap:anywhere}
.mp-check{margin-left:auto;flex:none} .mp-check svg{width:18px;height:18px}
.mp-chosen{color:var(--ink-2)}
:root:not([data-theme="dark"]) .mp-list,:root:not([data-theme="dark"]) .mp-dept{background:#FFFFFF}
@media (max-width:640px){.mp-list{max-height:48vh} .mp-dialog h2{font-size:18px;min-width:0} .mp-dialog>.row.between{flex-wrap:nowrap!important;align-items:flex-start} .mp-dialog>.row.between .icon-btn{flex:none}}
.kcard-stage{font-size:12.5px;color:var(--ink-2);line-height:1.35;overflow-wrap:anywhere}
/* ========== Круг 3: рабочее пространство поручения, Мой офис, Документы, Управление, навигация из пяти разделов ========== */
.more-btn{display:none} @media (max-width:640px){.more-btn{display:inline-flex}}
.inline-ico{display:inline-flex;vertical-align:middle;margin-right:4px} .inline-ico svg{width:15px;height:15px}
.fact-v.waiting{color:#92400E;font-weight:600} .fact-v.obstacle{display:inline-flex;align-items:flex-start;gap:6px;font-weight:600;color:#92400E} .fact-v.obstacle.bad{color:var(--bad)} .fact-v.obstacle svg{width:16px;height:16px;flex:none;margin-top:2px}
:root[data-theme="dark"] .fact-v.waiting,:root[data-theme="dark"] .fact-v.obstacle{color:#FCD34D}
.next-line.waiting.bad{color:var(--bad)}
/* участники */
.ws-avatars{display:none;align-items:center;gap:4px;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;color:inherit} .ws-avatars .avatar{margin-left:-6px;border:2px solid var(--card)} .ws-avatars .avatar:first-child{margin-left:0} .ws-avatars .tiny{margin-left:8px}
.avatar.excluded{opacity:.45} .avatar.sm.more{background:var(--line);color:var(--muted);font-size:10px}
.ws-people-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px}
.ws-person{display:flex;align-items:center;gap:10px;padding:6px 4px;min-width:0;border-radius:10px} .ws-person.excluded{opacity:.55} .ws-person.excluded .bold{text-decoration:line-through}
.ws-person-av{position:relative;flex:none} .ws-person-av .dot{position:absolute;right:-2px;bottom:-2px;border:2px solid var(--card);width:11px;height:11px}
.ws-person-text{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25} .ws-person-text a{color:var(--ink)} .ws-person-text .tiny{overflow-wrap:anywhere}
/* беседа + результат */
.ws-main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:14px;align-items:start}
.ws-chat .chat-main{height:min(72vh,720px);min-height:420px} .ws-chat .chat-main.no-head .chat-list{padding-top:12px}
.ws-result.failed{border-left:5px solid var(--warn)} .ws-doc{padding:10px 12px} .ws-doc-ico{display:inline-flex;vertical-align:middle;margin-right:6px} .ws-doc-ico svg{width:16px;height:16px}
.ws-doc .excerpt{max-height:150px}
.ws-need .inbox-card .inbox-head{display:flex}
.in-chat .inbox-card{margin-top:8px;border-left-width:3px} .in-chat .inbox-head,.in-chat .inbox-text{display:none}
/* адресат и файлы в беседе */
.chat-compose-in{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px} .chat-to-wrap{display:flex;align-items:center;gap:6px;position:relative;flex-wrap:wrap}
.chat-to{padding:3px 8px;font-size:12.5px;color:var(--muted)} .chat-to.active{color:var(--accent);background:var(--accent-soft)} .chat-to svg{width:15px;height:15px}
.chat-clip{padding:3px 8px;color:var(--muted)} .chat-clip svg{width:16px;height:16px}
.chat-to-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:5;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:280px;max-width:min(420px,90vw);max-height:300px;overflow:auto}
.chat-to-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:transparent;border-radius:9px;text-align:left;cursor:pointer;color:inherit;font:inherit;min-width:0} .chat-to-item:hover,.chat-to-item.active{background:var(--accent-soft)} .chat-to-item .grow{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.chat-compose.over{outline:2px dashed var(--accent);outline-offset:-4px}
.chat-attach{margin-top:8px;border:1px solid var(--line-strong);border-radius:12px;padding:8px 10px;background:var(--bg);display:flex;flex-direction:column;gap:6px;color:var(--ink)} .chat-attach-head{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap} .chat-attach-head svg{width:16px;height:16px}
.chat-attach.warn{border-color:#F5C77A} .chat-attach.ok{border-color:#86EFAC}
.chat-file{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);max-width:100%} .chat-file .grow{min-width:0;overflow-wrap:anywhere}
.chat-msg.me .chat-file,.chat-msg.me .chat-attach{color:var(--ink)}
.chat-asked{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}
.chat-sys.note{border-style:solid;flex-direction:row;gap:8px;text-align:left} .chat-sys.note svg{width:16px;height:16px;flex:none}
:root:not([data-theme="dark"]) .chat-attach,:root:not([data-theme="dark"]) .chat-file,:root:not([data-theme="dark"]) .chat-to-menu{background:#FFFFFF}
/* Мой офис: готовые результаты */
.ready-item{display:flex;flex-direction:column;gap:6px;padding:12px 0} .ready-item .title{font-weight:700;color:var(--ink);font-size:15px} .ready-item.failed{border-left:3px solid var(--warn);padding-left:10px} .ready-brief{color:var(--ink-2)} .warn-text{color:#92400E}
:root[data-theme="dark"] .warn-text{color:#FCD34D}
.hidden-note{margin-top:8px}
/* Документы */
.docs-table .icon-tile.sm{flex:none}
/* Управление */
.manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.manage-tile{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);min-width:0} .manage-tile:hover{border-color:var(--accent)} .manage-text{display:flex;flex-direction:column;min-width:0;line-height:1.25} .manage-text .tiny{overflow-wrap:anywhere}
:root:not([data-theme="dark"]) .manage-tile{background:#FFFFFF}
/* уведомления */
.notif-list{max-height:60vh;overflow:auto}
/* ---------- Макет: слева вертикальное меню, сверху поиск ---------- */
.layout{display:grid;grid-template-columns:224px minmax(0,1fr);max-width:1680px;margin:0 auto;align-items:start}
.sidebar{position:sticky;top:60px;height:calc(100vh - 60px);padding:16px 12px;border-right:1px solid var(--line);background:var(--card);overflow-y:auto}
.sidenav{display:flex;flex-direction:column;gap:4px} .sidenav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;color:var(--ink-2);font-weight:600;font-size:15px} .sidenav a svg{width:22px;height:22px;flex:none;opacity:.8}
.sidenav a:hover{background:var(--line)} .sidenav a.active{background:var(--accent);color:#fff} .sidenav a.active svg{opacity:1}
.layout>.page{max-width:none;margin:0;min-width:0}
.topbar-sub{white-space:nowrap} .nav,.more-btn,.chat-btn,.help-btn{display:none!important}
.search-box{position:relative;flex:1;min-width:0;max-width:520px;margin:0 auto} .search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);display:inline-flex} .search-ico svg{width:18px;height:18px}
.search-input{padding:9px 12px 9px 40px;border-radius:14px;width:100%}
.search-menu{display:flex;flex-direction:column;gap:2px;padding:6px} .search-menu.drop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);max-height:60vh;overflow:auto}
.search-menu[hidden]{display:none} .search-group{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px 2px}
.search-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;background:transparent;border-radius:10px;text-align:left;cursor:pointer;color:inherit;font:inherit;min-width:0} .search-item:hover{background:var(--accent-soft)} .search-item svg{width:18px;height:18px;flex:none;opacity:.7} .search-item .grow{display:flex;flex-direction:column;min-width:0;line-height:1.25} .search-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal-search .search-menu{margin-top:8px}
.search-btn{display:none}
.user-chip-text{display:flex;flex-direction:column;line-height:1.15;text-align:left}
:root:not([data-theme="dark"]) .sidebar{background:#FFFFFF} :root:not([data-theme="dark"]) .search-menu.drop{background:#FFFFFF}
@media (max-width:900px){.layout{grid-template-columns:minmax(0,1fr)} .sidebar{display:none} .menu-btn{display:grid}}
@media (max-width:640px){.search-box{display:none} .search-btn{display:grid} .topbar-sub{display:none} .user-chip-text{display:none}}
@media (min-width:901px){.menu-btn{display:none}}
/* ---------- Рабочее пространство по макету ---------- */
.ws-head{padding:16px 18px} .ws-head-row{display:flex;gap:12px;align-items:flex-start} .ws-icon{width:44px;height:44px;flex:none;background:var(--warn-soft);color:var(--warn)} .ws-title{font-size:22px;line-height:1.2}
.ws-descr{color:var(--ink-2);margin-top:4px;line-height:1.45} .ws-head-actions{display:flex;gap:6px;align-items:center;flex:none} .ws-menu-wrap{position:relative}
.ws-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:6px;min-width:260px;display:flex;flex-direction:column} .ws-menu[hidden]{display:none} .ws-menu .menu-row{padding:9px 12px;font-size:14px}
.ws-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;align-items:center} .ws-meta a{color:var(--ink)} .ws-meta .dir-chip{font-size:11.5px;padding:2px 8px}
.ws-next{margin-top:8px;color:var(--ink-2)} .ws-obstacle{margin-top:6px;display:flex;gap:6px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--warn-soft);color:#92400E} .ws-obstacle.bad{background:var(--bad-soft);color:#991B1B} .ws-obstacle svg{width:16px;height:16px;flex:none;margin-top:1px}
:root[data-theme="dark"] .ws-obstacle{color:#FCD34D} :root[data-theme="dark"] .ws-obstacle.bad{color:#FCA5A5}
.h-ico{display:inline-flex;vertical-align:middle;margin-right:8px;color:var(--accent)} .h-ico svg{width:20px;height:20px}
.ws-people .card-title h2{display:flex;align-items:center} .ws-people-list{grid-template-columns:1fr;gap:2px}
.ws-person .avatar{width:36px;height:36px;font-size:13px;border-radius:50%}
.ws-result-box{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--bg)} :root:not([data-theme="dark"]) .ws-result-box{background:#FFFFFF}
.ws-brief{color:var(--ink-2);margin-top:4px;line-height:1.45}
.ws-included{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px} .ws-included li{display:flex;gap:8px;align-items:flex-start;overflow-wrap:anywhere} .ok-ico{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ok-soft);color:var(--ok);flex:none;margin-top:1px} .ok-ico svg{width:12px;height:12px;stroke-width:2.4}
.ws-details-toggle{display:block;margin-top:10px;text-align:right} .ws-result-details{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px} .ws-result-details[hidden]{display:none}
.ws-result-btns{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;align-items:center} .ws-result-btns .btn{flex:1 1 auto;justify-content:center} .btn.primary.ok{background:var(--ok);border-color:var(--ok)} .btn.primary.ok:hover{background:#15803D}
.card.ws-chat .chat-main{height:min(68vh,680px);min-height:420px} .chat-list{overflow-x:hidden}
.chat-compose .chat-input{min-height:46px} .chat-clip{width:40px;height:40px;padding:0;justify-content:center;border-radius:12px;flex:none} .chat-to-wrap{flex:none} .chat-to{height:40px;padding:0 10px;border-radius:12px;display:inline-flex;align-items:center;gap:6px;max-width:160px} .chat-to .chat-to-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600} .chat-to-menu{left:auto;right:0}
.chat-file svg{width:18px;height:18px}
.chat-to[hidden],.chat-clip[hidden],.chat-to-menu[hidden],.chat-to-label[hidden],.ws-menu[hidden],.search-menu[hidden],.ws-result-details[hidden]{display:none!important}
.coord-chat .chat-main{height:min(70vh,640px);border:1px solid var(--line);border-radius:14px;overflow:hidden}
@media (max-width:900px){
  .ws-col-chat{display:contents} .ws-col-result{display:contents}
  .ws-status{order:1} .ws-result{order:2} .ws-need{order:3} .ws-chat{order:4} .ws-people{order:5}
  .ws-result-details{display:none} .ws-result .ws-included{display:none}
}
@media (max-width:640px){.ws-head-row{flex-wrap:wrap} .ws-head-actions{order:-1;width:100%;justify-content:space-between} .ws-title{font-size:19px} .ws-meta{gap:2px 10px} .ws-result-btns .btn{flex:1 1 100%} .chat-to-menu{left:auto;right:0;max-width:85vw} .chat-compose{flex-wrap:wrap} .chat-compose .chat-input{flex:1 1 100%;order:-1}}
@media (max-width:900px){
  .ws-main{display:contents}
  .task-page.workspace{display:flex;flex-direction:column;gap:14px}
  .task-page.workspace>*{margin-top:0}
  .work-panel{order:6}
  .ws-avatars{display:inline-flex;margin-top:10px}
  .card.ws-chat .chat-main{height:70dvh}
}
@media (max-width:640px){.ws-people-list{grid-template-columns:1fr} .chat-to-menu{left:0;right:0;max-width:none}}
@media (max-width:900px){.work-grid{grid-template-columns:1fr}}
@media (max-width:640px){.fact{flex-direction:column;gap:2px} .fact-k{min-width:0} .next-step .spend-line{padding-left:0} .owner-actions>.btn{flex:1 1 calc(50% - 4px);justify-content:center} details.work-panel>summary{width:100%;justify-content:center} .work-item.simple .work-top{flex-direction:row;align-items:flex-start} .work-item.simple .work-top .row{flex:none}}

/* ========== Круг 3 (макет «цельный вариант»): путь поручения, «Требует решения», команда, «Готовый пакет», «Внутренняя работа — скрыта» ========== */
/* путь поручения */
.ws-path{list-style:none;margin:14px 0 4px;padding:0;display:flex;align-items:flex-start}
.ws-step{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;text-align:center}
.ws-step::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0} .ws-step:first-child::before{display:none}
.ws-step.done::before,.ws-step.cur::before{background:var(--ok)}
.ws-step-dot{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--line-strong);color:var(--muted)} .ws-step-dot svg{width:18px;height:18px}
.ws-step.done .ws-step-dot{background:var(--ok);border-color:var(--ok);color:#fff}
.ws-step.cur .ws-step-dot{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px var(--accent-soft)} .ws-path.tone-warn .ws-step.cur .ws-step-dot{border-color:var(--warn);color:var(--warn);background:var(--warn-soft);box-shadow:0 0 0 4px var(--warn-soft)} .ws-path.tone-bad .ws-step.cur .ws-step-dot{border-color:var(--bad);color:var(--bad);background:var(--bad-soft);box-shadow:none} .ws-path.tone-gray .ws-step.cur .ws-step-dot{border-color:var(--faint);color:var(--faint);background:var(--bg);box-shadow:none}
.ws-step-label{font-size:12.5px;font-weight:700;line-height:1.15;margin-top:2px;overflow-wrap:anywhere} .ws-step.cur .ws-step-label{color:var(--ink)} .ws-step:not(.done):not(.cur) .ws-step-label{color:var(--muted);font-weight:600}
.ws-step-sub{font-size:11px;color:var(--muted);line-height:1.2;overflow-wrap:anywhere;padding:0 2px}
:root:not([data-theme="dark"]) .ws-step-dot{background:#FFFFFF} :root:not([data-theme="dark"]) .ws-step.done .ws-step-dot{background:var(--ok)} :root:not([data-theme="dark"]) .ws-step.cur .ws-step-dot{background:var(--accent-soft)}
/* требует решения */
.ws-need{border:1px solid #F5C77A;border-left:5px solid var(--warn)} .need-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--warn-soft);color:var(--warn);margin-right:8px} .need-ico svg{width:18px;height:18px} .ws-need .card-title h2{display:flex;align-items:center}
.opt-block{display:flex;flex-direction:column;gap:10px;margin-top:6px} .opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.opt-card{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg);cursor:pointer;min-width:0} .opt-card.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)} .opt-card input{margin-top:3px;accent-color:var(--accent);flex:none} .opt-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.opt-notes{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px} .opt-note{display:flex;gap:8px;padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line)} .opt-note svg{width:18px;height:18px;flex:none;margin-top:1px} .opt-note.rec svg{color:var(--warn)} .opt-note.risk svg{color:var(--ok)} .opt-note b{font-size:13px}
.opt-btns .btn{flex:1 1 auto;justify-content:center}
:root:not([data-theme="dark"]) .opt-card,:root:not([data-theme="dark"]) .opt-note{background:#FFFFFF} :root:not([data-theme="dark"]) .opt-card.on{background:var(--accent-soft)}
/* команда поручения */
.ws-people .card-title{flex-wrap:wrap} .ws-people-list{grid-template-columns:1fr;gap:2px}
.ws-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:8px 10px;padding:7px 2px;border-radius:10px} .ws-person-text{display:flex;flex-direction:column;min-width:0;line-height:1.2} .ws-person-text .tiny{overflow-wrap:anywhere}
.ws-doing{display:inline-block;max-width:150px;font-size:11.5px;font-weight:600;line-height:1.25;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);text-align:center} .ws-doing.busy{background:var(--ok-soft);color:#166534} .ws-doing.off{background:var(--line);color:var(--muted)}
:root[data-theme="dark"] .ws-doing.busy{color:#86EFAC}
.ws-person-dots{border:0;background:transparent;color:var(--muted);cursor:pointer;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;padding:0} .ws-person-dots:hover{background:var(--line)} .ws-person-dots svg{width:18px;height:18px}
.ws-person .ws-menu-wrap{position:relative} .ws-person .ws-menu{min-width:210px}
.chip-x-gap{width:26px} .ws-person .chip-x{width:26px;height:26px;border-radius:8px;font-size:18px} .ws-person .chip-x:hover{background:var(--bad-soft)}
@media (max-width:640px){.ws-person{grid-template-columns:auto minmax(0,1fr) auto auto} .ws-person .ws-doing{grid-column:2 / -1;justify-self:start;max-width:100%} .chip-x-gap{display:none}}
/* готовый пакет */
.ws-package{display:flex;flex-direction:column;gap:10px}
.pkg-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap} .pkg-head h2{font-size:18px} .pkg-check{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ok-soft);color:var(--ok);flex:none} .pkg-check.warn{background:var(--warn-soft);color:var(--warn)} .pkg-check svg{width:18px;height:18px} .pkg-by{margin-left:auto}
.pkg-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} .pkg-file{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--bg);min-width:0}
.pkg-file-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;align-items:center} .pkg-file-head .tiny{grid-column:2} .pkg-file-name{font-weight:700;font-size:13px;line-height:1.2;overflow-wrap:anywhere}
.pkg-ext{display:inline-grid;place-items:center;min-width:34px;height:22px;padding:0 5px;border-radius:6px;font-size:10px;font-weight:800;color:#fff;background:#64748B;letter-spacing:.02em} .pkg-ext.pdf{background:#DC2626} .pkg-ext.pptx{background:#EA580C} .pkg-ext.xlsx{background:#16A34A} .pkg-ext.docx{background:#2563EB} .pkg-ext.zip{background:#7C3AED}
.pkg-thumb{border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:3/4;display:grid;place-items:center} .pkg-thumb.wide{aspect-ratio:16/10} .pkg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pkg-file-btns{display:flex;flex-direction:column;gap:6px} .pkg-file-btns .btn{justify-content:center;width:100%}
.pkg-empty{padding:14px;border:1px dashed var(--line-strong);border-radius:12px;text-align:center}
.pkg-make{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--bg)} .pkg-make>summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:8px} .pkg-make>summary svg{width:16px;height:16px}
.pkg-chips{display:flex;flex-wrap:wrap;gap:6px} .pkg-chip{border:1px solid var(--line-strong);background:var(--card);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink-2)} .pkg-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.pkg-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px} .pkg-history{margin-top:2px}
.pkg-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center} .pkg-btns .btn{flex:1 1 auto;justify-content:center;padding:12px 14px;font-size:14.5px}
:root:not([data-theme="dark"]) .pkg-file,:root:not([data-theme="dark"]) .pkg-make{background:#FFFFFF}
.ws-brief{color:var(--ink-2);line-height:1.45}
@media (max-width:640px){.ws-work-btn{width:100%;justify-content:center} .pkg-opts{grid-template-columns:1fr} .pkg-by{margin-left:0;width:100%} .opt-notes{grid-template-columns:1fr}}
/* внутренняя работа — скрыта */
.ws-work{padding:14px 16px} .ws-work-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap} .ws-work-head .grow{flex:1 1 200px;min-width:160px} .ws-work-title{font-weight:700} .ws-work-btn{flex:none} .ws-work-btn svg{width:18px;height:18px}
.ws-work-body{margin-top:14px;border-top:1px dashed var(--line);padding-top:14px} .ws-work-body[hidden]{display:none!important} .ws-work-body .work-grid{grid-template-columns:1fr}
/* расходы офиса */
.spend-card{padding:14px 16px} .spend-card .card-title{margin-bottom:8px} .spend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px} .spend-row{display:flex;flex-direction:column;gap:2px;font-size:14px} .spend-row .muted{font-size:12.5px} .spend-row b.tone-ok{color:var(--ok)} .spend-row b.tone-warn{color:var(--warn)} .spend-row b.tone-bad{color:var(--bad)}
.spend-mobile{display:none} .spend-mobile>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none} .spend-mobile>summary::-webkit-details-marker{display:none} .spend-line{font-size:13px;min-width:0;overflow-wrap:anywhere} .spend-more{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;color:var(--accent);white-space:nowrap} .spend-more svg{width:14px;height:14px}
.spend-mobile .spend-row{flex-direction:row;justify-content:space-between}
@media (max-width:640px){.spend-desktop{display:none} .spend-mobile{display:block} .spend-grid{grid-template-columns:1fr 1fr}}
/* порядок на телефоне: заголовок с путём → требует решения → пакет → беседа → внутренняя работа → команда */
@media (max-width:900px){.ws-status{order:1} .ws-need{order:2} .ws-result{order:3} .ws-chat{order:4} .ws-work{order:5} .ws-people{order:6}
  .ws-path{margin-top:10px} .ws-step-dot{width:30px;height:30px} .ws-step-dot svg{width:15px;height:15px} .ws-step::before{top:14px} .ws-step-label{font-size:10.5px} .ws-step-sub{font-size:9.5px} .ws-step:not(.cur) .ws-step-sub{display:none}}
@media (max-width:420px){.ws-step-label{font-size:9.5px} .ws-step-dot{width:26px;height:26px} .ws-step::before{top:12px}}

/* правки по снимкам круга 3 */
.ws-step-label .short{display:none}
.ready-card{border-left:0} .ready-item{padding:12px 14px;margin-top:10px} .ready-item .title{display:block}
@media (max-width:640px){
  .ws-step-label .full{display:none} .ws-step-label .short{display:inline}
  .ws-person{grid-template-columns:auto minmax(0,1fr) auto auto} .ws-person .ws-person-av{grid-row:1;grid-column:1} .ws-person .ws-person-text{grid-row:1;grid-column:2} .ws-person>.ws-menu-wrap{grid-row:1;grid-column:3} .ws-person>.chip-x,.ws-person>.chip-x-gap{grid-row:1;grid-column:4} .ws-person>.ws-doing{grid-row:2;grid-column:2 / -1;justify-self:start;max-width:100%}
}

/* заголовки Markdown внутри сообщений беседы не должны быть крупнее самого сообщения */
.chat-bubble .md h1,.chat-bubble .md h2,.chat-bubble .md h3,.chat-bubble .md h4,.chat-bubble .md h5{font-size:15px;line-height:1.35;margin:6px 0 4px;letter-spacing:0}
@media (max-width:640px){
  .pkg-file-head{grid-template-columns:1fr} .pkg-file-head .tiny{grid-column:1} .pkg-file-head .pkg-ext{justify-self:start}
  .ws-step-label{font-size:9.5px;letter-spacing:-.02em;overflow-wrap:normal;word-break:keep-all}
}
@media (max-width:420px){.ws-step-label{font-size:9px}}

/* ========== Главная: панель «Команда офиса», показатели, порядок блоков ========== */
.home-wrap{display:flex;flex-direction:column;gap:14px} .home-body{display:contents}
.home-team{order:0;min-width:0} .home-head{order:1} .home-banner{order:2} .home-kpis{order:3} .home-new{order:4} .home-questions{order:5} .home-ready{order:6} .home-work{order:7} .home-leaders{order:8} .home-body>.footer-note{order:9}
.home-banner{display:flex;flex-direction:column;gap:8px} .home-banner:not(:has(.banner)){display:none}
.home-team .home-team-toggle{display:none}
.home-team .home-hero{padding:0}
.home-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(290px,1.3fr);gap:10px;align-items:stretch}
.home-kpis .kpi{justify-content:flex-start}
.kpi[data-tone="info"] .value{color:var(--info)}
.spend-card.compact{padding:12px 14px} .spend-card.compact .spend-grid{grid-template-columns:1fr 1fr;gap:6px 12px} .spend-card.compact .card-title{margin-bottom:6px} .spend-card.compact .card-title h2{font-size:15px}
@media (max-width:1180px){.home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} .home-kpis .spend-card{grid-column:1/-1}}
.leaders.one-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin} .leaders.one-row .leader{flex:none;max-width:250px}
/* телефон: показатели → вопросы → новое поручение → готовые → в работе → панель команды (свёрнута в строку) → руководители */
@media (max-width:760px){
  .home-head{order:0} .home-banner{order:1} .home-kpis{order:2} .home-questions{order:3} .home-new{order:4} .home-ready{order:5} .home-work{order:6} .home-team{order:7} .home-leaders{order:8}
  .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-team .home-hero{display:none} .home-team.open .home-hero{display:block}
  .home-team .home-team-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left} .home-team .home-team-toggle span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px} .home-team .home-team-toggle svg{width:18px;height:18px;flex:none;opacity:.7} .home-team .home-team-toggle svg:last-child{transition:transform .2s} .home-team.open .home-team-toggle svg:last-child{transform:rotate(180deg)}
  .home-team.open .home-team-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}
}
:root:not([data-theme="dark"]) .home-team .home-team-toggle{background:#FFFFFF}

.spend-link{display:inline-block;margin-top:8px;font-weight:600}
