:root{--navy:#061d35;--navy-2:#092b4d;--blue:#0877e8;--cyan:#12bfe9;--ink:#132b42;--muted:#667b8e;--line:#dce6ee;--soft:#f4f8fb;--white:#fff;--green:#19a974;--amber:#db9226;--red:#df4b5a;--violet:#7656db;--shadow:0 20px 60px rgba(14,49,78,.12)}
.official-site-link{color:#b9d8e9;font-size:12px;font-weight:700;white-space:nowrap;transition:.2s}.official-site-link:hover{color:#61daf6}
.candidate-official-site{position:absolute;z-index:5;top:24px;right:max(90px,calc((100vw - 1180px)/2 + 70px));color:#b9d8e9;font-size:12px;font-weight:700;white-space:nowrap}.candidate-official-site:hover{color:#61daf6}
.video-preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#061d35;z-index:1}.video-preview:has(video):before{display:none}.video-preview:has(video) .video-index{z-index:2;background:rgba(4,29,51,.72);padding:4px 7px;border-radius:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:#f3f7fa}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-size:21px;font-weight:800;letter-spacing:-.5px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:white;font-size:19px;background:linear-gradient(145deg,#26d1f5,#0868e8 58%,#5939c9);box-shadow:0 8px 25px rgba(15,145,236,.35)}.brand small{display:block;font-weight:500;color:#7f93a6;font-size:11px;letter-spacing:.4px}.public-header{height:76px;padding:0 max(28px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#071e35;border-bottom:1px solid rgba(255,255,255,.09)}.header-note{color:#90a9bd;font-size:13px;letter-spacing:2px}.hero{min-height:520px;background:linear-gradient(120deg,#061b31,#092d51 64%,#063d68);position:relative;overflow:hidden;color:white;padding:76px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(27,145,211,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(27,145,211,.08) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to top,black,transparent 75%)}.hero:after{content:"";position:absolute;width:55%;height:1px;right:0;bottom:58px;background:linear-gradient(90deg,transparent,#1dccf2,transparent);box-shadow:0 0 18px #0bb8ef}.hero-inner,.hero-card{position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:800;color:#4e7899;text-transform:uppercase;margin:0 0 15px}.eyebrow span{display:inline-block;width:28px;height:2px;background:var(--cyan);vertical-align:middle;margin-right:8px}.eyebrow.center{text-align:center}.hero h1,.login-brand h1{font-size:64px;line-height:1.08;letter-spacing:-3.5px;margin:17px 0 22px;max-width:690px}.hero h1 em,.login-brand h1 em{font-style:normal;color:#5fdaf5}.hero-inner>p{max-width:620px;line-height:1.9;color:#b6cadd;font-size:16px}.hero-pills{display:flex;gap:10px;margin-top:30px}.hero-pills span{border:1px solid rgba(113,219,246,.28);background:rgba(5,77,122,.4);padding:8px 15px;border-radius:999px;font-size:12px;color:#bceeff}.hero-card{background:linear-gradient(150deg,rgba(12,72,115,.85),rgba(4,31,55,.85));border:1px solid rgba(65,194,237,.35);border-radius:22px;padding:28px 28px 25px;box-shadow:0 26px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(12px)}.live-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#34eab5;box-shadow:0 0 12px #34eab5;margin-right:7px}.hero-card>span{font-size:12px;color:#9cc1d7}.hero-card strong{font-size:20px;display:block;margin:17px 0}.hero-card ol{margin:0;padding:0;list-style:none;counter-reset:item}.hero-card li{counter-increment:item;padding:12px 0 12px 44px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#c2d5e3;position:relative}.hero-card li:before{content:counter(item);position:absolute;left:4px;top:9px;width:25px;height:25px;border-radius:8px;background:rgba(28,150,220,.15);display:grid;place-items:center;color:#54d5f7}.hero-orb{position:absolute;border-radius:50%;filter:blur(5px);opacity:.28}.orb-one{width:420px;height:420px;background:#0878c4;right:17%;top:10%}.orb-two{width:280px;height:280px;border:1px solid #0ab7ef;left:-110px;bottom:-130px}.application{max-width:1180px;margin:0 auto;padding:70px 28px}.form-section{background:#fff;border:1px solid #e1e9ef;border-radius:20px;padding:38px;margin-bottom:24px;box-shadow:0 8px 35px rgba(19,58,89,.05)}.section-heading{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading .step{font-weight:900;color:#0786d3;font-size:13px;letter-spacing:1px;padding-top:8px}.section-heading h2{margin:0 0 7px;font-size:25px;letter-spacing:-.6px}.section-heading p,.panel-head p,.admin-heading p{margin:0;color:var(--muted);font-size:13px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-card{border:1px solid var(--line);border-radius:16px;padding:12px}.video-preview{height:160px;border-radius:11px;background:linear-gradient(145deg,#092c4c,#07527f);position:relative;overflow:hidden;display:grid;place-items:center}.video-preview:before{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(56,210,245,.25);border-radius:50%;box-shadow:0 0 50px rgba(14,196,240,.16)}.wave{position:absolute;width:120%;height:50px;bottom:-30px;border-radius:50%;background:#11bde9;filter:blur(22px);opacity:.35}.video-index{position:absolute;top:14px;left:15px;color:#64d9f3;font-size:11px;font-weight:800}.play{position:relative;z-index:2;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:white;color:#0879cf;padding-left:3px;box-shadow:0 8px 30px rgba(0,0,0,.25)}.play.muted{opacity:.35}.video-card h3{font-size:15px;margin:16px 4px 13px}.choice-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice-group input,.result-options input,.weekday-field input{position:absolute;opacity:0;pointer-events:none}.choice-group span,.result-options span,.weekday-field span{display:block;text-align:center;border:1px solid var(--line);border-radius:9px;padding:8px;font-size:12px;cursor:pointer;color:#60768a;background:#f8fafc}.choice-group input:checked+span,.weekday-field input:checked+span{border-color:#118ed9;background:#eaf7fd;color:#0577bf;font-weight:700;box-shadow:0 0 0 2px rgba(12,147,215,.08)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 24px}.field{display:flex;flex-direction:column;gap:9px}.field>span,.weekday-field legend{font-size:12px;font-weight:700;color:#38536a}.field input,.field textarea,.table-search{width:100%;border:1px solid #d7e2ea;background:#fbfdfe;border-radius:10px;padding:13px 14px;outline:none;transition:.2s}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field textarea:focus,.table-search:focus{border-color:#148fcf;box-shadow:0 0 0 3px rgba(13,148,211,.1);background:white}.field-full{grid-column:1/-1}.template-strip{border:1px solid #bde6f5;background:#f0fbff;border-radius:14px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.template-strip>div,.current-file,.file-links a{display:flex;align-items:center;gap:12px}.template-strip b,.template-strip small,.current-file b,.current-file small,.file-links b,.file-links small{display:block}.template-strip small,.current-file small,.file-links small{color:#73889a;font-size:11px;margin-top:4px}.doc-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#d9f5fc;color:#0588c8;font-size:18px;font-weight:800}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upload-box{min-height:175px;border:1.5px dashed #b7cbd9;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#fbfdff;text-align:center;padding:20px;cursor:pointer;transition:.2s}.upload-box:hover,.upload-box.has-file{border-color:#12a4dc;background:#f3fcff}.upload-box input{position:absolute;width:1px;height:1px;opacity:0}.upload-box b{font-size:14px}.upload-box small{color:#8294a4;font-size:11px}.upload-box em{font-style:normal;color:#0787ca;font-size:12px;font-weight:700;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-icon{width:42px;height:42px;border-radius:12px;background:#e7f6fc;color:#0586cc;display:grid;place-items:center;font-size:22px;font-weight:700}.consent{display:flex;align-items:flex-start;gap:9px;color:#5c7284;font-size:12px;line-height:1.6;margin:22px 0 15px}.consent input{margin-top:3px;accent-color:#078ad1}.deadline-note{display:flex;gap:15px;padding:15px 17px;border-radius:12px;background:#fff8ec;border:1px solid #f2d7a7;color:#795d27;font-size:12px;line-height:1.6}.deadline-note b{white-space:nowrap}.button{border:0;border-radius:10px;padding:12px 18px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:18px;cursor:pointer;transition:.2s}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{background:linear-gradient(100deg,#087edb,#12a7df);color:white;box-shadow:0 10px 25px rgba(8,130,211,.23)}.button-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(8,130,211,.3)}.button-secondary{background:#fff;border:1px solid #bfd1df;color:#166793}.submit-button{margin-top:23px;min-width:260px}.public-footer{height:100px;background:#071e35;display:flex;align-items:center;gap:40px;padding:0 max(28px,calc((100vw - 1180px)/2));color:#849db1}.public-footer>span{font-size:13px;letter-spacing:1px}.public-footer small{margin-left:auto}.notice{border:1px solid;padding:14px 16px;border-radius:11px;font-size:12px;line-height:1.6}.notice.amber{background:#fff8ec;border-color:#f2d7a7;color:#795d27}.notice.violet{background:#f5f1ff;border-color:#dcd2fa;color:#5946a1}.status-page,.simple-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:55px 20px;background:radial-gradient(circle at 50% 0,#dff5fb,transparent 38%),#f2f7fa}.status-card,.simple-card{width:min(720px,100%);background:#fff;border-radius:24px;padding:48px;text-align:center;box-shadow:var(--shadow);border:1px solid #dce7ee}.status-card h1,.simple-card h1{margin:8px 0 17px;font-size:30px}.status-icon,.simple-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font-size:28px;font-weight:800}.status-blue{background:#e3f4fd;color:#0786d3}.status-green{background:#e4f8ef;color:#15996b}.status-red{background:#ffebee;color:#d64452}.status-amber{background:#fff4df;color:#c6851d}.status-gray{background:#edf1f4;color:#70808f}.status-violet{background:#f0ebff;color:#7656db}.status-badge{display:inline-block;padding:5px 11px;border-radius:999px;font-weight:700;font-size:11px;white-space:nowrap}.status-badge.large{padding:9px 17px;font-size:13px}.badge-blue{background:#dff2fd;color:#0679c5}.badge-green{background:#dcf6e9;color:#118456}.badge-amber{background:#fff0d6;color:#a76d10}.badge-red{background:#fee5e9;color:#c53646}.badge-gray,.badge-slate{background:#e9eef2;color:#607182}.badge-violet{background:#eee8ff;color:#6548c3}.appointment{margin:28px auto 18px;background:linear-gradient(140deg,#082a4a,#0a4874);color:white;border-radius:18px;padding:25px;max-width:390px;box-shadow:0 16px 35px rgba(5,54,91,.2)}.appointment small,.appointment strong,.appointment b,.appointment span{display:block}.appointment small{color:#8bdcf3;font-size:11px}.appointment strong{font-size:19px;margin:10px 0 6px}.appointment b{font-size:32px;color:#fff}.appointment span{color:#b8d5e3;font-size:12px;margin-top:10px}.appointment.compact{margin:18px 0;text-align:center}.status-card>.notice{max-width:490px;margin:0 auto}.status-copy{font-size:15px;line-height:1.9;color:#536b7f;max-width:560px;margin:24px auto}.status-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);margin-top:30px;padding-top:25px;text-align:left}.status-details small,.detail-grid small,.profile-note small{display:block;color:#8192a0;font-size:10px;margin-bottom:6px}.status-details b,.detail-grid b{font-size:12px;word-break:break-word}.privacy-note{font-size:10px;color:#92a0aa;margin:28px 0 0}.simple-icon{background:#eaf6fc;color:#1685c2}.simple-card p{color:var(--muted);margin-bottom:25px}.toast{position:fixed;top:88px;right:25px;z-index:100;padding:13px 18px;border-radius:10px;color:white;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:.4s}.toast-success{background:#138b65}.toast-error{background:#c94350}.toast.hide{opacity:0;transform:translateY(-10px);pointer-events:none}

/* Admin */
.admin-body{background:#f1f5f8}.admin-topbar{height:72px;background:#fff;border-bottom:1px solid #dfe7ed;padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.brand-dark{color:var(--ink)}.admin-user{display:flex;align-items:center;gap:17px;font-size:12px;color:#607487}.admin-user form{margin:0}.link-button{border:0;background:transparent;color:#1374ac;cursor:pointer}.admin-layout{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{background:#082139;color:#a7bbca;padding:30px 18px;display:flex;flex-direction:column}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{padding:12px 14px;border-radius:9px;font-size:13px;display:flex;gap:12px}.sidebar nav a:hover,.sidebar nav a.active{background:#0c3d64;color:#fff}.sidebar nav span{width:17px;text-align:center;color:#4ecbee}.sidebar-rule{margin-top:auto;border:1px solid #17486d;background:#0b3151;border-radius:12px;padding:15px}.sidebar-rule b{font-size:11px;color:#f4b950}.sidebar-rule p{font-size:10px;line-height:1.7;margin:7px 0 0}.admin-content{padding:38px;min-width:0;max-width:1600px;width:100%;margin:0 auto}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.admin-heading h1{font-size:30px;margin:0 0 8px;letter-spacing:-1px}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.stat-grid>div{background:white;border:1px solid #e0e8ee;border-radius:14px;padding:17px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px}.stat-grid small{font-size:10px;color:#8294a4;align-self:end}.stat-grid b{font-size:25px;line-height:1.1}.stat-icon{grid-row:1/3;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.stat-icon.blue{background:#e6f4fd;color:#0782cc}.stat-icon.cyan{background:#e3fafc;color:#0d9caf}.stat-icon.green{background:#e4f8ef;color:#15996b}.stat-icon.violet{background:#f0ebff;color:#7353d0}.stat-icon.gray{background:#edf1f4;color:#70808f}.panel{background:#fff;border:1px solid #dfe7ed;border-radius:15px;box-shadow:0 4px 18px rgba(22,54,79,.04);margin-bottom:20px}.panel-head{min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #e4ebf0}.panel-head h2,.profile-main h2,.profile-main h3,.schedule-card h2{font-size:16px;margin:0 0 5px}.calendar-nav{display:flex;gap:7px}.calendar-nav a{border:1px solid #d5e0e8;border-radius:7px;padding:6px 11px;font-size:11px;color:#526b7e}.calendar{padding:0 16px 16px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{font-size:10px;font-weight:700;color:#8192a0;padding:12px 8px;text-align:center}.day{min-height:112px;border-left:1px solid #e6edf2;border-top:1px solid #e6edf2;padding:8px;min-width:0}.day:nth-child(7n){border-right:1px solid #e6edf2}.day:nth-last-child(-n+7){border-bottom:1px solid #e6edf2}.day.empty{background:#fafcfd}.day-number{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:10px;color:#5f7384;margin-bottom:5px}.day.today .day-number{color:white;background:#0c8cd4}.event{display:block;padding:6px 7px;margin-top:4px;border-left:3px solid;border-radius:5px;font-size:9px;overflow:hidden}.event b,.event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event small{margin-top:2px;opacity:.72}.event-blue{background:#e6f4fd;color:#0878bb;border-color:#139edb}.event-green{background:#e7f8ef;color:#13845a;border-color:#20aa77}.event-red{background:#ffebed;color:#bb3643;border-color:#e65361}.event-amber{background:#fff3de;color:#946013;border-color:#e9a334}.event-gray,.event-slate{background:#edf1f4;color:#657582;border-color:#8b9aa5}.event-violet{background:#f0ebff;color:#644bb8;border-color:#8065d8}.table-search{width:210px;padding:9px 12px;font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#8193a2;background:#f7fafc;padding:10px 18px}td{border-top:1px solid #e8eef2;padding:13px 18px;font-size:11px;color:#51687a}td:first-child{display:flex;align-items:center;gap:10px}.avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,#cdf0fb,#d8e6ff);color:#067ab9;font-weight:800}.text-link{color:#087cbb;font-weight:700}.admin-two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.settings-panel{padding-bottom:20px}.compact-form,.settings-form{padding:20px}.upload-box.small{min-height:130px;margin-bottom:14px}.current-file{margin:20px 20px 0;padding:14px;border-radius:10px;background:#f5fafc;border:1px solid #dbe9f0}.compact-form>input[type=file]{width:100%;font-size:11px;margin-bottom:14px}.weekday-field{border:0;padding:0;margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.weekday-field legend{margin-bottom:9px}.weekday-field label{position:relative}.weekday-field span{min-width:60px}.settings-form>.button{margin-top:20px}.candidate-heading{align-items:center}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.profile-main,.schedule-card{padding:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:18px 0}.profile-note{background:#f7fafc;padding:15px;border-radius:10px;margin:15px 0}.profile-note p{font-size:12px;line-height:1.7;margin:0}.profile-main h3{margin-top:22px}.file-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}.file-links a{border:1px solid var(--line);border-radius:10px;padding:12px}.schedule-card p{font-size:11px;color:#6b7f8f;line-height:1.7}.result-panel{padding-bottom:25px}.result-panel form{padding:20px}.result-options{display:flex;gap:10px;margin-bottom:18px}.result-options label{position:relative}.result-options span{min-width:80px}.result-options input:checked+span{font-weight:800;box-shadow:0 0 0 2px currentColor}.option-green{background:#e2f7ec!important;color:#13855b!important}.option-amber{background:#fff0d6!important;color:#a76d10!important}.option-red{background:#fee5e9!important;color:#c53646!important}.option-slate{background:#e9eef2!important;color:#607182!important}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{background:radial-gradient(circle at 20% 20%,#0a5a88,transparent 35%),linear-gradient(140deg,#061c32,#092d4e);color:white;padding:52px max(45px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-brand:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(24,192,235,.23);border-radius:50%;right:-220px;bottom:-170px;box-shadow:0 0 90px rgba(10,167,219,.12)}.login-brand h1{font-size:54px}.login-brand>div>p:last-child{color:#abc2d3}.login-brand>small{color:#6d8ba2;text-transform:uppercase;letter-spacing:2px}.login-panel{display:grid;place-items:center;background:#f5f8fa;padding:30px}.login-form{width:min(400px,100%);background:white;border:1px solid #dde7ee;border-radius:20px;padding:42px;box-shadow:var(--shadow)}.login-form h2{font-size:26px;margin:0 0 8px}.login-form>p:not(.eyebrow){color:#768a9b;font-size:12px;margin-bottom:28px}.login-form .field{margin-bottom:17px}.login-form .button{width:100%;margin-top:5px}.secure-hint{display:block;text-align:center;color:#8495a2;font-size:9px;margin-top:18px}

.header-actions,.login-tools{display:flex;align-items:center;gap:17px}.login-tools{justify-content:space-between}.login-tools .eyebrow{margin:0}.language-switch{display:inline-grid;place-items:center;min-width:38px;height:30px;border:1px solid #c9d9e5;border-radius:8px;padding:0 9px;color:#1475aa;font-size:11px;font-weight:800}.language-switch.light{border-color:rgba(118,215,243,.38);color:#9ce8f9;background:rgba(3,70,112,.35)}.day-link{display:block;min-height:94px;color:inherit}.day.has-events{background:#f3fbff}.day.has-events:hover{background:#e9f8ff;box-shadow:inset 0 0 0 1px #29a9dc}.day-count{display:block;background:#dff4fd;color:#097dbb;border-left:3px solid #11a3dd;border-radius:5px;padding:6px 7px;font-size:10px;font-weight:800;margin:5px 0}.day-person{display:block;font-size:9px;color:#4d6a7f;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-person b{color:#0878b8}.day-list{max-width:900px}.interview-card{padding:19px 22px;display:grid;grid-template-columns:75px 44px 1fr auto 28px;align-items:center;gap:18px;transition:.2s}.interview-card:hover{transform:translateY(-2px);border-color:#a8d9ec;box-shadow:0 12px 35px rgba(17,77,113,.1)}.time-block{border-right:1px solid var(--line);padding-right:18px}.time-block b,.time-block small{display:block}.time-block b{font-size:18px;color:#087dbe}.time-block small{font-size:10px;color:#8999a6;margin-top:4px}.avatar.big{width:42px;height:42px;border-radius:12px}.interview-person h2{font-size:15px;margin:0 0 5px}.interview-person p{font-size:11px;color:#718696;margin:0}.row-arrow{font-size:19px;color:#2a97cc}.empty-state{padding:35px;text-align:center;color:#718696}.filter-tabs{display:flex;flex-wrap:wrap;gap:7px}.filter-tabs a{padding:7px 11px;border-radius:8px;font-size:10px;color:#63798a}.filter-tabs a.active,.filter-tabs a:hover{background:#e4f5fd;color:#087bb9;font-weight:800}.import-hero{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(120deg,#fff,#f2fbff)}.import-hero h2{margin:0 0 7px;font-size:18px}.import-hero p{margin:0;color:#718696;font-size:11px}.inline-import{display:flex;align-items:center;gap:12px}.inline-import input{max-width:250px;font-size:11px}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:55px}.hero h1{font-size:50px}.hero-card{max-width:520px}.video-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.video-card:last-child,.stat-grid>div:last-child{grid-column:auto}.admin-layout{grid-template-columns:1fr}.sidebar{display:block;position:sticky;top:72px;z-index:20;padding:9px 12px;overflow-x:auto}.sidebar nav{flex-direction:row;min-width:max-content}.sidebar nav a{padding:9px 12px}.sidebar-rule{display:none}.admin-content{padding:24px}.profile-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh}.admin-two-column{grid-template-columns:1fr}.calendar{overflow:auto}.weekdays,.days{min-width:750px}.import-hero{align-items:flex-start;flex-direction:column}.inline-import{width:100%;flex-wrap:wrap}}
@media(max-width:620px){.public-header{height:64px;padding:0 18px}.header-note{display:none}.hero{padding:46px 20px 50px;gap:32px}.hero h1{font-size:39px;letter-spacing:-2.2px}.hero-inner>p{font-size:14px}.hero-pills{flex-wrap:wrap}.hero-card{padding:22px}.application{padding:24px 14px}.form-section{padding:23px 17px;border-radius:15px}.section-heading{gap:12px}.section-heading h2{font-size:21px}.video-grid,.field-grid,.upload-grid{grid-template-columns:1fr}.video-preview{height:135px}.field-full{grid-column:auto}.template-strip{align-items:flex-start;gap:12px;flex-direction:column}.template-strip .button{width:100%}.submit-button{width:100%;min-width:0}.deadline-note{flex-direction:column;gap:5px}.public-footer{height:auto;padding:28px 20px;flex-direction:column;align-items:flex-start;gap:12px}.public-footer small{margin-left:0}.status-page{padding:25px 12px}.status-card{padding:34px 20px}.status-card h1{font-size:24px}.status-details{grid-template-columns:1fr}.admin-topbar{padding:0 15px}.admin-user>span{display:none}.admin-content{padding:18px 12px}.admin-heading{align-items:flex-start;gap:17px;flex-direction:column}.admin-heading .button{width:100%}.stat-grid{grid-template-columns:1fr 1fr}.panel{border-radius:12px}.calendar-panel{display:none}.settings-form .field-grid{grid-template-columns:1fr}.weekday-field{grid-column:auto}.file-links{grid-template-columns:1fr}.result-options{display:grid;grid-template-columns:1fr 1fr}.result-options span{min-width:0}.login-form{padding:30px 22px}.toast{top:74px;right:12px;left:12px}.candidate-heading{flex-direction:row;align-items:center}.interview-card{grid-template-columns:62px 38px 1fr auto;gap:10px;padding:15px}.interview-card .status-badge{display:none}.row-arrow{grid-column:4}.filter-tabs{min-width:520px}.panel-head:has(.filter-tabs){overflow:auto}.inline-import{display:grid}.inline-import input{max-width:100%}}
.demo-chip,.role-chip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#fff2d8;border:1px solid #f0d296;color:#9a6510;font-size:9px;font-weight:800;letter-spacing:.5px}.role-chip{background:#e7f8f0;border-color:#a9dec7;color:#137b56}.role-chip.owner{background:#eaf4ff;border-color:#b8d7ee;color:#166996}.demo-notice{margin:0 0 20px;padding:13px 16px;border:1px solid #b9dcec;border-radius:11px;background:#ecf8fd;color:#276983;font-size:11px;line-height:1.6}.demo-notice.compact{margin:12px 0 18px}.readonly-form .field-grid{pointer-events:none;opacity:.7}
.demo-readonly .file-links,.demo-readonly .result-panel form,.demo-readonly .inline-import,.demo-readonly .compact-form,.demo-readonly .settings-form>.button{display:none}.demo-readonly .result-panel:after{content:"只读演示模式：面试回执修改功能已关闭 / Interview decisions cannot be changed in demo mode";display:block;margin:20px;padding:13px 15px;border:1px solid #b9dcec;border-radius:10px;background:#ecf8fd;color:#276983;font-size:10px}.demo-readonly .settings-form .field-grid{pointer-events:none;opacity:.68}.demo-readonly .settings-panel:has(.compact-form):after{content:"只读演示模式：上传与保存功能已关闭 / Upload and save are disabled in demo mode";display:block;margin:16px 20px 20px;padding:12px 14px;border:1px solid #b9dcec;border-radius:10px;background:#ecf8fd;color:#276983;font-size:10px}
.phone-verification{display:grid;grid-template-columns:1fr 1fr;gap:16px;grid-column:1/-1}.verification-field{padding:14px;border:1px solid #dce7ee;border-radius:12px;background:#f8fbfd}.verification-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.verification-actions .button{width:100%;padding:10px 12px;font-size:11px}.verification-actions .button.selected{border-color:#087ec4;background:#e9f7fd;color:#0872ad;box-shadow:0 0 0 2px rgba(8,126,196,.09)}.verification-field>input{margin-top:9px}.verification-message{grid-column:1/-1;min-height:18px;margin-top:-9px;color:#c53646}.verification-message.success{color:#118456}.field select{width:100%;border:1px solid #cddbe5;border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink)}.notification-help{margin-top:18px}.notification-panel{border-color:#b9dcec}
@media(max-width:620px){.phone-verification{grid-template-columns:1fr}.verification-actions .button{font-size:10px}.demo-chip{display:none}}
.schedule-drawer-backdrop{position:fixed;inset:72px 0 0 225px;background:rgba(4,28,48,.22);backdrop-filter:blur(1px);z-index:35;opacity:0;transition:opacity .22s}.schedule-drawer-backdrop.open{opacity:1}.schedule-drawer{position:fixed;z-index:36;right:0;top:72px;bottom:0;width:min(440px,calc(100vw - 225px));background:#f7fafc;border-left:1px solid #d6e3eb;box-shadow:-18px 0 55px rgba(6,35,58,.18);padding:27px;transform:translateX(105%);transition:transform .24s ease;overflow:auto}.schedule-drawer.open{transform:translateX(0)}.schedule-drawer>header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line)}.schedule-drawer h2{font-size:20px;margin:5px 0}.schedule-drawer header span{font-size:11px;color:var(--muted)}.drawer-close{width:34px;height:34px;border:1px solid #cfdee8;border-radius:50%;background:#fff;color:#547084;font-size:22px;cursor:pointer}.schedule-drawer-list{display:grid;gap:10px;padding:20px 0}.drawer-person{display:grid;grid-template-columns:55px 1fr auto;gap:13px;align-items:center;padding:15px;background:white;border:1px solid #dfe8ee;border-radius:12px;transition:.18s}.drawer-person:hover{border-color:#98d4ea;transform:translateX(-2px);box-shadow:0 8px 22px rgba(14,73,108,.08)}.drawer-time{font-size:16px;font-weight:800;color:#087dbe;border-right:1px solid var(--line)}.drawer-person-info{min-width:0}.drawer-person-info b,.drawer-person-info small{display:block}.drawer-person-info b{font-size:13px;color:var(--ink);margin-bottom:5px}.drawer-person-info small{font-size:9px;color:#718696;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-person em{font-style:normal}.drawer-all-link{display:flex;align-items:center;justify-content:center;width:100%;padding:12px;border:1px solid #bedce9;border-radius:10px;background:#fff;color:#087cbb;font-size:11px;font-weight:800}.day.selected{background:#e4f7ff;box-shadow:inset 0 0 0 2px #149fd6}.drawer-open{overflow:hidden}
@media(max-width:900px){.schedule-drawer-backdrop{left:0}.schedule-drawer{width:min(440px,100vw)}}
.online-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 24px}.online-form-grid .field select{padding:13px 14px;background:#fbfdfe}.optional-template{margin-top:28px}.upload-box.upload-error{border-color:#d94b59;background:#fff5f6}.upload-box.upload-error em{color:#c53646}.interview-number-ribbon{margin:18px auto 0;max-width:390px;padding:14px 18px;border:1px solid #a8ddec;border-radius:13px;background:#eefaff}.interview-number-ribbon small,.interview-number-ribbon b{display:block}.interview-number-ribbon small{font-size:10px;color:#5f8194}.interview-number-ribbon b{font-size:22px;letter-spacing:1.5px;color:#087dbe;margin-top:4px}.candidate-number{padding:13px 15px;margin:12px 0;border:1px solid #b7dce9;border-radius:11px;background:#effaff;text-align:center}.candidate-number small,.candidate-number b{display:block}.candidate-number small{font-size:9px;color:#648296}.candidate-number b{font-size:17px;color:#087dbe;letter-spacing:1px;margin-top:5px}.application-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:8px 22px 24px}.application-review-grid>div{padding:15px;border-bottom:1px solid var(--line)}.application-review-grid small,.application-review-grid b{display:block}.application-review-grid small{font-size:9px;color:#8192a0;margin-bottom:6px}.application-review-grid b{font-size:12px;line-height:1.6}.inline-number{color:#087dbe}.online-fields-panel textarea{font-family:Consolas,monospace;font-size:11px;line-height:1.7}
@media(max-width:620px){.online-form-grid,.application-review-grid{grid-template-columns:1fr}.application-review-grid{padding:8px 14px 20px}}
.position-question-placeholder{margin-top:22px;padding:18px;border:1px dashed #a9cbd9;border-radius:12px;background:#f5fbfd;text-align:center;color:#648096;font-size:12px}.position-question-panel{margin-top:28px}.position-question-panel[hidden]{display:none}.position-question-panel .kpi-form-heading{margin-bottom:18px}.booking-availability-note{display:flex;gap:12px;align-items:center;margin-bottom:20px;padding:14px 17px;border:1px solid #f0d49a;border-radius:12px;background:#fff9ea;color:#785a1a}.booking-availability-note b{white-space:nowrap}.booking-availability-note span{font-size:11px;line-height:1.6}.morning-full{display:block;margin-bottom:5px;padding:3px 2px;border-radius:5px;background:#edf1f4;color:#8b98a2!important;text-align:center;font-size:8px!important;font-weight:800}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.guide-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.guide-cover{height:150px;border-radius:11px;padding:18px;color:#fff;background:linear-gradient(145deg,#122c49,#0874ad);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;overflow:hidden}.guide-cover:after{content:'';position:absolute;width:150px;height:150px;border:1px solid rgba(100,224,250,.24);border-radius:50%;right:-42px;top:-55px}.guide-cover span{position:absolute;top:14px;left:15px;padding:4px 7px;border-radius:5px;background:#e94955;font-size:9px;font-weight:900}.guide-cover b{font-size:32px;letter-spacing:2px}.guide-cover small{font-size:10px;color:#9ee7f7}.guide-card h3{font-size:14px;line-height:1.55;margin:14px 4px;flex:1}.guide-card>.button{width:100%;margin-bottom:9px}.guide-confirm{position:relative}.guide-confirm input{position:absolute;opacity:0}.guide-confirm span{display:block;padding:9px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;text-align:center;font-size:12px;color:#60768a;cursor:pointer}.guide-confirm input:checked+span{border-color:#118ed9;background:#eaf7fd;color:#0577bf;font-weight:700;box-shadow:0 0 0 2px rgba(12,147,215,.08)}.protected-media-note{margin:18px 0 0;text-align:center;color:#72899a;font-size:11px}.guide-dialog{width:min(1100px,94vw);height:min(850px,92vh);padding:0;border:0;border-radius:18px;background:#e8eef2;box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:hidden}.guide-dialog::backdrop{background:rgba(3,17,30,.78);backdrop-filter:blur(3px)}.guide-dialog-head{height:76px;padding:14px 20px;background:#092b48;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.guide-dialog-head small{color:#63cfea;font-size:9px;letter-spacing:1.5px}.guide-dialog-head h2{font-size:17px;margin:5px 0 0}.guide-dialog-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:25px;cursor:pointer}.guide-pages{height:calc(100% - 76px);overflow-y:auto;padding:20px;user-select:none}.guide-pages figure{position:relative;margin:0 auto 20px;max-width:960px;background:#fff;box-shadow:0 8px 24px rgba(20,45,65,.14)}.guide-pages img{display:block;width:100%;height:auto;pointer-events:none}.guide-pages figcaption{position:absolute;right:8px;bottom:8px;padding:4px 7px;border-radius:5px;background:rgba(5,30,49,.74);color:#fff;font-size:9px}@media(max-width:900px){.guide-grid{grid-template-columns:1fr}.guide-card{display:grid;grid-template-columns:120px 1fr;grid-template-rows:auto auto auto;gap:8px 14px}.guide-cover{grid-row:1/4;width:120px;height:130px}.guide-card h3{margin:4px 0}.guide-card>.button{margin:0}.guide-dialog{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.guide-pages{padding:8px}}

/* Candidate booking: a focused, full-width five-day appointment board. */
.booking-page{padding:54px 34px 96px;background:radial-gradient(circle at 50% -5%,rgba(93,211,244,.3),transparent 30%),linear-gradient(180deg,#edf8fc 0,#f4f7fa 44%,#eef3f7 100%)}
.booking-shell{max-width:1480px}
.booking-heading{align-items:center;margin-bottom:28px}
.booking-heading>div:first-child{max-width:880px}
.booking-heading h1{font-size:46px;letter-spacing:-2px;margin:8px 0 12px}
.booking-heading p{max-width:850px;font-size:15px;line-height:1.8}
.booking-candidate{min-width:290px;padding:22px 25px;border-radius:18px;box-shadow:0 16px 42px rgba(17,67,98,.1)}
.booking-candidate b{font-size:20px;margin:7px 0}
.booking-availability-note{margin-bottom:22px;padding:17px 21px;border-radius:14px;box-shadow:0 7px 22px rgba(143,103,21,.06)}
.booking-calendar{display:block}
.booking-month{padding:30px;border-radius:22px;box-shadow:0 20px 55px rgba(21,60,90,.1)}
.booking-month header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #e3ebf0}
.booking-month header h2{margin:0;font-size:27px;letter-spacing:-.5px}
.booking-month header:after{content:'SELECT AN AVAILABLE TIME';font-size:10px;font-weight:900;letter-spacing:1.5px;color:#72a1b9}
.booking-weekdays{display:none}
.booking-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.booking-day.blank,.booking-day.unavailable{display:none}
.booking-day.available{min-height:440px;padding:0;border:1px solid #cfe3eb;border-radius:16px;background:linear-gradient(180deg,#f5fcff 0,#fff 42%);overflow:hidden;box-shadow:0 8px 22px rgba(28,88,121,.06);transition:transform .2s,border-color .2s,box-shadow .2s}
.booking-day.available:hover,.booking-day.available.has-selection{transform:translateY(-4px);border-color:#54bce1;box-shadow:0 18px 38px rgba(13,120,174,.15)}
.booking-date-header{display:grid;grid-template-columns:1fr auto;grid-template-areas:'weekday count' 'date count';gap:3px;padding:19px 18px 17px;color:#fff;background:linear-gradient(135deg,#073b5d,#087fbd 65%,#15a9d7)}
.booking-date-header span{grid-area:weekday;font-size:11px;font-weight:750;opacity:.8}
.booking-date-header strong{grid-area:date;font-size:24px;letter-spacing:-.5px}
.booking-date-header em{grid-area:count;align-self:center;padding:6px 9px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.13);font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}
.booking-day .morning-full{margin:15px 16px 11px;padding:9px;border:1px solid #e4e9ec;border-radius:8px;background:repeating-linear-gradient(135deg,#f2f4f5,#f2f4f5 8px,#f7f8f9 8px,#f7f8f9 16px);font-size:10px!important;color:#84929c!important;letter-spacing:.3px}
.booking-times{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 16px 18px}
.booking-times span{position:relative;padding:13px 8px;border-color:#b8dce8;border-radius:9px;font-size:13px;font-weight:800;color:#0878b6;box-shadow:0 3px 8px rgba(20,104,147,.05);transition:.18s}
.booking-times span:before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#39b9d8;vertical-align:1px}
.booking-times span:hover{border-color:#35aeda;background:#eefaff;transform:translateY(-1px)}
.booking-times input:focus-visible+span{outline:3px solid rgba(8,126,196,.2);outline-offset:2px}
.booking-times input:checked+span{border-color:#087ec4;background:linear-gradient(135deg,#0878bb,#1badd8);box-shadow:0 8px 18px rgba(8,126,196,.27)}
.booking-times input:checked+span:before{background:#fff}
.booking-confirm{margin-top:26px;padding:21px 25px;border-radius:17px}
.booking-confirm b{font-size:17px}
.booking-confirm .button{min-width:185px;padding:14px 23px}
@media(max-width:1000px){.booking-days{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.booking-day.available{min-height:400px}}
@media(max-width:620px){.booking-page{padding:30px 0 74px}.booking-shell{overflow:hidden}.booking-heading,.booking-availability-note,.booking-confirm,.booking-rule{margin-left:14px;margin-right:14px}.booking-heading h1{font-size:32px;letter-spacing:-1px}.booking-heading p{font-size:13px}.booking-candidate{padding:17px 19px}.booking-availability-note{align-items:flex-start}.booking-month{padding:20px 0 22px;border-radius:0;border-left:0;border-right:0}.booking-month header{margin:0 18px 19px}.booking-month header h2{font-size:23px}.booking-month header:after{display:none}.booking-days{display:flex;gap:13px;overflow-x:auto;padding:0 18px 18px;scroll-snap-type:x mandatory;scroll-padding-left:18px}.booking-day.available{display:block;flex:0 0 82vw;min-height:410px;scroll-snap-align:start}.booking-times{grid-template-columns:1fr 1fr}.booking-confirm{bottom:8px}.booking-confirm .button{min-width:0}}
.appointment-number{color:#78e3ff!important;font-size:22px!important;letter-spacing:1.5px!important}.interview-number-ribbon+header{}.file-links:empty{display:none}
.calendar-number{display:inline-block;font-style:normal;color:#087dbe;font-weight:900;background:#dff4fd;border-radius:4px;padding:1px 4px;transition:.18s}
.calendar-number.checked-in{color:#118456;background:#dcf6e9}
#candidate-rows td:nth-child(2){display:flex;align-items:center;gap:10px}
@media(hover:hover) and (pointer:fine){.day.has-events{position:relative;z-index:1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-radius .18s ease}.day.has-events:hover,.day.has-events:focus-within{z-index:12;transform:scale(1.16);background:#fff;box-shadow:0 18px 42px rgba(8,67,104,.24);border-radius:12px}.day.has-events:hover .calendar-number,.day.has-events:focus-within .calendar-number{font-size:12px;color:#fff;background:#087dbe;box-shadow:0 4px 12px rgba(8,125,190,.25)}.day.has-events:hover .day-person,.day.has-events:focus-within .day-person{color:#294f69;font-weight:650}}
@media(prefers-reduced-motion:reduce){.day.has-events,.calendar-number{transition:none!important}}
.upcoming-alert{position:sticky;top:72px;z-index:29;padding:10px 28px;background:linear-gradient(90deg,#fff7df,#fffdf6);border-bottom:1px solid #f0d28d;box-shadow:0 7px 22px rgba(119,83,12,.09)}.upcoming-alert[hidden]{display:none}.upcoming-alert-inner{max-width:1550px;margin:auto;display:flex;align-items:center;gap:22px}.upcoming-alert-title{display:flex;align-items:center;gap:10px;flex:0 0 auto}.upcoming-alert-title b,.upcoming-alert-title small{display:block}.upcoming-alert-title b{font-size:12px;color:#744d08}.upcoming-alert-title small{font-size:9px;color:#9a782f;margin-top:3px}.alert-bell{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e7a726;color:#fff;font-weight:900;box-shadow:0 0 0 5px rgba(231,167,38,.14);animation:alertPulse 1.8s ease-in-out infinite}.upcoming-alert-list{display:flex;gap:8px;min-width:0;overflow-x:auto}.upcoming-alert-card{min-width:220px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 11px;border:1px solid #edd49c;border-radius:10px;background:#fff;color:#526475}.upcoming-alert-card>strong{font-size:21px;color:#087dbe;letter-spacing:.5px}.upcoming-alert-card span{min-width:0}.upcoming-alert-card b,.upcoming-alert-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-alert-card b{font-size:11px;color:#273f52}.upcoming-alert-card small{font-size:9px;margin-top:3px}.upcoming-alert-card em{font-size:9px;font-style:normal;font-weight:900;color:#9b6611;background:#fff0cc;border-radius:999px;padding:5px 7px;white-space:nowrap}.upcoming-alert-card.urgent{border-color:#ed9a55;background:#fff9f2;box-shadow:inset 3px 0 #ed892f}.upcoming-alert-card.urgent>strong{color:#d96620}.upcoming-alert-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(104,73,17,.13)}@keyframes alertPulse{50%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(231,167,38,.08)}}
.upcoming-alert-card.checked-in{border-color:#8fd5b5;background:#effbf5;box-shadow:inset 3px 0 #19a974}.upcoming-alert-card.checked-in>strong{color:#118456}.upcoming-alert-card.checked-in em{color:#0f7d55;background:#dff7eb}.notice.red{background:#fff1f2;border-color:#f1bac0;color:#a8323e}.notice.green{background:#ebfaf3;border-color:#a9dfc7;color:#147b58}.check-in-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:40px 18px;background:radial-gradient(circle at 50% 0,#dff5fb,transparent 40%),#f2f7fa}.check-in-card{width:min(470px,100%);background:#fff;border:1px solid #dce7ee;border-radius:24px;padding:42px;text-align:center;box-shadow:var(--shadow)}.check-in-card h1{font-size:28px;margin:8px 0 12px}.check-in-card>p{color:#60788a;line-height:1.7}.check-in-icon,.check-in-success-icon{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;font-size:29px;font-weight:900}.check-in-icon{background:#e7f6fc;color:#0786d3}.check-in-success-icon{background:#e1f8ec;color:#15996b}.check-in-form{display:grid;gap:17px;margin-top:25px;text-align:left}.check-in-form .button{width:100%;margin-top:3px}.check-in-form input{text-align:center;font-size:21px;font-weight:800;letter-spacing:2px}.check-in-rule{display:block;margin-top:20px;color:#8193a2;line-height:1.6}.check-in-number{margin:20px auto 15px;padding:16px;background:#effaff;border:1px solid #b7dce9;border-radius:13px}.check-in-number small,.check-in-number b{display:block}.check-in-number small{font-size:10px;color:#648296}.check-in-number b{font-size:36px;color:#087dbe;margin-top:4px}.check-in-actions{display:flex;gap:10px}.qr-poster{max-width:620px;margin:0 auto;padding:38px;text-align:center}.qr-poster-brand{display:flex;justify-content:center;align-items:center;gap:11px;font-size:24px}.qr-poster h2{font-size:26px;margin:25px 0 20px}.qr-code-frame{width:300px;height:300px;margin:0 auto;padding:13px;border:1px solid #d5e4ec;border-radius:17px;background:#fff}.qr-code-frame img{width:100%;height:100%;display:block}.qr-poster p{font-size:14px;color:#60788a}.qr-poster code{display:block;word-break:break-all;font-size:11px;color:#7790a1}.check-in-badge{margin:12px 0;padding:11px 13px;border-radius:10px;background:#e8f9f1;border:1px solid #a8ddc5;color:#147b58;text-align:center}.check-in-badge b,.check-in-badge small{display:block}.check-in-badge small{margin-top:4px}.manual-check-in-form .button{width:100%;margin:12px 0}
@media(max-width:900px){.upcoming-alert{top:72px;padding:9px 14px}.upcoming-alert-inner{align-items:flex-start;flex-direction:column;gap:8px}.upcoming-alert-list{width:100%}.upcoming-alert-card{min-width:210px}}
@media(prefers-reduced-motion:reduce){.alert-bell{animation:none}}
@media(max-width:620px){.check-in-card{padding:32px 20px}.check-in-actions{width:100%;flex-direction:column}.qr-poster{padding:25px 15px}.qr-code-frame{width:min(300px,100%);height:auto;aspect-ratio:1}}
@media print{.admin-topbar,.sidebar,.admin-heading,.upcoming-alert{display:none!important}.admin-layout{display:block}.admin-content{padding:0}.qr-poster{border:0;box-shadow:none;margin:0 auto}.qr-poster code{font-size:13px}}
.account-create-form .field-grid{grid-template-columns:1fr 1fr 1fr 1fr}.account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-actions form{display:flex;align-items:center;gap:7px;margin:0}.account-actions input,.account-actions select{width:155px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.account-actions .button{padding:9px 12px;white-space:nowrap}.muted-text{color:#94a6b4}@media(max-width:1000px){.account-create-form .field-grid{grid-template-columns:1fr}.account-actions{align-items:stretch;flex-direction:column}.account-actions form{align-items:stretch}.account-actions input,.account-actions select{width:100%}}
.required-fields-note{margin:0 0 16px;padding:13px 16px;border:1px solid #f0c9ce;border-radius:11px;background:#fff7f8;color:#8f3440;font-size:13px;font-weight:700}.required-fields-note span,.required-star{color:#d53f4f;font-weight:900;margin-right:5px}.consent .required-star{font-size:14px}
.booking-page{min-height:calc(100vh - 76px);padding:52px 24px 80px;background:radial-gradient(circle at 50% 0,#dff5fb,transparent 32%),#f2f7fa}.booking-shell{max-width:1180px;margin:0 auto}.booking-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.booking-heading h1{font-size:36px;letter-spacing:-1.2px;margin:6px 0 10px}.booking-heading p{max-width:680px;color:#587084;line-height:1.7;margin:0}.booking-candidate{min-width:230px;padding:17px 20px;background:#fff;border:1px solid #dce7ee;border-radius:14px;box-shadow:0 10px 28px rgba(21,60,90,.07)}.booking-candidate small,.booking-candidate b,.booking-candidate span{display:block}.booking-candidate small{font-size:10px;color:#7d92a2}.booking-candidate b{margin:5px 0;font-size:17px}.booking-candidate span{font-size:12px;color:#648096}.booking-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.booking-month{background:#fff;border:1px solid #dce7ee;border-radius:18px;padding:22px;box-shadow:0 12px 32px rgba(21,60,90,.06)}.booking-month header h2{margin:0 0 18px;font-size:19px}.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.booking-weekdays span{text-align:center;font-size:10px;font-weight:800;color:#7c91a2;padding-bottom:7px}.booking-day{min-height:76px;border:1px solid #e5edf2;border-radius:10px;padding:8px;background:#f8fafc}.booking-day>b{display:block;font-size:11px;color:#6f8393;margin-bottom:5px}.booking-day.unavailable{opacity:.42}.booking-day.unavailable small{color:#9cacb7}.booking-day.available{border-color:#bfe4ee;background:#f6fdff}.booking-times{display:grid;gap:4px}.booking-times input{position:absolute;opacity:0}.booking-times span{display:block;padding:5px 2px;border:1px solid #c8e4ec;border-radius:6px;background:#fff;text-align:center;font-size:10px;color:#0878b6;cursor:pointer}.booking-times input:checked+span{color:#fff;border-color:#087ec4;background:#087ec4;box-shadow:0 4px 10px rgba(8,126,196,.25)}.booking-confirm{position:sticky;bottom:16px;z-index:10;margin-top:22px;padding:17px 20px;border:1px solid #b9dce9;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 15px 45px rgba(10,64,99,.16);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-confirm small,.booking-confirm b{display:block}.booking-confirm small{font-size:10px;color:#748a9b;margin-bottom:5px}.booking-confirm b{font-size:14px}.booking-rule{text-align:center;color:#71889a;font-size:11px;margin:16px 0}.booking-empty{max-width:700px;background:#fff;margin:30px 0}.badge-amber{background:#fff0d6;color:#a76d10}@media(max-width:900px){.booking-calendar{grid-template-columns:1fr}}@media(max-width:620px){.booking-page{padding:30px 12px 70px}.booking-heading{align-items:stretch;flex-direction:column}.booking-heading h1{font-size:28px}.booking-candidate{min-width:0}.booking-month{padding:13px 9px}.booking-weekdays,.booking-days{gap:3px}.booking-day{min-height:64px;padding:5px 3px;border-radius:7px}.booking-day>b{padding-left:3px}.booking-times span{font-size:9px;padding:5px 1px}.booking-confirm{bottom:8px;align-items:stretch;flex-direction:column}.booking-confirm .button{width:100%}}
.registration-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px;padding:6px;border-radius:15px;background:#edf4f8}.registration-tab{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;border:1px solid transparent;border-radius:11px;padding:15px 17px;background:transparent;color:#526b7e;cursor:pointer}.registration-tab>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#dce8ef;color:#557386;font-size:11px;font-weight:900}.registration-tab b{font-size:14px;color:#29465c}.registration-tab small{font-size:10px;margin-top:4px;color:#7890a1}.registration-tab.active{background:#fff;border-color:#98d9ec;box-shadow:0 7px 20px rgba(17,96,139,.09)}.registration-tab.active>span{background:#dff5fc;color:#0786c8}.registration-tab.active b{color:#0879b8}.registration-tab-panel[hidden]{display:none}.registration-file-upload{max-width:650px;margin:0 auto}.resume-upload{max-width:650px}.registration-tab-panel .template-strip{margin-bottom:18px}@media(max-width:620px){.registration-tabs{grid-template-columns:1fr}.registration-tab{padding:13px}.resume-upload{max-width:none}}
.registration-tabs{display:none}.registration-section .section-heading{margin-bottom:24px}.registration-section .online-form-grid{padding-top:2px}.kpi-form-heading{margin:14px 0 3px;padding:22px;border:1px solid #a9dcec;border-radius:14px;background:linear-gradient(135deg,#eefaff,#f7fcff)}.kpi-form-heading .eyebrow{margin-bottom:8px;color:#0786c8}.kpi-form-heading h3{margin:0 0 8px;font-size:21px;color:#0b3655}.kpi-form-heading>p:last-child{margin:0;color:#61798e;font-size:12px}.kpi-question{padding:18px;border:1px solid #d7e7ef;border-radius:13px;background:#fbfdff}.kpi-question>span{line-height:1.65;font-size:13px;color:#163e59}.kpi-question textarea{background:#fff}
.material-print-actions{display:flex;gap:10px;margin:10px 0 16px;flex-wrap:wrap}.material-print-actions .button{padding:9px 13px;font-size:11px;gap:7px}.print-application-page{min-height:100vh;padding:28px;background:#e9eef2}.print-toolbar{max-width:210mm;margin:0 auto 18px;display:flex;justify-content:space-between}.print-sheet{width:210mm;min-height:297mm;margin:auto;background:#fff;padding:16mm 15mm;box-shadow:0 8px 30px rgba(20,50,72,.12);color:#152d40}.print-sheet>header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #0b75b5;padding-bottom:8mm}.print-sheet>header p{margin:0;color:#0786d3;font-weight:900;letter-spacing:2px}.print-sheet>header h1{margin:2mm 0 0;font-size:26px}.print-sheet-number{text-align:right}.print-sheet-number small,.print-sheet-number b{display:block}.print-sheet-number small,.print-summary small,.print-notes small,.print-answers small{font-size:9px;color:#6d8191}.print-sheet-number b{font-size:22px;color:#087dbe}.print-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dce6ed;border-radius:8px;margin:8mm 0 5mm}.print-summary>div{padding:4mm;border-right:1px solid #dce6ed;border-bottom:1px solid #dce6ed}.print-summary>div:nth-child(3n){border-right:0}.print-summary b{display:block;margin-top:2mm;font-size:12px;overflow-wrap:anywhere}.print-notes{border:1px solid #dce6ed;border-radius:8px;padding:4mm;margin-bottom:5mm}.print-notes p{font-size:11px;line-height:1.5;margin:2mm 0 0}.print-answers{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dce6ed;border-radius:8px;overflow:hidden}.print-answers>div{padding:4mm;border-right:1px solid #dce6ed;border-bottom:1px solid #dce6ed;break-inside:avoid}.print-answers>div:nth-child(2n){border-right:0}.print-answers p{font-size:11px;line-height:1.55;margin:2mm 0 0;white-space:normal;overflow-wrap:anywhere}.print-sheet>footer{display:flex;justify-content:space-between;margin-top:7mm;padding-top:3mm;border-top:1px solid #dce6ed;color:#8193a0;font-size:9px}@media(max-width:900px){.print-sheet{width:100%;min-height:0}.print-application-page{padding:14px}.print-answers{grid-template-columns:1fr}.print-answers>div{border-right:0}}

/* Full-month appointment calendar: large, dense and easy to scan. */
body .booking-shell{max-width:1540px}
body .booking-calendar{display:block}
body .booking-month{width:100%;padding:20px;border-radius:18px}
body .booking-month header{margin-bottom:14px;padding-bottom:12px}
body .booking-month header h2{font-size:22px}
body .booking-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:5px}
body .booking-weekdays span{padding:7px 0;border-radius:6px;background:#edf5f8;font-size:10px;color:#527185}
body .booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:0}
body .booking-day.blank{display:block;min-height:62px;border:1px dashed #edf1f3;background:#fafcfd}
body .booking-day{position:relative;min-height:62px;padding:7px;border-radius:8px}
body .booking-day>b{font-size:12px;color:#253f52;margin-bottom:5px}
body .booking-day.unavailable{display:block;opacity:1;border-color:#e4e9ed;background:linear-gradient(145deg,#f7f8f9,#f1f3f5)}
body .booking-day.unavailable:after{content:'已约满';position:absolute;left:7px;right:7px;top:31px;padding:4px 2px;border-radius:5px;background:#e9edef;text-align:center;font-size:9px;font-weight:800;color:#96a1a8}
html[lang="en"] body .booking-day.unavailable:after{content:'FULLY BOOKED'}
body .booking-day.unavailable>small{display:none}
body .booking-day.available{display:block;min-height:108px;padding:7px;border:2px solid #8bd4e8;background:linear-gradient(180deg,#effbff,#fff);box-shadow:0 5px 14px rgba(13,126,176,.09)}
body .booking-day.available:before{content:'可预约';position:absolute;right:6px;top:6px;padding:3px 5px;border-radius:999px;background:#d9f5fc;color:#087dab;font-size:7px;font-weight:900}
html[lang="en"] body .booking-day.available:before{content:'AVAILABLE'}
body .booking-day.available:hover,body .booking-day.available.has-selection{transform:translateY(-3px);border-color:#0798ce;box-shadow:0 15px 32px rgba(8,126,190,.18)}
body .booking-day .morning-full{display:none}
body .booking-times{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:20px 0 0}
body .booking-times span{padding:5px 2px;border-radius:5px;font-size:9px;box-shadow:none}
body .booking-times span:before{display:none}
body .booking-day.available:after{content:'其他时段已预约';display:block;margin:5px 0 0;padding:4px 2px;border-radius:5px;background:#edf1f3;text-align:center;font-size:7px;font-weight:750;color:#8c999f}
html[lang="en"] body .booking-day.available:after{content:'OTHER TIMES BOOKED'}
body .booking-confirm{margin-top:22px}
@media(max-width:620px){body .booking-page{padding:22px 8px 64px}body .booking-heading,body .booking-availability-note,body .booking-confirm,body .booking-rule{margin-left:4px;margin-right:4px}body .booking-heading{gap:14px;margin-bottom:18px}body .booking-heading h1{font-size:25px}body .booking-heading p{font-size:12px;line-height:1.55}body .booking-candidate{padding:12px 15px}body .booking-availability-note{padding:11px 12px;margin-bottom:14px}body .booking-month{width:100%;padding:10px 6px 12px;border-radius:12px;overflow:visible}body .booking-month header{margin:0 5px 10px;padding-bottom:8px}body .booking-month header h2{font-size:18px}body .booking-weekdays,body .booking-days{display:grid;min-width:0;gap:2px;padding:0}body .booking-weekdays span{padding:5px 0;font-size:9px}body .booking-day.blank,body .booking-day{min-height:48px;padding:4px 3px;border-radius:5px}body .booking-day>b{font-size:10px;margin-bottom:2px}body .booking-day.unavailable:after{content:'满';left:3px;right:3px;top:25px;padding:2px 0;font-size:8px}html[lang="en"] body .booking-day.unavailable:after{content:'FULL'}body .booking-day.available{min-height:88px;padding:4px 3px;border-width:1px}body .booking-day.available:before{content:'';right:4px;top:5px;width:6px;height:6px;padding:0;background:#17a9d1}html[lang="en"] body .booking-day.available:before{content:''}body .booking-times{grid-template-columns:1fr;gap:2px;padding-top:10px}body .booking-times span{padding:3px 0;font-size:8px}body .booking-day.available:after{display:block;content:'已预约';margin-top:3px;padding:2px 0;font-size:6px}html[lang="en"] body .booking-day.available:after{content:'BOOKED'}body .booking-confirm{bottom:6px;margin-top:14px}body .booking-confirm .button{min-width:0}}
.print-application-page .print-toolbar{max-width:210mm;align-items:center;gap:18px}.print-toolbar>span{font-size:12px;color:#4b6374}.print-application-page .print-sheet{width:210mm;min-height:297mm;margin:0 auto 18px;padding:13mm 14mm;display:block}.print-profile-answers>div{padding:3mm}.print-profile-answers p{font-size:9.5px;line-height:1.42;margin-top:1mm}.print-profile-answers>.print-answer-wide{grid-column:1/-1;border-right:0}.print-section-title{font-size:17px;margin:5mm 0 2.5mm;color:#123f65}.print-kpi-table{border:1px solid #768b9a}.print-kpi-head,.print-kpi-row{display:grid;grid-template-columns:minmax(0,2.8fr) repeat(3,minmax(0,1fr));break-inside:avoid}.print-kpi-head{background:#083863;color:#fff}.print-kpi-head>*,.print-kpi-row>*{padding:2.6mm 2mm;border-right:1px solid #8da0ad;border-bottom:1px solid #8da0ad;font-size:9px;overflow-wrap:anywhere}.print-kpi-head>*:last-child,.print-kpi-row>*:last-child{border-right:0}.print-kpi-row:last-child>*{border-bottom:0}.print-kpi-row>b{background:#e8edf0}.print-kpi-row span{text-align:center}.print-question-list{display:grid;grid-template-columns:1fr;gap:3mm}.print-question-list>div{break-inside:avoid;border-bottom:1px solid #d8e1e7;padding-bottom:2.5mm}.print-question-list b{font-size:9.5px;line-height:1.4}.print-question-list p{font-size:9.5px;line-height:1.45;margin:1mm 0 0;color:#253b4a}.print-application-page .print-sheet>footer{color:#415565}@media(max-width:900px){.print-application-page .print-sheet{width:100%;min-height:0}.print-application-page .print-toolbar{align-items:stretch;flex-direction:column}}
@page{size:A4 portrait;margin:10mm}@media print{.print-application-page{padding:0;background:#fff}.print-toolbar{display:none!important}.print-application-page .print-sheet{width:auto;min-height:0;height:auto;max-height:none;margin:0;padding:0;box-shadow:none;overflow:visible;break-after:auto;page-break-after:auto}.print-sheet>header{padding-bottom:4mm;break-after:avoid}.print-sheet>header h1{font-size:21px}.print-summary{margin:4mm 0}.print-summary>div{padding:2.7mm}.print-summary b{margin-top:1mm;font-size:10px}.print-sheet>footer{margin-top:6mm}.print-answers p{font-size:9.5px}.print-section-title{break-after:avoid;page-break-after:avoid}.print-profile-answers>div,.print-kpi-row,.print-question-list>div{break-inside:avoid;page-break-inside:avoid}}
.ai-interview-panel{margin-top:20px}.ai-question-preview{display:grid;gap:10px;margin:18px 0;padding-left:28px}.ai-question-preview li{padding:12px 14px;border:1px solid #d6e5ed;border-radius:10px;background:#f8fbfd;line-height:1.65}.ai-interview-panel .material-print-actions form{margin:0}.ai-settings-panel{border-color:#b9dcec}
.interview-workspace{margin-top:20px;border-color:#b9dcec}.interview-note-history{display:grid;gap:14px;margin:18px 0 24px}.interview-note-history article{padding:18px;border:1px solid #d9e6ed;border-radius:13px;background:#fbfdff}.interview-note-history header{display:flex;justify-content:space-between;gap:15px;padding-bottom:10px;border-bottom:1px solid #e6eef3}.interview-note-history header b{color:#153f5a}.interview-note-history header time{font-size:11px;color:#7c91a0}.interview-note-history article>div{margin-top:12px}.interview-note-history small{display:block;margin-bottom:5px;color:#728898;font-size:10px;font-weight:800}.interview-note-history p{margin:0;color:#29465a;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.interview-ai-response{padding:14px;border-left:4px solid #1aa1b4;border-radius:8px;background:#edfafa}.interview-ai-response small{color:#087f8f}.interview-workspace-form{padding-top:18px;border-top:1px solid #e1eaf0}.interview-qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.interview-ai-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.interview-ai-actions .button{min-width:128px}.ai-assistant-note{display:block;margin-top:12px;color:#7b8e9d}.interview-workspace textarea{resize:vertical}@media(max-width:760px){.interview-qa-grid{grid-template-columns:1fr}.interview-ai-actions{display:grid;grid-template-columns:1fr 1fr}.interview-ai-actions .button{min-width:0}.interview-note-history header{align-items:flex-start;flex-direction:column;gap:4px}}
.interview-chat-workspace{padding:0;overflow:hidden;background:#f4f8fb;border:1px solid #c9dce8;box-shadow:0 18px 46px rgba(17,59,84,.08)}
.interview-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 26px;background:#fff;border-bottom:1px solid #dce8ef}.interview-chat-head h2{margin:4px 0 6px;color:#143d57}.interview-chat-head p{max-width:760px;margin:0;color:#657d8c;line-height:1.6}
.interview-session-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d7e4ec;border-bottom:1px solid #d7e4ec}.interview-session-stats>div{min-height:92px;padding:17px 20px;background:#f9fcfd}.interview-session-stats small,.interview-session-stats b,.interview-session-stats span{display:block}.interview-session-stats small{margin-bottom:7px;color:#728796;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.interview-session-stats b{color:#123c56;font-size:15px;line-height:1.35}.interview-session-stats span{margin-top:5px;color:#78909e;font-size:11px;line-height:1.4}
.interview-session-empty{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:24px;padding:24px;border:1px dashed #adc9d8;border-radius:16px;background:#fff}.interview-session-empty h3{margin:0 0 7px;color:#143f59}.interview-session-empty p{max-width:700px;margin:0;color:#6d8492;line-height:1.6}.interview-session-empty+.notice{margin:0 24px 24px}
.interview-chat-timeline{display:flex;flex-direction:column;gap:13px;max-height:650px;padding:28px 26px;overflow-y:auto;scroll-behavior:smooth;background:linear-gradient(180deg,#eef5f8 0%,#f7fafc 100%)}.interview-chat-placeholder{align-self:center;padding:12px 18px;border:1px dashed #b8ccd8;border-radius:999px;background:rgba(255,255,255,.82);color:#718894;font-size:12px}
.chat-message{display:flex;width:100%}.chat-message .chat-bubble{width:min(76%,760px);padding:13px 15px 10px;border:1px solid #d6e3ea;border-radius:16px;background:#fff;box-shadow:0 5px 15px rgba(27,63,83,.06)}.chat-message-interviewer{justify-content:flex-end}.chat-message-interviewer .chat-bubble{border-color:#1689c4;background:linear-gradient(145deg,#0c7dbb,#0a6ba2);color:#fff;border-bottom-right-radius:5px}.chat-message-candidate{justify-content:flex-start}.chat-message-candidate .chat-bubble{border-bottom-left-radius:5px}.chat-message-internal,.chat-message-ai{justify-content:center}.chat-message-internal .chat-bubble,.chat-message-ai .chat-bubble{width:min(88%,880px);border-style:dashed;background:#fff9e9}.chat-message-ai .chat-bubble{border-style:solid;border-color:#b7dfdf;background:#edfafa}.chat-bubble header,.chat-bubble footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-bubble header{margin-bottom:7px}.chat-bubble header b{font-size:12px}.chat-bubble header span{padding:3px 8px;border-radius:999px;background:#eef5f8;color:#4d6e80;font-size:9px;font-weight:800}.chat-message-interviewer .chat-bubble header span{background:rgba(255,255,255,.17);color:#fff}.chat-bubble p{margin:0;overflow-wrap:anywhere;line-height:1.68;white-space:normal}.chat-bubble footer{margin-top:9px;color:#7d929e;font-size:9px}.chat-message-interviewer .chat-bubble footer{color:rgba(255,255,255,.75)}
.interview-chat-composer{margin:0;padding:22px 26px;background:#fff;border-top:1px solid #dce8ef}.chat-speaker-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#edf3f6}.chat-speaker-tabs label{cursor:pointer}.chat-speaker-tabs input{position:absolute;opacity:0;pointer-events:none}.chat-speaker-tabs span{display:block;padding:8px 15px;border-radius:9px;color:#607989;font-size:12px;font-weight:800}.chat-speaker-tabs input:checked+span{background:#fff;color:#087caf;box-shadow:0 2px 8px rgba(18,61,84,.12)}.chat-composer-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.chat-message-input{margin-top:14px}.chat-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px}.chat-composer-actions small{color:#81949f}.chat-composer-actions .button{min-width:180px}
.interview-ai-drawer{margin:0 26px 22px;border:1px solid #c9e0e5;border-radius:12px;background:#f1fafb}.interview-ai-drawer summary{padding:13px 16px;cursor:pointer;color:#126476;font-weight:800}.interview-ai-drawer form{padding:2px 16px 16px}.interview-end-form{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 26px;background:#fff;border-top:1px solid #dce8ef}.interview-end-form div b,.interview-end-form div small{display:block}.interview-end-form div b{color:#173f58}.interview-end-form div small{margin-top:4px;color:#7a8f9c}.interview-end-form .button{background:#153f5a}
.interview-summary-panel{margin:22px 26px;padding:20px;border:1px solid #c5dce7;border-radius:14px;background:#fff}.interview-summary-panel .panel-head{margin-bottom:14px}.interview-summary-panel h3{margin:0 0 4px}.interview-summary-panel p{margin:0;color:#738895}.interview-summary-text{max-height:420px;padding:17px;overflow:auto;border:1px solid #e0e9ee;border-radius:10px;background:#f8fbfc;color:#294a5f;line-height:1.72}.interview-summary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}.interview-summary-actions form{margin:0}.interview-summary-actions small{margin-left:auto;color:#7c919e}.legacy-interview-notes{margin:20px 26px}.legacy-interview-notes summary{cursor:pointer;color:#617c8d;font-weight:800}
@media(max-width:980px){.interview-session-stats{grid-template-columns:1fr 1fr}.chat-message .chat-bubble{width:min(86%,760px)}}
@media(max-width:680px){.interview-chat-head,.interview-session-empty,.interview-end-form{align-items:stretch;flex-direction:column}.interview-chat-head,.interview-chat-timeline,.interview-chat-composer,.interview-end-form{padding-left:16px;padding-right:16px}.interview-session-stats{grid-template-columns:1fr}.interview-session-empty{margin:16px}.chat-message .chat-bubble,.chat-message-internal .chat-bubble,.chat-message-ai .chat-bubble{width:92%}.chat-speaker-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.chat-speaker-tabs span{text-align:center}.chat-composer-fields{grid-template-columns:1fr}.chat-composer-actions{align-items:stretch;flex-direction:column}.chat-composer-actions .button{width:100%}.interview-ai-drawer,.interview-summary-panel,.legacy-interview-notes{margin-left:16px;margin-right:16px}.interview-summary-actions{align-items:stretch;flex-direction:column}.interview-summary-actions .button,.interview-summary-actions form{width:100%}.interview-summary-actions small{margin-left:0}.interview-end-form .button{width:100%}}
.candidate-ai-answer-page{max-width:900px;margin:-20px auto 48px;padding:0 24px}.candidate-ai-answer-card{padding:30px}.ai-answer-form{display:grid;gap:18px;margin-top:20px}.ai-answer-form .field>span{font-weight:700;line-height:1.6}.ai-answer-review{margin-top:10px;padding:12px;border-radius:8px;background:#fff}.ai-answer-review small{display:block;color:#758b9a}.ai-answer-review p{margin:5px 0 0;white-space:normal}@media(max-width:620px){.candidate-ai-answer-page{padding:0 14px}.candidate-ai-answer-card{padding:20px}}
.review-task-panel{margin-bottom:20px;border-color:#f0d49b}.review-task-panel .day-list{display:grid;gap:10px}.hr-review-panel{margin-top:20px;border-color:#b9dcec}.review-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.review-summary-grid>div{padding:13px 14px;border:1px solid #dae7ee;border-radius:10px;background:#f8fbfd}.review-summary-grid small,.review-summary-grid b{display:block}.review-summary-grid small{margin-bottom:5px;color:#748998;font-size:10px}.review-summary-grid b{color:#1e4057;overflow-wrap:anywhere}.review-text-block{margin:18px 0;padding:18px;border:1px solid #d9e6ed;border-radius:12px;background:#fbfdff}.review-text-block h3{margin:16px 0 6px;font-size:13px;color:#16445f}.review-text-block h3:first-child{margin-top:0}.review-text-block p{margin:0;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.approval-form{margin-top:18px;padding-top:18px;border-top:1px solid #dce7ed}@media(max-width:900px){.review-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.review-summary-grid{grid-template-columns:1fr}.hr-review-panel .interview-ai-actions{grid-template-columns:1fr}}
.candidate-detail-section{display:block}.candidate-detail-section>.hr-review-panel{margin-top:20px}
.guide-language-section{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.guide-language-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.guide-language-heading h3{margin:0;color:#133f5b;font-size:18px}.guide-language-heading span{padding:6px 10px;border-radius:999px;background:#edf7fb;color:#26708f;font-size:10px;font-weight:800}.guide-language-section .guide-grid{margin-top:14px}@media(max-width:620px){.guide-language-heading{align-items:flex-start;flex-direction:column;gap:8px}}
.print-application-page .print-summary{grid-template-columns:repeat(2,minmax(0,1fr));border-color:#718390;border-radius:0}.print-application-page .print-summary>div{border-color:#9aa9b4}.print-application-page .print-summary>div:nth-child(3n){border-right:1px solid #9aa9b4}.print-application-page .print-summary>div:nth-child(2n){border-right:0}.print-application-page .print-summary>div:nth-last-child(-n+2){border-bottom:0}.print-profile-answers{border-color:#718390;border-radius:0}.print-profile-answers>div{border-color:#9aa9b4}.print-profile-answers>div:last-child:nth-child(odd){grid-column:1/-1;border-right:0}.print-kpi-table{border-color:#718390}
.position-admin-card{margin-bottom:18px}.position-question-list{border-top:1px solid #e3edf4;margin-top:22px;padding-top:20px}.question-edit-form{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf2f6}.question-main-form{display:grid;grid-template-columns:42px minmax(0,1fr) auto 72px auto;align-items:center;gap:10px;flex:1}.question-fields{display:grid;gap:7px}.question-fields input,.question-add-form input,.question-order{width:100%;border:1px solid #cddbe5;border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink)}.question-index{font-weight:800;color:#0798ce}.question-required{font-size:12px;font-weight:700}.question-delete{color:#b52f3d}.question-add-form{display:grid;grid-template-columns:1fr 1fr 72px auto;gap:10px;margin-top:18px;padding:16px;background:#f5f9fc;border-radius:12px}.position-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.position-toggle>span{width:100%}.position-toggle input{width:18px;height:18px}.digest-fixed-time b{display:block;padding:11px 12px;background:#f5f9fc;border:1px solid #d9e6ee;border-radius:9px}.digest-generate-form{display:flex;align-items:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e3edf4}.digest-generate-form .field{margin:0;min-width:230px}.report-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}.report-actions form{margin:0}.report-actions .link-button{color:var(--blue);font-weight:700}
@media(max-width:760px){.question-edit-form{align-items:flex-start}.question-main-form{grid-template-columns:32px minmax(0,1fr)}.question-main-form .question-required,.question-main-form .question-order,.question-main-form .button{grid-column:2}.question-add-form{grid-template-columns:1fr}.digest-generate-form{align-items:stretch;flex-direction:column}.digest-generate-form .field{min-width:0}}
.position-question-panel{display:grid;gap:14px}.position-question-panel[hidden]{display:none}.position-question-placeholder{margin-top:0}.kpi-number-section,.application-booking-section{overflow:hidden}.kpi-number-table{border:1px solid #d3e1e9;border-radius:12px;overflow:hidden}.kpi-number-row{display:grid;grid-template-columns:minmax(220px,2.2fr) repeat(3,minmax(92px,1fr));align-items:stretch}.kpi-number-row>*{padding:10px;border-right:1px solid #dce7ed;border-bottom:1px solid #dce7ed}.kpi-number-row>*:last-child{border-right:0}.kpi-number-row:last-child>*{border-bottom:0}.kpi-number-head{background:#0c435e;color:#fff;text-align:center}.kpi-number-row>span{background:#f5f9fb;font-size:13px;font-weight:700}.kpi-number-row label{display:block}.kpi-number-row input{width:100%;min-width:0;border:1px solid #cbdbe4;border-radius:7px;padding:8px;text-align:center;font-size:15px}.application-booking-calendar{max-width:920px;margin:auto}.application-selected-slot{display:flex;gap:12px;align-items:center;margin-top:16px;padding:14px 16px;border-radius:10px;background:#eaf6fb}.application-selected-slot small{color:#58707f}.application-selected-slot b{color:#073b73}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:620px){.kpi-number-row{grid-template-columns:minmax(112px,1.7fr) repeat(3,minmax(54px,1fr))}.kpi-number-row>*{padding:6px 4px}.kpi-number-row>span{font-size:10px}.kpi-number-row input{padding:6px 2px;font-size:12px}.application-booking-section{padding-left:10px;padding-right:10px}}

/* Candidate-facing open positions. */
.job-cards-grid{display:grid;gap:24px}
.open-positions{max-width:1180px;margin:0 auto;padding:64px 28px 0}.open-positions-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.open-positions-heading h2{margin:0 0 8px;font-size:34px;letter-spacing:-1px}.open-positions-heading p{margin:0;color:var(--muted)}.open-position-count{padding:8px 13px;border-radius:999px;background:#e6f5fb;color:#087ab8;font-size:12px;font-weight:800}.job-card{overflow:hidden;border:1px solid #d6e6ee;border-radius:20px;background:#fff;box-shadow:0 14px 45px rgba(14,68,101,.08);transition:border-color .2s ease,box-shadow .2s ease}.job-card.is-expanded{border-color:#9fcfe5;box-shadow:0 18px 48px rgba(14,68,101,.13)}.job-card>header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 32px;background:linear-gradient(125deg,#07243e,#0a527c);color:#fff}.job-card-heading{min-width:0}.job-card h3{margin:10px 0 7px;font-size:25px;letter-spacing:-.5px}.job-card header p{margin:0;color:#afd0e0;font-size:13px}.job-status{display:inline-block;padding:5px 10px;border-radius:999px;background:#dff8ef;color:#087a55;font-size:10px;font-weight:900}.job-card-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.job-detail-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.1);color:#fff}.job-detail-toggle:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.7)}.job-detail-toggle b{font-size:18px;line-height:1;transition:transform .2s ease}.job-card.is-expanded .job-detail-toggle b{transform:rotate(180deg)}.job-apply-button{flex:0 0 auto}.job-card-details[hidden]{display:none}.job-summary{padding:24px 32px 0}.job-summary p{margin:0;color:#3e596b;line-height:1.8}.job-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 32px}.job-detail-grid-single{grid-template-columns:1fr}.job-detail-grid section{padding:22px;border-radius:14px;background:#f6fafc;border:1px solid #e0ebf1}.job-detail-grid h4{margin:0 0 13px;color:#123f5b}.job-detail-grid ul{margin:0;padding-left:20px}.job-detail-grid li{margin:8px 0;color:#536d7e;font-size:13px;line-height:1.6}.job-card-details>footer{display:flex;gap:15px;padding:17px 32px;border-top:1px solid #e3edf2;background:#fbfdfe;color:#607788;font-size:12px}.job-card-details>footer b{color:#21465d;white-space:nowrap}.open-positions+.application{padding-top:54px}@media(max-width:760px){.open-positions{padding:34px 14px 0}.open-positions-heading{align-items:flex-start}.open-position-count{display:none}.job-card>header{align-items:flex-start;flex-direction:column;padding:24px 20px}.job-card h3{font-size:21px}.job-card-actions{width:100%}.job-card-actions .button{width:auto;flex:1;padding-left:12px;padding-right:12px}.job-summary{padding:20px 20px 0}.job-detail-grid{grid-template-columns:1fr;padding:18px 20px;gap:12px}.job-detail-grid section{padding:17px}.job-card-details>footer{align-items:flex-start;flex-direction:column;gap:5px;padding:15px 20px}}

/* Candidate printout: exactly one portrait A4 sheet, front and back. */
.print-application-page .print-side{width:210mm;height:297mm;min-height:297mm;padding:8mm 10mm;overflow:hidden}.print-side-content{--print-fit-scale:1;transform:scale(var(--print-fit-scale));transform-origin:top left;width:calc(100% / var(--print-fit-scale));min-height:100%;display:flex;flex-direction:column;box-sizing:border-box;border:1.5px solid #1d2b35;padding:3mm}.print-side-content>header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1.5px solid #1d2b35;padding:0 0 3mm}.print-side-content>header p{margin:0;color:#0786d3;font-size:9px;font-weight:900;letter-spacing:1.5px}.print-side-content>header h1{margin:1mm 0 0;font-size:18px}.print-side-content>footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:2mm;border-top:1px solid #9aa9b4;color:#415565;font-size:7.5px}.print-side .print-sheet-number{min-width:38mm;padding-left:3mm;border-left:1px solid #9aa9b4;text-align:right}.print-side .print-sheet-number b{font-size:17px}.print-side .print-summary{margin:3mm 0 2.5mm}.print-side .print-summary>div{padding:2mm 2.5mm}.print-side .print-summary small,.print-side .print-answers small{font-size:7.5px;color:#435866}.print-side .print-summary b{margin-top:.7mm;font-size:8.5px}.print-side .print-section-title{margin:2.8mm 0 1.5mm;font-size:12px}.print-side .print-profile-answers>div{padding:1.7mm 2.2mm}.print-side .print-profile-answers p{margin:.6mm 0 0;font-size:8px;line-height:1.25}.print-side .print-kpi-head>*,.print-side .print-kpi-row>*{padding:1.55mm 1.5mm;font-size:7.5px;line-height:1.18}.print-side .print-question-list{gap:1.4mm}.print-side .print-question-list>div{padding-bottom:1.2mm}.print-side .print-question-list b{font-size:8px;line-height:1.25}.print-side .print-question-list p{margin:.5mm 0 0;font-size:7.8px;line-height:1.27;color:#172f40}
.print-form-heading{position:relative;display:block!important;padding:0 0 3mm!important;text-align:center}.print-form-heading>p{position:absolute;left:0;top:0;color:#15374d!important}.print-form-heading>h1{margin:0!important;font-size:21px!important;text-decoration:underline;text-underline-offset:2px}.print-form-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid #1d2b35;border-top:1px solid #1d2b35}.print-form-meta>div{display:grid;grid-template-columns:34mm minmax(0,1fr);min-height:11mm;border-right:1px solid #1d2b35;border-bottom:1px solid #1d2b35}.print-form-meta small,.print-form-meta b{display:flex;align-items:center;padding:1.5mm 2mm;font-size:9px;line-height:1.25}.print-form-meta small{justify-content:center;border-right:1px solid #1d2b35;font-weight:700;color:#233844}.print-form-meta b{overflow-wrap:anywhere}.print-form-meta .highlight small{background:#fff342;color:#18242d}.print-side-front .print-profile-answers{border-color:#1d2b35;border-radius:0;border-left:1px solid #1d2b35;border-top:0}.print-side-front .print-profile-answers>div{display:grid;grid-template-columns:34mm minmax(0,1fr);min-height:10mm;padding:0!important;border-color:#1d2b35}.print-side-front .print-profile-answers small,.print-side-front .print-profile-answers p{display:flex;align-items:center;margin:0;padding:1.4mm 2mm}.print-side-front .print-profile-answers small{justify-content:center;border-right:1px solid #1d2b35;font-size:8px;text-align:center}.print-side-front .print-profile-answers p{font-size:8.2px}.print-side-front .print-profile-answers>.print-answer-wide{grid-template-columns:34mm minmax(0,1fr);min-height:12mm}.print-declaration{border:1px solid #1d2b35;border-top:0;padding:2mm 3mm;font-size:8px;line-height:1.35;text-align:center}
@page{size:A4 portrait;margin:0}@media print{html,body{margin:0!important;padding:0!important;background:#fff}.print-application-page{margin:0;padding:0;background:#fff}.print-application-page .print-side{position:relative;width:210mm;height:297mm;min-height:297mm;max-height:297mm;margin:0;padding:0;box-shadow:none;overflow:hidden;break-after:page;page-break-after:always}.print-application-page .print-side:last-child{break-after:auto;page-break-after:auto}.print-side-content{position:absolute;top:8mm;left:10mm;width:calc(190mm / var(--print-fit-scale));min-height:281mm;display:block;overflow:visible}.print-side-content>footer{margin-top:3mm}.print-side .print-answers{grid-template-columns:repeat(2,minmax(0,1fr))}.print-side .print-answers>div{border-right:1px solid #9aa9b4}.print-side .print-answers>div:nth-child(2n),.print-side .print-answers>.print-answer-wide{border-right:0}.print-side *{break-before:auto!important;break-after:auto!important;break-inside:auto!important;page-break-before:auto!important;page-break-after:auto!important;page-break-inside:auto!important}}

/* Multi-office scheduling. */
.location-switch{display:flex;align-items:center;gap:8px;color:#a9c4d6;font-size:11px}.location-switch select{max-width:240px;border:1px solid rgba(118,215,243,.38);border-radius:8px;background:#0b3151;color:#eafaff;padding:7px 30px 7px 10px;font:inherit;font-weight:700}.office-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:22px 25px;border:1px solid #bce1ef;border-radius:17px;background:linear-gradient(120deg,#f0fbff,#fff)}.office-selection-summary small{color:#628293;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.office-selection-summary h2{margin:6px 0;font-size:20px}.office-selection-summary p{margin:0;color:#526e7f;font-size:12px;line-height:1.6}.office-selection-summary>span{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:#0b466a;color:#dff8ff;font-size:11px;font-weight:800}.location-admin-card{margin-top:20px}.location-admin-card>.settings-form{padding:0 20px 20px}.location-admin-card .panel-head{margin:0 -20px 20px}.location-admin-card input[readonly]{background:#edf2f5;color:#617583}.location-admin-card textarea{min-height:90px}.location-admin-card .position-toggle{align-content:flex-start;padding:12px;border:1px solid #dce7ed;border-radius:10px;background:#f8fbfc}.location-admin-card .position-toggle b{font-size:11px;color:#4d6879}
.office-admin-filter{margin-left:auto;margin-right:12px}.office-admin-filter label{display:flex;align-items:center;gap:8px}.office-admin-filter span{color:#6c8191;font-size:11px;font-weight:700}.office-admin-filter select{border:1px solid #cad9e3;border-radius:9px;background:#fff;padding:9px 30px 9px 11px;color:#214a63;font-size:12px}.table-location{display:block;margin-top:4px;color:#718695;font-size:9px}
@media(max-width:900px){.public-header{height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}.public-header,.header-actions{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.location-switch{order:3;width:100%;justify-content:flex-end}.office-selection-summary{align-items:flex-start;flex-direction:column}.location-admin-card .field-grid{grid-template-columns:1fr}.office-admin-filter{margin-left:0}}
@media(max-width:620px){.public-header{padding-left:14px;padding-right:14px}.public-header .official-site-link{display:none}.location-switch span{display:none}.location-switch select{max-width:190px}.office-selection-summary{padding:17px}.location-admin-card>.settings-form{padding-left:14px;padding-right:14px}.location-admin-card .panel-head{margin-left:-14px;margin-right:-14px}}

/* Versioned candidate material library. */
/* Versioned candidate material library. */
.candidate-material-card[hidden]{display:none!important}
.video-card.candidate-material-card{display:flex;min-width:0;flex-direction:column}
.video-card.candidate-material-card h3{min-height:47px;overflow-wrap:anywhere}
.video-card.candidate-material-card .choice-group{margin-top:auto}
.guide-card.candidate-material-card{min-width:0}
.guide-card.candidate-material-card h3{min-height:44px;overflow-wrap:anywhere}
.guide-card.candidate-material-card .guide-cover b{max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.candidate-submit-inline-error{margin-top:18px}
.candidate-invalid{border-color:#d94b59!important;box-shadow:0 0 0 3px rgba(217,75,89,.1)}
.field.candidate-invalid,.consent.candidate-invalid{padding:10px;border:1px solid #d94b59;border-radius:10px;background:#fff7f8}
[aria-invalid="true"]{border-color:#d94b59!important}

.material-library-overview{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.material-library-overview>div{min-width:92px;padding:13px 16px;border:1px solid #dbe7ed;border-radius:12px;background:#fff}
.material-library-overview b,.material-library-overview span{display:block}
.material-library-overview b{color:#123f5b;font-size:22px;line-height:1}
.material-library-overview span{margin-top:5px;color:#748897;font-size:10px;font-weight:700}
.material-library-overview p{margin:0 0 0 auto;color:#728696;font-size:11px}

.material-create-panel{margin-bottom:16px;overflow:hidden}
.material-create-summary,.material-card-summary{list-style:none;cursor:pointer}
.material-create-summary::-webkit-details-marker,.material-card-summary::-webkit-details-marker{display:none}
.material-create-summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 18px}
.material-add-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:#e4f5fc;color:#087fc0;font-size:22px;font-weight:500}
.material-create-summary b,.material-create-summary small{display:block}
.material-create-summary b{color:#153f59;font-size:14px}
.material-create-summary small{margin-top:4px;color:#788b99;font-size:10px}
.material-expand-label{padding:7px 11px;border:1px solid #c8dbe6;border-radius:8px;color:#17698f;font-size:10px;font-weight:800}
.material-create-panel[open]>.material-create-summary{border-bottom:1px solid #e2ebf0;background:#fbfdfe}
.material-create-panel[open] .material-expand-label{font-size:0}
.material-create-panel[open] .material-expand-label:after{content:"−";font-size:14px}
.material-create-form{padding:22px}
.material-upload-help{margin:16px 0 0;color:#728696;font-size:10px}

.material-admin-list{display:grid;gap:10px}
.material-admin-card{margin:0;overflow:hidden}
.material-card-summary{display:grid;grid-template-columns:62px minmax(230px,1fr) minmax(280px,auto) auto 22px;align-items:center;gap:16px;min-height:78px;padding:12px 16px}
.material-card-summary:hover{background:#f8fbfd}
.material-admin-card[open]>.material-card-summary{border-bottom:1px solid #e1eaf0;background:#f8fbfd}
.material-type-tile{display:grid;width:62px;height:46px;place-items:center;border-radius:9px;font-size:10px;font-weight:900;letter-spacing:.8px}
.material-type-tile.video{background:linear-gradient(145deg,#0a3658,#087bad);color:#c9f4ff}
.material-type-tile.pdf{background:#fff0f1;color:#c53745}
.material-card-title{min-width:0}
.material-card-title b,.material-card-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.material-card-title b{color:#173e56;font-size:13px}
.material-card-title small{margin-top:6px;color:#788c9a;font-size:10px}
.material-card-meta{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.material-card-meta>span{padding:5px 8px;border-radius:999px;background:#edf5f8;color:#557182;font-size:9px;font-weight:800;white-space:nowrap}
.material-chevron{color:#668090;font-size:18px;transition:transform .2s}
.material-admin-card[open] .material-chevron{transform:rotate(180deg)}

.material-admin-content{padding:22px}
.material-admin-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:24px;align-items:start}
.material-admin-preview{display:flex;align-items:center;justify-content:center;min-height:185px;overflow:hidden;border:1px solid #d9e6ed;border-radius:13px;background:#061d35}
.material-admin-preview video,.material-admin-preview img{display:block;width:100%;max-height:240px;object-fit:contain}
.material-admin-form{min-width:0;padding:0}
.material-admin-form .position-toggle{align-content:flex-start;padding:12px;border:1px solid #dce7ed;border-radius:10px;background:#f8fbfc}
.material-admin-form .position-toggle b{color:#4d6879;font-size:11px}
.material-scope{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid #dce7ed;border-radius:10px;background:#fbfdfe}
.material-scope legend{padding:0 6px;color:#536d7d;font-size:11px;font-weight:800}
.material-scope label{position:relative;display:flex;align-items:center;gap:6px}
.material-scope label input{position:absolute;opacity:0}
.material-scope label span{display:block;padding:6px 9px;border:1px solid #d6e2e9;border-radius:7px;background:#fff;color:#5c7282;font-size:10px;cursor:pointer}
.material-scope label input:checked+span{border-color:#39a5d4;background:#e8f7fc;color:#0879b3;font-weight:800}

.material-version-panel{margin-top:22px;padding-top:20px;border-top:1px solid #e2ebf0}
.material-version-heading{display:flex;align-items:center;justify-content:space-between}
.material-version-heading h3{margin:0;color:#173e56;font-size:14px}
.material-version-heading p{margin:4px 0 0;color:#7b8e9c;font-size:10px}
.material-version-upload{display:flex;align-items:center;gap:12px;padding:14px 0 4px}
.material-version-upload>input[type=file]{min-width:0;margin:0}
.material-version-upload .button{flex:0 0 auto}
.material-version-list{display:grid;gap:7px;margin-top:12px}
.material-version-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #e0e9ee;border-radius:9px;background:#f9fcfd;color:#4f6979;font-size:10px}
.material-version-list>div>span{display:flex;min-width:0;align-items:center;gap:8px}
.material-version-list>div>span>span{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.material-version-list small{color:#80929f;white-space:nowrap}
.material-version-list>div>div{display:flex;align-items:center;gap:12px;white-space:nowrap}
.material-version-list form{margin:0}

@media(max-width:1200px){
  .material-card-summary{grid-template-columns:62px minmax(210px,1fr) auto 22px}
  .material-card-meta{grid-column:2/4;justify-content:flex-start;margin-top:-8px}
  .material-card-summary>.status-badge{grid-column:3;grid-row:1}
  .material-chevron{grid-column:4;grid-row:1}
  .material-admin-layout{grid-template-columns:240px minmax(0,1fr)}
}
@media(max-width:900px){
  .material-library-overview{flex-wrap:wrap}
  .material-library-overview p{width:100%;margin:2px 0 0}
  .material-card-summary{grid-template-columns:54px minmax(0,1fr) auto 20px;gap:12px}
  .material-type-tile{width:54px}
  .material-card-meta{grid-column:2/5}
  .material-card-summary>.status-badge{grid-column:3}
  .material-chevron{grid-column:4}
  .material-admin-layout{grid-template-columns:1fr}
  .material-admin-preview{max-width:420px;width:100%}
}
@media(max-width:620px){
  .video-card.candidate-material-card h3,.guide-card.candidate-material-card h3{min-height:0}
  .material-library-overview>div{min-width:0;flex:1;padding:11px}
  .material-create-summary{grid-template-columns:36px minmax(0,1fr)}
  .material-expand-label{display:none}
  .material-create-form,.material-admin-content{padding:16px}
  .material-card-summary{grid-template-columns:48px minmax(0,1fr) 18px;padding:11px 12px}
  .material-type-tile{width:48px;height:42px;font-size:9px}
  .material-card-title small{display:none}
  .material-card-summary>.status-badge{grid-column:2;grid-row:2;justify-self:start}
  .material-card-meta{grid-column:2/4;margin:0}
  .material-chevron{grid-column:3;grid-row:1}
  .material-version-upload{align-items:stretch;flex-direction:column}
  .material-version-list>div{align-items:flex-start;flex-direction:column}
  .material-version-list>div>span{align-items:flex-start;flex-direction:column;gap:3px}
  .material-version-list>div>span>span{max-width:100%}
}

/* Independent sales agents / channel partners - sign-up (registration only). */
.agent-page{background:#f3f7fa}
.agent-hero{position:relative;overflow:hidden;color:#fff;padding:72px max(28px,calc((100vw - 1180px)/2));background:linear-gradient(120deg,#061b31,#092d51 64%,#063d68)}
.agent-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(27,145,211,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(27,145,211,.08) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to top,black,transparent 78%)}
.agent-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.42fr .58fr;gap:60px;align-items:center}
.agent-hero-copy h1{font-size:53px;line-height:1.1;letter-spacing:-2.6px;margin:16px 0 20px}
.agent-hero-copy h1 em{font-style:normal;color:#5fdaf5}
.agent-hero-copy>p{max-width:640px;line-height:1.9;color:#b6cadd;font-size:15px;margin:0}
.agent-hero-lede{color:#8fe6fb;font-size:17px;font-weight:700}
.agent-hero-card{max-width:430px}
.agent-section,.agent-signup-section{max-width:1180px;margin:0 auto;padding:52px 28px 0}
.agent-signup-section{padding-top:58px;padding-bottom:20px}
.agent-section-head{max-width:900px;margin-bottom:24px}
.agent-section-head h2{font-size:27px;letter-spacing:-.7px;margin:6px 0 10px}
.agent-section-head>p{color:var(--muted);font-size:14px;line-height:1.85;margin:0}
.agent-section .notice{margin-top:18px}
.agent-section table{min-width:0}
.agent-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.agent-cards article{background:#fff;border:1px solid #e1e9ef;border-radius:16px;padding:24px;box-shadow:0 8px 28px rgba(19,58,89,.05)}
.agent-cards b{display:block;font-size:15px;margin-bottom:9px}
.agent-cards p{margin:0;font-size:13px;line-height:1.8;color:var(--muted)}
.agent-form{padding:0;margin:0 auto}
.agent-form .form-section:last-of-type{margin-bottom:0}
.agent-code-row{display:flex;gap:10px;align-items:stretch}
.agent-code-row input{flex:1;min-width:0}
.agent-code-row .button{margin:0;white-space:nowrap;min-width:136px}
.agent-verification-message{min-height:20px;margin:14px 0 0;font-size:13px;color:#c53646}
.agent-verification-message.success{color:#118456}
.agent-result{padding:56px 28px 96px}
.agent-result-card{max-width:780px;margin:0 auto;background:#fff;border:1px solid #dfe7ed;border-radius:22px;padding:46px 44px;box-shadow:0 20px 60px rgba(14,49,78,.1);text-align:center}
.agent-result-card h1{font-size:31px;letter-spacing:-1px;margin:8px 0 12px}
.agent-result-lede{color:var(--muted);font-size:14px;line-height:1.8;margin:0}
.agent-id-block{margin:26px auto;max-width:430px;padding:20px;border:1px solid #a8ddec;border-radius:16px;background:#eefaff}
.agent-id-block small{display:block;font-size:10px;letter-spacing:1.4px;color:#5f8194;text-transform:uppercase}
.agent-id-block b{display:block;font-size:40px;letter-spacing:3px;color:#087dbe;margin:8px 0 6px;font-variant-numeric:tabular-nums}
.agent-id-block span{font-size:12px;color:#648296}
.agent-qr-block{display:flex;gap:26px;align-items:center;text-align:left;margin:28px 0 0;padding:22px;border:1px dashed #a9cbd9;border-radius:16px;background:#f7fbfd}
.agent-qr{width:190px;height:190px;flex:0 0 auto;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px}
.agent-qr img,.agent-qr svg{width:100%;height:auto;display:block}
.agent-qr-block h3{margin:0 0 8px;font-size:15px}
.agent-qr-block p{margin:0 0 10px;font-size:12px;line-height:1.7;color:var(--muted)}
.agent-qr-block code{display:block;font-size:10px;color:#5f8194;word-break:break-all;background:#eef4f8;border-radius:8px;padding:8px 10px}
.agent-next-steps{margin:26px 0 0;padding-left:20px;text-align:left;color:var(--muted);font-size:13px;line-height:1.85}
.agent-next-steps li{margin-bottom:8px}
.agent-result-actions{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.agent-provisioning-progress{margin:14px 0 0;font-size:12px;color:var(--muted);text-align:center}
.agent-provisioning-progress::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--accent,#2f6f8f);vertical-align:middle;animation:agent-provisioning-pulse 1.4s ease-in-out infinite}
.agent-provisioning-progress a{color:var(--accent,#2f6f8f)}
.agent-provisioning-progress a::before{display:none}
@keyframes agent-provisioning-pulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: reduce){.agent-provisioning-progress::before{animation:none;opacity:1}}
.agent-result-card .detail-grid{text-align:left;margin:24px 0 0}
.agent-result-card>.notice{text-align:left;margin-top:22px}
.agent-result-card>.button{margin-top:22px}
@media(max-width:900px){.agent-hero-grid{grid-template-columns:1fr;gap:34px}.agent-hero-copy h1{font-size:42px}.agent-cards{grid-template-columns:1fr}.agent-qr-block{flex-direction:column;text-align:center}.agent-qr{align-self:center}}
@media(max-width:620px){.agent-hero{padding:46px 20px 52px}.agent-hero-copy h1{font-size:33px;letter-spacing:-1.6px}.agent-section,.agent-signup-section{padding:38px 14px 0}.agent-signup-section{padding-bottom:16px}.agent-result{padding:30px 12px 60px}.agent-result-card{padding:30px 20px}.agent-result-card h1{font-size:25px}.agent-id-block b{font-size:30px;letter-spacing:2px}.agent-code-row{flex-direction:column}.agent-code-row .button{width:100%}}
@media print{.agent-result{padding:0}.agent-result-card{border:0;border-radius:0;box-shadow:none;max-width:none;padding:0}.agent-result-actions{display:none!important}body:has(.agent-page) .public-header,body:has(.agent-page) .public-footer{display:none!important}}
.office-context-chip{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#eaf7fd!important;border-color:#b8dfee!important;color:#086f9f!important;font-weight:800}
@media(max-width:1100px){.office-context-chip{max-width:220px}}
.agent-signup-banner{display:flex;align-items:center;gap:22px;margin:0 0 24px;padding:22px 28px;border-radius:20px;background:linear-gradient(120deg,#061b31,#0a3f66 62%,#0b5b86);color:#fff;text-decoration:none;border:1px solid #14527c;box-shadow:0 16px 44px rgba(9,45,81,.22);transition:transform .2s ease,box-shadow .2s ease}
.agent-signup-banner:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(9,45,81,.3)}
.agent-signup-banner-tag{align-self:flex-start;padding:5px 11px;border-radius:999px;background:rgba(95,218,245,.16);border:1px solid rgba(95,218,245,.5);color:#8fe6fb;font-size:11px;font-weight:700;letter-spacing:1.4px;white-space:nowrap}
.agent-signup-banner-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.agent-signup-banner-body strong{font-size:19px;letter-spacing:-.3px}
.agent-signup-banner-body small{color:#b6cadd;font-size:13px;line-height:1.7}
.agent-signup-banner-cta{flex:0 0 auto;padding:12px 22px;border-radius:999px;background:#12bfe9;color:#04263d;font-weight:700;font-size:14px;white-space:nowrap}
.agent-signup-card-cta{text-decoration:none;white-space:nowrap}
@media(max-width:820px){.agent-signup-banner{flex-direction:column;align-items:flex-start;gap:14px}.agent-signup-banner-cta{align-self:stretch;text-align:center}}
.agent-terms{display:grid;gap:11px;margin:24px 0 0;padding:18px 20px;border:1px solid #d7e2ea;border-radius:14px;background:#fbfdfe}
.agent-terms-title{margin:0;font-size:13px;font-weight:800;color:#38536a}
.agent-terms-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.agent-terms-item .consent{margin:0;flex:1}
.agent-terms-link{flex:none;border:0;background:none;padding:3px 6px;color:#0786d3;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.agent-terms-link:hover{color:#0568a8}
.agent-terms-dialog{width:min(780px,94vw);height:min(800px,90vh);margin:auto;padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:hidden}
.agent-terms-dialog[open]{display:flex;flex-direction:column}
.agent-terms-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#092b48;color:#fff;flex:none}
.agent-terms-head small{color:#8bdcf3;font-size:10px;letter-spacing:2px;font-weight:800}
.agent-terms-head h2{margin:4px 0 0;font-size:17px;letter-spacing:-.3px}
.agent-terms-close{width:36px;height:36px;flex:none;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer}
.agent-terms-body{flex:1;overflow-y:auto;padding:24px 28px;font-size:13px;line-height:1.9;color:#3c566c}
.agent-terms-body h3{margin:20px 0 6px;font-size:14px;color:#0b3a5c}
.agent-terms-body h3:first-child{margin-top:0}
.agent-terms-body p{margin:0 0 10px}
.agent-terms-draft{margin-bottom:16px;padding:11px 14px;border:1px solid #f2d7a7;border-radius:10px;background:#fff8ec;color:#795d27;font-size:12px}
.agent-terms-foot{display:flex;justify-content:flex-end;gap:12px;padding:14px 24px;border-top:1px solid #e1e9ef;background:#f8fafc;flex:none}
@media (prefers-reduced-motion:no-preference){dialog[open].agent-terms-dialog{animation:agent-terms-in .18s ease-out}@keyframes agent-terms-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
.schedule-reschedule{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.schedule-reschedule>summary{cursor:pointer;color:#166793;font-size:12px;font-weight:800;list-style-position:inside}
.schedule-reschedule>.settings-form{padding:15px 0 0}
.schedule-reschedule .notice{margin-bottom:12px}
.schedule-reschedule .field small{color:#7890a0;font-size:10px;line-height:1.5}
.schedule-reschedule .button{width:100%}
.candidate-name-link{color:#183c58;text-decoration:none}
.candidate-name-link:hover,.candidate-name-link:focus-visible{color:#0675b8;text-decoration:underline}
.status-link{text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.status-link:hover,.status-link:focus-visible{transform:translateY(-1px);box-shadow:0 4px 12px rgba(6,117,184,.2);outline:2px solid rgba(6,117,184,.22);outline-offset:2px}

/* === BurtonAiWMS public header brand tokens (match guides + website exactly) === */
:root{
  --brand-bg:#ffffff;
  --brand-bg-soft:#f8fafc;
  --brand-text:#0f172a;
  --brand-text-muted:#475569;
  --brand-border:#e2e8f0;
  --brand-blue:#2563eb;
  --brand-blue-dark:#1d4ed8;
  --brand-cyan:#06b6d4;
  --brand-topbar-bg:rgba(255,255,255,0.92);
  --brand-input-border:#cbd5e1;
  --brand-hover-bg:#eff6ff;
}
.public-header{
  position:sticky;
  top:0;
  z-index:100;
  height:auto;
  min-height:72px;
  padding:0 max(28px,calc((100vw - 1180px)/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:var(--brand-topbar-bg);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--brand-border);
  color:var(--brand-text);
}
.public-header .header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.public-header .brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex-shrink:0;
  color:var(--brand-blue);
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
}
.public-header .brand-name{
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:-0.03em;
  white-space:nowrap;
  color:var(--brand-blue);
}
.public-header .brand-name span{
  color:var(--brand-cyan);
}
.public-header img.brand-mark{
  width:38px;
  height:38px;
  border-radius:8px;
  object-fit:cover;
  display:block;
  flex:0 0 auto;
  background:none;
  box-shadow:none;
  padding:0;
  color:inherit;
}
.public-header .header-note{
  color:var(--brand-text-muted);
  font-size:0.88rem;
  letter-spacing:0.04em;
  font-weight:600;
}
.public-header .official-site-link{
  color:var(--brand-text-muted);
  font-size:0.88rem;
  font-weight:600;
  white-space:nowrap;
  padding:6px 10px;
  border-radius:8px;
  transition:color 0.18s ease, background 0.18s ease;
}
.public-header .official-site-link:hover{
  color:var(--brand-text);
  background:var(--brand-bg-soft);
}
.public-header .language-switch,
.public-header .language-switch.light{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  padding:0 10px;
  border:none;
  border-radius:8px;
  background:transparent;
  color:var(--brand-text-muted);
  font-size:0.78rem;
  font-weight:600;
  transition:color 0.2s, background 0.2s;
}
.public-header .language-switch:hover,
.public-header .language-switch.light:hover{
  color:var(--brand-blue);
  background:var(--brand-hover-bg);
  border-color:transparent;
}
.public-header .location-switch{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--brand-text-muted);
  font-size:0.88rem;
  font-weight:600;
}
.public-header .location-switch select{
  max-width:240px;
  border:1px solid var(--brand-input-border);
  border-radius:8px;
  background:var(--brand-bg);
  color:var(--brand-text);
  padding:7px 30px 7px 10px;
  font:inherit;
  font-weight:600;
}
.public-footer .brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
}
.public-footer .brand-name{
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:-0.03em;
  white-space:nowrap;
  color:#fff;
}
.public-footer .brand-name span{
  color:var(--brand-cyan,#06b6d4);
}
.public-footer img.brand-mark{
  width:38px;
  height:38px;
  border-radius:8px;
  object-fit:cover;
  display:block;
  flex:0 0 auto;
  background:none;
  box-shadow:none;
  padding:0;
}
@media(max-width:900px){
  .public-header{
    height:auto;
    min-height:64px;
    padding-top:10px;
    padding-bottom:10px;
    background:var(--brand-topbar-bg);
    border-bottom:1px solid var(--brand-border);
  }
  .public-header .brand-name{font-size:1.1rem}
  .public-header img.brand-mark{width:32px;height:32px}
}
@media(max-width:620px){
  .public-header{
    padding-left:14px;
    padding-right:14px;
    background:var(--brand-topbar-bg);
    border-bottom:1px solid var(--brand-border);
  }
  .public-header .brand-name{font-size:0.95rem}
}
