: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; } * { 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-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 { 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; } .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; } /* 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; }.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; } /* 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; } /* 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; } .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.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; margin-top:15px; padding-top:13px; border-top:1px solid var(--line); }.admin-exam-card footer > span { color:#858d9e; font-size:8px; }.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; } /* 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; }.notice-content p { margin:0 0 13px; color:#525d73; font-size:11px; line-height:2; }.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; } .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; } } @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) { .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 (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }