/* =====================================================================
   Cabinet — login, the owner's space and the team panel. Built on the
   tokens and blocks of site.css (panel, box, kv, seg, chips, stepper).
   Wide screens get columns of panels, phones one column.
   ===================================================================== */
.cab{padding:calc(var(--hdr) + 34px) 0 70px}
.cab .lbl,.auth .lbl{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:block;color:var(--mu);margin:0 0 8px}
.cab__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 30px;flex-wrap:wrap}
.cab__head .crumbs{margin-bottom:12px}
.cab__site{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cab__site h1{font:var(--md-sys-typescale-headline-large);letter-spacing:var(--md-sys-typescale-headline-large-tracking);margin:0}
.cab__switch{flex:none;min-width:220px;max-width:320px}
.cab__switch select{height:40px}
.cab__meta{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:8px 0 0;color:var(--mu)}
.cab__me{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cab__tabs{display:flex;gap:4px;margin:22px 0 14px;padding:4px;border-radius:14px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);overflow-x:auto;scrollbar-width:none;position:sticky;top:calc(var(--hdr) + 6px);z-index:20}
.cab__tabs::-webkit-scrollbar{display:none}
.cab__tabs button{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);flex:none;border:0;background:transparent;height:40px;padding:0 16px;border-radius:10px;color:var(--mu);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.cab__tabs button:hover{color:var(--tx)}
.cab__tabs button[aria-selected="true"]{background:var(--s3);color:var(--tx);box-shadow:inset 0 0 0 1px rgba(201,242,92,.45)}
.cab__tabs button:disabled{opacity:.4;cursor:default}
.cab__note{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:0 0 14px;padding:11px 14px;border-radius:12px;color:var(--tx);background:rgba(231,180,92,.09);box-shadow:inset 0 0 0 1px rgba(231,180,92,.35)}
.cab__view{display:grid;gap:14px;transition:opacity .25s}
.cab__view.is-loading{opacity:.55;pointer-events:none}

.cab-grid{display:grid;gap:14px;align-items:start}
.cab-grid--top{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch}
.cab-grid--mid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
/* «Енергія й гроші», a day: the chart and its 5-column run table in equal halves, stacked before the table gets cramped */
.cab-grid--eday{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:1180px){.cab-grid--eday{grid-template-columns:1fr}}
.cab-grid--low{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cab-grid--dev{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.cab-grid--ord{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.cab-grid--set{grid-template-columns:repeat(3,minmax(0,1fr))}
.cab-col{display:grid;gap:14px;align-content:start;min-width:0}
.cab-p{padding:20px;min-width:0}
.cab-p>h3,.cab-p__h h3{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0;text-transform:uppercase;color:var(--mu)}
.cab-p>h3{margin-bottom:14px}
.cab-p__h{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-bottom:12px}
.cab-p__h .link{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);margin-left:auto}
.cab-p__h .muted{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}
.cab-p>.link{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);margin-top:12px}
.cab-p .hint{margin-top:10px}
.cab-empty{padding:28px}
.cab-empty h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin:0;text-transform:none;color:var(--tx)}
.cab-empty .hint{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);max-width:560px}
.cab-empty .hero__cta{margin-top:18px}
@media(max-width:1100px){.cab-grid--top,.cab-grid--mid,.cab-grid--dev,.cab-grid--ord{grid-template-columns:1fr}.cab-grid--set{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.cab{padding-top:calc(var(--hdr) + 18px)}.cab-grid--low,.cab-grid--set{grid-template-columns:1fr}.cab-p{padding:16px}.cab__switch{min-width:0;max-width:none;flex:1 1 100%}.cab-live__nums b{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}}

/* status chips */
.chipst{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:20px;color:var(--mu);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.chipst::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dim)}
.chipst--ok{color:var(--tx)}.chipst--ok::before{background:var(--volt);box-shadow:0 0 8px rgba(201,242,92,.7)}
.chipst--warn{color:var(--tx);box-shadow:inset 0 0 0 1px rgba(231,180,92,.5)}.chipst--warn::before{background:var(--warn)}
.chipst--now{color:var(--tx);box-shadow:inset 0 0 0 1px rgba(87,217,232,.45)}.chipst--now::before{background:var(--cyan)}

