:root {
    --bg: #0b1220; --panel: #11192b; --panel-soft: #15203a; --line: #26324a; --text: #e9eefb; --muted: #98a7c7;
    --primary: #4f8cff; --success: #29b36a; --warning: #f0a53a; --danger: #d9534f;
}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;font-family:Arial,sans-serif;background:linear-gradient(180deg,#09111d 0%,#0e1727 100%);color:var(--text)} body.is-loading{overflow:hidden}
.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{padding:16px;border-right:1px solid rgba(255,255,255,.06);background:rgba(7,12,22,.72);position:sticky;top:0;height:100vh;overflow:auto}
.brand__title{font-size:26px;font-weight:700;margin-bottom:6px}.brand__sub{color:var(--muted);font-size:14px}.nav{display:grid;gap:10px;margin:28px 0}.nav__link{display:block;padding:13px 16px;border-radius:14px;text-decoration:none;color:var(--text);background:rgba(255,255,255,.04);border:1px solid transparent}.nav__link:hover,.nav__link.is-active{background:rgba(79,140,255,.14);border-color:rgba(79,140,255,.35)}
.sidebar__stats{display:grid;gap:10px}.stat-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit}.stat-card:hover,.stat-card.is-active{background:rgba(79,140,255,.14);border-color:rgba(79,140,255,.35)}.stat-card span{color:var(--muted);font-size:14px}.stat-card strong{font-size:22px}.sidebar__meta{margin-top:22px;color:var(--muted);font-size:13px;line-height:1.6}.sidebar__logout a{color:#cfe0ff;text-decoration:none} code{color:#cfe0ff}.content{padding:28px}
.flash{padding:14px 16px;border-radius:14px;margin-bottom:18px;border:1px solid transparent}.flash--success{background:rgba(41,179,106,.12);border-color:rgba(41,179,106,.28)}.flash--error{background:rgba(217,83,79,.12);border-color:rgba(217,83,79,.28)}
.panel{background:rgba(17,25,43,.92);border:1px solid rgba(255,255,255,.06);border-radius:24px;padding:24px;box-shadow:0 18px 40px rgba(0,0,0,.24)}.panel--narrow{max-width:1200px}.panel__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}.panel__header--space{align-items:center} h1,h2{margin:0 0 8px} p{margin:0;color:var(--muted);line-height:1.55}
.toolbar,.cards-grid,.field{display:grid;gap:14px}.toolbar--dashboard{grid-template-columns:220px 1fr 220px 120px auto;align-items:end;margin-bottom:18px}.field label{font-size:13px;color:var(--muted)} input,select,textarea,button{width:100%;border-radius:14px;border:1px solid var(--line);background:var(--panel-soft);color:var(--text);padding:13px 14px;font:inherit} textarea{resize:vertical;min-height:220px} button{cursor:pointer}.btn{width:auto;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none}.btn--primary{background:linear-gradient(180deg,#5b95ff,#3f74e0);border-color:transparent}.btn--small{padding:9px 12px;font-size:14px}.btn--danger{background:rgba(217,83,79,.12);border-color:rgba(217,83,79,.35);color:#ffb4b0}.btn--full{width:100%}.toolbar__actions{display:flex;align-items:end}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.06)}.table{width:100%;border-collapse:collapse;min-width:980px}.table th,.table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}.table th{text-align:left;font-size:13px;color:var(--muted);background:rgba(255,255,255,.03)}.host-cell{display:grid;gap:6px}.link-muted{color:#9dc0ff;text-decoration:none;font-size:13px}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700}.badge--success{background:rgba(41,179,106,.15);color:#8ee0b0}.badge--muted{background:rgba(255,255,255,.07);color:#c1cbe2}.badge--primary{background:rgba(79,140,255,.16);color:#aecdff}.badge--warning{background:rgba(240,165,58,.16);color:#ffd694}.badge--danger{background:rgba(217,83,79,.16);color:#ffb4b0}.small-muted{margin-top:6px;color:var(--muted);font-size:12px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--text);font-size:13px}.inline-form{display:inline-flex}.inline-form--stack{display:grid;gap:10px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.pagination{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.pagination__links{display:flex;gap:8px;flex-wrap:wrap}.page-link{min-width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}.page-link.is-active{background:rgba(79,140,255,.18);border-color:rgba(79,140,255,.35)}
.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:18px}.result-block{margin-top:24px}
.login-page{min-height:100vh;display:grid;place-items:center}.login-shell{width:100%;max-width:460px;padding:24px}.login-card{background:rgba(17,25,43,.95);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:24px;box-shadow:0 18px 40px rgba(0,0,0,.24)}.login-form{display:grid;gap:14px;margin-top:18px}.login-tip{margin-top:14px;color:var(--muted);font-size:13px}
.smart-select{position:relative}.smart-select__trigger{justify-content:flex-start}.smart-select__panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);background:#0f1a31;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;z-index:200;box-shadow:0 18px 30px rgba(0,0,0,.3)}.smart-select.is-open .smart-select__panel{display:block}.smart-select__results{max-height:280px;overflow:auto;display:grid;gap:8px;margin-top:10px}.smart-select__item{width:100%;text-align:left;border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.04);border:1px solid transparent}.smart-select__item:hover,.smart-select__item.is-selected{background:rgba(79,140,255,.14);border-color:rgba(79,140,255,.35)}.smart-select__selected{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.smart-select__footer{margin-top:12px;display:flex;justify-content:flex-end}.smart-select__empty,.smart-select__more{color:var(--muted);font-size:13px;padding:8px 4px}
.loader-overlay{position:fixed!important;inset:0!important;z-index:99999!important;background:rgba(3,10,20,.78);display:flex;align-items:center;justify-content:center;padding:24px}.loader-card{width:min(520px,100%);background:rgba(17,25,43,.98);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:28px;box-shadow:0 30px 60px rgba(0,0,0,.4);text-align:center}.spinner{width:64px;height:64px;border-radius:50%;border:4px solid rgba(255,255,255,.12);border-top-color:var(--primary);margin:0 auto 16px;animation:spin 1s linear infinite}.loader-title{font-size:24px;font-weight:700;margin-bottom:10px}.loader-text{color:var(--muted);margin-bottom:8px}.progress-bar{height:12px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);margin-top:18px}.progress-bar__fill{width:0;height:100%;background:linear-gradient(90deg,#5b95ff,#7daeff);transition:width .2s ease}@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:1180px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}.toolbar--dashboard{grid-template-columns:1fr 1fr}.cards-grid,.cards-grid--two{grid-template-columns:1fr}}
@media (max-width:760px){.content{padding:16px}.panel{padding:16px;border-radius:18px}.toolbar--dashboard{grid-template-columns:1fr}}

/* --- UI refinement v8 --- */
.brand{margin-bottom:10px}
.brand__title{font-size:24px;line-height:1.15;margin-bottom:0}
.sidebar__downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0 12px}
.btn--ghost{background:rgba(79,140,255,.10);border-color:rgba(79,140,255,.28);color:#dce9ff}
.btn--download{width:100%;padding:10px 8px;font-size:13px;font-weight:700;letter-spacing:.04em}
.sidebar__meta{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);display:grid;gap:10px;color:var(--muted);font-size:13px;line-height:1.45}
.sidebar__user strong{color:#fff}
.sidebar__role{color:var(--muted)}
.sidebar__updated{color:var(--muted)}
.sidebar__logout{margin-top:4px}
.btn--logout{width:100%;background:linear-gradient(180deg,#6aa2ff,#3f74e0);border-color:transparent;color:#fff;font-weight:700;padding:12px 16px;box-shadow:0 10px 24px rgba(79,140,255,.22)}
.btn--logout:hover,.btn--download:hover,.btn--primary:hover{filter:brightness(1.06)}
.panel__header.panel__header--space{margin-bottom:16px}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#16315f 0%,#0b1220 35%,#08101a 100%)}
.login-shell{width:100%;max-width:460px;padding:0}
.login-card{width:100%;background:rgba(12,20,35,.96);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:34px 30px;box-shadow:0 28px 70px rgba(0,0,0,.45)}
.login-brand{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:rgba(79,140,255,.13);color:#cfe0ff;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px}
.login-card h1{font-size:32px;line-height:1.1;margin-bottom:18px}
.login-form{display:grid;gap:14px;margin-top:10px}
.login-form .field{gap:8px}
.login-form input{height:52px;padding:14px 16px}
.btn--login{height:52px;font-size:16px;font-weight:700;box-shadow:0 16px 36px rgba(79,140,255,.26)}
@media (max-width:1180px){.sidebar__downloads{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.sidebar__downloads{grid-template-columns:1fr 1fr 1fr}.login-card{padding:24px 20px}.login-card h1{font-size:28px}}

.domain-link{color:#fff;text-decoration:none;font-weight:700}.domain-link:hover{color:#9fc2ff;text-decoration:underline}

.form-card--wide{max-width:820px}.badge--warning{background:rgba(240,165,58,.16);color:#ffd694}

.loader-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:6px 0 2px;color:var(--muted);font-size:13px}.loader-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.progress-bar__fill.is-indeterminate{width:36%!important;position:relative;background:linear-gradient(90deg,rgba(91,149,255,.15),#5b95ff,#7daeff);animation:progressIndeterminate 1.25s ease-in-out infinite}@keyframes progressIndeterminate{0%{transform:translateX(-130%)}50%{transform:translateX(10%)}100%{transform:translateX(240%)}}.btn[disabled]{opacity:.65;cursor:not-allowed}


.loader-card{display:grid;gap:10px}.loader-title{margin-bottom:0}.loader-text{margin-bottom:0}.loader-text--stage{font-weight:700;color:#fff}.loader-info{min-height:20px;color:#cfe0ff;font-size:14px;line-height:1.45}.loader-meta{margin:0;gap:10px 16px}.loader-meta span{white-space:normal}.loader-actions{margin-top:8px}


/* --- Rerun failed jobs UI fixed --- */
.run-extra-grid{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:16px;
    align-items:stretch;
    margin-top:24px;
}
.run-extra-grid .card{margin:0;min-width:0}
.run-extra-grid .form-card--wide{max-width:none}
.exclusions-card textarea{min-height:220px}
.rerun-errors-card{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-height:100%;
}
.rerun-errors-card h2{margin-bottom:2px}
.rerun-errors-card .small-muted{margin-top:0}
.radio-group{
    display:grid;
    gap:10px;
    margin:6px 0 2px;
}
.radio-row{
    display:inline-flex!important;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    width:max-content;
    max-width:100%;
    cursor:pointer;
    color:var(--text);
    font-size:15px;
    line-height:1.35;
}
.radio-row input[type="radio"]{
    appearance:auto;
    -webkit-appearance:radio;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    flex:0 0 18px;
    padding:0!important;
    margin:0!important;
    accent-color:#5b95ff;
    border-radius:50%;
}
.radio-row span{display:inline-block}
.rerun-errors-card .field.is-disabled{opacity:.52}
.rerun-errors-card .field.is-disabled input{cursor:not-allowed}
.rerun-errors-card .btn{margin-top:auto;align-self:flex-start}
@media (max-width:1180px){
    .run-extra-grid{grid-template-columns:1fr}
}

.topic-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: 18px; }
.topics-editor-grid { align-items: start; margin-bottom: 18px; }
.form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.check-row { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-weight: 600; color: #243044; }
.check-row input { width: auto; }
.table--topics td { vertical-align: top; }
.topic-path { display: flex; flex-direction: column; gap: 4px; min-width: 180px; }
.topic-path span { color: #667085; }
.keywords-preview { display: flex; flex-wrap: wrap; gap: 6px; max-width: 520px; }
.pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; color: #667085; }
code { background: rgba(15, 23, 42, .06); border-radius: 6px; padding: 2px 6px; }
@media (max-width: 900px) {
    .topics-editor-grid { grid-template-columns: 1fr; }
    .table--topics .row-actions { align-items: stretch; }
}

/* Topic library UI refinements */
a.btn,
button.btn {
    border-radius: 14px;
    border: 1px solid var(--line);
    background: var(--panel-soft);
    color: var(--text);
    padding: 13px 14px;
    font: inherit;
    line-height: 1.2;
}

a.btn:hover,
button.btn:hover {
    text-decoration: none;
}

.btn--ghost {
    background: rgba(91, 149, 255, .10);
    border-color: rgba(91, 149, 255, .26);
    color: #c8dbff;
}

.check-row {
    color: var(--text);
}

.topic-transfer {
    display: grid;
    grid-template-columns: minmax(320px, 1.6fr) minmax(260px, .9fr);
    gap: 18px;
    margin: 22px 0 28px;
}

.topic-transfer-card {
    padding: 20px;
}

.topic-transfer-card__header h2 {
    margin: 0 0 6px;
}

.topic-transfer-card__header p {
    margin: 0;
    color: var(--muted);
}

.topic-transfer-card__body {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: end;
    margin-top: 16px;
}

.topic-transfer-card__body--export {
    grid-template-columns: 1fr auto;
}

.topic-transfer-card__actions {
    display: flex;
    align-items: end;
    gap: 10px;
}

.topics-editor-wrap {
    margin-top: 28px;
    margin-bottom: 22px;
}

.topic-editor-card {
    padding: 26px;
}

.topic-editor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.topic-editor-grid--footer {
    align-items: end;
}

.field--checkbox {
    display: flex;
    align-items: end;
}

.table--topics td {
    padding-top: 18px;
    padding-bottom: 18px;
}

.topic-path {
    min-width: 260px;
    gap: 10px;
}

.topic-path__title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--text);
    word-break: break-word;
}

.topic-path__trail {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.topic-path__badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    color: #c8d3ea;
    font-size: 12px;
    line-height: 1.2;
}

.topic-thematic {
    font-weight: 600;
    line-height: 1.4;
    word-break: break-word;
    min-width: 180px;
}

.row-actions--topics {
    flex-direction: column;
    align-items: stretch;
    min-width: 150px;
}

.row-actions--topics .inline-form {
    display: flex;
}

.row-actions--topics .btn {
    width: 100%;
}

.toolbar--topics {
    grid-template-columns: minmax(280px, 1fr) 220px 140px auto;
}

@media (max-width: 1180px) {
    .topic-transfer,
    .topic-editor-grid,
    .toolbar--topics {
        grid-template-columns: 1fr;
    }

    .topic-transfer-card__body,
    .topic-transfer-card__body--export {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .topic-transfer-card__actions,
    .field--checkbox {
        align-items: stretch;
    }

    .row-actions--topics {
        min-width: 120px;
    }
}

/* Stage 7: product UI refresh */
:root {
    --bg-deep: #07111f;
    --panel-main: #101a2d;
    --panel-soft: #151f34;
    --panel-ghost: rgba(255,255,255,.035);
    --line-soft: rgba(160, 181, 220, .14);
    --line-bright: rgba(100, 155, 255, .35);
    --accent-soft: rgba(83, 139, 255, .16);
    --good-soft: rgba(52, 211, 153, .12);
    --bad-soft: rgba(248, 113, 113, .12);
}
body { background: radial-gradient(circle at 20% 0%, rgba(52, 99, 180, .16), transparent 32%), var(--bg-deep); }
.layout { align-items: stretch; }
.content { padding: 28px 32px; max-width: 1680px; }
.app-sidebar { width: 292px; padding: 22px 18px; background: rgba(6, 14, 26, .92); border-right: 1px solid var(--line-soft); }
.brand { margin-bottom: 24px; }
.brand__eyebrow, .screen-kicker { color: #8fb4ff; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 6px; }
.brand__title { font-size: 25px; line-height: 1.15; }
.nav--main { gap: 8px; }
.nav__link { border-radius: 15px; padding: 14px 16px; background: transparent; border: 1px solid transparent; }
.nav__link:hover { background: rgba(255,255,255,.055); text-decoration: none; }
.nav__link.is-active { background: var(--accent-soft); border-color: var(--line-bright); color: #fff; }
.sidebar-summary { margin: 24px 0 14px; padding: 18px; border-radius: 20px; background: linear-gradient(180deg, rgba(74, 128, 230, .17), rgba(255,255,255,.035)); border: 1px solid var(--line-bright); }
.sidebar-summary__label { color: #aabbe0; font-size: 13px; }
.sidebar-summary__value { font-size: 32px; font-weight: 800; color: #fff; margin: 4px 0 14px; }
.sidebar-summary__grid { display: grid; grid-template-columns: 1fr auto; gap: 9px 12px; color: #aabbe0; font-size: 13px; }
.sidebar-summary__grid strong { color: #fff; }
.compact-downloads { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0; }
.compact-downloads .btn { padding: 12px 8px; }
.sidebar__stats { display: none; }
.sidebar__meta { margin-top: auto; border-top: 1px solid var(--line-soft); padding-top: 16px; }

.screen { min-height: calc(100vh - 56px); }
.screen-hero { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; margin-bottom: 24px; padding: 28px; border-radius: 28px; background: linear-gradient(135deg, rgba(18, 29, 52, .96), rgba(12, 20, 36, .92)); border: 1px solid var(--line-soft); box-shadow: 0 20px 60px rgba(0,0,0,.18); }
.screen-hero h1 { font-size: 38px; line-height: 1.08; margin: 0 0 8px; }
.screen-hero p { margin: 0; color: #aabbe0; max-width: 760px; font-size: 16px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.panel-card, .card, .panel { background: rgba(17, 27, 47, .88); border: 1px solid var(--line-soft); border-radius: 24px; box-shadow: 0 12px 40px rgba(0,0,0,.13); }
.panel-card { padding: 22px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
.metric-card { padding: 22px; border-radius: 24px; background: rgba(20, 33, 56, .88); border: 1px solid var(--line-soft); color: #fff; text-decoration: none; }
.metric-card span { display: block; color: #aabbe0; margin-bottom: 8px; }
.metric-card strong { font-size: 34px; line-height: 1; }
.metric-card:hover { border-color: var(--line-bright); text-decoration: none; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); gap: 18px; }
.block-header { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:16px; }
.block-header h2 { margin:0 0 5px; }
.block-header p { margin:0; color:#9fb0cf; }
.group-list { display:grid; gap:10px; }
.group-row { display:flex; justify-content:space-between; gap:14px; padding:14px 16px; border-radius:16px; background:rgba(255,255,255,.035); border:1px solid transparent; color:#fff; text-decoration:none; }
.group-row:hover { border-color:var(--line-bright); text-decoration:none; }
.group-row__meta { color:#9fb0cf; }
.mini-results { display:grid; gap:9px; }
.mini-result { display:flex; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.035); }
.mini-result span { color:#9fb0cf; }
.groups-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap:16px; }
.group-card { padding:20px; border-radius:24px; background:rgba(17,27,47,.88); border:1px solid var(--line-soft); }
.group-card__top { display:flex; justify-content:space-between; gap:14px; margin-bottom:16px; }
.group-card h2 { margin:0 0 6px; font-size:20px; }
.group-card p { margin:0; color:#9fb0cf; }
.group-card__stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px; }
.group-card__stats span { padding:12px; border-radius:14px; background:rgba(255,255,255,.035); color:#9fb0cf; }
.group-card__stats b { display:block; color:#fff; font-size:22px; }
.group-card__actions, .download-row { display:flex; flex-wrap:wrap; gap:10px; }
.clean-toolbar { display:grid; grid-template-columns: 190px minmax(220px, 1fr) 260px 140px auto; gap:12px; align-items:end; margin-bottom:16px; padding:16px; border-radius:22px; background:rgba(17,27,47,.72); border:1px solid var(--line-soft); }
.clean-cards { align-items:stretch; }
.clean-cards .card { padding:24px; }
.group-actions-row { display:grid; grid-template-columns: minmax(0,1fr) auto; gap:16px; margin-bottom:16px; }
.inline-edit-card { padding:16px; border-radius:20px; background:rgba(17,27,47,.72); border:1px solid var(--line-soft); }
.inline-edit-card label { display:block; color:#9fb0cf; margin-bottom:8px; }
.inline-edit-card div { display:flex; gap:10px; }
.inline-edit-card input { min-width:260px; }
.table-wrap--clean { border-radius:24px; overflow:hidden; }
.table--sites th, .table--sites td { padding-top:15px; padding-bottom:15px; }
.empty-state { padding:26px; color:#9fb0cf; border-radius:20px; background:rgba(255,255,255,.035); border:1px dashed var(--line-soft); }
.empty-state--small { padding:16px; }
.run-panel { margin-bottom:16px; }
.field--wide select { max-width: 620px; }

.loader-card--wide { width: min(880px, calc(100vw - 40px)); padding: 28px; border-radius: 28px; }
.loader-header { display:flex; gap:18px; align-items:center; margin-bottom:18px; }
.loader-title { font-size: 25px; }
.loader-group { color:#8fb4ff; margin-top:4px; }
.loader-progress-row { display:flex; justify-content:space-between; gap:16px; margin:12px 0 8px; }
.loader-work-grid { display:grid; grid-template-columns: 1fr 1fr; gap:14px; margin-top:18px; }
.loader-work-card { padding:16px; border-radius:18px; background:rgba(255,255,255,.035); border:1px solid var(--line-soft); }
.loader-work-card h3 { margin:0 0 10px; font-size:15px; color:#cdd8ef; }
.loader-current-main { margin-bottom:10px; color:#fff; font-weight:700; word-break:break-word; }
.loader-list { display:grid; gap:8px; max-height:220px; overflow:auto; }
.loader-list__item { display:grid; grid-template-columns: minmax(0,1fr) auto; gap:6px 10px; padding:10px 12px; border-radius:14px; background:rgba(12,20,36,.88); }
.loader-list__item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.loader-list__item span { color:#9fb0cf; font-size:12px; }
.loader-list__item em { grid-column:2; grid-row:1 / span 2; color:#6f83a9; font-style:normal; font-size:12px; align-self:center; }
.loader-list__item.is-active { border:1px solid var(--line-bright); }

@media (max-width: 1180px) {
    .layout { display:block; }
    .app-sidebar { width:auto; position:relative; min-height:auto; }
    .content { padding:18px; }
    .metric-grid, .overview-grid, .group-actions-row, .loader-work-grid { grid-template-columns:1fr; }
    .clean-toolbar { grid-template-columns:1fr; }
    .screen-hero { flex-direction:column; }
}

/* --- Stage 7.1 soft UI + themes + loader alignment --- */
:root,
html[data-theme="dark"] {
    --bg: #101827;
    --bg-2: #0f1724;
    --panel: #172235;
    --panel-soft: #1d2a42;
    --card: #1a263b;
    --line: rgba(148, 163, 184, .18);
    --text: #eef4ff;
    --muted: #a9b7cf;
    --muted-2: #7f8da6;
    --primary: #6d9cff;
    --primary-2: #87b2ff;
    --success: #45c489;
    --warning: #f3b45d;
    --danger: #f07178;
    --shadow: 0 18px 42px rgba(0,0,0,.22);
    --chip-bg: rgba(255,255,255,.055);
    --input-bg: #182641;
}

html[data-theme="light"] {
    --bg: #f4f7fb;
    --bg-2: #eef3f9;
    --panel: #ffffff;
    --panel-soft: #f2f6fc;
    --card: #ffffff;
    --line: rgba(37, 54, 78, .13);
    --text: #172033;
    --muted: #64748b;
    --muted-2: #8a97aa;
    --primary: #3867d6;
    --primary-2: #5b82ec;
    --success: #0f9f6e;
    --warning: #c77819;
    --danger: #d64550;
    --shadow: 0 18px 44px rgba(43, 72, 115, .11);
    --chip-bg: #f2f6fc;
    --input-bg: #f8fbff;
}

body {
    background: radial-gradient(circle at 20% -10%, rgba(109,156,255,.16), transparent 34%), linear-gradient(180deg, var(--bg-2), var(--bg));
    color: var(--text);
}

html[data-theme="light"] body {
    background: radial-gradient(circle at 20% -10%, rgba(56,103,214,.12), transparent 34%), linear-gradient(180deg, #f8fbff, #eef3f9);
}

.sidebar,
.panel,
.card,
.login-card,
.loader-card,
.smart-select__panel {
    background: color-mix(in srgb, var(--panel) 94%, transparent);
    border-color: var(--line);
    box-shadow: var(--shadow);
}

.sidebar {
    background: color-mix(in srgb, var(--panel) 84%, transparent);
    backdrop-filter: blur(12px);
}

.nav__link,
.stat-card,
.page-link,
.topic-path__badge,
.chip,
.smart-select__item {
    background: color-mix(in srgb, var(--panel-soft) 74%, transparent);
    border-color: var(--line);
}

.nav__link:hover,
.nav__link.is-active,
.stat-card:hover,
.stat-card.is-active,
.page-link.is-active,
.smart-select__item:hover,
.smart-select__item.is-selected {
    background: color-mix(in srgb, var(--primary) 15%, var(--panel-soft));
    border-color: color-mix(in srgb, var(--primary) 38%, transparent);
}

input, select, textarea, button {
    background: var(--input-bg);
    color: var(--text);
    border-color: var(--line);
}

input::placeholder, textarea::placeholder { color: var(--muted-2); }

.btn--primary,
.btn--logout {
    background: linear-gradient(180deg, var(--primary-2), var(--primary));
    color: #fff;
    border-color: transparent;
}

.btn--ghost {
    background: color-mix(in srgb, var(--primary) 10%, var(--panel-soft));
    border-color: color-mix(in srgb, var(--primary) 26%, transparent);
    color: color-mix(in srgb, var(--text) 85%, var(--primary));
}

.table-wrap {
    border-color: var(--line);
    background: color-mix(in srgb, var(--panel) 82%, transparent);
}

.table th {
    background: color-mix(in srgb, var(--panel-soft) 78%, transparent);
    color: var(--muted);
}

.table td,
.table th {
    border-bottom-color: var(--line);
}

.domain-link,
.sidebar__user strong { color: var(--text); }
.small-muted,
.field label,
p,
.sidebar__meta,
.stat-card span { color: var(--muted); }

.theme-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin: 12px 0 4px;
    padding: 12px 14px;
    border-radius: 15px;
    background: color-mix(in srgb, var(--panel-soft) 78%, transparent);
    border: 1px solid var(--line);
    color: var(--text);
    cursor: pointer;
}
.theme-toggle__icon {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--primary) 15%, transparent);
    color: var(--primary-2);
}

.loader-overlay {
    background: rgba(8, 14, 24, .62);
    backdrop-filter: blur(8px);
}
html[data-theme="light"] .loader-overlay { background: rgba(239, 244, 251, .72); }

.loader-card.loader-card--wide {
    width: min(1080px, calc(100vw - 40px));
    max-height: min(820px, calc(100vh - 40px));
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 32px;
    text-align: left;
    border-radius: 30px;
}

.loader-header {
    display: grid;
    grid-template-columns: 82px 1fr;
    align-items: center;
    gap: 22px;
}

.loader-header .spinner {
    margin: 0;
    width: 72px;
    height: 72px;
    border-width: 5px;
}

.loader-title {
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.1;
}

.loader-text--stage {
    color: var(--text);
    font-size: 18px;
    margin-top: 6px;
}

.loader-group {
    color: var(--muted);
    margin-top: 6px;
}

.loader-progress-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    color: var(--muted);
    font-size: 17px;
}

.loader-meta {
    justify-content: flex-start;
    gap: 10px;
    color: var(--muted);
}
.loader-meta span {
    display: inline-flex;
    align-items: center;
    padding: 8px 11px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--panel-soft) 68%, transparent);
    border: 1px solid var(--line);
}

.progress-bar {
    height: 14px;
    background: color-mix(in srgb, var(--panel-soft) 72%, transparent);
}
.progress-bar__fill {
    background: linear-gradient(90deg, var(--primary), var(--primary-2));
}

.loader-work-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 18px;
    min-height: 280px;
}

.loader-work-card {
    min-width: 0;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid var(--line);
    background: color-mix(in srgb, var(--panel-soft) 60%, transparent);
    overflow: hidden;
}

.loader-work-card h3 {
    margin: 0 0 14px;
    color: var(--text);
    font-size: 17px;
    text-align: left;
}

.loader-current-main {
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 14px;
}

.loader-list {
    display: grid;
    gap: 10px;
    max-height: 310px;
    overflow: auto;
    padding-right: 6px;
}

.loader-list__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 14px;
    align-items: center;
    padding: 13px 14px;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: color-mix(in srgb, var(--panel) 62%, transparent);
}

.loader-list__item strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text);
}

.loader-list__item span {
    color: var(--muted);
    font-size: 13px;
    text-align: right;
}

.loader-list__item em {
    color: var(--muted-2);
    font-style: normal;
    font-size: 12px;
}

.loader-list__item.is-active {
    border-color: color-mix(in srgb, var(--primary) 38%, transparent);
    background: color-mix(in srgb, var(--primary) 12%, var(--panel));
}

.loader-actions {
    justify-content: center;
    margin-top: 0;
}
.loader-actions .btn { min-width: 190px; }

html[data-theme="light"] .badge--success { background: #e8f7ef; color: #08734e; }
html[data-theme="light"] .badge--primary { background: #eaf1ff; color: #2953aa; }
html[data-theme="light"] .badge--warning { background: #fff4df; color: #8b520b; }
html[data-theme="light"] .badge--danger { background: #ffecee; color: #a9313b; }

@media (max-width: 920px) {
    .loader-card.loader-card--wide { padding: 22px; width: calc(100vw - 24px); }
    .loader-header { grid-template-columns: 1fr; text-align: center; justify-items: center; }
    .loader-work-grid { grid-template-columns: 1fr; }
    .loader-progress-row { flex-direction: column; align-items: flex-start; }
}

/* --- Stage 7.3 group management polish --- */
.screen-hero--split { align-items:flex-start; }
.groups-top-grid {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
    gap:16px;
    margin-bottom:18px;
}
.groups-toolbar {
    margin:0;
    grid-template-columns:minmax(260px,1fr) 160px auto;
}
.quick-create-card {
    padding:16px;
    border-radius:22px;
    border:1px solid var(--line);
    background:color-mix(in srgb, var(--panel) 86%, transparent);
    box-shadow:var(--shadow);
}
.quick-create-card label {
    display:block;
    margin-bottom:10px;
    color:var(--muted);
    font-size:13px;
}
.quick-create-card > div {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
}
.groups-grid--management {
    grid-template-columns:repeat(auto-fill, minmax(360px, 1fr));
}
.group-card--managed {
    display:flex;
    flex-direction:column;
    gap:14px;
    transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.group-card--managed:hover {
    transform:translateY(-2px);
    border-color:color-mix(in srgb, var(--primary) 28%, var(--line));
}
.group-card__stats--four {
    grid-template-columns:repeat(4, minmax(0,1fr));
    margin-bottom:0;
}
.group-card__stats--four span {
    min-width:0;
    word-break:break-word;
}
.group-card__details {
    margin-top:auto;
    border-top:1px solid var(--line);
    padding-top:12px;
}
.group-card__details summary {
    cursor:pointer;
    color:var(--muted);
    user-select:none;
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 0;
}
.group-card__details summary::-webkit-details-marker { display:none; }
.group-card__details summary:after {
    content:'+';
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:9px;
    background:color-mix(in srgb, var(--primary) 12%, transparent);
    color:var(--primary-2);
}
.group-card__details[open] summary:after { content:'−'; }
.group-card__rename,
.group-card__delete {
    display:grid;
    gap:8px;
    margin-top:10px;
}
.group-card__rename label {
    color:var(--muted);
    font-size:13px;
}
.group-card__rename > div {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}
.group-card__delete {
    justify-items:start;
    padding-top:4px;
}
.pagination--groups {
    margin-top:18px;
}
.screen--group .screen-hero h1 {
    max-width:900px;
    overflow-wrap:anywhere;
}
.group-actions-row {
    align-items:stretch;
}
.inline-edit-card {
    box-shadow:none;
}
.inline-edit-card input {
    width:100%;
}
@media (max-width: 1100px) {
    .groups-top-grid,
    .groups-toolbar,
    .quick-create-card > div,
    .group-card__rename > div {
        grid-template-columns:1fr;
    }
    .groups-grid--management { grid-template-columns:1fr; }
    .group-card__stats--four { grid-template-columns:repeat(2, minmax(0,1fr)); }
}

/* --- Stage 7.4 careful polish: readable light theme, softer dark theme, balanced loader --- */
:root,
html[data-theme="dark"] {
    --bg: #111a28;
    --bg-2: #0d1624;
    --panel: #172235;
    --panel-soft: #202c40;
    --card: #1b2638;
    --card-2: #202d43;
    --line: rgba(169, 184, 210, .16);
    --line-strong: rgba(132, 168, 238, .34);
    --text: #edf4ff;
    --muted: #aebbd0;
    --muted-2: #8290a6;
    --primary: #6f9cff;
    --primary-2: #92b7ff;
    --primary-soft: rgba(111, 156, 255, .14);
    --success: #45c489;
    --warning: #f2b45e;
    --danger: #f07178;
    --shadow: 0 18px 46px rgba(0,0,0,.20);
    --shadow-soft: 0 10px 26px rgba(0,0,0,.13);
    --input-bg: #162238;
    --chip-bg: rgba(255,255,255,.055);
}

html[data-theme="light"] {
    --bg: #edf3fa;
    --bg-2: #f7faff;
    --panel: #ffffff;
    --panel-soft: #f1f5fb;
    --card: #ffffff;
    --card-2: #f7faff;
    --line: rgba(36, 55, 84, .14);
    --line-strong: rgba(74, 116, 207, .28);
    --text: #1d293d;
    --muted: #64748b;
    --muted-2: #94a3b8;
    --primary: #3568d4;
    --primary-2: #5d86e7;
    --primary-soft: rgba(53, 104, 212, .10);
    --success: #0f9f6e;
    --warning: #b86b16;
    --danger: #c83e49;
    --shadow: 0 18px 44px rgba(48, 79, 128, .10);
    --shadow-soft: 0 10px 26px rgba(48, 79, 128, .075);
    --input-bg: #ffffff;
    --chip-bg: #eef4fb;
}

html,
body {
    min-height: 100%;
}

body {
    background: radial-gradient(circle at 16% -12%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 34%), linear-gradient(180deg, var(--bg-2), var(--bg));
    color: var(--text);
}

.layout {
    background: transparent;
}

.content {
    max-width: none;
    width: 100%;
    padding: 26px 32px 42px;
}

.app-sidebar,
.sidebar {
    background: color-mix(in srgb, var(--panel) 94%, transparent);
    border-right: 1px solid var(--line);
    box-shadow: none;
}

html[data-theme="light"] .app-sidebar,
html[data-theme="light"] .sidebar {
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(14px);
}

.brand__eyebrow,
.screen-kicker {
    color: var(--primary);
    font-weight: 750;
}

.brand__title,
.screen-hero h1,
.block-header h2,
.panel__header h1,
.panel h1,
.panel h2,
.card h2,
.group-card h2,
.topic-path__title {
    color: var(--text) !important;
}

.nav__link {
    color: var(--text);
    background: color-mix(in srgb, var(--panel-soft) 60%, transparent);
    border: 1px solid var(--line);
    box-shadow: none;
}

.nav__link:hover {
    color: var(--text);
    background: color-mix(in srgb, var(--primary) 8%, var(--panel-soft));
    border-color: var(--line-strong);
}

.nav__link.is-active {
    color: var(--text) !important;
    background: color-mix(in srgb, var(--primary) 18%, var(--panel-soft));
    border-color: var(--line-strong);
}

html[data-theme="light"] .nav__link.is-active {
    background: #dfeaff;
    border-color: #adc5ff;
    color: #17315f !important;
}

.sidebar-summary {
    background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 13%, var(--panel)), color-mix(in srgb, var(--panel-soft) 72%, transparent));
    border-color: var(--line-strong);
    box-shadow: var(--shadow-soft);
}

html[data-theme="light"] .sidebar-summary {
    background: linear-gradient(180deg, #f9fbff, #eaf2ff);
    border-color: #b9d0ff;
}

.sidebar-summary__label,
.sidebar-summary__grid,
.sidebar-summary__grid span,
.sidebar__meta,
.sidebar__updated,
.sidebar__role,
p,
.field label,
.small-muted,
.block-header p,
.group-card p,
.group-row__meta,
.mini-result span {
    color: var(--muted) !important;
}

.sidebar-summary__value,
.sidebar-summary__grid strong,
.group-card__stats b,
.metric-card strong,
.domain-link,
.sidebar__user strong {
    color: var(--text) !important;
}

.sidebar__meta {
    border-top-color: var(--line);
}

.compact-downloads .btn,
.btn,
a.btn,
button.btn {
    background: var(--input-bg);
    color: var(--text);
    border-color: var(--line);
    box-shadow: none;
}

.btn:hover,
a.btn:hover,
button.btn:hover {
    border-color: var(--line-strong);
    filter: none;
}

.btn--primary,
a.btn--primary,
button.btn--primary,
.btn--logout {
    background: linear-gradient(180deg, var(--primary-2), var(--primary));
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--primary) 22%, transparent);
}

.btn--ghost,
.btn--download {
    background: color-mix(in srgb, var(--primary) 9%, var(--input-bg));
    border-color: var(--line);
    color: var(--text);
}

.btn--danger,
button.btn--danger,
a.btn--danger {
    background: color-mix(in srgb, var(--danger) 12%, var(--input-bg));
    border-color: color-mix(in srgb, var(--danger) 34%, transparent);
    color: var(--danger) !important;
}

input,
select,
textarea,
button {
    background: var(--input-bg);
    color: var(--text);
    border-color: var(--line);
}

input:focus,
select:focus,
textarea:focus {
    outline: 3px solid color-mix(in srgb, var(--primary) 18%, transparent);
    border-color: var(--line-strong);
}

.screen-hero,
.panel,
.panel-card,
.card,
.group-card,
.quick-create-card,
.inline-edit-card,
.metric-card,
.clean-toolbar,
.table-wrap,
.smart-select__panel {
    background: color-mix(in srgb, var(--panel) 94%, transparent) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-soft) !important;
}

.screen-hero {
    padding: 28px 30px;
    border-radius: 28px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, var(--panel)), var(--panel)) !important;
}

html[data-theme="light"] .screen-hero {
    background: linear-gradient(135deg, #ffffff, #edf4ff) !important;
}

.screen-hero p {
    max-width: 780px;
    color: var(--muted) !important;
}

.metric-grid {
    gap: 14px;
}

.metric-card {
    color: var(--text) !important;
    text-decoration: none;
}

.metric-card span {
    color: var(--muted) !important;
}

.group-row,
.mini-result,
.group-card__stats span,
.topic-path__badge,
.chip,
.page-link,
.stat-card,
.loader-list__item {
    background: color-mix(in srgb, var(--panel-soft) 72%, transparent) !important;
    border: 1px solid var(--line);
    color: var(--text);
}

html[data-theme="light"] .group-row,
html[data-theme="light"] .mini-result,
html[data-theme="light"] .group-card__stats span,
html[data-theme="light"] .topic-path__badge,
html[data-theme="light"] .chip,
html[data-theme="light"] .page-link,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .loader-list__item {
    background: #f4f8fd !important;
}

.group-row:hover,
.metric-card:hover,
.group-card:hover {
    border-color: var(--line-strong) !important;
    transform: translateY(-1px);
}

.table {
    color: var(--text);
}

.table th {
    background: color-mix(in srgb, var(--panel-soft) 86%, transparent) !important;
    color: var(--muted) !important;
}

.table td,
.table th {
    border-bottom-color: var(--line) !important;
}

.table tr:hover td {
    background: color-mix(in srgb, var(--primary) 5%, transparent);
}

.badge--success { background: color-mix(in srgb, var(--success) 14%, transparent) !important; color: var(--success) !important; }
.badge--primary { background: color-mix(in srgb, var(--primary) 14%, transparent) !important; color: var(--primary-2) !important; }
.badge--warning { background: color-mix(in srgb, var(--warning) 15%, transparent) !important; color: var(--warning) !important; }
.badge--danger { background: color-mix(in srgb, var(--danger) 14%, transparent) !important; color: var(--danger) !important; }
.badge--muted { background: color-mix(in srgb, var(--muted) 13%, transparent) !important; color: var(--muted) !important; }

html[data-theme="light"] .badge--primary { color: #3159b6 !important; }
html[data-theme="light"] .badge--success { color: #08734e !important; }
html[data-theme="light"] .badge--warning { color: #8f520c !important; }
html[data-theme="light"] .badge--danger { color: #a9313b !important; }

.theme-toggle {
    background: var(--input-bg);
    color: var(--text);
    border-color: var(--line);
}

.theme-toggle__icon {
    background: color-mix(in srgb, var(--primary) 14%, transparent);
    color: var(--primary);
}

/* Loader final layout */
.loader-overlay {
    background: color-mix(in srgb, var(--bg) 72%, rgba(0,0,0,.45));
    backdrop-filter: blur(10px);
}

html[data-theme="light"] .loader-overlay {
    background: rgba(233, 239, 248, .78);
}

.loader-card.loader-card--wide {
    width: min(1040px, calc(100vw - 42px));
    max-height: min(780px, calc(100vh - 42px));
    overflow: hidden;
    background: var(--panel) !important;
    border-color: var(--line) !important;
    color: var(--text);
    text-align: left;
    padding: 30px;
}

.loader-header {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    margin: 0;
}

.loader-header .spinner {
    margin: 0;
    width: 68px;
    height: 68px;
}

.loader-title {
    color: var(--text);
    font-size: clamp(25px, 2.2vw, 34px);
    line-height: 1.1;
}

.loader-text--stage {
    color: var(--text);
    font-size: 17px;
}

.loader-progress-row {
    margin: 0;
    color: var(--muted);
}

.loader-meta {
    justify-content: flex-start;
    gap: 8px;
}

.loader-meta span {
    background: color-mix(in srgb, var(--panel-soft) 70%, transparent);
    border: 1px solid var(--line);
    color: var(--muted);
}

.progress-bar {
    height: 12px;
    background: color-mix(in srgb, var(--panel-soft) 70%, transparent);
}

.loader-work-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    min-height: 0;
}

.loader-work-card {
    padding: 18px;
    border-radius: 22px;
    background: color-mix(in srgb, var(--panel-soft) 64%, transparent) !important;
    border: 1px solid var(--line);
}

.loader-work-card h3 {
    color: var(--text);
    text-align: left;
}

.loader-current-main {
    color: var(--muted);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.loader-list {
    max-height: 260px;
    overflow: auto;
    padding-right: 6px;
}

.loader-list__item {
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto);
    align-items: center;
}

.loader-list__item strong {
    color: var(--text);
}

.loader-list__item span,
.loader-list__item em {
    color: var(--muted);
}

.loader-list__item.is-active {
    background: color-mix(in srgb, var(--primary) 10%, var(--panel-soft)) !important;
    border-color: var(--line-strong);
}

/* Group management readability */
.groups-top-grid {
    align-items: stretch;
}

.group-card__details summary {
    color: var(--muted);
}

.group-card__details summary:after {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    color: var(--primary);
}

@media (max-width: 1180px) {
    .content { padding: 18px; }
    .screen-hero { border-radius: 22px; padding: 22px; }
}

@media (max-width: 920px) {
    .loader-card.loader-card--wide {
        padding: 22px;
        width: calc(100vw - 24px);
        max-height: calc(100vh - 24px);
        overflow: auto;
    }
    .loader-header {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }
    .loader-progress-row,
    .loader-work-grid {
        grid-template-columns: 1fr;
    }
    .loader-work-grid {
        display: grid;
    }
    .loader-list__item {
        grid-template-columns: 1fr;
    }
    .loader-list__item span {
        text-align: left;
    }
}

.run-group-date-info {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 12px;
    align-items: stretch;
}
.run-group-date-info > div {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 12px 14px;
    background: var(--panel-soft);
}
.run-group-date-info span {
    display: block;
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 5px;
}
.run-group-date-info strong {
    display: block;
    font-size: 14px;
    color: var(--text);
    word-break: break-word;
}
@media (max-width: 900px) {
    .run-group-date-info { grid-template-columns: 1fr; }
}
