:root {
    --bg: #f4f5f6;
    --surface: #ffffff;
    --surface-soft: #f8f8f9;
    --ink: #18191b;
    --ink-soft: #303236;
    --muted: #656970;
    --muted-light: #6f737a;
    --line: #e0e2e5;
    --line-strong: #c9ccd1;
    --red: #d32632;
    --red-dark: #b81d28;
    --red-soft: #fff1f2;
    --green: #176b48;
    --green-soft: #eaf6f0;
    --amber: #875b10;
    --amber-soft: #fff6df;
    --danger: #a6262d;
    --danger-soft: #fff0f1;
    --sidebar: #17181a;
    --sidebar-soft: #242529;
    --sidebar-width: 236px;
    --radius-control: 8px;
    --radius-panel: 12px;
    --shadow-panel: 0 1px 2px rgba(24, 25, 27, .04), 0 10px 30px rgba(24, 25, 27, .035);
    --focus: 0 0 0 3px rgba(211, 38, 50, .2);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--bg);
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
h1, h2, h3, p { overflow-wrap: anywhere; }
svg { display: block; }

:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 2px;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--red) !important;
    box-shadow: var(--focus) !important;
    outline: 0;
}
button:disabled {
    cursor: not-allowed !important;
    opacity: .48;
    pointer-events: none;
}
.is-disabled {
    color: var(--muted) !important;
    cursor: not-allowed !important;
    opacity: 1;
    pointer-events: none;
}
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100;
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-radius: var(--radius-control);
    color: #fff;
    background: var(--ink);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