/* order in progress */
.cab-strip{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:12px 16px}
.cab-strip .muted{flex:1;min-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cab-strip:hover{box-shadow:inset 0 0 0 1px var(--mu)}
.stepper--mini{flex:0 1 220px;margin:0;gap:4px}
.stepper--mini div{gap:0}
.stepper--mini i{height:4px}

/* live */
.cab-live__h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.cab-live__h h3{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0 4px 0 0;text-transform:uppercase;color:var(--mu)}
.cab-live__h .chipst{margin-left:auto}
.flow{width:100%;height:auto;display:block;max-height:190px}
.flow__e{fill:none;stroke:var(--line);stroke-width:3;stroke-linecap:round}
.flow__f{fill:none;stroke:var(--volt);stroke-width:4;stroke-linecap:round;stroke-dasharray:1 13;opacity:0;transition:opacity .4s}
.flow__f.is-on{opacity:1;animation:cabflow 1.1s linear infinite}
.flow__f[data-f="gb"]{stroke:var(--chg)}
.flow__f[data-f="bs"]{stroke:var(--dis)}
.flow__f[data-f="gs"]{stroke:#C9D2CD}
@keyframes cabflow{to{stroke-dashoffset:-14}}
.flow__n circle{fill:var(--s2);stroke:var(--line);stroke-width:1.5}
.flow__ic{fill:#C9D2CD}
.flow__ic--o{fill:none;stroke:#C9D2CD;stroke-width:2.2;stroke-linejoin:round}
.flow__n.is-off circle{stroke:var(--warn);stroke-dasharray:4 4}
.flow__n.is-off .flow__ic{fill:var(--warn)}
.flow__cap{fill:var(--bg);stroke:var(--line);stroke-width:1.5}
.flow__tip{fill:var(--line)}
.flow__lvl{fill:var(--volt);opacity:.88;transition:y .8s var(--ease),height .8s var(--ease)}
.flow.is-low .flow__lvl{fill:var(--warn)}
.flow__soc{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);fill:#0B0E0D;paint-order:stroke;stroke:rgba(234,240,236,.55);stroke-width:3px}
@media(prefers-reduced-motion:reduce){.flow__f.is-on{animation:none;stroke-dasharray:none;opacity:.8}.flow__lvl{transition:none}}
.cab-live__nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
.cab-live__nums div{padding:10px 12px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);min-width:0}
.cab-live__nums span{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;color:var(--dim)}
.cab-live__nums b{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);display:block;margin-top:3px}
.cab-live__nums small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:2px;color:var(--mu)}
.cab-live__nums small.is-chg{color:var(--cyan)}
.cab-live__nums small.is-dis{color:var(--volt)}
.cab-live__nums div.is-off b{color:var(--warn)}
.cab-live__f{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.cab-live__f b{font-weight:var(--md-ref-typeface-weight-semibold)}
.cab-live__f .link{margin-left:auto}
.cab-pill{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:20px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);white-space:nowrap}
.cab-pill[hidden]{display:none}
.cab-pill .muted{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}
.cab-pill.is-warn{box-shadow:inset 0 0 0 1px rgba(231,180,92,.5)}

/* figures */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tiles--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.tile{padding:14px;border-radius:14px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);min-width:0}
.cab-kpi .tile{background:var(--bg)}
.tile>span,.tile__h>span{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:block;color:var(--tx)}
.tile>b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);display:block;margin-top:6px}
.tile>small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:6px;color:var(--dim)}
.tile--hero>b{color:var(--volt)}
.tile--neg>b{color:var(--warn)}
.tile--warn>small{color:var(--warn)}
.tile[title]{cursor:help}
/* overview: «Сьогодні» across the top with its 24 hour cells, then month · since start-up · payback */
.cab-kpi{display:flex;flex-direction:column}
.tiles--kpi{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto}
.tiles--kpi .tile{display:flex;flex-direction:column}
.tiles--kpi .tile>small{margin-top:auto;padding-top:6px}
.tiles--kpi .tile--meter .meter{margin-top:auto}
.tiles--kpi .tile--meter .meter+small{margin-top:0}
.tile--day{grid-column:1/-1}
.tile--day>b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}
.tile__h{display:flex;align-items:center;justify-content:space-between;gap:6px 14px;flex-wrap:wrap}
.tile__h .clegend{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);gap:3px 12px}
.tile__h .clegend i{width:9px;height:9px;border-radius:2px}
.tile--day .dstrip{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:14px}
.tile--day .dstrip__row{flex:1;min-height:26px;max-height:64px}
.tile--day .dstrip__h{height:auto}
@media(max-width:1280px){.tiles--kpi .tile:not(.tile--day)>b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}}
@media(max-width:560px){.tiles--kpi{grid-template-columns:1fr 1fr}.tiles--kpi .tile--meter{grid-column:1/-1}.tile--day>b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}}
.meter{height:8px;margin-top:10px;border-radius:6px;background:rgba(201,242,92,.13);overflow:hidden}
.meter i{display:block;height:100%;min-width:3px;border-radius:6px;background:var(--volt)}
.meter--lg{height:12px;margin:12px 0 4px}
@media(max-width:1100px){.tiles--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.tiles--5{grid-template-columns:1fr 1fr}.tile>b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}}

