/* Readable, presentation-ready type scale */
html,body{font-size:17px;line-height:1.45}
button,input,select,textarea{font-size:15px}

/* Clean login: no large illustration or split-screen artwork */
.login-shell{display:block;min-height:100vh;height:auto;background:#f3f6f7;padding:42px 20px}
.login-story{display:none!important}
.login-panel{width:min(610px,100%);min-height:calc(100vh - 84px);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 70px rgba(17,45,63,.10);padding:0 72px;position:relative}
.mobile-logo{display:block;position:static;padding-top:52px}
.mobile-logo .logo-mark{width:44px;height:44px}
.mobile-logo .logo>span:last-child{font-size:25px}
.login-box{width:100%;margin:72px 0 120px;padding:0}
.secure{font-size:12px;letter-spacing:1.4px}
.login-box h2{font-size:44px;line-height:1.1;margin:20px 0 10px}
.login-box>p{font-size:17px;margin-bottom:38px}
.login-form>label,.label-line label{font-size:15px;margin-bottom:10px}
.label-line{margin-top:24px}
.label-line button,.link-button{font-size:14px}
.input-wrap{height:58px;border-radius:9px}
.input-wrap input{font-size:16px;padding:0 17px}
.password-wrap button{font-size:14px}
.form-error{font-size:14px;min-height:18px}
.check-label{font-size:15px!important;margin:13px 0 25px!important}
.check-label input{width:17px;height:17px}
.submit-button{height:56px;font-size:15px;border-radius:9px}
.or{font-size:11px;margin:30px 0 18px}
.preview-login{padding:16px 18px;border-radius:9px}
.preview-login b{font-size:15px}.preview-login small{font-size:13px;margin-top:5px}
.help-text,.help-text button{font-size:13px!important}
.login-foot{left:72px;right:72px;bottom:30px;font-size:12px}
.login-box .or,.preview-login{display:none!important}.login-box .help-text{margin-top:26px}

/* Larger application shell */
.sidebar{width:280px}.workspace{margin-left:280px}
.side-head{height:82px;padding:0 25px}.side-head .logo>span:last-child{font-size:21px}.side-head .logo small{font-size:9px}
.preview-tag{font-size:11px;padding:10px 12px}
.sidebar nav{padding:19px 12px}.sidebar nav section{margin-bottom:20px}.sidebar nav label{font-size:10px;padding:0 13px 9px}
.sidebar nav a{height:44px;font-size:14px;gap:12px;padding:0 13px}.sidebar nav a>span{font-size:19px}
.side-help b,.side-profile b{font-size:13px}.side-help small,.side-profile small{font-size:11px}.side-help,.side-profile{padding:12px}
.avatar{width:38px;height:38px;font-size:11px}
.topbar{height:76px;padding:0 36px}.global-search{width:min(520px,45vw)}.global-search input{font-size:14px}.global-search kbd{font-size:11px}
.role-preview{height:39px;font-size:12px}.icon-button{width:40px;height:40px}.primary-button,.secondary-button,.outline-button{min-height:42px;padding:0 16px;font-size:13px}
.page{padding:38px 38px 70px}.page-heading{margin-bottom:29px}.page-heading>div>span{font-size:11px}.page-heading h1{font-size:34px;margin:9px 0 7px}.page-heading p{font-size:15px}

/* Cards, tables and workflows */
.metric-grid{gap:15px;margin-bottom:17px}.metric-grid article{min-height:155px;padding:21px}.metric-grid article>span{font-size:11px}.metric-grid article>strong{font-size:39px;margin:12px 0 9px}.metric-grid article>small{font-size:13px}.metric-grid article>i{width:40px;height:40px;font-size:20px}
.overview-grid{gap:17px;margin-bottom:17px}.surface-head{min-height:78px;padding:18px 22px}.surface-head h2{font-size:18px}.surface-head p{font-size:13px}.surface-head button{font-size:13px}
.empty-state{min-height:330px}.empty-icon{width:58px;height:58px;font-size:24px}.empty-state h3{font-size:18px}.empty-state p{font-size:14px;max-width:470px}
.setup-card{padding:22px}.setup-top{font-size:11px}.setup-top strong{font-size:13px}.setup-card>h2{font-size:20px}.setup-card>p{font-size:13px}.setup-card li{padding:13px 0}.setup-card li>b{width:28px;height:28px;font-size:11px}.setup-card li strong{font-size:13px}.setup-card li small{font-size:11px}.setup-card li button{font-size:12px}
.quick-start{padding:27px 29px}.quick-start .overline{font-size:11px}.quick-start h2{font-size:21px}.quick-start p{font-size:13px}.quick-actions{grid-template-columns:repeat(3,190px)}.quick-actions button{padding:15px}.quick-actions span{width:34px;height:34px}.quick-actions b{font-size:13px}.quick-actions small{font-size:10px}
.list-toolbar{gap:10px;margin-bottom:15px}.table-search{height:44px;min-width:350px;font-size:17px}.table-search input{font-size:14px}.list-toolbar select,.filter-strip select{height:44px;font-size:13px}
th{height:48px;padding:0 19px;font-size:11px}td{padding:16px 19px;font-size:14px}.person>span{width:39px;height:39px;font-size:11px}.person b{font-size:14px}.person small{font-size:12px}.status{font-size:10px;padding:6px 10px}.row-more{font-size:13px}
.explorer-bar{height:58px;max-width:930px}.explorer-bar input{font-size:15px}.explorer-bar button{font-size:14px}.filter-strip label{font-size:13px}
.university-card{padding:22px}.uni-logo{width:50px;height:50px;font-size:12px}.university-card h3{font-size:18px}.university-card>p{font-size:13px}.university-card div span{font-size:10px}.university-card div b{font-size:13px}.university-card>a{font-size:13px}
.tabbar button{padding:13px 17px;font-size:13px}.tabbar span{font-size:10px}.metric-line span{padding:13px 18px;font-size:13px}.metric-line b{font-size:18px}
.task-row,.collection-row{min-height:70px;padding:13px 20px}.task-row b,.collection-row b{font-size:14px}.task-row small,.collection-row small{font-size:12px}.collection-icon{width:41px;height:41px}.collection-row>span{font-size:12px}
.resource-grid button{padding:21px}.resource-grid button>span{width:45px;height:45px}.resource-grid b{font-size:14px}.resource-grid small{font-size:12px}.resource-callout h2{font-size:17px}.resource-callout p{font-size:13px}
.settings-layout{grid-template-columns:220px 1fr}.settings-layout>aside button{font-size:13px;padding:13px 15px}.settings-form form{padding:25px}.settings-form label,.modal form>label,.field-grid label{font-size:14px}.settings-form input,.settings-form select,.modal input,.modal select,.modal textarea{height:48px;font-size:14px;padding:0 13px}

/* Account creation guidance */
.account-guide{display:flex;gap:18px;align-items:flex-start;background:#edf5f4;border:1px solid #cfe2df;border-radius:9px;padding:20px 22px;margin-bottom:18px}
.guide-number{width:38px;height:38px;flex:0 0 auto;background:#fff;border:1px solid #c8dedb;color:var(--teal);border-radius:50%;display:grid;place-items:center;font-weight:800}
.account-guide h3{font-size:16px;margin:0 0 9px}.account-guide ol{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding-left:19px}.account-guide li{font-size:13px;line-height:1.55;color:#536871;padding-left:2px}.account-guide li::marker{color:var(--teal);font-weight:800}
.field-help{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:7px;line-height:1.45}
.role-welcome{background:var(--navy);color:#fff;border-radius:10px;padding:30px 32px;display:flex;align-items:center;gap:30px;margin-bottom:17px}.role-welcome>div:first-child{flex:1}.role-welcome>div>span{font-size:11px;letter-spacing:1.2px;color:#9fc0c8;font-weight:750}.role-welcome h2{font-size:25px;margin:10px 0 7px}.role-welcome p{font-size:14px;line-height:1.6;color:#bdd0d6;margin:0;max-width:680px}.role-progress{width:130px;height:130px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.role-progress strong{font-size:30px}.role-progress span{font-size:10px;color:#a9bec6}.role-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:17px}.role-action-grid a{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px}.role-action-grid a>span{width:42px;height:42px;border-radius:7px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-size:20px}.role-action-grid a>div{flex:1}.role-action-grid b,.role-action-grid small{display:block}.role-action-grid b{font-size:14px}.role-action-grid small{font-size:11px;color:var(--muted);margin-top:4px}.role-action-grid a>strong{font-weight:400;color:var(--teal)}

/* Larger dialogs */
.modal{width:min(590px,100%);border-radius:12px}.modal header{padding:25px 27px 21px}.modal header>div>span{font-size:11px}.modal header h2{font-size:26px}.modal header p{font-size:13px}.modal form{padding:25px 27px}.modal textarea{height:auto!important;padding:12px!important;resize:vertical}.prerequisite{margin:25px;padding:27px;background:var(--app-page,#f7f9fa);border:1px solid var(--line);border-radius:9px;text-align:center}.prerequisite b{font-size:16px}.prerequisite p{font-size:13px;color:var(--muted);margin:8px 0 18px}.quick-modal{width:min(650px,100%)}.quick-grid>button{padding:17px}.quick-grid>button>span{width:42px;height:42px}.quick-grid b{font-size:14px}.quick-grid small{font-size:11px}.toast{font-size:14px;padding:15px 19px}

@media(max-width:1180px){.quick-actions{grid-template-columns:repeat(3,1fr)}.account-guide ol{grid-template-columns:1fr 1fr}.university-grid{grid-template-columns:1fr 1fr}.role-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.login-shell{padding:0}.login-panel{border:0;border-radius:0;min-height:100vh;padding:0 35px;box-shadow:none}.mobile-logo{padding-top:32px}.login-box{margin:75px 0 110px}.login-foot{left:35px;right:35px}.sidebar{width:280px}.workspace{margin-left:0}.page{padding:27px 18px 50px}.page-heading h1{font-size:29px}.account-guide ol{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.login-panel{padding:0 22px}.login-box{width:100%;margin-top:60px}.login-box h2{font-size:37px}.login-foot{left:22px;right:22px}.topbar{height:66px}.page{padding:22px 13px 45px}.page-heading h1{font-size:27px}.page-heading p{font-size:14px}.metric-grid{grid-template-columns:1fr}.metric-grid article{min-height:125px}.quick-actions{grid-template-columns:1fr}.university-grid,.resource-grid,.role-action-grid{grid-template-columns:1fr}.account-guide{padding:17px}.table-search{min-width:260px}.field-grid{grid-template-columns:1fr}.role-welcome{padding:23px;align-items:flex-start}.role-progress{display:none}}

/* Restrained institutional colour system */
:root{
  --navy:var(--app-text,#202a31);
  --navy2:var(--app-text,#2c4352);
  --ink:#20282e;
  --muted:#66727a;
  --subtle:#899298;
  --line:#dfe2e2;
  --line2:#eceeee;
  --canvas:#f5f5f3;
  --white:#ffffff;
  --teal:var(--app-primary,#365f78);
  --teal-soft:#edf2f5;
  --blue:#42627a;
  --blue-soft:var(--app-info-soft,#eef2f4);
  --amber:#786445;
  --amber-soft:#f4f1eb;
  --red:#9a4d48;
  --red-soft:#f6eeee;
  --shadow:0 1px 2px rgba(28,38,44,.04),0 7px 22px rgba(28,38,44,.025)
}
body{background:var(--canvas)}
.sidebar{background:var(--app-text,#202a31);border-right:1px solid #303a40}
.sidebar nav a.active{color:#263944}.sidebar nav a.active:before{background:#637d8d}
.sidebar nav a.active>span{color:var(--app-primary,#365f78)}
.preview-tag{border-color:rgba(182,191,196,.22);background:rgba(255,255,255,.045);color:#d4dadd}
.preview-tag span{background:#9aaab3}
.primary-button,.submit-button,.explorer-bar button{background:var(--app-text,#2c4352);border-color:var(--app-text,#2c4352)}
.primary-button:hover,.submit-button:hover{background:#223744}
.login-shell{background:#f1f2f0}
.login-panel{box-shadow:0 18px 55px rgba(30,41,48,.08)}
.secure,.label-line button,.link-button,.preview-login strong,.surface-head button,.setup-card li button,.university-card>a{color:var(--app-primary,#365f78)}
.input-wrap:focus-within{border-color:var(--app-muted,#526f81);box-shadow:0 0 0 3px rgba(54,95,120,.09)}
.metric-grid article>i,.metric-grid article>i.blue,.metric-grid article>i.violet,.metric-grid article>i.amber,.metric-grid article>i.green{background:#eff2f3;color:#496473}
.setup-progress i{background:var(--app-muted,#526f81)}
.setup-card li.done>b,.quick-actions span,.collection-icon,.resource-grid button>span,.role-action-grid a>span{background:var(--app-info-soft,#eef2f4);border-color:var(--app-border,#d7e0e4);color:var(--app-muted,#496b7e)}
.account-guide{background:#f1f4f5;border-color:#d8e0e3}.guide-number{border-color:var(--app-border,#d4dde1);color:var(--app-muted,#496b7e)}.account-guide li::marker{color:var(--app-muted,#496b7e)}
.role-welcome{background:var(--app-text,#263640)}
.tabbar button.active:after,.mini-progress i{background:var(--app-muted,#526f81)}
.status{background:#ecefef;color:#59666d}.status.active{background:#edf2ef;color:#4d6b5e}.status.high,.status.urgent{background:#f5eeee;color:#8d4d49}
.badge,.toast{background:var(--app-text,#263640)}

/* Subtle dark-academic depth — reserved for structural surfaces */
.login-shell{
  background:
    radial-gradient(circle at 18% 12%,rgba(132,111,76,.08),transparent 30%),
    linear-gradient(145deg,#f4f1ea 0%,#f6f6f3 48%,#edf1f1 100%)
}
.sidebar{
  background:linear-gradient(180deg,var(--app-text,#172b36) 0%,#1c2a31 58%,#24282b 100%);
  box-shadow:8px 0 30px rgba(21,32,38,.08)
}
.side-head{background:linear-gradient(105deg,rgba(255,255,255,.025),transparent)}
.sidebar nav a:hover{background:linear-gradient(90deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}
.sidebar nav a.active{background:linear-gradient(105deg,#ffffff 0%,#f3f4f2 100%)}
.primary-button,.submit-button,.explorer-bar button{
  background:linear-gradient(135deg,#263f4d 0%,#355363 100%);
  border-color:#2a4655;
  box-shadow:0 2px 5px rgba(28,49,61,.10)
}
.primary-button:hover,.submit-button:hover,.explorer-bar button:hover{background:linear-gradient(135deg,#1e3542 0%,#2d4958 100%)}
.role-welcome{
  background:
    radial-gradient(circle at 88% 30%,rgba(162,133,87,.14),transparent 28%),
    linear-gradient(125deg,#1b2c36 0%,#293e47 64%,#343735 100%);
  box-shadow:0 8px 25px rgba(27,43,52,.10)
}
.preview-tag{background:linear-gradient(90deg,rgba(158,132,89,.12),rgba(255,255,255,.025));border-color:rgba(172,148,106,.25);color:#ddcfb5}
.preview-tag span{background:#aa8b59}
.setup-progress{background:#e8e7e1}.setup-progress i{background:linear-gradient(90deg,var(--app-muted,#435f70),#8b7450)}
.metric-grid article>i,.metric-grid article>i.blue,.metric-grid article>i.violet,.metric-grid article>i.amber,.metric-grid article>i.green{background:linear-gradient(145deg,#f2f3f1,#e7ecee);color:var(--app-muted,#435f70)}
.account-guide{background:linear-gradient(120deg,#f5f4ef 0%,#edf2f3 100%)}
.toast{background:linear-gradient(135deg,#1d303b,#344951)}

/* Functional records and student tools */
.record-actions,.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.record-actions button,.card-actions button,.collection-row>button,.collection-row>select{min-height:36px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 11px;color:var(--navy2);font-weight:700;font-size:12px}
.danger-link{color:var(--red)!important}.person-button{border:0;background:none;padding:0;text-align:left;cursor:pointer}.module-list{overflow:hidden}
.resource-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:15px;align-items:start;padding:20px 22px;border-bottom:1px solid var(--line2)}
.resource-row:last-child{border-bottom:0}.resource-row>span{width:42px;height:42px;background:var(--teal-soft);display:grid;place-items:center;border-radius:7px}.resource-row b,.resource-row small{display:block}.resource-row b{font-size:15px}.resource-row small{font-size:12px;color:var(--muted);margin:3px 0 8px}.resource-row p{font-size:14px;line-height:1.65;margin:0;color:#45545d;white-space:pre-wrap}
.detail-modal{width:min(900px,96vw);max-height:92vh;overflow:auto}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 27px 28px}.detail-columns section{border:1px solid var(--line);border-radius:8px;padding:18px}.detail-columns h3{margin:0 0 12px;font-size:15px}.detail-columns ul{list-style:none;padding:0;margin:0}.detail-columns li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:13px}.detail-columns li span{color:var(--muted)}
.task-check{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:50%;color:transparent}.task-check.done{background:var(--app-success,#4f6d5f);color:#fff;border-color:var(--app-success,#4f6d5f)}.task-row>div:nth-child(2),.collection-row>div:nth-child(2){flex:1;min-width:0}.security-section{margin-top:18px}
.loading-state{padding:60px;text-align:center;color:var(--muted)}
.questionnaire{padding:28px}.questionnaire form{max-width:820px}.questionnaire label{display:block;font-size:14px;font-weight:700;margin-bottom:18px}.questionnaire textarea,.questionnaire select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:7px;padding:12px;font:inherit;background:#fff}.career-results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:15px}.career-results article{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fafaf8}.career-results span,.career-results b{display:block}.career-results span{font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.career-results b{font-size:17px;margin:8px 0}.career-results p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.cv-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px}.student-cv{max-width:850px;margin:auto;padding:48px 54px}.student-cv>header{border-bottom:2px solid var(--navy2);padding-bottom:20px}.student-cv>header h1{font-size:34px;margin:0}.student-cv>header p{color:var(--muted)}.student-cv section{padding:18px 0;border-bottom:1px solid var(--line)}.student-cv section h2{font-size:15px;text-transform:uppercase;letter-spacing:1px}.student-cv section p,.student-cv li{font-size:14px;line-height:1.6}.cv-entry{margin:12px 0}.cv-entry b,.cv-entry span{display:block}.cv-entry span{font-size:13px;color:var(--muted)}
.notification-list{max-height:65vh;overflow:auto;padding:10px 26px 26px}.notification-list>button{width:100%;display:block;text-align:left;background:#f2f5f6;border:1px solid #dce4e7;border-radius:8px;padding:15px;margin:9px 0}.notification-list>button.read{background:#fff}.notification-list b,.notification-list span,.notification-list small{display:block}.notification-list b{font-size:14px}.notification-list span{font-size:13px;color:#465862;margin:4px 0}.notification-list small{font-size:11px;color:var(--muted)}
@media(max-width:700px){.detail-columns,.career-results{grid-template-columns:1fr}.student-cv{padding:28px 22px}.resource-row{grid-template-columns:40px 1fr}.resource-row .record-actions{grid-column:2}}
@media print{.sidebar,.topbar,.page-heading,.cv-toolbar{display:none!important}.workspace{margin:0}.page{padding:0}.student-cv{box-shadow:none;border:0;max-width:none}}
.attention-list>button{width:100%;min-height:64px;border:0;border-bottom:1px solid var(--line2);background:#fff;display:grid;grid-template-columns:1fr auto 22px;align-items:center;gap:16px;text-align:left;padding:13px 22px;color:var(--ink)}.attention-list>button:hover{background:#f8faf9}.attention-list>button span{font-size:14px;font-weight:750}.attention-list>button small{font-size:12px;color:var(--muted)}.attention-list>button strong{color:var(--teal)}
.announcement-panel{margin-top:17px}.announcement-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.announcement-list article{padding:20px 22px;border-right:1px solid var(--line2)}.announcement-list article:last-child{border-right:0}.announcement-list b{font-size:14px}.announcement-list p{font-size:13px;line-height:1.55;color:#53636b}.announcement-list small{font-size:11px;color:var(--muted)}.no-inline-data{padding:25px;color:var(--muted);font-size:13px}
@media(max-width:820px){.announcement-list{grid-template-columns:1fr}.announcement-list article{border-right:0;border-bottom:1px solid var(--line2)}.attention-list>button{grid-template-columns:1fr 20px}.attention-list>button small{grid-column:1}}
.record-progress{width:90px}.record-progress>i{display:block;height:5px;border-radius:9px;background:var(--app-muted,#526f81)}.record-progress:before{content:"";display:block;height:5px;background:#e5eaec;border-radius:9px;position:absolute;width:90px;z-index:-1}.record-progress small{display:block;text-align:right;font-size:10px;color:var(--muted);margin-top:4px}
.student-summary-strip{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:#f7f8f7}.student-summary-strip span{padding:15px;text-align:center;font-size:11px;color:var(--muted);border-right:1px solid var(--line)}.student-summary-strip b{display:block;font-size:20px;color:var(--ink)}.detail-modal>form{border-bottom:1px solid var(--line)}.journey-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:24px 27px}.journey-grid section{border:1px solid var(--line);border-radius:8px;padding:17px}.journey-grid h3{font-size:14px;margin:0 0 10px}.journey-grid ul{list-style:none;padding:0;margin:0}.journey-grid li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:12px}.journey-grid li:last-child{border:0}.journey-grid li span{color:var(--muted);text-align:right}.journey-wide{grid-column:1/-1}
@media(max-width:700px){.student-summary-strip{grid-template-columns:repeat(2,1fr)}.journey-grid{grid-template-columns:1fr}.journey-wide{grid-column:auto}}
.settings-sections{display:grid;gap:18px;max-width:1000px}.settings-actions{display:flex;gap:12px;padding:24px}.settings-actions a{text-decoration:none;display:inline-flex;align-items:center}
