/*
 * Admin Core design tokens — LEAD BOX.
 * Light «Воздух»: airy tinted page, white borderless cards on soft shadows, white sidebar.
 * Dark «Графит»: graphite-green surfaces separated by thin lines, near-black sidebar.
 * Brand: mint #2ee6a6 (fills: main action, active series), mint-deep #0a805d (accent text on light),
 * black #0a0d0c. Mint marks what matters; it is never a border on everything.
 * Every component reads only these --admin-* tokens; adapters may override them.
 */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(./manrope-cyrillic.woff2) format('woff2');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:400 800;font-display:swap;src:url(./manrope-latin.woff2) format('woff2');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}
/* Montserrat is used only by the LEAD BOX logotype, exactly as on lead-box.ru. */
@font-face{font-family:'Suite Logo';font-style:normal;font-weight:100 900;font-display:swap;src:url(./montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Suite Logo';font-style:normal;font-weight:100 900;font-display:swap;src:url(./montserrat-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root {
 color-scheme:light;
 /* brand */
 --admin-brand:#2ee6a6; --admin-brand-hover:#22d396; --admin-on-brand:#0a0d0c; --admin-brand-soft:#d9f5e9;
 /* surfaces */
 --admin-bg:#f3f6f4; --admin-panel:#fff; --admin-panel-2:#f7f9f8; --admin-sunken:#e7ece9;
 --admin-card-border:transparent;
 /* text */
 --admin-text:#111714; --admin-text-2:#3f4a45; --admin-muted:#5f6a65;
 /* lines */
 --admin-line:#e4e9e6; --admin-line-soft:#eef2f0; --admin-line-strong:#cfd7d3;
 /* interaction */
 --admin-accent:#0a805d; --admin-accent-hover:#075c43; --admin-active:#e9faf2; --admin-hover:#f3f6f4;
 --admin-accent-line:#9fe3c6; --admin-focus-ring:rgb(46 230 166 / .35);
 /* semantic */
 --admin-success:#0a805d; --admin-success-bg:#e9faf2;
 --admin-danger:#c0342b; --admin-danger-bg:#fdeceb; --admin-warning:#8f5a00; --admin-warning-bg:#fdf1d8;
 --admin-info:#17699a; --admin-info-bg:#e6f2f9; --admin-neutral-bg:#eef2f0;
 /* depth */
 --admin-shadow:0 1px 2px rgb(10 13 12 / .04),0 4px 16px rgb(10 13 12 / .04);
 --admin-shadow-raised:0 1px 3px rgb(10 13 12 / .12);
 --admin-shadow-float:0 16px 40px rgb(10 13 12 / .14),0 2px 8px rgb(10 13 12 / .06);
 --admin-overlay:rgb(10 13 12 / .4);
 /* shape and type */
 --admin-radius:10px; --admin-radius-sm:8px; --admin-panel-radius:16px; --admin-pill:999px;
 --admin-control:40px; --admin-control-sm:34px;
 --admin-font:Manrope,'Segoe UI',system-ui,sans-serif;
 --admin-font-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
 --admin-scroll:#cfd7d3;
 /* charts: primary, comparison (neutral, dashed), third, fourth; each ≥3:1 on the card */
 --admin-chart-1:#0e9a6a; --admin-chart-2:#8a948f; --admin-chart-3:#3a86b8; --admin-chart-4:#dd5f52;
 /* sidebar */
 --admin-side-bg:#fff; --admin-side-line:#e4e9e6; --admin-side-text:#3f4a45; --admin-side-muted:#5f6a65;
 --admin-side-hover:#f3f6f4; --admin-side-active:#e9faf2; --admin-side-accent:#0a805d;
 --admin-mark-bg:#0a0d0c; --admin-mark-fg:#2ee6a6;
}
html[data-theme=dark] {
 /* «Тёплый уголь»: warm neutral charcoal, body text ~10:1 (not 14:1), softened mint for text and lines. */
 color-scheme:dark;
 --admin-brand:#3fd49b; --admin-brand-hover:#62dcae; --admin-brand-soft:#33463c;
 --admin-bg:#1e1e1c; --admin-panel:#262624; --admin-panel-2:#2c2c29; --admin-sunken:#191917;
 --admin-card-border:#353431;
 --admin-text:#d9d6d0; --admin-text-2:#b5b1a9; --admin-muted:#a09c93;
 --admin-line:#3a3935; --admin-line-soft:#32312e; --admin-line-strong:#4a4944;
 --admin-accent:#74d4ae; --admin-accent-hover:#a6e6cb; --admin-active:#27392f; --admin-hover:#2e2e2b;
 --admin-accent-line:#3b5a4a; --admin-focus-ring:rgb(116 212 174 / .3);
 --admin-success:#74d4ae; --admin-success-bg:#27392f;
 --admin-danger:#ec9a91; --admin-danger-bg:#3d2a28; --admin-warning:#e2bd74; --admin-warning-bg:#3a3222;
 --admin-info:#8fc3dc; --admin-info-bg:#26333a; --admin-neutral-bg:#32312e;
 --admin-shadow:none; --admin-shadow-raised:0 1px 2px rgb(0 0 0 / .35);
 --admin-shadow-float:0 16px 40px rgb(0 0 0 / .45),0 2px 8px rgb(0 0 0 / .25);
 --admin-overlay:rgb(0 0 0 / .55); --admin-scroll:#4a4944;
 --admin-chart-1:#74d4ae; --admin-chart-2:#8a8680; --admin-chart-3:#8fc3dc; --admin-chart-4:#ec9a91;
 --admin-side-bg:#1a1a18; --admin-side-line:#2c2b28; --admin-side-text:#b5b1a9; --admin-side-muted:#a09c93;
 --admin-side-hover:#252523; --admin-side-active:#27392f; --admin-side-accent:#74d4ae;
 --admin-mark-bg:#3fd49b; --admin-mark-fg:#0a0d0c;
}

/* Base panel text */
.suite-panel,.suite-dialog { color:var(--admin-text); font:14px/1.5 var(--admin-font); box-sizing:border-box; }
.suite-panel *, .suite-dialog * { box-sizing:border-box; }
.suite-panel-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; }
.suite-notice { margin:0; color:var(--admin-muted); font-size:13px; }