/* charts */
.clegend{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--mu)}
.clegend span{display:inline-flex;align-items:center;gap:6px}
.clegend i{width:10px;height:10px;border-radius:3px}
.clegend i.ln{height:2px;width:14px;border-radius:2px}
.chart{position:relative}
.chart__svg{width:100%}
.chart__plot{display:block;max-width:100%;overflow:visible}
.chart__plot [tabindex]:focus{outline:none}
.chart__plot rect[tabindex]:focus-visible{outline:none;stroke:var(--volt);stroke-width:1}
.chart__bar:focus-visible path{stroke:var(--volt);stroke-width:1.5}
.chart__bar:hover path{filter:brightness(1.18)}
.ctip{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);position:absolute;z-index:5;min-width:170px;max-width:260px;padding:10px 12px;border-radius:12px;background:#050706;box-shadow:inset 0 0 0 1px var(--line),0 18px 40px -16px rgba(0,0,0,.8);pointer-events:none}
.ctip__h{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--mu);margin-bottom:6px}
.ctip__r{display:grid;grid-template-columns:12px auto 1fr;align-items:center;gap:8px;padding:2px 0}
.ctip__r i{width:12px;height:3px;border-radius:2px}
.ctip__r i.none{background:transparent}
.ctip__r b{font-weight:var(--md-ref-typeface-weight-semibold);white-space:nowrap}
.ctip__r span{color:var(--mu)}
.tou{position:relative}
.tou__row{display:grid;grid-template-columns:repeat(24,1fr);gap:2px}
.tou__h{height:26px;border:0;padding:0;border-radius:5px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);cursor:default}
.tou__h.is-c{background:var(--chg);box-shadow:none}
.tou__h.is-d{background:var(--dis);box-shadow:none}
.tou__h.is-past{opacity:.4}
.tou__h.is-now{outline:2px solid var(--tx);outline-offset:1px}
.tou__h:focus-visible{outline:2px solid var(--volt);outline-offset:1px}
.tou__ax{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:flex;justify-content:space-between;margin-top:5px;color:var(--dim)}
/* today in 24 hour cells (Charts.day): done — solid, the plan ahead — hatched */
.dstrip__row{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;border-radius:5px;outline:none}
.dstrip__row:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--volt)}
.dstrip__h{height:26px;border-radius:3px;background:var(--line);transition:filter .15s}
.dstrip__h.is-fut{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.dstrip__h.is-buy{background:var(--chg)}
.dstrip__h.is-sell{background:var(--dis)}
.dstrip__h.is-out{background:var(--warn)}
.dstrip__h.is-pbuy{background:repeating-linear-gradient(135deg,rgba(26,153,174,.7) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1px rgba(26,153,174,.55)}
.dstrip__h.is-psell{background:repeating-linear-gradient(135deg,rgba(128,164,48,.8) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1px rgba(128,164,48,.6)}
.dstrip__h.is-now{outline:1.5px solid var(--tx);outline-offset:1px}
.dstrip__h.is-on{filter:brightness(1.3)}
.dstrip__ax{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:flex;justify-content:space-between;margin-top:5px;color:var(--dim)}
.dstrip .ctip{min-width:150px}

/* «when it bought and at what price» */
.trades{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.trade{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.trade::before{content:"";flex:none;width:4px;border-radius:3px;background:var(--dim)}
.trade.is-buy::before{background:var(--chg)}
.trade.is-sell::before{background:var(--dis)}
.trade.is-out::before{background:var(--warn)}
.trade__t,.trade__m{display:flex;flex-direction:column;gap:2px}
.trade__t{flex:1;min-width:0}
.trade__t b{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking)}
.trade__t span,.trade__m span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
.trade__m{text-align:right}
.trade__m b{font-family:var(--md-ref-typeface-mono);font-weight:var(--md-ref-typeface-weight-semibold)}
.trades__sum{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.trades__sum b{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}
/* the plan still ahead today: ghost rows */
.trades--plan{margin-top:14px}
.trades__lbl{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--dim);padding:0 2px}
.trade.is-plan{background:transparent;box-shadow:none;border:1px dashed var(--line);padding:8px 11px}
.trade.is-plan::before{opacity:.55}
.trade.is-plan .trade__t b{color:var(--mu)}
.trade.is-plan .trade__m{justify-content:center}

/* equipment */
.syscard{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:12px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .2s}
.syscard+.syscard{margin-top:8px}
.syscard:hover{box-shadow:inset 0 0 0 1px var(--mu)}
.syscard__ph{height:92px;--pad:10%}
.syscard__b{display:flex;flex-direction:column;gap:4px;min-width:0}
.syscard__b>b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}
.syscard__b small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking)}
.syscard__r{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.socbar{height:6px;border-radius:4px;background:rgba(201,242,92,.13);overflow:hidden}
.socbar i{display:block;height:100%;border-radius:4px;background:var(--volt);transition:width .8s var(--ease)}
.evs{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ev{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;align-items:center;gap:10px;padding:9px 12px 9px 30px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);position:relative}
.ev__b{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.ev__tag{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);flex:none;color:var(--mu);white-space:nowrap}
.ev__tag.is-warn{color:var(--warn)}
.ev__tag.is-now{color:var(--cyan)}
.cab-tip{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:10px 0 0;padding:9px 12px;border-radius:12px;background:rgba(231,180,92,.07);box-shadow:inset 0 0 0 1px rgba(231,180,92,.35)}
.ev::before{content:"";position:absolute;left:12px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--dim)}
.ev--out::before{background:var(--volt)}
.ev--warn::before,.ev--alarm::before{background:var(--warn)}
.ev--cmd::before{background:var(--cyan)}
.ev b{font-weight:var(--md-ref-typeface-weight-medium)}
.ev small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.cab-dev{display:grid;gap:14px}
.cab-dev__ph{height:200px;--pad:8%}
.cab-dev__b h2{margin:0}
.cab-dev__b p{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:4px 0 10px}
.cab-dev__live{padding:12px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.cab-dev__lt{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cab-dev__lt span{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);color:var(--tx)}
.cab-dev__lt small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--dim)}
.cab-dev__live>b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);display:block;margin:4px 0 8px}
.cab-dev__now{margin-top:10px;gap:6px}
/* equipment card: capacity · power · cycles as three small figures */
.cab-dev__spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cab-dev__spec div{padding:10px 12px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);min-width:0}
.cab-dev__spec span{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-semibold);display:block;color:var(--tx)}
.cab-dev__spec b{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);font-weight:var(--md-ref-typeface-weight-bold);display:block;margin-top:4px;white-space:nowrap}
.cab-dev__spec small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-regular);display:block;margin-top:1px;color:var(--mu)}
/* the last 30 days: profit + bought vs supplied bars */
.cab-30{display:grid;gap:8px;padding:12px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.cab-30__h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cab-30__h span{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking)}
.cab-30__h b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);font-weight:var(--md-ref-typeface-weight-bold);color:var(--volt)}
.cab-30__h b.neg{color:var(--warn)}
.cab-30__r{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;color:var(--mu)}
.cab-30__r i{display:block;height:8px;border-radius:5px;background:var(--line2);overflow:hidden}
.cab-30__r em{display:block;height:100%;border-radius:5px;background:var(--dim)}
.cab-30__r.is-c em{background:var(--chg)}
.cab-30__r.is-d em{background:var(--dis)}
.cab-30__r b{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);color:var(--tx)}
.cab-dev .kv{margin:0}
.comp{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line2)}
.comp:first-of-type{border-top:0}
.comp__ph{height:56px;--pad:8%;border-radius:10px}
.comp__b{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;flex-direction:column;gap:2px}
.comp__b small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking)}
.comp--a{grid-template-columns:56px minmax(0,1fr) auto}
.comp__r{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:flex;align-items:center;gap:8px;margin:3px 0 1px}
.comp__r .socbar{flex:none;width:64px}
.comp__a{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.comp__a b{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking)}
.comp__a small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking)}
.syspick{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px;border-radius:12px}
.syspick:hover{background:var(--bg)}
.syspick.is-on{background:var(--bg);box-shadow:inset 0 0 0 1px rgba(201,242,92,.4)}
.syspick__ph{grid-row:1/3;height:44px;--pad:6%;border-radius:9px}
.syspick b{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}.syspick small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking)}

