*{box-sizing:border-box}body{margin:0;font:16px/1.6 "Microsoft YaHei",Arial,sans-serif;color:#142b45;background:#f3f6fa}a{color:inherit;text-decoration:none}header{height:96px;padding:0 7%;background:#fff;border-bottom:1px solid #e3e9f1;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;font-size:20px;font-weight:700}.brand small{display:block;font-size:12px;letter-spacing:2px;color:#718298}.brand-icon{display:grid;place-items:center;background:#144d89;color:white;width:46px;height:46px;border-radius:12px;font-size:28px}header>a:last-child{font-size:14px;color:#586d86}main{max-width:1150px;margin:60px auto;min-height:calc(100vh - 250px);padding:0 24px}.login-layout{display:grid;grid-template-columns:1fr 460px;gap:100px;align-items:center;min-height:490px}.eyebrow{font-size:14px;color:#1b65a6;letter-spacing:2px;font-weight:700}.intro h1{font-size:44px;line-height:1.3;margin:18px 0 24px;letter-spacing:1px}.intro p{color:#64778d;max-width:390px}.steps{border-top:1px solid #dbe3ed;margin-top:42px;padding-top:26px;display:flex;gap:24px;color:#526780;font-size:14px}.steps b{display:block;color:#1b65a6;font-size:22px}.card{background:#fff;border:1px solid #e1e8f0;border-radius:16px;padding:34px;box-shadow:0 12px 40px #18395508}.card h2{font-size:25px;margin:0 0 6px}.muted{color:#718298;font-size:14px;margin-top:0}.label,label{display:block;font-size:14px;font-weight:600;margin:22px 0 8px}input{font:inherit;width:100%;border:1px solid #cfd9e5;border-radius:8px;padding:13px 14px;background:#fff;color:#142b45;min-width:0}input:focus{outline:3px solid #c8e0fa;border-color:#2876bd}button,.button{font:inherit;cursor:pointer;border:0;border-radius:8px;background:#165997;color:#fff;padding:13px 20px;text-align:center;display:inline-block;font-weight:600}button:hover,.button:hover{background:#104878}button:disabled{opacity:.6;cursor:wait}.primary{width:100%;margin-top:24px}.captcha-row{display:flex;align-items:center;gap:12px}.captcha-row input{width:50%}.captcha-button{padding:0;background:transparent!important;width:170px;height:58px;border:1px solid #d6e2ef;overflow:hidden}.captcha-button img{display:block;width:100%;height:100%}.hint{font-size:12px;color:#718298;margin-top:6px}.error{color:#b43b3b;font-size:14px;min-height:24px;margin-top:12px}.notice{border-radius:8px;background:#edf5fd;color:#305f8e;font-size:14px;padding:14px 18px;margin-top:22px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-head h1{font-size:30px;margin:0}.secondary{background:#fff;color:#39536e;border:1px solid #ccd8e5}.secondary:hover{background:#eaf1f8}.ticket{max-width:800px;margin:auto;padding:0;overflow:hidden}.ticket-title{background:#144d89;color:#fff;padding:28px 34px}.ticket-title h2{margin:0 0 8px}.ticket-title p{margin:0;color:#c9def5;font-size:14px}.ticket-content{padding:30px 34px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-bottom:1px dashed #cedae7;padding-bottom:30px}.field span{display:block;font-size:14px;color:#718298}.field strong{font-weight:600;display:block;margin-top:6px;overflow-wrap:anywhere}.field.wide{grid-column:1/-1}.download{margin-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.download p{font-size:14px;color:#718298}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.danger{background:#fff;color:#bc3d42;border:1px solid #efcdd0}.danger:hover{background:#fff0f1}.admin-panel{padding:24px;margin-top:24px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.toolbar input{max-width:390px}.count{font-size:14px;color:#718298}table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}th{text-align:left;background:#f2f6fa;color:#657990;font-weight:500}td,th{padding:16px 14px;border-bottom:1px solid #e6edf4}td:first-child{font-weight:600}.table-wrap{overflow:auto}.empty{text-align:center;padding:60px 20px;color:#718298}.status{color:#166947;background:#eaf7f0;border-radius:8px;padding:14px;margin:16px 0}.hide{display:none}footer{max-width:1150px;margin:0 auto;padding:25px 24px;border-top:1px solid #dce5ef;color:#7a8b9e;font-size:12px;display:flex;justify-content:space-between}dialog{border:1px solid #dce5ef;border-radius:16px;padding:30px;max-width:440px;width:calc(100% - 36px);color:#142b45}dialog::backdrop{background:#142b4577}dialog h2{margin-top:0}dialog .admin-actions{justify-content:flex-end;margin-top:24px}@media(max-width:1000px){header{height:80px;padding:0 22px}.brand{font-size:17px}main{margin:30px auto}.login-layout{grid-template-columns:1fr;gap:28px}.intro h1{font-size:32px;margin:10px 0}.intro p{margin-bottom:0}.steps{display:none}.card{padding:24px}.page-head{align-items:flex-start;flex-direction:column}.fields{grid-template-columns:1fr}.ticket-title,.ticket-content{padding:24px}.download{align-items:stretch;flex-direction:column}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{max-width:none}footer span{display:none}.admin-actions button{font-size:14px}}
.split-settings{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.split-settings label{margin:0}.split-settings input{width:90px}.split-settings span{font-size:14px;color:#718298}


.intro h1,.intro p,.download p,.field span,.notice{white-space:pre-line}.content-dialog{max-width:900px;max-height:90vh;overflow:auto}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}textarea{font:inherit;width:100%;resize:vertical;border:1px solid #cfd9e5;border-radius:8px;padding:12px;color:#142b45}textarea:focus{outline:3px solid #c8e0fa;border-color:#2876bd}.delete-one{padding:6px 14px;font-size:13px}#single-info{overflow-wrap:anywhere}header>a.brand{font-size:20px;color:#142b45}footer #footer-text{display:block}@media(max-width:600px){.content-grid{grid-template-columns:1fr}header>a.brand{font-size:17px}}

.download p{color:#c13737;font-weight:600}.upload-progress{margin-top:20px;padding:18px 22px;border:1px solid #d6e4f1;border-radius:10px;background:#f0f6fd}.upload-progress label{margin:0 0 10px;color:#165997}.upload-progress progress{display:block;width:100%;height:18px;accent-color:#165997}.upload-progress p{font-size:14px;color:#526780;margin:10px 0 0}

@media(max-width:600px){
  body{font-size:14px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  header{height:72px;padding:0 18px}
  header>a.brand{font-size:16px;gap:11px}
  .brand-icon{width:38px;height:38px;font-size:24px;border-radius:10px}
  .brand small{font-size:9px;letter-spacing:1.2px}
  main{margin:24px auto;padding:0 16px}
  .eyebrow{font-size:11px;letter-spacing:1.3px}
  .intro h1{font-size:25px;line-height:1.4;margin:10px 0 12px}
  .intro p{font-size:14px;line-height:1.7}
  .login-layout{gap:22px;min-height:0}
  .card{padding:22px;border-radius:14px}
  .card h2{font-size:21px}
  .muted{font-size:13px}
  .page-head{flex-direction:row;align-items:flex-end;gap:12px;margin-bottom:18px}
  .page-head>div{min-width:0}
  .page-head h1{font-size:23px;line-height:1.4;margin-top:5px}
  .page-head .secondary{flex-shrink:0;font-size:13px;line-height:1.4;padding:10px 13px;white-space:nowrap}
  .ticket.card{padding:0}
  .ticket-title{padding:20px 18px}
  .ticket-title h2{font-size:clamp(11px,3.5vw,15px);line-height:1.5;white-space:nowrap;margin-bottom:6px}
  .ticket-title p{font-size:12px}
  .ticket-content{padding:22px 18px}
  .fields{gap:19px;padding-bottom:23px}
  .field span{font-size:12px;line-height:1.6}
  .field strong{font-size:14px;margin-top:4px}
  .download{margin-top:18px;gap:12px}
  .download p{font-size:12px;margin:0;line-height:1.8}
  .download .button{font-size:14px;padding:12px 16px}
  .hint{font-size:11px}
  .notice{font-size:12px;padding:12px 14px}
  input{font-size:16px}
}
footer #footer-text{display:none}

.page-head:has(+ .ticket){max-width:800px;margin-left:auto;margin-right:auto}
footer{display:none}

.merge-dialog{max-width:760px;max-height:90vh;overflow:auto}.merge-dialog li{padding:12px 0;border-bottom:1px solid #e1e8f0}.merge-dialog li span{display:block;overflow-wrap:anywhere}.merge-dialog li div{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.merge-dialog li button{padding:6px 10px;font-size:13px}.merge-dialog progress{width:100%;margin-top:18px}.merge-dialog #merge-status{font-size:14px;white-space:pre-line}

.merge-dialog select{font:inherit;width:100%;padding:11px 12px;border:1px solid #cfd9e5;border-radius:8px;background:#fff;color:#142b45}

/* Cambridge-inspired candidate portal preview */
:root{--teal:#00b8b2;--deep:#143b45;--coral:#f0784f;--paper:#eef5f4}
body{color:var(--deep);background:var(--paper)}
header{height:98px;border-bottom:5px solid var(--teal);padding:0 max(28px,calc((100vw - 1280px)/2));background:#fff}
header>a.brand{color:var(--deep)}.brand-icon{background:var(--deep);border-radius:4px 4px 19px 19px;width:46px;height:52px}.brand small{color:#527379}
main{max-width:1280px;margin:44px auto;padding:0 28px;min-height:calc(100vh - 220px)}
.login-layout{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) 440px;gap:64px;min-height:650px;padding:54px 54px 54px 58px;border-radius:24px;background:var(--teal);overflow:hidden;box-shadow:0 22px 65px #143b4512}
.login-layout:before{content:"";position:absolute;z-index:-1;width:790px;height:990px;left:-275px;top:-500px;background:var(--deep);border:48px solid #20ccc2;border-radius:0 0 48% 48%;box-shadow:0 0 0 36px #04a8a4,0 0 0 80px #ee7952,0 0 0 112px #f79c70,0 0 0 150px #e84f66;transform:rotate(-16deg)}
.login-layout:after{content:"";position:absolute;z-index:-1;width:400px;height:400px;right:-255px;bottom:-280px;border:55px solid #f0784f;border-radius:50%;box-shadow:0 0 0 35px #ef9d72}
.intro{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding-bottom:32px}.login-layout .eyebrow{font-size:11px;color:#c5f4eb;letter-spacing:2.3px}.intro h1{font-size:44px;line-height:1.45;letter-spacing:0;color:white;max-width:430px;margin:18px 0 24px}.intro p{color:#e5f6f1;font-size:16px;max-width:360px;line-height:1.9}.steps{border-color:#ffffff45;color:#fff;margin-top:34px;gap:25px;max-width:390px}.steps b{color:#74e6d0;font-size:25px;margin-bottom:7px}
.card{border:1px solid #fff;border-radius:18px;padding:36px;background:#ffffff;box-shadow:0 18px 45px #143b452b}.card h2{color:var(--deep);font-size:27px}.muted{color:#658084}label{color:var(--deep)}input{border-color:#cededc;color:var(--deep);background:#fbfdfc}input:focus{outline:3px solid #00b8b233;border-color:#009c95}button,.button{background:#087d77}button:hover,.button:hover{background:#075f5b}.primary{background:var(--deep);padding:15px;border-radius:8px}.primary:hover{background:#0c5359}.hint{color:#688185}.captcha-button{border-color:#d5e4e1}

@media(max-width:1000px){.login-layout{grid-template-columns:1fr 400px;gap:30px;padding:38px 30px;min-height:610px}.intro h1{font-size:34px}.steps{gap:15px;display:flex}.card{padding:28px}}
@media(max-width:760px){header{height:82px;padding:0 20px}main{margin:20px auto;padding:0 14px}.login-layout{grid-template-columns:1fr;gap:25px;padding:30px 22px;border-radius:18px;min-height:0}.login-layout:before{left:-220px;top:-675px;width:720px;height:1000px;transform:rotate(-10deg)}.intro{padding:0;min-height:205px;justify-content:flex-start}.intro h1{font-size:29px;max-width:310px;margin:12px 0}.intro p{font-size:14px;margin:0;max-width:300px}.login-layout .eyebrow{font-size:9px;letter-spacing:1.7px}.steps{display:none}.card{padding:25px 22px}.card h2{font-size:23px}.captcha-row{gap:8px}.captcha-button{width:145px}}


/* Keep the existing heading balanced without changing its text. */
.login-layout .intro h1{text-wrap:balance}

/* Official Cambridge shield; header and main share the same outer alignment. */
header{padding-left:max(28px,calc((100% - 1280px)/2 + 28px));padding-right:max(28px,calc((100% - 1280px)/2 + 28px))}
.brand-icon{display:block;flex-shrink:0;width:46px;height:54px;background:transparent;border-radius:0}
.brand-icon svg{display:block;width:100%;height:100%}
@media(max-width:760px){header{padding-left:14px;padding-right:14px}.brand-icon{width:38px;height:44px}}

/* Frosted candidate pages, with an understated exam-level heading. */
body{background:#edf4f2;background-image:radial-gradient(ellipse at 12% 18%,#83d8cd45,transparent 48%),radial-gradient(ellipse at 86% 62%,#f1b18d35,transparent 44%);background-attachment:fixed}
header{background:#fffffff0}
.login-layout .card,.ticket.card{background:#fffffff2;border:1px solid #ffffffcf;box-shadow:0 20px 55px #143b4514, inset 0 1px 0 #ffffff}
.ticket.card{padding:0;border-radius:22px;overflow:hidden}
.ticket .ticket-title{position:relative;background:linear-gradient(120deg,#bfece44a,#ffffff70);color:var(--deep);padding:30px 34px 25px;border-bottom:1px solid #16796f20}
.ticket .ticket-title:before{content:"";position:absolute;left:0;top:30px;bottom:25px;width:4px;background:#087d77;border-radius:0 4px 4px 0}
.ticket .ticket-title h2{color:var(--deep);font-size:clamp(22px,2vw,28px);font-weight:700;line-height:1.45;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;letter-spacing:-.3px;margin:0 0 10px}
.ticket .ticket-title p{color:#52716f;font-size:14px;margin:0}
.ticket .ticket-content{padding:30px 34px}.ticket .fields{border-color:#237c7130}.ticket .field span{color:#607c79}
.ticket .download .button{box-shadow:0 6px 16px #087d771c}.page-head:has(+ .ticket) .secondary{background:#ffffffb8;border-color:#ffffff;color:var(--deep)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
header{background:#ffffffbf;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.login-layout .card{background:#ffffffd6;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}
.ticket.card{background:#ffffffba;backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%)}
}
@media(max-width:760px){.ticket.card{padding:0;border-radius:18px}.ticket .ticket-title{padding:24px 22px 20px}.ticket .ticket-title:before{top:24px;bottom:20px}.ticket .ticket-title h2{font-size:22px}.ticket .ticket-title p{font-size:12px}.ticket .ticket-content{padding:24px 22px}.ticket .fields{gap:20px}}
/* Full-bleed mobile login background with comfortable inner gutters. */
@media(max-width:760px){
main:has(> .login-layout){max-width:none;margin:0;padding:0;min-height:calc(100svh - 82px)}
main>.login-layout{border-radius:0;box-shadow:none;min-height:calc(100svh - 82px);gap:28px;padding:30px max(22px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}
.login-layout .intro{min-height:0;padding:0}
.login-layout .intro p{max-width:360px;line-height:1.85}
.login-layout .card{padding:26px 24px;border-radius:22px}
.login-layout .captcha-row{gap:10px}
.login-layout .captcha-row input{flex:1;width:auto;min-width:0}
.login-layout .captcha-button{flex:0 0 44%;width:auto;height:56px}
.login-layout .primary{min-height:52px}
header{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
body{background-attachment:scroll}
}
@media(max-width:360px){main>.login-layout{padding-left:18px;padding-right:18px}.login-layout .card{padding:24px 20px}header{padding-left:18px;padding-right:18px}}

/* Clearer frosted glass on the admission ticket. */
body:has(.ticket){background-color:#e4efec;background-image:radial-gradient(ellipse at 18% 30%,#55cbb58c,transparent 54%),radial-gradient(ellipse at 85% 75%,#efb38e70,transparent 50%)}
.ticket.card{background:#fffffff0;box-shadow:0 24px 64px #143b451c,inset 0 1px 0 #fff;border:1px solid #ffffffdc}
.ticket .ticket-content{background:transparent}
.ticket .ticket-title{background:linear-gradient(120deg,#bfece430,#ffffff38)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ticket.card{background:linear-gradient(125deg,#ffffff80,#ffffff59);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}}

/* Balanced teal glass across the mobile ticket page. */
@media(max-width:760px){body:has(.ticket){background-color:#d2eae4;background-image:linear-gradient(180deg,#a8e0d5 0%,#c2e9e1 55%,#d2eae4 100%)}.ticket .ticket-title{background:#bfece430}}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){@media(max-width:760px){.ticket.card{background:#ffffff59}}}

/* Single-line home heading and a slightly shorter hero. */
.login-layout .intro h1{max-width:none;white-space:nowrap;text-wrap:nowrap;font-size:clamp(22px,2.5vw,36px)}
@media(min-width:1001px){.login-layout{min-height:610px;padding-top:42px;padding-bottom:42px}}
@media(min-width:761px) and (max-width:1000px){.login-layout .intro h1{font-size:clamp(20px,2.5vw,25px)}}
@media(max-width:760px){main>.login-layout{gap:22px;padding-top:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.login-layout .intro h1{font-size:clamp(19px,5.4vw,29px);line-height:1.45;margin:10px 0}}
/* Administration: dark glass dashboard, isolated from candidate pages. */
body.admin-theme{color:#edf0ff;background:#090e20;background-image:radial-gradient(ellipse at 85% 0%,#242550,transparent 58%),radial-gradient(ellipse at 5% 90%,#12423c,transparent 60%);color-scheme:dark}
.admin-theme header{background:#11172ccc;border-bottom:1px solid #ffffff20;backdrop-filter:blur(24px)}
.admin-theme header>a.brand,.admin-theme label,.admin-theme .card h2{color:#f5f7ff}.admin-theme .brand small{color:#a4acc5}
.admin-theme main{max-width:1380px;margin:32px auto}.admin-theme .page-head{margin-bottom:28px}.admin-theme .page-head h1{margin:5px 0;font-size:32px}.admin-theme .eyebrow{color:#a4efce}.admin-theme .muted,.admin-theme .hint{color:#a6b0c8}
.admin-theme .metric-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:18px;margin-bottom:20px}.admin-theme .metric{padding:24px;border:1px solid #ffffff16;border-radius:22px;background:linear-gradient(135deg,#ffffff15,#ffffff06);box-shadow:0 12px 35px #0002;backdrop-filter:blur(20px)}
.admin-theme .metric span,.admin-theme .metric small{display:block;color:#b2bad0;font-size:13px}.admin-theme .metric strong{display:block;font-size:38px;line-height:1.3;margin:12px 0;letter-spacing:-1px}.admin-theme .metric-feature{background:linear-gradient(115deg,#79e5c5,#c6ec81);color:#0d3431}.admin-theme .metric-feature span,.admin-theme .metric-feature small{color:#285649}
.admin-theme .download-chart,.admin-theme .admin-workspace{border:1px solid #ffffff18;border-radius:24px;background:#ffffff09;padding:24px;margin-bottom:24px;backdrop-filter:blur(20px)}.admin-theme .chart-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-theme .chart-head h2{font-size:19px;margin:0}.admin-theme .chart-head p{font-size:12px;color:#a6b0c8;margin:6px 0}
.admin-theme .chart-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:12px;margin-top:22px}.admin-theme .chart-day{text-align:center;min-width:0}.admin-theme .chart-value{font-size:12px;color:#d8d7ef}.admin-theme .bar-track{height:120px;display:flex;align-items:flex-end;border-bottom:1px solid #ffffff20;padding:0 6px}.admin-theme .chart-bar{width:100%;background:linear-gradient(180deg,#c7a9ef,#77669c);border-radius:9px 9px 0 0;min-height:3px}.admin-theme .chart-day small{font-size:10px;color:#a6b0c8}.bar-0{height:3px}.bar-1{height:10%}.bar-2{height:20%}.bar-3{height:30%}.bar-4{height:40%}.bar-5{height:50%}.bar-6{height:60%}.bar-7{height:70%}.bar-8{height:80%}.bar-9{height:90%}.bar-10{height:100%}
.admin-theme input,.admin-theme textarea,.admin-theme select{background:#131b30;color:#eef2ff;border:1px solid #ffffff25}.admin-theme input::placeholder{color:#8791aa}.admin-theme input:focus{outline-color:#90e1bb40;border-color:#90e1bb}
.admin-theme button,.admin-theme .button{background:#b8eaa0;color:#15352b;border-radius:12px}.admin-theme button:hover{background:#d1f5bf}.admin-theme button.secondary{background:#ffffff12;color:#e4e9f6;border:1px solid #ffffff22}.admin-theme button.danger{background:#ee7e8925;color:#ffb5be;border:1px solid #ee7e8940}
.admin-theme .notice{background:#98a4ec13;color:#b9c3df;border:1px solid #98a4ec25;border-radius:12px}.admin-theme .admin-panel{background:#0b112480;border:1px solid #ffffff16;box-shadow:none;padding:22px;border-radius:18px}.admin-theme th{background:#ffffff08;color:#adb8d3}.admin-theme td{color:#e0e6f5}.admin-theme td,.admin-theme th{border-color:#ffffff13}.admin-theme tbody tr:hover{background:#ffffff06}.admin-theme .count,.admin-theme .empty{color:#a6b0c8}.admin-theme .split-settings{color:#b0bbd3;background:transparent}.admin-theme .split-settings label{color:#e4e9f6}.admin-theme dialog{background:#151d32;color:#eef2ff;border:1px solid #ffffff25;box-shadow:0 30px 80px #0008}.admin-theme dialog::backdrop{background:#030715bd;backdrop-filter:blur(8px)}.admin-theme .status{color:#a4efce}.admin-theme .error{color:#ffadb9}
.admin-theme .login-layout{background:#10192c;border:1px solid #ffffff20;min-height:560px}.admin-theme .login-layout:before,.admin-theme .login-layout:after{display:none}.admin-theme .login-layout .card{background:#ffffff0d;border-color:#ffffff22}.admin-theme .intro p{color:#a6b0c8}
@media(max-width:900px){.admin-theme .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-theme .chart-bars{gap:5px}.admin-theme .bar-track{padding:0 2px}.admin-theme .chart-day:nth-child(even) small{visibility:hidden}}
@media(max-width:600px){.admin-theme main{margin:22px auto;padding:0 14px}.admin-theme .metric-grid{gap:12px}.admin-theme .metric{padding:18px;border-radius:18px}.admin-theme .metric strong{font-size:30px}.admin-theme .metric small{font-size:11px}.admin-theme .download-chart,.admin-theme .admin-workspace{padding:18px;border-radius:20px}.admin-theme .chart-head{align-items:flex-start}.admin-theme .chart-head p{max-width:210px}.admin-theme .chart-head button{font-size:12px;padding:8px 10px;white-space:nowrap}.admin-theme .page-head h1{font-size:25px}.admin-theme .admin-actions{gap:10px;flex-wrap:wrap}.admin-theme .admin-actions button{font-size:12px}.admin-theme .admin-panel{padding:14px}.admin-theme .table-wrap{overflow:auto}.admin-theme table{min-width:760px}.admin-theme .login-layout .intro h1{white-space:normal}.admin-theme .login-layout{border-radius:20px;padding:24px;min-height:0}}


/* Ticket selection and range selection. */
.admin-theme .selection-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 18px}.admin-theme #selection-count{color:#b8eaa0;font-weight:600;white-space:nowrap}.admin-theme .selection-toolbar .hint{flex:1;margin:0}.admin-theme .selection-toolbar button{padding:7px 12px;font-size:12px}.admin-theme .selection-cell{width:48px;min-width:48px;text-align:center}.admin-theme input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:0;padding:0;accent-color:#a4e5bf;cursor:pointer;vertical-align:middle}.admin-theme tr.ticket-selected,.admin-theme tr.ticket-selected:hover{background:#87dcb51c}.admin-theme .selection-cell:has(input:focus-visible){outline:2px solid #a4e5bf;outline-offset:-4px}
@media(max-width:600px){.admin-theme .selection-toolbar{gap:10px}.admin-theme .selection-toolbar .hint{flex-basis:100%;order:3}}

.admin-theme #selected-delete-dialog{max-width:620px}.admin-theme #selected-delete-list{max-height:210px;overflow:auto;border:1px solid #ffffff20;border-radius:10px;padding:12px 12px 12px 32px}.admin-theme #selected-delete-list li{padding:4px;overflow-wrap:anywhere}

/* Optional attachment appended to every ticket. */
.admin-theme .split-settings .split-label{color:#e4e9f6;font-weight:600}.admin-theme .split-settings button{padding:7px 12px;font-size:13px}.admin-theme #attachment-name{color:#b8eaa0;font-size:14px;overflow-wrap:anywhere}.admin-theme #message{white-space:pre-line;overflow-wrap:anywhere}
.admin-theme .attachment-list{border:1px solid #ffffff18;border-radius:14px;padding:14px 18px;margin:14px 0}.admin-theme .attachment-list h3{margin:0 0 8px;font-size:15px}.admin-theme .attachment-list ul{list-style:none;margin:0;padding:0}.admin-theme .attachment-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #ffffff10;font-size:13px;color:#c9d2e6}.admin-theme .attachment-list li span{overflow-wrap:anywhere}.admin-theme .attachment-list li button{padding:6px 12px;font-size:12px;white-space:nowrap}.admin-theme .attachment-list .hint{margin:8px 0 0}
@media(max-width:600px){.admin-theme .attachment-list li{flex-direction:column;align-items:flex-start}}

/* Download status column and filter. */
.admin-theme .toolbar select{font:inherit;font-size:14px;padding:10px 12px;border-radius:10px;width:auto;max-width:180px}.admin-theme .download-none{color:#ffb5be;font-weight:600;white-space:nowrap}.admin-theme .download-yes{color:#a4efce;white-space:nowrap}.admin-theme .download-yes small{display:block;color:#a6b0c8;font-size:11px;margin-top:2px}
@media(max-width:600px){.admin-theme .toolbar select{max-width:none;width:100%}}

.admin-theme .ticket-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px;border-top:1px solid #ffffff18;padding-top:18px}.admin-theme #page-status{font-size:13px;color:#b9c5dc}.admin-theme .page-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-theme .page-controls button{padding:8px 12px;font-size:13px}.admin-theme .page-controls label{margin:0;font-size:12px}.admin-theme #page-jump{width:68px;padding:8px 10px}.admin-theme .page-controls button:disabled{opacity:.4;cursor:default}@media(max-width:600px){.admin-theme .ticket-pagination{gap:12px}.admin-theme .page-controls{gap:6px}.admin-theme .page-controls button{padding:7px 10px;font-size:12px}}

/* CEQ buttons and neutral text / 2026-10-16 */
body{--deep:#2c2b3d;color:#2c2b3d}header .brand{color:#2c2b3d}.brand small{color:#777486}.card h2,label,input,.ticket .ticket-title h2,.page-head h1{color:#2c2b3d}.muted,.hint,.ticket .ticket-title p,.ticket .field span{color:#747181}input:focus{outline-color:#7864dc33;border-color:#8d75d9}
button:not(.captcha-button):not(.secondary):not(.danger),a.button:not(.secondary):not(.danger){position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#375bea,#7050df,#3278ef,#375bea);background-size:250% 100%;color:#fff;border:1px solid #ffffff24;border-radius:9px;box-shadow:0 5px 15px #605de626;transition:transform .2s,box-shadow .2s}
button:not(.captcha-button):not(.secondary):not(.danger):hover,a.button:not(.secondary):not(.danger):hover{background:linear-gradient(110deg,#375bea,#7050df,#3278ef,#375bea);background-size:250% 100%;color:#fff;transform:translateY(-2px);box-shadow:0 8px 21px #605de638}
.primary:after,.download .button:after{content:'';position:absolute;inset:-80% auto -80% -60%;width:32%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:rotate(20deg);pointer-events:none;z-index:-1}
button:focus-visible,a.button:focus-visible{outline:3px solid #ac95ed;outline-offset:3px}button:disabled{animation:none!important;transform:none!important;box-shadow:none}
body:not(.admin-theme) .secondary{color:#6651ae;background:#f3effc;border-color:#d7cbed}.ticket .ticket-title:before{background:#8970ce}.admin-theme .metric-feature{background:linear-gradient(115deg,#dad1fa,#e6e7ff);color:#343147}.admin-theme .metric-feature span,.admin-theme .metric-feature small{color:#615973}
@media(prefers-reduced-motion:no-preference){button:not(.captcha-button):not(.secondary):not(.danger):not(:disabled),a.button:not(.secondary):not(.danger){animation:ceq-button-colours 7s ease-in-out infinite}.primary:after,.download .button:after{animation:ceq-button-light 6s ease-in-out infinite}@keyframes ceq-button-colours{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes ceq-button-light{0%,55%{left:-60%}85%,100%{left:130%}}}
@media(prefers-reduced-motion:reduce){button,a.button{transition:none!important;animation:none!important}.primary:after,.download .button:after{display:none}button:hover,a.button:hover{transform:none!important}}

/* Candidate portal: liquid-sand background only, buttons unchanged. */
body:not(.admin-theme) .login-layout:before{transform-origin:55% 55%;animation:down-sand-wave 25s ease-in-out infinite alternate}
body:not(.admin-theme) .login-layout:after{animation:down-sand-eddy 21s ease-in-out infinite alternate}
@keyframes down-sand-wave{0%{transform:translate(-8px,-10px) rotate(-18deg) scale(1.02);border-radius:0 0 48% 48%}50%{transform:translate(22px,18px) rotate(-12deg) scale(1.08);border-radius:0 0 40% 56%}100%{transform:translate(-18px,32px) rotate(-20deg) scale(1.04);border-radius:0 0 56% 42%}}
@keyframes down-sand-eddy{0%{transform:translate(0,0) scale(1);border-radius:50%}100%{transform:translate(-32px,-28px) scale(1.12);border-radius:45% 55% 58% 42%}}
@media(max-width:760px){body:not(.admin-theme) .login-layout:before{animation-name:down-sand-mobile;animation-duration:32s}body:not(.admin-theme) .login-layout:after{animation-duration:29s}}
@keyframes down-sand-mobile{0%{transform:translate(0,0) rotate(-10deg) scale(1.02);border-radius:0 0 48% 48%}100%{transform:translate(15px,20px) rotate(-6deg) scale(1.06);border-radius:0 0 55% 42%}}
@media(prefers-reduced-motion:reduce){body:not(.admin-theme) .login-layout:before,body:not(.admin-theme) .login-layout:after{animation:none!important}}

/* Past tickets below the current one (candidate page) / 2026-10-25. */
.past-tickets{margin-top:22px}.past-tickets .past-head{padding:24px 34px 8px}.past-tickets .past-head h2{font-size:19px;margin:0 0 6px}.past-tickets .past-head p{margin:0;font-size:13px;color:#747181;white-space:pre-line}
.past-tickets ul{list-style:none;margin:0;padding:6px 34px 22px}.past-tickets li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-top:1px dashed #cedae7}
.past-main strong{display:block;font-weight:600}.past-main span,.past-meta span{display:block;font-size:13px;color:#747181;overflow-wrap:anywhere}.past-meta small,.keep-until{display:block;font-size:12px;color:#8a7a4f;margin-top:3px}
.past-tickets li .button{padding:8px 18px;font-size:14px;white-space:nowrap}
@media(max-width:600px){.past-tickets .past-head{padding:20px 18px 6px}.past-tickets ul{padding:4px 18px 16px}.past-tickets li{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.past-meta{grid-column:1;grid-row:2}.past-tickets li .button{grid-row:1/3;grid-column:2}}
/* Past download buttons share the highlighted download button, light sweep included. */
.past-download:after{content:'';position:absolute;inset:-80% auto -80% -60%;width:32%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:rotate(20deg);pointer-events:none;z-index:-1}
@media(prefers-reduced-motion:no-preference){.past-download:after{animation:ceq-button-light 6s ease-in-out infinite}}
@media(prefers-reduced-motion:reduce){.past-download:after{display:none}}
.ticket + .notice{max-width:800px;margin-left:auto;margin-right:auto}
.admin-theme .keep-cell{display:block;font-size:11px;color:#a6b0c8;margin-top:2px;white-space:nowrap}.admin-theme .date-actions{display:flex;gap:8px;flex-shrink:0}.admin-theme .toolbar #date-filter{max-width:240px}
/* ICP filing 20261029 */
body>footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;text-align:center;padding:20px 18px}
body>footer #icp-filing{display:inline-block;font-size:13px;line-height:1.8;color:#596b7d}body>footer #icp-filing:hover{text-decoration:underline}body>footer #icp-filing:focus-visible{outline:2px solid #165997;outline-offset:4px}