/* Buttons: secondary by default, one mint primary per area */
.suite-button { font:600 14px/1.3 var(--admin-font); color:var(--admin-text); background:var(--admin-panel); border:1px solid var(--admin-line); border-radius:var(--admin-radius); padding:8px 16px; min-height:var(--admin-control); cursor:pointer; box-shadow:none; transition:background-color .12s,border-color .12s,color .12s; }
.suite-button:hover { background:var(--admin-panel-2); border-color:var(--admin-line-strong); }
.suite-button:active { transform:translateY(1px); }
.suite-button:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.suite-button.suite-button--primary { background:var(--admin-brand); border-color:var(--admin-brand); color:var(--admin-on-brand); font-weight:700; }
.suite-button.suite-button--primary:hover { background:var(--admin-brand-hover); border-color:var(--admin-brand-hover); }
.suite-button.suite-button--danger { color:var(--admin-danger); }
.suite-button.suite-button--danger:hover { background:var(--admin-danger-bg); border-color:var(--admin-danger-bg); }
.suite-button[aria-pressed=true] { background:var(--admin-active); color:var(--admin-accent); border-color:var(--admin-active); font-weight:700; }
.suite-panel :focus-visible,.suite-dialog :focus-visible { outline:2px solid var(--admin-accent); outline-offset:2px; }

/* Filter chips read as a segmented control */
.suite-filters { display:inline-flex; flex-wrap:wrap; gap:2px; margin:10px 0; padding:3px; background:var(--admin-sunken); border-radius:var(--admin-radius); }
.suite-filters .suite-button { font-size:13px; min-height:var(--admin-control-sm); padding:6px 14px; border:0; border-radius:var(--admin-radius-sm); background:transparent; color:var(--admin-text-2); }
.suite-filters .suite-button:hover { background:transparent; color:var(--admin-text); }
.suite-filters .suite-button[aria-pressed=true] { background:var(--admin-panel); color:var(--admin-text); box-shadow:var(--admin-shadow-raised); }