/* control */
.ctl{display:grid;gap:16px}
.ctl__f{display:block;min-width:0}
.ctl__f.is-off{opacity:.45;pointer-events:none}
.ctl__f .hint{margin-top:8px}
.seg--mode button{height:auto;min-height:52px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;white-space:normal}
.seg--mode button small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--dim)}
.seg--sm button{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:34px;padding:0 12px}
.pre{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pre .input{width:96px}
.input--sm{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);height:38px;padding:0 10px;border-radius:10px}
select.input--sm{padding-right:8px}
.ctl__win{display:grid;gap:8px}
.win{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.win select{width:auto}
.win input{width:76px}
.ctl__prev{display:grid;gap:8px}
.ctl__ph{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap}
.ctl__ph .lbl{margin:0}
.ctl__ph .chipst{margin-left:auto}
.ctl__pd{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:4px;color:var(--mu)}
.ctl__pd b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);color:var(--tx)}
.ctl__pd b[title]{cursor:help}
.ctl__prev>.chipst{justify-self:start}
.ctl__foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line2)}
.ctl__foot .btn{margin:0}
.ctl__foot .hint{margin:0!important}
.cab-boost__r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cab-boost__r .lbl{margin:0 4px 0 0}
.cab-boost .btn{margin:0}
.cab-boost__on{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cab-boost__on>div{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap}
.cab-boost__on b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);font-weight:var(--md-ref-typeface-weight-bold)}
.cab-boost__on small{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}
/* control log: the new mode + details as small tags */
.logc b{font-weight:var(--md-ref-typeface-weight-medium)}
.logc .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.logc .tags span{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);padding:3px 8px;border-radius:20px;color:var(--mu);box-shadow:inset 0 0 0 1px var(--line2);white-space:nowrap}