/* Application shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.app-body.sidebar-collapsed .app-shell { grid-template-columns: 0 minmax(0, 1fr); }
.sidebar {
    position: sticky;
    top: 0;
    z-index: 40;
    width: var(--sidebar-width);
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 25px 18px 20px;
    color: #f2f2f3;
    background: var(--sidebar);
    overflow-y: auto;
    transform: translateX(0);
    transition: transform .16s ease, visibility 0s linear 0s;
}
.app-body.sidebar-collapsed .sidebar { visibility: hidden; transform: translateX(-100%); transition: transform .16s ease, visibility 0s linear .16s; }
.brand {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    text-decoration: none;
}
.brand-mark {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: var(--red);
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -.06em;
}
.brand-copy { font-size: 15px; font-weight: 900; line-height: .96; letter-spacing: -.035em; }
.edition-chip {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    padding: 7px 10px;
    border: 1px solid #3a3b3f;
    border-radius: 999px;
    color: #d2d3d5;
    font-size: 12px;
    font-weight: 700;
}
.edition-chip > span { width: 7px; height: 7px; border-radius: 50%; background: #45ad79; box-shadow: 0 0 0 3px rgba(69, 173, 121, .12); }
.sidebar-context { margin: 10px 4px 24px; color: #85888d; font-size: 12px; }
.nav-list { display: flex; flex-direction: column; gap: 5px; }
.nav-item {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 12px;
    border-radius: 8px;
    color: #b9bbc0;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
    transition: color .15s ease, background .15s ease;
}
.nav-item svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.nav-item:hover { color: #fff; background: #232428; }
.nav-item.is-active { color: #fff; background: #2a2b2f; box-shadow: inset 3px 0 0 var(--red); }
.nav-section-label { margin: 28px 12px 9px; color: #a0a2a7; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.nav-list-admin .nav-item { padding-left: 15px; }
.sidebar-footer { margin-top: auto; padding: 24px 8px 0; }
.sidebar-signature { color: #a0a2a7; font-size: 10px; line-height: 1.15; letter-spacing: .08em; }
.sidebar-signature strong { color: #aeb0b5; }
.mobile-navigation { display: none; }

.main-column { min-width: 0; }
.topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 36px;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(8px);
}
.sidebar-toggle {
    width: 54px;
    height: 42px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 0;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
    color: var(--ink-soft);
    background: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.sidebar-toggle:hover { border-color: #aeb1b6; color: var(--red-dark); background: var(--surface-soft); }
.sidebar-toggle:active { background: #eceef0; }
.sidebar-toggle > span { transform: translateY(-1px); }
.sidebar-toggle .sidebar-toggle-menu { font-size: 14px; transform: none; }
.global-search {
    width: min(590px, 54vw);
    height: 42px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding-left: 13px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
    background: var(--surface-soft);
}
.global-search:focus-within { border-color: var(--red); box-shadow: var(--focus); background: #fff; }
.global-search svg, .input-with-icon svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: var(--muted); stroke-width: 1.7; }
.global-search input { min-width: 0; flex: 1; height: 100%; padding: 0; border: 0; background: transparent; outline: 0; font-size: 14px; }
.global-search input:focus { box-shadow: none !important; }
.global-search-submit { align-self: stretch; padding: 0 15px; border: 0; border-left: 1px solid var(--line); border-radius: 0 7px 7px 0; color: var(--ink-soft); background: transparent; font-size: 13px; font-weight: 750; cursor: pointer; }
.global-search-submit:hover { color: var(--red); background: #fff; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.account-sessions-link {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: var(--radius-control);
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}
.account-sessions-link:hover, .account-sessions-link.is-active { border-color: var(--line); color: var(--red-dark); background: var(--surface-soft); }
.user-menu { display: flex; align-items: center; gap: 10px; }
.avatar, .comment-avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--ink-soft);
    font-size: 12px;
    font-weight: 850;
}
.user-copy { display: flex; flex-direction: column; line-height: 1.25; }
.user-copy strong { font-size: 13px; }
.user-copy span { color: var(--muted); font-size: 11px; }
.text-button { min-height: 38px; padding: 0 8px; border: 0; color: var(--muted); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; }
.text-button:hover { color: var(--red); }
.page-content { width: min(1680px, 100%); margin: 0 auto; padding: 38px 36px 72px; }

/* Type and common elements */
.eyebrow, .toolbar-label, .step-indicator {
    display: block;
    margin-bottom: 8px;
    color: var(--red);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.eyebrow.light { color: #f18b92; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.page-heading.compact { align-items: center; }
.page-heading h1 { margin: 0; font-size: clamp(32px, 3vw, 42px); line-height: 1.08; letter-spacing: -.045em; }
.page-heading p { max-width: 680px; margin: 10px 0 0; color: var(--muted); font-size: 15px; }
.heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.primary-button, .secondary-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border-radius: var(--radius-control);
    font-size: 13px;
    font-weight: 780;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.primary-button { border: 1px solid var(--red); color: #fff; background: var(--red); }
.primary-button:hover { border-color: var(--red-dark); background: var(--red-dark); }
.secondary-button { border: 1px solid var(--line-strong); color: var(--ink-soft); background: #fff; }
.secondary-button:hover { border-color: #aeb1b6; background: var(--surface-soft); }
.primary-button:active, .secondary-button:active { transform: translateY(1px); }
.quiet-link, .code-link { color: var(--red-dark); font-weight: 750; text-decoration: none; }
.quiet-link { min-height: 32px; display: inline-flex; align-items: center; }
.quiet-link:hover, .code-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.panel {
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: var(--surface);
    box-shadow: var(--shadow-panel);
}
.panel-heading, .filter-panel-heading, .list-summary {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--line);
}
.panel-heading h2, .filter-panel-heading h2 { margin: 0; font-size: 17px; letter-spacing: -.02em; }
.panel-heading p, .filter-panel-heading p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.panel-total { color: var(--muted); font-size: 13px; font-weight: 700; }
.status {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 780;
    line-height: 1.15;
    white-space: nowrap;
}
.status-neutral { border-color: #dfe1e4; color: #5d6167; background: #f5f6f7; }
.status-success { border-color: #c2e4d3; color: var(--green); background: var(--green-soft); }
.status-warning { border-color: #edd49d; color: var(--amber); background: var(--amber-soft); }
.status-danger { border-color: #efc3c6; color: var(--danger); background: var(--danger-soft); }
.flash, .form-error, .operational-alert, .late-banner {
    margin-bottom: 20px;
    padding: 14px 16px;
    border-radius: var(--radius-control);
    font-size: 13px;
    line-height: 1.45;
}
.flash.success { border: 1px solid #bfe0cf; color: var(--green); background: var(--green-soft); }
.form-error { border: 1px solid #efc3c6; color: var(--danger); background: var(--danger-soft); }
.page-error { margin-top: -8px; }
.empty-state { min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 28px; color: var(--muted); text-align: center; }
.empty-state.tall { min-height: 220px; }
.empty-state strong { color: var(--ink-soft); font-size: 15px; }
.empty-state span { max-width: 520px; font-size: 13px; }

/* Account sessions */
.account-security-note {
    display: flex;
    align-items: flex-start;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid #efc3c6;
    border-left: 4px solid var(--red);
    border-radius: var(--radius-control);
    background: var(--red-soft);
}
.account-security-note strong { color: var(--ink-soft); font-size: 14px; }
.account-security-note p { max-width: 760px; margin: 4px 0 0; color: #73595b; font-size: 13px; }
.sessions-panel { overflow: hidden; }
.session-list { display: grid; }
.session-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 20px 22px;
    border-bottom: 1px solid var(--line);
}
.session-item:last-child { border-bottom: 0; }
.session-item.is-current { background: #fbfdfc; box-shadow: inset 3px 0 0 var(--green); }
.session-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.session-title-row h3 { margin: 0; font-size: 16px; letter-spacing: -.015em; }
.session-description > p { margin: 4px 0 14px; color: var(--muted); font-size: 12px; }
.session-meta { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 12px 20px; margin: 0; }
.session-meta div { min-width: 0; }
.session-meta dt { margin-bottom: 2px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.session-meta dd { margin: 0; color: var(--ink-soft); font-size: 12px; overflow-wrap: anywhere; }
.session-revoke-form { display: flex; justify-content: flex-end; }
.session-revoke-form button { white-space: nowrap; }
.table-wrap { width: 100%; overflow-x: auto; }
.table-wrap[tabindex="0"]:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.table-scroll-hint { margin: 0; padding: 9px 15px; border-bottom: 1px solid var(--line); color: var(--muted); background: var(--surface-soft); font-size: 11px; text-align: right; }
table { width: 100%; border-collapse: collapse; }
th { padding: 12px 15px; border-bottom: 1px solid var(--line); color: var(--muted); background: #fafafa; font-size: 11px; font-weight: 800; letter-spacing: .035em; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { padding: 15px; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: 13px; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr { transition: background .12s ease; }
tbody tr:hover { background: #fafafb; }
.title-cell { max-width: 360px; line-height: 1.38; }
.title-cell.wide { min-width: 230px; max-width: 430px; }
.domain-small { color: var(--muted); font-size: 12px; line-height: 1.35; }
.date-cell { color: var(--muted); white-space: nowrap; }

/* Dashboard */
.operational-alert { display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #efc3c6; color: var(--danger); background: var(--danger-soft); }
.operational-alert > div { display: flex; align-items: center; gap: 10px; }
.operational-alert > div > span:not(.alert-dot) { color: #73595b; }
.operational-alert a { color: var(--danger); font-weight: 800; }
.alert-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--danger); }
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.metric { min-height: 152px; display: flex; flex-direction: column; padding: 21px; border-right: 1px solid var(--line); color: inherit; text-decoration: none; transition: background .15s ease; }
.metric:last-child { border-right: 0; }
.metric:hover { background: #fafafb; }
.metric-label { color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .075em; }
.metric strong { margin-top: auto; font-size: 38px; line-height: 1; letter-spacing: -.055em; }
.metric-note { margin-top: 8px; color: var(--muted); font-size: 12px; }
.metric-warning { box-shadow: inset 0 3px 0 #d9a33c; }
.metric-accent { box-shadow: inset 0 3px 0 var(--red); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .75fr); gap: 20px; margin-bottom: 20px; }
.pipeline-panel, .workload-panel, .attention-panel { overflow: hidden; }
.domain-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.domain-row { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 21px; border-bottom: 1px solid var(--line); }
.domain-row:nth-child(odd) { border-right: 1px solid var(--line); }
.domain-row:nth-last-child(-n+2) { border-bottom: 0; }
.domain-copy { min-width: 0; display: flex; align-items: center; gap: 12px; color: var(--ink-soft); font-size: 13px; font-weight: 650; }
.domain-index { color: var(--muted-light); font-size: 11px; font-weight: 800; }
.domain-count { font-size: 20px; font-weight: 850; }
.workload-panel { display: flex; flex-direction: column; }
.workload-value { display: flex; align-items: baseline; gap: 9px; padding: 25px 22px 5px; }
.workload-value strong { font-size: 49px; line-height: 1; letter-spacing: -.06em; }
.workload-value span { color: var(--muted); font-size: 13px; }
.panel-footnote { margin: 12px 22px 20px; color: var(--muted); font-size: 13px; }
.workload-action { align-self: flex-start; margin: auto 22px 22px; }
.attention-panel .table-heading { border-bottom: 0; }

/* List filters and pagination */
.filter-panel { margin-bottom: 18px; overflow: hidden; box-shadow: none; }
.filter-form { display: grid; grid-template-columns: minmax(220px, 1.8fr) repeat(4, minmax(135px, 1fr)) minmax(90px, .45fr) auto; align-items: end; gap: 14px; padding: 18px 22px 22px; }
.filter-form.jury-filters { grid-template-columns: minmax(280px, 2fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(90px, .45fr) auto; }
.filter-form > label { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.filter-form label > span:first-child, .pending-row form label > span:first-child { color: var(--ink-soft); font-size: 12px; font-weight: 750; }
.filter-form input, .filter-form select {
    width: 100%;
    height: 44px;
    padding: 0 11px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
    background: #fff;
    font-size: 13px;
}
.input-with-icon { position: relative; display: block; }
.input-with-icon svg { position: absolute; top: 13px; left: 12px; }
.input-with-icon input { padding-left: 39px; }
.filter-submit { flex: 0 0 auto; height: 44px; }
.list-panel { overflow: hidden; }
.list-summary { min-height: 65px; }
.list-summary > div { display: flex; align-items: baseline; gap: 10px; }
.list-summary strong { font-size: 14px; }
.list-summary span { color: var(--muted); font-size: 12px; }
.applications-table { min-width: 1020px; }
.jury-applications-table { min-width: 820px; }
.applications-table td:nth-child(1) { width: 125px; }
.applications-table td:nth-child(2) { min-width: 170px; }
.personal-list-progress { display: grid; gap: 2px; margin-top: 7px; padding-top: 7px; border-top: 1px solid var(--line); }
.personal-list-progress strong { color: var(--ink-soft); font-size: 11px; line-height: 1.35; }
.personal-list-progress small { max-width: 260px; color: var(--muted); font-size: 10px; line-height: 1.4; white-space: normal; }
.personal-list-progress.is-complete strong { color: var(--green); }
.personal-list-progress.is-warning strong { color: var(--amber); }
.personal-list-progress.is-danger strong { color: var(--danger); }
.all-domain-visibility-note { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 14px 16px; border: 1px solid var(--line); border-left: 4px solid var(--ink); border-radius: var(--radius-control); background: #fff; }
.all-domain-visibility-note > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.all-domain-visibility-note strong { font-size: 12px; }
.all-domain-visibility-note span:not(.status) { color: var(--muted); font-size: 10px; line-height: 1.5; }
.work-row-readonly td { background: #fafafa; }
.work-row-readonly:hover td { background: var(--surface-soft); }
.pagination { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; border-top: 1px solid var(--line); }
.pagination > span:not(.secondary-button) { color: var(--muted); font-size: 13px; }
.pagination > span strong { color: var(--ink); }
.pagination .secondary-button { min-width: 145px; }

/* Work detail */
.work-heading { margin-bottom: 18px; }
.breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--muted); font-size: 13px; }
.breadcrumb a { min-height: 28px; display: inline-flex; align-items: center; text-decoration: none; }
.breadcrumb a:hover { color: var(--red); }
.breadcrumb strong { color: var(--ink-soft); }
.work-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.work-title-row > div:first-child { min-width: 0; max-width: 980px; }
.work-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 13px; }
.code-badge { min-height: 27px; display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 6px; color: #fff; background: var(--ink); font-size: 11px; font-weight: 850; }
.work-title-row h1 { margin: 0; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.08; letter-spacing: -.045em; }
.work-subline { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 14px; color: var(--muted); font-size: 14px; }
.work-subline strong { color: var(--ink-soft); }
.subline-separator { width: 1px; height: 15px; background: var(--line-strong); }
.assigned-badge { min-height: 42px; display: inline-flex; align-items: center; padding: 0 13px; border: 1px solid #c2e4d3; border-radius: var(--radius-control); color: var(--green); background: var(--green-soft); font-size: 12px; font-weight: 750; }
.readonly-access-banner { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 17px 18px; border: 1px solid #e8cf9d; border-left: 4px solid var(--amber); border-radius: var(--radius-panel); background: var(--amber-soft); }
.readonly-access-banner > div { min-width: 0; }
.readonly-access-banner span { display: block; margin-bottom: 4px; color: var(--amber); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.readonly-access-banner strong { display: block; font-size: 14px; }
.readonly-access-banner p { margin: 4px 0 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.readonly-access-banner form { flex: 0 0 auto; }
.section-tabs {
    position: sticky;
    top: 70px;
    z-index: 20;
    display: flex;
    gap: 4px;
    margin: 0 -36px 20px;
    padding: 0 36px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, .97);
    overflow-x: auto;
    scrollbar-width: none;
}
.section-tabs::-webkit-scrollbar { display: none; }
.section-tabs a { min-height: 52px; display: flex; align-items: center; padding: 0 14px; border-bottom: 2px solid transparent; color: var(--muted); font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.section-tabs a:hover, .section-tabs a.is-active { color: var(--ink); border-bottom-color: var(--red); }
.work-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 390px); gap: 20px; align-items: start; scroll-margin-top: 140px; }
.document-workspace { min-width: 0; overflow: hidden; scroll-margin-top: 140px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #282a2e; box-shadow: var(--shadow-panel); container-name: document-viewer; container-type: inline-size; }
.document-toolbar { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; color: #f1f1f2; background: #202225; }
.document-toolbar-title { min-width: 130px; flex: 1 1 180px; }
.document-toolbar .toolbar-label { margin-bottom: 2px; color: #9da0a5; font-size: 9px; }
.document-toolbar strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.document-view-controls { display: flex; align-items: center; gap: 4px; }
.document-control {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #4a4d52;
    border-radius: 6px;
    color: #e4e5e7;
    background: transparent;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.document-control:hover { border-color: #777a80; color: #fff; background: #303236; }
.document-control:active { background: #3a3d42; }
.document-zoom-button { width: 36px; padding: 0; font-size: 18px; }
.document-zoom-reset { min-width: 54px; }
.document-fullscreen-button { margin-left: 4px; white-space: nowrap; }
.document-actions { display: flex; align-items: center; gap: 6px; }
.document-actions a { min-height: 34px; display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid #4a4d52; border-radius: 6px; color: #e4e5e7; font-size: 11px; font-weight: 700; text-decoration: none; }
.document-actions a:hover { border-color: #777a80; background: #303236; }
.document-actions a:active { background: #3a3d42; }
.pdf-stage { min-height: 620px; height: min(72vh, 840px); padding: 13px; overflow: auto; overscroll-behavior: contain; }
.pdf-stage.is-empty { display: grid; place-items: center; }
.pdf-zoom-surface { --preview-zoom: 1; width: calc(100% * var(--preview-zoom)); height: calc(100% * var(--preview-zoom)); margin-inline: auto; }
.pdf-zoom-surface iframe { width: calc(100% / var(--preview-zoom)); height: calc(100% / var(--preview-zoom)); display: block; border: 0; border-radius: 5px; background: #fff; transform: scale(var(--preview-zoom)); transform-origin: left top; }
.document-workspace:fullscreen { width: 100vw; height: 100vh; height: 100dvh; display: flex; flex-direction: column; border: 0; border-radius: 0; background: #282a2e; }
.document-workspace:fullscreen .document-toolbar { flex: 0 0 auto; }
.document-workspace:fullscreen .pdf-stage { min-height: 0; height: auto; flex: 1 1 auto; }
@container document-viewer (max-width: 720px) {
    .document-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; }
    .document-toolbar-title { grid-column: 1 / -1; }
    .document-view-controls { justify-self: start; }
    .document-actions { justify-self: end; }
}
@container document-viewer (max-width: 480px) {
    .document-toolbar { grid-template-columns: minmax(0, 1fr); }
    .document-toolbar-title, .document-view-controls, .document-actions { grid-column: 1; }
    .document-view-controls { width: 100%; }
    .document-fullscreen-button { margin-left: auto; }
    .document-actions { justify-self: start; }
}
.pdf-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; color: #b7b9bd; text-align: center; }
.pdf-empty p { max-width: 400px; margin: 0; color: #85888e; font-size: 13px; }
.file-symbol { display: grid; place-items: center; width: 58px; height: 70px; margin-bottom: 8px; border: 1px solid #585b61; border-radius: 6px; color: #d8d9db; font-size: 12px; font-weight: 850; }
.work-side { display: flex; flex-direction: column; gap: 16px; }
.side-section { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.side-heading { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.side-heading h2 { margin: 0; font-size: 15px; }
.side-heading > span { min-width: 26px; min-height: 26px; display: grid; place-items: center; border-radius: 999px; color: var(--muted); background: var(--surface-soft); font-size: 11px; font-weight: 800; }
.document-list { max-height: 470px; overflow-y: auto; }
.document-row { display: grid; grid-template-columns: 39px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 13px 14px; border-bottom: 1px solid var(--line); transition: background .15s ease, box-shadow .15s ease; }
.document-row:last-child { border-bottom: 0; }
.document-row.is-current { background: var(--red-soft); box-shadow: inset 3px 0 0 var(--red); }
.document-row.is-previewable { cursor: pointer; }
.document-row.is-previewable:hover { background: #fafafb; box-shadow: inset 3px 0 0 #d7d9dd; }
.document-row.is-current:hover { background: var(--red-soft); box-shadow: inset 3px 0 0 var(--red); }
.document-icon { width: 39px; height: 43px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 6px; color: var(--red-dark); background: #fff; font-size: 9px; font-weight: 900; }
.document-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.document-copy > strong { font-size: 12px; }
.document-title-link { min-height: 24px; display: flex; align-items: center; margin: -3px -5px 0; padding: 3px 5px 0; border-radius: 5px; color: var(--ink); font-size: 12px; font-weight: 800; text-decoration: none; }
.document-title-link:hover { color: var(--red-dark); text-decoration: underline; text-underline-offset: 2px; }
.document-copy > span { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 5px; color: var(--muted); font-size: 10px; }
.document-meta .status { min-height: 21px; padding: 2px 7px; font-size: 9px; }
.document-row-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.document-row-actions a { min-height: 32px; display: inline-flex; align-items: center; padding-inline: 8px; margin-right: -8px; border-radius: 6px; color: var(--red-dark); font-size: 10px; font-weight: 800; text-decoration: none; transition: color .15s ease, background .15s ease; }
.document-row-actions a:hover { color: #fff; background: var(--red-dark); }
.document-row-actions a:active { background: #951923; }
.document-verification { grid-column: 1 / -1; margin-top: 2px; border-top: 1px solid var(--line); }
.document-verification > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0 0; color: var(--red-dark); font-size: 10px; font-weight: 800; cursor: pointer; list-style: none; }
.document-verification > summary::-webkit-details-marker { display: none; }
.document-verification > summary::after { content: "+"; width: 19px; height: 19px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--muted); background: #fff; }
.document-verification[open] > summary::after { content: "−"; }
.document-verification > summary small { margin-left: auto; color: var(--muted); font-size: 8px; font-weight: 600; }
.document-verification > form { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.verification-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; border: 0; }
.verification-options legend { margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 750; }
.verification-options label { min-height: 34px; display: flex; align-items: center; gap: 7px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink-soft); background: #fff; font-size: 9px; font-weight: 750; cursor: pointer; }
.verification-options label:has(input:checked) { border-color: #d9989e; color: var(--red-dark); background: var(--red-soft); box-shadow: inset 0 0 0 1px rgba(189, 18, 31, .05); }
.verification-options input { margin: 0; accent-color: var(--red); }
.verification-note { display: flex; flex-direction: column; gap: 5px; color: var(--ink-soft); font-size: 9px; font-weight: 750; }
.verification-note textarea { width: 100%; padding: 8px; border: 1px solid var(--line-strong); border-radius: 7px; background: #fff; font-size: 10px; line-height: 1.45; resize: vertical; }
.verification-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.verification-actions > span { color: var(--muted); font-size: 8px; }
.side-empty { padding: 28px 18px; color: var(--muted); font-size: 13px; text-align: center; }
.side-empty.large { padding: 42px 20px; }
.upload-form { display: flex; flex-direction: column; padding: 16px; }
.upload-form > label:not(.file-picker) { margin-bottom: 7px; color: var(--ink-soft); font-size: 12px; font-weight: 750; }
.upload-form select { width: 100%; height: 44px; margin-bottom: 13px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.file-picker { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-bottom: 13px; padding: 20px 14px; border: 1px dashed #b9bcc1; border-radius: var(--radius-control); color: var(--ink-soft); background: var(--surface-soft); text-align: center; cursor: pointer; }
.file-picker:hover { border-color: var(--red); background: var(--red-soft); }
.file-picker strong { font-size: 13px; }
.file-picker span { max-width: 100%; color: var(--muted); font-size: 11px; font-weight: 750; overflow-wrap: anywhere; }
.file-picker small { color: var(--muted); font-size: 10px; }
.file-picker.has-file { border-style: solid; border-color: #d9989e; background: var(--red-soft); }
.file-picker.has-file [data-file-name] { color: var(--red-dark); }
.upload-form-status { margin: 0 0 13px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.detail-section { margin-top: 22px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); scroll-margin-top: 140px; }
.overdue-label { min-height: 25px; display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; color: #a01420; background: var(--red-soft); font-size: 8px; font-weight: 850; }
.section-heading { margin-bottom: 22px; }
.section-heading h2 { margin: 0; font-size: 23px; line-height: 1.2; letter-spacing: -.03em; }
.section-heading .eyebrow { margin-bottom: 6px; }
.metadata-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.metadata-grid > div { min-height: 86px; display: flex; flex-direction: column; gap: 7px; padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metadata-grid > div:nth-child(4) { border-right: 0; }
.metadata-grid > div.span-two { grid-column: span 2; border-bottom: 0; }
.metadata-grid > div.span-two:last-child { border-right: 0; }
.metadata-grid span, .long-copy-grid article > span { color: var(--muted); font-size: 11px; font-weight: 750; }
.metadata-grid strong { font-size: 13px; line-height: 1.4; }
.long-copy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.long-copy-grid article { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); }
.long-copy-grid p { margin: 9px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.65; white-space: pre-line; }
.review-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.review-form { display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; }
.review-form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 19px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.review-form-heading > div > span { color: var(--red); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.review-form-heading h3 { margin: 4px 0 0; font-size: 18px; letter-spacing: -.02em; }
.review-input-grid, .check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.review-input-grid .administrative-month-field { grid-column: 1 / -1; }
.review-form > label, .review-input-grid label, .check-grid label, .jury-copy-grid label, .comment-form > label { display: flex; flex-direction: column; gap: 7px; margin-bottom: 14px; color: var(--ink-soft); font-size: 12px; font-weight: 750; }
.review-form input, .review-form select, .review-form textarea, .jury-copy-grid textarea, .jury-copy-grid select, .comment-form textarea, .comment-reference-row input, .comment-reference-row select, .juror-assign-form select {
    width: 100%;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
    background: #fff;
    font-size: 13px;
}
.review-form input, .review-form select, .jury-copy-grid select, .comment-reference-row input, .comment-reference-row select, .juror-assign-form select { height: 44px; padding: 0 11px; }
.review-form textarea, .jury-copy-grid textarea, .comment-form textarea { min-height: 90px; padding: 11px; line-height: 1.55; resize: vertical; }
.review-form > .primary-button { align-self: flex-end; margin-top: 4px; }
.criterion-row { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.criterion-row:first-of-type { border-top: 1px solid var(--line); }
.criterion-row > div { display: flex; flex-direction: column; gap: 4px; }
.criterion-row strong { font-size: 13px; }
.criterion-row span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.criterion-row select { height: 42px; padding: 0 9px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; font-size: 12px; }

.late-banner { border: 1px solid #edd49d; color: var(--amber); background: var(--amber-soft); }
.jury-deadline-note { margin-bottom: 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); color: var(--muted); background: var(--surface-soft); font-size: 11px; }
.jury-deadline-note strong { color: var(--ink-soft); }
.jury-score-summary { min-height: 96px; display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; border: 1px solid var(--line); border-top: 3px solid var(--red); border-radius: var(--radius-control) var(--radius-control) 0 0; background: var(--surface-soft); }
.jury-score-summary > div { display: flex; align-items: baseline; gap: 8px; }
.jury-score-summary > div > span { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.jury-score-summary > div strong { margin-left: 12px; font-size: 38px; letter-spacing: -.05em; }
.jury-score-summary small { color: var(--muted); font-size: 12px; }
.jury-criteria { border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.jury-criterion { min-height: 90px; display: grid; grid-template-columns: minmax(0, 1fr) 90px; gap: 22px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.jury-criterion > div { display: flex; flex-direction: column; gap: 4px; }
.jury-criterion strong { font-size: 13px; }
.jury-criterion span { color: var(--muted); font-size: 11px; }
.jury-criterion small { color: var(--red); font-size: 10px; font-weight: 800; }
.jury-criterion input { width: 100%; height: 46px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); text-align: center; font-size: 15px; font-weight: 850; }
.jury-copy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.jury-copy-grid .span-two { grid-column: span 2; }
.jury-submit-row { display: flex; justify-content: flex-end; gap: 10px; margin-top: 4px; }
.autosave-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; text-align: right; }
.juror-assign-form { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); }
.juror-assign-form select { min-width: 320px; }
.jury-evaluation-list { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.jury-evaluation-list article { min-height: 76px; display: grid; grid-template-columns: 38px minmax(0, 1fr) 90px auto; gap: 12px; align-items: center; padding: 13px 16px; border-bottom: 1px solid var(--line); }
.jury-evaluation-list article:last-child { border-bottom: 0; }
.jury-evaluation-list article > div:nth-child(2) { display: flex; flex-direction: column; }
.jury-evaluation-list article > div:nth-child(2) span { color: var(--muted); font-size: 11px; }
.jury-list-score { display: flex; align-items: baseline; gap: 4px; }
.jury-list-score strong { font-size: 22px; }
.jury-list-score span { color: var(--muted); font-size: 11px; }

.discussion-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr); gap: 20px; align-items: start; }
.comment-stream { border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.comment { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 17px; border-bottom: 1px solid var(--line); }
.comment:last-child { border-bottom: 0; }
.comment.jury-comment { background: #fffaf0; }
.comment-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.comment-head strong { font-size: 13px; }
.comment-head span { color: var(--muted); font-size: 11px; }
.comment p { margin: 8px 0; color: var(--ink-soft); font-size: 13px; line-height: 1.6; white-space: pre-line; }
.page-reference { color: var(--red-dark); font-size: 11px; font-weight: 750; text-decoration: none; }
.comment-form { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); }
.comment-reference-row { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 9px; margin-bottom: 12px; }
.comment-form .primary-button { width: 100%; }
.discussion-readonly-note { display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid var(--line); border-left: 3px solid var(--ink); border-radius: var(--radius-control); background: var(--surface-soft); }
.discussion-readonly-note strong { font-size: 12px; }
.discussion-readonly-note span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.history-list { border-left: 1px solid var(--line-strong); margin-left: 8px; }
.history-list > div { position: relative; display: grid; grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr) auto; gap: 14px; padding: 0 0 19px 22px; color: var(--muted); font-size: 12px; }
.history-list > div:last-child { padding-bottom: 0; }
.history-list strong { color: var(--ink-soft); }
.history-list time { white-space: nowrap; }
.history-dot { position: absolute; top: 5px; left: -5px; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 1px var(--red); }

/* Users */
.credential-banner { display: flex; align-items: center; justify-content: space-between; gap: 26px; margin-bottom: 20px; padding: 22px; border: 1px solid #efc3c6; border-left: 4px solid var(--red); border-radius: var(--radius-panel); background: var(--red-soft); }
.credential-banner h2 { margin: 0; font-size: 20px; }
.credential-banner p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.credential-values { min-width: 340px; display: flex; flex-direction: column; gap: 8px; padding: 13px 15px; border: 1px solid #ecc9cc; border-radius: var(--radius-control); background: #fff; }
.credential-values span { display: flex; justify-content: space-between; gap: 18px; color: var(--muted); font-size: 12px; }
.credential-values strong, .credential-values code { color: var(--ink); font-size: 13px; font-weight: 850; user-select: all; }
.users-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .65fr); gap: 20px; align-items: start; }
.users-panel, .create-user-panel { overflow: hidden; }
.user-list { display: flex; flex-direction: column; }
.user-row { min-height: 94px; display: grid; grid-template-columns: 40px minmax(130px, .8fr) minmax(82px, .45fr) minmax(125px, .8fr) minmax(95px, .5fr) minmax(105px, .55fr); gap: 10px; align-items: center; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.user-row:last-child { border-bottom: 0; }
.user-row.is-inactive { opacity: .62; background: var(--surface-soft); }
.user-identity, .user-role, .user-domains, .user-state { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.user-identity strong { font-size: 13px; }
.user-identity span, .user-role > span, .user-domains > span { color: var(--muted); font-size: 11px; }
.user-role strong { font-size: 12px; }
.user-domains strong { max-height: 40px; overflow: hidden; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
.user-state { align-items: flex-start; }
.user-state small { color: var(--muted); font-size: 10px; }
.user-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.user-actions button { min-height: 32px; padding: 0 4px; border: 0; color: var(--red-dark); background: transparent; font-size: 11px; font-weight: 750; cursor: pointer; }
.user-actions button:hover { text-decoration: underline; }
.protected-label { color: var(--muted-light); font-size: 10px; font-weight: 850; letter-spacing: .06em; }
.create-user-panel, .result-form-panel { position: sticky; top: 90px; }
.admin-form { display: flex; flex-direction: column; padding: 20px; }
.admin-form > label { margin-bottom: 7px; color: var(--ink-soft); font-size: 12px; font-weight: 750; }
.admin-form > input, .admin-form > select { width: 100%; height: 44px; margin-bottom: 15px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; font-size: 13px; }
.admin-form fieldset { margin: 2px 0 17px; padding: 0; border: 0; }
.admin-form legend { margin-bottom: 8px; font-size: 12px; font-weight: 750; }
.domain-checks { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.domain-checks label { min-height: 43px; display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: center; padding: 9px 11px; border-bottom: 1px solid var(--line); font-size: 12px; line-height: 1.35; cursor: pointer; }
.domain-checks label:last-child { border-bottom: 0; }
.domain-checks input { width: 16px; height: 16px; margin: 0; accent-color: var(--red); }
.admin-form fieldset > p { margin: 9px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }

/* Imports and results */
.import-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-bottom: 20px; }
.import-card { min-width: 0; min-height: 166px; display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--line); border-top: 3px solid var(--ink); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.import-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; color: var(--red); font-size: 11px; font-weight: 850; }
.import-card > strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.import-counts { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 20px; color: var(--muted); font-size: 11px; }
.import-counts span { display: flex; align-items: baseline; gap: 4px; }
.import-counts b { color: var(--ink); font-size: 18px; }
.import-card > small { margin-top: auto; color: var(--muted-light); font-size: 10px; }
.pending-panel { overflow: hidden; }
.pending-list { display: flex; flex-direction: column; }
.pending-row { min-height: 110px; display: grid; grid-template-columns: minmax(280px, 1fr) minmax(500px, 1fr); gap: 22px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.pending-row:last-child { border-bottom: 0; }
.pending-file { min-width: 0; display: grid; grid-template-columns: 39px minmax(0, 1fr); gap: 11px; align-items: start; }
.pending-file > div:last-child { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.pending-file strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.pending-file span { color: var(--amber); font-size: 11px; }
.pending-file small { color: var(--muted); font-size: 10px; }
.pending-source-links { display: grid; gap: 7px; margin-top: 3px; }
.pending-source-links .pending-source-label { color: var(--muted); font-size: 10px; font-weight: 750; }
.pending-source-links a, .inline-external-link, .field-external-link { color: var(--red-dark); font-weight: 750; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--red) 42%, transparent); text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.pending-source-links a { font-size: 11px; }
.pending-source-links a:hover, .inline-external-link:hover, .field-external-link:hover { color: var(--red); text-decoration-color: currentColor; }
.pending-source-links a:focus-visible, .inline-external-link:focus-visible, .field-external-link:focus-visible { border-radius: 3px; outline: 3px solid color-mix(in srgb, var(--red) 26%, transparent); outline-offset: 3px; }
.pending-source-links .pending-source-primary { display: inline-grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; justify-self: start; max-width: 100%; padding: 7px 9px; border: 1px solid color-mix(in srgb, var(--red) 34%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--red) 8%, var(--surface)); text-decoration: none; box-shadow: inset 3px 0 0 var(--red); }
.pending-source-links .pending-source-primary > span:first-child { color: var(--red-dark); font-size: 9px; font-weight: 900; letter-spacing: .07em; white-space: nowrap; }
.pending-source-links .pending-source-primary > strong { color: var(--red-dark); font-size: 11px; font-weight: 900; overflow: visible; text-overflow: clip; white-space: normal; }
.pending-source-links .pending-source-primary:hover { border-color: var(--red); background: color-mix(in srgb, var(--red) 13%, var(--surface)); }
.pending-source-secondary, .pending-source-options { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.pending-source-unresolved { display: flex; flex-wrap: wrap; gap: 3px 8px; align-items: baseline; }
.pending-source-links .pending-source-unresolved strong { color: var(--ink); font-size: 10px; font-weight: 850; overflow: visible; text-overflow: clip; white-space: normal; }
.pending-source-links .pending-source-unresolved span { color: var(--muted); font-size: 10px; }
.pending-source-option { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.pending-source-mark-form { margin: 0; }
.pending-source-mark-form button { padding: 3px 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--muted); font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.pending-source-mark-form button:hover { border-color: color-mix(in srgb, var(--red) 45%, var(--line)); background: color-mix(in srgb, var(--red) 7%, var(--surface)); color: var(--red-dark); }
.pending-source-mark-form button:active { transform: translateY(1px); }
.pending-source-mark-form button:focus-visible { outline: 3px solid color-mix(in srgb, var(--red) 26%, transparent); outline-offset: 2px; }
.field-external-link { display: block; width: fit-content; margin-top: 7px; font-size: 12px; }
.pending-row > form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(150px, .7fr) auto; gap: 9px; align-items: end; }
.pending-row > form label { display: flex; flex-direction: column; gap: 6px; }
.pending-row > form input, .pending-row > form select { width: 100%; height: 42px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; font-size: 12px; }
.pending-row .primary-button { height: 42px; }
.result-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.result-metrics article { min-height: 128px; display: flex; flex-direction: column; justify-content: flex-end; padding: 19px; border-right: 1px solid var(--line); }
.result-metrics article:last-child { border-right: 0; }
.result-metrics span { margin-bottom: auto; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .09em; }
.result-metrics strong { font-size: 36px; line-height: 1; letter-spacing: -.05em; }
.result-metrics small { margin-top: 7px; color: var(--muted); font-size: 11px; }
.results-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .55fr); gap: 20px; align-items: start; }
.ranking-panel, .result-form-panel { overflow: hidden; }
.results-table { min-width: 720px; }
.results-table th, .results-table td { padding-inline: 11px; }
.results-table td:first-child { min-width: 235px; }
.score-cell { font-size: 18px; }
.result-form-panel textarea { width: 100%; margin-bottom: 15px; padding: 11px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); resize: vertical; font-size: 13px; line-height: 1.5; }
.result-form-panel input:disabled { color: var(--muted-light); background: #eef0f2; cursor: not-allowed; }
.result-validation-panel { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr) auto; gap: 24px; align-items: center; margin-bottom: 20px; padding: 20px 22px; border: 1px solid var(--line-strong); border-left: 4px solid var(--amber); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.result-validation-panel.is-ready, .result-validation-panel.is-finalized { border-left-color: var(--green); }
.result-validation-copy { min-width: 0; }
.result-state-label { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.result-validation-copy h2 { margin: 4px 0 0; font-size: 17px; }
.result-validation-copy p { max-width: 620px; margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.result-validation-list { display: grid; gap: 5px; margin: 0; padding: 0; color: var(--danger); font-size: 11px; list-style: none; }
.result-validation-list li { position: relative; padding-left: 15px; }
.result-validation-list li::before { content: ""; position: absolute; top: .58em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.result-finalize-form { display: flex; justify-content: flex-end; }
.result-finalize-form .primary-button { white-space: nowrap; }
.result-justification { margin-top: 7px; }
.result-justification summary { width: fit-content; color: var(--red-dark); font-size: 9px; font-weight: 800; cursor: pointer; }
.result-justification p { min-width: 210px; max-width: 360px; margin: 7px 0 0; color: var(--ink-soft); font-size: 10px; line-height: 1.5; white-space: pre-wrap; }
.result-form-note { margin: 0 0 14px; padding: 10px 11px; border-left: 3px solid var(--line-strong); color: var(--muted); background: var(--surface-soft); font-size: 10px; }
.domain-result-rules { margin-bottom: 20px; overflow: hidden; }
.domain-rule-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.domain-rule-card { min-width: 0; display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.domain-rule-card:last-child { border-right: 0; }
.domain-rule-card strong { font-size: 12px; }
.domain-rule-card span, .domain-rule-card small { color: var(--muted); font-size: 11px; }
.domain-rule-card em { width: fit-content; margin-top: 4px; color: var(--danger); font-size: 11px; font-style: normal; font-weight: 800; }
.domain-rule-card b { width: fit-content; margin-top: 4px; color: var(--green); font-size: 11px; font-weight: 800; }
.domain-rule-card.needs-attention { background: var(--danger-soft); }
.result-form-panel .admin-form > small { display: block; margin: -7px 0 13px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.edition-context-picker { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin: -10px 0 18px; }
.edition-context-picker label { color: var(--muted); font-size: 12px; font-weight: 750; }
.edition-context-picker select { min-width: 270px; min-height: 40px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.automatic-check-note { padding: 10px 12px; border-left: 3px solid var(--red); background: var(--red-soft); }
.mobile-tabs-hint { display: none; }

/* Authentication */
.auth-body { background: #fff; }
.auth-shell { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: minmax(430px, 1.08fr) minmax(420px, .92fr); }
.auth-brand-panel { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; position: relative; padding: 46px clamp(44px, 6vw, 92px); color: #fff; background: var(--sidebar); overflow: hidden; }
.auth-brand-panel::after { content: "10"; position: absolute; right: -4vw; bottom: -14vw; color: #222327; font-size: min(42vw, 610px); line-height: 1; font-weight: 950; letter-spacing: -.11em; z-index: 0; }
.auth-brand, .auth-statement, .auth-partner { position: relative; z-index: 1; }
.auth-brand { width: fit-content; align-self: center; justify-self: center; display: flex; align-items: center; gap: clamp(24px, 2.2vw, 34px); color: #fff; font-size: clamp(38px, 3.7vw, 54px); line-height: .9; font-weight: 900; letter-spacing: -.05em; text-decoration: none; transform: translateY(-8px); }
.auth-ten { width: clamp(132px, 11.5vw, 170px); height: clamp(132px, 11.5vw, 170px); display: grid; place-items: center; border-radius: clamp(20px, 1.8vw, 28px); background: var(--red); font-size: clamp(68px, 6vw, 88px); letter-spacing: -.08em; }
.auth-statement { align-self: start; margin: 0; }
.auth-partner { display: flex; align-items: center; gap: 12px; color: #92959a; font-size: 10px; letter-spacing: .08em; }
.auth-partner strong { color: #c9cbce; }
.auth-partner span { color: var(--red); font-size: 17px; }
.auth-form-panel { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: 50px; background: #f7f7f8; }
.auth-form-wrap { width: min(410px, 100%); }
.auth-form-wrap h2 { margin: 0; font-size: 35px; letter-spacing: -.045em; }
.muted { color: var(--muted); }
.auth-form-wrap > .muted { margin: 10px 0 30px; font-size: 14px; }
.auth-form { display: flex; flex-direction: column; }
.auth-form label { margin: 0 0 7px; font-size: 12px; font-weight: 750; }
.auth-form input { width: 100%; height: 48px; margin: 0 0 18px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.auth-form .primary-button { min-height: 48px; margin-top: 4px; }
.auth-help { margin: 22px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.password-page { min-height: calc(100vh - 70px); display: grid; place-items: center; padding: 40px 20px; }
.password-card { width: min(500px, 100%); padding: 38px; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.password-card h1 { margin: 0; font-size: 30px; letter-spacing: -.04em; }
.password-card > p { margin: 12px 0 28px; font-size: 14px; line-height: 1.6; }
.field-help { margin: -7px 0 18px; color: var(--muted); font-size: 11px; }

/* Operational administration */
.notification-button { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: #fff; text-decoration: none; }
.notification-button:hover { color: var(--red); border-color: #e6b6ba; }
.notification-button[aria-current="page"] { color: var(--red-dark); border-color: #e3a9ae; box-shadow: var(--focus); }
.notification-button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.notification-button > span { position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: var(--red); font-size: 9px; font-weight: 850; }
.notification-button.has-unread { color: var(--ink); background: var(--red-soft); border-color: #efc3c6; }

/* Friendly error states */
.error-page { min-height: calc(100vh - 142px); display: grid; place-items: center; padding: 36px 18px; }
.auth-body .error-page { min-height: 100vh; background: var(--bg); }
.error-card { width: min(100%, 660px); padding: 46px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.error-code { display: block; margin-bottom: 20px; color: #d8dadd; font-size: clamp(56px, 9vw, 92px); font-weight: 900; line-height: .8; letter-spacing: -.07em; }
.error-card h1 { max-width: 560px; margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.08; letter-spacing: -.045em; }
.error-message { max-width: 560px; margin: 18px 0 0; color: var(--ink-soft); font-size: 16px; }
.error-guidance { max-width: 560px; margin: 9px 0 0; color: var(--muted); font-size: 13px; }
.error-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.split-heading { align-items: flex-end; }
.heading-note { max-width: 330px; display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-left: 3px solid var(--red); background: #fff; box-shadow: var(--shadow-panel); }
.heading-note strong { font-size: 12px; }
.heading-note span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.admin-panel { margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.admin-panel > .section-heading, .form-builder-section > .section-heading { padding: 22px 24px 18px; border-bottom: 1px solid var(--line); }
.section-heading > p { max-width: 760px; margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.row-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.danger-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid var(--danger); border-radius: var(--radius-control); color: #fff; background: var(--danger); font-size: 12px; font-weight: 800; cursor: pointer; }
.danger-button:hover { background: #861d24; border-color: #861d24; }
.primary-button.small, .secondary-button.small, .danger-button.small { min-height: 34px; padding: 0 11px; font-size: 11px; }
.status-ok { border-color: #c2e4d3; color: var(--green); background: var(--green-soft); }
.status-muted { border-color: var(--line); color: var(--muted); background: var(--surface-soft); }
.error-copy { color: var(--danger) !important; }

.criteria-admin-form, .jury-builder-form { padding: 0 24px 24px; }
.criteria-admin-list { display: flex; flex-direction: column; }
.criteria-admin-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) 150px; gap: 16px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.criteria-index { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--ink); font-size: 11px; font-weight: 850; }
.criteria-copy-fields { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(280px, 1fr); gap: 12px; }
.criteria-admin-row label, .new-criterion-card label, .builder-basics label, .inline-confirm label, .retention-form label, .danger-zone label { display: flex; flex-direction: column; gap: 6px; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.criteria-admin-row input, .criteria-admin-row textarea, .new-criterion-card input, .builder-basics input, .builder-basics select, .inline-confirm input, .retention-form input, .danger-zone input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; font-size: 12px; resize: vertical; }
.criteria-switches { display: flex; flex-direction: column; gap: 8px; padding-top: 22px; }
.check-control { min-height: 36px; flex-direction: row !important; align-items: center; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); cursor: pointer; }
.check-control input { width: 15px; min-height: 15px; margin: 0; accent-color: var(--red); }
.new-criterion-card { display: grid; grid-template-columns: 210px minmax(200px, .7fr) minmax(260px, 1fr); gap: 14px; align-items: end; margin-top: 18px; padding: 17px; border: 1px dashed var(--line-strong); border-radius: var(--radius-control); background: var(--surface-soft); }
.new-criterion-card > div { align-self: center; }
.new-criterion-card .eyebrow { margin-bottom: 3px; }
.new-criterion-card strong { font-size: 13px; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
.builder-basics { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 20px 0 16px; }
.jury-builder-table { border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.jury-builder-head, .jury-builder-row { display: grid; grid-template-columns: 1fr 1.35fr 120px; gap: 0; }
.jury-builder-head { color: var(--muted); background: var(--surface-soft); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.jury-builder-head span { padding: 10px 12px; border-right: 1px solid var(--line); }
.jury-builder-row { border-top: 1px solid var(--line); }
.jury-builder-row input { min-width: 0; height: 43px; padding: 0 12px; border: 0; border-right: 1px solid var(--line); background: #fff; font-size: 12px; outline: 0; }
.jury-builder-row input:last-child, .jury-builder-head span:last-child { border-right: 0; }
.publish-warning { display: flex; flex-direction: column; margin-top: 14px; padding: 13px 15px; border-left: 3px solid var(--amber); background: var(--amber-soft); }
.publish-warning strong { font-size: 12px; }
.publish-warning span { color: var(--amber); font-size: 11px; }
.form-version-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px; }
.form-version-card { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); }
.form-version-card.is-active { border-color: #e8b4b8; background: #fff; box-shadow: inset 3px 0 0 var(--red); }
.form-version-heading { display: flex; justify-content: space-between; gap: 12px; }
.form-version-heading > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.form-version-heading strong { font-size: 13px; }
.form-version-heading small, .form-version-heading > span { color: var(--muted); font-size: 10px; }
.version-fields { display: flex; flex-direction: column; margin-top: 12px; border-top: 1px solid var(--line); }
.version-fields > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.version-fields > div:last-child { border-bottom: 0; }

.danger-zone { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 420px); gap: 24px; align-items: end; border-color: #efc9cc; background: #fffafa; }
.danger-zone h2 { margin: 0; font-size: 20px; }
.danger-zone p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.danger-zone form { display: grid; grid-template-columns: 1fr auto; gap: 9px; align-items: end; }

.operation-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 15px 18px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; }
.operation-banner.warning { border-color: #ecd196; background: var(--amber-soft); }
.operation-banner.success { border-color: #bcdcca; background: var(--green-soft); }
.operation-banner > div { display: flex; flex-direction: column; }
.operation-banner strong { font-size: 13px; }
.operation-banner span { color: var(--muted); font-size: 11px; }
.archive-banner-actions { display: flex !important; flex-direction: row !important; align-items: center; gap: 10px; }
.archive-banner-actions .inline-confirm form { right: 0; }

/* System operations */
.operations-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 20px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: #fff;
    box-shadow: var(--shadow-panel);
    overflow: hidden;
}
.operations-overview article { min-height: 118px; display: flex; flex-direction: column; padding: 17px 19px; border-right: 1px solid var(--line); }
.operations-overview article:last-child { border-right: 0; }
.operations-overview article.tone-warning { box-shadow: inset 0 3px 0 #d69a35; }
.operations-overview article > span { margin-bottom: auto; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.operations-overview article > strong { font-size: 21px; line-height: 1.15; letter-spacing: -.025em; }
.operations-overview article > small { margin-top: 7px; color: var(--muted); font-size: 10px; }
.operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.operation-card { margin: 0; }
.operation-card-wide { grid-column: 1 / -1; }
.operation-card .section-heading h2 { margin: 0; font-size: 19px; letter-spacing: -.025em; }
.operation-card .section-heading p { max-width: 680px; margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.operation-card-body { display: flex; flex-direction: column; gap: 18px; padding: 22px 24px 24px; }
.platform-setting-form { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 24px 24px; }
.platform-setting-control { min-width: 0; display: flex; position: relative; align-items: center; gap: 13px; cursor: pointer; }
.platform-setting-control input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.platform-setting-switch { width: 42px; height: 24px; flex: 0 0 auto; position: relative; border: 1px solid var(--line-strong); border-radius: 999px; background: #c9cdd4; transition: background-color .16s ease, border-color .16s ease; }
.platform-setting-switch::after { content: ""; width: 18px; height: 18px; position: absolute; top: 2px; left: 2px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(15, 20, 31, .28); transition: transform .16s ease; }
.platform-setting-control input:checked + .platform-setting-switch { border-color: var(--red); background: var(--red); }
.platform-setting-control input:checked + .platform-setting-switch::after { transform: translateX(18px); }
.platform-setting-control input:focus-visible + .platform-setting-switch { outline: 3px solid rgba(206, 36, 48, .22); outline-offset: 3px; }
.platform-setting-copy { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.platform-setting-copy strong { font-size: 12px; }
.platform-setting-copy small { max-width: 720px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.platform-setting-form .primary-button { flex: 0 0 auto; }
.operation-progress { display: flex; align-items: center; gap: 14px; padding: 15px; border: 1px solid #ecd196; border-radius: var(--radius-control); background: var(--amber-soft); }
.operation-progress > span { width: 24px; height: 24px; flex: 0 0 auto; border: 3px solid #eedba9; border-top-color: var(--amber); border-radius: 50%; animation: restore-spin 1s linear infinite; }
.operation-progress strong, .operation-message strong { display: block; font-size: 13px; }
.operation-progress p, .operation-message p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.operation-message { padding: 14px 15px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); }
.operation-message.is-success { border-color: #bcdcca; background: var(--green-soft); }
.operation-message.is-danger { border-color: #e6b6ba; background: var(--danger-soft); }
.integrity-results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.integrity-results > div { min-height: 78px; display: flex; flex-direction: column; justify-content: space-between; padding: 13px; border-right: 1px solid var(--line); }
.integrity-results > div:last-child { border-right: 0; }
.integrity-results span { color: var(--muted); font-size: 9px; font-weight: 750; }
.integrity-results strong { font-size: 18px; }
.integrity-issues { padding-top: 2px; }
.integrity-issues h3 { margin: 0 0 9px; font-size: 13px; }
.integrity-issues ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.integrity-issues li { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 1px solid #ecd196; border-radius: var(--radius-control); background: var(--amber-soft); }
.integrity-issues li strong { font-size: 11px; }
.integrity-issues li span { color: var(--muted); font-size: 10px; text-align: right; }
.operation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.operation-actions > small { color: var(--muted); font-size: 10px; }
.operation-actions-split { justify-content: space-between; }
.operation-stat-list { margin: 0; border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.operation-stat-list > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 42px; padding: 0 13px; border-bottom: 1px solid var(--line); }
.operation-stat-list > div:last-child { border-bottom: 0; }
.operation-stat-list dt { color: var(--muted); font-size: 11px; }
.operation-stat-list dd { margin: 0; font-size: 13px; font-weight: 850; }
.failed-document-list { display: grid; gap: 7px; max-height: 260px; margin: 0; padding: 0; list-style: none; overflow-y: auto; }
.failed-document-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid var(--line); border-radius: var(--radius-control); }
.failed-document-list a { min-width: 0; display: flex; flex-direction: column; text-decoration: none; }
.failed-document-list a:hover strong { color: var(--red); }
.failed-document-list a strong { font-size: 11px; }
.failed-document-list a span { color: var(--muted); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.failed-document-list > li > .status { flex: 0 0 auto; }
.operation-restart-body { flex-direction: row; align-items: center; justify-content: space-between; gap: 28px; }
.operation-restart-body > div > strong { font-size: 13px; }
.operation-restart-body > div > p { max-width: 700px; margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.advanced-setting { padding: 12px 13px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); }
.advanced-setting > summary { color: var(--ink-soft); font-size: 11px; font-weight: 750; cursor: pointer; }
.advanced-setting[open] > summary { margin-bottom: 12px; }

@media (prefers-reduced-motion: reduce) {
    .operation-progress > span { animation: none; border-color: var(--amber); }
    .platform-setting-switch, .platform-setting-switch::after { transition: none; }
}

@media (max-width: 1000px) {
    .operations-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .operations-overview article:nth-child(2) { border-right: 0; }
    .operations-overview article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
    .operations-grid { grid-template-columns: 1fr; }
    .operation-card-wide { grid-column: auto; }
    .platform-setting-form { align-items: stretch; flex-direction: column; }
    .platform-setting-form .primary-button { align-self: flex-start; }
    .integrity-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .integrity-results > div:nth-child(2) { border-right: 0; }
    .integrity-results > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .operation-restart-body { align-items: flex-start; flex-direction: column; }
    .archive-banner-actions { align-items: flex-end; flex-direction: column !important; }
}

@media (max-width: 520px) {
    .operations-overview { grid-template-columns: 1fr; }
    .operations-overview article { border-right: 0; border-bottom: 1px solid var(--line); }
    .operations-overview article:last-child { border-bottom: 0; }
    .integrity-results { grid-template-columns: 1fr; }
    .integrity-results > div { border-right: 0; border-bottom: 1px solid var(--line); }
    .integrity-results > div:last-child { border-bottom: 0; }
    .integrity-issues li, .failed-document-list li { align-items: flex-start; flex-direction: column; }
    .integrity-issues li span { text-align: left; }
}
.backup-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 20px; }
.backup-overview article { min-height: 112px; display: flex; align-items: center; gap: 14px; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.metric-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: var(--red); background: var(--red-soft); font-size: 10px; font-weight: 900; }
.backup-overview article > div { display: flex; flex-direction: column; }
.backup-overview span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.backup-overview strong { margin: 3px 0; font-size: 13px; }
.backup-overview small { color: var(--muted); font-size: 10px; }
.automatic-backup-panel .section-heading p { max-width: 720px; }
.automatic-backup-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); }
.backup-settings-form { padding: 22px 24px 24px; border-right: 1px solid var(--line); }
.backup-settings-form > label > small, .backup-settings-form .form-grid label > small { color: var(--muted); font-size: 9px; font-weight: 500; }
.backup-enable { margin-bottom: 4px; padding: 13px 14px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--surface-soft); }
.backup-enable > span { display: flex; flex-direction: column; gap: 3px; }
.backup-enable strong { color: var(--ink); font-size: 12px; }
.backup-enable small { color: var(--muted); font-size: 9px; font-weight: 500; }
.backup-runtime-card { display: flex; flex-direction: column; gap: 18px; padding: 22px 24px; background: var(--surface-soft); }
.runtime-heading { display: flex; flex-direction: column; gap: 4px; }
.runtime-heading span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.runtime-heading strong { font-size: 14px; }
.backup-runtime-card dl { display: flex; flex-direction: column; gap: 0; margin: 0; }
.backup-runtime-card dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.backup-runtime-card dt { color: var(--muted); font-size: 10px; }
.backup-runtime-card dd { margin: 0; color: var(--ink); font-size: 10px; font-weight: 750; text-align: right; }
.runtime-error { margin: 0; padding: 10px 11px; border: 1px solid #efc1c1; border-radius: 7px; color: var(--danger); background: #fff6f6; font-size: 10px; overflow-wrap: anywhere; }
.runtime-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.runtime-actions form { margin: 0; }
.backup-list, .archive-list { display: flex; flex-direction: column; }
.backup-row { display: grid; grid-template-columns: 42px minmax(260px, 1fr) auto minmax(210px, auto); gap: 14px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.backup-row:last-child { border-bottom: 0; }
.backup-file-icon { width: 40px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 6px; color: var(--red); background: var(--surface-soft); font-size: 9px; font-weight: 900; }
.backup-main { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.backup-main strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.backup-main span, .backup-main small { color: var(--muted); font-size: 10px; }
.backup-main code { overflow: hidden; max-width: 430px; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.backup-main .backup-copy-ok { color: var(--green); font-weight: 750; }
.backup-row.is-purged { background: var(--surface-soft); opacity: .82; }
.backup-actions, .archive-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.inline-confirm { position: relative; }
.inline-confirm > summary { min-height: 34px; display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); color: var(--ink-soft); background: #fff; font-size: 11px; font-weight: 750; cursor: pointer; list-style: none; }
.inline-confirm > summary::-webkit-details-marker { display: none; }
.inline-confirm[open] > summary { color: var(--red); border-color: #e6b6ba; }
.inline-confirm form { position: absolute; right: 0; top: calc(100% + 7px); z-index: 20; width: 310px; padding: 15px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; box-shadow: 0 16px 40px rgba(24, 25, 27, .16); }
.inline-confirm p { margin: 0 0 10px; color: var(--muted); font-size: 10px; }
.inline-confirm input { margin-bottom: 10px; }
.restore-explainer { padding: 22px; border-radius: var(--radius-panel); color: #fff; background: var(--sidebar); }
.restore-explainer > .eyebrow { color: #ff9aa1; }
.restore-explainer ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 16px 0 0; padding: 0; list-style: none; counter-reset: restore-steps; }
.restore-explainer li { position: relative; padding-left: 38px; counter-increment: restore-steps; }
.restore-explainer li::before { content: counter(restore-steps); position: absolute; left: 0; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--red); font-size: 11px; font-weight: 850; }
.restore-explainer li { display: flex; flex-direction: column; }
.restore-explainer li strong { font-size: 12px; }
.restore-explainer li span { color: #aeb0b5; font-size: 10px; }
.restore-progress-page { min-height: calc(100vh - 190px); display: grid; place-items: center; padding: 32px 0; }
.restore-progress-card { width: min(100%, 620px); padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); text-align: center; }
.restore-progress-mark { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: var(--red); background: var(--red-soft); }
.restore-progress-mark::before { content: ""; width: 26px; height: 26px; border: 3px solid #e8b4b8; border-top-color: var(--red); border-radius: 50%; animation: restore-spin 1s linear infinite; }
.restore-progress-card h1 { margin: 0; font-size: clamp(24px, 4vw, 34px); letter-spacing: -.035em; }
.restore-progress-card > p { max-width: 500px; margin: 12px auto 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.restore-progress-file { display: block; max-width: 100%; margin: 18px auto 0; padding: 10px 12px; border-radius: 8px; color: var(--ink-soft); background: var(--surface-soft); font-size: 10px; overflow-wrap: anywhere; }
.restore-progress-status { margin: 22px 0 0; padding: 13px 14px; border: 1px solid #ecd196; border-radius: 8px; color: var(--ink-soft); background: var(--amber-soft); font-size: 11px; font-weight: 750; }
.restore-progress-actions { display: flex; justify-content: center; margin-top: 18px; }
.restore-progress-help { display: block; margin-top: 14px; color: var(--muted-light); font-size: 9px; }
@keyframes restore-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .restore-progress-mark::before { animation: none; border-color: var(--red); } }

.retention-form { display: flex; align-items: flex-end; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; }
.retention-form label { position: relative; }
.retention-form input { width: 116px; padding-right: 42px; }
.retention-form label > span { position: absolute; right: 10px; bottom: 12px; color: var(--muted); font-size: 10px; }
.archive-row { display: grid; grid-template-columns: 150px minmax(260px, 1fr) 135px minmax(190px, auto); gap: 16px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.archive-row:last-child { border-bottom: 0; }
.archive-row.is-due { background: #fffbf2; }
.archive-code, .archive-copy, .archive-retention { display: flex; flex-direction: column; gap: 3px; }
.archive-code strong { font-size: 12px; }
.archive-code span, .archive-copy span, .archive-copy small, .archive-retention span { color: var(--muted); font-size: 10px; }
.archive-copy strong { font-size: 12px; }
.archive-retention strong { font-size: 12px; }
.archive-retention em { width: fit-content; color: var(--danger); font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }

.notification-center { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 18px; align-items: start; }
.notification-summary { position: sticky; top: 90px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.notification-summary strong { font-size: 44px; line-height: 1; letter-spacing: -.06em; }
.notification-summary span { margin-top: 7px; font-size: 12px; font-weight: 750; }
.notification-summary small { margin-top: 14px; color: var(--muted); font-size: 10px; }
.notification-list { border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.notification-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 94px; padding: 16px 19px; border-bottom: 1px solid var(--line); }
.notification-row:last-child { border-bottom: 0; }
.notification-row.is-unread { background: #fffafb; box-shadow: inset 3px 0 0 var(--red); }
.notification-kind { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: var(--ink-soft); background: var(--surface-soft); font-size: 9px; font-weight: 900; }
.notification-row.is-unread .notification-kind { color: var(--red); background: var(--red-soft); }
.notification-row > div { display: flex; flex-direction: column; }
.notification-row strong { font-size: 12px; }
.notification-row p { margin: 3px 0; color: var(--muted); font-size: 11px; }
.notification-row time { color: var(--muted-light); font-size: 9px; }

.export-center { margin-bottom: 20px; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.export-center-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 19px 20px 16px; }
.export-center-heading h2 { margin: 0; font-size: 20px; }
.export-center-heading p { max-width: 700px; margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.export-actions-grid { display: grid; grid-template-columns: 1.15fr .85fr 1.15fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.export-action { min-width: 0; min-height: 176px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 18px 20px; border-right: 1px solid var(--line); }
.export-action:last-child { border-right: 0; }
.export-action-jury { background: var(--red-soft); }
.export-format { color: var(--red-dark); font: 800 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.export-action h3, .export-documents-copy h3 { margin: 7px 0 4px; font-size: 15px; }
.export-action p, .export-documents-copy p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.export-action .primary-button, .export-action .secondary-button { min-height: 38px; }
.export-documents-form { display: grid; grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr) auto; gap: 18px; align-items: center; padding: 18px 20px 20px; }
.export-type-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.export-type-grid legend { padding: 0 5px; color: var(--muted); font-size: 9px; font-weight: 800; }
.export-type-grid label { min-width: 0; display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 8px; align-items: start; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: #fff; cursor: pointer; }
.export-type-grid label:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.export-type-grid input { margin-top: 2px; accent-color: var(--red); }
.export-type-grid label > span { min-width: 0; display: flex; flex-direction: column; }
.export-type-grid strong { font-size: 10px; }
.export-type-grid small { color: var(--muted); font-size: 8px; }
.export-documents-submit { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.export-documents-submit small { max-width: 190px; color: var(--muted); font-size: 8px; line-height: 1.35; }

.report-metrics { display: grid; grid-template-columns: repeat(6, 1fr); margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.report-metrics article { min-height: 112px; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; border-right: 1px solid var(--line); }
.report-metrics article:last-child { border-right: 0; }
.report-metrics span { color: var(--muted); font-size: 10px; font-weight: 750; }
.report-metrics strong { font-size: 31px; line-height: 1; letter-spacing: -.05em; }
.report-metrics .tone-warning { box-shadow: inset 0 3px 0 #d69a35; }
.report-metrics .tone-danger { box-shadow: inset 0 3px 0 var(--danger); }
.report-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); gap: 20px; align-items: start; }
.report-exceptions, .activity-panel { margin: 0; }
.count-badge { min-width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--red); background: var(--red-soft); font-size: 11px; font-weight: 850; }
.exception-list { display: flex; flex-direction: column; }
.exception-row { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 88px; padding: 13px 20px; border-bottom: 1px solid var(--line); text-decoration: none; }
.exception-row:hover { background: var(--surface-soft); }
.priority-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--amber); }
.priority-dot.priority-ridicată { background: var(--danger); }
.exception-row > div { display: flex; flex-direction: column; }
.exception-row strong { font-size: 11px; }
.exception-row span, .exception-row small { color: var(--muted); font-size: 10px; }
.exception-row em { color: var(--muted); font-size: 9px; font-style: normal; text-transform: uppercase; }
.activity-list { display: flex; flex-direction: column; padding: 5px 20px 14px; }
.activity-list > div { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 12px 0; border-bottom: 1px solid var(--line); }
.activity-list > div:last-child { border-bottom: 0; }
.activity-list .history-dot { position: static; margin-top: 4px; }
.activity-list p { display: flex; flex-direction: column; margin: 0; }
.activity-list strong { font-size: 10px; }
.activity-list span, .activity-list time { color: var(--muted); font-size: 9px; }

@media (min-width: 1181px) and (max-width: 1500px) {
    .filter-form:not(.jury-filters) { grid-template-columns: minmax(220px, 1.6fr) repeat(2, minmax(145px, 1fr)) auto; }
}

@media (max-width: 1180px) {
	.automatic-backup-layout { grid-template-columns: 1fr; }
	.backup-settings-form { border-right: 0; border-bottom: 1px solid var(--line); }
    .result-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .result-metrics article:nth-child(2) { border-right: 0; }
    .result-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .result-validation-panel { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); }
    .result-finalize-form { grid-column: 1 / -1; justify-content: flex-start; }
    .report-metrics { grid-template-columns: repeat(3, 1fr); }
    .report-metrics article:nth-child(3) { border-right: 0; }
    .report-metrics article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
    .backup-row { grid-template-columns: 42px minmax(230px, 1fr) auto; }
    .backup-actions { grid-column: 2 / -1; justify-content: flex-start; }
    .archive-row { grid-template-columns: 130px minmax(240px, 1fr) 130px; }
    .archive-actions { grid-column: 2 / -1; justify-content: flex-start; }
    .criteria-copy-fields { grid-template-columns: 1fr; }
	.export-actions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.export-action:nth-child(2) { border-right: 0; }
	.export-action-jury { grid-column: 1 / -1; min-height: 150px; border-top: 1px solid var(--line); }
	.export-documents-form { grid-template-columns: minmax(190px, .5fr) minmax(0, 1.5fr); }
	.export-documents-form > button { grid-column: 2; justify-self: start; }
}

@media (max-width: 820px) {
	.backup-settings-form, .backup-runtime-card { padding: 18px; }
    .split-heading, .danger-zone { grid-template-columns: 1fr; align-items: stretch; }
    .heading-note { max-width: none; }
    .criteria-admin-row { grid-template-columns: 32px minmax(0, 1fr); }
    .criteria-switches { grid-column: 2; flex-direction: row; padding-top: 0; }
    .new-criterion-card, .builder-basics { grid-template-columns: 1fr; }
    .jury-builder-head { display: none; }
    .jury-builder-row { grid-template-columns: 1fr; padding: 7px; border-top: 1px solid var(--line); }
    .jury-builder-row input { border: 1px solid var(--line); border-bottom: 0; }
    .jury-builder-row input:last-child { border-bottom: 1px solid var(--line); }
    .form-version-list, .backup-overview, .restore-explainer ol { grid-template-columns: 1fr; }
    .backup-row, .archive-row, .notification-row { grid-template-columns: 42px minmax(0, 1fr); }
    .backup-row > .status, .backup-actions, .archive-retention, .archive-actions, .notification-row > form, .notification-row > a { grid-column: 2; justify-content: flex-start; }
    .inline-confirm form { right: auto; left: 0; width: min(310px, calc(100vw - 64px)); }
    .notification-center, .report-layout { grid-template-columns: 1fr; }
    .notification-summary { position: static; }
    .report-metrics { grid-template-columns: repeat(2, 1fr); }
    .report-metrics article:nth-child(3) { border-right: 1px solid var(--line); }
    .report-metrics article:nth-child(even) { border-right: 0; }
    .report-metrics article { border-bottom: 1px solid var(--line); }
    .report-metrics article:nth-last-child(-n+2) { border-bottom: 0; }
    .retention-form { width: 100%; }
    .danger-zone form { grid-template-columns: 1fr; }
	.export-actions-grid, .export-documents-form { grid-template-columns: 1fr; }
	.export-action, .export-action:nth-child(2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
	.export-action-jury { grid-column: auto; border-top: 0; border-bottom: 0; }
	.export-documents-form > button { grid-column: auto; justify-self: stretch; }
	.export-type-grid { grid-template-columns: 1fr; }
	.assignment-summary-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.assignment-summary-strip > div:nth-child(3) { border-right: 0; }
	.assignment-summary-strip > a { grid-column: 1 / -1; margin: 12px; }
	.staff-subset-config, .staff-subset-config .subset-mode-row { grid-template-columns: 1fr; }
	.staff-subset-config .subset-mode-row { grid-column: auto; }
}

@media (max-width: 1180px) {
    :root { --sidebar-width: 218px; }
    .page-content, .topbar { padding-inline: 26px; }
    .section-tabs { margin-inline: -26px; padding-inline: 26px; }
    .user-copy { display: none; }
    .metrics { grid-template-columns: repeat(2, 1fr); }
    .metric:nth-child(2) { border-right: 0; }
    .metric:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .work-grid { grid-template-columns: minmax(0, 1fr) minmax(310px, 350px); }
    .metadata-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .metadata-grid > div:nth-child(2), .metadata-grid > div:nth-child(4) { border-right: 0; }
    .users-layout, .results-layout { grid-template-columns: 1fr; }
    .domain-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .create-user-panel, .result-form-panel { position: static; }
    .review-columns { grid-template-columns: 1fr; }
    .filter-form, .filter-form.jury-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .filter-form > label.search-field { grid-column: span 2; }
    .import-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pending-row { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 1000px) {
    .dashboard-grid { grid-template-columns: 1fr; }
    .work-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .app-shell { display: block; }
    .sidebar { position: sticky; width: 100%; height: 64px; flex-direction: row; align-items: center; padding: 8px 14px; overflow: visible; }
    .app-body.sidebar-collapsed .sidebar { visibility: visible; transform: none; }
    .sidebar-toggle { display: none; }
    .brand-mark { width: 40px; height: 40px; font-size: 20px; }
    .brand-copy, .sidebar-context { display: none; }
    .edition-chip { margin: 0 0 0 10px; padding: 7px 9px; font-size: 11px; }
    .nav-list { margin-left: auto; flex-direction: row; }
    .nav-item { width: 42px; min-height: 42px; justify-content: center; padding: 0; font-size: 0; }
    .nav-item:nth-child(n+3), .nav-section-label, .nav-list-admin, .sidebar-footer { display: none; }
    .mobile-navigation { display: block; position: relative; margin-left: 4px; }
    .mobile-navigation summary { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 8px; color: #d4d5d7; cursor: pointer; list-style: none; }
    .mobile-navigation summary::-webkit-details-marker { display: none; }
    .mobile-navigation summary:hover, .mobile-navigation[open] summary { color: #fff; background: #2a2b2f; }
    .mobile-navigation summary svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
    .mobile-navigation-panel { position: fixed; inset: 64px 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 12px 14px 15px; border-top: 1px solid #34363a; background: var(--sidebar); box-shadow: 0 14px 30px rgba(0, 0, 0, .22); }
    .mobile-navigation-panel a { min-height: 44px; display: flex; align-items: center; padding: 0 13px; border-radius: 8px; color: #d8d9db; background: #232428; font-size: 13px; font-weight: 700; text-decoration: none; }
    .topbar { height: 60px; padding: 0 14px; }
    .global-search { width: auto; min-width: 0; flex: 1; }
    .global-search-submit { display: none; }
    .user-menu { display: none; }
    .topbar-actions { gap: 0; }
    .account-sessions-link { padding-inline: 8px; }
    .text-button { min-width: 66px; }
    .page-content { padding: 26px 16px 52px; }
    .page-heading, .page-heading.compact { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 23px; }
    .page-heading h1 { font-size: 32px; }
    .page-heading p { font-size: 14px; }
    .session-item { grid-template-columns: 1fr; gap: 16px; }
    .session-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .session-revoke-form { justify-content: flex-start; }
    .heading-actions { width: 100%; justify-content: flex-start; }
    .heading-actions > * { flex: 1 1 auto; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .domain-list { grid-template-columns: 1fr; }
    .domain-row:nth-child(odd) { border-right: 0; }
    .domain-row:nth-last-child(2) { border-bottom: 1px solid var(--line); }
    .filter-panel-heading { align-items: flex-start; }
    .filter-form, .filter-form.jury-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .filter-form > label.search-field { grid-column: span 2; }
    .applications-table { min-width: 0; }
    .applications-table thead { display: none; }
    .applications-table, .applications-table tbody { display: block; }
    .applications-table tr { display: block; margin: 12px; padding: 6px 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; }
    .applications-table tr:hover { background: #fff; }
    .applications-table td { width: auto !important; min-width: 0 !important; display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 12px; align-items: start; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
    .applications-table td:last-child { border-bottom: 0; }
    .applications-table td::before { content: attr(data-label); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
    .applications-table .title-cell { min-width: 0; max-width: none; }
    .applications-table td[colspan] { display: block; border: 0; }
    .applications-table td[colspan]::before { display: none; }
    .pagination { flex-wrap: wrap; justify-content: center; }
    .pagination > span:not(.secondary-button) { order: -1; width: 100%; text-align: center; }
    .pagination .secondary-button { flex: 1 1 130px; min-width: 0; }
    .work-title-row { align-items: flex-start; flex-direction: column; gap: 18px; }
    .work-title-row h1 { font-size: 29px; }
    .section-tabs { top: 64px; margin-inline: -16px; padding-inline: 12px; }
    .mobile-tabs-hint { display: block; margin: -14px 0 14px; color: var(--muted); font-size: 11px; text-align: right; }
    .domain-rule-grid { grid-template-columns: 1fr; }
    .domain-rule-card { border-right: 0; }
    .edition-context-picker { align-items: stretch; flex-direction: column; }
    .edition-context-picker select { width: 100%; min-width: 0; }
    .work-grid { grid-template-columns: 1fr; }
    .document-workspace { order: 1; }
    .work-side { order: 0; }
    .pdf-stage { min-height: 500px; height: 68vh; }
    .document-list { max-height: none; overflow: visible; }
    .detail-section { padding: 21px 17px; }
    .metadata-grid { grid-template-columns: 1fr; }
    .metadata-grid > div, .metadata-grid > div:nth-child(2), .metadata-grid > div:nth-child(4), .metadata-grid > div.span-two { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .metadata-grid > div:last-child { border-bottom: 0; }
    .long-copy-grid, .discussion-layout { grid-template-columns: 1fr; }
    .credential-banner { align-items: stretch; flex-direction: column; }
    .credential-values { min-width: 0; }
    .user-row { grid-template-columns: 40px minmax(0, 1fr) auto; }
    .user-role, .user-domains { grid-column: 2 / -1; }
    .user-state { grid-column: 2; }
    .user-actions { grid-column: 3; grid-row: 1 / span 3; }
    .review-input-grid, .check-grid { grid-template-columns: 1fr; }
    .criterion-row { grid-template-columns: 1fr; gap: 9px; }
    .import-summary-grid { grid-template-columns: 1fr; }
    .pending-row form { grid-template-columns: 1fr; }
    .jury-copy-grid { grid-template-columns: 1fr; }
    .jury-copy-grid .span-two { grid-column: auto; }
    .juror-assign-form { align-items: stretch; flex-direction: column; }
    .juror-assign-form select { min-width: 0; }
    .jury-evaluation-list article { grid-template-columns: 38px minmax(0, 1fr) auto; }
    .jury-evaluation-list article > .status { grid-column: 2 / -1; }
    .result-metrics { grid-template-columns: 1fr; }
    .result-metrics article { min-height: 102px; border-right: 0; border-bottom: 1px solid var(--line); }
    .result-metrics article:last-child { border-bottom: 0; }
    .result-validation-panel { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
    .result-finalize-form { grid-column: auto; }
    .result-finalize-form .primary-button { width: 100%; white-space: normal; }
    .history-list > div { grid-template-columns: 1fr; gap: 3px; }
    .history-list time { white-space: normal; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-brand-panel { min-height: 360px; padding: 28px; }
    .auth-brand { gap: 17px; font-size: 31px; transform: none; }
    .auth-ten { width: 96px; height: 96px; border-radius: 17px; font-size: 50px; }
    .auth-form-panel { min-height: auto; padding: 48px 24px 72px; }
}

@media (max-width: 520px) {
    .auth-partner { gap: 8px; font-size: 8px; letter-spacing: .06em; }
    .error-card { padding: 32px 24px; }
    .error-actions { align-items: stretch; flex-direction: column; }
    .error-actions > * { width: 100%; }
    .edition-chip { display: none; }
    .metrics { grid-template-columns: 1fr 1fr; }
    .metric { min-height: 126px; padding: 15px; }
    .metric strong { font-size: 33px; }
    .metric-note { font-size: 10px; }
    .metric-label { font-size: 9px; }
    .panel-heading, .filter-panel-heading, .list-summary { padding-inline: 16px; }
    .filter-panel-heading { flex-direction: column; gap: 8px; }
    .filter-form { padding-inline: 16px; }
    .work-labels .status { white-space: normal; }
    .work-subline { align-items: flex-start; flex-direction: column; gap: 4px; }
    .subline-separator { display: none; }
    .document-toolbar { align-items: flex-start; flex-direction: column; }
    .pdf-stage { min-height: 430px; height: 62vh; padding: 8px; }
    .document-row { grid-template-columns: 39px minmax(0, 1fr); }
    .document-row-actions { grid-column: 2; flex-direction: row; justify-content: flex-start; }
    .jury-criterion { grid-template-columns: minmax(0, 1fr) 72px; gap: 12px; padding-inline: 14px; }
    .jury-score-summary { align-items: flex-start; flex-direction: column; gap: 10px; }
    .jury-submit-row { flex-direction: column; }
    .credential-values span { align-items: flex-start; flex-direction: column; gap: 2px; }
    .user-row { grid-template-columns: 38px minmax(0, 1fr); }
    .user-role, .user-domains, .user-state, .user-actions { grid-column: 2; }
    .user-actions { grid-row: auto; align-items: flex-start; }
    .comment-reference-row { grid-template-columns: 1fr; }
    .password-card { padding: 28px 21px; }
    .account-sessions-link { min-width: 42px; justify-content: center; padding-inline: 5px; font-size: 10px; }
    .session-item { padding: 18px 16px; }
    .session-meta { grid-template-columns: 1fr; }
    .session-revoke-form, .session-revoke-form button { width: 100%; }
}

/* Extended operational workflows */
.form-intro, .muted-copy { margin: 0; color: var(--muted); font-size: 13px; }
.compact-button { min-height: 34px; padding: 0 12px; font-size: 12px; }
.danger-text { color: var(--danger); }
.form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.record-count { min-width: 126px; display: flex; flex-direction: column; align-items: flex-end; }
.record-count strong { font-size: 31px; line-height: 1; letter-spacing: -.05em; }
.record-count span { margin-top: 5px; color: var(--muted); font-size: 11px; }
.stack-form { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px 20px; }
.stack-form > label, .stack-form .form-grid > label, .subset-mode-row > label, .bulk-assignment-form > label { display: flex; flex-direction: column; gap: 6px; min-width: 0; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.stack-form input:not([type="checkbox"]):not([type="radio"]), .stack-form select, .stack-form textarea,
.subset-mode-row select, .bulk-assignment-form > label select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.form-grid { display: grid; gap: 12px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.checkbox-fieldset { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.checkbox-fieldset legend { padding: 0 5px; color: var(--ink-soft); font-size: 10px; font-weight: 800; }
.checkbox-fieldset > p { margin: 0 0 10px; color: var(--muted); font-size: 9px; }
.domain-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.domain-check-grid label { min-width: 0; display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 7px; align-items: start; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink-soft); font-size: 9px; font-weight: 650; cursor: pointer; }
.domain-check-grid input, .member-check-list input { margin: 2px 0 0; accent-color: var(--red); }
.permission-toggle { display: grid !important; grid-template-columns: 18px minmax(0, 1fr); gap: 9px !important; align-items: start; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); cursor: pointer; }
.permission-toggle input { margin: 1px 0 0; }
.permission-toggle > span { display: flex; flex-direction: column; gap: 3px; }
.permission-toggle strong { color: var(--ink); font-size: 10px; }
.permission-toggle small { color: var(--muted); font-size: 9px; font-weight: 550; line-height: 1.45; }
.all-domain-access-note { color: var(--red-dark) !important; font-weight: 750; }
.member-check-list { display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow: auto; }
.member-check-list > label { min-width: 0; display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 8px; align-items: start; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: #fff; cursor: pointer; }
.member-check-list > label > span { display: flex; flex-direction: column; min-width: 0; }
.member-check-list strong { font-size: 10px; }
.member-check-list small { color: var(--muted); font-size: 8px; }
.one-time-secret { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 15px 17px; border: 1px solid #e8cf9d; border-radius: 10px; background: var(--amber-soft); }
.one-time-secret > div { display: flex; flex-direction: column; }
.one-time-secret strong { font-size: 11px; }
.one-time-secret span { color: var(--muted); font-size: 9px; }
.one-time-secret code { padding: 8px 10px; border-radius: 7px; background: #fff; font-size: 12px; font-weight: 800; user-select: all; }
.secret-value { display: grid; grid-template-columns: auto auto; gap: 7px; align-items: center; }
.secret-value > span { grid-column: 1 / -1; min-height: 14px; text-align: right; }

input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; accent-color: var(--red); }

/* Import wizard */
.import-wizard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; margin-bottom: 22px; }
.import-wizard-card { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px 12px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--surface); box-shadow: var(--shadow-panel); }
.import-wizard-card-featured { border-top: 4px solid var(--red); }
.drive-import-requirement { grid-column: 1 / -1; display: grid; gap: 4px; margin: 0; padding: 12px 13px; border: 1px solid #e8cf9d; border-radius: var(--radius-control); color: var(--amber); background: var(--amber-soft); }
.drive-import-requirement strong { color: var(--ink); font-size: 11px; }
.drive-import-requirement span { color: var(--ink-soft); font-size: 10px; line-height: 1.5; }
.drive-preview-note { border-left: 4px solid var(--red); }
.import-wizard-card > header { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; margin-bottom: 18px; }
.wizard-card-number { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--red); background: var(--red-soft); font-size: 11px; font-weight: 900; }
.import-wizard-card h2 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.import-wizard-card > div > p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.import-wizard-card > label, .import-wizard-card > button { grid-column: 1 / -1; }
.import-wizard-card form { display: flex; flex-direction: column; gap: 13px; }
.import-wizard-card label:not(.file-drop) { display: flex; flex-direction: column; gap: 6px; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.import-wizard-card select { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.file-drop { position: relative; min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 20px; border: 1px dashed var(--line-strong); border-radius: 10px; color: var(--muted); background: var(--surface-soft); text-align: center; cursor: pointer; }
.file-drop:hover { border-color: var(--red); color: var(--ink); background: var(--red-soft); }
.file-drop:focus-within { border-color: var(--red); box-shadow: 0 0 0 3px rgba(199, 47, 52, .13); }
.file-drop strong { color: var(--ink); font-size: 13px; }
.file-drop small { font-size: 10px; }
.file-drop-title { color: var(--ink-soft); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.file-drop-action { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; margin-top: 2px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--ink); background: #fff; font-size: 11px; font-weight: 800; box-shadow: 0 1px 2px rgba(16, 17, 19, .04); }
.file-drop-input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.import-preview-panel { margin-bottom: 22px; padding: 22px; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.import-preview-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.import-preview-heading > div { min-width: 0; }
.import-preview-panel h2 { margin: 0; font-size: 21px; }
.import-preview-heading h2 { overflow-wrap: anywhere; }
.import-preview-panel header p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.preview-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 20px 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.preview-metrics > div { min-height: 86px; display: flex; flex-direction: column; justify-content: space-between; padding: 14px; border-right: 1px solid var(--line); }
.preview-metrics > div:last-child { border-right: 0; }
.preview-metrics span { color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.preview-metrics strong { font-size: 26px; line-height: 1; }
.preview-table-wrap { max-height: 420px; border: 1px solid var(--line); border-radius: 10px; overflow: auto; }
.preview-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.preview-table th { position: sticky; top: 0; padding: 10px 12px; color: var(--muted); background: var(--surface-soft); text-align: left; white-space: nowrap; }
.preview-table td { padding: 10px 12px; border-top: 1px solid var(--line); vertical-align: top; }
.preview-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.import-mapping-preview { margin: 16px 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.mapping-preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.mapping-preview-heading span { color: var(--red); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.mapping-preview-heading h3 { margin: 3px 0 0; font-size: 14px; }
.mapping-preview-heading a { color: var(--red-dark); font-size: 9px; font-weight: 800; text-decoration: none; }
.mapping-preview-heading a:hover { text-decoration: underline; }
.mapping-preview-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mapping-preview-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; align-items: center; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.mapping-preview-row:nth-child(odd) { border-right: 1px solid var(--line); }
.mapping-preview-row > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mapping-preview-row strong { font-size: 10px; }
.mapping-preview-row code { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.mapping-preview-row .status { min-height: 22px; padding: 3px 7px; font-size: 8px; }
.mapping-preview-row > small { grid-column: 1 / -1; color: var(--muted); font-size: 8px; }
.wizard-config-note { grid-column: 1 / -1; margin: -2px 0 0; padding: 9px 10px; border-left: 3px solid var(--red); color: var(--muted); background: var(--red-soft); font-size: 9px; line-height: 1.45; }
.upload-resume-note { grid-column: 1 / -1; padding: 11px 12px; border: 1px solid #e8cf9d; border-radius: var(--radius-control); color: var(--amber); background: var(--amber-soft); font-size: 11px; font-weight: 700; }
.resumable-upload { grid-column: 1 / -1; display: grid; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.resumable-upload-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.resumable-upload-heading > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.resumable-upload-heading strong { font-size: 12px; }
.resumable-upload-heading span { color: var(--muted); font-size: 10px; }
.resumable-upload-heading b { flex: 0 0 auto; color: var(--red-dark); font-size: 16px; font-variant-numeric: tabular-nums; }
.resumable-upload progress { width: 100%; height: 10px; overflow: hidden; border: 0; border-radius: 5px; color: var(--red); background: var(--line); appearance: none; }
.resumable-upload progress::-webkit-progress-bar { border-radius: 5px; background: var(--line); }
.resumable-upload progress::-webkit-progress-value { border-radius: 5px; background: var(--red); transition: width .16s ease-out; }
.resumable-upload progress::-moz-progress-bar { border-radius: 5px; background: var(--red); }
.resumable-upload-message { min-height: 18px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.resumable-upload-message.is-error { color: var(--danger); font-weight: 750; }
.resumable-upload-message.is-success { color: var(--green); font-weight: 750; }
.resumable-upload-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.resumable-upload-actions .secondary-button { min-height: 34px; padding-inline: 12px; font-size: 10px; }
.resumable-upload-actions .text-button { min-height: 34px; font-size: 10px; }
.import-integrity { display: flex; align-items: center; gap: 9px 14px; margin: -8px 0 18px; padding: 10px 12px; border: 1px solid #cfe5d9; border-radius: var(--radius-control); background: var(--green-soft); }
.import-integrity strong { flex: 0 0 auto; color: var(--green); font-size: 10px; }
.import-integrity span { min-width: 0; color: var(--muted); font-size: 9px; }
.import-integrity code { overflow-wrap: anywhere; color: var(--ink-soft); font-size: 9px; }

/* User and team administration */
.admin-heading { align-items: flex-end; }
.edition-switcher { display: flex; align-items: flex-end; gap: 8px; }
.edition-switcher label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 750; }
.edition-switcher select { min-width: 190px; min-height: 42px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.admin-split-layout { display: grid; grid-template-columns: minmax(290px, 350px) minmax(0, 1fr); gap: 20px; align-items: start; }
.admin-create-column { display: flex; flex-direction: column; gap: 16px; }
.admin-create-column .panel { margin: 0; }
.management-list { border-top: 1px solid var(--line); }
.management-row { position: relative; display: grid; grid-template-columns: minmax(210px, 1.1fr) minmax(150px, .8fr) minmax(120px, .6fr) auto; gap: 14px; align-items: center; min-height: 78px; padding: 13px 18px; border-bottom: 1px solid var(--line); }
.management-row:last-child { border-bottom: 0; }
.management-row.is-muted { background: var(--surface-soft); opacity: .72; }
.management-row > summary { min-height: 76px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 16px; cursor: pointer; list-style: none; }
.management-row > summary::-webkit-details-marker { display: none; }
.management-row > summary:hover { background: var(--surface-soft); }
.management-row[open] > summary { background: var(--surface-soft); box-shadow: inset 3px 0 0 var(--red); }
.management-identity { min-width: 0; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 11px; align-items: center; }
.management-identity > div:last-child, .management-access, .management-state { display: flex; flex-direction: column; min-width: 0; }
.management-identity strong { font-size: 12px; }
.management-identity span, .management-access small, .management-state small { color: var(--muted); font-size: 9px; }
.management-access, .management-state { align-items: flex-start; gap: 4px; }
.row-actions-disclosure { position: relative; }
.row-actions-disclosure > summary { min-height: 36px; cursor: pointer; list-style: none; }
.row-actions-disclosure > summary::-webkit-details-marker { display: none; }
.row-actions-disclosure[open] { position: static; grid-column: 1 / -1; width: 100%; }
.row-actions-disclosure[open] > summary { position: absolute; top: 20px; right: 18px; }
.row-actions-panel { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; margin: 12px -18px -13px; padding: 18px 18px 18px 69px; border-top: 1px solid var(--line); background: var(--surface-soft); }
.row-actions-panel .compact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.row-actions-panel .compact-form > fieldset, .row-actions-panel .compact-form > button { grid-column: 1 / -1; }
.account-secondary-actions { display: flex; align-items: flex-start; gap: 8px; }
.management-lock { color: var(--muted); font-size: 10px; }
.management-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.management-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 18px 20px 20px 68px; border-top: 1px solid var(--line); background: #fff; }
.management-editor > label, .management-editor > fieldset { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.management-editor input, .management-editor select { min-height: 42px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.management-editor fieldset { grid-column: 1 / -1; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.management-editor legend { padding: 0 5px; color: var(--muted); font-size: 10px; font-weight: 750; }
.checkbox-line { display: flex; flex-wrap: wrap; gap: 8px; }
.checkbox-line label { display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.checkbox-line input { min-height: 0; }
.management-editor .form-actions { grid-column: 1 / -1; }
.team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.team-card { padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.team-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.team-card-head > div { display: flex; flex-direction: column; }
.team-card-head strong { font-size: 13px; }
.team-card-head span { color: var(--muted); font-size: 9px; }
.team-card > p { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.team-workload { display: flex; align-items: baseline; gap: 7px; margin-top: 11px; padding-top: 10px; border-top: 1px solid var(--line); }
.team-workload strong { font-size: 20px; letter-spacing: -.04em; }
.team-workload span { color: var(--muted); font-size: 9px; }
.team-card details { margin-top: 12px; }
.team-card summary { color: var(--red); font-size: 11px; font-weight: 750; cursor: pointer; }
.team-card form { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.team-delete-form { padding-top: 10px; border-top: 1px solid var(--line); }

/* Bulk jury assignments */
.jury-assignment-layout { display: grid; grid-template-columns: minmax(270px, 330px) minmax(0, 1fr); gap: 20px; align-items: start; }
.assignment-overview { margin-bottom: 18px; }
.juror-load-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 18px 18px; }
.juror-load-grid article { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 9px; }
.juror-load-grid article > div:not(.avatar) { display: flex; flex-direction: column; }
.juror-load-grid strong { font-size: 11px; }
.juror-load-grid span { color: var(--muted); font-size: 9px; }
.juror-load-grid b { font-size: 19px; }
.assignment-mode-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin-bottom: 18px; }
.workflow-heading { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; }
.workflow-number { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--red); background: var(--red-soft); font-size: 11px; font-weight: 900; }
.workflow-heading h2 { margin: 0; font-size: 18px; }
.workflow-heading p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.assignment-mode-grid .bulk-assignment-form, .subset-intro { padding: 20px; }
.subset-intro { display: flex; flex-direction: column; gap: 18px; }
.filter-result-summary { display: flex; flex-direction: column; padding: 11px; border-radius: 8px; background: var(--surface-soft); }
.filter-result-summary strong { font-size: 11px; }
.filter-result-summary span { color: var(--muted); font-size: 9px; }
.juror-load-list { display: flex; flex-direction: column; gap: 8px; }
.juror-load-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.juror-load-row > div { display: flex; flex-direction: column; }
.juror-load-row strong { font-size: 11px; }
.juror-load-row span { color: var(--muted); font-size: 9px; }
.juror-load-row > em { color: var(--ink); font-size: 17px; font-style: normal; font-weight: 850; }
.bulk-assignment-panels { display: flex; flex-direction: column; gap: 18px; }
.bulk-assignment-form { display: grid; gap: 14px; }
.bulk-assignment-form fieldset { margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 9px; }
.bulk-assignment-form legend { padding: 0 5px; color: var(--muted); font-size: 10px; font-weight: 750; }
.bulk-assignment-form select[multiple] { width: 100%; min-height: 135px; padding: 5px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.bulk-work-table { max-height: 520px; border: 1px solid var(--line); border-radius: 9px; overflow: auto; }
.subset-assignment-panel { overflow: hidden; }
.subset-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; }
.subset-toolbar h2 { margin: 0; font-size: 18px; }
.subset-toolbar p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.bulk-work-table-wrap { max-height: 520px; border-block: 1px solid var(--line); overflow: auto; }
.bulk-work-table-wrap .bulk-work-table { width: 100%; max-height: none; border: 0; border-radius: 0; border-collapse: collapse; font-size: 10px; }
.bulk-work-table-wrap th { position: sticky; top: 0; z-index: 1; padding: 10px 12px; color: var(--muted); background: var(--surface-soft); text-align: left; }
.bulk-work-table-wrap td { padding: 11px 12px; border-top: 1px solid var(--line); vertical-align: top; }
.bulk-work-table-wrap td strong, .bulk-work-table-wrap td span { display: block; }
.table-secondary { max-width: 480px; margin-top: 2px; color: var(--muted); }
.selection-column { width: 42px; }
.row-selector { width: 16px; height: 16px; accent-color: var(--red); }
.subset-config { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr); gap: 16px; padding: 18px; }
.horizontal-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.subset-mode-row { display: flex; flex-direction: column; gap: 11px; }
.confirm-check { display: grid !important; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; align-items: start; color: var(--muted); font-size: 9px; }
.confirm-check input { margin-top: 2px; accent-color: var(--red); }
.assignment-safety-note { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border-left: 3px solid var(--red); background: var(--red-soft); }
.assignment-safety-note strong { color: var(--ink); font-size: 11px; }
.assignment-safety-note span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.protected-assignment { display: block; margin-top: 4px; color: var(--red-dark); font-size: 10px; font-weight: 750; }
.bulk-work-row { display: grid; grid-template-columns: 30px 92px minmax(0, 1fr) minmax(120px, .4fr); gap: 9px; align-items: center; min-height: 58px; padding: 8px 12px; border-bottom: 1px solid var(--line); }
.bulk-work-row:last-child { border-bottom: 0; }
.bulk-work-row:hover { background: var(--surface-soft); }
.bulk-work-row strong { font-size: 11px; }
.bulk-work-row span { color: var(--muted); font-size: 10px; }
.selection-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 11px; }
.selection-summary strong { color: var(--ink); }
.assignment-summary-strip { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)) auto; align-items: stretch; margin-bottom: 18px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.assignment-summary-strip > div { min-height: 82px; display: flex; flex-direction: column; justify-content: space-between; padding: 14px 16px; border-right: 1px solid var(--line); }
.assignment-summary-strip span { color: var(--muted); font-size: 9px; font-weight: 750; }
.assignment-summary-strip strong { font-size: 25px; line-height: 1; letter-spacing: -.04em; }
.assignment-summary-strip > a { align-self: center; margin: 0 14px; }
.staff-assignment-mode-grid .workflow-heading { grid-template-columns: minmax(0, 1fr); }
.assignment-extra-people { border: 1px dashed var(--line-strong); border-radius: 9px; }
.assignment-extra-people > summary { padding: 11px 12px; color: var(--red-dark); font-size: 10px; font-weight: 800; cursor: pointer; }
.assignment-extra-people[open] > summary { border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.assignment-extra-people .checkbox-fieldset { border: 0; border-radius: 0 0 9px 9px; }
.staff-subset-config { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.staff-subset-config .subset-mode-row { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1fr) auto; align-items: end; }

/* Independent preliminary evaluation */
.preliminary-workflow { display: flex; flex-direction: column; gap: 14px; }
.preliminary-evaluation-card { border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden; }
.preliminary-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; background: var(--surface-soft); }
.preliminary-card-heading > div { display: flex; flex-direction: column; }
.preliminary-card-heading span:first-child { color: var(--red); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.preliminary-card-heading h4 { margin: 2px 0 0; font-size: 14px; }
.evaluator-assignment-row { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evaluator-assignment-row select { min-width: 0; flex: 1; min-height: 38px; padding: 0 9px; border: 1px solid var(--line-strong); border-radius: 7px; background: #fff; font-size: 11px; }
.preliminary-independent-form { display: flex; flex-direction: column; gap: 13px; padding: 16px; }
.preliminary-independent-form > label, .general-decision-form > label { display: flex; flex-direction: column; gap: 6px; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.preliminary-independent-form input, .preliminary-independent-form select, .preliminary-independent-form textarea,
.general-decision-form input, .general-decision-form select, .general-decision-form textarea { width: 100%; padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; resize: vertical; }
.evaluation-readonly { padding: 16px; }
.evaluation-readonly dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; }
.evaluation-readonly dl > div { display: flex; flex-direction: column; padding: 10px; border-radius: 8px; background: var(--surface-soft); }
.evaluation-readonly dt { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.evaluation-readonly dd { margin: 3px 0 0; font-size: 12px; font-weight: 750; }
.evaluation-readonly p { margin: 13px 0 0; color: var(--ink-soft); font-size: 12px; white-space: pre-wrap; }
.preliminary-evaluation-card > .muted-copy { padding: 18px; }
.general-decision-form { display: flex; flex-direction: column; gap: 13px; margin-top: 3px; padding: 18px; border: 1px solid #edc7ca; border-radius: 10px; background: #fffafb; }
.general-decision-form > div > span { color: var(--red); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.general-decision-form h4 { margin: 2px 0 0; font-size: 16px; }
.general-decision-form p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.workflow-waiting { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border: 1px dashed var(--line-strong); border-radius: 9px; color: var(--muted); background: var(--surface-soft); }
.workflow-waiting strong { color: var(--ink-soft); font-size: 11px; }
.workflow-waiting span { font-size: 10px; }
.preliminary-card-heading > .preliminary-card-status { align-items: flex-end; flex-direction: row; gap: 8px; }
.preliminary-score { color: var(--ink); font-size: 13px; font-variant-numeric: tabular-nums; }
.criterion-row > div > small { color: var(--red-dark); font-size: 10px; font-weight: 750; }
.score-input { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 8px; color: var(--muted); font-size: 10px; }
.score-input > span { grid-column: 1 / -1; }
.score-input input { width: 86px; min-height: 42px; padding: 8px 10px; font-size: 15px; font-weight: 800; text-align: center; }
.score-input small { color: var(--muted); white-space: nowrap; }
.score-preview { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid #edc7ca; border-radius: var(--radius-control); background: var(--red-soft); }
.score-preview span { color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.score-preview strong { color: var(--red-dark); font-size: 17px; font-variant-numeric: tabular-nums; }
.readonly-scores { display: grid; gap: 1px; margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--line); overflow: hidden; }
.readonly-scores > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; background: #fff; }
.readonly-scores span { color: var(--ink-soft); font-size: 10px; }
.readonly-scores strong { font-size: 11px; font-variant-numeric: tabular-nums; }
.selection-next-step { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid #b9daca; border-radius: 10px; background: var(--green-soft); }
.selection-next-step > div { display: flex; flex-direction: column; }
.selection-next-step > div > span { color: var(--green); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.selection-next-step strong { margin-top: 3px; font-size: 13px; }
.selection-next-step p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.disqualification-control { border: 1px solid #e8b7bb; border-radius: 9px; background: var(--danger-soft); }
.disqualification-control > summary { padding: 12px 14px; color: var(--danger); font-size: 11px; font-weight: 850; cursor: pointer; }
.disqualification-control[open] > summary { border-bottom: 1px solid #e8b7bb; }
.disqualification-control form { display: flex; flex-direction: column; gap: 12px; padding: 14px; }
.disqualification-control p { margin: 0; color: var(--ink-soft); font-size: 10px; }
.disqualification-control label { display: flex; flex-direction: column; gap: 6px; color: var(--ink-soft); font-size: 10px; font-weight: 750; }
.disqualification-control select, .disqualification-control textarea { width: 100%; padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; resize: vertical; }
.disqualification-control .danger-button { align-self: flex-start; }
.disqualification-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; padding: 16px 18px; border: 1px solid #e8b7bb; border-radius: var(--radius-panel); background: var(--danger-soft); }
.disqualification-banner > div { display: flex; flex-direction: column; }
.disqualification-banner span { color: var(--danger); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.disqualification-banner strong { margin-top: 4px; font-size: 13px; }
.disqualification-banner small { margin-top: 3px; color: var(--muted); font-size: 10px; }

/* Preliminary scoring administration and selection */
.scoring-mode-control { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.scoring-toggle { flex: 1; align-items: flex-start; }
.scoring-toggle > span { display: flex; flex-direction: column; gap: 3px; }
.scoring-toggle strong { color: var(--ink); font-size: 12px; }
.scoring-toggle small { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.45; }
.scoring-weight-notice { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; padding: 11px 13px; border-left: 3px solid var(--red); background: var(--red-soft); }
.scoring-weight-notice strong { font-size: 11px; }
.scoring-weight-notice span { color: var(--muted); font-size: 10px; }
.criterion-weight { padding-bottom: 4px; border-bottom: 1px solid var(--line); }
.criterion-weight input { min-height: 36px; }
.edition-scoring-toggle { align-items: flex-start; margin-top: 14px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface-soft); }
.edition-scoring-toggle > span { display: flex; flex-direction: column; gap: 3px; }
.edition-scoring-toggle small { color: var(--muted); font-size: 10px; font-weight: 500; }
.domain-selection-limit { max-width: 320px; margin-top: 12px; }
.domain-selection-limit small { color: var(--muted); font-size: 9px; font-weight: 500; }
.selection-disabled-state { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px; }
.selection-disabled-state h2 { max-width: 720px; margin: 0; font-size: 22px; }
.selection-disabled-state p { max-width: 720px; margin: 0 0 6px; color: var(--muted); }
.selection-guidance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--line); overflow: hidden; }
.selection-guidance > div { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; background: #fff; }
.selection-guidance strong { font-size: 11px; }
.selection-guidance span { color: var(--muted); font-size: 10px; }
.selection-warning { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; padding: 11px 14px; border: 1px solid #ead39e; border-radius: var(--radius-control); background: var(--amber-soft); font-size: 10px; }
.selection-warning span { color: var(--muted); }
.selection-domain-list { display: flex; flex-direction: column; gap: 18px; }
.selection-domain { overflow: hidden; }
.selection-domain-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.selection-domain-heading h2 { margin: 3px 0 0; font-size: 20px; }
.selection-domain-heading p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.selection-domain-summary { min-width: 130px; display: flex; flex-direction: column; align-items: flex-end; padding: 10px 12px; border-radius: var(--radius-control); background: var(--surface-soft); }
.selection-domain-summary strong { font-size: 17px; }
.selection-domain-summary span { color: var(--muted); font-size: 9px; }
.selection-table-wrap { overflow-x: auto; }
.selection-table { width: 100%; min-width: 900px; border-collapse: collapse; }
.selection-table th { padding: 10px 12px; color: var(--muted); background: var(--surface-soft); font-size: 9px; text-align: left; }
.selection-table td { padding: 12px; border-top: 1px solid var(--line); vertical-align: middle; font-size: 10px; }
.selection-table tbody tr:hover { background: #fffafb; }
.selection-table tr.is-not-ready { background: var(--surface-soft); }
.selection-table tr.is-disqualified { background: var(--danger-soft); }
.selection-table td:nth-child(3) { min-width: 340px; }
.selection-table td:nth-child(3) > a { display: block; color: var(--ink); font-size: 11px; font-weight: 800; text-decoration: none; }
.selection-table td:nth-child(3) > a:hover { color: var(--red-dark); text-decoration: underline; }
.selection-table td:nth-child(3) > span, .selection-table td:nth-child(3) > small { display: block; margin-top: 2px; color: var(--muted); }
.selection-table input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--red); }
.ranking-position { font-size: 13px; font-variant-numeric: tabular-nums; }
.ranking-score { color: var(--red-dark); font-size: 17px; font-variant-numeric: tabular-nums; }
.selection-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-top: 1px solid var(--line); }
.selection-actions > span { color: var(--muted); font-size: 10px; }
.selection-actions > span.is-valid { color: var(--green); font-weight: 750; }
.preliminary-list-state { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.preliminary-list-state small { color: var(--muted); font-size: 9px; }
.preliminary-stage-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0 0 14px; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--line); list-style: none; overflow: hidden; }
.preliminary-stage-flow li { min-width: 0; display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 8px; align-items: center; padding: 12px; background: #fff; }
.preliminary-stage-flow li > strong { grid-row: 1 / 3; width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--muted); font-size: 10px; }
.preliminary-stage-flow li > span { color: var(--ink); font-size: 10px; font-weight: 850; }
.preliminary-stage-flow li > small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.preliminary-stage-flow li.is-active { background: var(--red-soft); }
.preliminary-stage-flow li.is-active > strong { border-color: var(--red); color: #fff; background: var(--red); }
.preliminary-stage-flow li.is-complete > strong { border-color: var(--green); color: #fff; background: var(--green); }
.preliminary-stage-flow li.is-rejected { background: var(--danger-soft); }
.preliminary-stage-flow li.is-rejected > strong { border-color: var(--danger); color: #fff; background: var(--danger); }
.preliminary-stage-flow li.is-pending { background: var(--surface-soft); }
.preliminary-stage-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; margin-bottom: 14px; padding: 16px; border: 1px solid #d8b7ba; border-left: 3px solid var(--red); border-radius: var(--radius-control); background: #fffafb; }
.preliminary-stage-control.is-scoring { border-color: #bfd9cd; border-left-color: var(--green); background: var(--green-soft); }
.preliminary-stage-control.is-rejected { border-color: #e8b7bb; border-left-color: var(--danger); background: var(--danger-soft); }
.preliminary-stage-control > div:first-child { min-width: 0; }
.preliminary-stage-control > div:first-child > span { color: var(--red-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.preliminary-stage-control.is-scoring > div:first-child > span { color: var(--green); }
.preliminary-stage-control.is-rejected > div:first-child > span { color: var(--danger); }
.preliminary-stage-control h4 { margin: 3px 0 0; font-size: 14px; line-height: 1.35; }
.preliminary-stage-control p { max-width: 720px; margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.preliminary-stage-actions { display: flex; align-items: center; gap: 8px; }
.preliminary-stage-actions > form { margin: 0; }
.preliminary-reject-control { position: relative; }
.preliminary-reject-control > summary { min-height: 42px; display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid var(--danger); border-radius: var(--radius-control); color: var(--danger); background: #fff; font-size: 11px; font-weight: 800; cursor: pointer; list-style: none; white-space: nowrap; }
.preliminary-reject-control > summary::-webkit-details-marker { display: none; }
.preliminary-reject-control > summary:hover, .preliminary-reject-control[open] > summary { color: #fff; background: var(--danger); }
.preliminary-reject-control > form { position: absolute; z-index: 8; top: calc(100% + 8px); right: 0; width: min(430px, calc(100vw - 56px)); display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid #e8b7bb; border-radius: var(--radius-control); background: #fff; box-shadow: var(--shadow-panel); }
.preliminary-reject-control label { display: flex; flex-direction: column; gap: 6px; color: var(--ink-soft); font-size: 10px; font-weight: 750; }
.preliminary-reject-control textarea { min-height: 96px; }
.preliminary-stage-warning { grid-column: 1 / -1; margin: -6px 0 0 !important; padding-top: 10px; border-top: 1px solid #e4c9cb; color: var(--danger) !important; }
.editable-score-note { margin: 0; padding: 9px 11px; border-left: 3px solid var(--green); color: var(--ink-soft); background: var(--green-soft); font-size: 10px; }
.workflow-waiting.is-rejected { border-color: #e8b7bb; background: var(--danger-soft); }

/* Comments and jury evaluation details */
.comment-content { min-width: 0; }
.comment.comment-reply { margin-left: 50px; padding-left: 15px; border-left: 2px solid var(--line); }
.comment.is-resolved { border-color: var(--line-strong); background: var(--surface-soft); }
.comment-meta-row { display: flex; align-items: center; gap: 8px; }
.resolved-label { padding: 3px 7px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 9px; font-weight: 800; }
.comment-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 9px; margin-top: 9px; }
.comment-actions > form { margin: 0; }
.comment-actions details { position: relative; }
.comment-actions details > summary { padding: 6px 0; color: var(--muted); font-size: 10px; font-weight: 750; cursor: pointer; list-style: none; }
.comment-actions details > summary::-webkit-details-marker { display: none; }
.comment-actions details[open] { width: 100%; }
.comment-actions details form { display: flex; flex-direction: column; gap: 8px; margin-top: 5px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.comment-actions textarea { width: 100%; padding: 8px; border: 1px solid var(--line-strong); border-radius: 7px; background: #fff; resize: vertical; }
.comment-actions .text-button { min-height: 30px; padding-inline: 0; font-size: 10px; }
.subsection-heading { margin: 28px 0 12px; }
.subsection-heading > span { color: var(--red); font-size: 9px; font-weight: 850; letter-spacing: .09em; }
.subsection-heading h3 { margin: 3px 0 0; font-size: 18px; }
.subsection-heading p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.peer-evaluations { margin-top: 24px; }
.peer-evaluation { border: 1px solid var(--line); border-radius: 9px; background: #fff; overflow: hidden; }
.peer-evaluation + .peer-evaluation { margin-top: 8px; }
.peer-evaluation > summary { min-height: 68px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 15px; cursor: pointer; list-style: none; }
.detailed-jury-list .peer-evaluation > summary { grid-template-columns: 38px minmax(0, 1fr) auto auto; }
.peer-evaluation > summary::-webkit-details-marker { display: none; }
.peer-evaluation > summary:hover, .peer-evaluation[open] > summary { background: var(--surface-soft); }
.peer-evaluation > summary > span:not(.avatar) { display: flex; flex-direction: column; }
.peer-evaluation summary strong { font-size: 12px; }
.peer-evaluation summary small { color: var(--muted); font-size: 9px; }
.peer-evaluation-body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 16px; border-top: 1px solid var(--line); }
.peer-evaluation-body dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 0; }
.peer-evaluation-body dl > div { padding: 9px; border-radius: 7px; background: var(--surface-soft); }
.peer-evaluation-body dt { color: var(--muted); font-size: 9px; }
.peer-evaluation-body dd { margin: 3px 0 0; font-size: 11px; font-weight: 800; }
.peer-evaluation-body > div > strong { font-size: 10px; }
.peer-evaluation-body p { margin: 4px 0 0; color: var(--ink-soft); font-size: 11px; white-space: pre-wrap; }

/* Jury settings */
.settings-explainer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--line); overflow: hidden; }
.settings-explainer > div { display: flex; flex-direction: column; padding: 15px 17px; background: #fff; }
.settings-explainer strong { font-size: 11px; }
.settings-explainer span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.settings-form { display: flex; flex-direction: column; gap: 12px; }
.settings-group { display: grid; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr); gap: 28px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.settings-group > div > span { color: var(--red); font-size: 10px; font-weight: 900; }
.settings-group h2 { margin: 4px 0 0; font-size: 17px; }
.settings-group p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.choice-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 0; border: 0; }
.choice-cards label { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 9px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.choice-cards label:has(input:checked) { border-color: #e0a5aa; background: var(--red-soft); box-shadow: inset 3px 0 0 var(--red); }
.choice-cards input { margin-top: 3px; accent-color: var(--red); }
.choice-cards span { display: flex; flex-direction: column; }
.choice-cards strong { font-size: 11px; }
.choice-cards small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.numeric-setting { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 750; }
.numeric-setting select, .numeric-setting input { min-width: 180px; min-height: 42px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: #fff; }
.sticky-form-actions { position: sticky; bottom: 14px; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 5px; padding: 13px 14px 13px 17px; border: 1px solid var(--line-strong); border-radius: 10px; background: rgba(255, 255, 255, .97); box-shadow: 0 10px 30px rgba(24, 25, 27, .12); }
.sticky-form-actions > div { display: flex; flex-direction: column; }
.sticky-form-actions strong { font-size: 11px; }
.sticky-form-actions span { color: var(--muted); font-size: 9px; }

/* Edition administration */
.editions-page-heading { align-items: flex-start; }
.edition-create-disclosure { position: relative; flex: 0 0 auto; }
.edition-create-disclosure > summary { list-style: none; cursor: pointer; }
.edition-create-disclosure > summary::-webkit-details-marker { display: none; }
.edition-create-disclosure[open] > summary { border-color: var(--red-dark); background: var(--red-dark); }
.edition-create-form {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 25;
    width: min(460px, calc(100vw - 40px));
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-panel);
    background: #fff;
    box-shadow: 0 18px 44px rgba(24, 25, 27, .16);
}
.edition-create-form > label, .edition-settings-form label, .record-editor > label, .record-editor .form-grid > label,
.inline-add-form > label, .import-field-row > label, .document-name-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--ink-soft);
    font-size: 11px;
    font-weight: 750;
}
.edition-create-form input:not([type="checkbox"]), .edition-create-form select,
.edition-settings-form input:not([type="checkbox"]), .edition-settings-form select, .edition-settings-form textarea,
.record-editor input:not([type="checkbox"]), .record-editor select, .record-editor textarea,
.inline-add-form input:not([type="checkbox"]), .inline-add-form select, .inline-add-form textarea,
.document-config-row input:not([type="checkbox"]), .import-field-row input:not([type="checkbox"]) {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
    background: #fff;
}
.edition-create-form small, .edition-settings-form small, .document-name-field small, .field-key-cell small {
    color: var(--muted);
    font-size: 9px;
    font-weight: 550;
}
.form-grid.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid.four-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.check-row { display: grid !important; grid-template-columns: 17px minmax(0, 1fr); gap: 8px !important; align-items: start; }
.check-row input, .switch-cell input { margin: 2px 0 0; accent-color: var(--red); }

.editions-workspace { display: grid; grid-template-columns: 252px minmax(0, 1fr); gap: 20px; align-items: start; }
.editions-index { position: sticky; top: 90px; overflow: hidden; }
.edition-list { display: flex; flex-direction: column; }
.edition-list-item {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
    color: var(--ink-soft);
    text-decoration: none;
}
.edition-list-item:last-child { border-bottom: 0; }
.edition-list-item:hover { background: var(--surface-soft); }
.edition-list-item.is-selected { background: var(--red-soft); box-shadow: inset 3px 0 0 var(--red); }
.edition-year { font-size: 13px; font-weight: 900; }
.edition-list-copy { min-width: 0; display: flex; flex-direction: column; }
.edition-list-copy strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.edition-list-copy small { color: var(--muted); font-size: 9px; }
.edition-list-item .status { grid-column: 3; grid-row: 1; min-height: 22px; padding: 2px 7px; font-size: 9px; }
.current-marker { grid-column: 2 / -1; color: var(--red-dark); font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.editions-configuration { min-width: 0; display: flex; flex-direction: column; gap: 16px; }

.edition-lifecycle-panel { overflow: hidden; }
.edition-lifecycle-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding: 22px 24px; }
.section-label { color: var(--red); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.edition-lifecycle-main h2, .config-section-heading h2 { margin: 3px 0 0; font-size: 20px; letter-spacing: -.025em; }
.edition-lifecycle-main p, .config-section-heading p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.edition-state-summary { min-width: 185px; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; text-align: right; }
.edition-state-summary strong, .edition-state-summary > span:not(.status) { color: var(--muted); font-size: 9px; }
.edition-lifecycle-actions { min-height: 62px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 20px; border-top: 1px solid var(--line); background: var(--surface-soft); }
.edition-lifecycle-actions form { margin: 0; }
.lifecycle-hint { margin-right: auto; color: var(--muted); font-size: 9px; }
.edition-section-nav {
    position: sticky;
    top: 70px;
    z-index: 15;
    display: flex;
    gap: 3px;
    padding: 7px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 5px 15px rgba(24, 25, 27, .05);
}
.edition-section-nav a { padding: 8px 11px; border-radius: 7px; color: var(--muted); font-size: 10px; font-weight: 750; text-decoration: none; }
.edition-section-nav a:hover { color: var(--ink); background: var(--surface-soft); }

.edition-config-section { scroll-margin-top: 128px; overflow: hidden; }
.config-section-heading { min-height: 94px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.config-completeness { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; color: var(--muted); background: var(--surface-soft); font-size: 9px; font-weight: 750; }
.edition-settings-form { display: flex; flex-direction: column; gap: 0; }
.edition-settings-form .settings-group { display: grid; grid-template-columns: minmax(165px, .34fr) minmax(0, 1fr); gap: 24px; margin: 0; padding: 20px 22px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.edition-settings-form .settings-group:last-of-type { border-bottom: 0; }
.settings-group-heading h3 { margin: 0; font-size: 13px; }
.settings-group-heading p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.edition-settings-form .settings-group > .form-grid + .form-grid { grid-column: 2; }
.edition-settings-form .sticky-form-actions { margin: 0 20px 20px; }

.config-record-list { display: flex; flex-direction: column; }
.config-record { border-bottom: 1px solid var(--line); }
.config-record > summary { min-height: 64px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 20px; cursor: pointer; list-style: none; }
.config-record > summary::-webkit-details-marker { display: none; }
.config-record > summary:hover, .config-record[open] > summary { background: var(--surface-soft); }
.record-order { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: var(--muted); background: #fff; border: 1px solid var(--line); font-size: 9px; font-weight: 850; }
.record-summary-copy { min-width: 0; display: flex; flex-direction: column; }
.record-summary-copy strong { font-size: 12px; }
.record-summary-copy small { color: var(--muted); font-size: 9px; }
.record-editor { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px 20px 64px; border-top: 1px solid var(--line); background: #fff; }
.record-actions { align-items: center; justify-content: flex-end; }
.record-actions .check-row { margin-right: auto; }
.compact-number { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 750; }
.compact-number input { width: 72px !important; }
.config-empty { display: flex; flex-direction: column; gap: 3px; padding: 24px; color: var(--muted); font-size: 11px; }
.config-empty strong, .large-empty h2 { color: var(--ink-soft); }
.large-empty { min-height: 260px; align-items: center; justify-content: center; text-align: center; }
.large-empty h2, .large-empty p { margin: 0; }

.inline-add-disclosure { margin: 16px 20px 20px; border: 1px dashed var(--line-strong); border-radius: 9px; }
.inline-add-disclosure > summary { padding: 12px 14px; color: var(--red-dark); font-size: 10px; font-weight: 800; cursor: pointer; list-style-position: inside; }
.inline-add-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.inline-add-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 12px; align-items: end; padding: 15px; }
.inline-add-form .check-row { align-self: center; }
.document-add-form { grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto auto auto; }
.import-field-add-form { grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto; }

.document-config-table, .import-fields-table { width: 100%; overflow-x: auto; }
.document-config-head, .document-config-row { min-width: 920px; display: grid; grid-template-columns: minmax(230px, 1fr) 104px 104px 118px 76px 68px 88px; gap: 10px; align-items: center; padding: 10px 18px; }
.document-config-head, .import-fields-head { min-height: 38px; color: var(--muted); background: var(--surface-soft); font-size: 8px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.document-config-row { border-top: 1px solid var(--line); }
.document-name-field { gap: 4px; }
.document-name-field > input { font-weight: 750; }
.document-name-field small input { min-height: 28px !important; padding: 4px 7px !important; color: var(--muted); font: 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.switch-cell { display: inline-grid !important; grid-template-columns: 17px minmax(0, 1fr); gap: 5px !important; align-items: center; color: var(--muted) !important; font-size: 9px !important; font-weight: 700 !important; }
.order-input { min-width: 0; }

.import-mapping-note { display: flex; flex-direction: column; gap: 2px; margin: 16px 20px 0; padding: 11px 13px; border-left: 3px solid var(--red); background: var(--red-soft); }
.import-mapping-note strong { font-size: 10px; }
.import-mapping-note span { color: var(--muted); font-size: 9px; }
.import-fields-table { margin-top: 16px; border-block: 1px solid var(--line); }
.import-fields-head, .import-field-row { min-width: 880px; display: grid; grid-template-columns: 125px minmax(170px, .75fr) minmax(230px, 1fr) 84px 68px 64px; gap: 10px; align-items: center; padding: 10px 18px; }
.import-field-row { border-top: 1px solid var(--line); }
.field-key-cell { min-width: 0; display: flex; flex-direction: column; }
.field-key-cell code { overflow: hidden; color: var(--ink-soft); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.import-field-row input:disabled { background: var(--surface-soft); }
.edition-config-section > form > .form-actions:not(.sticky-form-actions) { align-items: center; justify-content: space-between; padding: 14px 20px 18px; }
.edition-config-section > form > .form-actions > span { color: var(--muted); font-size: 9px; }

/* Densitate mare, fără text sub pragul confortabil pentru configurare. */
.edition-list-copy small, .current-marker, .section-label,
.edition-state-summary strong, .edition-state-summary > span:not(.status), .lifecycle-hint,
.config-completeness, .record-order, .record-summary-copy small, .compact-number,
.edition-create-form small, .edition-settings-form small, .document-name-field small, .field-key-cell small,
.document-config-head, .import-fields-head, .switch-cell, .import-mapping-note span,
.field-key-cell code, .edition-config-section > form > .form-actions > span { font-size: 11px !important; }

/* Manual application management */
.application-form-heading { align-items: flex-start; }
.application-entry-form { display: flex; flex-direction: column; gap: 18px; }
.application-form-panel { overflow: hidden; }
.application-form-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
    padding: 22px;
}
.application-form-fields.compact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.application-form-fields > label {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: var(--ink-soft);
    font-size: 11px;
    font-weight: 780;
}
.application-form-fields > label.span-two { grid-column: span 2; }
.application-form-fields input, .application-form-fields select, .application-form-fields textarea {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    font-weight: 550;
}
.application-form-fields textarea { min-height: 84px; resize: vertical; line-height: 1.5; }
.application-form-fields input[readonly] { color: var(--muted); background: var(--surface-soft); cursor: default; }
.application-form-fields input:hover:not([readonly]), .application-form-fields select:hover, .application-form-fields textarea:hover { border-color: #aaadb2; }
.application-form-fields input:focus, .application-form-fields select:focus, .application-form-fields textarea:focus {
    border-color: var(--red);
    outline: 3px solid rgba(207, 52, 57, .12);
    outline-offset: 0;
}
.application-form-fields [aria-invalid="true"] { border-color: var(--danger); background: var(--danger-soft); }
.application-form-fields small { color: var(--muted); font-size: 10px; font-weight: 550; line-height: 1.4; }
.application-form-fields .field-error-message { color: var(--danger); font-weight: 750; }
.application-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: var(--surface);
    box-shadow: var(--shadow-panel);
}
.application-form-actions > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.application-form-actions > div:first-child strong { font-size: 12px; }
.application-form-actions > div:first-child span { color: var(--muted); font-size: 10px; }

/* Global audit */
.audit-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); }
.audit-filters label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.audit-filters .span-two { grid-column: span 2; }
.audit-filters input, .audit-filters select { width: 100%; min-height: 40px; padding: 0 9px; border: 1px solid var(--line-strong); border-radius: 7px; background: #fff; font-size: 11px; text-transform: none; }
.audit-filters .filter-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.audit-register { border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; box-shadow: var(--shadow-panel); overflow: hidden; }
.audit-register-head { min-height: 38px; display: grid; grid-template-columns: minmax(260px, 1.25fr) minmax(190px, .75fr) 150px; gap: 16px; align-items: center; padding: 0 18px; color: var(--muted); background: var(--surface-soft); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.audit-entry { display: grid; grid-template-columns: minmax(260px, 1.25fr) minmax(190px, .75fr) 150px; gap: 16px; align-items: center; min-height: 72px; padding: 12px 18px; border-top: 1px solid var(--line); }
.audit-primary { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 10px; align-items: center; }
.audit-primary .history-dot { position: static; }
.audit-primary > div, .audit-entity { display: flex; flex-direction: column; min-width: 0; }
.audit-primary strong, .audit-entity strong { font-size: 11px; }
.audit-primary span, .audit-entity span { color: var(--muted); font-size: 9px; }
.audit-entity a { width: fit-content; margin-top: 2px; color: var(--red); font-size: 10px; font-weight: 750; text-decoration: none; }
.audit-entry > time { color: var(--muted); font-size: 9px; white-space: nowrap; }
.audit-payload { grid-column: 1 / -1; }
.audit-payload summary { width: fit-content; color: var(--muted); font-size: 9px; font-weight: 750; cursor: pointer; }
.audit-payload > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 9px; }
.audit-payload section { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.audit-payload section > strong { font-size: 9px; text-transform: uppercase; }
.audit-payload pre { max-height: 180px; margin: 6px 0 0; overflow: auto; color: var(--ink-soft); font: 10px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 1180px) {
    .admin-split-layout, .jury-assignment-layout { grid-template-columns: 1fr; }
    .admin-create-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audit-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .juror-load-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .management-row { grid-template-columns: minmax(210px, 1fr) minmax(150px, .8fr) auto; }
    .management-state { grid-column: 2; }
    .editions-workspace { grid-template-columns: 1fr; }
    .editions-index { position: static; }
    .edition-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .edition-list-item { border-right: 1px solid var(--line); border-bottom: 0; }
    .edition-list-item:last-child { border-right: 0; }
    .form-grid.four-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .import-wizard-grid, .settings-explainer, .settings-group, .choice-cards { grid-template-columns: 1fr; }
    .preview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .preview-metrics > div:nth-child(2) { border-right: 0; }
    .preview-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .admin-create-column, .team-grid { grid-template-columns: 1fr; }
    .form-grid.two, .domain-check-grid { grid-template-columns: 1fr; }
    .assignment-mode-grid, .subset-config { grid-template-columns: 1fr; }
    .juror-load-grid { grid-template-columns: 1fr; }
    .management-row { grid-template-columns: minmax(0, 1fr) auto; }
    .management-access, .management-state { grid-column: 1; padding-left: 51px; }
    .row-actions-disclosure { grid-column: 2; grid-row: 1 / span 3; }
    .row-actions-panel { padding-left: 18px; }
    .row-actions-panel .compact-form { grid-template-columns: 1fr; }
    .row-actions-panel .compact-form > fieldset, .row-actions-panel .compact-form > button { grid-column: auto; }
    .management-editor { grid-template-columns: 1fr; padding-left: 20px; }
    .management-editor > fieldset, .management-editor .form-actions { grid-column: auto; }
    .all-domain-visibility-note, .readonly-access-banner { align-items: stretch; flex-direction: column; }
    .readonly-access-banner form, .readonly-access-banner .primary-button { width: 100%; }
    .bulk-work-row { grid-template-columns: 28px 76px minmax(0, 1fr); }
    .bulk-work-row > span:last-child { grid-column: 3; }
    .evaluator-assignment-row { align-items: stretch; flex-direction: column; }
    .comment.comment-reply { margin-left: 24px; }
    .peer-evaluation-body, .peer-evaluation-body dl { grid-template-columns: 1fr; }
    .detailed-jury-list .peer-evaluation > summary { grid-template-columns: 38px minmax(0, 1fr) auto; }
    .detailed-jury-list .peer-evaluation > summary > .status { grid-column: 2 / -1; }
    .settings-group { gap: 16px; }
    .audit-register-head { display: none; }
    .audit-entry { grid-template-columns: 1fr auto; gap: 9px; }
    .audit-entity { grid-column: 1; padding-left: 20px; }
    .audit-entry > time { grid-column: 2; grid-row: 1; }
    .audit-payload { grid-column: 1 / -1; padding-left: 20px; }
    .editions-page-heading { align-items: stretch; flex-direction: column; }
    .edition-create-disclosure { align-self: flex-start; }
    .edition-create-form { position: static; width: min(100%, 520px); margin-top: 10px; box-shadow: var(--shadow-panel); }
    .edition-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .edition-list-item:nth-child(2n) { border-right: 0; }
    .edition-list-item { border-bottom: 1px solid var(--line); }
    .edition-lifecycle-main, .config-section-heading { align-items: flex-start; flex-direction: column; }
    .edition-state-summary { min-width: 0; align-items: flex-start; text-align: left; }
    .edition-lifecycle-actions { justify-content: flex-start; }
    .edition-section-nav { top: 62px; overflow-x: auto; white-space: nowrap; }
    .edition-settings-form .settings-group { grid-template-columns: 1fr; gap: 14px; }
    .edition-settings-form .settings-group > .form-grid + .form-grid { grid-column: auto; }
    .form-grid.three-columns, .form-grid.four-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .record-editor { padding-left: 20px; }
    .inline-add-form, .document-add-form, .import-field-add-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inline-add-form > button { align-self: end; }
    .staff-subset-config .subset-mode-row { grid-column: auto; grid-template-columns: 1fr; align-items: stretch; }
    .staff-subset-config .subset-mode-row > .primary-button { width: 100%; }
    .export-documents-submit { align-items: stretch; }
    .export-documents-submit small { max-width: none; }
    .application-form-fields, .application-form-fields.compact-fields { grid-template-columns: 1fr; padding: 18px 16px; }
    .application-form-fields > label.span-two { grid-column: auto; }
    .application-form-actions { align-items: stretch; flex-direction: column; }
    .application-form-actions .heading-actions { width: 100%; }
    .application-form-actions .heading-actions > * { flex: 1 1 auto; }
}

@media (max-width: 520px) {
    .preview-metrics, .audit-filters { grid-template-columns: 1fr; }
    .preview-metrics > div { border-right: 0; border-bottom: 1px solid var(--line); }
    .preview-metrics > div:last-child { border-bottom: 0; }
	.mapping-preview-list { grid-template-columns: 1fr; }
	.mapping-preview-row:nth-child(odd) { border-right: 0; }
    .import-preview-heading, .mapping-preview-heading, .verification-actions { align-items: stretch; flex-direction: column; }
	.verification-options { grid-template-columns: 1fr; }
	.document-verification > summary { position: relative; align-items: flex-start; flex-direction: column; padding-right: 28px; }
	.document-verification > summary::after { position: absolute; right: 14px; }
    .preview-actions, .sticky-form-actions { align-items: stretch; flex-direction: column; }
    .preview-actions > *, .sticky-form-actions .primary-button { width: 100%; }
    .resumable-upload-heading, .import-integrity { align-items: flex-start; flex-direction: column; }
    .resumable-upload-actions { align-items: stretch; flex-direction: column; }
    .resumable-upload-actions button { width: 100%; }
    .edition-switcher { width: 100%; align-items: stretch; flex-direction: column; }
    .edition-switcher select { width: 100%; min-width: 0; }
    .management-row > summary { grid-template-columns: 38px minmax(0, 1fr); }
    .management-badges { grid-column: 2; justify-content: flex-start; }
    .evaluation-readonly dl { grid-template-columns: 1fr; }
    .preliminary-card-heading { align-items: flex-start; flex-direction: column; }
    .comment.comment-reply { margin-left: 10px; }
    .peer-evaluation > summary { grid-template-columns: 1fr auto; }
    .audit-filters .span-two { grid-column: auto; }
    .audit-filters .filter-actions { align-items: stretch; flex-direction: column; }
    .audit-entry { grid-template-columns: 1fr; }
    .audit-entry > time { grid-column: 1; grid-row: auto; padding-left: 20px; }
    .audit-payload > div { grid-template-columns: 1fr; }
    .one-time-secret { align-items: stretch; flex-direction: column; }
    .secret-value { grid-template-columns: 1fr; }
    .secret-value > span { grid-column: auto; text-align: left; }
    .subset-toolbar { align-items: stretch; flex-direction: column; }
    .horizontal-members { grid-template-columns: 1fr; }
    .edition-list { grid-template-columns: 1fr; }
    .edition-list-item, .edition-list-item:nth-child(2n) { border-right: 0; }
    .edition-lifecycle-main, .config-section-heading { padding-inline: 16px; }
    .edition-lifecycle-actions { align-items: stretch; flex-direction: column; padding-inline: 16px; }
    .edition-lifecycle-actions form, .edition-lifecycle-actions button { width: 100%; }
    .edition-section-nav { margin-inline: -2px; }
    .edition-settings-form .settings-group { padding-inline: 16px; }
    .edition-settings-form .sticky-form-actions { margin-inline: 16px; }
    .form-grid.two-columns, .form-grid.three-columns, .form-grid.four-columns { grid-template-columns: 1fr; }
    .config-record > summary { grid-template-columns: 30px minmax(0, 1fr); padding-inline: 14px; }
    .config-record > summary .status { grid-column: 2; justify-self: start; }
    .record-editor { padding-inline: 14px; }
    .record-actions { align-items: stretch; flex-direction: column; }
    .record-actions .check-row { margin-right: 0; }
    .compact-number { justify-content: space-between; }
    .inline-add-disclosure { margin-inline: 14px; }
    .inline-add-form, .document-add-form, .import-field-add-form { grid-template-columns: 1fr; }
    .edition-config-section > form > .form-actions:not(.sticky-form-actions) { align-items: stretch; flex-direction: column; }
    .edition-config-section > form > .form-actions .primary-button { width: 100%; }
}

@media (max-width: 800px) {
    .scoring-mode-control, .selection-domain-heading, .selection-actions, .selection-next-step, .disqualification-banner { align-items: stretch; flex-direction: column; }
    .scoring-mode-control .secondary-button, .selection-actions .primary-button, .selection-next-step .primary-button, .disqualification-banner .secondary-button { width: 100%; }
    .selection-guidance { grid-template-columns: 1fr; }
    .selection-domain-summary { align-items: flex-start; }
    .preliminary-card-heading > .preliminary-card-status { align-items: flex-start; }
    .preliminary-stage-flow { grid-template-columns: 1fr; }
    .preliminary-stage-control { grid-template-columns: 1fr; align-items: stretch; }
    .preliminary-stage-actions { align-items: stretch; flex-direction: column; }
    .preliminary-stage-actions > form, .preliminary-stage-actions .primary-button, .preliminary-reject-control > summary { width: 100%; }
    .preliminary-reject-control > summary { justify-content: center; }
    .preliminary-reject-control > form { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Independent preliminary evaluator tracks */
.workflow-rule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.workflow-rule-grid > label {
    display: grid;
    gap: 7px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: var(--surface-soft);
}
.workflow-rule-grid > label > span { font-size: 13px; font-weight: 800; }
.workflow-rule-grid small { color: var(--muted); font-size: 11px; }
.sequential-workflow-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.sequential-workflow-heading > div { min-width: 0; }
.sequential-workflow-heading p { margin: 5px 0 0; color: var(--muted); }
.workflow-legend { color: var(--muted); font-size: 12px; font-weight: 700; }
.workflow-track-banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin: -4px 0 18px;
    padding: 11px 13px;
    border: 1px solid #b7ddca;
    border-radius: var(--radius-control);
    background: var(--green-soft);
}
.workflow-track-banner > span {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.workflow-track-banner p { margin: 0; color: var(--ink-soft); font-size: 13px; }
.workflow-stepper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 22px 0 18px;
    padding: 0;
    list-style: none;
}
.workflow-stepper li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding-right: 18px;
    color: var(--muted);
    font-size: 12px;
}
.workflow-stepper li::after {
    position: absolute;
    top: 15px;
    right: 4px;
    left: 39px;
    height: 1px;
    background: var(--line-strong);
    content: "";
}
.workflow-stepper li:last-child::after { display: none; }
.workflow-stepper li > span {
    position: relative;
    z-index: 1;
    width: 31px;
    height: 31px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    background: var(--surface);
    font-weight: 900;
}
.workflow-stepper li strong { position: relative; z-index: 1; padding-right: 7px; background: var(--bg); white-space: nowrap; }
.workflow-stepper li.is-current { color: var(--ink); }
.workflow-stepper li.is-current > span { border-color: var(--red); color: #fff; background: var(--red); }
.workflow-stepper li.is-complete { color: var(--green); }
.workflow-stepper li.is-complete > span { border-color: #b7ddca; background: var(--green-soft); }
.workflow-stepper li.is-locked { opacity: .62; }
.workflow-step {
    margin-top: 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: var(--surface);
    box-shadow: var(--shadow-panel);
    overflow: clip;
}
.workflow-step[open] { border-color: var(--line-strong); }
.workflow-step.is-active[open] { border-top: 3px solid var(--red); }
.workflow-step.is-complete { border-left: 3px solid #53a27c; }
.workflow-step.is-personal-complete { border-left: 3px solid #53a27c; }
.workflow-step.is-rejected { border-left: 3px solid var(--danger); }
.workflow-step.is-conflict { border-left: 3px solid #c88b25; }
.workflow-step > summary,
.locked-step-summary {
    min-height: 72px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 14px 18px;
}
.workflow-step > summary { cursor: pointer; list-style: none; }
.workflow-step > summary::-webkit-details-marker { display: none; }
.workflow-step > summary::after { margin-left: 5px; color: var(--muted); content: "+"; font-size: 20px; font-weight: 400; }
.workflow-step[open] > summary::after { content: "−"; }
.workflow-step > summary { grid-template-columns: 36px minmax(0, 1fr) auto 16px; }
.workflow-step-number {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    background: var(--surface-soft);
    font-weight: 900;
}
.workflow-step-copy { min-width: 0; display: grid; }
.workflow-step-copy strong { font-size: 16px; }
.workflow-step-copy small { color: var(--muted); }
.workflow-step-state {
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--muted);
    background: var(--surface-soft);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.workflow-step.is-complete .workflow-step-state { color: var(--green); background: var(--green-soft); }
.workflow-step.is-personal-complete .workflow-step-state { color: var(--green); background: var(--green-soft); }
.workflow-step.is-rejected .workflow-step-state { color: var(--danger); background: var(--danger-soft); }
.workflow-step.is-conflict .workflow-step-state { color: var(--amber); background: var(--amber-soft); }
.workflow-step.is-locked { padding-bottom: 15px; border-style: dashed; background: #f1f2f3; box-shadow: none; }
.workflow-step.is-locked > p,
.workflow-step.is-locked > small { display: block; margin: -5px 18px 0 67px; color: var(--muted); }
.workflow-step-body { display: grid; gap: 16px; padding: 4px 18px 20px 67px; border-top: 1px solid var(--line); }
.workflow-condition { margin: 14px 0 0; color: var(--muted); font-size: 13px; }
.workflow-track-status {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: 10px;
    margin-top: 14px;
    padding: 10px 12px;
    border-left: 3px solid var(--line-strong);
    background: var(--surface-soft);
}
.workflow-track-status strong { font-size: 12px; white-space: nowrap; }
.workflow-track-status p { margin: 0; color: var(--muted); font-size: 12px; }
.workflow-track-status.is-complete { border-left-color: #53a27c; background: var(--green-soft); }
.workflow-track-status.is-paused { border-left-color: #c88b25; background: var(--amber-soft); }
.workflow-clarification {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(260px, 1.2fr);
    gap: 16px;
    padding: 14px;
    border: 1px solid #efd18f;
    border-radius: var(--radius-control);
    background: var(--amber-soft);
}
.workflow-clarification.is-own { border-left: 3px solid #c88b25; }
.workflow-clarification > div { min-width: 0; }
.workflow-clarification > div > strong { color: var(--amber); font-size: 12px; }
.workflow-clarification p { margin: 5px 0 0; overflow-wrap: anywhere; }
.workflow-clarification form { display: grid; gap: 9px; }
.workflow-clarification label { display: grid; gap: 5px; font-size: 12px; font-weight: 800; }
.workflow-document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.workflow-document-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.workflow-document-card > header,
.preliminary-evaluation-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.workflow-document-card > header > div,
.preliminary-evaluation-card > header > div { display: grid; gap: 2px; }
.workflow-document-card > header > div > span,
.preliminary-evaluation-card > header > div > span { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.validation-target-source { margin: 11px 0 0; padding: 9px 10px; border: 1px solid #c9e5d7; border-radius: 8px; color: #245b42; background: #eef8f3; font-size: 12px; line-height: 1.45; }
.validation-target-source.is-missing { border-color: #ead6a8; color: #6f511a; background: #fff8e8; }
.workflow-opinions { display: grid; gap: 7px; margin-top: 13px; }
.workflow-opinions > div { display: grid; grid-template-columns: 25px minmax(0, 1fr); align-items: center; gap: 9px; }
.workflow-opinions > p { margin: 0; color: var(--muted); font-size: 12px; }
.workflow-opinions span:not(.opinion-slot) { min-width: 0; display: grid; }
.workflow-opinions small { color: var(--muted); overflow-wrap: anywhere; }
.opinion-slot { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--muted); background: #eceef0; font-size: 11px; font-weight: 900; }
.opinion-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.opinion-list > div { padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.document-validation-batch-form { display: none; }
.compact-opinion-form,
.workflow-opinion-form,
.admin-resolution-form { display: grid; gap: 12px; margin-top: 14px; }
.compact-opinion-form > label,
.workflow-opinion-form > label,
.admin-resolution-form > label { display: grid; gap: 5px; font-size: 12px; font-weight: 800; }
.compact-opinion-form label small { color: var(--muted); font-weight: 500; }
.segmented-options { display: flex; flex-wrap: wrap; gap: 6px; }
.segmented-options label { cursor: pointer; }
.segmented-options input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-options span { display: block; padding: 7px 10px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--surface); font-size: 12px; font-weight: 750; }
.segmented-options input:checked + span { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.segmented-options input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 2px; }
.segmented-options input[aria-invalid="true"] + span,
.compact-opinion-form textarea[aria-invalid="true"] { border-color: var(--danger); background: var(--danger-soft); }
.document-validation-submit {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-top: 14px;
    padding: 14px 15px;
    border: 1px solid var(--line-strong);
    border-radius: 10px;
    background: var(--surface);
}
.document-validation-submit > div { min-width: 0; display: grid; gap: 3px; }
.document-validation-submit strong { color: var(--ink); font-size: 13px; }
.document-validation-submit span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.document-validation-submit .document-validation-error { margin: 5px 0 0; }
.document-validation-submit .primary-button { min-width: 190px; white-space: nowrap; }
.verdict-choice { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.verdict-choice label { cursor: pointer; }
.verdict-choice input { position: absolute; opacity: 0; }
.verdict-choice label > span { display: grid; min-height: 72px; align-content: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.verdict-choice small { color: var(--muted); }
.verdict-choice input:checked + span { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); background: var(--surface); }
.administrative-data-panel {
    min-width: 0;
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface-soft);
}
.administrative-data-panel > legend { padding: 0 6px; color: var(--ink-soft); font-size: 13px; font-weight: 850; }
.administrative-data-panel > p { margin: -3px 0 0; color: var(--muted); font-size: 12px; }
.administrative-input-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.administrative-input-grid > label,
.administrative-note-field { min-width: 0; display: grid; gap: 6px; color: var(--ink-soft); font-size: 12px; font-weight: 800; }
.administrative-input-grid > label.auto-extracted-field {
    padding: 10px;
    border: 1px solid #e8b7bb;
    border-radius: var(--radius-control);
    background: var(--danger-soft);
}
.auto-extracted-warning {
    display: block;
    color: var(--danger);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.4;
}
.administrative-note-field > span { display: flex; align-items: baseline; gap: 5px; }
.administrative-note-field > span small { color: var(--muted); font-weight: 500; }
.administrative-input-grid input,
.administrative-note-field textarea {
    width: 100%;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
    background: var(--surface);
    font-size: 13px;
}
.administrative-input-grid input { height: 43px; padding: 0 11px; }
.administrative-note-field textarea { min-height: 78px; padding: 10px 11px; line-height: 1.5; resize: vertical; }
.input-with-suffix { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.input-with-suffix input { grid-column: 1 / -1; grid-row: 1; padding-right: 54px; }
.input-with-suffix small { z-index: 1; grid-column: 2; grid-row: 1; padding-right: 11px; color: var(--muted); font-size: 11px; font-weight: 700; pointer-events: none; }
.optional-details,
.workflow-admin-assign { border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.optional-details > summary,
.workflow-admin-assign > summary { padding: 10px 12px; cursor: pointer; font-size: 12px; font-weight: 800; }
.optional-details[open] > summary,
.workflow-admin-assign[open] > summary { border-bottom: 1px solid var(--line); }
.optional-details > div,
.optional-details > label { margin: 12px; }
.admin-resolution-form { padding: 14px; border: 1px solid #efd18f; border-radius: 8px; background: var(--amber-soft); }
.admin-resolution-form > strong { color: var(--amber); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.workflow-assignment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
.workflow-assignment-grid form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.workflow-assignment-grid label { display: grid; gap: 4px; font-size: 11px; font-weight: 800; }
.screening-actions { display: flex; align-items: flex-start; gap: 9px; }
.screening-actions details { position: relative; }
.screening-actions details > summary { list-style: none; cursor: pointer; }
.screening-actions details > summary::-webkit-details-marker { display: none; }
.screening-actions details > form { width: min(420px, 80vw); display: grid; gap: 10px; margin-top: 8px; padding: 14px; border: 1px solid #ecc4c7; border-radius: 8px; background: var(--danger-soft); }
.screening-actions details label { display: grid; gap: 5px; font-size: 12px; font-weight: 800; }
.scoring-step-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.scoring-step-body > .workflow-condition,
.scoring-step-body > .workflow-track-status,
.scoring-step-body > .workflow-admin-assign,
.scoring-step-body > .selection-next-step { grid-column: 1 / -1; }
.preliminary-evaluation-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }

@media (max-width: 950px) {
    .workflow-rule-grid,
    .workflow-document-grid,
    .scoring-step-body { grid-template-columns: 1fr 1fr; }
    .workflow-stepper li strong { display: none; }
    .workflow-stepper li::after { left: 34px; }
}

@media (max-width: 650px) {
	.sequential-workflow-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
    .workflow-rule-grid,
    .workflow-document-grid,
    .opinion-list,
    .workflow-assignment-grid,
    .verdict-choice,
    .administrative-input-grid,
    .scoring-step-body { grid-template-columns: 1fr; }
    .workflow-stepper { gap: 4px; }
    .workflow-stepper li { justify-content: center; padding: 0; }
    .workflow-stepper li::after { right: -8px; left: 60%; }
    .workflow-step > summary,
    .locked-step-summary { grid-template-columns: 34px minmax(0, 1fr) 16px; padding-inline: 13px; }
    .workflow-step-state { grid-column: 2; justify-self: start; }
    .workflow-step > summary::after { grid-column: 3; grid-row: 1 / 3; }
    .workflow-step-body { padding: 5px 13px 17px; }
    .workflow-track-banner,
    .workflow-track-status,
    .workflow-clarification { grid-template-columns: 1fr; }
    .document-validation-submit { grid-template-columns: 1fr; }
    .document-validation-submit .primary-button { width: 100%; min-width: 0; }
    .workflow-step.is-locked > p,
    .workflow-step.is-locked > small { margin-inline: 60px 14px; }
    .workflow-assignment-grid form { grid-template-columns: 1fr; }
    .screening-actions { align-items: stretch; flex-direction: column; }
    .screening-actions > form,
    .screening-actions button,
    .screening-actions details { width: 100%; }
    .screening-actions details > form { width: 100%; }
}

/* Opening sequence: intentionally maximal, brand-locked anime title treatment. */
html.anime-intro-active,
html.anime-intro-active body {
    overflow: hidden;
    overscroll-behavior: none;
}
.anime-intro {
    --anime-ink: #141416;
    --anime-paper: #f6f2e9;
    --anime-red: #d32632;
    position: fixed;
    inset: 0;
    z-index: 1000;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    isolation: isolate;
    color: var(--anime-paper);
    background: var(--anime-ink);
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", ui-sans-serif, sans-serif;
}
.anime-intro.is-playing {
    animation: anime-intro-exit 6.8s linear forwards;
}
.anime-intro::before,
.anime-intro::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.anime-intro::before {
    z-index: 8;
    opacity: .2;
    background: repeating-linear-gradient(0deg, rgba(246, 242, 233, .14) 0 1px, transparent 1px 4px);
    mix-blend-mode: overlay;
}
.anime-intro::after {
    z-index: 9;
    inset: 14px;
    border: 2px solid rgba(246, 242, 233, .64);
    box-shadow: inset 0 0 0 5px rgba(20, 20, 22, .55);
    opacity: 0;
}
.anime-intro.is-playing::after {
    animation: anime-intro-frame 6.8s steps(1, end) forwards;
}
.anime-intro-stage {
    position: absolute;
    inset: 0;
    overflow: hidden;
    will-change: transform;
}
.anime-intro.is-playing .anime-intro-stage {
    animation: anime-intro-camera 6.8s cubic-bezier(.2, .75, .25, 1) forwards;
}
.anime-intro-sun {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    width: min(58vmin, 720px);
    aspect-ratio: 1;
    border: clamp(8px, 1.2vw, 20px) solid var(--anime-paper);
    border-radius: 50%;
    background: var(--anime-red);
    box-shadow: 0 0 0 3vmin var(--anime-ink), 0 0 0 3.7vmin var(--anime-paper), 0 0 90px rgba(211, 38, 50, .72);
    opacity: 0;
    will-change: transform, opacity;
}
.anime-intro.is-playing .anime-intro-sun {
    animation: anime-intro-sun 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro-halftone {
    position: absolute;
    z-index: 1;
    inset: -20%;
    background-image: radial-gradient(circle, rgba(246, 242, 233, .55) 0 1.5px, transparent 1.7px);
    background-size: 13px 13px;
    opacity: 0;
    transform: rotate(-12deg) scale(1.2);
    will-change: transform, opacity;
}
.anime-intro.is-playing .anime-intro-halftone {
    animation: anime-intro-halftone 6.8s cubic-bezier(.2, .75, .25, 1) forwards;
}
.anime-intro-speedlines {
    position: absolute;
    z-index: 2;
    inset: -55vmax;
    background: repeating-conic-gradient(from 3deg at 50% 50%, rgba(246, 242, 233, .9) 0 .24deg, transparent .24deg 3.9deg);
    -webkit-mask-image: radial-gradient(circle, transparent 0 13vmin, #000 24vmin 100%);
    mask-image: radial-gradient(circle, transparent 0 13vmin, #000 24vmin 100%);
    opacity: 0;
    will-change: transform, opacity;
}
.anime-intro.is-playing .anime-intro-speedlines {
    animation: anime-intro-speedlines 6.8s linear forwards;
}
.anime-intro-ring {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: 42vmin;
    aspect-ratio: 1;
    border: clamp(2px, .35vw, 6px) solid var(--anime-paper);
    border-radius: 50%;
    opacity: 0;
    will-change: transform, opacity;
}
.anime-intro-ring-two {
    border-color: var(--anime-red);
    border-width: clamp(8px, 1vw, 16px);
}
.anime-intro.is-playing .anime-intro-ring-one {
    animation: anime-intro-ring-one 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro.is-playing .anime-intro-ring-two {
    animation: anime-intro-ring-two 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro-slashes {
    position: absolute;
    z-index: 6;
    inset: 0;
    pointer-events: none;
}
.anime-intro-slashes span {
    --slash-angle: -17deg;
    position: absolute;
    left: -22vw;
    width: 145vw;
    height: clamp(12px, 2.1vh, 34px);
    background: var(--anime-paper);
    box-shadow: 0 clamp(8px, 1.1vw, 18px) 0 var(--anime-red), 0 clamp(17px, 2.3vw, 36px) 0 var(--anime-ink);
    opacity: 0;
    transform: translate3d(-120%, 0, 0) rotate(var(--slash-angle)) skewX(-22deg);
    will-change: transform, opacity;
}
.anime-intro-slashes span:nth-child(1) { top: 21%; --slash-angle: -13deg; }
.anime-intro-slashes span:nth-child(2) { top: 67%; --slash-angle: 12deg; }
.anime-intro-slashes span:nth-child(3) { top: 38%; --slash-angle: -24deg; }
.anime-intro-slashes span:nth-child(4) { top: 54%; --slash-angle: 19deg; }
.anime-intro.is-playing .anime-intro-slashes span:nth-child(1) { animation: anime-intro-slash .56s cubic-bezier(.7, 0, .9, .3) 1.08s both; }
.anime-intro.is-playing .anime-intro-slashes span:nth-child(2) { animation: anime-intro-slash .48s cubic-bezier(.7, 0, .9, .3) 2.34s both; }
.anime-intro.is-playing .anime-intro-slashes span:nth-child(3) { animation: anime-intro-slash .42s cubic-bezier(.7, 0, .9, .3) 3.7s both; }
.anime-intro.is-playing .anime-intro-slashes span:nth-child(4) { animation: anime-intro-slash .6s cubic-bezier(.7, 0, .9, .3) 5.72s both; }
.anime-intro-prologue {
    position: absolute;
    z-index: 4;
    inset: 0;
    display: grid;
    align-content: center;
    justify-items: start;
    padding: 8vw;
    opacity: 0;
    will-change: transform, opacity;
}
.anime-intro-prologue::before {
    content: "";
    position: absolute;
    inset: 0 45% 0 -20%;
    z-index: -1;
    background: var(--anime-red);
    transform: skewX(-17deg);
}
.anime-intro-prologue > span {
    margin-bottom: 1.2rem;
    padding: .48rem .72rem;
    color: var(--anime-ink);
    background: var(--anime-paper);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: clamp(.66rem, 1.15vw, 1rem);
    font-weight: 900;
    letter-spacing: .16em;
}
.anime-intro-prologue > strong {
    max-width: 8ch;
    color: var(--anime-paper);
    font-size: clamp(3.5rem, 10vw, 10rem);
    line-height: .78;
    letter-spacing: -.075em;
    text-shadow: .045em .045em 0 var(--anime-ink);
    transform: skewX(-8deg);
}
.anime-intro.is-playing .anime-intro-prologue {
    animation: anime-intro-prologue 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro-awakening {
    position: absolute;
    z-index: 5;
    inset: 0;
    opacity: 0;
    will-change: transform, opacity;
}
.anime-intro-kanji {
    position: absolute;
    top: 50%;
    left: 50%;
    color: var(--anime-paper);
    font-family: "Arial Black", Impact, sans-serif;
    font-size: min(63vmin, 720px);
    font-weight: 950;
    line-height: .7;
    text-shadow: .035em .035em 0 var(--anime-red), .07em .07em 0 var(--anime-ink);
}
.anime-intro-callout {
    position: absolute;
    right: 7vw;
    bottom: 8vh;
    padding: 1.1rem 1.35rem;
    color: var(--anime-paper);
    border: clamp(3px, .4vw, 7px) solid var(--anime-paper);
    background: var(--anime-red);
    font-size: clamp(1.4rem, 4.2vw, 4.4rem);
    font-weight: 950;
    line-height: .8;
    letter-spacing: -.045em;
    text-align: right;
    transform: rotate(-4deg) skewX(-7deg);
    box-shadow: .16em .16em 0 var(--anime-ink);
}
.anime-intro.is-playing .anime-intro-awakening {
    animation: anime-intro-awakening 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro-title {
    position: absolute;
    z-index: 7;
    inset: 0;
    opacity: 0;
    transform: rotate(-3deg);
}
.anime-intro-title > span {
    position: absolute;
    display: block;
    font-weight: 950;
    will-change: transform, opacity;
}
.anime-intro-title-ten {
    top: 50%;
    left: 50%;
    color: var(--anime-red);
    font-size: min(64vw, 920px);
    line-height: .62;
    letter-spacing: -.12em;
    text-shadow: .018em .018em 0 var(--anime-paper), .04em .04em 0 var(--anime-ink);
}
.anime-intro-title-works {
    top: 31%;
    left: 50%;
    padding: .04em .13em .09em;
    color: var(--anime-ink);
    background: var(--anime-paper);
    font-size: clamp(3.6rem, 12.5vw, 12rem);
    line-height: .76;
    letter-spacing: -.07em;
    box-shadow: .08em .08em 0 var(--anime-red);
}
.anime-intro-title-of {
    top: 54%;
    left: 27%;
    color: var(--anime-paper);
    font-size: clamp(3.2rem, 9vw, 9rem);
    line-height: .75;
    letter-spacing: -.08em;
    text-shadow: .06em .06em 0 var(--anime-red);
}
.anime-intro-title-perfect {
    top: 49%;
    right: 18%;
    color: var(--anime-paper);
    font-size: clamp(5rem, 17vw, 17rem);
    line-height: .7;
    letter-spacing: -.1em;
    -webkit-text-stroke: clamp(2px, .35vw, 6px) var(--anime-ink);
    text-shadow: .045em .045em 0 var(--anime-red);
}
.anime-intro-title-strike {
    top: 69%;
    left: 13%;
    width: 74%;
    height: clamp(8px, 1.25vw, 20px);
    background: var(--anime-red);
    box-shadow: 0 .45em 0 var(--anime-paper);
    transform-origin: left center;
}
.anime-intro-title-tagline {
    top: 78%;
    left: 50%;
    width: max-content;
    color: var(--anime-paper);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: clamp(.7rem, 1.45vw, 1.22rem);
    font-weight: 950;
    letter-spacing: .22em;
}
.anime-intro.is-playing .anime-intro-title {
    animation: anime-intro-title-scene 6.8s steps(1, end) forwards;
}
.anime-intro.is-playing .anime-intro-title-ten {
    animation: anime-intro-title-ten 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro.is-playing .anime-intro-title-works {
    animation: anime-intro-title-works 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro.is-playing .anime-intro-title-of {
    animation: anime-intro-title-of 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro.is-playing .anime-intro-title-perfect {
    animation: anime-intro-title-perfect 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro.is-playing .anime-intro-title-strike {
    animation: anime-intro-title-strike 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro.is-playing .anime-intro-title-tagline {
    animation: anime-intro-title-tagline 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro-impact {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    width: 82vmin;
    aspect-ratio: 1;
    background: var(--anime-red);
    clip-path: polygon(50% 0, 57% 35%, 72% 8%, 70% 39%, 100% 25%, 77% 46%, 99% 55%, 75% 57%, 91% 86%, 65% 65%, 58% 100%, 51% 67%, 32% 94%, 40% 62%, 5% 75%, 31% 53%, 0 43%, 34% 45%, 17% 14%, 43% 37%);
    opacity: 0;
    will-change: transform, opacity;
}
.anime-intro.is-playing .anime-intro-impact {
    animation: anime-intro-impact 6.8s cubic-bezier(.16, 1, .3, 1) forwards;
}
.anime-intro-flash {
    position: absolute;
    z-index: 11;
    inset: 0;
    background: var(--anime-paper);
    opacity: 0;
    pointer-events: none;
    will-change: opacity;
}
.anime-intro.is-playing .anime-intro-flash {
    animation: anime-intro-flash 6.8s steps(1, end) forwards;
}
.anime-intro-skip {
    position: absolute;
    z-index: 12;
    top: max(24px, env(safe-area-inset-top));
    right: max(24px, env(safe-area-inset-right));
    min-height: 44px;
    padding: 0 15px;
    border: 2px solid var(--anime-paper);
    border-radius: 0;
    color: var(--anime-paper);
    background: rgba(20, 20, 22, .82);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 5px 5px 0 var(--anime-red);
    transition: transform .14s ease, color .14s ease, background .14s ease;
}
.anime-intro-skip:hover {
    color: var(--anime-ink);
    background: var(--anime-paper);
    transform: translate(-2px, -2px);
}
.anime-intro-skip:active { transform: translate(3px, 3px); }

@keyframes anime-intro-exit {
    0%, 91% { opacity: 1; }
    94% { opacity: .98; }
    100% { opacity: 0; }
}
@keyframes anime-intro-frame {
    0%, 5%, 19%, 34%, 50%, 90% { opacity: 0; transform: scale(1.04); }
    6%, 18%, 35%, 49%, 65%, 89% { opacity: 1; transform: scale(1); }
    66%, 100% { opacity: 0; transform: scale(1.08); }
}
@keyframes anime-intro-camera {
    0% { transform: scale(1) rotate(0); }
    18% { transform: scale(1.09) rotate(-.7deg); }
    20% { transform: scale(.96) rotate(.6deg); }
    38% { transform: scale(1.16) rotate(-1deg); }
    40% { transform: scale(.93) rotate(.7deg); }
    68% { transform: scale(1.04) rotate(0); }
    88% { transform: scale(1.1) rotate(-.3deg); }
    100% { transform: scale(1.48) rotate(1.2deg); }
}
@keyframes anime-intro-sun {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(.02) rotate(-35deg); }
    7% { opacity: 1; transform: translate(-50%, -50%) scale(.84) rotate(0); }
    18% { opacity: 1; transform: translate(-50%, -50%) scale(1.08) rotate(8deg); }
    21% { opacity: 0; transform: translate(-50%, -50%) scale(2.7) rotate(16deg); }
    37% { opacity: 0; transform: translate(-50%, -50%) scale(.1) rotate(-20deg); }
    41% { opacity: 1; transform: translate(-50%, -50%) scale(.7) rotate(0); }
    69% { opacity: .94; transform: translate(-50%, -50%) scale(1.2) rotate(16deg); }
    90% { opacity: .45; transform: translate(-50%, -50%) scale(2.4) rotate(28deg); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(4.5) rotate(42deg); }
}
@keyframes anime-intro-halftone {
    0%, 17% { opacity: 0; transform: translate3d(-5%, 4%, 0) rotate(-12deg) scale(1.2); }
    20% { opacity: .42; transform: translate3d(0, 0, 0) rotate(-12deg) scale(1.1); }
    38% { opacity: .16; transform: translate3d(4%, -3%, 0) rotate(-9deg) scale(1.25); }
    42% { opacity: .55; transform: translate3d(-2%, 3%, 0) rotate(-16deg) scale(1.05); }
    86% { opacity: .34; transform: translate3d(5%, -4%, 0) rotate(-8deg) scale(1.32); }
    100% { opacity: 0; transform: translate3d(9%, -8%, 0) rotate(-4deg) scale(1.7); }
}
@keyframes anime-intro-speedlines {
    0%, 16% { opacity: 0; transform: rotate(0) scale(.45); }
    19% { opacity: .6; transform: rotate(7deg) scale(.82); }
    38% { opacity: .12; transform: rotate(20deg) scale(1.5); }
    42% { opacity: .8; transform: rotate(27deg) scale(.68); }
    78% { opacity: .55; transform: rotate(65deg) scale(1.18); }
    91% { opacity: .92; transform: rotate(82deg) scale(.56); }
    100% { opacity: 0; transform: rotate(112deg) scale(2.2); }
}
@keyframes anime-intro-ring-one {
    0%, 15% { opacity: 0; transform: translate(-50%, -50%) scale(.2) rotate(-30deg); }
    19% { opacity: 1; transform: translate(-50%, -50%) scale(1.1) rotate(0); }
    23% { opacity: 0; transform: translate(-50%, -50%) scale(3.6) rotate(20deg); }
    63% { opacity: 0; transform: translate(-50%, -50%) scale(.1) rotate(-20deg); }
    67% { opacity: .8; transform: translate(-50%, -50%) scale(1.2) rotate(0); }
    76% { opacity: 0; transform: translate(-50%, -50%) scale(4.4) rotate(25deg); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(4.4) rotate(25deg); }
}
@keyframes anime-intro-ring-two {
    0%, 35% { opacity: 0; transform: translate(-50%, -50%) scale(2.8) rotate(40deg); }
    39% { opacity: .9; transform: translate(-50%, -50%) scale(1) rotate(0); }
    45% { opacity: 0; transform: translate(-50%, -50%) scale(.15) rotate(-30deg); }
    84% { opacity: 0; transform: translate(-50%, -50%) scale(.2) rotate(-20deg); }
    89% { opacity: 1; transform: translate(-50%, -50%) scale(1.3) rotate(0); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(5) rotate(30deg); }
}
@keyframes anime-intro-slash {
    0% { opacity: 0; transform: translate3d(-120%, 0, 0) rotate(var(--slash-angle)) skewX(-22deg); }
    10% { opacity: 1; }
    88% { opacity: 1; }
    100% { opacity: 0; transform: translate3d(120%, 0, 0) rotate(var(--slash-angle)) skewX(-22deg); }
}
@keyframes anime-intro-prologue {
    0% { opacity: 0; transform: translate3d(-14%, 0, 0) scale(1.08); }
    5% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
    16% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.02); }
    20% { opacity: 0; transform: translate3d(22%, 0, 0) scale(1.25); }
    100% { opacity: 0; transform: translate3d(22%, 0, 0) scale(1.25); }
}
@keyframes anime-intro-awakening {
    0%, 19% { opacity: 0; transform: scale(5.5) rotate(-18deg); }
    23% { opacity: 1; transform: scale(.82) rotate(2deg); }
    27% { opacity: 1; transform: scale(1.08) rotate(-1deg); }
    36% { opacity: 1; transform: scale(1) rotate(0); }
    40% { opacity: 0; transform: scale(2.4) rotate(9deg); }
    100% { opacity: 0; transform: scale(2.4) rotate(9deg); }
}
@keyframes anime-intro-title-scene {
    0%, 40% { opacity: 0; }
    41%, 90% { opacity: 1; }
    91%, 100% { opacity: 0; }
}
@keyframes anime-intro-title-ten {
    0%, 39% { opacity: 0; transform: translate(-50%, -50%) scale(7) rotate(-25deg); }
    44% { opacity: .34; transform: translate(-50%, -50%) scale(.92) rotate(2deg); }
    78% { opacity: .42; transform: translate(-50%, -50%) scale(1.08) rotate(5deg); }
    90% { opacity: .55; transform: translate(-50%, -50%) scale(1.3) rotate(8deg); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(3) rotate(16deg); }
}
@keyframes anime-intro-title-works {
    0%, 42% { opacity: 0; transform: translate(-145%, -50%) skewX(-12deg); }
    49% { opacity: 1; transform: translate(-50%, -50%) skewX(-8deg); }
    88% { opacity: 1; transform: translate(-50%, -50%) skewX(-8deg); }
    100% { opacity: 0; transform: translate(85%, -50%) skewX(-8deg); }
}
@keyframes anime-intro-title-of {
    0%, 47% { opacity: 0; transform: translate3d(-90vw, 40vh, 0) rotate(-16deg); }
    54% { opacity: 1; transform: translate3d(0, 0, 0) rotate(-6deg); }
    89% { opacity: 1; transform: translate3d(0, 0, 0) rotate(-6deg); }
    100% { opacity: 0; transform: translate3d(-35vw, -30vh, 0) rotate(-18deg); }
}
@keyframes anime-intro-title-perfect {
    0%, 50% { opacity: 0; transform: translate3d(90vw, -50vh, 0) rotate(24deg) scale(1.8); }
    57% { opacity: 1; transform: translate3d(0, 0, 0) rotate(5deg) scale(1); }
    89% { opacity: 1; transform: translate3d(0, 0, 0) rotate(5deg) scale(1); }
    100% { opacity: 0; transform: translate3d(40vw, 20vh, 0) rotate(20deg) scale(2); }
}
@keyframes anime-intro-title-strike {
    0%, 58% { opacity: 0; transform: scaleX(0) rotate(-2deg); }
    63% { opacity: 1; transform: scaleX(1) rotate(-2deg); }
    89% { opacity: 1; transform: scaleX(1) rotate(-2deg); }
    100% { opacity: 0; transform: scaleX(1.7) rotate(-5deg); }
}
@keyframes anime-intro-title-tagline {
    0%, 62% { opacity: 0; transform: translate(-50%, 70px) scale(.85); }
    68% { opacity: 1; transform: translate(-50%, 0) scale(1); }
    88% { opacity: 1; transform: translate(-50%, 0) scale(1); }
    100% { opacity: 0; transform: translate(-50%, -80px) scale(1.15); }
}
@keyframes anime-intro-impact {
    0%, 17% { opacity: 0; transform: translate(-50%, -50%) scale(.02) rotate(-45deg); }
    19% { opacity: 1; transform: translate(-50%, -50%) scale(1.2) rotate(0); }
    22% { opacity: 0; transform: translate(-50%, -50%) scale(3.2) rotate(28deg); }
    37% { opacity: 0; transform: translate(-50%, -50%) scale(.02) rotate(-40deg); }
    39% { opacity: .9; transform: translate(-50%, -50%) scale(.9) rotate(5deg); }
    42% { opacity: 0; transform: translate(-50%, -50%) scale(2.7) rotate(30deg); }
    86% { opacity: 0; transform: translate(-50%, -50%) scale(.02) rotate(-30deg); }
    90% { opacity: 1; transform: translate(-50%, -50%) scale(1.45) rotate(8deg); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(5.2) rotate(42deg); }
}
@keyframes anime-intro-flash {
    0%, 17%, 20%, 36%, 39%, 62%, 64%, 88% { opacity: 0; }
    18%, 37%, 63% { opacity: .94; }
    89% { opacity: 1; }
    92% { opacity: 0; }
    100% { opacity: 0; }
}

@media (max-width: 700px) {
    .anime-intro::after { inset: 8px; }
    .anime-intro-prologue { align-content: end; padding: 14vh 7vw; }
    .anime-intro-prologue::before { inset: -20% 20% -20% -55%; }
    .anime-intro-prologue > strong { font-size: clamp(3.4rem, 18vw, 6.4rem); }
    .anime-intro-callout { right: 5vw; bottom: 13vh; font-size: clamp(1.5rem, 9vw, 3.4rem); }
    .anime-intro-title-ten { font-size: min(108vw, 720px); }
    .anime-intro-title-works { top: 35%; font-size: clamp(3.3rem, 19vw, 7rem); }
    .anime-intro-title-of { top: 54%; left: 10%; font-size: clamp(3.4rem, 16vw, 6rem); }
    .anime-intro-title-perfect { top: 53%; right: 7%; font-size: clamp(5.5rem, 30vw, 10rem); }
    .anime-intro-title-strike { top: 71%; left: 7%; width: 86%; }
    .anime-intro-title-tagline { top: 79%; max-width: 88vw; font-size: .68rem; letter-spacing: .13em; text-align: center; }
    .anime-intro-skip { top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); }
}

@media (prefers-reduced-motion: reduce) {
    .anime-intro { display: none !important; }
}