/* Attention and run lists */
.suite-list { padding:0; margin:0; list-style:none; min-height:120px; }
.suite-list>li { padding:14px 0; border-bottom:1px solid var(--admin-line-soft); }
.suite-list>li:last-child { border-bottom:0; }
.suite-item-body { min-width:0; overflow-wrap:anywhere; }
.suite-item-heading { display:flex; align-items:baseline; gap:8px; }
.suite-item-heading strong { font-weight:700; font-size:14px; }
.suite-priority { flex:none; font-size:12px; font-weight:600; color:var(--admin-muted); }
.suite-priority--high { color:var(--admin-danger); }
.suite-priority--medium { color:var(--admin-warning); }
.suite-item-body p { margin:6px 0; font-size:13px; color:var(--admin-text-2); }
.suite-link { color:var(--admin-accent); font-size:13px; font-weight:700; text-decoration:none; cursor:pointer; }
.suite-link:hover { color:var(--admin-accent-hover); text-decoration:underline; }
.suite-muted { color:var(--admin-muted); font-size:13px; }
.suite-warning { color:var(--admin-warning); font-size:13px; padding:8px 0; margin:0; overflow-wrap:anywhere; }
.suite-warning[hidden] { display:none; }
.suite-empty { display:flex; align-items:center; min-height:120px; color:var(--admin-muted); font-size:14px; }
.suite-panel-footer,.suite-paging { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.suite-panel-footer { border-top:1px solid var(--admin-line-soft); padding-top:12px; }
.suite-run-title { padding:3px 0; border:0; background:transparent; color:var(--admin-text); font-weight:700; text-align:left; font-size:14px; min-height:28px; }
.suite-run-title:hover { background:transparent; color:var(--admin-accent); text-decoration:underline; }
.suite-item-body>small { display:block; overflow-wrap:anywhere; color:var(--admin-muted); }
.suite-run-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:6px; }

/* Status pills: text always states the status, tone only supports it */
.suite-status { display:inline-block; padding:3px 10px; border-radius:var(--admin-pill); font-size:12px; font-weight:700; line-height:1.4; white-space:nowrap; color:var(--admin-text-2); background:var(--admin-neutral-bg); }
.suite-status--running { color:var(--admin-info); background:var(--admin-info-bg); }
.suite-status--queued,.suite-status--review { color:var(--admin-warning); background:var(--admin-warning-bg); }
.suite-status--success { color:var(--admin-success); background:var(--admin-success-bg); }
.suite-status--failed { color:var(--admin-danger); background:var(--admin-danger-bg); }
.suite-run-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:var(--admin-muted); }

/* Details dialog */
.suite-dialog { padding:24px; width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; color:var(--admin-text); background:var(--admin-panel); border:1px solid var(--admin-card-border); border-radius:var(--admin-panel-radius); box-shadow:var(--admin-shadow-float); scrollbar-color:var(--admin-scroll) var(--admin-panel); }
.suite-dialog::backdrop { background:var(--admin-overlay); }
.suite-dialog-head { display:flex; align-items:flex-start; gap:16px; justify-content:space-between; margin-bottom:16px; }
.suite-dialog h2 { font-size:20px; font-weight:800; letter-spacing:-.01em; margin:0; overflow-wrap:anywhere; }
.suite-dialog dl { display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px; margin:20px 0; font-size:14px; }
.suite-dialog dt { color:var(--admin-muted); }
.suite-dialog dd { margin:0; overflow-wrap:anywhere; }
.suite-run-message { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:800px) { .suite-item-heading { flex-wrap:wrap; gap:4px 8px; }.suite-dialog dl { grid-template-columns:1fr; gap:6px; }.suite-dialog dd { margin-bottom:10px; } }
@media(prefers-reduced-motion:reduce) { .suite-button { transition:none; }.suite-button:active { transform:none; } }
@media(forced-colors:active) { .suite-button,.suite-status,.suite-dialog { border:1px solid ButtonText; }.suite-button[aria-pressed=true] { border-color:Highlight; }.suite-panel :focus-visible,.suite-dialog :focus-visible { outline-color:Highlight; } }

