:root{
  color-scheme:dark;
  /* Оформление в духе Apple (тёмная тема macOS / iOS): чёрный фон, серые карточки, системный синий, шрифт SF */
  --a-bg:#000000; --a-side:#161618; --a-card:#1C1C1E; --a-raised:#2C2C2E; --a-line:#38383A;
  --a-ink:#F5F5F7; --a-ink2:rgba(235,235,245,.78); --a-ink3:#98989F; --a-ink4:#6E6E73;
  --a-accent:#0A84FF; --a-accent-rgb:10,132,255; --a-on-accent:#FFFFFF;
  --a-green:#30D158; --a-blue:#0A84FF; --a-red:#FF453A;
  --bg:var(--a-bg); --bg2:var(--a-side); --surface:var(--a-card); --raised:var(--a-raised);
  --line:var(--a-line); --line2:#2C2C2E;
  --ink:var(--a-ink); --muted:var(--a-ink3);
  --gold:#F4C95D; --gold-bg:rgba(244,201,93,.11); --gold-line:rgba(244,201,93,.42); --gold-ink:#FFE29B;
  --mint:var(--a-accent); --mint-bg:rgba(10,132,255,.14); --mint-line:rgba(10,132,255,.45); --mint-ink:#64B5FF;
  --danger:var(--a-red); --warnbg:rgba(255,69,58,.14);
  --f-display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter',system-ui,sans-serif;
  --f-body:-apple-system,BlinkMacSystemFont,'SF Pro Text','Inter',system-ui,'Segoe UI',Roboto,sans-serif;
  --side-w:236px;
}
*{box-sizing:border-box}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{-webkit-text-size-adjust:100%;scroll-padding-top:env(safe-area-inset-top,0px);background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.4 var(--f-body);font-variant-numeric:tabular-nums}
body::before{content:'';position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
button{font-family:inherit}

/* каркас */
main{padding:16px 16px calc(96px + env(safe-area-inset-bottom,0px))}
.page{max-width:680px;margin:0 auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.brand-m{font:600 12.5px var(--f-display);letter-spacing:.01em;color:var(--muted)}
.sync{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
.sync .dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.sync[data-s="synced"] .dot{background:var(--mint)}
.sync[data-s="error"] .dot{background:var(--danger)}
h1{margin:0 0 8px;font:500 clamp(19px,5.4vw,25px)/1.25 var(--f-display);letter-spacing:-.01em}
.lead{margin:0 0 16px;color:var(--muted);max-width:54ch}

.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:rgba(11,20,48,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}
.nav .brand,.nav .sync{display:none}
.nav-items{display:flex;flex:1;gap:6px}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 7px;border:0;background:none;color:var(--muted);font-weight:600;font-size:12px;border-radius:12px;cursor:pointer}
.tab .ico{display:block;width:22px;height:22px}
.tab .ico svg{width:22px;height:22px;display:block}
.tab[aria-selected="true"]{color:var(--ink);background:var(--raised)}
.tab[aria-selected="true"] .ico{color:var(--mint)}
@media (min-width:900px){
  .nav{top:0;bottom:auto;right:auto;width:var(--side-w);flex-direction:column;border-top:0;border-right:1px solid var(--line);padding:calc(28px + env(safe-area-inset-top,0px)) 14px 22px;background:var(--bg2);-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav .brand{display:block;font:600 14px/1.3 var(--f-display);padding:0 10px}
  .nav .sync{display:inline-flex;margin-top:auto;padding:0 10px}
  .nav-items{flex:0 0 auto;flex-direction:column;margin-top:26px;gap:4px}
  .tab{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;font-size:14.5px;padding:11px 12px}
  main{padding:34px 40px 60px calc(var(--side-w) + 40px)}
  .top{display:none}
}
button:focus-visible,summary:focus-visible,.nm:focus-visible{outline:2px solid var(--mint);outline-offset:2px}

/* общие блоки */
.blk{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:12px 0;overflow:hidden}
.prog{height:8px;border-radius:999px;background:var(--line2);overflow:hidden}
.prog i{display:block;height:100%;background:var(--mint);border-radius:inherit;transition:width .3s}
@media (prefers-reduced-motion: reduce){.prog i,.chev{transition:none}}
.chev{display:inline-block;flex:0 0 auto;width:7px;height:7px;margin:0 9px 2px 1px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s}
details[open]>summary .chev{transform:rotate(45deg)}
.ghost{margin-top:12px;padding:10px 14px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:10px;font-size:14px;cursor:pointer}
.primary{margin-top:12px;min-height:44px;padding:0 18px;border:0;border-radius:10px;background:var(--mint);color:var(--a-on-accent);font-weight:700;font-size:15px;cursor:pointer}

/* дорожная карта */
.overall{padding:16px}
.ov-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.ov-num{font:600 28px var(--f-display);color:var(--mint-ink)}
.ov-num span{font:400 14px var(--f-body);color:var(--muted);margin-left:8px}
.ov-pct{color:var(--muted);font-weight:600}
.next{margin:12px 0;padding:14px 16px;border:1px solid var(--gold-line);background:var(--gold-bg);border-radius:14px}
.next .k{font-size:12.5px;color:var(--gold-ink);font-weight:600}
.next .ntxt{margin-top:6px;font-weight:600;font-size:16px;line-height:1.35}
.next .nstage{margin-top:4px;color:var(--muted);font-size:13px}
.next.alldone{border-color:var(--mint-line);background:var(--mint-bg);font-weight:600;color:var(--mint-ink)}
.stage{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:12px 0;overflow:hidden}
.shead{display:block;list-style:none;cursor:pointer;padding:14px 14px 12px}
.shead::-webkit-details-marker{display:none}
.sline{display:flex;align-items:center}
.stitle{flex:1;font-weight:650;font-size:15.5px;line-height:1.3}
.scount{font:500 12px var(--f-display);color:var(--muted);margin-left:10px}
.prog.sm{height:4px;margin-top:11px}
.gh{padding:12px 14px 8px;font-weight:650;font-size:13.5px;color:var(--gold-ink);border-top:1px solid var(--line2)}
.step{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:11px 14px;border-top:1px solid var(--line2);cursor:pointer}
.gh+.step{border-top:0}
.step.subs{padding-left:40px}
.chk{width:26px;height:26px;padding:0;border-radius:8px;border:2px solid var(--line);background:transparent;color:var(--a-on-accent);display:grid;place-items:center;cursor:pointer}
.chk svg{width:16px;height:16px;display:block}
.step.done .chk{background:var(--mint);border-color:var(--mint)}
.step .txt{display:block;line-height:1.4}
.step.done .txt{color:var(--muted)}
.num{display:inline-block;margin-right:8px;font:500 12px var(--f-display);color:var(--gold)}
.tag{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted);white-space:nowrap}
.note{display:block;margin-top:5px;font-size:13px;color:var(--muted)}
.note.goal{color:var(--mint-ink)}
.step.goalstep .txt{font-weight:650}
.linkbtn{display:block;margin-top:6px;padding:4px 0;border:0;background:none;color:var(--gold-ink);font-weight:600;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.close{padding:12px 14px;border-top:1px solid var(--mint-line);background:var(--mint-bg);color:var(--mint-ink);font-weight:600;font-size:14px}

/* расчёт уровня необходимости */
.live-wrap{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding:6px 0 8px}
.live{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;padding:12px 14px;background:var(--raised);border:1px solid var(--mint-line);border-radius:14px}
.live .k{font-size:12px;line-height:1.25;color:var(--muted)}
.live .big{margin-top:5px;font:600 clamp(17px,5vw,22px)/1.2 var(--f-display);color:var(--mint-ink)}
.warn{display:none;margin:4px 0 8px;padding:10px 12px;border-radius:10px;background:var(--warnbg);color:var(--danger);font-weight:500}
.sheet{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sheet .inner{min-width:450px}
.row{display:grid;grid-template-columns:minmax(0,1fr) 6.1rem 4.2rem 6.1rem;align-items:center;gap:8px;padding:6px 14px;border-bottom:1px solid var(--line2)}
.inner>.row:last-child{border-bottom:0}
.name{min-width:0;overflow-wrap:anywhere}
.amt,.pct,.per{text-align:right}
.pct,.per{color:var(--muted)}
.row.colhead{padding-top:11px;padding-bottom:9px;background:var(--bg2);color:var(--muted);font-size:12px;line-height:1.25;align-items:end}
.row.colhead div{text-align:right}
.row.sect{background:var(--bg2);font-weight:650;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.row.key{background:var(--mint-bg);color:var(--mint-ink);font-weight:650;border-color:var(--mint-line)}
.row.key .pct,.row.key .per{color:inherit}
.row.sumrow{background:var(--bg2)}
.row.d2 .name{padding-left:13px}
.row.d3 .name{padding-left:26px}
.row.d4 .name{padding-left:39px}
.row.sect.d2,.row.sect.d3{font-weight:600;background:transparent;border-top:0}
.row.rest{border-top:1px solid var(--mint-line)}
.cashinner{min-width:360px}
.row.cash{grid-template-columns:minmax(0,1fr) 7rem 4rem}
.cashline{grid-template-columns:minmax(0,1fr) 7rem}
.nm.static{border-bottom:0;padding:9px 2px;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.periodbar{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.per-btn{min-width:40px;min-height:40px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;font-size:20px;line-height:1;cursor:pointer}
.plabel{font:500 15px var(--f-display)}
.live3{grid-template-columns:repeat(3,1fr);gap:10px}
.live3 .big{font-size:clamp(14px,4.2vw,18px)}
.per-edit{margin-left:auto;min-height:40px;padding:0 14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;font-size:13.5px;cursor:pointer}
.eye{margin-left:10px;padding:2px 9px;border:1px solid var(--gold-line);background:transparent;color:var(--gold-ink);border-radius:999px;font-size:12px;cursor:pointer}
.row.off .name,.line.off .nm{opacity:.45}
.row.off .amt,.row.off .pct,.line.off .in{opacity:.45}
.ftabs{display:flex;gap:6px;flex-wrap:wrap}
.ftab{min-height:40px;padding:0 14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;font-size:14px;cursor:pointer}
.ftab.on{border-color:var(--mint-line);background:var(--mint-bg);color:var(--mint-ink);font-weight:600}
.board{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0 10px}
.col{flex:0 0 250px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:9px}
.colhead2{padding:2px 2px 8px;border-bottom:1px solid var(--line)}
.cname{font-weight:650;font-size:13.5px;line-height:1.3}
.cmeta{margin-top:3px;font-size:12px;color:var(--muted)}
.deal{background:var(--raised);border:1px solid var(--line);border-radius:11px;padding:10px;cursor:pointer}
.dname{font-weight:600;line-height:1.3}
.dsub{margin-top:3px;font-size:13px;color:var(--muted)}
.dsum{margin-top:4px;font-weight:600;color:var(--mint-ink)}
.dnote{margin-top:5px;font-size:12.5px;color:var(--muted)}
.dfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.dch{padding:2px 9px;border:1px solid var(--gold-line);border-radius:999px;font-size:12px;color:var(--gold-ink)}
.mvs{display:flex;gap:6px}
.mv{width:30px;height:30px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;font-size:16px;line-height:1;cursor:pointer}
.mv[disabled]{opacity:.3;cursor:default}
.empty{padding:14px 4px;color:var(--muted);font-size:13px;text-align:center}
.dealform{padding:14px}
.fh{margin:0 0 10px;font:500 16px var(--f-display)}
.fl{display:block;margin-bottom:10px}
.fl>span{display:block;margin-bottom:4px;font-size:12.5px;color:var(--muted)}
.fin{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);border-radius:10px;font:inherit;font-size:16px}
.fin:focus{outline:2px solid var(--mint);outline-offset:1px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:7px 12px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;font:inherit;font-size:13px;cursor:pointer}
.chip.on{border-color:var(--mint-line);background:var(--mint-bg);color:var(--mint-ink);font-weight:600}
.chip.off{cursor:default}
.frow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.del{color:var(--danger);border-color:var(--danger)}
.chbox{padding:14px}
.chnote{margin:0 0 10px;color:var(--muted);font-size:13.5px;line-height:1.5}
.subnav{margin-bottom:12px}
.dtask{margin-left:8px;padding:2px 9px;border:1px solid var(--mint-line);border-radius:999px;font-size:12px;color:var(--mint-ink)}
.lrow{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:13px 14px;border:0;border-bottom:1px solid var(--line2);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.lrow:last-child{border-bottom:0}
.lname{min-width:0;overflow-wrap:anywhere;font-weight:600}
.lmeta{white-space:nowrap;color:var(--muted);font-size:13px}
.ovl{position:fixed;inset:0;z-index:40;background:rgba(3,7,18,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:calc(18px + env(safe-area-inset-top,0px)) 12px calc(18px + env(safe-area-inset-bottom,0px));overflow-y:auto}
.mbox{width:100%;max-width:940px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.mhead{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 12px;border-bottom:1px solid var(--line);background:var(--bg2);position:sticky;top:0;z-index:1}
.mtitle{flex:1;font:500 15px/1.35 var(--f-display);overflow-wrap:anywhere}
.mclose{width:36px;height:36px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:10px;font-size:20px;line-height:1;cursor:pointer}
.mbody{padding:14px}
.mgrid{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:780px){.mgrid{grid-template-columns:1fr 1.15fr;gap:22px}}
.fsechead{margin:16px 0 10px;font:500 13px var(--f-display);color:var(--gold-ink)}
.cinfo{margin:-4px 0 12px;font-size:13px;color:var(--muted);line-height:1.5}
.ta{min-height:76px;resize:vertical;text-align:left}
.feed{display:flex;flex-direction:column;gap:9px;max-height:46vh;overflow-y:auto;padding-right:2px}
.fi{position:relative;padding:10px 30px 10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--bg2)}
.fi.in{border-left:3px solid var(--gold)}
.fi.out{border-left:3px solid var(--mint)}
.fi.done{opacity:.55}
.fi.done .fitext{text-decoration:line-through}
.fimeta{font-size:12px;color:var(--muted)}
.fitext{margin-top:5px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
.fi .chip{margin-top:8px}
.fidel{position:absolute;top:6px;right:6px;width:24px;height:24px;border:0;background:transparent;color:var(--muted);font-size:17px;line-height:1;border-radius:6px;cursor:pointer}
.fidel:hover{color:var(--danger)}
.composer{margin-top:12px;display:flex;flex-direction:column;gap:9px}
.composer .primary,.composer .ghost{margin-top:0}
.stublist{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.matrixwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.anmatrix{display:grid;min-width:max-content}
.mcell{display:flex;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);font-size:13.5px;justify-content:flex-end;white-space:nowrap}
.mcell.name{justify-content:flex-start;white-space:normal;line-height:1.3;gap:2px}
.mcell.sticky{position:sticky;left:0;z-index:2;background:var(--surface);border-left:0}
.mcell.head{flex-direction:column;align-items:flex-end;gap:2px;padding-top:11px;padding-bottom:10px;background:var(--bg2);color:var(--muted);font-size:12px;position:sticky;top:0;z-index:3}
.mcell.head.name{align-items:flex-start;z-index:4}
.clabel{font-weight:600;color:var(--ink)}
.csub{font-size:11px;opacity:.8}
.mcell.sect{background:linear-gradient(90deg, rgba(244,201,93,.13), rgba(244,201,93,0) 70%);font-weight:650;border-top:1px solid var(--gold-line)}
.mcell.sect.sticky{background:linear-gradient(90deg, rgba(244,201,93,.16), var(--surface) 80%)}
.mcell.kind-q{background:rgba(82,227,184,.07);color:var(--mint-ink)}
.mcell.kind-k{background:rgba(139,123,232,.09);color:#CFC6FF}
.mcell.name.kind-q{background:linear-gradient(90deg, rgba(82,227,184,.14), var(--surface) 92%);border-left:3px solid var(--mint);color:var(--ink)}
.mcell.name.kind-k{background:linear-gradient(90deg, rgba(139,123,232,.16), var(--surface) 92%);border-left:3px solid #8B7BE8;color:var(--ink)}
.mcell.col-weeksum{background:rgba(244,201,93,.10);color:var(--gold-ink);font-weight:600}
.mcell.col-month{background:rgba(91,141,239,.10)}
.mcell.head.col-month .clabel{color:#A8C4FF}
.mcell.head.col-weeksum .clabel{color:var(--gold-ink)}
.mcell.blockstart{border-left:2px solid var(--line)}
.mcell.head.blockstart{border-left:2px solid var(--gold-line)}
.mcell.total{background:rgba(244,201,93,.10);color:var(--gold-ink);font-weight:600}
.mcell.derived{font-weight:600}
.mcell.editcell{padding:4px 6px}
.mcell.editcell .in{min-height:32px;padding:5px 7px;font-size:14px;text-align:right}
.mcell.addcell{background:var(--bg2);padding:4px 8px;border-bottom:1px solid var(--line)}
.add.mini{width:auto;padding:7px 4px;border:0;background:none;font-size:13px}
.rname{flex:1;min-width:0}
.mcell.lifted{background:rgba(82,227,184,.18)}
.mcell.picked{box-shadow:inset 0 2px 0 var(--mint), inset 0 -2px 0 var(--mint)}
.mcell.droppable{cursor:pointer}
.aninner{min-width:420px}
.row.an{grid-template-columns:minmax(0,1fr) 7rem 7rem}
.row.an.derived .amt{color:var(--mint-ink)}
.stubrow{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--ink);font-size:14px;line-height:1.4}
.deal{touch-action:none}
.deal.dragging{opacity:.35}
.deal.ghost{position:fixed;z-index:60;pointer-events:none;box-shadow:0 18px 40px rgba(0,0,0,.5);transform:rotate(-1.5deg);opacity:.96}
.col.over{border-color:var(--mint);box-shadow:inset 0 0 0 1px var(--mint-line)}
.qadd{width:100%;min-height:38px;padding:8px 10px;border:1px dashed var(--line);background:transparent;color:var(--ink);border-radius:10px;font:inherit;font-size:14px}
.qadd:focus{outline:2px solid var(--mint);outline-offset:1px;border-style:solid}
.search{margin-bottom:12px}
.dtags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.dtag{padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:11.5px;color:var(--muted)}
.linkrow{display:block;width:100%;padding:10px 12px;margin-bottom:8px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);border-radius:10px;font:inherit;text-align:left;cursor:pointer}
.hint{display:block;margin-top:3px;font-size:12.5px;font-weight:400;color:var(--muted)}
.in{width:100%;min-height:38px;padding:7px 8px;border-radius:8px;border:1px solid var(--gold-line);background:var(--gold-bg);color:var(--gold-ink);caret-color:var(--gold);font:inherit;font-size:16px;text-align:right;font-variant-numeric:tabular-nums}
.in:focus{outline:2px solid var(--gold);outline-offset:1px;background:rgba(244,201,93,.18)}
.pin{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;width:100%}
.pin .in{width:3.3rem;padding:7px 5px}
.fsum{display:block;list-style:none;cursor:pointer}
.fsum::-webkit-details-marker{display:none}
.fsum .row{border-bottom:1px solid var(--line2)}
.line{display:grid;grid-template-columns:minmax(0,1fr) 6.1rem 2.3rem;gap:8px;align-items:center;padding:4px 8px 4px 32px;background:var(--bg2);border-bottom:1px solid var(--line2)}
.nm{width:100%;min-width:0;padding:7px 2px;border:0;border-bottom:1px dashed var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:16px}
.x{min-height:38px;border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;border-radius:8px;cursor:pointer}
.x:hover{color:var(--danger)}
.add{display:block;width:100%;padding:11px 14px 11px 32px;border:0;border-bottom:1px solid var(--line2);background:var(--bg2);color:var(--mint-ink);text-align:left;font-weight:600;font-size:14.5px;cursor:pointer}

/* ---------- оформление: разделение и акценты ---------- */
body{background:
  radial-gradient(1100px 620px at 18% -8%, rgba(31,58,118,.30), transparent 62%),
  radial-gradient(760px 520px at 108% 4%, rgba(18,88,72,.20), transparent 60%),
  var(--bg);
  background-attachment:fixed}
main{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
.page{max-width:720px}
@media (min-width:900px){.page{max-width:900px} main{padding-top:40px}}

h1{margin-bottom:6px}
.lead{margin-bottom:20px;line-height:1.5}

.blk,.stage,.col,.mbox{box-shadow:0 1px 0 rgba(255,255,255,.035) inset, 0 14px 30px rgba(2,6,18,.34)}
.blk,.stage{border-radius:16px;margin:16px 0}
.sheet{border-radius:16px}

/* таблицы: колонки разделены, строки различимы */
.row{padding-top:9px;padding-bottom:9px;transition:background .12s}
.row .amt,.row .pct,.row .per{border-left:1px solid var(--line2);padding-left:8px}
.row.colhead{border-bottom:1px solid var(--line);letter-spacing:.01em}
.row.colhead .amt,.row.colhead .pct,.row.colhead .per{border-left-color:transparent}
.row.sub:hover{background:rgba(255,255,255,.022)}
.row.sect{background:linear-gradient(90deg, rgba(244,201,93,.10), transparent 72%);border-top:1px solid var(--gold-line);border-bottom:1px solid var(--line)}
.row.sect .amt,.row.sect .pct,.row.sect .per{border-left-color:transparent}
.row.key{background:linear-gradient(90deg, rgba(82,227,184,.16), rgba(82,227,184,.05) 78%)}
.row.key .amt,.row.key .pct,.row.key .per{border-left-color:var(--mint-line)}
.row.rest{border-top:2px solid var(--mint-line)}
.hint{opacity:.9}
.line{padding-top:5px;padding-bottom:5px}
.add{color:var(--mint-ink);opacity:.92}
.add:hover{background:rgba(82,227,184,.07)}

/* верхняя сводка */
.live{padding:14px 16px;border-radius:16px;background:linear-gradient(140deg, var(--raised), var(--surface));box-shadow:0 14px 30px rgba(2,6,18,.4)}
.live>div+div{border-left:1px solid var(--line);padding-left:14px}
.live .k{letter-spacing:.01em}
.live-wrap{padding-top:2px;padding-bottom:12px}
.live-wrap::after{content:'';display:block;height:10px;background:linear-gradient(var(--bg), transparent)}

/* панель периода и подразделы */
.periodbar{gap:10px;flex-wrap:wrap;margin-bottom:14px}
.plabel{font-size:16px;letter-spacing:.01em}
.per-btn,.per-edit,.ghost,.ftab{transition:border-color .15s, color .15s, background .15s}
.per-btn:hover,.per-edit:hover,.ghost:hover,.ftab:hover{border-color:var(--mint-line);color:var(--ink)}
.subnav{gap:8px}
.ftab.on{box-shadow:0 0 0 1px var(--mint-line) inset}

/* меню */
.nav{box-shadow:0 -10px 30px rgba(2,6,18,.45)}
.tab{transition:background .15s, color .15s}
.tab[aria-selected="true"]{box-shadow:0 0 0 1px var(--line) inset}
@media (min-width:900px){
  .nav{box-shadow:none;background:linear-gradient(180deg, var(--bg2), var(--bg))}
  .nav .brand{padding-bottom:2px;letter-spacing:.01em}
  .nav-items{gap:6px}
  .tab[aria-selected="true"]{background:linear-gradient(90deg, rgba(82,227,184,.14), transparent)}
}

/* дорожная карта */
.overall{padding:18px}
.next{border-radius:16px;padding:16px;box-shadow:0 12px 26px rgba(2,6,18,.32)}
.shead{padding:16px 16px 14px}
.step{padding:13px 16px}
.step:hover{background:rgba(255,255,255,.02)}
.gh{background:rgba(244,201,93,.06)}
.close{border-radius:0 0 16px 16px}

/* CRM */
.board{gap:14px;padding-bottom:14px}
.col{flex-basis:266px;padding:12px;border-radius:16px;background:linear-gradient(180deg, var(--surface), rgba(15,26,58,.72))}
.colhead2{padding-bottom:10px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.cname{letter-spacing:.01em}
.deal{border-radius:12px;background:linear-gradient(180deg, var(--raised), rgba(21,35,77,.78));transition:border-color .15s, transform .12s}
.deal:hover{border-color:var(--mint-line)}
.lrow{padding:15px 16px}
.lrow:hover{background:rgba(255,255,255,.025)}
.lname .hint{margin-top:3px}

/* модальные окна */
.mbox{border-radius:18px}
.mhead{padding:16px}
.mbody{padding:16px 18px 20px}
.mcol{min-width:0}
.feedcol{border-top:1px solid var(--line);padding-top:6px}
@media (min-width:780px){.feedcol{border-top:0;border-left:1px solid var(--line);padding-top:0;padding-left:22px}}
.fsechead{padding-bottom:8px;border-bottom:1px solid var(--line2)}
.composer{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--bg2)}

.gtitle{margin:26px 0 10px;font:500 15px var(--f-display);color:var(--gold-ink)}
.chgrid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:640px){.chgrid{grid-template-columns:1fr 1fr}}
@media (min-width:1150px){.chgrid{grid-template-columns:repeat(3,1fr)}}
.chartcard{display:block;width:100%;padding:13px 14px 12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg, var(--surface), rgba(15,26,58,.72));color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:0 12px 26px rgba(2,6,18,.3)}
.chartcard:hover{border-color:var(--mint-line)}
.chhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.chname{font-weight:600;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.chtrend{white-space:nowrap;font-size:12px;color:var(--muted)}
.chtrend.up{color:var(--mint-ink)}
.chtrend.down{color:var(--danger)}
.spark{display:block;width:100%;height:118px}
.spark .grid{stroke:var(--line2);stroke-width:1}
.spark .trend{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:5 4;opacity:.75}
.spark .line{fill:none;stroke:var(--mint);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.spark .area{fill:rgba(82,227,184,.12);stroke:none}
.spark .dot{fill:var(--mint)}
.chfoot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:8px}
.chlast{font:600 17px var(--f-display);color:var(--mint-ink)}
.chprev{font-size:12px;color:var(--muted)}
.wrow{display:grid;grid-template-columns:5.2rem minmax(0,1fr);align-items:center;gap:10px;margin-bottom:8px}
.wlabel{color:var(--muted);font-size:13px}

.orgscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:10px}
.orgsheet{--z:1;display:grid;gap:calc(8px * var(--z));align-items:stretch;font-size:calc(1rem * var(--z))}
.zoombar{position:sticky;left:0;z-index:2}
.zoomval{min-width:3.4rem;text-align:center;font:500 14px var(--f-display);color:var(--muted)}
.orglead{padding:calc(12px * var(--z)) calc(14px * var(--z));border:1px solid var(--line);border-radius:12px;background:var(--bg2);text-align:center}
.orglead.vacant{border-style:dashed;opacity:.8}
.orgleadn{font-size:calc(12.5px * var(--z));color:var(--muted);line-height:1.35}
.orgleadw{margin-top:calc(4px * var(--z));font-weight:650;font-size:calc(15px * var(--z))}
.orgband{padding:calc(9px * var(--z)) calc(12px * var(--z));border-radius:10px;text-align:center;font:600 calc(14px * var(--z)) var(--f-display);color:var(--a-bg);background:var(--oc)}
.orgdiv,.orgdep{padding:calc(14px * var(--z));border:1px solid var(--line);border-top:4px solid var(--oc);border-radius:12px;background:linear-gradient(180deg, color-mix(in srgb, var(--oc) 16%, var(--surface)), var(--surface))}
.orgdep.vacant{border-style:dashed;border-top-style:solid;opacity:.9}
.orgdivn{font:600 calc(16px * var(--z))/1.3 var(--f-display)}
.orgdepn{font-weight:650;line-height:1.3;font-size:calc(15px * var(--z))}
.orgnote{margin-top:calc(8px * var(--z));font-style:italic;font-size:calc(13px * var(--z));color:var(--muted);line-height:1.45}
.orgwho{margin:calc(8px * var(--z)) 0 calc(10px * var(--z));font-size:calc(13px * var(--z));color:var(--gold-ink)}
.orgdep.vacant .orgwho,.orgdiv .orgwho:empty{color:var(--muted)}
.orgsub{font-size:calc(12.5px * var(--z));color:var(--muted);margin-bottom:calc(3px * var(--z))}
.orgfn{margin:0;padding-left:calc(17px * var(--z));color:var(--ink);font-size:calc(13px * var(--z));line-height:1.5;opacity:.92}
.orgfn li{margin:3px 0}
.orgppl{margin-top:calc(9px * var(--z));padding:calc(8px * var(--z)) calc(10px * var(--z));border:1px solid var(--line2);border-radius:9px;background:var(--bg2);font-size:calc(12.5px * var(--z));color:var(--muted);line-height:1.45}
.orgckp{margin-top:calc(11px * var(--z));padding:calc(10px * var(--z)) calc(12px * var(--z));border-radius:10px;background:rgba(255,255,255,.06);font-weight:600;font-size:calc(13px * var(--z));line-height:1.45}
.orgdiv,.orgdep,.orglead{position:relative}
.orgedit{position:absolute;top:calc(8px * var(--z));right:calc(8px * var(--z));width:calc(26px * var(--z));height:calc(26px * var(--z));display:grid;place-items:center;border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:8px;font-size:calc(13px * var(--z));line-height:1;cursor:pointer;opacity:.75}
.orgedit:hover{opacity:1;border-color:var(--mint-line);color:var(--mint-ink)}
.orgdivn,.orgdepn,.orgleadn{padding-right:calc(30px * var(--z))}
.orgbottom{margin-top:calc(6px * var(--z));padding:calc(14px * var(--z));border-radius:12px;background:var(--mint-bg);border:1px solid var(--mint-line);color:var(--mint-ink);text-align:center;font:600 calc(15px * var(--z))/1.4 var(--f-display)}
.org.blue,.orgband.blue,.orgdiv.blue,.orgdep.blue{--oc:#5B8DEF}
.orgband.gold,.orgdiv.gold,.orgdep.gold{--oc:#E2B53C}
.orgband.violet,.orgdiv.violet,.orgdep.violet{--oc:#8B7BE8}
.orgband.amber,.orgdiv.amber,.orgdep.amber{--oc:#E08A46}
.orgband.green,.orgdiv.green,.orgdep.green{--oc:#4FB477}
.orgband.slate,.orgdiv.slate,.orgdep.slate{--oc:#93A3B5}
.orgband.plum,.orgdiv.plum,.orgdep.plum{--oc:#C2649A}
@media (min-width:700px){.orghead{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}
@media (min-width:760px){.orggrid{grid-template-columns:1fr 1fr}}
@media (min-width:1150px){.orggrid{grid-template-columns:repeat(3,1fr)}}

.hatrow{align-items:center}
.hatprog{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.hatprog .prog.sm{width:74px;height:5px;margin-top:0}
.hatkind{margin-bottom:12px;padding:7px 11px;border:1px solid var(--gold-line);background:var(--gold-bg);color:var(--gold-ink);border-radius:999px;font-size:12.5px;display:inline-block}

.planinner{min-width:780px}
.row.plan{grid-template-columns:minmax(200px,1.6fr) repeat(6, 5.6rem)}
.row.plan.sect.sub2{background:linear-gradient(90deg, rgba(139,123,232,.14), transparent 70%);border-top-color:var(--line)}
.row.plan .amt{font-size:14px}
.devok{color:var(--mint-ink);font-weight:600}
.devmid{color:var(--gold-ink);font-weight:600}
.devbad{color:var(--danger);font-weight:600}
.dayswrap{display:flex;align-items:center;gap:8px;margin-left:auto}
.dayslab{font-size:12.5px;color:var(--muted)}
.daysin{width:4.4rem;min-height:40px}
.taskrow{display:grid;grid-template-columns:26px minmax(0,1fr) 8rem 6rem 2.2rem;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line2)}
.taskrow.done .nm{color:var(--muted);text-decoration:line-through}
.taskrow .who{font-size:14px;color:var(--muted)}
@media (max-width:700px){
  .taskrow{grid-template-columns:26px minmax(0,1fr) 2.2rem;row-gap:6px}
  .taskrow .who{grid-column:2 / 4}
}

/* мелочи */
.foot{margin-top:14px;opacity:.85}
.empty{border:1px dashed var(--line);border-radius:12px}
.chbox{background:linear-gradient(180deg, var(--surface), rgba(15,26,58,.7))}


/* ---------- стиль портала: второй проход ---------- */
:root{
  --r-lg:18px; --r-md:13px; --r-sm:10px;
  --edge:rgba(255,255,255,.055);
}
body{letter-spacing:.002em}
::selection{background:rgba(82,227,184,.28)}
*::-webkit-scrollbar{height:10px;width:10px}
*::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:2px solid transparent;background-clip:content-box}
*::-webkit-scrollbar-thumb:hover{background:var(--mint-line);background-clip:content-box}
*::-webkit-scrollbar-track{background:transparent}

h1{font-weight:500;letter-spacing:-.015em}
h1::after{content:'';display:block;width:42px;height:2px;margin-top:10px;border-radius:2px;
  background:linear-gradient(90deg, var(--mint), rgba(82,227,184,0))}
.lead{max-width:62ch}

.blk,.stage,.col,.chartcard,.mbox,.live,.next,.orgdiv,.orgdep,.orglead{
  border-color:var(--edge);
  background-image:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,0) 42%)}

/* кнопки одного языка */
.per-btn,.per-edit,.ghost,.ftab,.primary,.mclose,.mv,.orgedit,.chip{border-radius:999px}
.per-edit,.ghost,.ftab{padding:0 16px;min-height:40px;display:inline-flex;align-items:center}
.primary{min-height:42px;padding:0 20px;border-radius:999px;
  background:linear-gradient(135deg, #6BEFC6, #35C79E);box-shadow:0 8px 20px rgba(53,199,158,.28)}
.primary:hover{filter:brightness(1.05)}
.ftab.on{background:linear-gradient(135deg, rgba(82,227,184,.22), rgba(82,227,184,.07));border-color:var(--mint-line)}
.per-btn{width:40px;display:inline-grid;place-items:center}

/* меню */
@media (min-width:900px){
  .nav{width:250px;border-right:1px solid var(--edge)}
  .nav .brand{font-size:15px;opacity:.92}
  .tab{border-radius:12px;padding:12px 14px}
  .tab[aria-selected="true"]{box-shadow:none;background:linear-gradient(90deg, rgba(82,227,184,.16), rgba(82,227,184,.02))}
  .tab[aria-selected="true"]::before{content:'';position:absolute;left:0;width:3px;height:22px;border-radius:2px;background:var(--mint)}
  .tab{position:relative}
  main{padding-left:calc(250px + 44px);padding-right:44px}
}
.nav-items{gap:4px}

/* сводка сверху */
.live{border:1px solid var(--mint-line);
  background:linear-gradient(135deg, rgba(82,227,184,.10), rgba(21,35,77,.92) 58%)}
.live .k{text-transform:none;font-size:12.5px}
.live .big{letter-spacing:-.01em}

/* таблицы */
.sheet{border-color:var(--edge)}
.row.colhead{background:rgba(255,255,255,.03);color:var(--muted)}
.row.sect{background:linear-gradient(90deg, rgba(244,201,93,.13), rgba(244,201,93,0) 64%)}
.in{border-radius:var(--r-sm)}
.fin{border-radius:12px}

/* карточки и списки */
.deal{border-radius:var(--r-md)}
.col{border-radius:var(--r-lg)}
.lrow{border-radius:0}
.lrow:first-child{border-radius:var(--r-lg) var(--r-lg) 0 0}
.lrow:last-child{border-radius:0 0 var(--r-lg) var(--r-lg)}
.chartcard{border-radius:var(--r-lg)}
.gtitle{display:flex;align-items:center;gap:10px}
.gtitle::after{content:'';flex:1;height:1px;background:linear-gradient(90deg, var(--line), transparent)}

/* дорожная карта */
.next{background:linear-gradient(135deg, rgba(244,201,93,.14), rgba(15,26,58,.9) 62%)}
.chk{border-radius:9px}

/* модальные окна */
.ovl{background:rgba(3,7,18,.78)}
.mbox{border-radius:var(--r-lg);border-color:var(--edge)}
.mhead{background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,0))}

/* оргсхема */
.orgband{letter-spacing:.02em;box-shadow:0 8px 18px rgba(2,6,18,.32)}
.orgckp{background:rgba(255,255,255,.07);border:1px solid var(--edge)}
.orgbottom{background:linear-gradient(135deg, rgba(82,227,184,.18), rgba(82,227,184,.05))}


.row.an.kind-q{border-left:3px solid var(--mint);background:linear-gradient(90deg, rgba(82,227,184,.14), rgba(82,227,184,.05) 55%, rgba(82,227,184,.02))}
.row.an.kind-q:hover{background:linear-gradient(90deg, rgba(82,227,184,.20), rgba(82,227,184,.07) 55%, rgba(82,227,184,.03))}
.row.an.kind-q .amt{color:var(--mint-ink);font-weight:600}
.row.an.kind-q .pct{color:rgba(134,242,208,.72)}
.row.an.kind-k{border-left:3px solid #8B7BE8;background:linear-gradient(90deg, rgba(139,123,232,.16), rgba(139,123,232,.06) 55%, rgba(139,123,232,.02))}
.row.an.kind-k:hover{background:linear-gradient(90deg, rgba(139,123,232,.22), rgba(139,123,232,.08) 55%, rgba(139,123,232,.03))}
.row.an.kind-k .amt{color:#CFC6FF;font-weight:600}
.row.an.kind-k .pct{color:rgba(207,198,255,.7)}
.row.an.kind-k .in{border-color:rgba(139,123,232,.55);background:rgba(139,123,232,.14);color:#DDD6FF;caret-color:#B9AEFF}
.row.an.kind-k .in:focus{outline-color:#8B7BE8;background:rgba(139,123,232,.22)}
.row.an.kind-q .in{border-color:var(--mint-line);background:rgba(82,227,184,.12);color:var(--mint-ink);caret-color:var(--mint)}
.row.an.kind-q .in:focus{outline-color:var(--mint);background:rgba(82,227,184,.2)}
.row.an.key{background:linear-gradient(90deg, rgba(244,201,93,.16), rgba(244,201,93,.05) 70%)!important;border-left-color:var(--gold)}
.row.an.key .amt{color:var(--gold-ink)}
.row.an.key .pct{color:rgba(255,226,155,.72)}
.row.an.derived .amt{font-weight:600}
.legend{display:flex;gap:14px;margin:0 0 12px;font-size:12.5px;color:var(--muted)}
.lg{display:inline-flex;align-items:center;gap:7px}
.lg::before{content:'';width:12px;height:3px;border-radius:2px}
.lg.q::before{background:var(--mint)}
.lg.k::before{background:#8B7BE8}
.nb{margin:-4px 0 12px;color:var(--gold-ink)}
.row.profit{background:linear-gradient(90deg, rgba(244,201,93,.18), rgba(244,201,93,.05) 74%);border-top:2px solid var(--gold-line)}
.row.profit .amt,.row.profit .pct,.row.profit .name{color:var(--gold-ink)}
.addform{padding:12px 16px 16px;background:var(--bg2);border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:10px}
.grip{flex:0 0 auto;display:inline-grid;place-items:center;width:26px;height:26px;margin-right:10px;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;opacity:.65}
.grip:hover{opacity:1;color:var(--ink);border-color:var(--line)}
.grip.on{opacity:1;color:var(--a-bg);background:var(--mint);border-color:var(--mint)}
.row.an.picked{outline:2px solid var(--mint);outline-offset:-2px}
.row.an.lifted{outline:2px solid var(--mint);outline-offset:-2px;box-shadow:0 12px 28px rgba(2,6,18,.5);opacity:.95}
.grip{touch-action:none}
body.dragging-row{cursor:grabbing;user-select:none}
body.dragging-row .row.an{transition:none}
.row.an.droppable{cursor:pointer}
.row.an.droppable:hover{box-shadow:inset 0 2px 0 var(--mint)}
.row.an .name{display:flex;align-items:center;flex-wrap:wrap}
.row.an .name .hint{flex:0 0 100%;margin-left:26px}
.row.an.lifted{outline:2px solid var(--mint);outline-offset:-2px;opacity:.92;box-shadow:0 10px 24px rgba(2,6,18,.45)}
.x.small{margin-left:8px;min-height:22px;font-size:17px;vertical-align:middle}

/* ---------- третий проход: пропорции и мелочи ---------- */
@media (min-width:900px){
  main{padding-left:calc(250px + 40px);padding-right:40px}
  .page{max-width:940px}
  .page.wide{max-width:1560px}
}
@media (min-width:1700px){ .page.wide{max-width:1760px} }

/* меню: ровные строки, без прыгающих иконок */
@media (min-width:900px){
  .tab{align-items:center;gap:14px;line-height:1.3;text-align:left;padding:12px 14px}
  .tab .ico{flex:0 0 22px;margin-top:0}
  .tab span:not(.ico){display:block}
  .nav .brand{margin-bottom:4px;line-height:1.25}
  .nav .sync{margin-top:auto;padding-top:18px;border-top:1px solid var(--edge);width:100%}
}
.nav .brand{font-weight:600}

/* заголовки страниц */
h1{font-size:clamp(22px,4.4vw,30px);margin-bottom:8px}
h1::after{width:56px;height:2px;margin-top:12px}
.lead{font-size:15px;color:var(--muted)}

/* панель управления над контентом */
.periodbar{align-items:center;padding:10px 12px;border:1px solid var(--edge);border-radius:999px;background:rgba(255,255,255,.028);backdrop-filter:blur(8px)}
.periodbar .ftabs,.periodbar .subnav{border:0;padding:0;background:none}
.subnav{padding:0;border:0;background:none;margin-bottom:16px}
.zoombar{display:inline-flex;width:auto;gap:8px}
.zoomval{min-width:4rem;font-size:15px;color:var(--ink)}

/* сводные плашки */
.live{gap:0;padding:0;overflow:hidden}
.live>div{padding:16px 18px}
.live>div+div{border-left:1px solid var(--edge);padding-left:18px}
.live .k{font-size:12px;opacity:.85}
.live .big{margin-top:6px;font-size:clamp(18px,3.2vw,26px)}

/* оргсхема: воздух и читаемость */
.orgscroll{padding:4px 2px 14px;border:1px solid var(--edge);border-radius:var(--r-lg);background:rgba(255,255,255,.015)}
.orgsheet{padding:12px}
.orglead{background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01));border-radius:999px}
.orgband{border-radius:999px;color:var(--a-bg)}
.orgdiv{border-top-width:5px}
.orgdep{border-top-width:3px}
.orgckp{background:rgba(255,255,255,.055)}
.orgbottom{border-radius:999px}

/* доска CRM */
.board{padding-top:4px}
.col{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(15,26,58,.55))}
.colhead2{border-bottom-color:var(--edge)}

/* графики */
.chartcard{padding:15px 16px 14px}
.chlast{font-size:19px}

/* таблицы */
.row{padding-left:16px;padding-right:16px}
.blk>.sheet,.sheet .inner{border-radius:inherit}
.row.colhead{font-size:12px}


/* ---------- аналитика: цвета периодов и типов строк ---------- */
.mcell.col-month{background:rgba(91,141,239,.16)}
.mcell.col-weeksum{background:rgba(244,201,93,.15)}
.mcell.col-day{background:rgba(82,227,184,.05)}
.mcell.col-weektotal{background:rgba(224,138,70,.18)}
.mcell.col-fold{background:repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 6px, transparent 6px 12px)}

.mcell.head.col-month,.mcell.ghead.col-month{background:rgba(91,141,239,.30);color:#C9DAFF}
.mcell.head.col-weeksum,.mcell.ghead.col-weeksum{background:rgba(244,201,93,.26);color:var(--gold-ink)}
.mcell.head.col-day,.mcell.ghead.col-day{background:rgba(82,227,184,.16);color:var(--mint-ink)}
.mcell.head.col-weektotal{background:rgba(224,138,70,.32);color:#FFC9A0}
.mcell.head .clabel{color:inherit}
.mcell.head.col-fold{padding:4px}

/* типы строк поверх цвета периода */
.mcell.kind-q:not(.name){box-shadow:inset 0 0 0 999px rgba(82,227,184,.05);color:var(--ink)}
.mcell.kind-k:not(.name){box-shadow:inset 0 0 0 999px rgba(139,123,232,.13);color:#D9D2FF;font-style:italic}
.mcell.kind-q.derived,.mcell.kind-k.derived{font-weight:600}
.mcell.col-weeksum.kind-q,.mcell.col-weektotal.kind-q{color:#FFE7B0;font-weight:600}
.mcell.col-month.kind-q{color:#D6E3FF}

.mcell.ghead{justify-content:flex-start;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line)}
.mcell.ghead.name{background:var(--bg2)}
.glabel{white-space:nowrap}
.foldbtn{width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;font:600 14px/1 var(--f-body);cursor:pointer;opacity:.85}
.foldbtn:hover{opacity:1}
.foldcol{width:100%;height:100%;min-height:30px;border:0;background:none;color:var(--ink);font-size:16px;cursor:pointer}
.mcell.head{top:37px}


/* ---------- аналитика: масштаб ---------- */
.anmatrix{--z:1}
.anmatrix .mcell{padding:calc(9px * var(--z)) calc(12px * var(--z));font-size:calc(13.5px * var(--z))}
.anmatrix .mcell.head{padding:calc(10px * var(--z)) calc(12px * var(--z));font-size:calc(12px * var(--z))}
.anmatrix .csub{font-size:calc(11px * var(--z))}
.anmatrix .mcell.editcell{padding:calc(4px * var(--z)) calc(6px * var(--z))}
.anmatrix .mcell.editcell .in{min-height:calc(32px * var(--z));padding:calc(5px * var(--z)) calc(7px * var(--z));font-size:calc(14px * var(--z))}
.anmatrix .grip{width:calc(26px * var(--z));height:calc(26px * var(--z));font-size:calc(15px * var(--z));margin-right:calc(10px * var(--z))}
.anmatrix .foldbtn{width:calc(20px * var(--z));height:calc(20px * var(--z));font-size:calc(13px * var(--z))}
.anmatrix .add.mini{font-size:calc(13px * var(--z))}

/* ---------- аналитика: яркие цвета как в таблице ---------- */
.hrow{display:inline-flex;align-items:center;gap:7px}
.mcell.head{top:0}
.mcell.head.col-month,.mcell.head.col-weeksum{align-items:flex-start}
.mcell.head .foldbtn{width:20px;height:20px;font-size:13px}
.mcell.col-month{background:rgba(0,214,255,.20)}
.mcell.col-weeksum{background:rgba(255,206,120,.20)}
.mcell.col-day{background:transparent}
.mcell.head.col-month,.mcell.ghead.col-month{background:#0FB6D1;color:#03222A}
.mcell.head.col-weeksum,.mcell.ghead.col-weeksum{background:#F2C774;color:#2A1D03}
.mcell.head.col-day,.mcell.ghead.col-day{background:#2A3A6B;color:#E6ECFF}
.mcell.head.today{background:#8B3DFF;color:#fff}
.mcell.head .csub{opacity:.85;font-weight:600}
.mcell.head .clabel{font-weight:700}

/* строки: количественные — жёлтые, качественные — голубые */
.mcell.kind-q:not(.name){box-shadow:inset 0 0 0 999px rgba(255,236,64,.14);color:#FFF6B8;font-style:normal;font-weight:600}
.mcell.kind-k:not(.name){box-shadow:inset 0 0 0 999px rgba(120,150,255,.20);color:#CFDAFF;font-style:normal}
.mcell.col-month.kind-q{color:#E9FDFF}
.mcell.col-weeksum.kind-q{color:#FFE7B8}
.mcell.name.kind-q{background:linear-gradient(90deg, rgba(255,236,64,.26), var(--surface) 92%);border-left:4px solid #FFE640}
.mcell.name.kind-k{background:linear-gradient(90deg, rgba(120,150,255,.26), var(--surface) 92%);border-left:4px solid #7896FF}
.mcell.sect,.mcell.sect.sticky{background:linear-gradient(90deg, rgba(240,150,40,.55), rgba(240,150,40,.30))!important;color:#FFF3E0;border-top:1px solid rgba(240,150,40,.8)}
.mcell.blockstart{border-left:2px solid rgba(255,255,255,.22)}
.mcell.editcell .in{background:rgba(255,236,64,.10);border-color:rgba(255,236,64,.35);color:#FFF6B8}
.mcell.kind-k.editcell .in{background:rgba(120,150,255,.14);border-color:rgba(120,150,255,.45);color:#DCE4FF}
.lg.q::before{background:#FFE640}
.lg.k::before{background:#7896FF}


/* ---------- закреплённая колонка названий: непрозрачная ---------- */
.anmatrix .mcell.sticky{background-color:#0F1A3A!important;box-shadow:6px 0 12px -6px rgba(0,0,0,.6);z-index:5}
.anmatrix .mcell.name.kind-q{background:linear-gradient(90deg, rgba(255,236,64,.26), rgba(255,236,64,.10)), #0F1A3A!important}
.anmatrix .mcell.name.kind-k{background:linear-gradient(90deg, rgba(120,150,255,.28), rgba(120,150,255,.12)), #0F1A3A!important}
.anmatrix .mcell.sect.sticky{background:linear-gradient(90deg, rgba(240,150,40,.60), rgba(240,150,40,.38)), #0F1A3A!important}
.anmatrix .mcell.head.name.sticky{background:#0B1430!important;z-index:6}
.anmatrix .mcell.addcell.sticky{background:#0B1430!important}


/* ---------- менеджеры: воронки и графики ---------- */
.mgrblock{padding:18px}
.mgrblock.total{border-color:rgba(255,206,120,.45);background:linear-gradient(180deg, rgba(255,206,120,.10), rgba(15,26,58,.6))}
.mgrhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.mgrname{margin:0;font:500 18px var(--f-display)}
.mgrmeta{color:var(--muted);font-size:13px}
.mgrnamein{flex:1;min-width:0;padding:6px 0;border:0;border-bottom:1px dashed var(--line);background:transparent;color:var(--ink);font:500 18px var(--f-display)}
.mgrnamein:focus{outline:none;border-bottom-color:var(--mint)}
.ghost.small{min-height:34px;padding:0 12px;font-size:13px;margin-top:0}
.mgrinputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}
.mgrinputs .fl{margin:0}
.mgrinputs .in{background:rgba(255,236,64,.10);border-color:rgba(255,236,64,.35);color:#FFF6B8}
.funnel{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 18px}
.fstage{width:100%;display:flex;justify-content:center}
.fbar{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:220px;padding:11px 16px;border-radius:12px;
  background:linear-gradient(90deg, rgba(255,236,64,.34), rgba(255,206,64,.18));border:1px solid rgba(255,236,64,.5);color:#FFF6C8;transition:width .3s}
.fname{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fval{font:600 17px var(--f-display);white-space:nowrap}
.fconv{padding:3px 12px;border-radius:999px;background:rgba(120,150,255,.20);border:1px solid rgba(120,150,255,.5);color:#D6DFFF;font-size:12.5px}
.fconv b{color:#fff}
.fsum{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;margin-top:8px;font-size:13.5px;color:var(--muted)}
.fsum b{color:var(--ink)}
.mgrcharts{margin-top:4px}
.chartcard.mini{cursor:default;padding:12px 13px}
.chartcard.mini .spark{height:92px}
.chartcard.mini.q{border-color:rgba(255,236,64,.35)}
.chartcard.mini.k{border-color:rgba(120,150,255,.45)}
.spark.q .line{stroke:#FFE640}.spark.q .dot{fill:#FFE640}.spark.q .area{fill:rgba(255,236,64,.12)}
.spark.k .line{stroke:#8FA8FF}.spark.k .dot{fill:#8FA8FF}.spark.k .area{fill:rgba(120,150,255,.14)}
.chartcard.mini.q .chlast{color:#FFF1A0}
.chartcard.mini.k .chlast{color:#C9D5FF}
@media (min-width:1150px){.mgrcharts{grid-template-columns:repeat(4,1fr)}}


.mgrtitle{margin:26px 0 10px}
.mcell.frommgr{font-weight:600;text-decoration:underline dotted rgba(255,255,255,.35);text-underline-offset:3px}

/* ---------- AI ассистент ---------- */
.aibox{display:flex;flex-direction:column;min-height:62vh;max-height:78vh;padding:0}
.ailist{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.aiempty{margin:auto;text-align:center;max-width:44ch}
.aihello{font:500 20px var(--f-display);margin-bottom:8px}
.aimsg{max-width:min(760px, 92%);padding:12px 15px;border-radius:16px;border:1px solid var(--edge);line-height:1.55}
.aimsg.user{align-self:flex-end;background:linear-gradient(135deg, rgba(82,227,184,.22), rgba(82,227,184,.08));border-color:var(--mint-line);border-bottom-right-radius:6px}
.aimsg.assistant{align-self:flex-start;background:rgba(255,255,255,.035);border-bottom-left-radius:6px}
.aimsg.pending .aitext{color:var(--muted)}
.aiwho{font-size:11.5px;color:var(--muted);margin-bottom:5px;letter-spacing:.02em}
.aitext{white-space:pre-wrap;overflow-wrap:anywhere}
.aicompose{padding:14px 16px 16px;border-top:1px solid var(--edge);background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:10px;border-radius:0 0 var(--r-lg) var(--r-lg)}
.aichips .chip{font-size:12.5px}
.aiinput{min-height:64px}
.primary[disabled],.chip[disabled]{opacity:.45;cursor:default;filter:none}

#errbar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:99;padding:12px 16px;border-radius:12px;background:#7A1F2B;color:#FFD9DE;border:1px solid #C24357;font:500 13px/1.4 var(--f-body);cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.5)}
