@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('/fonts/manrope-cyrillic-ext-wght-normal.woff2') format('woff2-variations');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('/fonts/manrope-cyrillic-wght-normal.woff2') format('woff2-variations');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('/fonts/manrope-latin-ext-wght-normal.woff2') format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('/fonts/manrope-latin-wght-normal.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --ink:#171717;--ink-soft:#000;
  --paper:#f8f8f6;--surface:#fff;--surface-2:#f2f3f0;
  --line:#e4e5e1;--line-soft:#edeeea;
  --muted:#626a66;--muted-2:#717873;
  --lime:#171917;--lime-deep:#000;--lime-ink:#087a55;
  --accent:#087a55;--accent-soft:#eaf6f0;
  --ok:#16a34a;--warn:#c2740b;--danger:#dc2626;
  --info:#2f6fb0;--violet:#7c4dcc;--neutral-status:#7c8580;
  --ok-soft:#eaf7ee;--warn-soft:#fff5e5;--danger-soft:#fff0ed;--info-soft:#edf5fc;
  --code-bg:#0d1117;--code-head:#161b22;--code-line:#1f2733;--code-ink:#e6edf3;--code-muted:#8b949e;
  --overlay:rgba(8,18,13,.58);--on-solid:#fff;--accent-ink:#fff;--ok-ink:#06130a;
  --shadow:0 1px 2px rgba(17,17,17,.04),0 1px 3px rgba(17,17,17,.06);
  --shadow-lg:0 10px 40px -12px rgba(17,17,17,.18);
  --serif:'Manrope',-apple-system,sans-serif;
  --r:12px;--r-sm:9px;color-scheme:light;
}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){
  --ink:#ededed;--ink-soft:#fff;
  --paper:#0a0a0a;--surface:#131316;--surface-2:#1c1c20;
  --line:#26262b;--line-soft:#202024;
  --muted:#a0a7a2;--muted-2:#858d87;
  --lime:#ededed;--lime-deep:#fff;--lime-ink:#55d6a0;
  --accent:#55d6a0;--accent-soft:#122a20;
  --ok:#3fb96b;--warn:#e0992a;--danger:#f0603a;
  --info:#68a8e8;--violet:#b094f4;--neutral-status:#9ba39e;
  --ok-soft:#14281c;--warn-soft:#302313;--danger-soft:#321a17;--info-soft:#142537;
  --overlay:rgba(0,0,0,.72);--on-solid:#fff;--accent-ink:#07120d;--ok-ink:#06130a;
  --shadow:0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 12px 40px -12px rgba(0,0,0,.6);
  color-scheme:dark;
}}
:root[data-theme=dark]{
  --ink:#ededed;--ink-soft:#fff;
  --paper:#0a0a0a;--surface:#131316;--surface-2:#1c1c20;
  --line:#26262b;--line-soft:#202024;
  --muted:#a0a7a2;--muted-2:#858d87;
  --lime:#ededed;--lime-deep:#fff;--lime-ink:#55d6a0;
  --accent:#55d6a0;--accent-soft:#122a20;
  --ok:#3fb96b;--warn:#e0992a;--danger:#f0603a;
  --info:#68a8e8;--violet:#b094f4;--neutral-status:#9ba39e;
  --ok-soft:#14281c;--warn-soft:#302313;--danger-soft:#321a17;--info-soft:#142537;
  --overlay:rgba(0,0,0,.72);--on-solid:#fff;--accent-ink:#07120d;--ok-ink:#06130a;
  --shadow:0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 12px 40px -12px rgba(0,0,0,.6);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font:14px/1.55 'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}
a{color:inherit;text-decoration:none}
.link-button{appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}
#app{display:flex;min-height:100vh;position:relative;z-index:1}
.ic{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block}
.ti{display:inline-block;width:1em;height:1em;flex:none;background:currentColor;vertical-align:-.14em;-webkit-mask:var(--ti) center/contain no-repeat;mask:var(--ti) center/contain no-repeat}
nav.side{width:240px;background:var(--surface-2);border-right:1px solid var(--line);color:var(--ink);position:fixed;inset:0 auto 0 0;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);display:flex;flex-direction:column;z-index:40}
.side-top{padding:16px 12px 8px;display:flex;flex-direction:column;gap:8px;flex:none}
.brand{font-weight:800;font-size:15px;letter-spacing:-.02em;padding:2px 4px 6px;display:flex;align-items:center;gap:8px}
.brand .bmark{display:block;width:25px;height:25px;flex:none;border-radius:7px}
.brand .bsub{color:var(--muted-2);font-weight:600}
.newproj{width:100%;display:flex;align-items:center;gap:8px;font:650 13.5px 'Manrope',sans-serif;background:var(--ink);color:var(--paper);border:0;border-radius:9px;padding:10px 13px;cursor:pointer;transition:transform .12s,background .12s;box-shadow:var(--shadow)}
.newproj:hover{background:var(--ink-soft)}
.newproj .ic{width:16px;height:16px;stroke-width:2.2}
.palbtn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);font:600 13px 'Manrope',sans-serif;cursor:pointer;width:100%}
.palbtn:hover{border-color:var(--muted-2);color:var(--ink)}
.palbtn .pl{display:flex;align-items:center;gap:8px}
.palbtn .ic{width:15px;height:15px}
.palbtn kbd{font:11px ui-monospace,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--muted-2)}
.side-nav{flex:none;overflow-y:auto;padding:6px 8px 6px;display:flex;flex-direction:column;gap:1px}
.side-recent{flex:1;min-height:0;overflow-y:auto;padding:0 8px 10px;display:flex;flex-direction:column;gap:1px}
.side-recent::-webkit-scrollbar{width:8px}.side-recent::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.side-grp{font:700 10px 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--muted-2);padding:12px 10px 6px;display:flex;align-items:center;justify-content:space-between}
.side-grp a{font-size:10px;color:var(--muted-2);font-weight:600;text-transform:none;letter-spacing:0}
.side-grp a:hover{color:var(--accent)}
.conv{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:7px;cursor:pointer;color:var(--muted);transition:background .12s,color .12s;min-width:0}
.conv:hover{background:var(--surface);color:var(--ink)}
.conv.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}
.conv .cdot{width:7px;height:7px;border-radius:99px;flex:none}
.conv .conv-t{flex:1;min-width:0;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv .conv-dl{font:700 10px ui-monospace,monospace;flex:none}
.side-nav::-webkit-scrollbar{width:8px}.side-nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.navlink{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--muted);font:600 13.5px 'Manrope',sans-serif;cursor:pointer;transition:background .12s,color .12s}
.navlink .ic{width:17px;height:17px;flex:none;opacity:.7}
.navlink:hover{background:var(--surface);color:var(--ink)}
.navlink.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.navlink.active .ic{opacity:1;color:var(--accent)}
.navcount{margin-left:auto;font:600 11px ui-monospace,monospace;color:var(--muted-2);background:var(--surface);border:1px solid var(--line);border-radius:99px;min-width:20px;text-align:center;padding:0 6px}
.navlink.active .navcount{background:var(--surface-2)}
.nav-grp{font:700 10px 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--muted-2);padding:15px 10px 5px}
.side-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-top:1px solid var(--line);flex:none}
.themebtn{background:none;border:0;color:var(--muted);font:600 12px 'Manrope',sans-serif;cursor:pointer;padding:5px 8px;border-radius:7px}
.themebtn .ti{width:15px;height:15px;margin-right:6px}
.themebtn:hover{color:var(--ink);background:var(--surface)}
.side-foot .ver{font-size:10.5px;color:var(--muted-2)}
#main{margin-left:240px;flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;height:calc(55px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));background:color-mix(in srgb,var(--paper) 80%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.tb-ctx{font-weight:700;font-size:14px;letter-spacing:-.01em}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:4px}
.tb-gen{display:none;align-items:center;gap:7px;font:600 12px 'Manrope',sans-serif;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:99px;padding:5px 12px;text-decoration:none;white-space:nowrap;margin-right:4px}
.tb-gen:hover{filter:brightness(.97)}
.tb-gen .gd{width:7px;height:7px;border-radius:99px;background:var(--accent);animation:genpulse 1.2s ease-in-out infinite;flex:none}
@keyframes genpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}
@media(max-width:680px){.tb-gen .gt{display:none}.tb-gen{padding:6px;margin-right:2px}}
.tb-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer;transition:.12s}
.tb-icon:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}
.tb-icon .ic{width:17px;height:17px}
.sidetoggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:2px}
.sidetoggle .ic{width:22px;height:22px}
#view{flex:1;padding:28px clamp(22px,3vw,44px) 72px;width:100%;max-width:1600px;margin:0 auto;overflow-x:hidden}
.scrim{display:none}
.proj-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.proj-title h1{font-family:'Manrope',sans-serif;font-weight:800;font-size:25px;letter-spacing:-.03em;line-height:1.05}
.proj-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:9px}
.proj-client{font-size:12.5px;color:var(--muted)}
.proj-acts{display:flex;gap:8px;flex-wrap:wrap;flex:none}
.actions-menu{position:relative}.actions-menu>summary{list-style:none;min-width:42px;text-align:center}.actions-menu>summary::-webkit-details-marker{display:none}
.actions-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:190px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg)}
.actions-pop button{display:block;width:100%;border:0;background:none;color:var(--ink);text-align:left;padding:9px 10px;border-radius:7px;font:600 12.5px 'Manrope',sans-serif;cursor:pointer}
.actions-pop button:hover{background:var(--surface-2)}.actions-pop button.danger{color:var(--danger)}
.client-card{cursor:default}.client-next{margin:2px 8px 14px;padding:10px 11px;background:var(--surface-2);border-radius:var(--r-sm)}
.client-next span{display:block;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.client-next b{display:block;margin-top:3px;font-size:13px;font-weight:600}
.client-foot{display:flex;justify-content:space-between;gap:10px;color:var(--muted-2);font-size:11px;padding:2px 8px 0}
.head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;flex-wrap:wrap;gap:12px}
h1{font-family:'Manrope',sans-serif;font-weight:800;font-size:26px;letter-spacing:-.04em;line-height:1.05}
.btn{font:600 13px/1 'Manrope',sans-serif;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 14px;cursor:pointer;color:var(--ink);transition:.13s;box-shadow:var(--shadow)}
.btn:hover{border-color:var(--muted-2);background:var(--surface-2)}
.btn:active,.newproj:active,.palbtn:active,.tb-icon:active{transform:translateY(1px) scale(.985)}
.btn.pri{background:var(--ink);color:var(--surface);border-color:var(--ink);font-weight:600}
.btn.pri:hover{background:var(--ink-soft);border-color:var(--ink-soft)}
.btn.asknext{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.btn.asknext:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.form .fhint{font-size:12.5px;color:var(--muted);margin:-2px 0 15px;line-height:1.5;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:9px 12px}
.form .lh{color:var(--muted-2);font-weight:400;font-size:11px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:30px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:17px 19px;position:relative;box-shadow:var(--shadow)}
.stat .n{font-weight:800;font-size:28px;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.stat .l{font-size:11px;color:var(--muted);margin-top:8px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:flex;align-items:center;gap:6px}
.grid{display:grid;gap:13px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:17px 18px;cursor:pointer;transition:box-shadow .16s,border-color .16s,transform .16s;position:relative;box-shadow:var(--shadow)}
.card::before{content:"";position:absolute;top:17px;left:0;width:3px;height:20px;background:var(--a,var(--muted-2));border-radius:0 3px 3px 0}
.card:hover{box-shadow:var(--shadow-lg);border-color:var(--muted-2);transform:translateY(-1px)}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-left:8px}
.card h2{font-weight:700;font-size:17px;letter-spacing:-.01em}
.meta{color:var(--muted);font-size:12.5px;margin:4px 0 13px;padding-left:8px}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding-left:8px}
.pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:7px;white-space:nowrap}
.pill.g{background:var(--surface-2);border:1px solid var(--line-soft);color:var(--muted);font-weight:600}
.next{font-size:13px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:10px 12px;margin-left:8px;line-height:1.45}
.next b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-2);margin-bottom:3px;font-weight:700}
.next.edit{cursor:text}
.next.edit:hover{border-color:var(--line);background:var(--surface)}
.next .edim{float:right;font-size:9px;color:var(--muted-2);opacity:0;transition:.15s;font-weight:700;letter-spacing:.04em}
.next.edit:hover .edim{opacity:.75}
.next .dim{color:var(--muted-2)}
.next .ntext{display:block;white-space:pre-wrap}
.next.editing{cursor:default;background:var(--surface);border-color:var(--ink)}
textarea.ninl{width:100%;margin:2px 0 8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:13px/1.45 'Manrope',sans-serif;color:var(--ink);resize:vertical;box-sizing:border-box}
textarea.ninl:focus{outline:none;border-color:var(--ink)}
.ninl-acts{display:flex;gap:8px;justify-content:flex-end}
.btn.xs{padding:5px 11px;font-size:12px}
.nextwrap{margin:0 0 14px}.nextwrap .next{margin-left:0}
.filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.filterbar select{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 11px;font:600 12.5px 'Manrope',sans-serif;color:var(--muted);cursor:pointer}
.filterbar select:hover{border-color:var(--ink);color:var(--ink)}
.filterbar .fspring{flex:1 1 auto}
.filterbar .fcount{font-size:12px;color:var(--muted-2);font-weight:600;white-space:nowrap}
@media(max-width:680px){.filterbar .fspring{display:none;flex-basis:100%}.filterbar select{flex:1 1 40%}}
.dealsum{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:6px}
.dbar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-bottom:11px}
.dbar-fill{height:100%;background:var(--lime);border-radius:99px;transition:width .35s}
.dsum-row{display:flex;justify-content:space-between;font-size:14px;flex-wrap:wrap;gap:6px}
.dsum-row .r{color:var(--muted)}
.dwarn{margin-top:11px;font-size:12.5px;font-weight:600;color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 28%,var(--line));border-radius:var(--r-sm);padding:7px 11px}
.dlist{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.prow,.srow{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}
.prow .pamt{font-weight:700;font-size:15px}
.prow .pmeta{color:var(--muted);font-size:12.5px}
.prow .pchk{margin-left:auto}
.pchk{font:600 11.5px 'Manrope',sans-serif;border-radius:7px;padding:5px 10px;cursor:pointer;border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));background:var(--warn-soft);color:var(--warn);white-space:nowrap}
.pchk.on{border-color:color-mix(in srgb,var(--ok) 40%,var(--line));background:var(--ok-soft);color:var(--ok)}
.prcpt{display:inline-flex;align-items:center;gap:4px;font:600 11.5px 'Manrope',sans-serif;border-radius:7px;padding:5px 9px;cursor:pointer;white-space:nowrap;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);text-decoration:none}
.prcpt:hover{border-color:var(--muted-2);color:var(--ink)}
.prcpt.open{border-color:color-mix(in srgb,var(--info) 34%,var(--line));background:var(--info-soft);color:var(--info)}
.prcpt.open:hover{border-color:var(--info);color:var(--info)}
.prcpt.x{padding:5px 8px;color:var(--muted)}
.prcpt.x:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}
.prcpt .fic{width:13px;height:13px;flex:none}
.srow .stitle{flex:1;min-width:0;font-size:14px}
.srow .samt{font-weight:700;font-size:14px;white-space:nowrap}
.sstat{font:600 11.5px 'Manrope',sans-serif;border-radius:7px;padding:5px 10px;cursor:pointer;white-space:nowrap}
.dempty{color:var(--muted-2);font-size:13px;padding:6px 2px}
.dadd{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}
.dadd select,.dadd input{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font:600 13px 'Manrope',sans-serif;color:var(--ink)}
.dadd select:focus,.dadd input:focus{outline:none;border-color:var(--ink)}
@media(max-width:680px){
  .prow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
  .prow>.pill{grid-column:1;grid-row:1}.prow .pamt{grid-column:2;grid-row:1;min-width:72px;white-space:nowrap}.prow .pchk{grid-column:3;grid-row:1;margin-left:0}
  .prow .prcpt{grid-row:2}.prow>.tdel{grid-column:3;grid-row:2;justify-self:end}.prow .pmeta{grid-column:1/-1;grid-row:3;width:100%}
  .dadd input,.dadd select{flex:1 1 42%}.dadd .btn{flex:1 1 100%}
}
.drow{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}
.drow .dname{flex:1;min-width:0;color:var(--lime-ink);text-decoration:underline;text-decoration-color:var(--lime-deep);word-break:break-all;font-size:14px;font-weight:600}
.drow .dmeta{color:var(--muted);font-size:12px;white-space:nowrap}
.dhint{color:var(--muted-2);font-size:11.5px;margin-top:3px}
.dealsec{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px 15px;margin-bottom:12px}
.dsec-h{font:700 12px 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:2px 2px 12px}
.dsec-sub{color:var(--muted-2);font-weight:500;text-transform:none;letter-spacing:0}
.sedit{font:600 11px 'Manrope',sans-serif;color:var(--muted-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:4px 8px;cursor:pointer;white-space:nowrap}
.sedit:hover{border-color:var(--ink);color:var(--ink)}
.srow.editing{gap:8px}
.srow.editing .sedit-t{flex:1;min-width:0}
.srow.editing .sedit-a{width:90px;flex:none}
.srow.editing input{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;font:600 13px 'Manrope',sans-serif;color:var(--ink)}
.srow.editing input:focus{outline:none;border-color:var(--ink)}
.dadd input[type=file]{border:1px dashed var(--line);background:var(--surface-2);font:500 12.5px 'Manrope',sans-serif;color:var(--muted);max-width:100%;cursor:pointer}
.dadd input[type=file]::file-selector-button{font:600 12px 'Manrope',sans-serif;border:0;background:var(--ink);color:var(--paper);border-radius:6px;padding:5px 10px;margin-right:10px;cursor:pointer}
.dot{display:inline-block;width:8px;height:8px;border-radius:99px;margin-right:6px;vertical-align:middle}
.up{background:var(--ok)}.down{background:var(--danger)}.unk{background:var(--neutral-status)}
.hrow{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px;margin-bottom:9px;font-size:14px}
.hrow .r{font-size:12.5px;color:var(--muted)}
.srvgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));margin-bottom:24px}
.srv{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);position:relative;overflow:hidden;transition:border-color .14s}
.srv:hover,.srv[open]{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.srv::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--a,var(--muted-2))}
.srv>summary{list-style:none;cursor:pointer;padding:16px 18px 15px 20px}
.srv>summary::-webkit-details-marker{display:none}
.srv[open]>summary{border-bottom:1px solid var(--line-soft)}
.srv .stop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.srv h2{font-weight:700;font-size:16px;letter-spacing:-.01em}
.srv .saddr{font:12px/1.4 ui-monospace,monospace;color:var(--muted);margin:6px 0 11px;word-break:break-all}
.srv .pills{margin:0;padding:0}
.srv .sbody{padding:14px 18px 16px 20px}
.srvcmd{background:var(--code-bg);border:1px solid var(--code-line);border-radius:var(--r-sm);padding:9px 11px;display:flex;align-items:center;gap:10px;overflow:auto}
.srvcmd code{white-space:pre;flex:1;color:var(--code-ink);font:12px/1.5 ui-monospace,monospace;background:none;border:0;padding:0}
.srvnote{color:var(--muted);margin-top:11px;line-height:1.55;font-size:12.5px}
.srverr{margin-top:10px}
.srvexp{color:var(--muted-2);font-size:11px;margin-top:10px;font-weight:600;letter-spacing:.02em}
.detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;max-width:840px}
.md h1{font-family:'Manrope',sans-serif;font-size:21px;margin:0 0 8px;letter-spacing:-.02em}
.md h2{font-weight:800;font-size:15px;margin:22px 0 8px;padding-top:16px;border-top:1px solid var(--line-soft);text-transform:uppercase;letter-spacing:.03em}
.md h2:first-child{border:0;padding:0}
.md ul{margin:6px 0 6px 20px}.md li{margin:4px 0}
.md p{margin:9px 0;color:var(--ink)}.md hr{border:0;border-top:1px solid var(--line-soft);margin:18px 0}
.md code{background:var(--surface-2);border:1px solid var(--line-soft);padding:1px 6px;border-radius:5px;font-size:12.5px}
.md a{color:var(--lime-ink);text-decoration:underline;text-decoration-color:var(--lime-deep)}
.md blockquote{border-left:3px solid var(--lime);padding:6px 14px;color:var(--muted);margin:10px 0;background:var(--surface-2)}
.back{font-size:13px;color:var(--muted);margin-bottom:16px;display:inline-block;cursor:pointer;font-weight:600}
.back:hover{color:var(--ink)}
.filebox{margin-top:20px;font-size:13px}.filebox b{color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.filebox div{padding:3px 0;color:var(--ink)}
.gitline{font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 14px;margin:0 0 12px}
.loading{color:var(--muted-2);padding:50px;text-align:center;font-size:14px}
.sec{font:700 12px/1 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:28px 0 13px}
.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:11px 17px;border-radius:11px;font-size:13px;font-weight:600;box-shadow:0 10px 30px -8px rgba(0,0,0,.45);opacity:0;transition:.25s;z-index:80;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.ok{background:var(--ok);color:var(--ok-ink)}
.bstage{margin-top:9px;width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:5px 7px;font:12px 'Manrope',sans-serif;color:var(--muted);cursor:pointer}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:34px 24px;text-align:center;color:var(--muted);font-size:14px;max-width:520px}
.empty b{display:block;color:var(--ink);font-weight:700;font-size:15px;margin-bottom:5px}
.empty .btn{margin-top:14px}
.palbtn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--muted);font:600 13px 'Manrope',sans-serif;cursor:pointer;width:100%}
.palbtn:hover{border-color:var(--muted-2);color:var(--ink)}
.palbtn kbd{font:11px ui-monospace,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--muted-2)}
.pal{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:11vh 16px 16px;z-index:90}
.palbox{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;max-width:560px;box-shadow:0 30px 80px -24px rgba(12,19,34,.55);overflow:hidden}
.palin{width:100%;border:0;border-bottom:1px solid var(--line);padding:16px 18px;font:16px 'Manrope',sans-serif;outline:0;background:none;color:var(--ink)}
.pallist{max-height:52vh;overflow:auto;padding:6px}
.palitem{display:flex;width:100%;align-items:center;gap:11px;padding:10px 12px;border:0;background:none;color:var(--ink);text-align:left;border-radius:9px;cursor:pointer;font:14px 'Manrope',sans-serif}
.muted{color:var(--muted-2)}
.palitem .pk{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;margin-left:auto;flex:none}
.palitem.sel{background:var(--surface-2)}
.palitem .pdot{width:8px;height:8px;border-radius:99px;flex:none}
.palhint{padding:9px 15px;font-size:11px;color:var(--muted-2);border-top:1px solid var(--line);display:flex;gap:16px}
.palhint kbd{font:inherit;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.taskbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;max-width:840px;margin-bottom:14px}
.taskhead{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);font-weight:700;margin-bottom:11px}
.task{display:flex;align-items:center;gap:10px;min-height:44px;padding:5px 0;font-size:14px;border-bottom:1px solid var(--line-soft)}
.task:last-of-type{border-bottom:0}
.task.d .tt{color:var(--muted-2);text-decoration:line-through}
.task .tt{flex:1;min-width:0}
.ck2{width:32px;height:32px;border:0;background:transparent;border-radius:7px;cursor:pointer;flex:none;position:relative;padding:0}
.ck2::before{content:"";position:absolute;width:16px;height:16px;left:8px;top:8px;border:1.6px solid var(--neutral-status);border-radius:5px;background:var(--surface)}
.ck2.done{background:transparent;border-color:var(--lime)}
.ck2.done::before{background:var(--lime);border-color:var(--lime)}
.ck2.done::after{content:"";position:absolute;left:13px;top:9px;width:4px;height:8px;border:solid var(--surface);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ck2:focus-visible,.tdel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tdel{width:32px;height:32px;background:none;border:0;color:var(--muted-2);font-size:19px;cursor:pointer;line-height:1;border-radius:7px}
.tdel .ti{width:16px;height:16px}
.tdel:hover{color:var(--danger)}
.taskdue{font:600 11.5px 'Manrope',sans-serif;color:var(--muted);white-space:nowrap}
.taskdue.bad{color:var(--danger)}.taskdue.warn{color:var(--warn)}
.taskadd{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;gap:8px;margin-top:12px}
.taskadd input{flex:1;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 11px;font:inherit;background:var(--surface-2)}
.taskadd input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;background:var(--surface)}
.task.editing{display:grid;grid-template-columns:minmax(180px,1fr) 145px auto auto;gap:8px;padding:9px 0}
.task.editing input{min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;font:inherit;color:var(--ink);background:var(--surface)}
.task.editing input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:620px){.task.editing{grid-template-columns:1fr auto}.task-edit-text{grid-column:1/-1}.task-edit-due{min-height:38px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:620px){.taskadd{grid-template-columns:1fr auto}.taskadd input[type=date]{grid-column:1}.taskadd .btn{grid-column:2;grid-row:1/3}}
.ck{display:inline-block;width:15px;height:15px;border:1.6px solid var(--neutral-status);border-radius:4px;margin-right:9px;vertical-align:-3px;position:relative;flex:none}
.ck.done{background:var(--lime);border-color:var(--lime)}
.ck.done::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--surface);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ck.prog{border-color:var(--lime)}.ck.prog::after{content:"";position:absolute;inset:3px;background:var(--lime);border-radius:1px}
.md li.task{list-style:none;margin-left:-18px}
.cmsg.ai .md .ck{border-color:var(--muted)}
.frow.dir{font-weight:600;color:var(--ink)}
.frow.dir::before{content:"▸ ";color:var(--muted-2)}
.frow:not(.dir)::before{content:"· ";color:var(--muted-2)}
.vtog{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:2px}
.vtog a{padding:6px 13px;font-size:13px;font-weight:600;color:var(--muted);border-radius:7px;cursor:pointer}
.vtog a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(12,19,34,.08)}
.board{display:flex;gap:12px;overflow-x:auto;padding:0 20px 14px 0;align-items:flex-start;scroll-snap-type:x proximity}
.bcol{flex:0 0 260px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:8px;display:flex;flex-direction:column;max-height:calc(100vh - 200px);min-height:120px;scroll-snap-align:start;transition:border-color .12s,background .12s}
.bcol.drag{border-color:var(--accent);background:var(--accent-soft)}
.bcol-head{display:flex;align-items:center;gap:8px;padding:4px 6px 9px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex:none}
.bcol-head .cdot{width:9px;height:9px;border-radius:99px;flex:none}
.bcol-head .cnt{margin-left:auto;color:var(--muted-2);background:var(--surface);border:1px solid var(--line);border-radius:99px;min-width:20px;text-align:center;padding:1px 6px;font-size:11px}
.bcol-body{overflow-y:auto;overflow-x:hidden;flex:1 1 auto;display:flex;flex-direction:column;gap:7px;padding-right:3px}
.bcol-body::-webkit-scrollbar{width:7px}.bcol-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.bcol-empty{color:var(--muted-2);font-size:11.5px;text-align:center;padding:12px 0;opacity:.55}
.bcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 10px;cursor:grab}
.bcard:active{cursor:grabbing}
.bcard:hover{box-shadow:0 6px 16px -9px rgba(12,19,34,.28);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.bcard.dragging{opacity:.35}
.bcard-t{display:flex;align-items:flex-start;gap:7px}
.bcard-t .pdot{width:7px;height:7px;border-radius:99px;flex:none;margin-top:5px}
.bcard h3{font-size:13.5px;font-weight:700;letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}
.bcard .bmeta{font-size:11px;color:var(--muted);margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfoot{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:8px}
.bfoot .amt{font-weight:700;font-size:12px;color:var(--ink);white-space:nowrap}
.bfoot .nomoney{color:var(--muted-2);font-weight:400}
.bfoot .bfr{display:flex;align-items:center;gap:7px;flex:none}
.bdl{font-size:10px;font-weight:700;border:1px solid;border-radius:6px;padding:1px 6px;white-space:nowrap}
.bmove{font:600 10px 'Manrope',sans-serif;color:var(--muted-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}
.bmove:hover{border-color:var(--ink);color:var(--ink)}
.bmove-sel{font:600 11px 'Manrope',sans-serif;border:1px solid var(--ink);border-radius:6px;padding:2px 4px;background:var(--surface);color:var(--ink);cursor:pointer;max-width:120px}
@media(max-width:680px){.bcol{flex-basis:82vw;max-height:calc(100vh - 185px)}}
@media(max-width:680px){
  .board{display:block;overflow:visible}.bcol{width:100%;max-height:none;margin-bottom:12px}.bcol-body{overflow:visible}.bcol-empty{display:none}
  .bcol-head{position:sticky;top:52px;z-index:3;background:var(--paper);padding:10px 6px}
  .bcol:has(.bcol-empty){min-height:0;padding-bottom:4px;margin-bottom:8px}.bcol:has(.bcol-empty) .bcol-head{position:static;padding:7px 6px 5px}
  .bcard{cursor:pointer}.bmove{min-height:30px}
}
.tabs{display:flex;gap:2px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.tabs button{padding:10px 16px;font:600 14px 'Manrope',sans-serif;color:var(--muted);cursor:pointer;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent}
.tabs button:hover{color:var(--ink)}
.tabs button.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}
.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px 6px 0 0}
.history{max-width:840px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 18px;box-shadow:var(--shadow)}
.history-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.history-item:last-child{border-bottom:0}
.history-dot{width:10px;height:10px;border-radius:99px;background:var(--muted-2);margin-top:5px}
.history-dot.status{background:var(--accent)}.history-dot.payment{background:var(--ok)}.history-dot.task{background:var(--warn)}.history-dot.document{background:var(--violet)}.history-dot.archive{background:var(--muted)}
.history-text{font-size:13.5px;font-weight:600;line-height:1.4}
.history-detail{font-size:12px;color:var(--muted);margin-top:3px;white-space:pre-wrap;overflow-wrap:anywhere}
.history-time{font-size:11.5px;color:var(--muted-2);white-space:nowrap;padding-top:2px}
.history-tools{max-width:840px;margin:0 0 10px}.history-filter{min-height:36px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:7px 34px 7px 10px;font:600 12.5px 'Manrope',sans-serif;cursor:pointer}.history-filter:focus{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:620px){.tabs{overflow-x:auto}.tabs button{padding:10px 12px;white-space:nowrap}.history-item{grid-template-columns:18px minmax(0,1fr)}.history-time{grid-column:2}}
.crumbs{font-size:12.5px;color:var(--muted);margin-bottom:10px;word-break:break-all;font-family:ui-monospace,monospace}
.files{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;max-width:840px}
.frow{padding:11px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer;font-size:14px}
.frow:hover{background:var(--surface-2)}.frow:last-child{border-bottom:0}
.code{background:var(--code-bg);color:var(--code-ink);padding:14px;border-radius:var(--r-sm);overflow:auto;font:12.5px/1.5 ui-monospace,Menlo,monospace;max-width:840px;max-height:60vh;white-space:pre-wrap;word-break:break-word;margin-top:6px;border:1px solid var(--code-line)}
.cmeta{font-size:12px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;margin-bottom:12px;max-width:880px}
.cmeta code{background:var(--surface);color:var(--ink);border:1px solid var(--line-soft);padding:1px 5px;border-radius:4px}
.cmeta a{font-weight:600}
.chatbox{background:none;border:0;border-radius:0;padding:0;max-width:1040px;margin:0;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 205px);box-shadow:none;position:relative}
.chatlog{display:flex;flex-direction:column;gap:28px;padding:14px 10px 18px;overflow:auto;flex:1;scroll-behavior:smooth;scrollbar-gutter:stable}
.cmsg{font-size:15px;line-height:1.72;width:100%;max-width:820px;margin:0 auto;animation:fade .3s ease both}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cmsg.me{display:flex;justify-content:flex-end}
.cmsg.me .ub{background:var(--accent-soft);color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));padding:11px 16px;border-radius:18px 18px 6px 18px;white-space:pre-wrap;max-width:78%;text-align:left;overflow-wrap:anywhere;font-size:14.5px}
.cmsg.ai{color:var(--ink);padding-left:40px;position:relative}
.answer-copy{position:absolute;right:0;top:0;border:1px solid transparent;background:var(--paper);color:var(--muted-2);border-radius:6px;padding:4px 7px;font:600 10.5px 'Manrope',sans-serif;cursor:pointer;opacity:0;transition:opacity .12s,color .12s,border-color .12s}
.cmsg.ai:hover .answer-copy,.answer-copy:focus-visible{opacity:1}.answer-copy:hover{color:var(--accent);border-color:var(--line);background:var(--surface)}
.cmsg.ai>.md{padding-right:54px;overflow-wrap:anywhere}.cmsg.ai>.md p{max-width:76ch}.cmsg.ai>.md>:first-child{margin-top:0}.cmsg.ai>.md>:last-child{margin-bottom:0}
.cmsg.ai::before{content:"✦";position:absolute;left:0;top:-1px;display:grid;place-items:center;width:28px;height:28px;background:var(--ink);color:var(--surface);border-radius:8px;font-size:14px;font-weight:700;box-shadow:inset 0 0 0 1px rgb(255 255 255/.08),0 1px 2px var(--shadow)}
.cmsg.ai .md p{margin:9px 0;color:var(--ink)}
.cmsg.ai .md h1,.cmsg.ai .md h2{font-size:15px;border:0;padding:0;margin:14px 0 5px;color:var(--ink);text-transform:none;letter-spacing:-.01em;font-weight:700}
.cmsg.ai .md ul{margin:7px 0 7px 20px}.cmsg.ai .md li{margin:4px 0;color:var(--ink)}
.cmsg.ai .md code{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}
.cmsg.ai .md a{color:var(--lime-ink);text-decoration:underline;text-decoration-color:var(--lime-deep)}
.cmsg.ai .md hr{border-top:1px solid var(--line)}
.cmsg.ai .md blockquote{border-left:3px solid var(--lime);color:var(--muted);background:var(--surface-2)}
.cb{background:var(--code-bg);border:1px solid var(--code-line);border-radius:10px;overflow:hidden;margin:14px 0;max-width:100%}
.cbh{display:flex;justify-content:space-between;align-items:center;padding:6px 13px;background:var(--code-head);border-bottom:1px solid var(--code-line);font:11px/1 ui-monospace,monospace;color:var(--code-muted)}
.cbcopy{background:none;border:0;color:var(--code-muted);font-size:11px;cursor:pointer;font-weight:600;font-family:inherit}
.cbcopy:hover{color:var(--lime)}
.cb pre{padding:12px 14px;overflow:auto;margin:0}
.cb code{background:none;border:0;color:var(--code-ink);font:12.5px/1.55 ui-monospace,Menlo,monospace;white-space:pre;padding:0}
.pending{width:100%;max-width:768px;margin:0 auto}
.think-wrap{display:flex;align-items:center;gap:10px;font-size:14px}
.shimmer{background:linear-gradient(90deg,var(--muted-2) 0%,var(--ink) 50%,var(--muted-2) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sh 1.6s linear infinite}
@keyframes sh{to{background-position:-200% 0}}
.dots{display:inline-flex;gap:4px}
.dots i{width:6px;height:6px;border-radius:50%;background:var(--lime);animation:bd 1.4s infinite both}
.dots i:nth-child(2){animation-delay:.18s}.dots i:nth-child(3){animation-delay:.36s}
@keyframes bd{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
/* живой стрим: статусы вызовов инструментов + текст по мере ответа (классы с префиксом tact- — чтобы не конфликтовать с .tstep степпера и .acts форм) */
.cmsg.live .md:empty{display:none}
.tacts{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.tacts:empty{display:none}
.tact{display:flex;align-items:baseline;gap:8px;font-size:12.5px;line-height:1.5;padding:3px 9px;background:var(--paper);border:1px solid var(--line);border-radius:8px;animation:tin .18s ease;max-width:100%}
.tact-n{font-weight:600;color:var(--accent);white-space:nowrap;flex:none}
.tact-v{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.tact.note{color:var(--muted);font-style:italic;font-weight:400;background:none;border-style:dashed}
@keyframes tin{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.livefoot{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:6px}
.cmsg.live .md:not(:empty)+.livefoot .shimmer{font-size:12px}
details.trace{margin:0 0 8px}
details.trace>summary{cursor:pointer;font-size:12px;color:var(--muted);user-select:none;list-style:none;display:inline-flex;align-items:center;gap:6px;padding:2px 0}
details.trace>summary::-webkit-details-marker{display:none}
details.trace>summary::before{content:"▸";font-size:10px;transition:transform .15s ease;display:inline-block}
details.trace[open]>summary::before{transform:rotate(90deg)}
details.trace[open]>summary{margin-bottom:6px}
details.trace .tact{margin-bottom:4px}
.composer{padding:12px 0 2px;background:linear-gradient(to bottom,transparent,var(--paper) 18%);position:relative}
.fold-confirm{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.fold-confirm div{display:flex;flex-direction:column;gap:3px}.fold-confirm span{color:var(--muted);font-size:12px}.fold-confirm .btn{flex:none}
.cwrap{display:flex;align-items:flex-end;gap:6px;max-width:820px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:7px 7px 7px 10px;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:0 6px 24px rgba(20,28,23,.07)}
.cwrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.cwrap textarea{flex:1;min-width:0;background:none;border:0;color:var(--ink);caret-color:var(--accent);font:15px/1.5 inherit;letter-spacing:normal;resize:none;outline:0;max-height:200px;display:block;padding:8px 2px;text-align:left}
.cwrap textarea::placeholder{color:var(--muted-2);letter-spacing:normal;opacity:1}
.composer-hint{display:flex;justify-content:space-between;gap:12px;max-width:790px;margin:5px auto 0;padding:0 5px;color:var(--muted-2);font-size:10.5px}
.jump-latest{position:absolute;right:max(12px,calc((100% - 820px)/2));top:-28px;z-index:4;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:99px;padding:6px 10px;font:600 11px 'Manrope',sans-serif;box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(5px);pointer-events:none;transition:.15s}
.jump-latest.show{opacity:1;transform:none;pointer-events:auto}.jump-latest:hover{color:var(--accent);border-color:var(--accent)}
.csend{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);cursor:pointer;display:grid;place-items:center;box-shadow:0 1px 2px rgba(0,0,0,.1);transition:background .15s,box-shadow .15s,transform .06s}
.csend:hover{background:color-mix(in srgb,var(--ink) 88%,var(--paper));box-shadow:0 2px 6px rgba(0,0,0,.14)}
.csend:active{transform:scale(.93)}
.csend:disabled{background:var(--surface-2);color:var(--muted-2);box-shadow:none;cursor:default}
.csend .sic{width:18px;height:18px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.chatctl{display:flex;align-items:center;gap:8px}
.chatctl select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:3px 7px;font:12px/1 inherit;cursor:pointer}
.usage{font-size:11px;color:var(--muted-2);white-space:nowrap}
.ubadge{font-size:10.5px;color:var(--muted-2);margin-top:6px;font-family:ui-monospace,monospace}
table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:14px}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line-soft)}
th{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-2);background:var(--surface-2);font-weight:700}
tr:last-child td{border-bottom:0}
table tr+tr:hover td{background:var(--surface-2)}
.bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:4px 0 24px;display:flex}
.bar i{display:block;height:100%}
.head-actions{display:flex;gap:8px}
.fin-stats .stat{appearance:none;text-align:left;color:var(--ink);cursor:pointer;font:inherit}.fin-stats .stat:hover{border-color:var(--accent)}
.fin-ok{color:var(--ok)!important}.fin-warn{color:var(--warn)!important}.fin-bad{color:var(--warn);font-size:11px}
.fin-tools{display:flex;align-items:center;gap:9px;margin:4px 0 10px;flex-wrap:wrap}.fin-filters{display:flex;gap:4px;flex-wrap:wrap}
.fin-filters button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:7px 10px;font:600 12px 'Manrope',sans-serif;cursor:pointer}.fin-filters button.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--accent)}.fin-filters button span{margin-left:5px;color:var(--muted-2)}
.fin-tools input,.fin-tools select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 10px;font:13px 'Manrope',sans-serif}.fin-tools input{margin-left:auto;min-width:220px}.fin-tools input:focus,.fin-tools select:focus{outline:2px solid var(--accent);outline-offset:1px}
.fin-result{font-size:11.5px;color:var(--muted-2);margin-bottom:7px}.fin-table td:first-child a{display:block}.fin-table td:first-child small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.fin-table td{white-space:nowrap}.fin-cards{display:none}
@media(max-width:700px){.fin-tools{align-items:stretch}.fin-filters{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.fin-filters button{flex:none}.fin-tools input{margin-left:0;min-width:0;flex:1}.fin-table{display:none}.fin-cards{display:grid;gap:8px}.fin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px}.fin-card>a{display:block}.fin-card>a b,.fin-card>a span{display:block}.fin-card>a span{font-size:12px;color:var(--muted);margin-top:2px}.fin-card>div{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin:11px 0}.fin-card .btn{width:100%;min-height:36px}}
.modal{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:50;overflow:auto}
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;max-width:480px;width:100%;box-shadow:0 24px 60px -20px rgba(12,19,34,.45)}
.form h2{font-family:'Manrope',sans-serif;font-weight:800;font-size:20px;margin-bottom:16px;letter-spacing:-.02em}
.form label{display:block;font-size:11px;color:var(--muted);margin:12px 0 4px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font:inherit;background:var(--surface-2)}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--accent);background:var(--surface)}
.form textarea{min-height:56px;resize:vertical}
.form .row{display:flex;gap:12px}.form .row>div{flex:1}
.form .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}
/* v9: сессии */
.srow{display:block;padding:12px 15px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);margin-bottom:7px;cursor:pointer;transition:box-shadow .14s,border-color .14s,transform .14s;box-shadow:var(--shadow)}
.srow{position:relative;padding-right:108px}.srow>a:first-child{display:block}.sess-continue{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.sess-tools{display:flex;gap:8px;margin-bottom:12px}.sess-tools input,.sess-tools select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:9px 11px;font:13px 'Manrope',sans-serif}.sess-tools input{min-width:280px;flex:1;max-width:520px}.sess-tools input:focus,.sess-tools select:focus{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:620px){.sess-tools{display:grid;grid-template-columns:1fr}.sess-tools input{min-width:0;width:100%}.srow{padding-right:15px}.sess-continue{position:static;transform:none;width:100%;margin-top:10px;text-align:center}}
.srow:hover{border-color:var(--muted-2);box-shadow:var(--shadow-lg);transform:translateY(-1px)}
.srow .sprev{font-weight:600;color:var(--ink);margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srow .smeta{font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.srow .smeta span:last-child{font-family:ui-monospace,monospace}
.badge{display:inline-block;padding:1.5px 8px;border:1px solid var(--line);border-radius:6px;font-size:10.5px;font-weight:600;color:var(--muted);background:var(--surface-2);letter-spacing:.01em}
.trow{font-size:12px;color:var(--muted-2);padding:2px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace}
.sgrp{margin:20px 0 9px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2);font-weight:700;font-family:ui-monospace,monospace}
/* v9: файлы */
/* Обзор проекта — дашборд «весь проект с одного взгляда» */
.overview-work{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:14px;max-width:1120px;align-items:start}
.overview-main,.overview-side{min-width:0}.overview-side{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--shadow)}
.ov-block-title,.ov-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 11px 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 2px 8px}
.ov-side-head .link-button{color:var(--accent);text-transform:none;letter-spacing:0}
.overview-main .taskbox,.overview-main .nextwrap{max-width:none}.overview-side .ov-money{border:0;background:var(--surface-2);box-shadow:none;padding:12px;margin-bottom:13px}.overview-side .ov-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin:0 2px 18px}.overview-side .ovf{display:block}.overview-side .ovf-k,.overview-side .ovf-v{display:block}.overview-side .ovf-v{margin-top:2px}.overview-side .ov-infra{margin:0;gap:6px}.overview-side .ov-chip{padding:7px 9px;font-size:12px}
@media(max-width:980px){.overview-work{grid-template-columns:1fr}.overview-side{order:2}.overview-main{order:1}}
.ov-money{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 18px;margin-bottom:12px;max-width:840px}
.ov-money.none{color:var(--muted);font-size:13px}
.ov-money.none a{color:var(--accent);cursor:pointer}
.ovm-bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-bottom:10px}
.ovm-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--lime),color-mix(in srgb,var(--lime) 65%,var(--accent)));border-radius:99px;transition:width .4s ease}
.ovm-row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;flex-wrap:wrap}
.ovm-row b{font-weight:700}.ovm-r{color:var(--muted)}
.ov-infra{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;max-width:840px}
.ov-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;text-decoration:none;color:var(--ink);max-width:100%;transition:border-color .15s,background .15s}
a.ov-chip:hover,.ov-chip[onclick]:hover{border-color:var(--muted-2);background:var(--surface-2)}
.ovc-k{color:var(--muted);font-weight:600;flex:none}
.ovc-v{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ovc-h{color:var(--muted-2);font-size:12px;flex:none}
.ovc-ic{display:inline-flex;color:var(--muted)}.ovc-ic svg{width:15px;height:15px}
.ov-facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:18px;padding:0 2px;max-width:840px}
.ovf{display:inline-flex;gap:7px;font-size:13px;align-items:baseline}
.ovf-k{color:var(--muted)}.ovf-v{font-weight:600}
.ov-sec-h{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px 2px}
.ov-notes{max-width:840px;margin-top:16px}
.ov-notes>summary{cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);list-style:none;padding:4px 2px;user-select:none;display:inline-flex;align-items:center;gap:6px}
.ov-notes>summary::-webkit-details-marker{display:none}
.ov-notes>summary::before{content:"▸";transition:transform .15s;display:inline-block;font-size:10px}
.ov-notes[open]>summary::before{transform:rotate(90deg)}
.ov-notes[open]>summary{margin-bottom:8px}
.fbar{display:flex;gap:8px;align-items:center;margin:0 0 12px;flex-wrap:wrap}
.fm-toolbar{position:sticky;top:55px;z-index:8;background:var(--paper);padding:3px 0 1px}
.fm-toolbar .fcrumbs{display:flex;align-items:center;gap:5px;overflow-x:auto;margin-bottom:8px}.fm-toolbar .fcrumbs button{border:0;background:none;color:var(--accent);font:600 12px ui-monospace,monospace;cursor:pointer;white-space:nowrap;padding:3px}.fm-toolbar .fcrumbs span{color:var(--muted-2)}
.fm-search{margin-left:auto;min-width:210px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 10px;font:13px 'Manrope',sans-serif}.fm-search:focus{outline:2px solid var(--accent);outline-offset:1px}
.fm-state{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface-2);font-size:11.5px;font-weight:700}.fm-refresh{padding-inline:10px}.fm-refresh .ti{width:15px;height:15px}
.fm-preview{margin-top:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.fm-preview>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}.fm-preview>header span{display:flex;gap:6px}.fm-preview-body{max-height:65vh;overflow:auto;padding:14px}.fm-preview-body img{display:block;max-width:100%;max-height:60vh;margin:auto;border-radius:8px}.fm-preview-body iframe{width:100%;height:60vh;border:0;background:#fff}.fm-preview-body .code{margin:0;max-height:none}.fm-no-preview{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:620px){.fm-toolbar{top:52px}.fm-search{order:-1;margin-left:0;width:100%;flex-basis:100%}.fm-state{min-height:42px}.fm-refresh{margin-left:auto}.fm-preview>header{align-items:flex-start}.fm-preview>header span{flex-wrap:wrap;justify-content:flex-end}.fm-preview-body{padding:8px}}
.fmlist{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);overflow:hidden}
.fmrow{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line-soft);cursor:pointer}
.fmrow:last-child{border-bottom:0}
.fmrow:hover{background:var(--surface-2)}
.fmrow .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.file-name-button{border:0;background:none;color:var(--ink);text-align:left;font:inherit;padding:0;cursor:pointer}.file-name-button:hover{color:var(--accent)}
.fmrow.dir .fname{font-weight:700}
.fmrow .fmeta{margin-left:auto;font-size:12px;color:var(--muted);display:flex;gap:14px;align-items:center;flex-shrink:0}
.fmrow .fdel{color:var(--muted);cursor:pointer;padding:0 4px}
.fmrow .fdel:hover{color:var(--danger)}
.fcrumbs{font-size:13px;color:var(--muted);margin:0 0 10px}
.fcrumbs a{color:var(--lime-ink);cursor:pointer;text-decoration:none}
.btn.ghost{background:transparent;color:var(--muted);border-color:var(--line)}
.btn.ghost:hover{background:var(--surface-2);color:var(--ink);border-color:var(--muted-2)}
/* архив */
.alist{display:flex;flex-direction:column;gap:8px;max-width:960px}
.arow{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 15px;box-shadow:var(--shadow)}
.arow .cdot{width:9px;height:9px;border-radius:50%;flex:none}
.arow-t{font-weight:700;text-decoration:none;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none;max-width:30%}
.arow-t:hover{color:var(--accent)}
.arow-sum{font-weight:700;font-size:13.5px;color:var(--ink);flex:none}
.arow .pill{flex:none}
.arow-d{color:var(--muted-2);font-size:12px;white-space:nowrap;flex:1;min-width:40px;overflow:hidden;text-overflow:ellipsis;text-align:right}
.arow .btn.xs{flex:none}
@media(max-width:640px){.arow{flex-wrap:wrap}.arow-t{max-width:none}.arow-d{flex:1 1 100%;text-align:left;order:6}.arow .btn.xs{margin-left:auto;order:7}}
.fin-note{font-size:12px;color:var(--muted-2);margin:8px 0 0}
.fin-arch{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 0;padding:11px 15px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px;color:var(--muted)}
.fin-arch b{color:var(--ink)}
.fin-arch-tot{margin-left:auto}
.fin-arch a{color:var(--accent);cursor:pointer;text-decoration:none;font-weight:600}
@media(max-width:640px){.fin-arch-tot{margin-left:0}}
/* v11: чат-контролы (модель/шаги/контекст/вложения/стоп) */
.cmeta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cmeta-acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cm-link{color:var(--muted);font-weight:600;cursor:pointer;white-space:nowrap;font-size:12.5px}
.cm-link:hover{color:var(--accent)}
.cm-link.accent{color:var(--accent)}
.session-head{margin:0 0 12px;align-items:center}.session-head h1{font-size:20px}.session-head a{color:var(--muted)}
.ctxbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.chat-advanced{position:relative}.chat-advanced>summary{list-style:none;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:7px;padding:5px 8px;font:600 11.5px 'Manrope',sans-serif;cursor:pointer}.chat-advanced>summary::-webkit-details-marker{display:none}.chat-advanced[open]>summary{color:var(--accent);border-color:var(--accent)}.chat-advanced>div{position:absolute;right:0;top:calc(100% + 5px);z-index:25;display:flex;align-items:center;gap:10px;padding:7px 9px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-lg);white-space:nowrap}.chat-advanced .ctxgauge{margin-left:8px}
.mpill{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}
.mseg{font:500 13px 'Manrope',sans-serif;color:var(--muted);background:none;border:0;border-radius:7px;padding:5px 13px;cursor:pointer;transition:color .15s,background .15s}
.mseg:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.mseg.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.05)}
.turns{display:inline-flex;align-items:center;gap:7px;font:500 13px 'Manrope',sans-serif;color:var(--muted)}
.turns #turnsval{font-variant-numeric:tabular-nums;min-width:2ch;text-align:center;color:var(--ink);font-weight:600}
.tstep{width:28px;height:28px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;font-size:15px;line-height:1;display:grid;place-items:center;transition:.15s}
.tstep:hover{background:var(--surface-2);color:var(--ink);border-color:color-mix(in srgb,var(--ink) 18%,var(--line))}
.tstep:active{transform:translateY(.5px)}
.tstep:hover{border-color:var(--muted-2);color:var(--ink)}
.ctxgauge{display:inline-flex;align-items:center;gap:8px;max-width:min(620px,72vw);font:600 11.5px ui-monospace,monospace;color:var(--muted-2)}
.cg-txt{white-space:normal}
.cg-bar{width:76px;height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.cg-bar i{display:block;height:100%;border-radius:99px;transition:width .3s ease}
.cg-warn{color:var(--warn);font-weight:700;cursor:pointer}
.cg-warn:hover{text-decoration:underline}
.attach-btn{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,transform .06s}
.attach-btn:hover{background:var(--surface-2);color:var(--ink)}
.attach-btn:active{transform:scale(.93)}
.attach-btn .ic{width:17px;height:17px;stroke-width:2.2}
.voice-btn{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,transform .06s}
.voice-btn:hover{background:var(--surface-2);color:var(--ink)}
.voice-btn:active{transform:scale(.93)}
.voice-btn .ti{width:18px;height:18px}
.voice-btn.recording{color:var(--danger);background:var(--danger-soft);animation:voice-pulse 1.2s ease-in-out infinite}
@keyframes voice-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 14%,transparent)}}
.attchips{display:flex;flex-wrap:wrap;gap:8px;max-width:720px;margin:0 auto 8px;padding:0 4px}
.attchip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:4px 6px 4px 8px;font-size:12px;max-width:210px}
.attchip.up{opacity:.55}
.attchip img{width:26px;height:26px;object-fit:cover;border-radius:5px}
.attchip .atticon{font-size:15px}
.attchip .attname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.attchip .attx{border:0;background:none;color:var(--muted-2);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}
.attchip .attx:hover{color:var(--danger)}
.chatbox.dnd{outline:2px dashed var(--accent);outline-offset:-4px}
.msg-att{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.att-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:2px 8px;color:var(--ink)}
.att-pill .fic{width:12px;height:12px;opacity:.65}
.umodel{text-transform:capitalize;color:var(--muted)}
.csend.stop{background:var(--danger)}
.csend.stop:hover{background:var(--danger);filter:brightness(1.08)}
.stopsq{width:11px;height:11px;background:#fff;border-radius:2px;display:block}
.fic{width:14px;height:14px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r)}
.table-wrap table{min-width:520px}
.fmi{display:flex;color:var(--muted-2)}
.fmrow.dir .fmi{color:var(--accent)}
.fmrow .fname{cursor:pointer}
.fmrow .fdl{margin-left:auto;color:var(--muted-2);display:flex;padding:0 4px}
.fmrow .fdl:hover{color:var(--accent)}
.fmrow .fdl .fic{width:15px;height:15px}
.btn .ic{vertical-align:-2px;margin-right:2px}
.attchip .atticon{display:flex;color:var(--muted)}
.cwrap textarea{text-align:left}
@media(max-width:680px){.ctxbar{gap:8px}.mseg{padding:6px 10px}.cg-bar{width:44px}}
@media(max-width:680px){
  .chatlog{gap:22px;padding:10px 3px 14px;scrollbar-gutter:auto}.cmsg{font-size:14px;line-height:1.65}.cmsg.ai{padding-left:32px}.cmsg.ai::before{width:24px;height:24px;font-size:12px}.cmsg.me .ub{max-width:90%;font-size:14px}
  .composer{padding-top:9px}.cwrap{border-radius:18px;padding:5px 5px 5px 7px}.cwrap textarea{font-size:16px;padding:8px 2px}.composer-hint{display:none}.jump-latest{right:8px;top:-30px}
  .fold-confirm{align-items:stretch;flex-direction:column;gap:12px}.fold-confirm .btn{width:100%}
  .cmeta>span:first-child{display:none}.cmeta-acts{width:100%;gap:8px}.ctxbar{flex-wrap:nowrap;width:100%;overflow-x:auto;padding-bottom:3px}.mpill{flex:none}.turns,.ctxgauge{flex:none}.cm-link{font-size:11.5px}
  .answer-copy{position:static;float:right;opacity:1;margin:0 0 3px 8px}.cmsg.ai>.md{padding-right:0}
}
/* v14: проводник рядом с чатом (VS Code split) — фиксированная высота в экран */
.worksplit{display:flex;gap:12px;align-items:stretch;height:calc(100vh - 190px);min-height:440px}
.filedrawer{width:0;overflow:hidden;transition:width .2s ease;flex:none;display:flex;flex-direction:column}
.worksplit.open .filedrawer{width:290px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.chatpane{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}
.chatpane .cmeta{flex:none}
.chatpane .chatbox{flex:1;max-height:none;min-height:0}
.drawer-show{display:none;flex:none;width:auto;height:34px;padding:0 10px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;align-items:center;justify-content:center;gap:6px;box-shadow:var(--shadow);font:600 11.5px 'Manrope',sans-serif}
.drawer-show .fic{width:18px;height:18px}
.drawer-show:hover{color:var(--accent);border-color:var(--accent)}
.worksplit:not(.open) .drawer-show{display:flex}
.worksplit:not(.open) .filedrawer{border:0}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:11px 13px 9px;border-bottom:1px solid var(--line-soft);flex:none}
.dh-t{font-weight:700;font-size:12.5px}
.drawer-x{border:0;background:none;color:var(--muted-2);cursor:pointer;font-size:15px;padding:0 4px}
.drawer-x:hover{color:var(--ink)}
.drawer-crumb{padding:8px 13px 2px;font-size:11.5px;color:var(--muted-2);font-family:ui-monospace,monospace;word-break:break-all}
.drawer-up{margin:8px 13px;width:calc(100% - 26px)}
.drawer-list{flex:1;min-height:0;overflow:auto;padding:2px 6px 8px}
.drawer-list.dnd{outline:2px dashed var(--accent);outline-offset:-4px;border-radius:8px}