/* Fields: hover darkens the edge; focus alone gets the mint edge and a soft ring. */
:root :is(.suite-shell-page,.suite-data-table,.suite-server-table,.suite-form,.suite-shell-launcher,.suite-dialog) :is(input:not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=reset]),select,textarea):not(:disabled):hover {
 border-color:var(--admin-line-strong);
}
:root :is(.suite-shell-page,.suite-data-table,.suite-server-table,.suite-form,.suite-shell-launcher,.suite-dialog) :is(input:not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=reset]),select,textarea):not(:disabled):focus {
 --admin-field-focus:var(--admin-accent);
 border-color:var(--admin-field-focus);
 outline:0;
 box-shadow:0 0 0 3px var(--admin-focus-ring);
}
:root .suite-form-field :is(input,select,textarea)[aria-invalid=true]:not(:disabled):is(:hover,:focus) {
 border-color:var(--admin-danger);
 box-shadow:0 0 0 3px var(--admin-danger-bg);
}
@media(forced-colors:active) {
 :root :is(.suite-shell-page,.suite-data-table,.suite-server-table,.suite-form,.suite-shell-launcher,.suite-dialog) :is(input,select,textarea):not(:disabled):is(:hover,:focus) {
  border-color:Highlight;outline:2px solid Highlight;outline-offset:0;box-shadow:none;
 }
}
.suite-navigation-notice{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 40px);padding:12px 16px;border:1px solid var(--admin-card-border);border-radius:var(--admin-radius);background:var(--admin-panel);box-shadow:var(--admin-shadow-float);color:var(--admin-text);font:14px/1.5 var(--admin-font);flex-wrap:wrap}.suite-navigation-notice[hidden],.suite-navigation-notice [hidden]{display:none}

/* Heavy weights bloom on dark backgrounds; headings and figures step down to 700. */
html[data-theme=dark] :is(.suite-page h1,.studio-heading h1,.suite-dialog h2,.suite-overlay-head h2,.suite-shell-launcher-head h2,.suite-shell-brand-copy strong,.suite-kpi strong,.suite-template-metrics strong,.studio-metric strong,.suite-state h3,.suite-service h1){font-weight:700}

/*
 * LEAD BOX logotype, ported 1:1 from lead-box.ru (.lb-logo): WORD + framed «BOX» with a mint corner.
 * The word changes per product (LEAD, CUT, DELE, ID…); «BOX» and its motion never change.
 * Hover/focus on the owning link or button: the frame fills with mint, the corner turns 90°.
 */
.suite-logo{display:inline-flex;align-items:center;font:800 22px/1 'Suite Logo',Montserrat,var(--admin-font);letter-spacing:-.07em;white-space:nowrap;color:inherit;text-decoration:none}
.suite-logo>span{position:relative;display:inline-block;padding:.16em .2em .2em;margin-left:.07em;border:2px solid currentColor;transition:background .25s,color .25s}
.suite-logo i{position:absolute;width:.23em;height:.23em;background:var(--admin-logo-mint,#2ee6a6);right:-.13em;top:-.13em;transition:rotate .3s}
:is(a,button):is(:hover,:focus-visible) .suite-logo>span,a.suite-logo:is(:hover,:focus-visible)>span{background:var(--admin-logo-mint,#2ee6a6);border-color:#0a0d0c;color:#0a0d0c}
:is(a,button):is(:hover,:focus-visible) .suite-logo i,a.suite-logo:is(:hover,:focus-visible) i{rotate:90deg}
@media(prefers-reduced-motion:reduce){.suite-logo>span,.suite-logo i{transition:none}}
@media(forced-colors:active){.suite-logo>span{border:1px solid ButtonText}.suite-logo i{background:Highlight}}