/* tables */
.tblw{overflow-x:auto;margin:0 -4px;padding:0 4px}
.tbl{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);width:100%;border-collapse:collapse}
.tbl th{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);position:sticky;top:0;text-align:left;color:var(--dim);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--s1)}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line2);vertical-align:top}
.tbl .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl td.n{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking)}
.tbl .pos{color:var(--tx)}.tbl .neg{color:var(--warn)}
.tbl tr.is-link{cursor:pointer}.tbl tr.is-link:hover td,.tbl tr.is-link:focus td{background:var(--bg)}
.tbl tr.is-link:focus{outline:none}
.tbl th.has-tip{cursor:help;text-decoration:underline dotted;text-underline-offset:3px}
.cab-tbl .tbl td.mono{white-space:nowrap}
/* the tariff as badges: in a panel head and under the table */
.cab-p__h .badge,.cab-tags .badge{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);height:24px;padding:0 9px}
.badge--est{color:var(--warn);box-shadow:inset 0 0 0 1px rgba(231,180,92,.4)}
.badge[title]{cursor:help}
.cab-tags{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;margin-top:12px}
.tbl .st{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);white-space:nowrap}.tbl .st--applied{color:var(--tx)}.tbl .st--pending,.tbl .st--sent{color:var(--cyan)}.tbl .st--failed{color:var(--warn)}
.tbl--ord td{vertical-align:middle}
.tbl--ord td.mono{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tbl--ord tr.grp td{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);padding:12px 10px 4px;color:var(--dim);border-bottom:0}
.it{display:flex;align-items:center;gap:12px}
.it__ph{width:48px;height:48px;flex:none;--pad:8%;border-radius:10px}
.it__ic{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);color:var(--mu)}
.it b{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);display:block}
.it small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block}
.cab-filter{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:10px 12px;position:sticky;top:calc(var(--hdr) + 62px);z-index:15}
.cab-filter .seg{flex:0 1 auto}
.cab-filter .btn{margin:0}
.cab-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.cab-nav b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);min-width:150px;text-align:center}
.cab-nav__b{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);width:36px;height:36px;border:0;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--tx);cursor:pointer}
.cab-nav__b:disabled{opacity:.35;cursor:default}
@media(max-width:760px){.cab-filter{position:static}.cab-nav{margin-left:0;width:100%;justify-content:space-between}.cab-filter .seg{width:100%;overflow-x:auto}}