/* Компактная верхушка проекта: больше места остаётся рабочему чату */
@media(min-width:901px){
  body.project-page{overflow:hidden}
  body.project-page #main{height:100dvh;min-height:0;overflow:hidden}
  body.project-page #view{height:calc(100dvh - 55px - env(safe-area-inset-top));min-height:0;padding-bottom:max(12px,env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column}
  body.project-page .proj-head,body.project-page .tabs{flex:none}
  body.project-page #tab{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
  body.project-page #tab:has(.worksplit){overflow:hidden}
  body.project-page .worksplit{height:100%;min-height:0}
  .proj-head{align-items:center;margin-bottom:7px;min-height:42px}
  .proj-title h1{font-size:22px;line-height:1.1}
  .proj-meta{margin-top:5px;gap:5px}
  .proj-meta .pill{padding:2px 8px}
  .proj-acts .btn{padding:8px 12px}
  .tabs{margin-bottom:8px}
  .tabs button{padding:7px 14px}
  .chatpane>.cmeta{padding:2px 0 6px;margin-bottom:5px;max-width:none;background:transparent;border:0;border-bottom:1px solid var(--line-soft);border-radius:0}
  .chatpane .cmeta-acts{gap:8px}.chatpane .ctxbar{gap:7px}.chatpane .mpill{padding:2px}.chatpane .mseg{padding:4px 9px;font-size:12px}.chatpane .tstep{width:24px;height:24px}.chatpane .turns{gap:5px;font-size:12px}.chatpane .cg-bar{width:58px}.chatpane .cm-link{font-size:11.5px}
}
.drow{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:13px}
.drow:hover{background:var(--surface-2)}
.drow .dfn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.drow.dir .dfn{font-weight:600}
.drow .fmi{color:var(--muted-2)}.drow.dir .fmi{color:var(--accent)}
.drow .fdl{margin-left:auto;color:var(--muted-2);display:flex;flex:none;padding:0 2px}
.drow .fdl:hover{color:var(--accent)}
.drow .fdl .fic{width:14px;height:14px}
@media(max-width:900px){
  /* мобилка: split схлопывается в вертикаль — чат должен заполнять экран, а не быть блоком в 70vh */
  .worksplit{flex-direction:column;height:calc(100vh - 60px);height:calc(100dvh - 60px);height:calc(var(--tgvh, 100dvh) - 60px);min-height:340px}
  .chatpane{flex:1 1 auto;min-height:200px}
  .chatpane .chatbox{flex:1 1 auto;height:auto;max-height:none;min-height:0}
  /* закрытый проводник на мобиле прячем: при width:0 его контент переносится в столбик и раздувает высоту, выталкивая чат за экран */
  .worksplit:not(.open) .filedrawer{display:none}
  /* проводник открыт → делит высоту с чатом, но чат в приоритете (иначе в Telegram-вебвью чат схлопывается в ноль) */
  .worksplit.open .filedrawer{width:100%;flex:0 0 auto;height:auto;max-height:26vh}
  .worksplit.open .chatpane{flex:1 1 auto;min-height:220px}
  .worksplit.open .filedrawer .drawer-list{max-height:19vh}
  .drawer-show{display:none!important}
}
/* v13: рабочий стол (split-view) */
.desk-note{font-size:12px;color:var(--muted-2)}
.desk-grid{display:grid;gap:12px;margin-top:6px;height:calc(100vh - 165px)}
.desk-grid.n1{grid-template-columns:1fr}
.desk-grid.n2{grid-template-columns:1fr 1fr}
.desk-grid.n3{grid-template-columns:1fr 1fr 1fr}
.desk-grid.n4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.desk-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.desk-head{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);flex:none}
.desk-pick{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;font:500 12.5px 'Manrope',sans-serif;color:var(--ink);cursor:pointer}
.desk-model{flex:none;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 7px;font:500 12px 'Manrope',sans-serif;color:var(--muted);cursor:pointer}
.desk-x{flex:none;width:26px;height:26px;border:0;background:none;color:var(--muted-2);cursor:pointer;border-radius:6px;font-size:14px}
.desk-x:hover{background:var(--surface-2);color:var(--danger)}
.desk-log{flex:1;min-height:0;overflow:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth}
.desk-log .cmsg{font-size:14px;line-height:1.6;max-width:none;margin:0}
.desk-log .cmsg.ai{padding-left:32px}
.desk-log .cmsg.ai::before{width:24px;height:24px;font-size:12px}
.desk-log .trow{font-size:11.5px}
.desk-composer{flex:none;padding:8px 10px 10px;border-top:1px solid var(--line-soft)}
.desk-cwrap{max-width:none;margin:0;padding:5px 5px 5px 12px;border-radius:20px}
.desk-cwrap textarea{font-size:14px}
.desk-cwrap .csend{width:32px;height:32px}
.desk-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted-2);font-size:13px;line-height:1.5}
@media(max-width:900px){.desk-grid{height:auto;grid-template-columns:1fr!important;grid-template-rows:none!important}.desk-panel{height:70vh}}
/* v10: дашборд-командный-центр */
.dash-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.dash-hero h1{margin-bottom:5px}
.dash-sub{color:var(--muted);font-size:13.5px}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:5px 6px 8px;box-shadow:var(--shadow);min-width:0}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:13px;padding:12px 11px 9px;letter-spacing:-.01em}
.panel-more{font-size:12px;color:var(--muted-2);font-weight:600;white-space:nowrap}
.panel-more:hover{color:var(--accent)}
.lrow{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;cursor:pointer;color:var(--ink);transition:background .1s}
.lrow:hover{background:var(--surface-2)}
.lrow .cdot{width:8px;height:8px;border-radius:99px;flex:none}
.lrow-t{flex:1;min-width:0;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow-dl{font:600 12px 'Manrope',sans-serif;flex:none}
.lrow-meta{font-size:11.5px;color:var(--muted-2);flex:none;font-family:ui-monospace,monospace}
.pempty{color:var(--muted-2);font-size:13px;padding:8px 11px 14px}
.pbad{color:var(--danger);font-size:11px;font-weight:700;background:color-mix(in srgb,var(--danger) 13%,transparent);padding:1px 8px;border-radius:20px}
.stg-row{display:flex;align-items:center;gap:10px;padding:6px 11px}
.stg-dot{width:8px;height:8px;border-radius:99px;flex:none}
.stg-n{font-size:12.5px;width:90px;flex:none;color:var(--muted);text-transform:capitalize}
.stg-bar{flex:1;height:7px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.stg-bar i{display:block;height:100%;border-radius:99px}
.stg-v{font:600 12px ui-monospace,monospace;color:var(--ink);width:22px;text-align:right;flex:none}
/* Сегодня: рабочая очередь вместо декоративной аналитики */
.today{margin-top:20px}
.today-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.today-head h2{font-size:17px;letter-spacing:-.02em}
.today-head p{font-size:12.5px;color:var(--muted)}
.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.today-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:6px;box-shadow:var(--shadow);min-width:0}
.today-panel h3{font-size:13px;padding:11px 11px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.today-count{font:700 11px ui-monospace,monospace;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:2px 7px}
.today-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 11px;border-radius:8px;color:var(--ink)}
.today-row:hover,.today-row:focus-visible{background:var(--surface-2);outline:none}
.today-main{min-width:0;flex:1}
.today-title{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-sub{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.today-value{font:700 12px 'Manrope',sans-serif;white-space:nowrap;text-align:right}
.today-value.bad{color:var(--danger)}
.today-value.warn{color:var(--warn)}
.today-action{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--accent);border-radius:7px;padding:5px 9px;font:700 11.5px 'Manrope',sans-serif;cursor:pointer}
.today-action:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.today-done{flex:none;width:32px;height:32px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;cursor:pointer;font-weight:800}
.today-done .ti,.desk-x .ti,.attx .ti{width:15px;height:15px}
.today-done:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.today-ok{font-size:13px;color:var(--muted);padding:9px 11px 13px}
.prod-alert{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--danger) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));border-radius:var(--r);padding:11px 14px;margin-bottom:13px;color:var(--ink)}
.prod-alert b{font-size:13px}.prod-alert span{font-size:12px;color:var(--muted)}
.prod-alert .dot{flex:none}
.prod-alert a{margin-left:auto;font-size:12px;font-weight:700;color:var(--danger)}
.prod-alert a:focus-visible,.panel-more:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
button{font:inherit}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.today-grid{grid-template-columns:1fr}.today-head{align-items:flex-start;flex-direction:column;gap:2px}}
/* v10: таблица проектов */
.ptable{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.pt-row{display:grid;grid-template-columns:1.6fr 1fr 130px 110px 96px;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .1s}
.pt-row:last-child{border-bottom:0}
.pt-row:hover{background:var(--surface-2)}
.pt-head{background:var(--surface-2);font:700 10.5px 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);cursor:default;padding:10px 16px}
.pt-head:hover{background:var(--surface-2)}
.pt-name{display:flex;align-items:center;gap:10px;min-width:0}
.pt-name .cdot{width:9px;height:9px;border-radius:99px;flex:none}
.pt-name b{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-client{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-stage{font:600 12px 'Manrope',sans-serif}
.pt-amt{font:600 13px ui-monospace,monospace;text-align:right;white-space:nowrap}
.pt-amt .nomoney{color:var(--muted-2)}
.pt-dl{font:600 11.5px 'Manrope',sans-serif;text-align:right}
.pt-prio{width:6px;height:6px;border-radius:99px;flex:none}
@media(max-width:820px){.dash-grid{grid-template-columns:1fr}}
@media(max-width:680px){
  .pt-row{grid-template-columns:1fr auto;gap:6px 12px}
  .pt-head,.pt-client,.pt-stage{display:none}
  .pt-amt{grid-column:2;grid-row:1}
  .pt-dl{grid-column:2;grid-row:2;text-align:left}
}
@media(max-width:900px){
  nav.side{transform:translateX(-100%);transition:transform .2s ease}
  #app.navopen nav.side{transform:none;box-shadow:0 0 50px rgba(0,0,0,.25)}
  #main{margin-left:0}
  .sidetoggle{display:flex}
  #app.navopen .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:35}
}
@media(max-width:680px){
  .topbar{padding:0 14px}
  #view{padding:18px 14px 60px}
  h1{font-size:22px}.proj-title h1{font-size:22px}
  .head{align-items:flex-start}
  .stats{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* UI polish: единая плотность и состояния рабочего интерфейса */
.card,.stat,.panel,.today-panel,.ptable,.history,.files,.desk-panel{box-shadow:0 1px 1px rgba(20,28,23,.025),0 4px 14px rgba(20,28,23,.035)}
.card:hover{box-shadow:0 8px 24px rgba(20,28,23,.08);border-color:color-mix(in srgb,var(--accent) 25%,var(--line));transform:translateY(-1px)}
.navlink,.conv,.btn,.palbtn,.tb-icon{transition:background-color .12s,color .12s,border-color .12s,transform .12s,box-shadow .12s}
.navlink.active{box-shadow:inset 3px 0 0 var(--accent),var(--shadow)}
.navlink.active .ic{color:var(--accent)}
.stat .n,.pt-amt,.pamt,.today-value,td{font-variant-numeric:tabular-nums}
.panel-h,.today-panel h3{min-height:42px}
.today-row+.today-row,.lrow+.lrow{border-top:1px solid var(--line-soft)}
.today-row,.lrow{transition:background-color .12s}
.loading{position:relative;color:var(--muted);min-height:120px;display:grid;place-items:center}
.loading::before{content:"";position:absolute;top:24px;left:50%;width:min(420px,70%);height:54px;transform:translateX(-50%);border-radius:var(--r);background:linear-gradient(100deg,var(--surface-2) 25%,var(--surface) 42%,var(--surface-2) 60%);background-size:220% 100%;animation:load-shimmer 1.25s linear infinite;opacity:.75;z-index:-1}
@keyframes load-shimmer{to{background-position-x:-220%}}
.screen-skeleton{padding-top:2px}.screen-skeleton i{display:block;background:linear-gradient(100deg,var(--surface-2) 25%,var(--surface) 42%,var(--surface-2) 60%);background-size:220% 100%;animation:load-shimmer 1.25s linear infinite}
.sk-title{width:190px;height:28px;border-radius:8px;margin-bottom:24px}.sk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.sk-card{height:118px;border-radius:var(--r);border:1px solid var(--line)}
@media(max-width:680px){.sk-grid{grid-template-columns:1fr}.sk-card{height:92px}}
.table-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:auto;background:var(--surface)}
.table-wrap table{border:0;border-radius:0}
.table-wrap th{position:sticky;top:0;z-index:1;background:var(--surface-2);box-shadow:0 1px 0 var(--line)}
tbody tr,table tr{transition:background-color .1s}
table tr[role=link]:hover,table tr[role=link]:focus-visible{background:var(--accent-soft)}
.modal{background:var(--overlay);backdrop-filter:blur(6px)}
.form{box-shadow:0 28px 80px -28px rgba(5,15,9,.55)}
.toast{border:1px solid color-mix(in srgb,var(--on-solid) 14%,transparent)}

@media(max-width:900px){
  body.project-page{overflow:hidden}
  body.project-page #main{height:100dvh;min-height:0;overflow:hidden}
  body.project-page #view{height:calc(100dvh - 55px - env(safe-area-inset-top));min-height:0;padding-bottom:max(10px,env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column}
  body.project-page .proj-head,body.project-page .tabs{flex:none}
  body.project-page #tab{flex:1;min-height:0;overflow:hidden}
  #view{padding:22px 18px 64px}
  nav.side{width:min(286px,86vw)}
  .topbar{padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}
}
@media(pointer:coarse) and (min-width:681px) and (max-width:1366px){
  .chatpane .cwrap{max-width:none;border-radius:20px;padding:9px 9px 9px 12px}
  .chatpane .cwrap textarea{min-height:52px;padding:7px 4px;font-size:16px;line-height:1.45}
  .chatpane .attach-btn,.chatpane .voice-btn,.chatpane .csend{width:44px;height:44px}
}
@media(max-width:520px){
  #view{padding:18px 12px 56px}
  .topbar{height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}
  .head,.dash-hero{margin-bottom:18px}
  .stats{gap:8px;margin-bottom:20px}
  .stat{padding:14px}.stat .n{font-size:23px}
  .card{padding:15px}
  .btn{min-height:38px}
  .tb-icon,.sidetoggle,.themebtn,.tdel,.ck2,.today-done,.attach-btn,.voice-btn,.csend{min-width:44px;min-height:44px}
  .tabs button{min-height:44px}.fmrow,.drow{min-height:46px}.fbar .btn{min-height:42px}
  .modal{padding:16px 8px;align-items:flex-end}
  .form{max-height:92dvh;overflow:auto;padding:21px 17px;border-radius:16px 16px 10px 10px}
  .toast{bottom:max(14px,env(safe-area-inset-bottom))}
  .proj-head{margin-bottom:10px;gap:8px}.proj-title{width:100%}.proj-title h1{font-size:21px;line-height:1.15}.proj-meta{margin-top:6px;gap:5px}.proj-meta .pill{padding:2px 7px}.proj-client{font-size:11.5px}
  .proj-acts{gap:6px}.proj-acts .btn{min-height:36px;padding:8px 11px}.tabs{margin-bottom:8px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{padding:8px 11px;font-size:13px}
  .dash-hero{gap:8px}.dash-hero .btn{min-height:36px}.dash-stats{grid-template-columns:1fr 1fr;gap:7px}.dash-stats .stat{padding:10px 11px;min-height:72px}.dash-stats .stat .n{font-size:20px}.dash-stats .stat .l{font-size:9.5px;margin-top:6px}
  .today-panel.is-empty{padding:2px;box-shadow:none;background:transparent}.today-panel.is-empty h3{padding:8px 10px;min-height:38px}.today-panel.is-empty .today-ok{display:none}
  .chat-advanced>div{position:fixed;left:10px;right:10px;top:auto;bottom:78px;justify-content:center}.chat-advanced .ctxgauge{display:inline-flex}
}
