/* Shared interface system: calm surfaces, clear hierarchy, accessible controls. */
:root{--bg:#f8f6f6;--surface:#fff;--ink:#302b2d;--text:#302b2d;--muted:#776970;--line:#e9e2e4;--border:#e9e2e4;--brand:#8b182b;--soft:#f8ecef;--amber:#a36b20;--blue:#426e9a;--green:#377355;--red:#b44f51;--ui-shadow:0 3px 14px #243e3210}
*{box-sizing:border-box}html{scroll-behavior:smooth}html body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
body [hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #dba6b0;outline-offset:3px}
body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select,body textarea{box-sizing:border-box;max-width:100%;min-height:42px;border:1px solid #e0d5d8;border-radius:8px;padding:9px 12px;background:#fff;color:var(--ink);font-weight:400;box-shadow:0 1px 2px #233a2910}
body input:focus,body select:focus,body textarea:focus{outline:2px solid #edd0d7;outline-offset:1px;border-color:#a64b5c}body input[type=checkbox],body input[type=radio]{display:inline-block;width:17px!important;min-height:17px!important;height:17px;margin:0 7px 0 0;vertical-align:middle;accent-color:var(--brand);flex-shrink:0}body label{font-size:12px;font-weight:600;color:#776970}
body h1{font-size:29px;line-height:1.25;letter-spacing:-.8px;font-weight:650;margin:0 0 8px}body h2{font-size:17px;line-height:1.4;letter-spacing:-.3px;font-weight:650;margin:0 0 16px}body h3{font-weight:650}body .muted,body .meta{color:var(--muted)}
/* Main navigation */
body .shell,body .portal.show{grid-template-columns:224px minmax(0,1fr);min-height:100vh}body .side,body .portal-side{position:sticky;top:0;height:100vh;background:#fff;color:var(--ink);padding:28px 18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}body .brand,body .side-brand{gap:11px;align-items:center;margin-bottom:32px}body .side .brand strong,body .side-brand strong{font-size:17px;letter-spacing:-.4px;color:var(--ink)!important}body .side .brand .muted,body .side-brand span:not(.mark){color:var(--muted)!important;font-size:11px;display:block}body .mark{width:40px;height:40px;border-radius:11px;background:var(--brand)!important;color:white!important;font:700 13px/1 system-ui;letter-spacing:.3px;flex-shrink:0}
body .nav,body .side-nav{display:grid;gap:5px}body .nav button,body .nav a,body .side-nav button{display:flex;align-items:center;gap:11px;min-height:44px;padding:10px 13px;border:0;border-radius:8px;background:transparent!important;color:#776970!important;font-size:13px;font-weight:500;text-align:left;text-decoration:none;line-height:1.4}body .nav button:hover,body .side-nav button:hover,body .nav a:hover{background:#faf2f4!important;color:var(--brand)!important}body .nav button.active-nav,body .side-nav button.active{background:var(--soft)!important;color:var(--brand)!important;font-weight:650}body .nav .agent,body .nav .lang-toggle,body .side-nav .lang-toggle,body .side-nav .logout-btn,body #admin-logout{background:transparent!important;border:1px solid var(--line);margin-top:8px!important}body .nav [data-ui-icon]::before,body .side-nav [data-ui-icon]::before{content:"";display:block;flex-shrink:0;width:18px;height:18px;background:currentColor;mask:var(--nav-icon) center/contain no-repeat;-webkit-mask:var(--nav-icon) center/contain no-repeat;opacity:.85}
body .side-staff,body .side-agent{margin-top:auto;padding:20px 9px 0;border-top:1px solid var(--line)}body .side-staff span,body .side-agent span{color:var(--muted)}body .side-staff strong,body .side-agent strong{font-size:13px;font-weight:600}.sidebar-foot{margin-top:auto;padding:32px 12px 0;color:#98a29d;font-size:10px;line-height:1.8;letter-spacing:.4px}
/* Workspace */
body .main,body .portal-main{min-width:0;padding:0 36px 40px;max-height:none;overflow:visible}body .workspace-bar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin:0 0 32px;color:#776970;font-size:12px}body .workspace-bar strong{color:#776970;font-weight:500}.workspace-status{display:flex;align-items:center;gap:8px;font-size:11px}.workspace-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#639d7d}body .top,body .section-head{gap:18px;margin-bottom:24px;align-items:center}body .top .muted{margin:0 0 7px;font-size:12px}body .top h1+p{margin-top:10px}.workspace-title{margin:0 0 28px}.workspace-title p{margin:0 0 7px;color:var(--muted);font-size:12px}.workspace-title h1{margin:0}body .view.active,body .portal .panel.active{background:transparent;color:var(--ink)}body .portal .panel{border:0;padding:0;box-shadow:none}
body .grid#kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}body .card,body .summary-card,body .panel,body .form-panel,body .contract-card{border:1px solid var(--line);border-radius:12px;box-shadow:none;background:#fff}body #kpis .card{padding:20px 18px;position:relative;min-height:117px}body #kpis .card span,body .summary-card span{display:block;color:#776970;font-size:11px;font-weight:500;line-height:1.5}body #kpis .card strong{font-size:27px;letter-spacing:-.8px;font-weight:650;margin:13px 0 0;font-variant-numeric:tabular-nums}body #kpis .card:first-child{background:#faf0f2;border-color:#eddce1}body #kpis .card:first-child strong{color:var(--brand)}body .summary-grid{gap:14px;margin-bottom:24px}body .summary-card{padding:19px 20px}body .summary-card strong{font-size:27px;letter-spacing:-.6px;margin-top:10px;font-weight:650}body .layout{grid-template-columns:minmax(0,1.9fr) minmax(240px,.9fr);gap:20px;margin-top:24px;align-items:start}body .layout>.panel{padding:23px}body .layout h2{margin-bottom:18px}
/* Real application-stage overview */
.stage-overview{margin-top:26px}.stage-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.stage-heading h2{margin:0;font-size:15px}.stage-heading span{font-size:11px;color:var(--muted)}.stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.stage-grid button{display:flex;align-items:center;gap:12px;min-height:81px;padding:15px 18px;border:0;border-right:1px solid var(--line);border-radius:0;background:white;text-align:left;color:var(--ink)}.stage-grid button:last-child{border-right:0}.stage-grid button:hover{background:#fcf3f5}.stage-dot{width:9px;height:9px;border-radius:50%;background:#b6c5bd}.stage-grid button:nth-child(2) .stage-dot{background:#c4a56b}.stage-grid button:nth-child(3) .stage-dot{background:#86a8c4}.stage-grid button:nth-child(4) .stage-dot{background:#5d9e7a}.stage-grid strong{font-size:23px;font-weight:600;margin-left:auto}.stage-grid span:not(.stage-dot){font-size:12px;color:#776970}
/* Lists and tables */
body .item{border:1px solid var(--line);border-radius:11px;background:#fff;padding:20px;box-shadow:none}body .item:hover{border-color:#dcbec6;box-shadow:0 3px 12px #263d2f08}body #risk-alerts .item{background:#fafbf9;border-color:#edf0e9;padding:16px;margin:0 0 10px}body #risk-alerts .item strong{font-size:13px;font-weight:600}body #risk-alerts .item p{font-size:12px;line-height:1.7;margin:8px 0 0}body .list{gap:14px}body table{font-size:13px}body th{font-size:10px;font-weight:600;color:#84928a;letter-spacing:.4px;padding:12px 12px;border-bottom:1px solid var(--line);white-space:nowrap}body td{padding:15px 12px;vertical-align:middle;border-bottom:1px solid #edf1ed}body td strong{font-weight:600}body tbody tr:last-child td{border-bottom:0}body tbody tr:hover{background:#fbfcfb}body table .muted{font-size:11px}.table-panel{padding:4px 12px!important;overflow-x:auto}#view-students table{min-width:850px}#students-table td:last-child{width:190px}#students-table td:nth-child(3){max-width:195px}body .badge{display:inline-flex;align-items:center;min-height:25px;font-size:10px;font-weight:600;line-height:1.5;padding:4px 9px;border-radius:6px;white-space:normal;background:#eef2f0;color:#566b5f}.badge.warn,.badge.pending,.badge.draft,.badge.lead{background:#fcf3e7;color:#a17732}.badge.blue,.badge.approved,.badge.applied,.badge.pass,.badge.agent-confirmed{background:#edf3f9;color:#577c9d}.badge.green,.badge.active,.badge.paid,.badge.started,.badge.deposit,.badge.staff-confirmed{background:#edf5ef;color:#377355}.badge.red,.badge.missing,.badge.withdrawn,.badge.revision{background:#fbeeee;color:#ad6464}
body .student-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:18px}body .student-grid .row>div>strong{display:block;font-size:17px;font-weight:600;margin-bottom:5px}body .student-grid .row .meta{display:block;font-size:12px;line-height:1.7}body .student-grid .pill-row{gap:6px;margin:16px 0}body .student-grid .detail{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}body .student-grid .detail h3{font-size:13px;margin-bottom:10px}body .timeline{gap:10px;padding:3px 0 3px 12px;border-left:2px solid #e4ede7}.item.open{border-color:#bd7c8b}.detail-toggle{background:transparent!important;color:#776970!important;border:0!important;padding:8px 0!important;font-size:11px!important;min-height:30px!important;margin-top:10px}
/* Search, filters and progressive actions */
.list-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 18px}.list-tools label{display:flex;align-items:center;gap:9px;margin:0;flex:1;min-width:190px;max-width:380px;font-size:0}.list-tools label::before{content:"⌕";font-size:23px;line-height:1;color:#8c9e93}.list-tools input[type=search]{margin:0;min-width:0;box-shadow:none;font-size:13px;width:100%}.list-tools select{width:auto;min-width:160px;margin:0;font-size:12px;box-shadow:none}.list-tools .result-count{margin-left:auto;font-size:11px;color:var(--muted)}.search-empty{padding:36px!important;border:1px dashed #cedbd2;border-radius:12px;background:#fff;text-align:center;color:var(--muted)}body .filter-row{gap:5px;margin-bottom:20px}body .filter-row button,body .tabs button{border:1px solid transparent;background:transparent;color:#776970;border-radius:7px;min-height:36px;padding:7px 14px;font-size:12px;font-weight:500}body .filter-row button.active,body .tabs button.active{background:#f8ecef;border-color:#eed9df;color:#8b182b}.student-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.row-actions{position:relative}.row-actions summary{cursor:pointer;list-style:none;padding:7px 10px;border:1px solid var(--line);border-radius:7px;font-size:11px;color:#776970}.row-actions summary::after{content:" ···"}.row-actions summary::-webkit-details-marker{display:none}.row-actions[open]{width:100%}.row-actions[open] summary{background:#fbf1f3}.row-actions>div{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 0 4px}.row-actions>div>a{font-size:11px;color:var(--brand);text-decoration:none;padding:7px 9px;border:1px solid var(--line);border-radius:6px}.row-actions .tbtn{margin:0}.row-actions .admission-open{margin:0}.profile-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}body .tbtn,body .admission-open,body .ghost{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;margin:0;border:1px solid #e7d6db;border-radius:7px;background:white;color:#8b182b;font-size:11px;font-weight:550;line-height:1.45;text-decoration:none}body .tbtn:hover,body .admission-open:hover,body .ghost:hover{background:#faf0f3;border-color:#cf9ba7}body .primary-action,body #admin-add-student-btn,body #admin-add-agent-btn,body #admin-create-contract-btn,body #add-student-btn{background:var(--brand)!important;color:white!important;border-color:var(--brand)!important;border-radius:8px!important;padding:10px 16px!important;font-size:12px!important;min-height:40px!important;font-weight:600!important}body #add-student-btn{width:auto!important}body .form-panel{padding:24px}.notice-card{background:#f8f7ef!important;border-color:#eae7d8!important;color:#74683f}.contract-card{padding:20px!important}body .admission-summary{padding:12px 0;margin:14px 0;border-top:1px solid #edf1ed;border-bottom:1px solid #edf1ed;gap:6px;font-size:11px;color:#776970}body .admission-summary strong{color:#776970;font-weight:600}
/* Login pages */
body .login-wrap,body .login-overlay{padding:40px;gap:80px;min-height:100vh;background:#faf7f7;align-items:center}body .login-card,body .login-box{flex-shrink:0;width:410px;max-width:100%;padding:38px;border:1px solid #e9dfe2;border-radius:16px;background:#fff;box-shadow:0 16px 60px #2842350a}body .login-card h1,body .login-box h1{font-size:25px;margin-bottom:12px}body .login-card .muted,body .login-box .muted{font-size:12px;line-height:1.8}body .login-card .brand .muted{display:block;font-size:11px}body .login-card label,body .login-box label{font-size:12px;line-height:1.7}body .login-card form button[type=submit],body .login-box form button[type=submit]{width:100%;min-height:44px;background:var(--brand);border:0;border-radius:8px;font-weight:600;margin-top:10px}body .login-card .brand,body .login-box .brand{margin-bottom:28px}.login-intro{max-width:420px;flex:1}.login-intro .intro-kicker{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1.2px;color:#776970;font-weight:600;margin-bottom:35px}.login-intro h2{font-size:42px;line-height:1.18;letter-spacing:-1.5px;font-weight:600;color:#79182a;margin:0 0 20px}.login-intro p{color:#776970;font-size:14px;line-height:1.9;max-width:340px}.intro-steps{display:flex;gap:20px;margin-top:42px}.intro-steps div{flex:1;border-top:1px solid #e8d9dd;padding-top:14px}.intro-steps span{display:block;font-size:10px;letter-spacing:.4px;color:#95a99a;margin-bottom:5px}.intro-steps strong{font-size:12px;font-weight:500;color:#776970}body .login-lang{border:1px solid #e9dce0;background:transparent;min-height:34px;padding:5px 14px;color:#776970;top:24px;right:30px}
/* Assessment and application dialogs */
body .admission-dialog{width:min(820px,94vw);max-height:90vh;border:1px solid var(--line);border-radius:16px;padding:0;background:#faf8f8;color:var(--ink);box-shadow:0 24px 100px #17362d25}body .admission-dialog::backdrop,body .profile-dialog::backdrop{background:#243c3259;backdrop-filter:blur(3px)}body .admission-dialog>header{padding:22px 28px;background:#fff;border-bottom:1px solid var(--line);gap:20px}body .admission-dialog h2{font-size:19px;margin:0}body .admission-body{padding:24px;display:grid;gap:16px}body .admission-step{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;margin:0}body .admission-step h3{font-size:15px;margin:0 0 16px;color:#79182a}body .admission-step p{font-size:12px;color:#776970;line-height:1.75}body .admission-step label{display:block;line-height:1.8;margin:12px 0}body .admission-step small{font-size:11px;color:#87958b}body .admission-step button{background:var(--brand);border:0;color:white;border-radius:8px;padding:10px 16px;font-size:12px}body .admission-dialog header button{background:#f6f1f3;border:0;padding:8px 13px;border-radius:7px;color:#776970;font-size:12px}body .admission-warning{background:#fcf7ed;color:#a17e44!important;padding:12px;border-radius:6px}
body .profile-dialog{background:#faf8f8;border-color:var(--line);border-radius:14px;box-shadow:0 24px 100px #17362d25}body .profile-dialog header,body .apply-page header{border-color:var(--line);padding:22px 26px}body .profile-brand>span{background:var(--brand);font:700 15px system-ui;border-radius:10px}body .profile-fee,body .apply-page .profile-fee{background:#faf0f3;border-color:#eedce1;color:#776970}body .profile-fee strong,body .apply-page .profile-fee strong{font-size:19px;color:var(--brand)}body .profile-fee a,body .profile-dialog a,body .apply-page a{color:var(--brand)}body .profile-nav,body .apply-page .profile-nav{background:#fff;border-color:var(--line);padding:16px 12px;gap:6px}body .profile-nav button,body .apply-page .profile-nav button{background:transparent;color:#776970;line-height:1.6;border-radius:8px;font-size:12px;padding:11px 12px}body .profile-nav button[aria-current],body .apply-page .profile-nav button[aria-current]{background:#f8ecef;color:#8b182b;font-weight:650}body .profile-section-title span{color:#776970;font-size:10px;letter-spacing:1px}body .profile-section-title h3{font-size:25px;color:#632d38}body .profile-editor,body .apply-page .profile-editor{padding:30px 36px;background:#fcfafb}body .profile-help{background:#f9f1f3;border-left-color:#ce9aa6;color:#776970;line-height:1.8;border-radius:0 7px 7px 0}body .profile-dialog label{color:#776970;font-weight:500}body .profile-dialog [data-submit],body .apply-page [data-submit],body .profile-dialog .profile-upload input[type=file]::file-selector-button{background:var(--brand);border-color:var(--brand);color:white}body .profile-dialog [data-save],body .apply-page [data-save]{color:var(--brand);border-color:#cba0aa;background:white}body .profile-upload input[type=file]{background:#fcf8f9!important;border-color:#dcc0c8!important}body .profile-row,body .profile-files>div,body .profile-legal{border-color:var(--line);border-radius:10px}body .profile-legal summary{color:#8b182b}body .profile-dialog footer,body .apply-page footer{padding:16px 24px;border-color:var(--line)}body .profile-dialog .profile-workspace{min-height:0}body .apply-page{max-width:1280px;background:white;box-shadow:var(--ui-shadow)}body .apply-page .profile-workspace{min-height:65vh}body .profile-dialog [data-return]{color:#a17732}
/* Public forms share the same visual language; printed PDFs remain unchanged. */
body.ui-document>header{border-bottom:1px solid var(--line);background:#fff;color:#79182a;padding:28px max(24px,calc((100vw - 1100px)/2))}body.ui-document main{max-width:1100px;margin:30px auto}body.ui-document section,body.ui-document details.card{border-color:var(--line);border-radius:12px;background:white;padding:28px}body.ui-document button,body.ui-document .button{background:var(--brand);border-radius:8px;color:white;font-size:13px}body.ui-document .clear{background:#f8eef1;color:#776970}body.ui-document a,body.ui-document .status{color:var(--brand)}body.ui-document .badge{background:#edf5ef;color:var(--brand)}body.ui-document .signature{border:1px dashed #cba0aa;border-radius:10px}body.ui-contract .container{max-width:940px;padding:40px 24px}body.ui-contract .header .logo{background:var(--brand);border-radius:10px;padding:10px 16px}body.ui-contract .card{padding:30px}body.ui-contract .btn-primary{background:var(--brand)}body.ui-contract .contract-body{background:#fcfafb;border-color:var(--line)}body .toast{border-radius:10px;box-shadow:var(--ui-shadow);font-size:13px;font-weight:500;max-width:min(460px,calc(100vw - 32px))}
@media(min-width:1600px){body .main,body .portal-main{padding-right:60px;padding-left:60px}.login-wrap,.login-overlay{gap:120px!important}}
@media(max-width:1150px){body .main,body .portal-main{padding:0 24px 28px}body .shell,body .portal.show{grid-template-columns:200px minmax(0,1fr)}body .grid#kpis{grid-template-columns:repeat(3,minmax(0,1fr))}body .layout{grid-template-columns:minmax(0,1fr)}body .login-wrap,body .login-overlay{gap:40px;padding:28px}.login-intro h2{font-size:34px}.login-intro{max-width:330px}}
@media(max-width:760px){body .shell,body .portal.show{grid-template-columns:minmax(0,1fr)}body .side,body .portal-side{position:static;display:block;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}body .side .brand,body .side-brand{margin-bottom:15px}body .nav,body .side-nav{display:flex;flex-wrap:wrap;gap:5px}body .nav button,body .nav a,body .side-nav button{min-height:38px;padding:8px 10px;font-size:11px;gap:7px}body .nav .agent,body .nav .lang-toggle,body .side-nav .lang-toggle,body .side-nav .logout-btn,body #admin-logout{margin-top:0!important;border:0}body .side-staff,body .side-agent,.sidebar-foot{display:none}body .main,body .portal-main{padding:0 18px 28px}body .workspace-bar{min-height:56px;margin-bottom:24px;font-size:10px;gap:8px}.workspace-status{font-size:10px}body h1{font-size:25px}body .grid#kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body #kpis .card{min-height:100px;padding:17px}body #kpis .card strong{font-size:23px}body #kpis .card:last-child{grid-column:1/-1}body .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body .summary-card{padding:16px}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-grid button{min-height:70px;padding:12px}.stage-grid button:nth-child(-n+2){border-bottom:1px solid var(--line)}.stage-grid button:nth-child(2){border-right:0}.stage-grid span:not(.stage-dot){font-size:11px}.stage-heading>span{display:none}body .layout>.panel{padding:17px;overflow:auto}body .layout table{min-width:520px}body .top{align-items:flex-start;gap:12px}body .top>button{font-size:11px!important;padding:8px 12px!important;white-space:nowrap}body .student-grid{grid-template-columns:minmax(0,1fr)}body .item{padding:18px}body .portal .tabs,body .portal .mobile-header{display:none}.list-tools{gap:9px}.list-tools label{max-width:none;flex-basis:100%}.list-tools .result-count{font-size:10px}body .login-wrap,body .login-overlay{padding:24px;gap:0}.login-intro{display:none}body .login-card,body .login-box{width:420px;padding:30px 26px}.profile-dialog .profile-workspace{display:flex;min-height:0}.profile-dialog .profile-nav{flex-direction:row;padding:8px;max-height:85px}.profile-dialog .profile-nav button{min-width:145px;padding:8px}.profile-dialog .profile-editor,body .apply-page .profile-editor{padding:22px 18px}body .profile-dialog footer{padding:12px}body .profile-dialog header,body .apply-page header{padding:16px}.profile-brand{gap:10px}body .profile-dialog h2,body .apply-page h2{font-size:17px}body .admission-dialog{width:96vw;max-height:94vh;border-radius:12px}body .admission-dialog>header{padding:17px}.admission-dialog h2{font-size:16px!important}body .admission-body{padding:12px;gap:12px}body .admission-step{padding:17px}body .admission-step label{font-size:12px}body .apply-page .profile-workspace{display:flex;flex-direction:column}body .apply-page .profile-nav{flex-direction:row;overflow:auto;max-height:100px}body .apply-page .profile-nav button{min-width:155px}body .ui-document main{padding:0 14px}body.ui-document section{padding:20px}body.ui-contract .container{padding:24px 15px}body.ui-contract .card{padding:20px}body .form-panel form[style*="grid-template-columns"],body #quick-student-form{grid-template-columns:1fr!important}.workspace-title{margin-bottom:22px}body .profile-fee{flex-wrap:wrap;gap:8px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.workspace-bar,.list-tools,.side,.portal-side{display:none!important}body{background:white}}
body .form-panel button[type=submit]{background:var(--brand)!important;border-color:var(--brand)!important;color:white!important;border-radius:8px!important;min-height:40px!important;padding:8px 16px!important;font-weight:600!important}
body .profile-editor :is(input,select,textarea){font-size:14px}body .profile-dialog [data-close]{background:#f6f1f3;color:#776970;border-color:#e9dfe2}
body .student-grid{align-items:start}body .admission-summary{display:flex;flex-wrap:wrap;gap:6px 12px}body .admission-summary>span:first-child{flex-basis:100%}body #students .section-head #add-student-btn{margin:0 0 0 auto!important}body #students .section-head .meta{margin-left:4px}.detail-toggle:hover{color:var(--brand)!important}
/* Applicant form: independent chapter/content scrolling keeps save controls visible. */
body .apply-page{height:100dvh;min-height:0;overflow:hidden}body .apply-page>header,body .apply-page>.profile-fee,body .apply-page>.profile-downloads,body .apply-page>.profile-message,body .apply-page>.profile-return-note{flex-shrink:0}body .apply-page>form{display:flex;flex-direction:column;flex:1;min-height:0}body .apply-page .profile-workspace{flex:1;min-height:0;overflow:hidden}body .apply-page .profile-nav,body .apply-page .profile-editor{overflow:auto}body .apply-page footer{flex-shrink:0}body .apply-page .profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}body .apply-page .profile-downloads{background:#fcf8f9;border-color:var(--line);font-size:11px;line-height:1.8}body .apply-page .profile-downloads a{color:#8b182b}body .apply-page :is(input,select,textarea):focus{outline:2px solid #edd0d7;outline-offset:1px}body .apply-page .profile-message{color:#47775a;background:#edf5ef}body .apply-page .profile-caption{font-size:11px;color:#776970;line-height:1.9}
@media(max-width:760px){body .apply-page .profile-grid{grid-template-columns:minmax(0,1fr);gap:18px}body .apply-page .profile-nav{max-height:84px;flex-shrink:0}body .apply-page .profile-editor{min-height:0;flex:1}body .apply-page footer{gap:8px;padding:10px 12px}body .apply-page footer button{padding:8px 10px;font-size:11px}body .apply-page .profile-fee{font-size:10px}}
:root{--muted:#776970}body .workspace-bar,body .workspace-status,body #kpis .card span,body .summary-card span,body th,body .list-tools .result-count,body .profile-caption,body .profile-dialog header p{color:#776970}body .login-intro p{color:#776970}body .stage-heading>span{color:#776970}body #portal-title{font-size:28px;margin:0 0 8px}body #portal-desc{color:var(--muted);font-size:13px;margin-bottom:25px}body .profile-section-title span{color:#776970}

/* Official BCI artwork, preserved in its original proportions. */
body img.bci-logo{display:block;width:100px;height:100px;object-fit:contain;flex-shrink:0;background:#fff;border-radius:0}
body .side .brand,body .side-brand{flex-direction:column;align-items:flex-start;gap:5px}
body .side .brand img.bci-logo,body .side-brand img.bci-logo{width:170px;height:150px;object-fit:contain;margin:-18px 0 -7px}
body .side .brand>div,body .side-brand>div{padding-left:10px}
body .intro-kicker img.bci-logo{width:130px;height:130px}
body .profile-brand img.bci-logo{width:76px;height:76px}
@media(max-width:760px){body .side .brand,body .side-brand{flex-direction:row;align-items:center;gap:12px}body .side .brand img.bci-logo,body .side-brand img.bci-logo{width:92px;height:76px;margin:-8px 0}body .side .brand>div,body .side-brand>div{padding-left:0}body .login-card img.bci-logo,body .login-box img.bci-logo{width:80px;height:80px}body .profile-brand img.bci-logo{width:60px;height:60px}}

/* Brand accents do not replace semantic success / warning / error colors. */
body .workspace-status::before{background:var(--brand)}
body .stage-grid .stage-dot{background:#cdb2ba}body .stage-grid button:nth-child(2) .stage-dot{background:#bb8996}body .stage-grid button:nth-child(3) .stage-dot{background:#a75a6b}body .stage-grid button:nth-child(4) .stage-dot{background:var(--brand)}

/* A focused partner sign-in: one card, one task. */
body:is([data-portal="agent"],[data-portal="staff"]) .login-wrap{justify-content:center;gap:0;padding:72px 24px;min-height:100dvh}
body:is([data-portal="agent"],[data-portal="staff"]) .login-card{width:400px;padding:28px 36px 36px}
body:is([data-portal="agent"],[data-portal="staff"]) .login-card .agent-login-logo{width:140px;height:140px;margin:0 auto 8px}
body:is([data-portal="agent"],[data-portal="staff"]) .login-card h1{text-align:center;font-size:23px;margin:0 0 28px}
body:is([data-portal="agent"],[data-portal="staff"]) .login-card .form-grid{gap:18px}
@media(max-width:480px){body:is([data-portal="agent"],[data-portal="staff"]) .login-wrap{padding:64px 20px 28px}body:is([data-portal="agent"],[data-portal="staff"]) .login-card{padding:24px}}

body[data-portal="staff"] .login-wrap{position:relative}
body[data-portal="staff"] .login-lang{position:absolute;top:24px;right:30px}