/* purchases */
.cab-pay__big{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);margin:0}
.cab-pay__big small{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-medium);margin-left:4px;color:var(--mu);cursor:help}
.cab-pay__m{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;justify-content:space-between;gap:10px;color:var(--mu)}
.cab-pay__m b{font-weight:var(--md-ref-typeface-weight-semibold);color:var(--volt)}
.cab-pay .tiles{margin:14px 0 16px}
.cab-pay .tile{background:var(--bg)}
.cab-pay .tile>b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);white-space:nowrap}
.cab-ord .stepper{margin:4px 0 0;flex-wrap:wrap}
.cab-ord .stepper div{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);min-width:58px}
.cab-ord .stepper small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin-top:-5px;color:var(--dim)}
.cab-ord .stepper div[title]{cursor:help}
.cab-ord .cab-p__h .chipst{margin-left:auto}
/* the overview before installation: the request's stages and the next step */
.cab-pre .stepper{flex-wrap:wrap;margin-top:12px}
.cab-pre .stepper div{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);min-width:72px}
.cab-ord__next{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;align-items:baseline;gap:8px;margin:12px 0 0}
.cab-ord__next span{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--dim)}
.cab-ord__next b{font-weight:var(--md-ref-typeface-weight-medium)}
/* the team's notes on an order: «Status · dd.mm» + the note, one per row */
.cab-ord__notes{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.cab-ord__notes li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:baseline}
.cab-ord__notes span{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--dim);white-space:nowrap}
.cab-ord__notes p{margin:0;color:var(--tx)}
@media(max-width:560px){.cab-ord__notes li{grid-template-columns:minmax(0,1fr)}}
.cab-ord .tblw{margin-top:12px}
.tline{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.tline li{display:flex;gap:6px;align-items:baseline}
.tline li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dis);flex:none;align-self:center}
.tline b{font-weight:var(--md-ref-typeface-weight-medium)}

/* settings */
.cab-set .form{padding:0;gap:14px;grid-template-columns:minmax(0,1fr)}
.cab-set .seg{flex-wrap:wrap}
.cab-set .seg button{flex:1 1 40%;padding:0 10px}
/* the tariff's day as 24 cells + legend; role legend under «Access» */
.tfday{display:grid;gap:8px}
.tfday:empty{display:none}
.tfday .tou__h{height:16px;border-radius:4px;cursor:help}
.roles{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;color:var(--mu)}
.roles span{display:inline-flex;align-items:center;gap:6px}
.roles .badge{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);height:22px;padding:0 8px}
.cab-set .btn{margin:0;justify-self:start}
.contact{padding:12px 0;border-top:1px solid var(--line2)}
.contact:first-of-type{margin-top:14px}
.contact__h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.contact__h .lbl{margin:0;min-width:70px}
.contact__h b{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);flex:1}
.contact__f{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.contact__f .input{flex:1;min-width:160px}
.contact__f .hint{flex-basis:100%;margin:0}
.cab-set>.btn{margin-top:12px}
.invite{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:8px!important;margin-top:14px}
.invite .lbl{flex-basis:100%}
.invite .input{flex:1;min-width:150px}
.invite select{flex:none;width:auto}
.invite .hint{flex-basis:100%;margin:0}

/* login */
.auth__row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.auth__card .back:disabled{opacity:.45;cursor:default;text-decoration:none}
.auth__err{font:var(--md-sys-typescale-body-small)!important;letter-spacing:var(--md-sys-typescale-body-small-tracking)!important;margin:14px 0 0!important;padding:10px 12px;border-radius:10px;color:var(--tx)!important;background:rgba(231,180,92,.09);box-shadow:inset 0 0 0 1px rgba(231,180,92,.4)}
.auth__demo{margin-top:22px;padding-top:18px;border-top:1px solid var(--line2);display:grid;gap:10px}
.auth__demo span{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);color:var(--mu)}
.btn.is-busy{opacity:.6;pointer-events:none}

