:root {
  --ink: #14203d;
  --navy: #132451;
  --navy-soft: #21386e;
  --blue: #315fba;
  --red: #c8473d;
  --jade: #268466;
  --amber: #d79624;
  --paper: #f5f7fb;
  --white: #ffffff;
  --line: #e1e6ef;
  --muted: #788197;
  --shadow: 0 18px 50px rgba(25, 41, 81, .09);
  --radius: 16px;
}

/* School organization and Excel operations */
.excel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 12px; padding: 14px 18px; border: 1px solid #dbe5ea; border-left: 4px solid #2c7b82; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(23,63,96,.05); }
.excel-toolbar > span strong, .excel-toolbar > span small { display: block; }
.excel-toolbar > span strong { color: #173f60; }
.excel-toolbar > span small { margin-top: 3px; color: #788b97; font-size: 11px; }
.excel-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
.school-org-banner { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 22px; padding: 28px 30px; color: #fff; background: linear-gradient(118deg, #142f4c, #1c526b 70%, #2a7c7c); border-radius: 12px; box-shadow: 0 18px 42px rgba(20,47,76,.16); }
.school-org-banner > div > span { color: #8ed8d4; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.school-org-banner h2 { margin: 6px 0; font-family: "STKaiti", "KaiTi", serif; font-size: 28px; }
.school-org-banner p { max-width: 620px; margin: 0; color: #c7dce4; line-height: 1.65; }
.school-org-banner dl { display: flex; gap: 26px; margin: 0; }
.school-org-banner dl div { min-width: 74px; padding-left: 18px; border-left: 1px solid rgba(255,255,255,.22); }
.school-org-banner dt { color: #bdd3dc; font-size: 11px; }
.school-org-banner dd { margin: 4px 0 0; font: 700 27px Consolas, monospace; }
.org-class-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.org-class-card { padding: 0; overflow: hidden; }
.org-class-card.inactive { opacity: .72; }
.org-class-card > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 24px 14px; }
.org-class-card > header span:first-child { color: #2c7b82; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.org-class-card h2 { margin: 4px 0 0; color: #173b55; font-family: "STKaiti", "KaiTi", serif; font-size: 23px; }
.org-class-metrics { display: flex; gap: 1px; background: #dfe7eb; }
.org-class-metrics span { flex: 1; padding: 13px 24px; background: #f7fafb; }
.org-class-metrics strong, .org-class-metrics small { display: block; }
.org-class-metrics strong { color: #1b5265; font-size: 20px; }
.org-class-metrics small { margin-top: 2px; color: #80909a; }
.org-class-card > section { padding: 18px 24px; }
.org-admin-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.org-admin-head > strong { color: #365266; font-size: 13px; }
.org-admin-row { width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border: 0; border-top: 1px solid #e7edef; background: transparent; text-align: left; }
.org-admin-row > span:nth-child(2) strong, .org-admin-row > span:nth-child(2) small { display: block; }
.org-admin-row > span:nth-child(2) small { margin-top: 2px; color: #81909a; font-size: 10px; }
.org-empty { margin: 10px 0 0; color: #8a98a1; font-size: 12px; }
.org-class-card > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 24px; border-top: 1px solid #e5ecef; background: #f8fafb; }

/* School account batch issuance */
.batch-quota-panel { overflow: hidden; padding: 0; }
.batch-quota-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: 30px 32px 24px; color: #fff; background: linear-gradient(120deg, #102944, #173f60 72%, #276e82); }
.batch-quota-head span, .ledger-title span { display: block; margin-bottom: 8px; color: #77d5d3; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.batch-quota-head h2, .ledger-title h2 { margin: 0; font-family: "STKaiti", "KaiTi", serif; font-size: 27px; }
.batch-quota-head p { max-width: 650px; margin: 8px 0 0; color: #c5d7e4; line-height: 1.7; }
.batch-quota-head > div:last-child { min-width: 118px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.2); }
.batch-quota-head > div:last-child small, .batch-quota-head > div:last-child span { margin: 0; color: #b9d0dd; font-size: 12px; letter-spacing: 0; }
.batch-quota-head > div:last-child strong { display: block; margin: 3px 0; color: #fff; font-family: "STKaiti", "KaiTi", serif; font-size: 36px; }
.quota-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; background: #dfe7ec; }
.quota-grid > label { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 88px; padding: 18px 28px; background: #fff; }
.quota-grid > label > span:first-child strong, .quota-grid > label > span:first-child small { display: block; }
.quota-grid > label > span:first-child strong { color: #16334c; font-size: 16px; }
.quota-grid > label > span:first-child small { margin-top: 4px; color: #81909c; }
.quota-input { display: flex; align-items: center; overflow: hidden; border: 1px solid #ccd8df; border-radius: 7px; background: #f7fafb; }
.quota-input input { width: 82px; padding: 10px 8px 10px 14px; border: 0; outline: 0; color: #14334e; background: transparent; font: 700 18px "Microsoft YaHei UI", sans-serif; text-align: right; }
.quota-input em { padding: 0 13px 0 4px; color: #6f818e; font-size: 12px; font-style: normal; }
.batch-submit-bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 28px; border-top: 1px solid #e3eaee; background: #f7fafb; }
.batch-submit-bar p { margin: 0; }
.batch-submit-bar p strong, .batch-submit-bar p span { display: block; }
.batch-submit-bar p strong { color: #23445c; }
.batch-submit-bar p span { margin-top: 3px; color: #7b8c98; font-size: 12px; }
.account-batch-ledger { margin-top: 34px; }
.ledger-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.ledger-title span { color: #2b7b83; }
.ledger-title p { max-width: 440px; margin: 0; color: #778895; font-size: 13px; text-align: right; }
.account-batch-card { margin-bottom: 18px; padding: 0; overflow: hidden; border-left: 4px solid #d7a744; }
.account-batch-card.approved { border-left-color: #2e8c74; }
.account-batch-card.rejected { border-left-color: #b85d58; }
.account-batch-card > header { display: flex; justify-content: space-between; gap: 20px; padding: 24px 28px 18px; }
.account-batch-card > header span.mono { color: #82929d; font-size: 11px; }
.account-batch-card > header h2 { margin: 5px 0; color: #173750; font-family: "STKaiti", "KaiTi", serif; font-size: 21px; }
.account-batch-card > header p { margin: 0; color: #7c8c97; font-size: 12px; }
.batch-quota-summary { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 28px 18px; }
.batch-quota-summary span { display: inline-flex; gap: 10px; padding: 8px 11px; border: 1px solid #dce5ea; border-radius: 5px; background: #f7fafb; color: #29485e; }
.batch-quota-summary em { color: #28757c; font-style: normal; font-weight: 800; }
.batch-flow-line { display: grid; grid-template-columns: 110px 1fr auto; gap: 14px; align-items: center; padding: 14px 28px; border-top: 1px solid #e6ecef; background: #f8fafb; }
.batch-flow-line > span { color: #7d8d99; font-size: 12px; }
.batch-flow-line > strong { color: #203f56; }
.batch-flow-line > small { color: #657b89; }
.batch-review-note { display: flex; gap: 18px; padding: 14px 28px; border-top: 1px solid #e6ecef; color: #617783; font-size: 13px; }
.batch-review-note strong { color: #2e4d62; }
.credential-sheet { border-top: 1px solid #d9e5e6; background: #f1f7f6; }
.credential-sheet > header { display: flex; align-items: center; justify-content: space-between; padding: 18px 28px; }
.credential-sheet > header strong, .credential-sheet > header span { display: block; }
.credential-sheet > header strong { color: #1e594f; font-family: "STKaiti", "KaiTi", serif; font-size: 18px; }
.credential-sheet > header span { margin-top: 3px; color: #718985; font-size: 12px; }
.credential-sheet table { background: #fff; }
.credential-password { color: #8b5222; font-weight: 800; }
.flow-batch-snapshot { margin-bottom: 20px; padding: 20px; border: 1px solid #dbe7e8; border-radius: 9px; background: #f3f8f8; }
.flow-batch-snapshot header { display: flex; align-items: flex-end; justify-content: space-between; }
.flow-batch-snapshot header span { color: #378286; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.flow-batch-snapshot h3 { margin: 4px 0 0; color: #183e53; }
.flow-batch-snapshot header b { color: #2f7778; }
.flow-batch-snapshot > div { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 10px; }
.flow-batch-snapshot > div span { padding: 8px 11px; border: 1px solid #d2e1e2; border-radius: 5px; background: #fff; }
.flow-batch-snapshot > div strong, .flow-batch-snapshot > div small { display: block; }
.flow-batch-snapshot > div small, .flow-batch-snapshot > p { color: #70858b; font-size: 12px; }
.flow-batch-snapshot > p { margin: 0; }

@media (max-width: 760px) {
  .excel-toolbar, .school-org-banner { align-items: stretch; flex-direction: column; }
  .school-org-banner dl { justify-content: space-between; }
  .org-class-grid { grid-template-columns: 1fr; }
  .batch-quota-head, .batch-submit-bar, .ledger-title { align-items: stretch; flex-direction: column; }
  .batch-quota-head > div:last-child { padding: 16px 0 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .quota-grid { grid-template-columns: 1fr; }
  .batch-flow-line { grid-template-columns: 1fr; gap: 4px; }
  .ledger-title p { text-align: left; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); font-family: "Microsoft YaHei UI", "PingFang SC", "Noto Sans CJK SC", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
svg { width: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(49, 95, 186, .25); outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .5; }
.boot-screen { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--navy); }
.boot-screen strong { font-family: "STKaiti", "KaiTi", serif; font-size: 32px; letter-spacing: 8px; }
.boot-screen span:last-child { color: var(--muted); font-size: 12px; }

.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand > span:last-child { display: grid; }
.brand strong { font-family: "STKaiti", "KaiTi", serif; font-size: 25px; letter-spacing: 5px; line-height: 1; }
.brand small { margin-top: 5px; color: #7e8db5; font-family: Consolas, monospace; font-size: 8px; letter-spacing: 1.8px; }
.brand-symbol { position: relative; width: 36px; height: 36px; display: inline-grid; place-items: center; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 50%; transform: rotate(-9deg); }
.brand-symbol i { position: absolute; width: 21px; height: 2px; border-radius: 3px; background: currentColor; }
.brand-symbol i:first-child { width: 13px; transform: translateY(-6px); }
.brand-symbol i:last-child { width: 9px; transform: translateY(6px); }
.solid-button, .ghost-button, .text-button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 17px; border-radius: 9px; font-size: 12px; font-weight: 700; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.solid-button { border: 1px solid var(--navy); color: #fff; background: var(--navy); box-shadow: 0 8px 20px rgba(19, 36, 81, .16); }
.solid-button:hover:not(:disabled) { transform: translateY(-1px); background: var(--navy-soft); }
.solid-button svg, .ghost-button svg { width: 15px; }
.ghost-button { border: 1px solid var(--line); color: #525d75; background: #fff; }
.ghost-button:hover { border-color: #b9c1d1; color: var(--navy); }
.text-button { border: 0; color: var(--navy); background: transparent; }
.large { min-height: 48px; padding: 0 21px; }
.overline { margin: 0; color: #8c96ae; font-family: Consolas, ui-monospace, monospace; font-size: 10px; font-weight: 700; letter-spacing: 2px; }
.status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 6px; font-size: 10px; font-style: normal; font-weight: 700; white-space: nowrap; }
.status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-open, .status-published, .status-visible, .status-approved, .status-paid { color: #247a5c; background: #e3f3ed; }
.status-pending, .status-upcoming, .status-unpaid { color: #9b6817; background: #fff1d3; }
.status-rejected, .status-closed { color: #af443d; background: #fbe6e4; }
.status-draft, .status-hidden { color: #6d7589; background: #eef0f4; }
.exam-code { color: #6f7b98; font-family: Consolas, monospace; font-size: 10px; letter-spacing: .8px; }

/* Public site */
.public-header { position: sticky; top: 0; z-index: 30; height: 76px; border-bottom: 1px solid rgba(225, 230, 239, .85); background: rgba(255, 255, 255, .9); backdrop-filter: blur(18px); }
.public-nav { width: min(1180px, calc(100% - 48px)); height: 100%; display: flex; align-items: center; gap: 34px; margin: auto; }
.public-nav nav { display: flex; gap: 29px; margin-left: 35px; }
.public-nav nav a { position: relative; color: #596278; font-size: 12px; font-weight: 600; }
.public-nav nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px; background: var(--red); transition: right .18s; }
.public-nav nav a:hover { color: var(--navy); }
.public-nav nav a:hover::after { right: 0; }
.nav-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.mobile-menu { display: none; width: 39px; height: 39px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.public-main { overflow: hidden; }
.hero { position: relative; min-height: 660px; display: grid; align-items: center; background-color: #f7f8fb; background-image: linear-gradient(rgba(19,36,81,.025) 1px, transparent 1px), linear-gradient(90deg,rgba(19,36,81,.025) 1px,transparent 1px); background-size: 28px 28px; }
.hero::before { content: ""; position: absolute; width: 600px; height: 600px; right: -340px; top: -250px; border: 1px solid rgba(19,36,81,.07); border-radius: 50%; box-shadow: 0 0 0 80px rgba(19,36,81,.02), 0 0 0 160px rgba(19,36,81,.015); }
.hero-grid { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: minmax(0,1fr) minmax(470px,.88fr); align-items: center; gap: 75px; margin: auto; padding: 70px 0 90px; }
.notice-ticker { width: fit-content; max-width: 100%; display: flex; align-items: center; gap: 9px; margin-bottom: 39px; padding: 6px 10px 6px 6px; border: 1px solid #e0e5ef; border-radius: 7px; background: #fff; box-shadow: 0 6px 20px rgba(22, 38, 77, .04); }
.notice-ticker span { padding: 3px 7px; border-radius: 4px; color: #fff; background: var(--red); font-size: 9px; }
.notice-ticker button { max-width: 330px; overflow: hidden; border: 0; color: #5e687f; background: transparent; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.hero-copy h1 { margin: 15px 0 21px; font-family: "STKaiti", "KaiTi", serif; font-size: clamp(46px, 5vw, 68px); font-weight: 400; line-height: 1.18; letter-spacing: 1px; }
.hero-copy h1 em { color: var(--navy); font-style: normal; }
.hero-copy h1 em::after { content: ""; width: 54px; height: 5px; display: inline-block; margin-left: 14px; border-radius: 5px; background: var(--red); vertical-align: middle; transform: rotate(-3deg); }
.hero-lead { max-width: 540px; margin: 0; color: #697389; font-size: 14px; line-height: 1.9; }
.hero-actions { display: flex; gap: 10px; margin-top: 30px; }
.hero-stats { display: flex; gap: 40px; margin-top: 45px; }
.hero-stats div { display: grid; gap: 3px; }
.hero-stats strong { font-family: Georgia, serif; font-size: 26px; font-weight: 500; }
.hero-stats span { color: #8790a4; font-size: 10px; }
.hero-ticket { position: relative; display: grid; grid-template-columns: 1fr 105px; border-radius: 18px; color: #fff; background: var(--navy); box-shadow: 0 30px 70px rgba(19,36,81,.25); transform: rotate(1.7deg); }
.hero-ticket::before, .hero-ticket::after { content: ""; position: absolute; z-index: 2; right: 93px; width: 24px; height: 24px; border-radius: 50%; background: var(--paper); }
.hero-ticket::before { top: -12px; }.hero-ticket::after { bottom: -12px; }
.ticket-main { position: relative; padding: 31px 31px 28px; overflow: hidden; }
.ticket-main::after { content: "准"; position: absolute; right: -18px; bottom: -66px; color: rgba(255,255,255,.035); font-family: "STKaiti",serif; font-size: 210px; }
.ticket-main header { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.ticket-main header .status { color: #f6b1aa; background: rgba(200,71,61,.18); }
.ticket-main header small { color: #95a2c6; font-family: Consolas,monospace; font-size: 9px; }
.ticket-main > p { margin: 37px 0 7px; color: #7383b2; font-family: Consolas,monospace; font-size: 9px; letter-spacing: 1.7px; }
.ticket-main h2 { position: relative; z-index: 1; margin: 0 0 24px; font-family: "STKaiti",serif; font-size: 26px; font-weight: 400; letter-spacing: 1px; }
.ticket-main dl { position: relative; z-index: 1; display: grid; gap: 12px; margin: 0; }
.ticket-main dl div { display: grid; grid-template-columns: 70px 1fr; align-items: baseline; gap: 10px; }
.ticket-main dt { color: #8492ba; font-size: 9px; }
.ticket-main dd { margin: 0; color: #dce2f3; font-size: 11px; }
.subject-chips { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 5px; margin-top: 24px; }
.subject-chips span { padding: 5px 8px; border: 1px solid rgba(255,255,255,.13); border-radius: 5px; color: #bac4e2; font-size: 9px; }
.ticket-stub { position: relative; display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 7px; border-left: 1px dashed rgba(255,255,255,.2); text-align: center; }
.ticket-stub span { color: #8290b9; font-size: 8px; }.ticket-stub strong { font-family: Georgia,serif; font-size: 30px; font-weight: 400; }
.ticket-stub i { width: 1px; height: 30px; background: rgba(255,255,255,.16); }
.ticket-stub button { border: 0; color: #fff; background: transparent; font-size: 10px; writing-mode: vertical-rl; letter-spacing: 2px; }
.content-section { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 90px 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 35px; }
.section-heading h2 { margin: 7px 0 0; font-family: "STKaiti",serif; font-size: 35px; font-weight: 400; }
.section-heading > p { max-width: 450px; margin: 0; color: #7d8698; font-size: 12px; line-height: 1.8; text-align: right; }
.notice-layout { display: grid; grid-template-columns: .85fr 1.3fr; gap: 18px; }
.featured-notice { min-height: 310px; display: flex; flex-direction: column; padding: 30px; border-radius: var(--radius); color: #fff; background: var(--navy); box-shadow: var(--shadow); }
.featured-notice > span { width: fit-content; padding: 4px 8px; border-radius: 4px; color: #ffd0cb; background: rgba(200,71,61,.22); font-size: 9px; }
.featured-notice h3 { margin: 28px 0 13px; font-family: "STKaiti",serif; font-size: 25px; font-weight: 400; line-height: 1.5; }
.featured-notice p { margin: 0; color: #aeb9d6; font-size: 11px; line-height: 1.9; }
.featured-notice footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.featured-notice time { color: #8593ba; font-size: 9px; }.featured-notice button { display: flex; align-items: center; gap: 6px; border: 0; color: #fff; background: transparent; font-size: 10px; }.featured-notice button svg { width: 14px; }
.notice-list { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 9px 30px rgba(23,39,76,.045); overflow: hidden; }
.notice-row { width: 100%; min-height: 77px; display: grid; grid-template-columns: 75px 1fr 22px; align-items: center; gap: 12px; padding: 12px 20px; border: 0; border-bottom: 1px solid #edf0f5; color: var(--ink); background: #fff; text-align: left; transition: background .15s; }
.notice-row:last-child { border-bottom: 0; }.notice-row:hover { background: #fafbfc; }.notice-row time { color: #8b93a5; font-size: 9px; }
.notice-row > span { min-width: 0; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 9px; }.notice-row em { padding: 3px 5px; border-radius: 4px; color: var(--red); background: #fbe9e7; font-size: 8px; font-style: normal; }.notice-row strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.notice-row small { grid-column: 1/-1; overflow: hidden; color: #8c94a5; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.notice-row > svg { color: #9da4b3; }
.exam-section { padding-top: 40px; }
.public-exam-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.public-exam-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .2s, box-shadow .2s; }
.public-exam-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }.public-exam-card header { display: flex; justify-content: space-between; }
.public-exam-card h3 { margin: 19px 0 7px; font-family: "STKaiti",serif; font-size: 22px; font-weight: 400; }.public-exam-card > p { min-height: 42px; margin: 0; color: #7d8597; font-size: 10px; line-height: 1.8; }
.exam-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 20px; }.exam-meta span { display: grid; gap: 4px; padding: 10px; border-radius: 7px; background: #f7f8fb; color: #657087; font-size: 9px; }.exam-meta b { color: #9ba2b0; font-size: 8px; font-weight: 500; }
.exam-meta span:last-child:nth-child(3) { grid-column:1/-1; }
.public-exam-card footer { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }.public-exam-card footer > span { color: #8b93a4; font-size: 9px; }.public-exam-card footer button { display: flex; align-items: center; gap: 6px; border: 0; color: var(--navy); background: transparent; font-size: 10px; font-weight: 700; }.public-exam-card footer svg { width: 14px; }
.service-flow { padding: 85px max(24px,calc((100% - 1180px)/2)); color: #fff; background: var(--navy); }
.section-heading.light .overline { color: #7182b2; }.section-heading.light h2 { color: #fff; }.section-heading.light > p { color: #95a2c5; }
.flow-track { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 25px; }.flow-track::before { content:""; position:absolute; top:20px; left:20px; right:20px; height:1px; background:rgba(255,255,255,.13); }.flow-track article { position: relative; }.flow-track article span { width: 41px; height: 41px; display: grid; place-items: center; border: 1px solid #5d6e9e; border-radius: 50%; color: #fff; background: var(--navy); font-family: Georgia,serif; font-size: 11px; }.flow-track article:nth-child(3) span { border-color: var(--red); background: var(--red); box-shadow: 0 0 0 7px rgba(200,71,61,.12); }.flow-track h3 { margin: 19px 0 7px; font-size: 12px; }.flow-track p { margin: 0; color: #8e9abe; font-size: 9px; line-height: 1.7; }
.public-footer { display: flex; align-items: flex-end; justify-content: space-between; padding: 38px max(24px,calc((100% - 1180px)/2)); border-top: 1px solid var(--line); background: #fff; }.public-footer > div { display: grid; gap: 13px; }.public-footer p,.public-footer > span { margin:0; color:#858d9e; font-size:9px; }.public-footer .public-contact-detail { color:#9aa1af; }

/* Authentication */
.auth-page { min-height: 100vh; display: grid; grid-template-columns: .9fr 1.1fr; background: #fff; }
.auth-story { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 55px max(45px,8vw) 50px; color: #fff; background-color: var(--navy); background-image: radial-gradient(circle at 20% 85%,rgba(49,95,186,.3),transparent 35%), linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: auto,26px 26px,26px 26px; overflow:hidden; }
.auth-story::after { content:"准"; position:absolute; right:-55px; bottom:-105px; color:rgba(255,255,255,.03); font-family:"STKaiti"; font-size:420px; }.auth-story .brand { color:#fff; }.auth-story .brand small { color:#7e8db9; }.auth-story .overline { margin-top: 110px; color:#6f82b7; }.auth-story h1 { margin:16px 0 20px; font-family:"STKaiti",serif; font-size:clamp(42px,5vw,66px); font-weight:400; line-height:1.22; }.auth-story h1 em { color:#f07b70; font-style:normal; }.auth-story > div > p:last-child { max-width:470px; color:#aab5d4; font-size:12px; line-height:1.9; }.auth-quote { position:relative; z-index:1; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }.auth-quote span { color:#7484b1; font-size:9px; }.auth-quote p { margin:8px 0 0; color:#d4daeb; font-family:"STKaiti"; font-size:18px; }
.auth-panel { display:grid; place-items:center; padding:60px 28px; position:relative; }.back-link { position:absolute; top:28px; right:34px; border:0; color:#778096; background:transparent; font-size:10px; }.auth-card { width:min(480px,100%); }.auth-card h2 { margin:8px 0 7px; font-family:"STKaiti"; font-size:34px; font-weight:400; }.auth-card > p:not(.overline) { margin:0 0 30px; color:#848c9d; font-size:11px; }.stack-form { display:grid; gap:15px; }.stack-form label,.modal-form label,.profile-form label,.result-entry label { display:grid; gap:7px; }.stack-form label > span,.modal-form label > span,.profile-form label > span,.result-entry label > span { color:#555f75; font-size:10px; font-weight:700; }.stack-form input,.stack-form select,.modal-form input,.modal-form select,.modal-form textarea,.profile-form input,.profile-form select,.result-entry input,.result-entry select { width:100%; min-height:44px; padding:10px 12px; border:1px solid #dce1ea; border-radius:8px; color:var(--ink); background:#fff; font-size:11px; outline:0; }.stack-form textarea,.modal-form textarea { resize:vertical; }.stack-form input:focus,.stack-form select:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus,.profile-form input:focus,.profile-form select:focus,.result-entry input:focus,.result-entry select:focus { border-color:#8999c0; box-shadow:0 0 0 3px rgba(49,95,186,.08); }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.region-selects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }.agreement { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:8px !important; color:#767f91; font-size:9px; }.agreement input { width:15px !important; min-height:auto !important; height:15px; }.agreement span { color:#767f91 !important; font-weight:400 !important; }.auth-switch { margin-top:20px; color:#858d9d; font-size:10px; text-align:center; }.auth-switch button { border:0; color:var(--blue); background:transparent; font-weight:700; }.demo-accounts { display:grid; gap:6px; margin-top:25px; padding:14px; border-radius:8px; background:#f5f7fa; }.demo-accounts strong { color:#70798d; font-size:9px; }.demo-accounts button { border:0; color:#6a748a; background:transparent; font-family:Consolas,monospace; font-size:9px; text-align:left; }
.auth-session-notice { display:grid; gap:4px; margin:-12px 0 18px; padding:12px 14px; border-left:3px solid var(--red); border-radius:7px; color:#814b47; background:#fceceb; }.auth-session-notice strong { font-size:10px; }.auth-session-notice span { font-size:9px; line-height:1.7; }

/* Portal shell */
.portal { min-height:100vh; }.portal-sidebar { position:fixed; inset:0 auto 0 0; z-index:35; width:238px; display:flex; flex-direction:column; padding:24px 17px 18px; color:#fff; background:var(--navy); overflow:hidden; }.portal-sidebar::after { content:""; position:absolute; width:260px; height:260px; left:-130px; bottom:-80px; border:1px solid rgba(255,255,255,.06); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.02),0 0 0 90px rgba(255,255,255,.015); }.portal-brand { z-index:1; display:flex; align-items:center; justify-content:space-between; padding:0 9px 22px; border-bottom:1px solid rgba(255,255,255,.1); }.portal-brand .brand { color:#fff; }.portal-brand .brand small { color:#7e8db9; }.portal-brand > button { display:none; border:0; color:#fff; background:transparent; font-size:25px; }.portal-role { margin:20px 12px 9px; color:#6f7fae; font-family:Consolas,monospace; font-size:9px; letter-spacing:1.5px; }.portal-sidebar nav { z-index:1; display:grid; gap:4px; }.portal-sidebar nav button { width:100%; min-height:42px; display:flex; align-items:center; gap:12px; padding:0 13px; border:0; border-radius:8px; color:#aab5d4; background:transparent; font-size:11px; text-align:left; transition:.18s; }.portal-sidebar nav button > span { width:20px; display:grid; place-items:center; }.portal-sidebar nav button svg { width:17px; }.portal-sidebar nav button:hover { color:#fff; background:rgba(255,255,255,.05); }.portal-sidebar nav button.active { color:#fff; background:var(--navy-soft); box-shadow:inset 3px 0 var(--red); }.portal-sidebar nav button em { margin-left:auto; padding:2px 5px; border-radius:8px; color:#fff; background:var(--red); font-size:7px; font-style:normal; }.sidebar-help { z-index:1; display:grid; gap:4px; margin-top:auto; padding:15px 12px; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:rgba(255,255,255,.03); }.sidebar-help span { color:#7484b1; font-size:8px; }.sidebar-help strong { font-family:Consolas,monospace; font-size:11px; }.sidebar-help small { color:#8897bd; font-size:8px; }.portal-main { min-height:100vh; margin-left:238px; }.portal-topbar { height:70px; display:flex; align-items:center; gap:20px; padding:0 30px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.9); backdrop-filter:blur(16px); }.portal-topbar > div:first-of-type { display:flex; gap:8px; align-items:center; font-size:10px; }.portal-topbar > div:first-of-type span,.portal-topbar > div:first-of-type b { color:#9aa1b0; font-weight:400; }.portal-user { display:flex; align-items:center; gap:9px; margin-left:auto; }.portal-user > span:nth-of-type(2) { display:grid; }.portal-user > span strong { font-size:10px; }.portal-user > span small { color:#8c94a6; font-size:8px; }.user-avatar { width:32px; height:32px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; color:#43578b; background:#e4e9f5; font-size:11px; font-weight:700; }.notification-button,.logout-button,.sidebar-toggle { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; color:#687287; background:#fff; }.notification-button { position:relative; }.notification-button i { position:absolute; top:8px; right:8px; width:5px; height:5px; border-radius:50%; background:var(--red); }.notification-button svg,.logout-button svg,.sidebar-toggle svg { width:15px; }.logout-button { border:0; background:transparent; }.sidebar-toggle { display:none; }.portal-content { padding:31px; }.portal-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin-bottom:24px; }.portal-heading h1 { margin:5px 0 5px; font-family:"STKaiti"; font-size:31px; font-weight:400; }.portal-heading > div > p:last-child { margin:0; color:#81899a; font-size:11px; }.heading-status { color:#7f8798; font-size:10px; }.heading-status .status { margin-left:6px; }
.panel { border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 8px 28px rgba(24,40,79,.045); }.panel-title { min-height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 19px; border-bottom:1px solid var(--line); }.panel-title h2 { margin:0; font-family:"STKaiti"; font-size:18px; font-weight:400; }.panel-title > span,.panel-title > button { border:0; color:#8c94a5; background:transparent; font-size:9px; }.loading-panel { min-height:360px; display:grid; place-content:center; justify-items:center; gap:12px; color:#858d9e; }.loading-panel i { width:28px; height:28px; border:2px solid #dce1eb; border-top-color:var(--navy); border-radius:50%; animation:spin .7s linear infinite; }.loading-panel span { font-size:10px; }@keyframes spin{to{transform:rotate(360deg)}}

/* Candidate */
.candidate-welcome { position:relative; min-height:165px; display:flex; align-items:center; justify-content:space-between; padding:28px 32px; border-radius:var(--radius); color:#fff; background:var(--navy); overflow:hidden; }.candidate-welcome::after { content:""; position:absolute; width:360px; height:360px; right:-220px; top:-160px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018); }.candidate-welcome span { color:#8998c1; font-size:9px; }.candidate-welcome h2 { margin:6px 0; font-family:"STKaiti"; font-size:26px; font-weight:400; }.candidate-welcome p { margin:0; color:#abb6d4; font-size:10px; }.welcome-seal { z-index:1; width:70px; height:70px; display:grid; place-items:center; border:3px double #eb7770; border-radius:50%; color:#ef8b84; font-family:"STKaiti"; font-size:20px; line-height:1; text-align:center; transform:rotate(-7deg); }.summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:16px 0; }.summary-grid article { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:10px; padding:17px; border:1px solid var(--line); border-radius:11px; background:#fff; }.summary-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; color:var(--blue); background:#ecf1fc; }.summary-icon svg { width:17px; }.summary-grid article div { display:grid; gap:2px; }.summary-grid article small { color:#8d95a5; font-size:8px; }.summary-grid article strong { font-size:13px; }.summary-grid article > button { border:0; color:var(--blue); background:transparent; font-size:8px; }.candidate-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:16px; }.candidate-progress { display:grid; grid-template-columns:repeat(5,1fr); padding:28px 20px; }.progress-step { position:relative; display:grid; justify-items:center; gap:8px; text-align:center; }.progress-step::before { content:""; position:absolute; top:14px; right:50%; left:-50%; height:2px; background:#e5e9f0; }.progress-step:first-child::before { display:none; }.progress-step i { z-index:1; width:29px; height:29px; display:grid; place-items:center; border:2px solid #dfe3eb; border-radius:50%; color:#9da4b2; background:#fff; font-size:9px; font-style:normal; }.progress-step.done::before,.progress-step.done i { border-color:var(--navy); color:#fff; background:var(--navy); }.progress-step.current i { border-color:var(--red); color:#fff; background:var(--red); box-shadow:0 0 0 5px rgba(200,71,61,.1); }.progress-step div { display:grid; gap:3px; }.progress-step strong { font-size:9px; }.progress-step small { color:#9198a8; font-size:8px; }.compact-notices > button { width:100%; display:grid; grid-template-columns:70px 1fr; gap:8px; padding:15px 18px; border:0; border-bottom:1px solid #edf0f5; color:var(--ink); background:#fff; text-align:left; }.compact-notices > button:last-child { border-bottom:0; }.compact-notices time { color:#9299a9; font-size:8px; }.compact-notices span { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.form-panel { padding:25px; }.form-section-title { display:flex; align-items:center; gap:12px; margin:3px 0 18px; }.form-section-title:not(:first-child) { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }.form-section-title > span { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--navy); font-family:Georgia,serif; font-size:9px; }.form-section-title h2 { margin:0; font-family:"STKaiti"; font-size:18px; font-weight:400; }.form-section-title p { margin:3px 0 0; color:#8d95a5; font-size:8px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.profile-form input,.profile-form select { min-height:42px; }.review-note { margin-top:20px; padding:14px; border-radius:8px; font-size:9px; }.review-note.approved { color:#236f56; background:#e9f5f0; }.review-note.rejected { color:#9a3e38; background:#fcebea; }.review-note strong { display:block; margin-bottom:4px; }.review-note p { margin:0; }.form-actions { display:flex; align-items:center; justify-content:space-between; margin-top:25px; padding-top:18px; border-top:1px solid var(--line); }.form-actions p { margin:0; color:#8d95a5; font-size:9px; }
.exam-application-list { display:grid; gap:17px; }.apply-card { border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 8px 28px rgba(24,40,79,.045); overflow:hidden; }.apply-card > header { display:flex; align-items:center; justify-content:space-between; padding:16px 21px; border-bottom:1px solid var(--line); }.apply-card > header > div { display:flex; align-items:center; gap:9px; }.apply-card > header small { color:#8f96a6; font-size:9px; }.apply-card-main { display:grid; grid-template-columns:.8fr 1.2fr; }.apply-copy { padding:26px; border-right:1px solid var(--line); background:#fafbfc; }.apply-copy h2 { margin:0 0 8px; font-family:"STKaiti"; font-size:23px; font-weight:400; }.apply-copy > p { min-height:35px; margin:0; color:#828a9b; font-size:9px; line-height:1.8; }.apply-copy dl { display:grid; gap:12px; margin:23px 0 0; }.apply-copy dl div { display:grid; gap:4px; }.apply-copy dt { color:#9ba2b0; font-size:8px; }.apply-copy dd { margin:0; color:#596379; font-size:9px; }.subject-selector { padding:22px; }.subject-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }.subject-title strong { font-size:11px; }.subject-title span { color:#8e96a7; font-size:8px; }.subject-options { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }.subject-options label { cursor:pointer; }.subject-options input { position:absolute; opacity:0; }.subject-options label > span { display:grid; grid-template-columns:31px 1fr auto; align-items:center; gap:0 9px; padding:10px; border:1px solid var(--line); border-radius:8px; transition:.15s; }.subject-options label > span > i { grid-row:1/3; width:31px; height:31px; display:grid; place-items:center; border-radius:7px; color:#52658f; background:#e9edf6; font-size:10px; font-style:normal; font-weight:700; }.subject-options b { font-size:9px; }.subject-options small { color:#9299a9; font-size:7px; }.subject-options em { grid-row:1/3; grid-column:3; color:#727c90; font-size:8px; font-style:normal; }.subject-options input:checked + span { border-color:#7f91bd; background:#f2f5fb; box-shadow:inset 0 0 0 1px #7f91bd; }.subject-options input:checked + span > i { color:#fff; background:var(--navy); }.subject-total { display:flex; align-items:center; justify-content:space-between; margin:16px 0 11px; padding-top:12px; border-top:1px solid var(--line); color:#7d8597; font-size:9px; }.subject-total b { color:var(--red); }.subject-total strong { color:var(--ink); font-size:11px; }.subject-selector > .solid-button { width:100%; }.registered-banner { display:flex; align-items:center; gap:8px; margin-top:16px; padding:11px; border-radius:8px; color:#27775b; background:#e7f4ef; font-size:9px; }.registered-banner svg { width:15px; }.registered-banner .status { margin-left:auto; }
.registration-cards { display:grid; gap:15px; }.registration-card { border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; }.registration-card > header { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--line); }.registration-card > header h2 { margin:3px 0 0; font-family:"STKaiti"; font-size:19px; font-weight:400; }.registration-info { display:grid; grid-template-columns:.8fr 1.2fr; }.registration-info > dl { display:grid; gap:13px; margin:0; padding:22px; border-right:1px solid var(--line); background:#fafbfc; }.registration-info dl div { display:grid; gap:3px; }.registration-info dt { color:#969dac; font-size:8px; }.registration-info dd { margin:0; color:#5c667b; font-family:Consolas,monospace; font-size:9px; }.selected-subjects { padding:22px; }.selected-subjects > strong { font-size:10px; }.selected-subjects > div { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }.selected-subjects span { min-width:105px; display:grid; gap:3px; padding:9px; border:1px solid var(--line); border-radius:7px; font-size:9px; }.selected-subjects small { color:#9299aa; font-size:7px; }.registration-card > footer { display:flex; justify-content:space-between; align-items:center; padding:13px 22px; border-top:1px solid var(--line); }.registration-card > footer p { margin:0; color:#818a9c; font-size:8px; }.admit-list { display:grid; gap:18px; }.admit-ticket { position:relative; display:grid; grid-template-columns:1fr 205px; border-radius:var(--radius); color:#fff; background:var(--navy); box-shadow:var(--shadow); overflow:hidden; }.admit-ticket::before,.admit-ticket::after { content:""; position:absolute; right:193px; width:24px; height:24px; border-radius:50%; background:var(--paper); }.admit-ticket::before { top:-12px; }.admit-ticket::after { bottom:-12px; }.admit-main { padding:27px 30px; }.admit-main header { display:flex; justify-content:space-between; }.admit-main header > span { color:#8291ba; font-family:Consolas,monospace; font-size:9px; }.admit-main h2 { margin:16px 0 19px; font-family:"STKaiti"; font-size:23px; font-weight:400; }.admit-number { display:flex; align-items:flex-end; gap:14px; margin-bottom:18px; }.admit-number small { color:#8290b7; font-size:8px; }.admit-number strong { font-family:Consolas,monospace; font-size:18px; letter-spacing:1px; }.admit-main dl { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0; }.admit-main dl div { display:grid; gap:4px; }.admit-main dt { color:#7988b2; font-size:8px; }.admit-main dd { margin:0; color:#d6ddef; font-size:9px; }.admit-stub { display:flex; align-items:center; flex-direction:column; justify-content:center; gap:15px; padding:24px; border-left:1px dashed rgba(255,255,255,.18); text-align:center; }.admit-stub > span { color:#6f7fac; font-family:Consolas,monospace; font-size:8px; letter-spacing:1.5px; }.admit-stub i { width:36px; height:1px; background:rgba(255,255,255,.15); }.admit-stub .solid-button { border-color:#fff; color:var(--navy); background:#fff; box-shadow:none; }.admit-stub small { color:#7e8db6; font-size:7px; }.result-groups { display:grid; gap:16px; }.result-panel { overflow:hidden; }.result-panel > header { display:flex; justify-content:space-between; align-items:center; padding:20px 23px; border-bottom:1px solid var(--line); }.result-panel > header span { color:#7f899f; font-family:Consolas,monospace; font-size:8px; }.result-panel > header h2 { margin:4px 0 0; font-family:"STKaiti"; font-size:21px; font-weight:400; }.result-panel > header small { color:#8c94a4; font-size:8px; }.score-grid { display:grid; grid-template-columns:repeat(5,1fr); }.score-grid article { position:relative; min-height:145px; display:grid; place-content:center; justify-items:center; padding:18px; border-right:1px solid var(--line); }.score-grid article:last-child { border-right:0; }.score-grid span { color:#596379; font-size:10px; }.score-grid strong { margin:8px 0 1px; font-family:Georgia,serif; font-size:37px; font-weight:400; }.score-grid em { position:absolute; top:15px; right:15px; padding:3px 6px; border-radius:4px; color:#27795c; background:#e2f3ec; font-size:8px; font-style:normal; }.score-grid small { color:#a0a6b3; font-size:7px; }.result-panel > footer { display:flex; justify-content:space-between; padding:13px 22px; border-top:1px solid var(--line); color:#878f9f; font-size:8px; }.result-panel > footer p { margin:0; }.notice-center { overflow:hidden; }.notice-center-list > button { width:100%; min-height:83px; display:grid; grid-template-columns:55px 1fr auto 20px; align-items:center; gap:15px; padding:13px 20px; border:0; border-bottom:1px solid var(--line); color:var(--ink); background:#fff; text-align:left; }.notice-center-list > button:last-child { border-bottom:0; }.notice-center-list > button:hover { background:#fafbfc; }.notice-center time { display:grid; justify-items:center; color:var(--navy); }.notice-center time strong { font-family:Georgia,serif; font-size:22px; font-weight:400; }.notice-center time span { color:#8e96a7; font-size:8px; }.notice-center button > span { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:4px 8px; }.notice-center em { padding:3px 5px; border-radius:4px; color:var(--red); background:#fbe9e7; font-size:7px; font-style:normal; }.notice-center button > span strong { font-size:10px; }.notice-center button > span small { grid-column:1/-1; overflow:hidden; color:#8b93a4; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.notice-center button > i { color:var(--red); font-size:7px; font-style:normal; }
.empty-panel { min-height:370px; display:grid; place-content:center; justify-items:center; padding:40px; text-align:center; }.empty-panel > span { width:56px; height:56px; display:grid; place-items:center; border-radius:50%; color:#687da9; background:#edf1f8; }.empty-panel > span svg { width:24px; }.empty-panel h2 { margin:17px 0 7px; font-family:"STKaiti"; font-size:22px; font-weight:400; }.empty-panel p { max-width:440px; margin:0 0 18px; color:#858d9e; font-size:9px; line-height:1.8; }

.score-appeal-state { width:100%; display:grid; justify-items:center; gap:5px; margin-top:10px; padding-top:9px; border-top:1px solid var(--line); }.score-appeal-state small { max-width:180px; text-align:center; line-height:1.5; }.score-appeal-form { width:100%; display:grid; gap:7px; margin-top:10px; padding-top:9px; border-top:1px solid var(--line); }.score-appeal-form textarea { width:100%; min-height:52px; padding:7px 8px; resize:vertical; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:8px; }.score-appeal-form .row-action { justify-self:stretch; }

/* Admin */
.admin-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }.admin-metrics article { display:flex; align-items:center; gap:13px; padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }.admin-metrics article > span { width:40px; height:40px; display:grid; place-items:center; border-radius:9px; color:var(--blue); background:#ecf1fb; }.admin-metrics article:nth-child(2)>span { color:var(--amber); background:#fff3dd; }.admin-metrics article:nth-child(3)>span { color:var(--red); background:#fbe9e7; }.admin-metrics article:nth-child(4)>span { color:var(--jade); background:#e4f3ee; }.admin-metrics article > span svg { width:18px; }.admin-metrics div { display:grid; }.admin-metrics small { color:#8d95a6; font-size:8px; }.admin-metrics strong { margin:2px 0; font-family:Georgia,serif; font-size:23px; font-weight:400; }.admin-metrics em { color:#818a9c; font-size:7px; font-style:normal; }.admin-dashboard-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:16px; }.admin-todos { overflow:hidden; }.admin-todos > button { width:100%; display:grid; grid-template-columns:36px 1fr 18px; align-items:center; gap:11px; padding:14px 18px; border:0; border-bottom:1px solid var(--line); color:var(--ink); background:#fff; text-align:left; }.admin-todos > button:last-child { border-bottom:0; }.admin-todos > button:hover { background:#fafbfc; }.admin-todos > button > i { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:#65728d; background:#edf0f6; font-size:10px; font-style:normal; font-weight:700; }.admin-todos > button > i.urgent { color:#a8463f; background:#fbe8e6; }.admin-todos button > span { display:grid; gap:3px; }.admin-todos strong { font-size:9px; }.admin-todos small { color:#9299aa; font-size:7px; }.admin-todos button > svg { color:#9ba2b1; }.audit-feed > div { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--line); }.audit-feed > div:last-child { border-bottom:0; }.audit-feed p { display:grid; gap:3px; margin:0; }.audit-feed p strong { font-size:9px; }.audit-feed p small { color:#9098a8; font-size:7px; }.audit-feed time { color:#8d95a5; font-size:7px; }
.data-panel { overflow:hidden; }.data-toolbar { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 17px; border-bottom:1px solid var(--line); }.data-toolbar > p { margin:0; color:#878f9f; font-size:8px; }.search-box { width:min(330px,40%); min-height:36px; display:flex; align-items:center; gap:8px; padding:0 11px; border:1px solid var(--line); border-radius:8px; }.search-box svg { width:14px; color:#9098a9; }.search-box input { width:100%; border:0; outline:0; background:transparent; font-size:9px; }.filter-pills { display:flex; gap:4px; }.filter-pills button { min-height:31px; padding:0 11px; border:1px solid var(--line); border-radius:7px; color:#778094; background:#fff; font-size:8px; }.filter-pills button.active { border-color:var(--navy); color:#fff; background:var(--navy); }.table-scroll { overflow-x:auto; }table { width:100%; border-collapse:collapse; white-space:nowrap; }th { padding:11px 14px; color:#858d9f; background:#fafbfc; font-size:8px; font-weight:600; text-align:left; }td { padding:13px 14px; border-top:1px solid #edf0f5; color:#5b657a; font-size:9px; }tbody tr { transition:background .15s; }tbody tr:hover { background:#fafbfe; }td > strong,td > small { display:block; }td > strong { color:var(--ink); font-size:9px; }td > small { max-width:230px; margin-top:3px; overflow:hidden; color:#9299a9; font-size:7px; text-overflow:ellipsis; }.person-cell { display:flex; align-items:center; gap:9px; }.person-cell > span { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; color:#536691; background:#e8edf7; font-size:10px; font-weight:700; }.person-cell > div { display:grid; gap:2px; }.person-cell strong { color:var(--ink); font-size:9px; }.person-cell small { color:#9299a9; font-size:7px; }.mono { font-family:Consolas,monospace; }.row-action { border:0; color:var(--blue); background:transparent; font-size:8px; font-weight:700; }.row-action.primary { padding:6px 9px; border-radius:6px; color:#fff; background:var(--navy); }.table-chips { display:flex; gap:3px; }.table-chips span { padding:3px 5px; border-radius:4px; color:#5e6980; background:#eef1f6; font-size:7px; }.pin-label { color:var(--red); font-size:8px; }
.notice-admin-toolbar { flex-wrap:wrap; }.notice-admin-toolbar > p { flex:1 0 100%; }.notice-row-actions { display:flex; align-items:center; gap:8px; }
.registration-toolbar,.payment-toolbar { flex-wrap:wrap; }.table-filter-selects { flex:1 0 100%; display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:8px; }.table-filter-selects select { width:100%; min-height:35px; padding:7px 10px; border:1px solid var(--line); border-radius:7px; color:#59647a; background:#fff; font-size:8px; }.registration-bulk-bar { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 17px; border-bottom:1px solid #dce4f1; background:#f4f7fc; }.registration-bulk-bar > span { color:#6e788d; font-size:8px; }.registration-bulk-bar > span strong { margin:0 3px; color:var(--navy); font-size:13px; }.registration-bulk-bar > div { display:flex; gap:7px; }.registration-bulk-bar .row-action { padding:7px 10px; border:1px solid #ccd6e7; border-radius:7px; background:#fff; }.registration-bulk-bar .row-action.primary { border-color:var(--navy); background:var(--navy); }.registration-bulk-bar .row-action:disabled { border-color:#e1e5ec; color:#aab1bf; background:#f8f9fb; }.selection-cell { width:42px; padding-right:8px; text-align:center; }.selection-cell input { width:15px; height:15px; accent-color:var(--navy); }.row-action.danger { color:#a64b48; }
.admin-exam-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }.admin-exam-card { position:relative; padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; }.admin-exam-card.editable { cursor:pointer; transition:border-color .18s,box-shadow .18s,transform .18s; }.admin-exam-card.editable:hover { border-color:#bdc8df; box-shadow:var(--shadow); transform:translateY(-2px); }.admin-exam-card.published::before { content:""; position:absolute; top:0; bottom:0; left:0; width:4px; background:var(--jade); }.admin-exam-card header { display:flex; align-items:center; justify-content:space-between; }.admin-exam-card h2 { margin:16px 0 7px; font-family:"STKaiti"; font-size:21px; font-weight:400; }.admin-exam-card > p { min-height:34px; margin:0; color:#828a9a; font-size:9px; line-height:1.8; }.admin-exam-card dl { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:19px 0; }.admin-exam-card dl div:last-child { grid-column:1/-1; }.admin-exam-card dt { color:#999fac; font-size:7px; }.admin-exam-card dd { margin:3px 0 0; color:#5e687d; font-size:8px; }.admin-subjects { display:flex; flex-wrap:wrap; gap:5px; padding:12px; border-radius:8px; background:#f7f8fb; }.admin-subjects span { display:grid; gap:2px; padding:6px 8px; border:1px solid #e3e7ef; border-radius:5px; background:#fff; }.admin-subjects b { font-size:8px; }.admin-subjects small { color:#969dac; font-size:6px; }.admin-exam-card footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:15px; padding-top:13px; border-top:1px solid var(--line); }.admin-exam-card footer > span { color:#858d9e; font-size:8px; }.exam-card-actions { display:flex; align-items:center; gap:7px; }.results-admin-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:16px; }.result-entry form { display:grid; gap:14px; padding:20px; }.publish-switch { justify-content:flex-start; }.published-results > div:not(.panel-title) { display:grid; grid-template-columns:32px 1fr auto auto; align-items:center; gap:10px; padding:12px 18px; border-bottom:1px solid var(--line); }.published-results > div:last-child { border-bottom:0; }.published-results p { display:grid; gap:3px; margin:0; }.published-results p strong { font-size:9px; }.published-results p small { color:#9098a9; font-size:7px; }.published-results b { font-family:Georgia,serif; font-size:17px; font-weight:400; }
.exam-score-band { display:grid; grid-template-columns:140px 1fr; margin:17px -22px 0; color:#fff; background:var(--navy); }
.exam-score-band > span { min-height:64px; display:flex; align-items:baseline; gap:5px; padding:13px 22px; }
.exam-score-band > span + span { display:grid; align-content:center; gap:5px; border-left:1px solid rgba(255,255,255,.12); }
.exam-score-band small { color:#8491b5; font-size:7px; }
.exam-score-band strong { margin-left:auto; font-family:Georgia,serif; font-size:27px; font-weight:400; }
.exam-score-band em { color:#aab5d2; font-size:7px; font-style:normal; }
.exam-score-band b { color:#e4e9f5; font-size:8px; font-weight:500; }
.score-rule-hint { margin:0; padding:9px 11px; border-radius:7px; color:#6d7890; background:#f3f6fb; font-size:8px; }

/* Modals and feedback */
.modal-layer { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:22px; background:rgba(12,22,48,.55); backdrop-filter:blur(5px); animation:fadeIn .18s ease; }.modal-card { width:min(620px,100%); max-height:90vh; border-radius:16px; background:#fff; box-shadow:0 30px 90px rgba(13,23,51,.3); overflow-y:auto; animation:modalIn .22s ease; }.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 24px 18px; border-bottom:1px solid var(--line); }.modal-head span { color:#8b94a8; font-family:Consolas,monospace; font-size:8px; letter-spacing:1.5px; }.modal-head h2 { margin:5px 0; font-family:"STKaiti"; font-size:23px; font-weight:400; }.modal-head p { margin:0; color:#8c94a5; font-size:8px; }.modal-head > button { border:0; color:#8a92a2; background:transparent; font-size:23px; }.notice-content { padding:25px; color:#525d73; overflow-wrap:anywhere; }.notice-content p,.notice-content li { color:#525d73; font-size:11px; line-height:2; }.notice-content p { margin:0 0 13px; }.notice-content h2,.notice-content h3,.notice-content h4 { margin:22px 0 10px; color:var(--navy); font-family:"STKaiti"; font-weight:400; }.notice-content h2 { font-size:22px; }.notice-content h3 { font-size:18px; }.notice-content h4 { font-size:15px; }.notice-content ul,.notice-content ol { margin:0 0 14px; padding-left:24px; }.notice-content blockquote { margin:15px 0; padding:10px 14px; border-left:3px solid var(--blue); background:#f4f7fc; }.notice-content blockquote p { margin:0; }.notice-content a { color:var(--blue); text-decoration:underline; text-underline-offset:2px; }.modal-form { display:grid; gap:14px; padding:22px 24px 0; }.modal-foot { display:flex; justify-content:flex-end; gap:8px; margin:20px -24px 0; padding:15px 24px; border-top:1px solid var(--line); background:#fafbfc; }.modal-card > .modal-foot { margin:0; }.review-profile,.registration-review,.admit-preview { padding:22px 24px 0; }.review-profile dl { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:0; }.review-profile dl div,.registration-review dl div,.admit-preview dl div { display:grid; gap:4px; padding:10px; border-radius:7px; background:#f7f8fb; }.review-profile dt,.registration-review dt,.admit-preview dt { color:#969dac; font-size:7px; }.review-profile dd,.registration-review dd,.admit-preview dd { margin:0; color:#525d73; font-size:9px; }.registration-review > div > span { color:#9199a9; font-size:8px; }.registration-review > div p { display:flex; flex-wrap:wrap; gap:5px; }.registration-review > div b { padding:5px 8px; border-radius:5px; color:#54617a; background:#eef1f6; font-size:8px; }.registration-review dl,.admit-preview dl { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.admit-preview > strong { display:block; margin:5px 0 18px; color:var(--navy); font-family:Consolas,monospace; font-size:26px; letter-spacing:2px; }.admit-preview > p { margin:16px 0 0; padding:11px; border-radius:7px; color:#7a5a24; background:#fff3dc; font-size:8px; }.toast { position:fixed; right:24px; bottom:24px; z-index:130; min-width:245px; display:flex; align-items:center; gap:11px; padding:13px 15px; border:1px solid #dfe7e3; border-radius:10px; background:#fff; box-shadow:0 17px 50px rgba(18,39,30,.17); opacity:0; transform:translateY(25px); pointer-events:none; transition:.25s; }.toast.show { opacity:1; transform:none; }.toast-icon { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--jade); font-size:11px; }.toast div { display:grid; gap:2px; }.toast strong { font-size:9px; }.toast small { color:#858d9e; font-size:8px; }.fatal-error { min-height:100vh; display:grid; place-content:center; justify-items:center; padding:25px; text-align:center; }.fatal-error > span { width:55px; height:55px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--red); font-family:Georgia,serif; font-size:28px; }.fatal-error h1 { margin:18px 0 8px; font-family:"STKaiti"; font-size:28px; font-weight:400; }.fatal-error p { margin:0 0 18px; color:#7f8799; font-size:10px; }.empty-state { padding:35px; color:#8b93a4; font-size:9px; text-align:center; }
.fatal-error-actions { display:flex; gap:9px; }
.modal-card:has(.exam-config-form) { width:min(980px,100%); }
.modal-card:has(.notice-editor-form) { width:min(820px,100%); }
.notice-editor-field { display:grid; gap:7px; }
.notice-editor-field > span { color:#555f75; font-size:10px; font-weight:700; }
.notice-editor-field > small { color:#8b94a5; font-size:8px; font-weight:400; }
.notice-editor-form .ck.ck-editor { width:100%; }
.notice-editor-form .ck-editor__editable_inline { min-height:280px; max-height:430px; color:#333d52; font-size:13px; line-height:1.75; }
.notice-editor-form .ck.ck-toolbar { border-color:#dce1ea; border-radius:8px 8px 0 0; background:#f8f9fc; }
.notice-editor-form .ck.ck-editor__main > .ck-editor__editable { border-color:#dce1ea; border-radius:0 0 8px 8px; }
.notice-content figure.image { margin:20px auto; text-align:center; }
.notice-content figure.image img { display:block; width:auto; max-width:100%; height:auto; margin:auto; border-radius:7px; }
.notice-content figure.image.image-style-side { max-width:50%; margin-left:auto; }
.notice-content figure.image.image-style-align-left,.notice-content figure.image.image-style-block-align-left { margin-right:auto; margin-left:0; }
.notice-content figure.image.image-style-align-right,.notice-content figure.image.image-style-block-align-right { margin-right:0; margin-left:auto; }
.notice-content figcaption { margin-top:7px; color:#8a93a5; font-size:9px; line-height:1.6; text-align:center; }
.notice-content figure.table { margin:18px 0; overflow-x:auto; }
.notice-content table { width:100%; border-collapse:collapse; background:#fff; font-size:10px; }
.notice-content th,.notice-content td { min-width:70px; padding:9px 11px; border:1px solid #d8dfeb; color:#525d73; line-height:1.7; text-align:left; vertical-align:top; }
.notice-content th { color:var(--navy); background:#f1f4f9; font-weight:700; }
.notice-content td p,.notice-content th p { margin:0; font-size:inherit; line-height:inherit; }
.exam-config-form { gap:18px; }
.exam-form-section { display:grid; gap:14px; padding:17px; border:1px solid var(--line); border-radius:11px; background:#fbfcfe; }
.exam-form-section > header { display:flex; align-items:center; gap:11px; }
.exam-form-section > header > span { width:27px; height:27px; display:grid; place-items:center; flex:0 0 auto; border-radius:7px; color:#fff; background:var(--navy); font-family:Consolas,monospace; font-size:8px; }
.exam-form-section > header h3 { margin:0; font-family:"STKaiti"; font-size:18px; font-weight:400; }
.exam-form-section > header p { margin:3px 0 0; color:#8b94a5; font-size:7px; }
.exam-form-section > header aside { display:flex; align-items:baseline; gap:15px; margin-left:auto; }
.exam-form-section > header aside small { color:#8490a5; font-size:8px; }
.exam-form-section > header aside strong { color:var(--navy); font-family:Georgia,serif; font-size:22px; font-weight:400; }
.subject-config-section > div { display:grid; gap:10px; }
.exam-subject-editor { border:1px solid #dce3ef; border-radius:9px; background:#fff; overflow:hidden; }
.exam-subject-editor > header { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; background:#f1f4fa; }
.exam-subject-editor > header span { color:#65728c; font-size:8px; font-weight:700; }
.exam-subject-editor > header button { border:0; color:#a74c45; background:transparent; font-size:7px; }
.exam-subject-grid { display:grid; grid-template-columns:1.35fr repeat(6,1fr); gap:9px; padding:12px; }
.exam-subject-grid label { min-width:0; }
.exam-subject-grid input { min-height:40px; padding:8px 9px; }
.add-subject-button { min-height:40px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px dashed #aab8d0; border-radius:8px; color:#506488; background:#f6f8fc; font-size:9px; font-weight:700; }
.add-subject-button svg { width:14px; fill:none; stroke:currentColor; stroke-width:1.7; }
.pass-policy-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:13px; }
.unit-input { position:relative; display:block; }
.unit-input input { padding-right:40px; }
.unit-input em { position:absolute; top:50%; right:13px; color:#8490a4; font-size:9px; font-style:normal; transform:translateY(-50%); }
.pass-policy-hint { margin:0; padding:11px 13px; border-left:3px solid var(--jade); border-radius:7px; color:#627066; background:#edf6f2; font-size:8px; line-height:1.7; }
.result-summary { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); background:#f5f7fb; }
.result-summary > span { min-height:72px; display:flex; align-items:baseline; gap:7px; padding:15px 23px; }
.result-summary > span + span { border-left:1px solid var(--line); }
.result-summary small { margin-right:auto; color:#8992a4; font-size:8px; }
.result-summary strong { color:var(--navy); font-family:Georgia,"STKaiti",serif; font-size:20px; font-weight:400; }
.result-summary strong em,.result-summary > span > em { color:#8b94a5; font-size:8px; font-style:normal; }
.result-summary.qualified { background:#eef8f3; }
.result-summary.qualified > span:last-child strong { color:#237358; }
.result-summary.unqualified { background:#fff5f2; }
.result-summary.unqualified > span:last-child strong { color:#a24f43; }
.panel-title h2 { flex:0 0 auto; white-space:nowrap; }
.audit-feed > .panel-title { min-height:58px; display:flex; grid-template-columns:none; align-items:center; justify-content:space-between; gap:0; padding:0 19px; }
@keyframes fadeIn{from{opacity:0}}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}}

@media (max-width: 1120px) {
  .hero-grid { grid-template-columns:1fr 430px; gap:40px; }.hero-copy h1 { font-size:52px; }.summary-grid,.admin-metrics { grid-template-columns:1fr 1fr; }.candidate-grid,.admin-dashboard-grid { grid-template-columns:1fr; }.score-grid { grid-template-columns:repeat(3,1fr); }.score-grid article:nth-child(3) { border-right:0; }.score-grid article:nth-child(n+4) { border-top:1px solid var(--line); }.results-admin-grid { grid-template-columns:1fr; }
  .exam-subject-grid { grid-template-columns:1.3fr repeat(3,1fr); }.exam-subject-grid label:nth-child(n+5) { grid-column:auto; }
}
@media (max-width: 850px) {
  .public-nav { width:calc(100% - 28px); }.public-nav nav { position:absolute; top:75px; left:14px; right:14px; display:none; flex-direction:column; gap:0; margin:0; padding:9px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow); }.public-nav nav.open { display:flex; }.public-nav nav a { padding:12px; }.mobile-menu { display:grid; }.nav-actions > .text-button { display:none; }.hero { min-height:auto; }.hero-grid { grid-template-columns:1fr; gap:55px; padding:60px 0 75px; }.hero-ticket { width:min(540px,100%); }.notice-layout,.public-exam-grid { grid-template-columns:1fr; }.flow-track { grid-template-columns:1fr 1fr; gap:30px; }.flow-track::before { display:none; }.auth-page { grid-template-columns:1fr; }.auth-story { min-height:360px; padding:35px 35px 40px; }.auth-story .overline { margin-top:55px; }.auth-story h1 { font-size:42px; }.auth-quote { display:none; }.portal-sidebar { transform:translateX(-100%); transition:.25s; box-shadow:18px 0 55px rgba(12,22,48,.2); }.portal-sidebar.open { transform:none; }.portal-brand > button { display:block; }.portal-main { margin-left:0; }.sidebar-toggle { display:grid; }.portal-topbar { padding:0 18px; }.portal-topbar > div:first-of-type span,.portal-topbar > div:first-of-type b { display:none; }.portal-content { padding:22px 18px; }.apply-card-main,.registration-info { grid-template-columns:1fr; }.apply-copy,.registration-info > dl { border-right:0; border-bottom:1px solid var(--line); }.admit-ticket { grid-template-columns:1fr 170px; }.admit-ticket::before,.admit-ticket::after { right:158px; }.admin-exam-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .region-selects { grid-template-columns:1fr; }
  .public-header { height:68px; }.public-nav nav { top:67px; }.public-nav .solid-button { display:none; }.brand strong { font-size:22px; }.brand-symbol { width:32px; height:32px; }.hero-grid,.content-section { width:calc(100% - 32px); }.notice-ticker { margin-bottom:28px; }.hero-copy h1 { font-size:40px; }.hero-copy h1 em::after { width:35px; }.hero-lead { font-size:12px; }.hero-actions { align-items:stretch; flex-direction:column; }.hero-stats { justify-content:space-between; gap:10px; }.hero-ticket { grid-template-columns:1fr 82px; transform:none; }.hero-ticket::before,.hero-ticket::after { right:70px; }.ticket-main { padding:23px; }.ticket-main h2 { font-size:22px; }.ticket-main dl div { grid-template-columns:62px 1fr; }.ticket-stub strong { font-size:25px; }.content-section { padding:65px 0; }.section-heading { align-items:flex-start; flex-direction:column; gap:10px; }.section-heading > p { text-align:left; }.section-heading h2 { font-size:30px; }.notice-row { grid-template-columns:55px 1fr 18px; padding:11px 13px; }.featured-notice { min-height:280px; }.exam-meta { grid-template-columns:1fr; }.public-exam-card footer { align-items:flex-start; flex-direction:column; gap:12px; }.flow-track { grid-template-columns:1fr; }.public-footer { align-items:flex-start; flex-direction:column; gap:25px; }.auth-story { min-height:315px; padding:27px 24px; }.auth-story h1 { font-size:35px; }.auth-panel { padding:70px 20px 35px; }.back-link { top:22px; right:20px; }.field-row,.form-grid { grid-template-columns:1fr; }.portal-topbar { height:62px; }.portal-user > span:nth-of-type(2) { display:none; }.portal-user .notification-button { display:none; }.portal-content { padding:20px 14px; }.portal-heading { align-items:flex-start; flex-direction:column; }.portal-heading .solid-button { width:100%; }.portal-heading h1 { font-size:28px; }.candidate-welcome { padding:24px; }.welcome-seal { display:none; }.candidate-welcome h2 { font-size:22px; }.summary-grid,.admin-metrics { grid-template-columns:1fr; }.candidate-progress { grid-template-columns:1fr; gap:0; padding:18px; }.progress-step { min-height:58px; grid-template-columns:30px 1fr; justify-items:start; align-items:center; text-align:left; }.progress-step::before { top:-50%; bottom:50%; left:14px; width:2px; height:auto; right:auto; }.progress-step div { justify-items:start; }.subject-options { grid-template-columns:1fr; }.registration-card > footer,.form-actions { align-items:flex-start; flex-direction:column; gap:10px; }.admit-ticket { grid-template-columns:1fr; }.admit-ticket::before,.admit-ticket::after { display:none; }.admit-stub { border-top:1px dashed rgba(255,255,255,.18); border-left:0; }.admit-main dl { grid-template-columns:1fr; }.score-grid { grid-template-columns:1fr 1fr; }.score-grid article,.score-grid article:nth-child(3) { border-right:1px solid var(--line); border-top:1px solid var(--line); }.score-grid article:nth-child(2n) { border-right:0; }.result-panel > header,.result-panel > footer { align-items:flex-start; flex-direction:column; gap:8px; }.notice-center-list > button { grid-template-columns:45px 1fr 18px; gap:10px; padding:12px; }.notice-center button > i { display:none; }.data-toolbar { align-items:stretch; flex-direction:column; }.search-box { width:100%; }.filter-pills { overflow-x:auto; }.filter-pills button { white-space:nowrap; }.admin-exam-card dl { grid-template-columns:1fr; }.admin-exam-card dl div:last-child { grid-column:auto; }.review-profile dl,.registration-review dl,.admit-preview dl { grid-template-columns:1fr; }.modal-layer { padding:10px; }.modal-card { max-height:94vh; }.modal-head,.modal-form { padding-left:18px; padding-right:18px; }.modal-foot { margin-left:-18px; margin-right:-18px; padding-left:18px; padding-right:18px; }.toast { right:14px; bottom:14px; left:14px; min-width:0; }
}
@media (max-width: 720px) {
  .table-filter-selects { grid-template-columns:1fr 1fr; }
  .registration-bulk-bar { align-items:stretch; flex-direction:column; }
  .registration-bulk-bar > div { display:grid; grid-template-columns:1fr 1fr; }
}

.flow-appeal-snapshot { margin:18px 24px 4px; padding:16px; border:1px solid #d4dfed; border-radius:10px; background:linear-gradient(120deg,#f7f9fd,#eef4fb); }
.flow-appeal-snapshot header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.flow-appeal-snapshot header span { color:#7888a6; font-size:7px; font-weight:700; letter-spacing:.08em; }
.flow-appeal-snapshot h3 { margin:4px 0 0; color:var(--navy); font-size:14px; }
.flow-appeal-snapshot header b { color:var(--blue); font-family:Georgia,serif; font-size:22px; }
.flow-appeal-snapshot dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; margin:15px 0 0; }
.flow-appeal-snapshot dl div { display:grid; grid-template-columns:70px 1fr; gap:8px; }
.flow-appeal-snapshot dt { color:#8994a8; font-size:7px; }
.flow-appeal-snapshot dd { margin:0; color:#33425b; font-size:8px; }
.rank-rule-line { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; padding:9px 10px; border-radius:7px; background:#f1f4f9; }
.rank-rule-line span { color:#8993a6; font-size:7px; }
.rank-rule-line b { color:#45536c; font-size:8px; }
@media (max-width: 620px) { .flow-appeal-snapshot dl { grid-template-columns:1fr; } }

/* Multi-exam score center, staged Excel import, and per-subject pass rules */
.result-exam-strip { display:flex; gap:10px; margin-bottom:14px; overflow-x:auto; padding:2px 1px 8px; scrollbar-width:thin; }
.result-exam-strip > button { position:relative; min-width:245px; display:grid; gap:5px; overflow:hidden; padding:16px 17px 18px; border:1px solid #dce3ed; border-radius:12px; color:#536078; background:#fff; text-align:left; box-shadow:0 7px 20px rgba(20,36,81,.04); }
.result-exam-strip > button.active { border-color:#315fba; color:#142451; background:linear-gradient(130deg,#fff,#f0f5ff); box-shadow:0 10px 26px rgba(49,95,186,.12); }
.result-exam-strip span { color:#7383a5; font:700 10px Consolas,monospace; letter-spacing:.05em; }
.result-exam-strip strong { font-size:14px; }
.result-exam-strip small { color:#8a93a5; font-size:10px; }
.result-exam-strip i { position:absolute; right:0; bottom:0; left:0; height:4px; background:linear-gradient(90deg,#315fba var(--progress),#e8edf5 var(--progress)); }
.result-metric-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.result-metric-grid article { min-width:0; padding:15px 16px; border:1px solid #e0e6ef; border-radius:11px; background:#fff; box-shadow:0 7px 20px rgba(20,36,81,.04); }
.result-metric-grid small,.result-metric-grid span { display:block; color:#8a93a5; font-size:9px; }
.result-metric-grid strong { display:block; margin:7px 0 5px; color:#173f60; font:400 25px Georgia,serif; }
.result-metric-grid strong em { color:#8c96aa; font-size:13px; font-style:normal; }
.result-excel-toolbar { margin-bottom:14px; }
.result-entry-workbench { margin-bottom:14px; overflow:hidden; border-color:#cbd6e6; box-shadow:0 14px 34px rgba(20,36,81,.07); }
.result-workbench-head { display:grid; grid-template-columns:minmax(280px,1fr) minmax(430px,1.1fr); align-items:end; gap:28px; padding:22px 24px; color:#fff; background:linear-gradient(112deg,#12244d 0%,#1c4269 72%,#236b78 100%); }
.result-workbench-head > div:first-child > span { color:#8ed0d4; font:700 9px Consolas,monospace; letter-spacing:.18em; }
.result-workbench-head h2 { margin:6px 0 4px; font-family:"STKaiti","KaiTi",serif; font-size:25px; font-weight:400; }
.result-workbench-head p { margin:0; color:#c6d4e3; font-size:10px; line-height:1.7; }
.result-workbench-selectors { display:grid; grid-template-columns:1.25fr .75fr; gap:10px; }
.result-workbench-selectors label { display:grid; gap:6px; color:#dbe6f2; font-size:9px; font-weight:700; }
.result-workbench-selectors select { width:100%; min-height:42px; padding:8px 11px; border:1px solid rgba(255,255,255,.3); border-radius:8px; color:#15264b; background:#fff; font-size:11px; outline:0; }
.result-workbench-selectors select:focus { box-shadow:0 0 0 3px rgba(142,208,212,.24); }
.result-workbench-summary { display:grid; grid-template-columns:repeat(4,110px) 1fr; align-items:center; min-height:69px; padding:10px 24px; border-bottom:1px solid #e2e8f0; background:#f5f8fc; }
.result-workbench-summary > span { display:grid; gap:3px; border-right:1px solid #dce4ee; }
.result-workbench-summary small { color:#8a94a7; font-size:8px; }
.result-workbench-summary strong { color:#143a5b; font:400 19px Georgia,serif; }
.result-workbench-summary p { justify-self:end; margin:0; padding-left:18px; color:#60708a; font-size:10px; }
.result-entry-toolbar { min-height:62px; border-bottom:1px solid #e5eaf1; }
.result-entry-table-wrap { max-height:560px; overflow:auto; }
.result-entry-table-wrap table { min-width:1050px; }
.result-entry-table-wrap thead { position:sticky; top:0; z-index:3; }
.result-entry-table-wrap th { color:#56647c; background:#eef3f8; box-shadow:0 1px #dbe3ed; }
.result-entry-table-wrap tbody tr { transition:background .12s; }
.result-entry-table-wrap tbody tr:focus-within { background:#f1f7ff; }
.result-row-index { color:#97a1b1; text-align:center; }
.result-score-input-cell { min-width:170px; }
.result-score-input-cell input { width:126px; height:38px; padding:7px 11px; border:1px solid #cbd5e3; border-radius:7px; color:#102c4d; background:#fff; font:700 14px Consolas,monospace; outline:0; }
.result-score-input-cell input:focus { border-color:#315fba; box-shadow:0 0 0 3px rgba(49,95,186,.1); }
.result-score-input-cell input[data-dirty="true"] { border-color:#bd7d19; background:#fffaf0; }
.result-score-input-cell small { display:block; min-height:12px; margin-top:3px; color:#b23838; font-size:8px; }
.score-row-invalid { background:#fff6f5 !important; }
.score-row-invalid input { border-color:#c74646; }
.result-missing { display:inline-flex; padding:4px 8px; border-radius:99px; color:#7b8495; background:#eef1f5; font-size:8px; }
.result-workbench-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; min-height:74px; padding:13px 24px; border-top:1px solid #dfe6ef; background:#fff; box-shadow:0 -8px 20px rgba(20,36,81,.03); }
.result-workbench-actions > div { display:grid; gap:4px; margin-right:auto; }
.result-workbench-actions > div strong { color:#32435f; font-size:10px; }
.result-workbench-actions > div small { color:#8b95a7; font-size:8px; }
.feature-score-workbench { margin-bottom:14px; overflow:hidden; border-color:#bcd9dc; box-shadow:0 14px 34px rgba(25,86,95,.07); }
.feature-score-workbench > form > header { display:grid; grid-template-columns:minmax(300px,1fr) auto; align-items:center; gap:24px; padding:21px 24px; color:#133d48; background:linear-gradient(110deg,#eef9f8,#dceff0); border-left:4px solid #287486; }
.feature-score-workbench header > div:first-child > span { color:#287486; font:700 9px Consolas,monospace; letter-spacing:.18em; }
.feature-score-workbench h2 { margin:5px 0; font-family:"STKaiti","KaiTi",serif; font-size:24px; font-weight:400; }
.feature-score-workbench header p { max-width:720px; margin:0; color:#5b7780; font-size:10px; line-height:1.7; }
.feature-score-rule { display:grid; gap:5px; min-width:265px; padding:12px 15px; border:1px solid #b9d9da; border-radius:9px; background:rgba(255,255,255,.72); }
.feature-score-rule strong { color:#245b65; font-size:10px; }
.feature-score-rule span { color:#607a81; font-size:9px; }
.feature-score-input-cell input { width:140px; }
.feature-score-workbench td > small { display:block; margin-top:3px; color:#8a95a6; }
.feature-score-summary { grid-template-columns:repeat(4,125px) 1fr; }
.result-entry-console { margin-bottom:14px; overflow:hidden; }
.result-entry-console .panel-title { height:auto; min-height:74px; }
.result-entry-console .panel-title p { margin:4px 0 0; color:#8791a4; font-size:10px; }
.result-entry-console form { padding:18px 20px 20px; }
.result-entry-fields { display:grid; grid-template-columns:1.2fr 1fr 1.3fr .65fr .65fr; gap:11px; }
.result-entry-fields label { min-width:0; display:grid; gap:6px; }
.result-entry-fields label > span { color:#667187; font-size:10px; font-weight:700; }
.result-entry-fields input,.result-entry-fields select { width:100%; min-height:40px; padding:8px 10px; border:1px solid #d7deea; border-radius:8px; color:#253149; background:#fff; font-size:11px; }
.result-entry-fields select:disabled { color:#a0a7b4; background:#f4f6f9; }
.result-entry-console .score-rule-hint { margin:12px 0; padding:10px 12px; border-left:3px solid #315fba; border-radius:6px; color:#61708c; background:#f1f5fc; font-size:10px; }
.result-entry-submit { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:12px; border-top:1px solid #e8ecf2; }
.result-entry-submit .agreement { margin:0; }
.result-import-preview { margin-bottom:14px; overflow:hidden; border-color:#bed0e9; }
.result-import-preview > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px; color:#fff; background:linear-gradient(112deg,#142451,#234c77); }
.result-import-preview header span { color:#83bdd0; font-size:9px; font-weight:800; letter-spacing:.14em; }
.result-import-preview header h2 { margin:5px 0; font-family:"STKaiti","KaiTi",serif; font-size:23px; font-weight:400; }
.result-import-preview header p { margin:0; color:#c1cedf; font-size:10px; }
.result-import-preview header .row-action { border-color:#6d82a3; color:#fff; background:rgba(255,255,255,.08); }
.import-preview-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:#e1e7ef; }
.import-preview-metrics span { padding:13px 18px; background:#fff; }
.import-preview-metrics small { display:block; color:#8993a5; font-size:9px; }
.import-preview-metrics strong { display:block; margin-top:3px; color:#173f60; font-size:18px; }
.import-preview-metrics .valid strong { color:#268466; }
.import-preview-metrics .invalid strong { color:#c8473d; }
.import-preview-table { min-width:1040px; }
.import-preview-table tr.row-invalid { background:#fff4f2; }
.import-preview-table td ul { margin:0; padding-left:15px; color:#b3453e; font-size:9px; }
.import-preview-table td strong,.import-preview-table td small { display:block; }
.import-preview-table td small { margin-top:3px; color:#8791a3; }
.import-commit-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; border-top:1px solid #e1e7ef; background:#f7f9fc; }
.import-commit-bar p { margin:0; color:#69768e; font-size:10px; }
.result-ledger { margin-bottom:14px; overflow:hidden; }
.result-ledger .data-toolbar { flex-wrap:wrap; }
.result-ledger table { min-width:1120px; }
.result-ledger td > strong,.result-ledger td > small { display:block; }
.result-score { color:#173f60; font:700 18px Georgia,serif; }
.result-score em { color:#929bad; font-size:10px; font-style:normal; }
.result-qualified,.result-unqualified,.result-neutral { display:inline-flex; padding:5px 8px; border-radius:99px; font-size:9px; font-weight:700; }
.result-qualified { color:#1f7459; background:#e2f3ec; }
.result-unqualified { color:#a7453f; background:#fbe8e6; }
.result-neutral { color:#69758c; background:#edf0f5; }
.subject-pass-preview { margin:0; padding:9px 12px; border-top:1px dashed #dce3ee; color:#6d7890; background:#f8fafe; font-size:9px; }
.candidate-result-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin-bottom:15px; }
.candidate-result-overview article { display:flex; align-items:baseline; gap:5px; padding:16px 18px; border:1px solid #e0e5ee; border-radius:11px; background:#fff; box-shadow:0 8px 22px rgba(20,36,81,.05); }
.candidate-result-overview small { margin-right:auto; color:#818b9e; font-size:9px; }
.candidate-result-overview strong { color:#173f60; font:400 25px Georgia,serif; }
.candidate-result-overview span { color:#8d96a7; font-size:9px; }
.result-panel .result-summary { grid-template-columns:repeat(3,1fr); }
.result-summary > span > i { display:block; margin-top:5px; color:#7e899c; font-size:9px; font-style:normal; }
.score-grid article { position:relative; }
.score-subject-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.score-subject-head i { padding:4px 7px; border-radius:99px; color:#6d7890; background:#edf0f5; font-size:8px; font-style:normal; }
.score-grid article.qualified .score-subject-head i { color:#24755b; background:#e2f3ec; }
.score-grid article.unqualified .score-subject-head i { color:#aa463f; background:#fbe8e6; }
.score-grid article > strong small { color:#8d96a7; font-size:10px; }
.score-progress { position:relative; height:7px; margin:10px 0 7px; border-radius:99px; background:#e8ecf3; }
.score-progress > i { position:absolute; inset:0 auto 0 0; border-radius:99px; background:linear-gradient(90deg,#315fba,#4e8dc0); }
.score-progress > b { position:absolute; top:-3px; width:2px; height:13px; background:#c8473d; box-shadow:0 0 0 2px #fff; }

@media (max-width: 1100px) {
  .result-metric-grid { grid-template-columns:repeat(3,1fr); }
  .result-entry-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .result-entry-fields label:first-child { grid-column:span 2; }
}
@media (max-width: 700px) {
  .result-metric-grid,.candidate-result-overview { grid-template-columns:repeat(2,1fr); }
  .result-entry-fields { grid-template-columns:1fr; }
  .result-entry-fields label:first-child { grid-column:auto; }
  .result-entry-submit,.result-import-preview > header,.import-commit-bar { align-items:flex-start; flex-direction:column; }
  .result-entry-submit button,.import-commit-bar button { width:100%; }
  .import-preview-metrics { grid-template-columns:repeat(2,1fr); }
  .result-panel .result-summary { grid-template-columns:1fr; }
}

/* Admission-card arrangement engine */
.arrangement-config { margin-bottom:15px; overflow:hidden; }.arrangement-config .panel-title { height:auto; min-height:74px; }.arrangement-config .panel-title p { margin:4px 0 0; color:var(--muted); font-size:8px; }.arrangement-config form { padding:20px; }.arrangement-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.arrangement-fields label { display:grid; align-content:start; gap:6px; }.arrangement-fields label > span { color:#59657c; font-size:8px; font-weight:700; }.arrangement-fields select,.arrangement-fields input { width:100%; min-height:42px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; font-size:9px; }.arrangement-fields label small { color:#9199a9; font-size:7px; line-height:1.6; }.arrangement-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }.arrangement-preview { display:grid; gap:5px; margin:0 20px 20px; padding:13px 15px; border-radius:9px; }.arrangement-preview.ok { color:#245f4c; background:#e7f4ef; }.arrangement-preview.warning { color:#795a27; background:#fff3dc; }.arrangement-preview strong { font-size:9px; }.arrangement-preview span,.arrangement-preview small,.arrangement-preview li { font-size:8px; }.arrangement-preview ul { margin:5px 0 0; padding-left:18px; }
.arrangement-rules { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:15px; }.arrangement-rules article { display:grid; align-content:start; gap:6px; min-height:155px; padding:16px; border:1px solid var(--line); border-radius:11px; background:linear-gradient(145deg,#fff,#f5f7fb); }.arrangement-rules span { color:#8792a9; font-size:7px; }.arrangement-rules h3 { margin:0; font-family:"STKaiti"; font-size:16px; font-weight:400; }.arrangement-rules p { margin:0; color:#818b9f; font-size:7px; line-height:1.7; }.arrangement-rules code { margin-top:auto; color:var(--blue); font-size:10px; }
.arrangement-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:15px; }.arrangement-plan-grid article { padding:17px; }.arrangement-plan-grid header { display:flex; justify-content:space-between; gap:10px; }.arrangement-plan-grid header span,.arrangement-plan-grid time { color:#8691a6; font-size:7px; }.arrangement-plan-grid h3 { margin:4px 0 0; font-size:12px; }.arrangement-plan-grid article > div { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr; align-items:baseline; gap:5px; margin:15px 0; }.arrangement-plan-grid article > div strong { color:var(--navy); font-family:Georgia,serif; font-size:20px; font-weight:400; }.arrangement-plan-grid article > div small,.arrangement-plan-grid p,.arrangement-plan-grid li { color:#858fa1; font-size:7px; }.arrangement-plan-grid ul { margin:8px 0 0; padding-left:17px; }.arrangement-ok { color:#2c755c !important; }
.subject-room-list,.admit-subject-rooms { display:grid; gap:4px; }.subject-room-list span,.admit-subject-rooms span { display:grid; grid-template-columns:minmax(45px,auto) 1fr; gap:7px; }.subject-room-list b,.admit-subject-rooms b { font-size:8px; }.subject-room-list small,.admit-subject-rooms small { color:#7f899c; font-size:7px; }.admit-preview table { width:100%; margin-top:16px; border-collapse:collapse; }.admit-preview th,.admit-preview td { padding:8px; border:1px solid var(--line); font-size:8px; text-align:left; }
@media (max-width: 1000px) { .arrangement-fields,.arrangement-rules { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .arrangement-fields,.arrangement-rules,.arrangement-plan-grid { grid-template-columns:1fr; }.arrangement-actions { align-items:stretch; flex-direction:column; } }
@media (max-width: 620px) {
  .exam-score-band { grid-template-columns:1fr; }.exam-score-band > span + span { border-top:1px solid rgba(255,255,255,.12); border-left:0; }
  .exam-form-section { padding:13px; }.exam-form-section > header { align-items:flex-start; }.exam-form-section > header aside { display:grid; gap:2px; }
  .exam-subject-grid,.pass-policy-grid,.result-summary { grid-template-columns:1fr; }
  .exam-subject-grid .subject-name-field { grid-column:auto; }.result-summary > span + span { border-top:1px solid var(--line); border-left:0; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* 考试归档：以档案封存条区分当前考务与只读历史。 */
.status-archived { color:#596272; background:#e9ecf1; }
.admin-exam-card.archived { border-style:dashed; border-color:#c7ccd5; background:#f6f7f9; box-shadow:none; }
.admin-exam-card.archived::before { content:"封存"; position:absolute; top:21px; right:-31px; width:112px; padding:4px 0; color:#fff; background:#697180; font:700 8px Consolas,monospace; letter-spacing:.16em; text-align:center; transform:rotate(38deg); }
.archive-exam-action { color:#a33f39; border-color:#e2bbb8; }
.exam-archive-shelf,.candidate-archive-fold,.result-archive-switcher { margin-top:18px; border:1px dashed #c7ced9; border-radius:12px; background:#f5f6f8; }
.exam-archive-shelf > summary,.candidate-archive-fold > summary,.result-archive-switcher > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 20px; color:#4f5868; cursor:pointer; list-style:none; }
.exam-archive-shelf > summary::-webkit-details-marker,.candidate-archive-fold > summary::-webkit-details-marker,.result-archive-switcher > summary::-webkit-details-marker { display:none; }
.exam-archive-shelf > summary span,.candidate-archive-fold > summary span { display:grid; gap:3px; }
.exam-archive-shelf > summary b,.candidate-archive-fold > summary strong { font-size:11px; }
.exam-archive-shelf > summary small,.candidate-archive-fold > summary small,.result-archive-switcher > summary span { color:#858d9b; font-size:8px; }
.exam-archive-shelf > summary > strong,.candidate-archive-fold > summary > b { min-width:31px; height:31px; display:grid; place-items:center; border:1px solid #d3d7de; border-radius:50%; color:#616a78; background:#fff; font-size:9px; }
.exam-archive-shelf[open] > summary,.candidate-archive-fold[open] > summary { border-bottom:1px dashed #c7ced9; }
.archived-exam-grid { padding:18px; }
.candidate-archive-fold .registration-cards,.candidate-archive-fold > .result-panel,.candidate-archive-fold > .admit-ticket { margin:18px; }
.admit-archive-fold { margin:0; }
.result-archive-fold { margin-top:0; }
.result-archive-switcher { margin:0 0 14px; }
.result-archive-switcher > summary { justify-content:flex-start; padding:12px 16px; font-size:9px; font-weight:700; }
.result-archive-switcher .result-exam-strip { margin:0; padding:4px 14px 15px; }
.result-exam-strip > button.archived { border-style:dashed; box-shadow:none; background:#f6f7f9; }
.result-exam-strip > button.archived i { background:#9299a5; }
.exam-lock-banner { display:flex; align-items:center; gap:14px; margin-bottom:14px; padding:15px 18px; border:1px solid #d1d5dc; border-left:4px solid #697180; border-radius:10px; color:#4f5868; background:#f2f3f5; }
.exam-lock-banner > span { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#697180; }
.exam-lock-banner svg { width:16px; fill:none; stroke:currentColor; stroke-width:2; }
.exam-lock-banner div { display:grid; gap:3px; }
.exam-lock-banner strong { font-size:10px; }
.exam-lock-banner small { color:#7e8693; font-size:8px; }
.result-panel.archived { filter:saturate(.72); }
.archived-score-lock { border-color:#d4d8df; background:#f0f2f5; }
.admin-registration-archive .table-scroll { margin:0 18px 18px; border:1px solid #dfe2e7; border-radius:9px; background:#fff; }
.archive-readonly-label { color:#777f8d; font-size:8px; }
@media (max-width:620px) {
  .exam-card-actions { align-items:stretch; flex-direction:column; }
  .exam-archive-shelf > summary,.candidate-archive-fold > summary { padding:14px; }
  .archived-exam-grid { padding:12px; }
  .candidate-archive-fold .registration-cards,.candidate-archive-fold > .result-panel,.candidate-archive-fold > .admit-ticket { margin:12px; }
  .admin-registration-archive .table-scroll { margin:0 12px 12px; }
}

/* Role scopes, numbering and workflow studio */
.hidden { display:none !important; }
.scope-banner { display:flex; align-items:center; gap:14px; margin-bottom:14px; padding:14px 18px; border:1px solid #d8e1f3; border-radius:11px; background:linear-gradient(90deg,#edf2fb,#f9fbff); }
.scope-banner > span { padding:5px 9px; border-radius:6px; color:#fff; background:var(--navy); font-size:8px; font-weight:700; }
.scope-banner div { display:grid; gap:3px; }.scope-banner strong { font-size:10px; }.scope-banner small { color:var(--muted); font-size:8px; }
.admin-level { display:inline-flex; padding:5px 8px; border-radius:6px; font-size:8px; font-weight:700; }
.level-super { color:#9f3932; background:#fbe6e4; }.level-school { color:#294d99; background:#e7edf9; }.level-class { color:#237259; background:#e2f2ec; }
.candidate-flow-note { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin:20px 20px 0; padding:12px 14px; border-left:3px solid var(--amber); border-radius:8px; background:#fff7e8; }
.candidate-flow-note span,.candidate-flow-note small { color:#94713a; font-size:8px; }.candidate-flow-note strong { font-size:10px; }
.center-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.center-card { padding:20px; }.center-card header { display:flex; justify-content:space-between; gap:15px; }.center-card header span { color:var(--blue); font-size:8px; }.center-card h2 { margin:5px 0 0; font-family:"STKaiti"; font-size:21px; font-weight:400; }.center-card dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0; }.center-card dl div { padding:10px; border-radius:7px; background:#f7f8fb; }.center-card dt { color:#969dac; font-size:7px; }.center-card dd { margin:4px 0 0; font-size:9px; }.room-map { padding:13px; border:1px dashed #cbd4e5; border-radius:8px; }.room-map span { color:#8b94a7; font-size:7px; }.room-map p { margin:7px 0 0; color:#4f5b73; font-family:Consolas,monospace; font-size:9px; line-height:1.8; }.center-card footer { margin-top:13px; color:#9299a9; font-size:7px; }
.number-rule-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.55fr); gap:16px; }.rule-builder { overflow:hidden; }.rule-builder .panel-title { height:auto; min-height:72px; }.rule-builder .panel-title p { margin:4px 0 0; color:var(--muted); font-size:8px; }.rule-builder form { display:grid; gap:17px; padding:20px; }.rule-builder label { display:grid; gap:7px; }.rule-builder label > span { color:#555f75; font-size:9px; font-weight:700; }.rule-builder input { min-height:42px; padding:8px 11px; border:1px solid #dce1ea; border-radius:8px; background:#fff; font-size:10px; }.segment-builder { display:grid; gap:8px; }.segment-option { grid-template-columns:20px 60px 1fr 92px 55px; align-items:center; gap:10px; padding:11px; border:1px solid var(--line); border-radius:9px; background:#fafbfc; }.segment-option.selected { border-color:#b8c5df; background:#f4f7fd; }.segment-option > input[type="checkbox"] { width:15px; height:15px; min-height:0; }.segment-order { display:grid; gap:2px; }.segment-order small { color:#989faf; font-size:6px; }.segment-order input,.segment-value,.segment-width { min-height:31px !important; padding:5px 7px !important; }.segment-copy { display:grid; gap:3px; }.segment-copy strong { font-size:9px; }.segment-copy small { color:#8f97a8; font-size:7px; }.rule-preview { position:relative; min-height:270px; display:flex; flex-direction:column; justify-content:center; padding:28px; border-radius:var(--radius); color:#fff; background:var(--navy); overflow:hidden; }.rule-preview::after { content:"号"; position:absolute; right:-18px; bottom:-75px; color:rgba(255,255,255,.04); font-family:"STKaiti"; font-size:180px; }.rule-preview span { color:#8291bc; font-size:8px; }.rule-preview strong { position:relative; z-index:1; margin:12px 0; font-family:Consolas,monospace; font-size:clamp(18px,2vw,29px); letter-spacing:1px; word-break:break-all; }.rule-preview p { color:#b8c2de; font-size:8px; }.rule-preview small { margin-top:auto; color:#8997bc; font-size:7px; line-height:1.8; }
.workflow-design-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.workflow-designer { overflow:hidden; }.workflow-designer > header { display:flex; justify-content:space-between; align-items:flex-start; padding:19px 20px; border-bottom:1px solid var(--line); }.workflow-designer header span { color:#8993a8; font-family:Consolas,monospace; font-size:7px; letter-spacing:1px; }.workflow-designer h2 { margin:5px 0 0; font-family:"STKaiti"; font-size:20px; font-weight:400; }.workflow-designer form { display:grid; gap:14px; padding:18px; }.workflow-designer form > input { min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; font-size:10px; }.workflow-step-editor { position:relative; display:grid; gap:8px; }.workflow-step-editor::before { content:""; position:absolute; top:19px; bottom:19px; left:17px; width:2px; background:#dfe5f0; }.workflow-step-row { position:relative; z-index:1; display:grid; grid-template-columns:34px 1fr 125px 26px; align-items:center; gap:8px; }.workflow-step-row > i { width:34px; height:34px; border:7px solid #fff; border-radius:50%; background:var(--blue); box-shadow:0 0 0 1px #cbd5e8; }.workflow-step-row input,.workflow-step-row select { min-height:37px; padding:7px 9px; border:1px solid var(--line); border-radius:7px; background:#fff; font-size:9px; }.workflow-step-row button { width:26px; height:26px; border:0; border-radius:6px; color:var(--red); background:#fbe9e7; }
.workflow-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.workflow-card { overflow:hidden; }.workflow-card > header { display:flex; justify-content:space-between; gap:14px; padding:18px 20px; border-bottom:1px solid var(--line); }.workflow-card header span:first-child { color:var(--blue); font-size:7px; }.workflow-card h2 { margin:5px 0; font-family:"STKaiti"; font-size:19px; font-weight:400; }.workflow-card header p { margin:0; color:#8f97a8; font-size:7px; }.workflow-track,.flow-detail-track { display:flex; overflow-x:auto; padding:18px 20px; }.workflow-track > div,.flow-detail-track > div { position:relative; min-width:130px; display:grid; grid-template-columns:28px 1fr; align-items:center; gap:7px; }.workflow-track > div:not(:last-child)::after,.flow-detail-track > div:not(:last-child)::after { content:""; position:absolute; top:13px; left:28px; right:0; height:1px; background:#dbe1ec; }.workflow-track i,.flow-detail-track i { position:relative; z-index:1; width:27px; height:27px; display:grid; place-items:center; border:1px solid #ccd4e2; border-radius:50%; color:#8a93a5; background:#fff; font-size:8px; font-style:normal; }.workflow-track .done i,.flow-detail-track .done i { border-color:var(--jade); color:#fff; background:var(--jade); }.workflow-track .current i,.flow-detail-track .current i { border-color:var(--red); color:#fff; background:var(--red); box-shadow:0 0 0 5px rgba(200,71,61,.1); }.workflow-track span,.flow-detail-track span { z-index:1; display:grid; gap:2px; padding-right:8px; background:#fff; }.workflow-track strong,.flow-detail-track strong { font-size:8px; }.workflow-track small,.flow-detail-track small { color:#9199a9; font-size:6px; }.workflow-owner { display:grid; grid-template-columns:90px 1fr auto; align-items:center; gap:8px; margin:0 20px 16px; padding:10px 12px; border-radius:7px; background:#f5f7fb; }.workflow-owner span,.workflow-owner small { color:#8e96a7; font-size:7px; }.workflow-owner strong { font-size:9px; }.workflow-card > footer { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; border-top:1px solid var(--line); }.workflow-card footer > span { color:#8f97a8; font-size:7px; }
.flow-history { padding:0 24px 5px; }.flow-history h3,.supervisor-form h3 { margin:5px 0 13px; font-family:"STKaiti"; font-size:17px; font-weight:400; }.flow-history > div { display:grid; grid-template-columns:12px 1fr auto; gap:8px; padding:9px 0; border-top:1px solid #edf0f5; }.flow-history i { width:7px; height:7px; margin-top:4px; border-radius:50%; background:var(--blue); }.flow-history span { display:grid; gap:3px; }.flow-history strong { font-size:8px; }.flow-history small,.flow-history time { color:#929aaa; font-size:7px; }.compact-flow-form,.supervisor-form { margin-top:12px; padding-bottom:20px; border-top:1px solid var(--line); }.supervisor-form { margin-top:0; background:#f8f5ee; }.read-only-callout { margin:16px 24px; padding:12px; border-radius:8px; color:#7c6a4b; background:#fff4dd; font-size:8px; }
.results-admin-grid.read-only { grid-template-columns:1fr; }.results-admin-grid.read-only .published-results { max-width:none; }

/* Controlled test-site dossiers and batch numbering */
.center-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:15px; }.center-summary > div { display:flex; align-items:baseline; gap:8px; padding:16px 18px; border:1px solid var(--line); border-radius:11px; background:#fff; }.center-summary span { color:#8790a2; font-size:8px; }.center-summary strong { margin-left:auto; color:var(--navy); font-family:Georgia,serif; font-size:24px; font-weight:400; }.center-dossier-grid { display:grid; gap:16px; }.center-dossier { overflow:hidden; }.center-dossier > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:19px 21px; border-bottom:1px solid var(--line); background:linear-gradient(100deg,#fff,#f7f9fd); }.center-dossier > header > div:last-child { display:flex; align-items:center; gap:8px; }.center-dossier header span { color:#70809f; font-size:8px; }.center-dossier header h2 { margin:5px 0 0; font-family:"STKaiti"; font-size:22px; font-weight:400; }.pending-mark { padding:5px 8px; border-radius:6px; color:#99631d !important; background:#fff0d3; font-weight:700; }.row-action:disabled { color:#9ca4b3; cursor:not-allowed; }.center-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border-bottom:1px solid var(--line); background:var(--line); }.center-metrics > div { display:flex; align-items:baseline; gap:5px; padding:14px 20px; background:#fff; }.center-metrics small { margin-right:auto; color:#9098a9; font-size:7px; }.center-metrics strong { font-family:Georgia,serif; font-size:19px; font-weight:400; }.center-metrics span { color:#8f97a8; font-size:7px; }.center-profile { display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin:0; padding:18px 21px; }.center-profile div { display:grid; grid-template-columns:74px 1fr; gap:7px; }.center-profile dt { color:#949cac; font-size:7px; }.center-profile dd { margin:0; color:#556077; font-size:8px; line-height:1.6; }.room-table-wrap { margin:0 20px 18px; overflow:auto; border:1px solid var(--line); border-radius:9px; }.room-table th { background:#f3f6fb; }.center-dossier > footer { display:flex; justify-content:space-between; gap:15px; padding:12px 21px; border-top:1px solid var(--line); color:#8b94a5; font-size:7px; }.center-change-ledger { margin-top:16px; overflow:hidden; }.center-change-ledger .panel-title { min-height:70px; height:auto; }.center-change-ledger .panel-title p { margin:4px 0 0; color:#8b94a5; font-size:7px; }.modal-card:has(.center-dossier-form) { width:min(980px,100%); }.center-dossier-form { gap:18px; }.center-form-section { display:grid; gap:13px; padding:16px; border:1px solid var(--line); border-radius:10px; background:#fbfcfe; }.center-form-section > h3,.center-form-section > header h3 { margin:0; font-family:"STKaiti"; font-size:18px; font-weight:400; }.center-form-section > header { display:flex; align-items:center; justify-content:space-between; gap:15px; }.center-form-section > header p { margin:4px 0 0; color:#8f97a8; font-size:7px; }.rooms-section > div { display:grid; gap:10px; }.center-room-editor { overflow:hidden; border:1px solid #dce3ef; border-radius:9px; background:#fff; }.center-room-editor > header { display:flex; align-items:center; justify-content:space-between; padding:9px 12px; background:#f1f4fa; }.center-room-editor > header span { color:#5e6c87; font-size:8px; font-weight:700; }.center-room-editor > header button { border:0; color:#a74c45; background:transparent; font-size:7px; }.room-editor-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; padding:12px; }.room-editor-grid label { min-width:0; }.room-editor-grid input,.room-editor-grid select { width:100%; }.room-editor-grid .room-notes { grid-column:span 2; }.approval-callout { display:flex; align-items:center; gap:12px; padding:12px 14px; border-left:3px solid var(--amber); border-radius:8px; background:#fff7e9; }.approval-callout strong { color:#765c30; font-size:9px; }.approval-callout span { color:#94794d; font-size:8px; }.batch-number-panel { margin-top:16px; padding:21px; background:linear-gradient(120deg,#fff 0 65%,#f0f4fb); }.batch-number-intro span { color:#7786a5; font-family:Consolas,monospace; font-size:7px; letter-spacing:1.2px; }.batch-number-intro h2 { margin:5px 0; font-family:"STKaiti"; font-size:22px; font-weight:400; }.batch-number-intro p { margin:0; color:#8790a2; font-size:8px; }.batch-number-panel form { display:grid; grid-template-columns:1fr 1fr 130px auto; align-items:end; gap:12px; margin-top:18px; }.batch-number-panel form label { display:grid; gap:6px; }.batch-number-panel form label span { color:#68738a; font-size:8px; font-weight:700; }.batch-number-panel select { min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:9px; }.batch-ready { display:flex; align-items:baseline; gap:5px; min-height:40px; padding:8px 12px; border:1px solid #d6dfef; border-radius:8px; background:#f5f8fd; }.batch-ready small { margin-right:auto; color:#7f899d; font-size:7px; }.batch-ready strong { color:var(--blue); font-family:Georgia,serif; font-size:20px; }.batch-ready span { color:#8892a5; font-size:7px; }.batch-candidate-strip { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; padding-top:13px; border-top:1px solid var(--line); }.batch-candidate-strip > span { display:grid; gap:2px; padding:7px 9px; border-radius:7px; background:#f2f5fa; }.batch-candidate-strip b { font-size:8px; }.batch-candidate-strip small,.batch-candidate-strip p,.batch-candidate-strip em { color:#8a93a5; font-size:7px; font-style:normal; }.flow-center-snapshot { margin:18px 24px 4px; padding:14px; border:1px solid #dce3ef; border-radius:10px; background:#f7f9fd; }.flow-center-snapshot header { display:flex; justify-content:space-between; align-items:center; }.flow-center-snapshot header span { color:#8390a8; font-size:7px; }.flow-center-snapshot h3 { margin:3px 0 0; font-size:12px; }.flow-center-snapshot header b { color:var(--blue); font-size:9px; }.flow-center-snapshot dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0; }.flow-center-snapshot dl div { display:grid; grid-template-columns:62px 1fr; gap:6px; }.flow-center-snapshot dt { color:#929bad; font-size:7px; }.flow-center-snapshot dd { margin:0; font-size:8px; }.flow-center-snapshot > div { display:flex; flex-wrap:wrap; gap:6px; }.flow-center-snapshot > div span { display:grid; gap:2px; padding:6px 8px; border-radius:6px; background:#fff; }.flow-center-snapshot > div strong { font-size:8px; }.flow-center-snapshot > div small { color:#8d96a8; font-size:7px; }
.payment-summary { grid-template-columns:repeat(5,1fr); }.payment-summary strong { font-size:18px; }.registration-info dd > small { display:block; margin-top:5px; color:#8d95a5; font-family:inherit; font-size:7px; }

/* Candidate account issuance and first-login onboarding */
.registration-closed { display:grid; gap:12px; padding:20px; border:1px solid #dde3ee; border-radius:11px; background:#f7f9fc; }.registration-closed strong { font-family:"STKaiti"; font-size:20px; font-weight:400; }.registration-closed span { color:#7f889b; font-size:9px; line-height:1.8; }
.issued-number { display:grid; justify-items:center; gap:10px; padding:32px 24px; text-align:center; }.issued-number > span { color:#818ca4; font-size:8px; }.issued-number > strong { padding:13px 18px; border:1px dashed #aebbd4; border-radius:9px; color:var(--navy); background:#f4f7fd; font-family:Consolas,monospace; font-size:25px; letter-spacing:1px; }.issued-number p { max-width:420px; margin:0; color:#858ea1; font-size:8px; line-height:1.8; }
.onboarding-page { min-height:100vh; display:grid; grid-template-columns:minmax(330px,36%) 1fr; background:#f3f5f9; }.onboarding-identity { position:sticky; top:0; min-height:100vh; display:flex; flex-direction:column; align-items:flex-start; padding:42px clamp(30px,5vw,72px); color:#fff; background:var(--navy); }.onboarding-identity > span { margin-top:82px; color:#8593ba; font-size:8px; letter-spacing:1px; }.onboarding-identity > strong { max-width:100%; margin:10px 0 15px; overflow-wrap:anywhere; font-family:Consolas,monospace; font-size:clamp(22px,3vw,36px); letter-spacing:1px; }.onboarding-identity > p { max-width:390px; margin:0; color:#abb6d2; font-size:10px; line-height:1.9; }.onboarding-identity > button { margin-top:auto; border:0; color:#98a6ca; background:transparent; font-size:8px; }.onboarding-steps { width:100%; display:grid; gap:0; margin-top:55px; }.onboarding-steps > div { position:relative; display:grid; grid-template-columns:34px 1fr; gap:12px; min-height:72px; opacity:.45; }.onboarding-steps > div:not(:last-child)::after { content:""; position:absolute; top:34px; bottom:0; left:16px; width:1px; background:#53638d; }.onboarding-steps > div.current,.onboarding-steps > div.done { opacity:1; }.onboarding-steps i { z-index:1; width:34px; height:34px; display:grid; place-items:center; border:1px solid #63739d; border-radius:50%; color:#c1cae0; background:var(--navy); font-size:9px; font-style:normal; }.onboarding-steps .current i { border-color:#fff; color:var(--navy); background:#fff; box-shadow:0 0 0 6px rgba(255,255,255,.08); }.onboarding-steps .done i { border-color:var(--jade); color:#fff; background:var(--jade); }.onboarding-steps span { display:grid; align-content:start; gap:4px; padding-top:3px; }.onboarding-steps b { font-size:10px; }.onboarding-steps small { color:#96a3c5; font-size:7px; }.onboarding-work { width:min(900px,100%); padding:55px clamp(24px,5vw,70px) 70px; }.onboarding-work-head { margin-bottom:24px; }.onboarding-work-head > span { color:#7d89a2; font-family:Consolas,monospace; font-size:8px; letter-spacing:1.5px; }.onboarding-work-head h1 { margin:8px 0; font-family:"STKaiti"; font-size:34px; font-weight:400; }.onboarding-work-head p { margin:0; color:#828b9d; font-size:9px; }.password-onboarding { max-width:560px; padding:23px; }.password-rule { display:grid; gap:4px; margin-bottom:18px; padding:12px; border-left:3px solid var(--blue); background:#eef3fb; }.password-rule b { font-size:9px; }.password-rule span { color:#6e7990; font-size:8px; }.password-onboarding form { display:grid; gap:14px; }.onboarding-profile .profile-form { padding-top:0; }.profile-form .wide-field { grid-column:span 2; }
.registration-policy { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:15px; padding:20px 22px; background:linear-gradient(110deg,#fff,#f1f5fc); }.registration-policy > div > span { color:#7483a3; font-family:Consolas,monospace; font-size:7px; letter-spacing:1px; }.registration-policy h2 { margin:5px 0; font-family:"STKaiti"; font-size:21px; font-weight:400; }.registration-policy p { margin:0; color:#848d9f; font-size:8px; }.registration-policy form { display:flex; align-items:center; gap:11px; }.policy-state { padding:6px 9px; border-radius:99px; color:#8b5f22; background:#fff0d4; font-size:8px; font-weight:700; }.policy-state.open { color:#247157; background:#e2f2ec; }.onboarding-badge { display:inline-flex; padding:5px 8px; border-radius:6px; color:#8a6229; background:#fff0d6; font-size:8px; font-weight:700; }.account-issue-note { display:flex; align-items:center; gap:10px; padding:11px 13px; border-radius:8px; color:#6d5733; background:#fff5e3; }.account-issue-note strong { font-size:8px; }.account-issue-note span { font-size:7px; }.account-number-principle { display:grid; grid-template-columns:auto 1fr; gap:4px 18px; margin-bottom:15px; padding:17px 20px; border-left:4px solid var(--blue); border-radius:10px; color:#fff; background:var(--navy); }.account-number-principle span { grid-row:1/3; align-self:center; color:#8290b5; font-family:Consolas,monospace; font-size:7px; writing-mode:vertical-rl; letter-spacing:1px; }.account-number-principle strong { font-family:"STKaiti"; font-size:20px; font-weight:400; }.account-number-principle p { margin:0; color:#aeb8d2; font-size:8px; }

.account-security-panel { max-width:820px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr); gap:34px; padding:28px; }
.account-security-stack { display:grid; gap:18px; }
.account-security-copy > span,.candidate-archive-console > div > span { color:#7483a3; font-family:Consolas,monospace; font-size:7px; letter-spacing:1px; }
.account-security-copy h2,.candidate-archive-console h2 { margin:7px 0; font-family:"STKaiti"; font-size:24px; font-weight:400; }
.account-security-copy p,.candidate-archive-console p { margin:0; color:#818b9e; font-size:8px; line-height:1.8; }
.account-security-copy dl { display:grid; gap:9px; margin:24px 0 0; }.account-security-copy dl div { display:grid; grid-template-columns:80px 1fr; gap:9px; padding:9px 0; border-top:1px solid var(--line); }
.account-security-copy dt { color:#929bad; font-size:7px; }.account-security-copy dd { margin:0; font-size:9px; }
.account-password-form { display:grid; gap:14px; padding:20px; border:1px solid var(--line); border-radius:10px; background:#f8fafd; }.account-password-form label { display:grid; gap:6px; }.account-password-form label span { color:#5e6980; font-size:8px; font-weight:700; }.account-password-form input { min-height:42px; padding:9px 11px; border:1px solid #dce2ed; border-radius:8px; background:#fff; }
.totp-security-panel { position:relative; overflow:hidden; border-color:#ccd8ed; }
.totp-security-panel::after { position:absolute; right:-42px; top:-62px; width:170px; height:170px; border:1px solid #dbe5f5; border-radius:50%; box-shadow:0 0 0 26px rgba(225,234,248,.42),0 0 0 52px rgba(225,234,248,.2); content:""; pointer-events:none; }
.totp-security-panel > * { position:relative; z-index:1; }
.form-hint { margin:0; color:#7a8599; font-size:8px; line-height:1.7; }
.totp-signal { display:grid; grid-template-columns:10px auto 1fr; align-items:center; gap:8px; margin-top:22px; padding:11px 13px; border:1px solid #bfdfd1; border-radius:9px; background:#f1faf6; color:#246449; }
.totp-signal i { width:9px; height:9px; border-radius:50%; background:#2a9b6d; box-shadow:0 0 0 4px rgba(42,155,109,.13); }
.totp-signal strong { font-size:9px; }.totp-signal span { justify-self:end; color:#56806e; font-size:7px; }
.totp-security-actions { display:grid; align-content:start; gap:10px; }
.totp-security-actions details { border:1px solid var(--line); border-radius:10px; background:#f8fafd; }
.totp-security-actions summary { padding:14px 16px; color:#43516a; font-size:9px; font-weight:700; cursor:pointer; }
.totp-security-actions details[open] summary { border-bottom:1px solid var(--line); }
.totp-security-actions .account-password-form { border:0; border-radius:0 0 10px 10px; }
.danger-details summary { color:#9d413e; }.danger-button { min-height:40px; padding:9px 14px; border:1px solid #d9a5a1; border-radius:8px; background:#fff4f3; color:#9d3430; font:700 8px inherit; cursor:pointer; }
.totp-setup-grid { display:grid; grid-template-columns:240px 1fr; gap:22px; padding:0 24px 18px; align-items:center; }
.totp-qr { display:grid; place-items:center; padding:8px; border:1px solid #dce4f1; border-radius:12px; background:#fff; }
.totp-qr img { display:block; width:100%; height:auto; }
.totp-manual { display:grid; gap:10px; min-width:0; }.totp-manual > span { color:#65728a; font-size:8px; }.totp-manual code { overflow-wrap:anywhere; color:#263d67; font:700 11px/1.7 Consolas,monospace; letter-spacing:1px; }.totp-manual small { color:#8a94a6; font-size:7px; line-height:1.6; }
.totp-confirm-form { border-top:1px solid var(--line); }.totp-login-form input,.totp-confirm-form input { font:700 18px Consolas,monospace; letter-spacing:5px; text-align:center; }
.recovery-code-sheet { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:0 24px 16px; padding:16px; border:1px dashed #bdcbe0; border-radius:10px; background:#f7f9fd; }
.recovery-code-sheet code { color:#263d67; font:700 11px Consolas,monospace; letter-spacing:.8px; text-align:center; }
.security-warning { margin:0 24px; padding:10px 12px; border-left:3px solid #c69037; background:#fff9ed; color:#7a633c; font-size:8px; line-height:1.7; }
.candidate-archive-console { display:flex; align-items:center; justify-content:space-between; gap:26px; margin-bottom:15px; padding:20px 22px; background:linear-gradient(110deg,#fff,#f3f6fb); }.archive-controls { min-width:420px; display:grid; grid-template-columns:minmax(180px,1fr) auto auto; gap:9px; }.archive-controls select { min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:9px; }.archive-button { background:#9f463f; }.account-archived-row { opacity:.7; background:#f5f6f8; }.candidate-account-actions { display:flex; flex-wrap:wrap; gap:6px; }
.reset-warning { padding:14px; border-left:3px solid var(--red); border-radius:8px; background:#fceceb; }.reset-warning strong { font-size:9px; }.reset-warning p { margin:5px 0 0; color:#875b58; font-size:8px; line-height:1.7; }

/* Admin readability: retain the information-dense layout while lifting microcopy to a readable floor. */
.admin-readable .portal-role { font-size:11px; }
.admin-readable .portal-sidebar nav button { font-size:13px; }
.admin-readable .portal-sidebar nav button em { font-size:10px; }
.admin-readable .sidebar-help span,.admin-readable .sidebar-help small { font-size:11px; }
.admin-readable .sidebar-help strong { font-size:13px; }
.admin-readable .portal-topbar > div:first-of-type,.admin-readable .portal-user > span strong { font-size:12px; }
.admin-readable .portal-user > span small { font-size:11px; }
.admin-readable .portal-heading > div > p:last-child,.admin-readable .heading-status { font-size:13px; line-height:1.65; }
.admin-readable .portal-content { line-height:1.55; }
.admin-readable .portal-content :where(p,small,time,dt,dd,label > span,th,td,button,input,select,textarea,em) { font-size:12px !important; }
.admin-readable .portal-content span:not(:has(svg)):not(.status):not(.user-avatar) { font-size:12px !important; }
.admin-readable .portal-content :where(td strong,button strong,p strong) { font-size:12px !important; }
.admin-readable .portal-content .status,.admin-readable .portal-content .overline { font-size:11px !important; }

@media (max-width: 1000px) { .candidate-archive-console { align-items:flex-start; flex-direction:column; }.archive-controls { width:100%; min-width:0; } }
@media (max-width: 620px) { .account-security-panel { grid-template-columns:1fr; padding:18px; }.archive-controls { grid-template-columns:1fr; }.totp-setup-grid { grid-template-columns:1fr; padding:0 18px 16px; }.totp-qr { width:min(240px,100%); justify-self:center; }.recovery-code-sheet { grid-template-columns:1fr; margin-inline:18px; }.security-warning { margin-inline:18px; } }

@media (max-width: 1000px) {
  .number-rule-layout,.workflow-design-grid,.workflow-board,.center-grid { grid-template-columns:1fr; }.batch-number-panel form { grid-template-columns:1fr 1fr; }.room-editor-grid { grid-template-columns:repeat(3,1fr); }.onboarding-page { grid-template-columns:290px 1fr; }.onboarding-identity { padding:32px 28px; }.onboarding-work { padding:42px 28px 60px; }
}
@media (max-width: 620px) {
  .scope-banner { align-items:flex-start; }.candidate-flow-note { grid-template-columns:1fr; }.segment-option { grid-template-columns:18px 52px 1fr; }.segment-value,.segment-width { grid-column:2/-1; }.workflow-step-row { grid-template-columns:28px 1fr 26px; }.workflow-step-row > i { width:28px;height:28px; }.workflow-step-row select { grid-column:2/3; }.workflow-owner { grid-template-columns:1fr; }.center-card dl { grid-template-columns:1fr; }.number-rule-layout { display:block; }.rule-preview { margin-top:14px; }.center-summary,.center-metrics,.center-profile,.batch-number-panel form,.room-editor-grid,.flow-center-snapshot dl { grid-template-columns:1fr; }.center-dossier > header,.center-dossier > footer,.center-form-section > header,.approval-callout { align-items:flex-start; flex-direction:column; }.center-dossier > header > div:last-child { flex-wrap:wrap; }.room-editor-grid .room-notes { grid-column:auto; }.onboarding-page { display:block; }.onboarding-identity { position:relative; min-height:auto; padding:25px 20px; }.onboarding-identity > span { margin-top:35px; }.onboarding-identity > p { display:none; }.onboarding-identity > button { position:absolute; top:26px; right:20px; }.onboarding-steps { margin-top:30px; }.onboarding-steps > div { min-height:58px; }.onboarding-work { padding:30px 14px 45px; }.profile-form .wide-field { grid-column:auto; }.registration-policy { align-items:flex-start; flex-direction:column; }.registration-policy form { width:100%; justify-content:space-between; }.account-number-principle { grid-template-columns:1fr; }.account-number-principle span { grid-row:auto; writing-mode:horizontal-tb; }
}

/* 中考志愿与招生录取：唯一强调元素是贯穿全流程的进度轨道。 */
.admission-command-banner { display:flex; justify-content:space-between; gap:28px; margin-bottom:18px; padding:26px 30px; border-radius:14px; color:#fff; background:linear-gradient(118deg,#17375f 0%,#245783 62%,#2b7180 100%); box-shadow:0 16px 34px rgba(23,55,95,.18); }
.admission-command-banner > div span { color:#9fcad5; font:700 10px/1.2 Consolas,monospace; letter-spacing:1.8px; }.admission-command-banner h2 { margin:8px 0 6px; font-size:24px; }.admission-command-banner p { max-width:650px; margin:0; color:#dceaf0; line-height:1.7; }.admission-command-banner dl { display:grid; grid-template-columns:repeat(4,minmax(70px,1fr)); gap:10px; margin:0; }.admission-command-banner dl div { padding:12px; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:rgba(255,255,255,.07); }.admission-command-banner dt { color:#b8d6df; }.admission-command-banner dd { margin:4px 0 0; font-size:22px; font-weight:800; }
.admission-admin-grid { display:grid; grid-template-columns:1.35fr .85fr; gap:16px; margin-bottom:16px; }.admission-settings-panel form,.admission-account-panel form,.admission-plan-console form { display:grid; gap:12px; }.admission-control-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.admission-admin-grid.single { grid-template-columns:1fr; }
.admission-candidate-list { display:grid; gap:18px; }.admission-candidate-card { padding:24px; }.admission-candidate-card > header { display:flex; justify-content:space-between; gap:18px; }.admission-candidate-card > header span { color:var(--muted); font:700 10px Consolas,monospace; }.admission-candidate-card h2 { margin:5px 0 0; }
.admission-progress-track { position:relative; display:grid; grid-template-columns:repeat(4,1fr); margin:26px 0; }.admission-progress-track::before { content:""; position:absolute; top:15px; left:10%; right:10%; height:2px; background:#dbe4ec; }.admission-progress-track div { position:relative; z-index:1; display:grid; justify-items:center; gap:7px; color:#8190a0; }.admission-progress-track i { display:grid; place-items:center; width:32px; height:32px; border:2px solid #dbe4ec; border-radius:50%; background:#fff; font-style:normal; font-weight:800; }.admission-progress-track .done i,.admission-progress-track .current i { border-color:#287486; color:#fff; background:#287486; }.admission-progress-track .current i { box-shadow:0 0 0 6px rgba(40,116,134,.12); }.admission-progress-track .done,.admission-progress-track .current { color:#214d5a; font-weight:700; }
.admission-score-strip { display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:10px; background:#f2f7f8; }.admission-score-strip strong { margin-right:auto; font-size:18px; }.admission-score-strip em { color:#287486; font-style:normal; font-weight:700; }.admission-progress-copy { color:var(--muted); }.admission-result-banner { display:grid; gap:4px; margin:14px 0; padding:16px; border-left:4px solid #287486; border-radius:8px; background:#eef7f8; }.admission-result-banner strong { font-size:17px; }
.preference-form { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }.preference-form-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:12px; }.preference-form-head small { display:block; margin-top:4px; color:var(--muted); }.preference-choice-list { display:grid; gap:9px; margin-bottom:14px; }.preference-choice-list label { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:9px; }.preference-choice-list b { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:#244e72; }.preference-choice-list select,.placement-review-form select,.placement-review-form input { min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; }.locked-preferences { display:grid; gap:8px; margin-top:16px; }.locked-preferences > strong { margin-bottom:2px; color:#27384e; }.locked-preferences > span,.admin-preference-choices > span { display:flex; align-items:center; gap:12px; padding:11px 13px; border:1px solid #e2e8ee; border-radius:9px; background:#f7f9fb; }.locked-preferences b,.admin-preference-choices b { flex:0 0 35px; color:#287486; font-size:11px; text-align:center; }.locked-preferences i,.admin-preference-choices i { display:grid; gap:3px; font-style:normal; }.locked-preferences small,.admin-preference-choices small { color:#7d8998; }.admin-preference-choices { display:grid; gap:6px; min-width:300px; }
.read-only-callout.warning { border-left:3px solid #b27b2d; color:#75531f; background:#fff8e9; }

/* 录取结果通知沿用正式通知书的“签发栏”语汇，以状态与校名为阅读主线。 */
.admission-notification-stack { display:grid; gap:12px; margin-bottom:18px; }
.admission-notification { position:relative; display:grid; grid-template-columns:92px minmax(0,1fr) auto; overflow:hidden; border:1px solid #cad9df; border-radius:14px; color:#24354b; background:linear-gradient(105deg,#f5fafb 0 92px,#fff 92px); box-shadow:0 14px 34px rgba(23,55,95,.08); }
.admission-notification::after { content:""; position:absolute; inset:0 0 auto 92px; height:4px; background:linear-gradient(90deg,#287486,#d2ad62 70%,transparent); }
.admission-notification-mark { display:grid; align-content:space-between; justify-items:center; padding:20px 12px; color:#dcebed; background:#17375f; }.admission-notification-mark span { writing-mode:vertical-rl; color:#9fc8cd; font:700 10px Consolas,monospace; letter-spacing:.18em; }.admission-notification-mark strong { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.35); border-radius:50%; font:400 18px Georgia,serif; }
.admission-notification-copy { min-width:0; padding:23px 26px 20px; }.admission-notification-copy header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.admission-notification-copy header span { color:#287486; font-size:11px; font-weight:800; letter-spacing:.08em; }.admission-notification-copy h2 { margin:5px 0 0; font:700 24px/1.25 STKaiti,KaiTi,serif; }.admission-notification-copy time { color:#8793a2; font-size:11px; white-space:nowrap; }.admission-notification-copy > p { margin:12px 0 17px; color:#566478; }
.admission-notification-copy dl { display:flex; flex-wrap:wrap; gap:0; margin:0; border-top:1px solid #e2e8ed; }.admission-notification-copy dl div { min-width:150px; padding:12px 24px 0 0; }.admission-notification-copy dt { color:#9099a7; font-size:10px; }.admission-notification-copy dd { margin:4px 0 0; font-weight:700; }
.admission-notification-status { align-self:start; margin:22px 22px 0 0; padding:7px 11px; border:1px solid #a6cfc7; border-radius:999px; color:#17665b; background:#e7f5f1; font-size:11px; font-weight:800; white-space:nowrap; }
.admission-notification.invalid { border-color:#dfcecb; }.admission-notification.invalid::after { background:linear-gradient(90deg,#9c5c55,#d2ad62 70%,transparent); }.admission-notification.invalid .admission-notification-mark { background:#6f3f43; }.admission-notification.invalid .admission-notification-status { border-color:#e1c6c1; color:#8a4941; background:#faece9; }
@media (max-width:700px) { .admission-notification { grid-template-columns:58px minmax(0,1fr); }.admission-notification::after { left:58px; }.admission-notification-mark { padding:17px 8px; }.admission-notification-copy { padding:20px 16px; }.admission-notification-copy header { display:grid; gap:6px; }.admission-notification-status { grid-column:2; grid-row:2; justify-self:start; margin:0 16px 16px; }.admission-notification-copy dl { display:grid; grid-template-columns:1fr 1fr; }.admission-notification-copy dl div { min-width:0; } }
.placement-review-form { display:grid; min-width:210px; gap:7px; }.public-admission-board { margin-bottom:18px; overflow:hidden; }.public-admission-board > header { display:flex; justify-content:space-between; padding:20px 22px; color:#fff; background:#214d5a; }.public-admission-board h3 { margin:5px 0 0; font-size:19px; }.public-admission-board table { margin:0; }
.placement-review-ledger { margin-bottom:16px; overflow:hidden; }.placement-review-ledger .data-toolbar { flex-wrap:wrap; }.placement-review-ledger table { min-width:1250px; }.placement-review-ledger td > small,.placement-review-ledger td > strong { display:block; margin-top:3px; }.placement-status-pills,.account-status-pills { margin:0 24px 12px; }.placement-bulk-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 24px 16px; padding:14px 16px; border:1px solid #d8e2e9; border-radius:10px; background:#f6f9fb; }.placement-bulk-toolbar > label,.placement-bulk-toolbar > div { display:flex; align-items:center; gap:10px; }.placement-bulk-toolbar input { width:17px; height:17px; }.placement-bulk-toolbar strong { margin-right:5px; color:#287486; }.placement-bulk-toolbar button { min-height:40px; }
@media (max-width:1000px) { .admission-command-banner { flex-direction:column; }.admission-admin-grid { grid-template-columns:1fr; } }
@media (max-width:620px) { .admission-command-banner { padding:20px; }.admission-command-banner dl { grid-template-columns:repeat(2,1fr); }.admission-progress-track span { font-size:9px; }.admission-score-strip,.preference-form-head { align-items:flex-start; flex-direction:column; }.admission-score-strip strong { margin-right:0; } }

/* 招生资格与计划台账：配额卡片是本轮的唯一结构化视觉重点。 */
.admission-plan-console.structured { padding:22px; margin-bottom:16px; }
.admission-categories-builder { display:grid; gap:12px; }
.admission-builder-head,.indicator-allocation-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admission-builder-head small,.indicator-allocation-head small { display:block; margin-top:3px; color:var(--muted); }
[data-admission-categories] { display:grid; gap:13px; }
.admission-category-editor { overflow:hidden; border:1px solid #d8e2ec; border-radius:12px; background:#fbfdfe; }
.admission-category-editor > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; color:#fff; background:linear-gradient(100deg,#244e72,#287486); }
.admission-category-editor > header div { display:flex; align-items:center; gap:10px; }.admission-category-editor > header span { color:#b9d8df; font:700 10px Consolas,monospace; }.admission-category-editor > header strong { font-size:13px; }
.admission-category-editor > header button { border:0; color:#dbeef1; background:transparent; cursor:pointer; }
.admission-category-fields { display:grid; grid-template-columns:1.2fr .55fr .7fr; gap:11px; padding:14px; }
.specialty-plan-fields { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:11px; padding:12px; border-left:3px solid #2b7e89; border-radius:8px; background:#edf7f7; }.specialty-plan-fields.hidden { display:none; }
.indicator-allocation-editor { padding:0 14px 14px; }.indicator-allocation-head { padding-top:12px; border-top:1px solid #dfe7ee; }
[data-indicator-allocations] { display:grid; gap:8px; margin-top:10px; }.indicator-allocation-row { display:grid; grid-template-columns:1fr 150px auto; align-items:end; gap:9px; padding:10px; border-radius:9px; background:#f1f5f8; }
.indicator-allocation-row label,.admission-category-fields label { display:grid; gap:5px; }.indicator-allocation-row label span,.admission-category-fields label > span,.school-role-selector > strong { color:#607087; font-size:11px; font-weight:700; }
.indicator-allocation-row input,.indicator-allocation-row select,.admission-category-fields input,.admission-category-fields select { width:100%; min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.preference-choice-row { display:grid; grid-template-columns:34px 1fr 1fr; align-items:end; gap:10px; padding:11px; border:1px solid #dce5eb; border-radius:10px; background:#f8fbfc; }
.preference-choice-list .preference-choice-row > b { align-self:center; }.preference-choice-list .preference-choice-row > label { display:grid; grid-template-columns:1fr; align-items:stretch; gap:5px; }.preference-choice-row label > span { color:#687789; font-size:10px; font-weight:700; }
.admission-score-strip > span b { margin-left:4px; color:#244e72; }.admission-score-strip > span:not(:first-child) { padding-left:12px; border-left:1px solid #cadde1; }
.school-type-summary { grid-template-columns:repeat(4,1fr); }.school-role-tags { display:flex; flex-wrap:wrap; gap:5px; }.school-role { padding:5px 8px; border-radius:99px; font-size:11px; font-weight:700; }.school-role.source { color:#245c72; background:#e5f2f7; }.school-role.admission { color:#3c6651; background:#e5f3eb; }
.school-role-selector { display:grid; gap:9px; padding:13px; border:1px solid var(--line); border-radius:10px; background:#f7f9fc; }.school-role-selector > div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.school-role-selector label { display:grid; grid-template-columns:auto 1fr; gap:9px; padding:11px; border:1px solid #dce3ed; border-radius:8px; background:#fff; }.school-role-selector label span { display:grid; gap:3px; }.school-role-selector small { color:var(--muted); }
.feature-score-console { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr); align-items:end; gap:24px; margin-bottom:15px; padding:21px; border-left:4px solid #287486; background:linear-gradient(105deg,#fff,#edf7f7); }.feature-score-console > div > span,.admission-export-bar > div > span { color:#2c7180; font:700 10px Consolas,monospace; letter-spacing:1.2px; }.feature-score-console h2 { margin:5px 0; }.feature-score-console p { margin:0; color:var(--muted); line-height:1.7; }.feature-score-console form { display:grid; grid-template-columns:1fr 130px auto; align-items:end; gap:10px; }.feature-score-console label { display:grid; gap:5px; }.feature-score-console select,.feature-score-console input,.admission-export-bar select { min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.admission-export-bar { display:grid; grid-template-columns:1fr minmax(250px,.5fr) auto; align-items:end; gap:18px; margin-bottom:15px; padding:20px 22px; border-left:4px solid #287486; background:linear-gradient(105deg,#fff,#eef7f8); }.admission-export-bar > div { display:grid; gap:4px; }.admission-export-bar label { display:grid; gap:5px; }.admission-export-bar small { color:var(--muted); }
.specialty-qualification-grid select:disabled { color:#8f99a8; background:#f1f3f6; }
.result-panel .result-summary { grid-template-columns:repeat(4,1fr); }
.result-panel .result-summary.qualified > span:last-child strong,.result-panel .result-summary.unqualified > span:last-child strong { color:var(--navy); }.result-panel .result-summary.qualified > span:nth-child(3) strong { color:#237358; }.result-panel .result-summary.unqualified > span:nth-child(3) strong { color:#a24f43; }
@media (max-width:1000px) { .admission-category-fields { grid-template-columns:1fr 1fr; }.admission-category-fields > label:first-child { grid-column:1/-1; }.feature-score-console,.admission-export-bar { grid-template-columns:1fr; }.school-type-summary { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px) { .admission-category-fields,.specialty-plan-fields,.indicator-allocation-row,.preference-choice-row,.school-role-selector > div,.feature-score-console form,.school-type-summary { grid-template-columns:1fr; }.admission-category-fields > label:first-child { grid-column:auto; }.preference-choice-list .preference-choice-row > b { justify-self:start; }.admission-builder-head,.indicator-allocation-head { align-items:flex-start; flex-direction:column; }.result-panel .result-summary { grid-template-columns:1fr; } }

.qualification-ledger-intro { margin-bottom:22px; padding:30px 34px; border-radius:22px; color:#fff; background:linear-gradient(125deg,#17375f,#245783 68%,#287486); box-shadow:0 18px 40px rgba(23,55,95,.18); }
.qualification-ledger-intro span,.announcement-hero .overline { color:#a9d9df; font:700 12px/1.4 Consolas,monospace; letter-spacing:.16em; }
.qualification-ledger-intro h2 { margin:8px 0; font:700 28px/1.2 STKaiti,KaiTi,serif; }.qualification-ledger-intro p { max-width:780px; margin:0; color:rgba(255,255,255,.78); }
.qualification-ledger { margin-bottom:22px; overflow:hidden; }.qualification-ledger > header { display:flex; align-items:center; justify-content:space-between; padding:22px 24px 14px; }.qualification-ledger > header span { color:#287486; font:700 12px Consolas,monospace; }.qualification-ledger > header h2 { margin:5px 0 0; }
.qualification-ledger > header > strong { padding:8px 13px; border-radius:999px; color:#9a6818; background:#fff6df; }.qualification-ledger > header > strong.complete { color:#17665b; background:#e5f5f1; }
.qualification-progress { height:4px; margin:0 24px; overflow:hidden; border-radius:99px; background:#e6ebf1; }.qualification-progress i { display:block; height:100%; background:linear-gradient(90deg,#287486,#5ea8a0); }
.qualification-publication-state { margin:14px 24px; padding:10px 13px; border-left:3px solid #287486; color:#17665b; background:#eef8f7; }.qualification-publication-state.pending { border-color:#c69037; color:#76551d; background:#fff8e9; }.qualification-ledger select { min-width:190px; }
.preference-choice-row.indicator { border-color:#d5c38f; background:#fffaf0; }.preference-choice-row.indicator > b { color:#8a641d; }

.disclosure-entry { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:34px 40px; border-radius:24px; color:#fff; background:#17375f; }.disclosure-entry h2 { margin:5px 0 10px; font:700 32px/1.15 STKaiti,KaiTi,serif; }.disclosure-entry p:last-child { margin:0; color:rgba(255,255,255,.72); }
.announcement-page { padding-bottom:70px; background:#f4f7fa; }.announcement-hero { min-height:360px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:60px; padding:80px max(5vw,24px) 55px; color:#fff; background:radial-gradient(circle at 75% 15%,rgba(73,151,154,.38),transparent 32%),linear-gradient(132deg,#102a49,#17375f 55%,#245783); }
.announcement-hero h1 { margin:12px 0 18px; font:700 clamp(42px,6vw,74px)/.95 STKaiti,KaiTi,serif; letter-spacing:-.03em; }.announcement-hero h1 em { color:#9bd0d2; font-style:normal; }.announcement-hero p:last-child { max-width:700px; color:rgba(255,255,255,.75); font-size:16px; line-height:1.8; }
.announcement-hero dl { display:grid; grid-template-columns:repeat(3,110px); margin:0; border:1px solid rgba(255,255,255,.2); }.announcement-hero dl div { padding:20px; border-right:1px solid rgba(255,255,255,.2); }.announcement-hero dl div:last-child { border:0; }.announcement-hero dt { color:rgba(255,255,255,.6); font-size:12px; }.announcement-hero dd { margin:7px 0 0; font:700 30px Georgia,serif; }
.announcement-index { position:sticky; top:72px; z-index:5; display:flex; justify-content:center; gap:4px; padding:12px; border-bottom:1px solid #dfe5ec; background:rgba(247,249,252,.94); backdrop-filter:blur(12px); }.announcement-index a { padding:10px 18px; border-radius:999px; color:#17375f; font-weight:700; text-decoration:none; }.announcement-index a:hover { color:#287486; background:#e3eef2; }
.announcement-register { scroll-margin-top:130px; }.announcement-sheet { margin-top:20px; overflow:hidden; }.announcement-sheet > header { display:flex; align-items:center; justify-content:space-between; padding:22px 25px; border-bottom:1px solid #e6ebf1; background:linear-gradient(90deg,#fff,#f4f8fa); }.announcement-sheet > header span { color:#637386; font-size:13px; }.announcement-sheet > header h3 { margin:5px 0 0; font-size:20px; }.announcement-sheet > header > strong { color:#17375f; }
.qualification-result { display:inline-flex; min-width:38px; justify-content:center; padding:4px 9px; border-radius:99px; color:#7b5b24; background:#fff5db; font-weight:700; }.qualification-result.eligible { color:#17665b; background:#e4f4ef; }.cutoff-score { color:#a75c18; font:700 20px Georgia,serif; }
@media (max-width:760px) { .disclosure-entry,.announcement-hero { display:block; }.disclosure-entry button { margin-top:22px; }.announcement-hero dl { margin-top:28px; grid-template-columns:repeat(3,1fr); }.announcement-hero dl div { padding:14px 10px; }.announcement-index { justify-content:flex-start; overflow-x:auto; }.announcement-index a { white-space:nowrap; } }

/* 招生控制台：用稳定的表单栅格替代浏览器默认控件排版 */
.admission-settings-panel,.admission-account-panel,.admission-plan-console { overflow:hidden; }
.admission-account-management { margin-bottom:16px; }.admission-account-management > form { grid-template-columns:minmax(240px,1fr) minmax(380px,1.4fr) minmax(220px,.8fr) auto; align-items:end; }.admission-account-management > form > .field-row { grid-template-columns:1fr 1fr; }.admission-account-management > form > .solid-button { min-width:170px; }.account-management-divider { display:flex; align-items:center; justify-content:space-between; padding:15px 24px; border-top:1px solid #e1e7ee; border-bottom:1px solid #e1e7ee; background:#f7f9fc; }.account-management-divider strong { color:#263a54; }.account-management-divider span { color:#8390a3; font-size:12px; }.admission-account-management .data-toolbar { padding-top:16px; padding-bottom:12px; }.admission-account-management table { min-width:980px; }
.admission-settings-panel .panel-title,.admission-account-panel .panel-title,.admission-plan-console .panel-title { min-height:88px; height:auto; padding:20px 24px; background:linear-gradient(100deg,#fff,#f6f9fc); }
.admission-settings-panel .panel-title h2,.admission-account-panel .panel-title h2,.admission-plan-console .panel-title h2 { font:400 23px/1.2 STKaiti,KaiTi,serif; }
.admission-settings-panel .panel-title p,.admission-account-panel .panel-title p,.admission-plan-console .panel-title p { margin:7px 0 0; color:#69778c; font-size:13px; line-height:1.6; }
.admission-settings-panel form,.admission-account-panel form,.admission-plan-console form { padding:22px 24px 24px; gap:17px; }
.admission-settings-panel form label,.admission-account-panel form label,.admission-plan-console form > label { display:grid; align-content:start; gap:7px; min-width:0; color:#45546a; font-size:13px; font-weight:700; }
.admission-settings-panel input,.admission-settings-panel select,.admission-account-panel input,.admission-account-panel select,.admission-plan-console form > label input,.admission-plan-console form > label select,.admission-plan-console form > label textarea { width:100%; min-height:44px; padding:9px 12px; border:1px solid #ccd6e2; border-radius:8px; color:#26364b; background:#fff; font-size:14px; }
.admission-settings-panel input:focus,.admission-settings-panel select:focus,.admission-account-panel input:focus,.admission-account-panel select:focus,.admission-plan-console input:focus,.admission-plan-console select:focus { border-color:#287486; outline:3px solid rgba(40,116,134,.12); }
.admission-settings-panel label small { color:#7d899a; font-size:12px; font-weight:400; line-height:1.5; }
.admission-settings-panel .field-row,.admission-account-panel .field-row,.admission-plan-console > form > .field-row { gap:16px; }
.admission-settings-panel .agreement,.admission-account-panel .agreement { display:flex; align-items:center; gap:10px; font-weight:500; }
.admission-settings-panel .agreement input,.admission-account-panel .agreement input { width:18px; min-height:18px; }
.admission-settings-panel form > .solid-button,.admission-account-panel form > .solid-button,.admission-plan-console form > .solid-button { justify-self:end; min-width:190px; min-height:44px; }
.admission-control-actions { margin:0; padding:17px 24px; border-top:1px solid #e1e7ee; background:#f8fafc; }
.admission-control-actions button { min-height:42px; }
.admission-plan-console .admission-builder-head { margin-bottom:2px; }.admission-plan-console .admission-builder-head strong { font-size:16px; }.admission-plan-console .admission-builder-head small { font-size:12px; }
.admission-plan-console .admission-category-fields label > span,.admission-plan-console .indicator-allocation-row label span { font-size:12px; }.admission-plan-console .admission-category-fields input,.admission-plan-console .admission-category-fields select,.admission-plan-console .indicator-allocation-row input,.admission-plan-console .indicator-allocation-row select { min-height:43px; font-size:14px; }

/* 指标资格批处理 */
.qualification-bulk-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:16px 24px; padding:14px 16px; border:1px solid #d8e2e9; border-radius:10px; background:#f6f9fb; }
.qualification-bulk-toolbar > label { display:flex; align-items:center; gap:9px; color:#3d4e63; font-size:13px; font-weight:700; }.qualification-bulk-toolbar input[type="checkbox"] { width:17px; height:17px; }
.qualification-bulk-toolbar > div { display:flex; align-items:center; gap:10px; }.qualification-bulk-toolbar strong { margin-right:4px; color:#287486; font-size:13px; }.qualification-bulk-toolbar select { min-width:210px; min-height:40px; padding:7px 10px; border:1px solid #cbd6df; border-radius:7px; background:#fff; }.qualification-bulk-toolbar .solid-button { min-height:40px; padding:8px 14px; }
.qualification-ledger tbody td:first-child { width:52px; text-align:center; }.qualification-ledger [data-qualification-select] { width:17px; height:17px; }

/* 管理员账户操作 */
.admin-account-actions { display:flex; flex-wrap:wrap; gap:7px; }.row-action.danger { color:#a1463e; border-color:#e3bcb8; background:#fff8f7; }.row-action.danger:hover { color:#fff; background:#a94e45; }.admin-account-ledger td:last-child { min-width:180px; }

/* 完整通知目录与正文页 */
.notice-archive-link { grid-column:1/-1; justify-self:end; border:0; color:#245783; background:transparent; font-weight:700; cursor:pointer; }
.notice-center-page,.notice-document-page { min-height:calc(100vh - 76px); padding-bottom:80px; background:#f3f6f9; }
.notice-center-hero { display:flex; align-items:flex-end; justify-content:space-between; min-height:255px; padding:70px max(5vw,28px) 42px; color:#fff; background:linear-gradient(118deg,#132f52 0 62%,#20677a); }
.notice-center-hero h1 { margin:8px 0 12px; font:400 clamp(40px,5vw,62px)/1 STKaiti,KaiTi,serif; }.notice-center-hero p:last-child { margin:0; color:rgba(255,255,255,.72); font-size:15px; }.notice-center-hero > strong { display:grid; justify-items:end; font:400 52px/1 Georgia,serif; }.notice-center-hero > strong small { margin-top:8px; color:#a9d9df; font:12px/1.2 system-ui,sans-serif; letter-spacing:.12em; }
.notice-center-shell { width:min(1180px,calc(100% - 48px)); display:grid; grid-template-columns:210px minmax(0,1fr); gap:0; margin:38px auto 0; border:1px solid #dbe2ea; background:#fff; box-shadow:0 16px 44px rgba(22,46,75,.08); }
.notice-category-nav { padding:24px 0; border-right:1px solid #e1e6ec; background:#f7f9fb; }.notice-category-nav button { width:100%; display:flex; justify-content:space-between; padding:13px 20px; border:0; border-left:3px solid transparent; color:#5f6d80; background:transparent; text-align:left; cursor:pointer; }.notice-category-nav button span { color:#9aa4b2; }.notice-category-nav button.active { border-left-color:#287486; color:#17375f; background:#eaf2f4; font-weight:700; }
.notice-directory > header { display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:0 28px; border-bottom:1px solid #e1e6ec; }.notice-directory > header div { display:flex; align-items:baseline; gap:13px; }.notice-directory > header strong { color:#17375f; font-size:18px; }.notice-directory > header span,.notice-directory > header small { color:#8894a4; font-size:12px; }
.notice-directory-list > button { width:100%; display:grid; grid-template-columns:76px minmax(0,1fr) 24px; align-items:center; gap:20px; min-height:112px; padding:18px 28px; border:0; border-bottom:1px solid #e6eaf0; color:inherit; background:#fff; text-align:left; cursor:pointer; transition:background .16s,padding-left .16s; }.notice-directory-list > button:hover { padding-left:34px; background:#f7fafb; }.notice-directory-list time { display:grid; justify-items:center; padding-right:18px; border-right:1px solid #dce3e9; color:#8190a2; }.notice-directory-list time strong { color:#245783; font:400 27px Georgia,serif; }.notice-directory-list time span { margin-top:5px; font-size:11px; }
.notice-directory-copy { display:grid; gap:6px; min-width:0; }.notice-directory-copy em { color:#287486; font-size:11px; font-style:normal; font-weight:700; letter-spacing:.08em; }.notice-directory-copy strong { color:#24354b; font-size:17px; }.notice-directory-copy small { overflow:hidden; color:#7d8998; font-size:13px; line-height:1.55; text-overflow:ellipsis; white-space:nowrap; }.notice-directory-arrow { color:#8092a6; }
.notice-pagination { display:flex; justify-content:center; gap:7px; padding:22px; }.notice-pagination button { min-width:36px; height:36px; padding:0 10px; border:1px solid #d7dee7; color:#526176; background:#fff; cursor:pointer; }.notice-pagination button.active { border-color:#17375f; color:#fff; background:#17375f; }.notice-pagination button:disabled { opacity:.42; cursor:not-allowed; }
.notice-breadcrumb { width:min(980px,calc(100% - 48px)); display:flex; gap:10px; margin:0 auto; padding:38px 0 18px; color:#8792a1; }.notice-breadcrumb button { border:0; color:#245783; background:transparent; cursor:pointer; }.notice-document { width:min(980px,calc(100% - 48px)); margin:0 auto; border-top:5px solid #245783; background:#fff; box-shadow:0 14px 42px rgba(22,46,75,.08); }.notice-document > header { padding:46px 56px 34px; border-bottom:1px solid #dfe5eb; }.notice-document > header span { color:#287486; font-size:12px; font-weight:700; letter-spacing:.1em; }.notice-document > header h1 { margin:15px 0 18px; color:#1e3047; font:400 clamp(30px,4vw,44px)/1.25 STKaiti,KaiTi,serif; }.notice-document > header p { margin:0; color:#8994a2; }.notice-document > section { padding:40px 56px 50px; }.notice-document > footer { padding:20px 56px; border-top:1px solid #e1e6ec; background:#f8fafb; }.notice-document-content { color:#334257; font-size:15px; line-height:1.9; }.document-lead { margin:0 0 25px; padding:14px 17px; border-left:3px solid #287486; color:#526176; background:#f2f7f8; line-height:1.7; }.notice-document table { font-size:13px; }
@media (max-width:800px) { .admission-settings-panel form,.admission-account-panel form,.admission-plan-console form { padding:18px; }.admission-settings-panel form > .solid-button,.admission-account-panel form > .solid-button,.admission-plan-console form > .solid-button { width:100%; }.qualification-bulk-toolbar { align-items:stretch; flex-direction:column; }.qualification-bulk-toolbar > div { align-items:stretch; flex-direction:column; }.notice-center-shell { width:calc(100% - 28px); grid-template-columns:1fr; }.notice-category-nav { display:flex; overflow-x:auto; padding:8px; border-right:0; border-bottom:1px solid #e1e6ec; scrollbar-width:none; }.notice-category-nav::-webkit-scrollbar { display:none; }.notice-category-nav button { width:auto; min-width:max-content; border-left:0; border-bottom:3px solid transparent; }.notice-category-nav button.active { border-bottom-color:#287486; }.notice-directory-list > button { grid-template-columns:58px minmax(0,1fr) 18px; gap:12px; padding:15px; }.notice-directory-copy small { white-space:normal; }.notice-center-hero { display:block; }.notice-center-hero > strong { display:none; }.notice-document > header,.notice-document > section,.notice-document > footer { padding-left:22px; padding-right:22px; } }

/* 审核工作台：以完整子页面承载资料、考试和处理结论 */
body.review-subpage-open { overflow:hidden; }
.review-subpage-layer { position:fixed; inset:0; z-index:120; overflow:auto; background:#eef2f6; animation:fadeIn .16s ease; }
.review-subpage { min-height:100vh; color:#27364a; background:linear-gradient(90deg,#f8fafc 0 72%,#edf2f5 72%); }
.review-subpage-header { min-height:190px; display:grid; grid-template-columns:minmax(190px,1fr) minmax(420px,2.2fr) minmax(140px,1fr); align-items:center; gap:28px; padding:34px clamp(28px,5vw,76px); color:#fff; background:linear-gradient(112deg,#132f52 0 62%,#216b79); box-shadow:0 12px 35px rgba(23,55,95,.16); }
.review-back { justify-self:start; align-self:start; padding:10px 0; border:0; color:#c5dbe4; background:transparent; font-size:14px; font-weight:700; cursor:pointer; }
.review-back:hover { color:#fff; }
.review-subpage-header > div > span { color:#9bd0d6; font:700 12px/1.3 Consolas,monospace; letter-spacing:.16em; }
.review-subpage-header h1 { margin:9px 0 12px; font:500 clamp(28px,3vw,42px)/1.18 STKaiti,KaiTi,serif; }
.review-subpage-header p { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; color:#d2dce7; font-size:14px; }
.review-subpage-header p i { width:4px; height:4px; border-radius:50%; background:#7fa8b8; }
.review-subpage-header > .status { justify-self:end; min-width:82px; justify-content:center; padding:9px 14px; font-size:13px; }
.review-subpage-layout { width:min(1500px,100%); display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:28px; margin:0 auto; padding:32px clamp(24px,4vw,58px) 70px; }
.review-subpage-main { min-width:0; display:grid; align-content:start; gap:24px; }
.review-section { overflow:hidden; border:1px solid #dbe3ea; border-radius:14px; background:#fff; box-shadow:0 9px 28px rgba(28,52,76,.05); }
.review-section > header { min-height:86px; display:flex; align-items:center; gap:16px; padding:20px 24px; border-bottom:1px solid #e3e9ee; background:linear-gradient(90deg,#fff,#f6f9fa); }
.review-section > header > span { min-width:45px; height:34px; display:grid; place-items:center; border-radius:6px; color:#fff; background:#245783; font:700 12px Consolas,monospace; }
.review-section > header > div { min-width:0; margin-right:auto; }
.review-section > header h2 { margin:0; color:#21364e; font-size:21px; }
.review-section > header p { margin:5px 0 0; color:#748396; font-size:14px; }
.review-section > header > strong { color:#287486; font-size:15px; }
.review-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; background:#e5eaef; }
.review-detail-grid > div { min-width:0; padding:17px 20px; background:#fff; }
.review-detail-grid > div.wide { grid-column:1/-1; }
.review-detail-grid dt { margin-bottom:7px; color:#798799; font-size:13px; }
.review-detail-grid dd { margin:0; overflow-wrap:anywhere; color:#293b51; font-size:15px; line-height:1.65; }
.review-exam-list { display:grid; gap:14px; padding:20px 22px 24px; }
.review-exam-card { overflow:hidden; border:1px solid #dfe6eb; border-radius:11px; background:#fbfcfd; }
.review-exam-card > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 18px; border-bottom:1px solid #e4e9ed; background:#fff; }
.review-exam-card h3 { margin:5px 0 0; font-size:18px; }
.review-exam-card dl { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0; }
.review-exam-card dl > div { padding:15px 18px; border-top:1px solid #e8edf0; }
.review-exam-card dl > div:nth-child(-n+2) { border-top:0; }
.review-exam-card dt { color:#7d8997; font-size:13px; }
.review-exam-card dd { margin:6px 0 0; color:#33465a; font-size:14px; line-height:1.6; }
.review-subject-list { display:flex; flex-wrap:wrap; gap:8px; }
.review-subject-list > span { display:grid; gap:3px; padding:9px 11px; border:1px solid #d9e3e7; border-radius:8px; background:#fff; }
.review-subject-list small { color:#738395; font-size:12px; }
.review-empty-context { padding:25px; border:1px dashed #cdd8df; border-radius:10px; color:#67788b; background:#f7fafb; text-align:center; }
.review-empty-context strong { color:#33485e; font-size:16px; }
.review-empty-context p { margin:7px 0 0; font-size:14px; }
.review-decision-form,.review-readonly { position:sticky; top:24px; align-self:start; display:grid; gap:18px; padding:24px; border-top:5px solid #287486; border-radius:12px; background:#fff; box-shadow:0 14px 38px rgba(26,52,76,.12); }
.review-decision-form > div { display:grid; gap:5px; padding-bottom:18px; border-bottom:1px solid #e1e7eb; }
.review-decision-form > div span,.review-decision-form label > span { color:#708093; font-size:13px; font-weight:700; }
.review-decision-form > div strong { color:#1f3853; font-size:18px; }
.review-decision-form > div small { color:#7e8a99; font-size:13px; }
.review-decision-form label { display:grid; gap:7px; }
.review-decision-form select,.review-decision-form textarea { width:100%; padding:11px 12px; border:1px solid #cbd6df; border-radius:8px; color:#293b50; background:#fff; font-size:14px; line-height:1.6; }
.review-decision-form select:focus,.review-decision-form textarea:focus { border-color:#287486; outline:3px solid rgba(40,116,134,.12); }
.review-decision-form .solid-button { min-height:46px; font-size:14px; }
.review-readonly strong { color:#233c56; font-size:18px; }.review-readonly p { margin:0; color:#697b8e; font-size:14px; line-height:1.7; }
.exam-context-hero { border-top:5px solid #245783; }
.subject-review-section > footer { display:flex; align-items:baseline; justify-content:flex-end; gap:14px; padding:18px 24px; border-top:1px solid #e1e7eb; background:#f8fafb; }
.subject-review-section > footer span { color:#6d7e91; font-size:14px; }.subject-review-section > footer strong { color:#17375f; font-size:24px; }
.review-subject-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding:20px 22px; }
.review-subject-cards > article { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:12px; padding:16px; border:1px solid #dbe4ea; border-radius:10px; background:#fff; }
.review-subject-cards > article > i { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#287486; font-size:13px; font-style:normal; }
.review-subject-cards > article > div { display:grid; gap:4px; min-width:0; }.review-subject-cards > article > div strong { font-size:16px; }.review-subject-cards > article > div span { color:#718194; font-size:13px; }
.review-subject-cards dl { display:flex; gap:16px; margin:0; }.review-subject-cards dl div { display:grid; gap:4px; }.review-subject-cards dt { color:#8290a0; font-size:12px; }.review-subject-cards dd { margin:0; font-size:14px; font-weight:700; }

/* 高频台账筛选与批量操作 */
.candidate-toolbar { flex-wrap:wrap; }.table-filter-selects.five-columns { grid-template-columns:repeat(5,minmax(120px,1fr)); }
.candidate-exam-summary { min-width:190px; }.candidate-exam-summary strong,.candidate-exam-summary small { display:block; }.candidate-exam-summary span { color:#8793a2; }
.registration-exam-cell { min-width:220px; }.subject-summary { display:flex; flex-wrap:wrap; gap:5px; margin:7px 0 4px; }.subject-summary span { padding:4px 7px; border-radius:5px; color:#36576e; background:#e9f1f4; font-size:12px; font-weight:700; }.subject-summary em { color:#a14c43; font-style:normal; }
.qualification-filter-toolbar { flex-wrap:wrap; margin-top:14px; border-top:1px solid #e4e9ed; }.qualification-specialty-filter { flex:1 0 100%; display:flex; gap:9px; }.qualification-specialty-filter select { flex:1; min-height:40px; padding:8px 11px; border:1px solid #ccd7df; border-radius:7px; color:#45576b; background:#fff; font-size:14px; }.qualification-specialty-filter .row-action { padding:0 12px; border:1px solid #d6dfe5; border-radius:7px; background:#fff; }
.workflow-filter-toolbar { flex-wrap:wrap; margin-bottom:16px; }.workflow-type-filter { flex:1 0 100%; }.workflow-type-filter select { width:100%; min-height:40px; padding:8px 11px; border:1px solid #ccd7df; border-radius:7px; color:#45576b; background:#fff; font-size:14px; }

/* 全站可读性下限：正文 14px，辅助信息不低于 12px */
.admin-readable .portal-sidebar nav button { font-size:14px; }.admin-readable .portal-sidebar nav button em { font-size:12px; }
.admin-readable .portal-topbar > div:first-of-type,.admin-readable .portal-user > span strong { font-size:14px; }
.admin-readable .portal-user > span small,.admin-readable .sidebar-help span,.admin-readable .sidebar-help small { font-size:12px; }
.admin-readable .portal-content :where(p,time,dt,dd,label > span,th,td,button,input,select,textarea,em) { font-size:14px !important; line-height:1.55; }
.admin-readable .portal-content small { font-size:12px !important; line-height:1.55; }
.admin-readable .portal-content span:not(:has(svg)):not(.status):not(.user-avatar) { font-size:14px !important; }
.admin-readable .portal-content :where(td strong,button strong,p strong) { font-size:14px !important; }
.admin-readable .portal-content .status,.admin-readable .portal-content .overline,.admin-readable .portal-content .exam-code { font-size:12px !important; }
.admin-readable .portal-content :where(.solid-button,.ghost-button,.row-action) { min-height:38px; }
.portal-content :where(p,time,dt,dd,label > span,th,td,button,input,select,textarea,em) { font-size:14px !important; line-height:1.55; }
.portal-content small { font-size:12px !important; line-height:1.55; }.portal-content span:not(:has(svg)):not(.status):not(.user-avatar) { font-size:14px !important; }.portal-content .status,.portal-content .overline,.portal-content .exam-code { font-size:12px !important; }
.portal-sidebar nav button { font-size:14px; }.portal-sidebar nav button em,.portal-user small,.sidebar-help small { font-size:12px; }.portal-topbar button { font-size:13px; }
.auth-page :where(p,label > span,button,input,select,textarea) { font-size:14px; line-height:1.65; }.auth-page span:not(:has(svg)) { font-size:14px; }.auth-page small { font-size:12px; }
.onboarding-page :where(p,label > span,button,input,select,textarea) { font-size:14px; line-height:1.65; }.onboarding-page span:not(:has(svg)) { font-size:14px; }.onboarding-page small { font-size:12px; }
.modal-card :where(p,dt,dd,label > span,button,input,select,textarea,li) { font-size:14px; line-height:1.65; }.modal-card span:not(:has(svg)) { font-size:14px; }.modal-card small,.modal-head span { font-size:12px; }
.public-footer p,.public-footer > span { font-size:13px; line-height:1.65; }
.notice-document table th,.notice-document table td { padding:15px 17px; font-size:15px; line-height:1.55; }
.notice-document .document-lead { font-size:15px; }.notice-document .qualification-result { min-width:46px; padding:6px 11px; font-size:14px; }
.public-main :where(button,input,select,textarea) { font-size:14px; }.public-main :where(p,dt,dd) { font-size:14px; line-height:1.7; }.public-main span:not(:has(svg)):not(.status) { font-size:14px; }.public-main small { font-size:12px; line-height:1.55; }

@media (max-width:1000px) {
  .review-subpage { background:#f4f7f9; }.review-subpage-header { grid-template-columns:1fr auto; min-height:0; }.review-subpage-header > div { grid-column:1/-1; grid-row:2; }.review-subpage-header > .status { grid-column:2; grid-row:1; }.review-subpage-layout { grid-template-columns:1fr; }.review-decision-form,.review-readonly { position:static; }.table-filter-selects.five-columns { grid-template-columns:repeat(2,minmax(130px,1fr)); }
}
@media (max-width:650px) {
  .review-subpage-header { padding:24px 20px; }.review-subpage-layout { padding:20px 14px 45px; }.review-detail-grid,.review-exam-card dl { grid-template-columns:1fr; }.review-detail-grid > div.wide { grid-column:auto; }.review-exam-card dl > div:nth-child(2) { border-top:1px solid #e8edf0; }.review-subject-cards { grid-template-columns:1fr; padding:14px; }.review-subject-cards > article { grid-template-columns:32px minmax(0,1fr); }.review-subject-cards dl { grid-column:2; }.qualification-specialty-filter { flex-direction:column; }.table-filter-selects.five-columns { grid-template-columns:1fr; }
}
@media (max-width:1000px) {
  .result-workbench-head,.feature-score-workbench > form > header { grid-template-columns:1fr; }.result-workbench-summary { grid-template-columns:repeat(4,1fr); }.result-workbench-summary p { grid-column:1/-1; justify-self:start; padding:8px 0 0; }.feature-score-rule { min-width:0; }
}
@media (max-width:650px) {
  .result-workbench-selectors,.result-workbench-summary { grid-template-columns:1fr; }.result-workbench-summary > span { padding:6px 0; border-right:0; border-bottom:1px solid #e2e8f0; }.result-workbench-actions { align-items:stretch; flex-direction:column; }.result-workbench-actions > div { margin:0 0 5px; }.result-workbench-actions button { width:100%; }
}
@media (max-width:1100px) {
  .admission-account-management > form { grid-template-columns:1fr 1fr; }.admission-account-management > form > .solid-button { width:100%; }
}
@media (max-width:800px) {
  .admission-account-management > form { grid-template-columns:1fr; }.placement-bulk-toolbar,.placement-bulk-toolbar > div { align-items:stretch; flex-direction:column; }.placement-bulk-toolbar button { width:100%; }.placement-status-pills,.account-status-pills { margin-right:18px; margin-left:18px; }
}
.table-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-top: 1px solid var(--line, #e5e7eb);
  color: var(--muted, #64748b);
  font-size: 13px;
}

.table-pagination > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.table-pagination button,
.table-pagination select {
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line, #dbe2ea);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  font: inherit;
}

.table-pagination button:not(:disabled) { cursor: pointer; }
.table-pagination button:hover:not(:disabled) { border-color: #1f6f5f; color: #1f6f5f; }
.table-pagination button.active { border-color: #1f6f5f; background: #1f6f5f; color: #fff; }
.table-pagination button:disabled { opacity: .45; }
.table-pagination label { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; }
.table-pagination i { font-style: normal; padding: 0 2px; }

@media (max-width: 720px) {
  .table-pagination { align-items: flex-start; flex-direction: column; }
}

/* 业务域分组导航 */
.portal-sidebar { width: 264px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #42547f transparent; }
.portal-main { margin-left: 264px; }
.portal-nav-groups { display: grid; gap: 15px !important; padding: 3px 0 18px; }
.portal-nav-group { display: grid; gap: 4px; }
.portal-nav-group > strong { padding: 0 13px 4px; color: #7181aa; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.portal-nav-group button { min-height: 38px !important; }
.sidebar-help { flex: 0 0 auto; }

/* 成绩卡：排名信息回归文档流，永不覆盖科目标题 */
.score-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.score-grid article { min-width: 0; place-content: initial; align-content: start; justify-items: stretch; min-height: 230px; border: 1px solid var(--line); border-width: 0 1px 1px 0; }
.score-subject-head { width: 100%; min-height: 31px; }
.score-subject-head > span { overflow: hidden; color: var(--navy); font-size: 14px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.score-grid article > strong { margin: 22px 0 8px; font-size: 40px; }
.score-grid article > em { position: static; display: block; padding: 0; color: #526079; background: transparent; font-size: 12px; font-style: normal; line-height: 1.55; }
.rank-rule-line { align-items: flex-start; flex-direction: column; gap: 5px; margin-top: auto; }
.rank-rule-line span { font-size: 11px; }
.rank-rule-line b { font-size: 12px; line-height: 1.45; }
.result-footer-actions { display: flex; align-items: center; gap: 14px; }
.result-footer-actions .solid-button { min-height: 34px; padding: 0 14px; font-size: 11px; }

/* 通知书模板工作室 */
.notice-template-studio { display: grid; grid-template-columns: minmax(380px, .82fr) minmax(420px, 1.18fr); gap: 22px; align-items: start; }
.notice-template-form { padding: 24px; }
.notice-template-form .panel-title { margin-bottom: 20px; }
.notice-template-form > label { display: grid; gap: 7px; margin-bottom: 16px; }
.notice-template-form textarea { resize: vertical; }
.template-color-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.template-color-row label { display: flex; align-items: center; justify-content: space-between; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.template-color-row input { width: 64px; height: 34px; padding: 2px; }
.notice-template-preview { position: sticky; top: 20px; }
.template-frame { position: relative; min-height: 720px; padding: 66px 64px; border: 8px solid var(--template-primary); outline: 2px solid var(--template-accent); outline-offset: -18px; color: #332f2c; background: #fffdf8; box-shadow: var(--shadow); }
.template-frame > small { display: block; color: var(--template-accent); font-family: Consolas, monospace; letter-spacing: .18em; text-align: center; }
.template-frame h2 { margin: 26px 0 12px; color: var(--template-primary); font-family: "STKaiti", serif; font-size: 45px; font-weight: 700; letter-spacing: .16em; text-align: center; }
.template-frame h3 { margin: 0 0 70px; text-align: center; }
.template-frame > strong { font-size: 18px; }
.template-frame > p { min-height: 250px; margin: 24px 0; font-size: 16px; line-height: 2.2; white-space: pre-wrap; }
.template-frame footer { display: grid; justify-items: end; gap: 12px; margin-top: 40px; }
.template-frame footer span { justify-self: stretch; color: #786f65; }
.notice-template-preview > p { color: var(--muted); font-size: 11px; line-height: 1.7; }

/* 公开防伪查询 */
.verification-page { min-height: calc(100vh - 76px); padding: 72px max(24px, calc((100% - 1060px) / 2)); background: #f4f7fa; }
.verification-hero { display: grid; grid-template-columns: 1fr 470px; gap: 70px; align-items: end; padding: 48px; border-radius: 18px; color: #fff; background: var(--navy); box-shadow: 0 26px 70px rgba(19,36,81,.2); }
.verification-hero h1 { margin: 10px 0; font-family: "STKaiti", serif; font-size: 44px; font-weight: 400; }
.verification-hero p { color: #abb7d3; }
.verification-hero form { display: flex; align-items: end; gap: 10px; }
.verification-hero label { display: grid; flex: 1; gap: 8px; color: #bdc8df; font-size: 12px; }
.verification-hero input { height: 46px; border-color: rgba(255,255,255,.18); color: #fff; background: rgba(255,255,255,.08); font-family: Consolas, monospace; }
.verification-result { display: grid; grid-template-columns: 64px 1fr; gap: 22px; margin-top: 24px; padding: 32px; border: 1px solid #cfe1db; border-radius: 15px; background: #fff; }
.verification-result > span { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #28735e; font-size: 27px; }
.verification-result h2 { margin: 5px 0; }
.verification-result p { color: var(--muted); }
.verification-result dl { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 4px 0 0; }
.verification-result dl div { padding: 14px; border-radius: 8px; background: #f3f6f8; }
.verification-result dt { color: var(--muted); font-size: 10px; }
.verification-result dd { margin: 5px 0 0; font-weight: 700; }
.verification-result.invalid { border-color: #efcfcb; }
.verification-result.invalid > span { background: #b94b44; }
.verification-notice { margin-top: 20px; padding: 20px 24px; border-left: 3px solid #8792a8; background: #fff; }
.verification-notice p { margin: 6px 0 0; color: var(--muted); }
.admission-result-banner .solid-button { justify-self: start; margin-top: 10px; }

/* 招生计划完成率与考生报到工作台 */
.admission-progress-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin:0 0 22px; }
.admission-progress-grid article { padding:20px; border:1px solid #d8e4e2; border-radius:12px; background:#fff; box-shadow:0 10px 28px rgba(20,35,75,.06); }
.admission-progress-grid header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.admission-progress-grid header span { color:#53627a; font-size:12px; }
.admission-progress-grid header strong { color:#1f6f5f; font-size:27px; }
.progress-meter { height:8px; margin:14px 0 12px; overflow:hidden; border-radius:99px; background:#e5eceb; }
.progress-meter i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#1f6f5f,#67a58f); }
.admission-progress-grid p { margin:0; color:#273650; }
.admission-progress-grid small { color:#7d8798; }
.reporting-workbench { margin-bottom:24px; border:1px solid #d9e2e8; border-radius:15px; overflow:hidden; background:#fff; box-shadow:0 16px 40px rgba(20,35,75,.07); }
.reporting-workbench > header { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; padding:26px 28px 22px; color:#fff; background:linear-gradient(115deg,#172d55,#214f65); }
.reporting-workbench > header > div:first-child { min-width:0; }
.reporting-workbench > header span { color:#9fb5c9; font:11px Consolas,monospace; letter-spacing:.08em; }
.reporting-workbench > header h2 { margin:7px 0 5px; font-size:25px; }
.reporting-workbench > header p { margin:0; color:#c4d2df; }
.reporting-rate { flex:0 0 auto; text-align:right; }
.reporting-rate strong { display:block; color:#f1d28a; font-size:42px; line-height:1; }
.reporting-rate span { color:#bdcbd7 !important; font-family:inherit !important; letter-spacing:0 !important; }
.reporting-stat-strip { display:flex; align-items:center; gap:24px; padding:15px 28px; border-bottom:1px solid #e3e9ed; background:#f7f9fa; }
.reporting-stat-strip span { color:#667085; }
.reporting-stat-strip b { margin-left:5px; color:#172d55; font-size:17px; }
.reporting-stat-strip em { margin-left:auto; padding:5px 10px; border-radius:99px; color:#1f6f5f; background:#dfeee9; font-style:normal; font-weight:700; }
.reporting-tools { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:stretch; margin:20px 24px 0; }
.reporting-excel-tool,.reporting-scan-tool { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:17px; border:1px solid #ead9a5; border-radius:10px; background:#fffaf0; }
.reporting-scan-tool { border-color:#bcd8d0; background:#f3faf7; }
.reporting-tools > div > div:first-child { display:grid; gap:3px; }
.reporting-tools small { color:#7d735e; }
.reporting-tools form { grid-column:1/-1; display:flex; gap:8px; }
.reporting-tools form input { min-width:220px; }
.tool-buttons { display:flex; gap:8px; }
.reporting-import-summary { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; gap:4px 14px; padding:10px 12px; border-left:3px solid #1f6f5f; border-radius:6px; color:#315d52; background:#e7f3ee; }
.reporting-import-summary.unchanged { border-left-color:#9a7a38; color:#6e5b33; background:#f8efd9; }
.reporting-import-summary small { grid-column:1/-1; }
.camera-button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 16px; border:0; border-radius:8px; color:#fff; background:#1f6f5f; font-weight:700; cursor:pointer; box-shadow:0 8px 18px rgba(31,111,95,.2); }
.qr-capture { min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0 13px; border:1px dashed #1f6f5f; border-radius:8px; color:#1f6f5f; cursor:pointer; }
.reporting-workbench > form,.reporting-ledger-readonly { padding:20px 24px 24px; }
.reporting-workbench table select,.reporting-workbench table input { min-width:150px; }
.reporting-workbench table input { width:100%; }
.reporting-workbench table .selection-cell { width:56px; min-width:56px; text-align:center; }
.reporting-workbench table .selection-cell input { width:17px; min-width:17px; height:17px; }
.reporting-bulk-bar { display:grid; grid-template-columns:auto auto minmax(180px,.7fr) minmax(260px,1fr) auto; gap:12px; align-items:end; margin:14px 0; padding:14px; border:1px solid #d5e1e5; border-radius:9px; background:#f7f9fb; }
.reporting-bulk-bar label:not(.bulk-check) { display:grid; gap:5px; }
.reporting-bulk-bar label span { color:#667085; font-size:11px; }
.reporting-bulk-bar .bulk-check { display:flex; align-items:center; gap:7px; min-height:40px; }
.reporting-bulk-bar .bulk-check input { width:17px; height:17px; }
.reporting-bulk-bar > strong { min-height:40px; display:flex; align-items:center; color:#1f6f5f; white-space:nowrap; }
.reporting-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:18px; }
.reporting-decision { display:grid; grid-template-columns:1.2fr .7fr 1fr auto; gap:14px; align-items:end; margin:0; padding:22px 24px; border-top:1px solid #e3e9ed; background:#f7faf9; }
.reporting-decision label { display:grid; gap:6px; }
.reporting-decision p { margin:4px 0 0; color:#6b7688; }
.reporting-readonly-note { padding:20px 24px; border-top:1px solid #e3e9ed; background:#f7f9fb; }
.reporting-readonly-note p { margin:5px 0 0; color:#6f7a8d; }
.reporting-camera-head,.reporting-confirm-head { border-bottom:1px solid #dce5e8; }
.reporting-camera-stage { position:relative; margin:22px 24px 10px; overflow:hidden; aspect-ratio:16/10; border-radius:13px; background:#0c1725; }
.reporting-camera-stage video { width:100%; height:100%; display:block; object-fit:cover; }
.scan-frame { position:absolute; inset:15% 25%; display:grid; place-items:end center; padding:14px; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.48)); }
.scan-frame i { position:absolute; width:36px; height:36px; border-color:#f1d28a; border-style:solid; }
.scan-frame i:nth-child(1) { top:0; left:0; border-width:3px 0 0 3px; }
.scan-frame i:nth-child(2) { top:0; right:0; border-width:3px 3px 0 0; }
.scan-frame i:nth-child(3) { bottom:0; left:0; border-width:0 0 3px 3px; }
.scan-frame i:nth-child(4) { right:0; bottom:0; border-width:0 3px 3px 0; }
.scan-frame span { font-size:12px; }
.reporting-camera-status { margin:0 24px 14px; color:#315d52; }
.reporting-camera-status.error { color:#a0473f; }
.reporting-camera-fallback { display:grid; grid-template-columns:1fr auto; gap:10px; margin:0 24px 24px; padding-top:14px; border-top:1px solid #e1e7ea; }
.reporting-camera-fallback form { display:flex; gap:8px; }
.reporting-camera-fallback form input { flex:1; }
.reporting-confirm-form { padding:22px 24px 24px; }
.reporting-candidate-card { position:relative; padding:20px; border:1px solid #cfe1db; border-radius:11px; background:#f4faf7; }
.reporting-candidate-card dl { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0; padding-right:90px; }
.reporting-candidate-card dt { color:#748078; font-size:11px; }
.reporting-candidate-card dd { margin:4px 0 0; color:#173f3a; font-weight:700; }
.candidate-stamp { position:absolute; top:20px; right:18px; padding:7px 10px; border:2px solid #28735e; border-radius:5px; color:#28735e; font-weight:800; transform:rotate(-4deg); }
.reporting-decision-options { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0; padding:0; border:0; }
.reporting-decision-options legend { margin-bottom:9px; color:#29364b; font-weight:700; }
.reporting-decision-options label { display:flex; gap:10px; padding:14px; border:1px solid #d7e0e4; border-radius:9px; cursor:pointer; }
.reporting-decision-options label.selected { border-color:#1f6f5f; background:#edf7f3; box-shadow:inset 0 0 0 1px #1f6f5f; }
.reporting-decision-options input { margin-top:3px; }
.reporting-decision-options strong,.reporting-decision-options small { display:block; }
.reporting-decision-options small { margin-top:4px; color:#788393; }
.reporting-confirm-note { display:grid; gap:7px; }
.workflow-hint { display:block; margin-top:12px; color:#7a8495; line-height:1.6; }
.template-notice-number { margin:36px 0 28px; color:#6d655b; font:12px Consolas,monospace; text-align:right; }
.template-qr-placeholder { position:absolute; right:52px; bottom:48px; width:88px; height:88px; display:grid; place-items:center; border:1px dashed var(--template-primary); color:var(--template-primary); font-size:10px; text-align:center; }
.reporting-public-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:22px 0; }
.reporting-public-stats article { padding:18px; border:1px solid #dce5e8; border-radius:9px; background:#f7faf9; }
.reporting-public-stats span,.reporting-public-stats small { display:block; color:#758093; }
.reporting-public-stats strong { display:inline-block; margin:8px 4px 2px 0; color:#173f60; font-size:28px; }

@media (max-width: 1200px) {
  .notice-template-studio,.verification-hero { grid-template-columns: 1fr; }
  .notice-template-preview { position: static; }
  .reporting-tools { grid-template-columns:1fr; }
  .reporting-bulk-bar { grid-template-columns:auto auto 1fr; }
  .reporting-bulk-bar .bulk-note { grid-column:1/3; }
  .reporting-decision { grid-template-columns:1fr 1fr; }
}
@media (max-width: 850px) {
  .portal-sidebar { width: 264px; }
  .portal-main { margin-left: 0; }
}
@media (max-width: 620px) {
  .score-grid { grid-template-columns: 1fr; }
  .result-footer-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .verification-page { padding: 28px 14px; }
  .verification-hero { padding: 26px 20px; }
  .verification-hero form { align-items: stretch; flex-direction: column; }
  .verification-result dl { grid-template-columns: 1fr; }
  .template-frame { min-height: 620px; padding: 48px 34px; }
  .reporting-workbench > header { align-items:flex-start; flex-direction:column; }
  .reporting-rate { text-align:left; }
  .reporting-stat-strip { align-items:flex-start; flex-direction:column; gap:8px; }
  .reporting-stat-strip em { margin-left:0; }
  .reporting-tools,.reporting-decision,.reporting-public-stats { grid-template-columns:1fr; }
  .reporting-tools form { grid-template-columns:1fr; }
  .reporting-excel-tool,.reporting-scan-tool,.reporting-camera-fallback,.reporting-bulk-bar,.reporting-decision-options { grid-template-columns:1fr; }
  .tool-buttons { align-items:stretch; flex-direction:column; }
  .reporting-bulk-bar .bulk-note { grid-column:auto; }
  .reporting-camera-fallback form { display:grid; grid-template-columns:1fr; }
  .reporting-candidate-card dl { grid-template-columns:1fr; padding-right:0; }
  .candidate-stamp { position:static; display:inline-block; margin-bottom:16px; }
  .reporting-actions { align-items:stretch; flex-direction:column; }
}

.admission-snapshot-console { overflow:hidden; padding:0; }
.admission-snapshot-console > .panel-title { padding:22px 24px 18px; border-bottom:1px solid #dfe7eb; background:linear-gradient(110deg,#f4f8fa,#eef6f3); }
.snapshot-ledger-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:14px; padding:18px 24px 24px; }
.snapshot-ledger-grid article { display:grid; grid-template-columns:minmax(180px,1fr) auto; gap:16px 22px; align-items:center; padding:18px; border:1px solid #dce5e8; border-radius:11px; background:#fff; box-shadow:0 6px 18px rgba(28,55,73,.04); }
.snapshot-ledger-grid article > div > span { color:#2a7280; font:700 11px Consolas,monospace; letter-spacing:.08em; }
.snapshot-ledger-grid h3 { margin:5px 0 4px; color:#18334d; font-size:17px; }
.snapshot-ledger-grid p { margin:0; color:#758192; font-size:12px; }
.snapshot-ledger-grid dl { display:grid; grid-template-columns:repeat(4,minmax(58px,1fr)); grid-column:1/-1; gap:8px; margin:0; }
.snapshot-ledger-grid dl div { padding:10px 11px; border-radius:8px; background:#f4f7f8; }
.snapshot-ledger-grid dt { color:#788492; font-size:11px; }
.snapshot-ledger-grid dd { margin:4px 0 0; color:#173e4a; font-size:20px; font-weight:800; }
.snapshot-ledger-grid article > button { grid-column:2; grid-row:1; }
.admission-ledger-toolbar { align-items:center; flex-wrap:wrap; }
.admission-ledger-toolbar .search-box,.placement-supervision-toolbar .search-box { flex:1 1 320px; }
.admission-ledger-toolbar .filter-pills,.placement-supervision-toolbar .filter-pills { flex:1 1 100%; }
.ledger-toolbar-actions { display:flex; gap:8px; margin-left:auto; }
.preference-empty { display:block; padding:13px; border:1px dashed #cdd8de; border-radius:8px; color:#7b8794; font-style:normal; text-align:center; background:#fafcfc; }

@media (max-width: 700px) {
  .snapshot-ledger-grid { grid-template-columns:1fr; padding:14px; }
  .snapshot-ledger-grid article { grid-template-columns:1fr; }
  .snapshot-ledger-grid article > button { grid-column:auto; grid-row:auto; }
  .snapshot-ledger-grid dl { grid-template-columns:repeat(2,1fr); }
  .ledger-toolbar-actions { width:100%; margin-left:0; }
  .ledger-toolbar-actions button { flex:1; }
}