/* team panel */
.adm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px;align-items:start}
.adm-sum{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.adm-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.adm-list li{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:11px 12px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);cursor:pointer}
.adm-list li:hover,.adm-list li.is-on{box-shadow:inset 0 0 0 1px rgba(201,242,92,.4)}
.adm-list small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);grid-column:1/-1;color:var(--mu)}
.adm-form{display:grid;gap:10px}
.adm-form .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.adm-secret{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);padding:12px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px rgba(201,242,92,.4);word-break:break-all}
.adm-items td input{width:110px}
@media(max-width:1100px){.adm-grid{grid-template-columns:1fr}.adm-sum{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.adm-sum{grid-template-columns:1fr 1fr}.adm-form .row{grid-template-columns:1fr}}
.cab .btn:disabled,.auth .btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.cab .chip:disabled{opacity:.45;cursor:not-allowed}
.adm-items td b,.adm-items td small{display:block}
.adm-items td small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin-top:2px}
/* team panel: counts as badges, flags as tags, compact rows (staff.js) */
.adm-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.adm-meta:empty{display:none}
.adm-k{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:20px;color:var(--mu);box-shadow:inset 0 0 0 1px var(--line)}
.adm-k b{color:var(--tx);font-weight:var(--md-ref-typeface-weight-semibold);font-variant-numeric:tabular-nums}
.adm-k--warn{box-shadow:inset 0 0 0 1px rgba(231,180,92,.5)}.adm-k--warn b{color:var(--warn)}
.adm-k--new{box-shadow:inset 0 0 0 1px rgba(201,242,92,.45)}.adm-k--new b{color:var(--volt)}
.adm-st{border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:box-shadow .2s,background .2s}
.adm-st:hover{box-shadow:inset 0 0 0 1px var(--mu)}
.adm-st.is-on{background:var(--s2);box-shadow:inset 0 0 0 1px rgba(201,242,92,.55)}
.adm-st:focus-visible{outline:2px solid var(--volt);outline-offset:2px}
.adm-n{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:inline-grid;place-items:center;min-width:20px;height:18px;margin-left:8px;padding:0 6px;border-radius:9px;background:var(--s3);color:var(--tx);vertical-align:1px}
.adm-list li{align-items:center}
.adm-list li>.chipst,.adm-list li>.badge{justify-self:end}
.adm-list small.adm-m{grid-column:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-no{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);margin-right:8px;color:var(--mu)}
.adm-v{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);grid-column:2;justify-self:end;color:var(--tx);white-space:nowrap}
.adm-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.adm-list .adm-tags{grid-column:1/-1;margin-top:2px}
.adm-tag{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;height:22px;padding:0 8px;border-radius:11px;color:var(--mu);background:var(--s2);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.adm-tag--warn{color:var(--warn);box-shadow:inset 0 0 0 1px rgba(231,180,92,.45)}
.adm-tag--new{color:#0B0E0D;background:var(--volt);box-shadow:none;font-weight:var(--md-ref-typeface-weight-semibold)}
.adm-tag--ai{color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(87,217,232,.45)}
.adm-tag--ok{color:var(--volt);box-shadow:inset 0 0 0 1px rgba(201,242,92,.4)}
.adm-kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:2px 0 14px}
.adm-kv div{align-items:center;min-width:0}
.adm-kv .adm-kv__w{grid-column:1/-1}
.adm-form>.btn{justify-self:start}
.adm-kv b{min-width:0;overflow-wrap:anywhere;text-align:right}
.adm-kv b .adm-tag{margin-left:6px;vertical-align:1px}
.adm-kv .adm-tags{justify-content:flex-end;padding:0;border:0;gap:5px}
.kv .adm-tag{color:var(--mu)}.kv .adm-tag--warn{color:var(--warn)}.kv .adm-tag--ok{color:var(--volt)}
.adm-kv .link{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking)}
.adm-mgr{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}
.cab .adm-mgr .lbl,.cab .adm-link .lbl,.cab .adm-key__h .lbl{margin:0}
.adm-mgr>b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking)}
.adm-mgr>.btn{margin-left:auto}
.adm-mgr select{width:auto;max-width:100%}
.adm-quote{margin-top:14px;padding:10px 12px 10px 14px;border-radius:12px;background:var(--bg);box-shadow:inset 3px 0 0 var(--cyan),inset 0 0 0 1px var(--line2)}
.adm-quote small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-bottom:4px;color:var(--cyan)}
.adm-quote p{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:0;max-height:220px;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.adm-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.adm-link .lbl{flex-basis:100%}
.adm-link .lbl[title]{cursor:help;text-decoration:underline dotted;text-underline-offset:3px}
.adm-link .input{flex:1;min-width:180px}
.adm-link .hint{flex-basis:100%;margin:0!important}
.adm-items{margin-top:14px}
.adm-items tfoot td{border-bottom:0;padding-top:12px;font-weight:var(--md-ref-typeface-weight-semibold)}
.adm-addbox:not(:empty){margin-top:12px}
.cab-p .adm-add{margin:10px 0 18px}
.adm-find{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:10px}
.adm-find .input{flex:1 1 160px;min-width:0}
.adm-find select{flex:0 1 auto;width:auto}
.adm-find .rq__opt{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:0;align-items:center;white-space:nowrap}
.adm-find .rq__opt input{margin-top:0}
.adm-new{margin-top:14px;padding-top:12px;border-top:1px solid var(--line2)}
.adm-new>summary{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);width:max-content;cursor:pointer;list-style:none;color:var(--volt)}
.adm-new>summary::-webkit-details-marker{display:none}
.adm-new>summary:hover{text-decoration:underline;text-underline-offset:4px}
.adm-new[open]>summary{margin-bottom:12px}
.adm-dev{grid-template-columns:56px minmax(0,1fr) auto;align-items:start}
.adm-dev__h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.adm-dev__h b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}
.adm-dev .adm-tags{margin-top:4px}
.adm-dev .chips{margin-top:6px}
.adm-dev .chip,.adm-key__h .chip{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:30px;padding:0 12px}
.cab .adm-lbl{margin:16px 0 0}
.adm-lbl+.adm-tags{margin-top:8px}
.adm-key{display:grid;gap:8px;margin-bottom:12px}
.adm-key__h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.adm-key__h .chip{margin-left:auto}
.adm-log td{vertical-align:middle}
.adm-log .adm-tag{max-width:240px}
.adm-log td.mono{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);white-space:nowrap;color:var(--mu)}
.adm-ev{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-weight:var(--md-ref-typeface-weight-medium)}
.adm-ev::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--dim)}
.adm-ev--out::before{background:var(--volt)}
.adm-ev--warn::before{background:var(--warn)}
.adm-ev--cmd::before{background:var(--cyan)}
.adm-ev__ch{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin:2px 0 0 14px;color:var(--mu)}
@media(max-width:560px){.adm-kv{grid-template-columns:minmax(0,1fr)}.adm-items td input{width:84px}}

/* ---------- v2: sign in / sign up ---------- */
.auth__tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 22px;border-radius:12px;background:var(--s2)}
.auth__tabs button{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);height:38px;border:0;border-radius:9px;background:none;color:var(--mu);cursor:pointer}
.auth__tabs button[aria-selected="true"]{background:var(--s3);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line)}
.auth__tabs[hidden]{display:none}
.auth__g{margin-top:22px}
.gbtn{gap:10px}
.gbtn svg{flex:none}
.auth__or{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;align-items:center;gap:12px;margin:18px 0 0;color:var(--dim)}
.auth__or::before,.auth__or::after{content:"";flex:1;height:1px;background:var(--line2)}
.pw{position:relative}
.pw .input{padding-right:84px}
.pw__eye{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);position:absolute;right:8px;top:50%;transform:translateY(-50%);height:30px;padding:0 10px;border:0;border-radius:8px;background:var(--s3);color:var(--mu);cursor:pointer}
.auth__done{margin-top:22px;padding:14px 16px;border-radius:12px;background:rgba(201,242,92,.07);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35)}
.auth__done p{margin:0!important;color:var(--tx)!important}
.auth__done .auth__row{margin-top:10px;justify-content:flex-start}
.auth .hint a{color:var(--volt)}

/* ---------- v2: chat with the team on a request ---------- */
.ochat{margin-top:18px;padding-top:16px;border-top:1px solid var(--line2);display:grid;gap:10px}
.ochat__h{display:flex;align-items:center;gap:10px}
.ochat__h b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}
.badge--new{background:var(--volt)!important;color:#0B0E0D!important}
.ochat__list{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding:2px 2px 4px;scrollbar-width:thin}
.msg2{max-width:82%;padding:9px 12px;border-radius:14px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2)}
.msg2 p{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:0;color:var(--tx);white-space:pre-wrap;overflow-wrap:anywhere}
.msg2__who{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;color:var(--volt);margin-bottom:3px}
.msg2__t{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:block;margin-top:4px;color:var(--dim)}
.msg2--me{align-self:flex-end;background:rgba(201,242,92,.1);box-shadow:inset 0 0 0 1px rgba(201,242,92,.3);border-bottom-right-radius:5px}
.msg2--them{align-self:flex-start;border-bottom-left-radius:5px}
.msg2--sys{align-self:center;max-width:92%;background:none;box-shadow:none;text-align:center;padding:4px 8px}
.msg2--sys p{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
.ochat__f{display:flex;gap:8px;align-items:flex-end}
.ochat__f .textarea{flex:1;min-height:44px;max-height:140px;resize:none;padding:11px 12px}
.ochat__f .btn{flex:none;height:44px}
.auth__prove{margin-top:22px;display:grid;gap:14px}
.auth__prove[hidden]{display:none}
.auth__alt2 summary{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);cursor:pointer;color:var(--mu);text-decoration:underline;text-underline-offset:3px}
.auth__alt2[open] summary{margin-bottom:12px}
