/* ============================================================
   Unisa Awards Management System — application stylesheet
   Brand palette derived from the UNISA logo:
   black wordmark, red / orange / blue swoosh, "Define tomorrow."
   ============================================================ */
:root {
  --brand-black:  #14161c;
  --brand-navy:   #0f1a3c;
  --brand-red:    #b3122b;
  --brand-orange: #f39200;
  --brand-blue:   #16337a;

  --primary:      #16337a;
  --primary-600:  #12295f;
  --accent:       #b3122b;

  --bg:        #f3f5f8;
  --surface:   #ffffff;
  --surface-2: #f0f3f7;
  --surface-3: #e7ebf1;
  --border:    #d8dee8;
  --border-strong: #b8c2d1;
  --text:      #172033;
  --text-600:  #4f5b6d;
  --text-400:  #667085;

  --sidebar-bg:   #14161c;
  --sidebar-fg:   #c9cfda;
  --sidebar-active:#f39200;

  --success: #1a8a4c;
  --warning: #b7791f;
  --danger:  #b3122b;

  --focus:     #a94700;
  --radius-sm: 6px;
  --radius:    9px;
  --radius-lg: 13px;
  --radius-xl: 18px;
  --shadow:    0 1px 2px rgba(16,25,60,.06), 0 4px 12px rgba(16,25,60,.04);
  --shadow-md: 0 8px 24px rgba(15,26,60,.09);
  --shadow-lg: 0 22px 50px rgba(15,26,60,.18);

  --font: 'Segoe UI', Arial, Helvetica, sans-serif;
  --font-display: 'Segoe UI', Arial, Helvetica, sans-serif;
  --sidebar-w: 276px;
  --content-max: 1440px;
}

/* Research Output Master */
.research-output-register-page,
.research-output-import-page,
.research-output-form-page,
.research-output-detail-page {
  --ro-blue:#003b70; --ro-blue-soft:#eaf2f8; --ro-green:#24785b; --ro-green-soft:#e9f6f0;
  --ro-purple:#6650a4; --ro-purple-soft:#f0ecfa; --ro-orange:#f39200; --ro-orange-soft:#fff3df;
  --ro-red:#a80f17; --ro-red-soft:#fcedef; --ro-amber:#a66808; --ro-border:#e3e6ea; --ro-muted:#6d7581;
}
.research-output-page-head { align-items:flex-end; margin-bottom:18px; padding-bottom:0; border-bottom:0; }
.research-output-page-head h1 { margin:8px 0 7px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3vw,36px); font-weight:500; letter-spacing:-.025em; }
.research-output-page-head p { max-width:920px; margin:0; color:var(--ro-muted); font-size:12px; line-height:1.65; }
.research-output-page-head .page-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--ro-red); }
.research-output-page-head .page-kicker::before { content:''; width:20px; height:2px; border-radius:99px; background:var(--ro-orange); }
.research-output-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.research-output-actions .btn { gap:7px; }
.research-output-actions svg { width:14px; height:14px; }

.research-output-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:center; gap:24px; margin-bottom:18px; padding:24px 26px; border-radius:18px; color:#fff; background:radial-gradient(circle at 88% 18%,rgba(243,146,0,.18),transparent 25%),radial-gradient(circle at 72% 110%,rgba(168,15,23,.15),transparent 32%),linear-gradient(120deg,#171a21,#222932 58%,#233c52); box-shadow:0 8px 25px rgba(18,24,32,.11); }
.research-output-hero-kicker { color:#f7b74b; font-size:9px; font-weight:800; letter-spacing:1.35px; text-transform:uppercase; }
.research-output-hero h2 { margin:7px 0 8px; color:#fff; font-size:20px; }
.research-output-hero p { max-width:720px; margin:0; color:#c9d0d9; font-size:10.5px; line-height:1.65; }
.research-output-hero-panel { padding:16px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.07); }
.research-output-hero-panel-label { color:#aeb9c7; font-size:8px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.research-output-hero-panel-value { margin-top:6px; font-size:29px; font-weight:800; }
.research-output-hero-panel-note { margin-top:3px; color:#d7dde5; font-size:9px; line-height:1.45; }

.research-output-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.research-output-stat { position:relative; overflow:hidden; min-height:102px; padding:15px 16px; border:1px solid var(--ro-border); border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(20,25,35,.04); }
.research-output-stat::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:var(--ro-blue); }
.research-output-stat.is-green::before { background:var(--ro-green); }.research-output-stat.is-orange::before { background:var(--ro-orange); }.research-output-stat.is-purple::before { background:var(--ro-purple); }.research-output-stat.is-red::before { background:var(--ro-red); }.research-output-stat.is-amber::before { background:var(--ro-amber); }
.research-output-stat > span { display:block; overflow:hidden; color:var(--ro-muted); font-size:9px; font-weight:800; letter-spacing:.04em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.research-output-stat > strong { display:block; margin-top:6px; color:#20242c; font-size:23px; line-height:1.1; }
.research-output-stat > small { display:block; overflow:hidden; margin-top:5px; color:var(--ro-muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }

.research-output-card { overflow:hidden; border:1px solid var(--ro-border); border-radius:14px; background:#fff; box-shadow:0 4px 16px rgba(20,25,35,.045); }
.research-output-card-head { min-height:66px; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 19px; border-bottom:1px solid var(--ro-border); }
.research-output-card-head h2 { margin:0; font-size:13px; }.research-output-card-head p { margin:4px 0 0; color:var(--ro-muted); font-size:10px; line-height:1.45; }.research-output-card-head > span { flex:0 0 auto; color:var(--ro-muted); font-size:10px; }
.research-output-toolbar { display:grid; grid-template-columns:minmax(240px,1.3fr) repeat(5,minmax(125px,.62fr)) auto auto auto; gap:8px; padding:13px 19px; border-bottom:1px solid var(--ro-border); background:#fafbfc; }
.research-output-toolbar label { min-width:0; }.research-output-toolbar select,.research-output-toolbar input { width:100%; min-height:38px; height:38px; border:1px solid var(--ro-border); border-radius:8px; background-color:#fff; color:#35404c; font-size:10px; }
.research-output-toolbar select { padding-right:28px; }.research-output-toolbar input { padding:0 12px 0 39px; }.research-output-toolbar select:focus,.research-output-toolbar input:focus { outline:0; border-color:var(--ro-blue); box-shadow:0 0 0 3px rgba(0,59,112,.08); }
.research-output-search-wrap { position:relative; }.research-output-search-wrap::before { content:''; position:absolute; z-index:2; left:13px; top:10px; width:12px; height:12px; border:2px solid #87919c; border-radius:50%; pointer-events:none; }.research-output-search-wrap::after { content:''; position:absolute; z-index:2; left:25px; top:23px; width:7px; height:2px; border-radius:2px; background:#87919c; transform:rotate(45deg); pointer-events:none; }
.research-output-toolbar .btn { min-height:38px; white-space:nowrap; }.research-output-toolbar .btn svg { width:13px; height:13px; }.research-output-toolbar .btn:disabled { cursor:not-allowed; opacity:.5; }
.research-output-card .table-toolbar { min-height:45px; justify-content:flex-end; margin:0; padding:8px 18px; border:0; border-bottom:1px solid var(--ro-border); border-radius:0; background:#fff; }.research-output-card .table-toolbar .table-search-wrap,.research-output-card .table-toolbar .table-export { display:none; }
.research-output-card .table-wrap { overflow:auto; border:0; border-radius:0; box-shadow:none; }.research-output-table { width:100%; min-width:1550px; }.research-output-table thead th { padding:11px 14px; border-bottom:1px solid var(--ro-border); background:#f8f9fb; color:#707986; font-size:8.5px; font-weight:800; letter-spacing:.035em; text-align:left; text-transform:uppercase; white-space:nowrap; }.research-output-table tbody td { padding:13px 14px; border-bottom:1px solid var(--ro-border); color:#414b57; font-size:9.5px; vertical-align:middle; }.research-output-table tbody tr:hover { background:#fbfcfd; }
.research-output-code { display:inline-flex; padding:5px 8px; border-radius:7px; background:#f2f5f8; color:var(--ro-blue); font-family:Consolas,monospace; font-size:8.5px; font-weight:800; white-space:nowrap; }.research-output-title { max-width:320px; color:#242b33; font-weight:800; line-height:1.45; }.research-output-meta { max-width:320px; overflow:hidden; margin-top:4px; color:var(--ro-muted); font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.research-output-type,.research-output-status,.research-output-oa,.research-output-compliance { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:8.5px; font-weight:800; white-space:nowrap; }.research-output-type.is-article { background:var(--ro-blue-soft); color:var(--ro-blue); }.research-output-type.is-book { background:var(--ro-purple-soft); color:var(--ro-purple); }.research-output-type.is-chapter { background:var(--ro-orange-soft); color:#985800; }.research-output-type.is-conference { background:var(--ro-green-soft); color:var(--ro-green); }
.research-output-status.is-accepted { background:var(--ro-green-soft); color:var(--ro-green); }.research-output-status.is-pending { background:var(--ro-orange-soft); color:#985800; }.research-output-status.is-rejected { background:var(--ro-red-soft); color:var(--ro-red); }.research-output-status.is-not_submitted { background:#f1f3f5; color:#596471; }
.research-output-oa { background:#eef3f6; color:#4f6576; }.research-output-compliance.is-yes { background:var(--ro-green-soft); color:var(--ro-green); }.research-output-compliance.is-no { background:var(--ro-red-soft); color:var(--ro-red); }.research-output-compliance.is-na { background:#f1f3f5; color:#596471; }
.research-output-author { min-width:180px; display:flex; align-items:center; gap:8px; }.research-output-author > span,.research-output-author-avatar { flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; border-radius:8px; background:var(--ro-blue-soft); color:var(--ro-blue); font-size:8px; font-weight:800; }.research-output-author strong { display:block; color:#2e3741; }.research-output-author small { display:block; margin-top:2px; color:var(--ro-muted); font-size:8px; }.research-output-units { color:var(--ro-green); }.research-output-identifier { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.research-output-card .table-pagination { margin:0; padding:10px 18px; border-top:1px solid var(--ro-border); background:#fafbfc; }.research-output-empty { padding:54px 22px; color:var(--ro-muted); text-align:center; }.research-output-empty.is-compact { padding:28px 18px; }.research-output-empty > span { width:48px; height:48px; display:grid; place-items:center; margin:0 auto; border-radius:14px; background:var(--ro-blue-soft); color:var(--ro-blue); }.research-output-empty svg { width:22px; height:22px; }.research-output-empty h3 { margin:13px 0 5px; color:#252c34; font-size:15px; }.research-output-empty p { margin:0; font-size:10.5px; }

/* Import and single-entry workflows */
.research-output-import-hero,.research-output-form-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:18px; padding:20px 23px; border:1px solid #cedbea; border-radius:14px; background:linear-gradient(125deg,#edf4fa,#fff 70%); }.research-output-import-hero > div > span,.research-output-form-hero > div > span { color:var(--ro-blue); font-size:9px; font-weight:800; letter-spacing:1.1px; text-transform:uppercase; }.research-output-import-hero h2,.research-output-form-hero h2 { margin:6px 0 5px; font-size:18px; }.research-output-import-hero p,.research-output-form-hero p { max-width:790px; margin:0; color:var(--ro-muted); font-size:10.5px; line-height:1.55; }.research-output-import-hero-icon { flex:0 0 52px; width:52px; height:52px; display:grid; place-items:center; border-radius:15px; background:var(--ro-blue); color:#fff; }.research-output-import-hero-icon svg { width:24px; height:24px; }
.research-output-type-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:18px; }.research-output-type-tabs a { min-width:0; display:flex; align-items:center; gap:11px; padding:13px 14px; border:1px solid var(--ro-border); border-radius:11px; background:#fff; color:#4f5966; transition:border-color .18s,transform .18s,box-shadow .18s; }.research-output-type-tabs a:hover { transform:translateY(-1px); border-color:#c7d0d9; box-shadow:0 5px 15px rgba(20,25,35,.06); }.research-output-type-tabs a.active { border-color:var(--ro-blue); box-shadow:0 0 0 3px rgba(0,59,112,.07); }.research-output-type-tabs a.is-book.active { border-color:var(--ro-purple); }.research-output-type-tabs a.is-chapter.active { border-color:var(--ro-orange); }.research-output-type-tabs a.is-conference.active { border-color:var(--ro-green); }.research-output-type-tabs svg { flex:0 0 22px; width:22px; height:22px; color:var(--ro-blue); }.research-output-type-tabs .is-book svg { color:var(--ro-purple); }.research-output-type-tabs .is-chapter svg { color:var(--ro-orange); }.research-output-type-tabs .is-conference svg { color:var(--ro-green); }.research-output-type-tabs strong,.research-output-type-tabs small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.research-output-type-tabs strong { color:#2d353e; font-size:10.5px; }.research-output-type-tabs small { margin-top:2px; color:var(--ro-muted); font-size:8.5px; }
.research-output-import-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:18px; margin-bottom:18px; }.research-output-upload-card,.research-output-fields-card,.research-output-history-card,.research-output-entry-card,.research-output-detail-card { overflow:hidden; border-color:var(--ro-border); border-radius:14px; box-shadow:0 4px 16px rgba(20,25,35,.04); }.research-output-section-heading,.research-output-entry-head { display:flex; align-items:center; gap:12px; margin-bottom:18px; }.research-output-section-heading > span,.research-output-entry-head > span,.research-output-detail-card > header > span { flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border-radius:11px; background:var(--ro-blue-soft); color:var(--ro-blue); }.research-output-section-heading > span.is-book { background:var(--ro-purple-soft); color:var(--ro-purple); }.research-output-section-heading > span.is-chapter { background:var(--ro-orange-soft); color:var(--ro-orange); }.research-output-section-heading > span.is-conference { background:var(--ro-green-soft); color:var(--ro-green); }.research-output-section-heading svg,.research-output-entry-head svg,.research-output-detail-card > header svg { width:19px; height:19px; }.research-output-section-heading h2,.research-output-entry-head h2 { margin:0; font-size:14px; }.research-output-section-heading p,.research-output-entry-head p { margin:4px 0 0; color:var(--ro-muted); font-size:9.5px; line-height:1.45; }
.research-output-dropzone { min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; border:1.5px dashed #aebdcb; border-radius:12px; background:#fafcfd; color:var(--ro-muted); text-align:center; cursor:pointer; }.research-output-dropzone:hover { border-color:var(--ro-blue); background:var(--ro-blue-soft); }.research-output-dropzone svg { width:28px; height:28px; margin-bottom:10px; color:var(--ro-blue); }.research-output-dropzone strong { color:#2e3741; font-size:12px; }.research-output-dropzone span { margin-top:4px; font-size:9px; }.research-output-dropzone input { width:min(100%,310px); margin-top:15px; font-size:9.5px; }.research-output-upload-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }.research-output-upload-actions .btn { gap:7px; }.research-output-upload-actions svg { width:14px; height:14px; }.research-output-import-note { margin-top:16px; padding:13px 14px; border:1px solid #d6e1eb; border-radius:10px; background:var(--ro-blue-soft); }.research-output-import-note strong { color:var(--ro-blue); font-size:10px; }.research-output-import-note p { margin:4px 0 0; color:#536372; font-size:9px; line-height:1.55; }
.research-output-fields-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; }.research-output-fields-head h2 { margin:0; font-size:14px; }.research-output-fields-head p { margin:4px 0 0; color:var(--ro-muted); font-size:9.5px; }.research-output-fields-head > span { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#f1f3f5; color:#596471; font-size:8.5px; font-weight:800; }.research-output-field-chips { max-height:440px; overflow:auto; display:flex; flex-wrap:wrap; align-content:flex-start; gap:6px; padding-right:4px; }.research-output-field-chips span { padding:6px 8px; border:1px solid #e0e5e9; border-radius:7px; background:#fafbfc; color:#56616d; font-size:8.5px; }.research-output-history-card { margin-bottom:0; }.research-output-history-card .research-output-card-head { min-height:64px; }.research-output-history-card .table-wrap { border:0; border-radius:0; box-shadow:none; }

.research-output-entry-form { display:grid; gap:16px; }.research-output-entry-card .research-output-entry-head { margin:0; padding:17px 19px; border-bottom:1px solid var(--ro-border); }.research-output-entry-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; padding:19px; }.research-output-form-field { min-width:0; margin:0; }.research-output-form-field label { font-size:10px; }.research-output-form-field textarea { min-height:92px; resize:vertical; }.research-output-entry-actions { z-index:5; margin:0; }.research-output-entry-actions .btn { gap:7px; }.research-output-entry-actions svg { width:14px; height:14px; }

/* Output detail */
.research-output-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:24px; align-items:center; margin-bottom:18px; padding:22px 24px; border-radius:16px; background:linear-gradient(125deg,#161a21,#22374a); color:#fff; }.research-output-detail-hero h2 { max-width:900px; margin:10px 0 6px; color:#fff; font-size:21px; }.research-output-detail-hero p { margin:0; color:#cbd3dc; font-size:10.5px; }.research-output-detail-hero > div > div { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }.research-output-detail-hero > div > div span { padding:5px 8px; border:1px solid rgba(255,255,255,.12); border-radius:7px; background:rgba(255,255,255,.06); color:#dce2e8; font-size:8.5px; }.research-output-detail-hero > aside { padding:15px; border:1px solid rgba(255,255,255,.13); border-radius:11px; background:rgba(255,255,255,.06); }.research-output-detail-hero > aside > span,.research-output-detail-hero > aside > small { display:block; }.research-output-detail-hero > aside > span { color:#aeb9c7; font-size:8px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }.research-output-detail-hero > aside > strong { margin-top:8px; }.research-output-detail-hero > aside > small { margin-top:7px; color:#d6dde5; font-size:9px; }
.research-output-detail-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); gap:18px; }.research-output-detail-stack { display:grid; align-content:start; gap:18px; }.research-output-detail-card > header { display:flex; align-items:center; gap:11px; padding:15px 18px; border-bottom:1px solid var(--ro-border); }.research-output-detail-card > header > span { flex-basis:34px; width:34px; height:34px; }.research-output-detail-card > header > span.is-green { background:var(--ro-green-soft); color:var(--ro-green); }.research-output-detail-card > header > span.is-orange { background:var(--ro-orange-soft); color:var(--ro-orange); }.research-output-detail-card > header h2 { margin:0; font-size:12px; }.research-output-detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.research-output-detail-list > div { min-width:0; padding:13px 16px; border-bottom:1px solid #edf0f2; }.research-output-detail-list > div:nth-child(odd) { border-right:1px solid #edf0f2; }.research-output-detail-list span,.research-output-detail-list strong { display:block; }.research-output-detail-list span { color:var(--ro-muted); font-size:8px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }.research-output-detail-list strong { overflow-wrap:anywhere; margin-top:5px; color:#36404b; font-size:9.5px; line-height:1.5; }.research-output-author-list article { display:flex; gap:10px; padding:14px 16px; border-bottom:1px solid #edf0f2; }.research-output-author-list article:last-child { border-bottom:0; }.research-output-author-list strong,.research-output-author-list span,.research-output-author-list small { display:block; }.research-output-author-list strong { color:#303943; font-size:10px; }.research-output-author-list span { margin-top:2px; color:var(--ro-muted); font-size:8.5px; }.research-output-author-list small { margin-top:4px; color:#52606d; font-size:8.5px; }.research-output-integration-note { padding:17px; }.research-output-integration-note strong { color:var(--ro-green); font-size:10px; }.research-output-integration-note p { margin:5px 0 0; color:var(--ro-muted); font-size:9.5px; line-height:1.6; }

@media (max-width:1380px) { .research-output-toolbar { grid-template-columns:minmax(240px,1.2fr) repeat(3,minmax(130px,.7fr)); }.research-output-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1100px) { .research-output-hero { grid-template-columns:1fr; }.research-output-import-grid,.research-output-detail-grid { grid-template-columns:1fr; }.research-output-entry-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:820px) { .research-output-page-head { align-items:flex-start; flex-direction:column; }.research-output-actions { width:100%; justify-content:flex-start; }.research-output-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }.research-output-type-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }.research-output-detail-hero { grid-template-columns:1fr; } }
@media (max-width:600px) { .research-output-stats,.research-output-toolbar,.research-output-entry-fields,.research-output-detail-list { grid-template-columns:1fr; }.research-output-toolbar .btn,.research-output-actions .btn { width:100%; }.research-output-type-tabs { grid-template-columns:1fr; }.research-output-import-hero,.research-output-form-hero { align-items:flex-start; flex-direction:column; }.research-output-detail-list > div:nth-child(odd) { border-right:0; } }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; padding: 0; }
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #7c89a0 #e8ecf2;
}
html::-webkit-scrollbar { width: 12px; }
html::-webkit-scrollbar-track {
  background: #e8ecf2;
  border-left: 1px solid #d7dde7;
}
html::-webkit-scrollbar-thumb {
  min-height: 48px;
  border: 3px solid #e8ecf2;
  border-radius: 999px;
  background: linear-gradient(180deg, #687791, #16337a);
}
html::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #16337a, #b3122b); }
html::-webkit-scrollbar-thumb:active { background: #b3122b; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  font-size: 14.5px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
h1,h2,h3,h4 { font-family: var(--font-display); color: var(--text); margin: 0 0 .4em; }
svg { width: 20px; height: 20px; }
button, input, select, textarea { font: inherit; }
::selection { background: #dce5f8; color: var(--text); }

/* ---------------------------------------------------- app shell */
.app-shell { display: flex; min-height: 100vh; }

.sidebar {
  width: var(--sidebar-w);
  min-width: var(--sidebar-w);
  background:
    radial-gradient(circle at top left, rgba(243,146,0,.08), transparent 30%),
    linear-gradient(180deg, #15171c 0%, #1d2027 100%);
  color: var(--sidebar-fg);
  display: flex; flex-direction: column;
  position: sticky; top: 0; height: 100vh; overflow-y: auto;
  border-right: 1px solid rgba(255,255,255,.05);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(243,146,0,.78) rgba(255,255,255,.06);
}
.sidebar::-webkit-scrollbar { width: 8px; }
.sidebar::-webkit-scrollbar-track { background: rgba(255,255,255,.045); }
.sidebar::-webkit-scrollbar-thumb {
  min-height: 42px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--brand-orange), var(--brand-red)) padding-box;
}
.sidebar::-webkit-scrollbar-thumb:hover { background: var(--brand-orange) padding-box; }
.sidebar-brand {
  position: relative;
  padding: 24px 20px 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.sidebar-brand::before {
  content: ''; position: absolute; inset: 0 0 auto; height: 4px;
  background: linear-gradient(90deg, var(--brand-orange) 0 32%, var(--brand-red) 32% 67%, var(--brand-blue) 67% 100%);
}
.sidebar-brand .logo-chip {
  background: #fff; border-radius: 10px; padding: 10px 12px; display: block;
  box-shadow: 0 8px 22px rgba(0,0,0,.13);
}
.sidebar-brand img { width: 100%; height: auto; display: block; }
.sidebar-brand .app-name {
  font-family: var(--font-display); font-weight: 700; font-size: 15px;
  color: #fff; margin-top: 15px; letter-spacing: -.1px;
}
.sidebar-brand .app-subtitle { margin-top: 4px; color: #9ca6b4; font-size: 11px; }
.sidebar-nav { padding: 18px 12px 26px; flex: 1; display: flex; flex-direction: column; gap: 4px; }
.nav-label {
  padding: 15px 12px 6px; color: #727d8d; font-size: 10px; font-weight: 800;
  letter-spacing: .13em; text-transform: uppercase;
}
.nav-item, .nav-group-toggle {
  display: flex; align-items: center; gap: 12px;
  min-height: 44px; padding: 11px 13px; border-radius: 9px; color: #c6ccd6;
  font-weight: 500; cursor: pointer; width: 100%; border: none; background: none;
  font-family: var(--font); font-size: 13px; text-align: left;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.nav-item { border-left: 3px solid transparent; }
.nav-item:hover, .nav-group-toggle:hover { background: rgba(255,255,255,.06); color: #fff; text-decoration: none; }
.nav-item.active {
  padding-left: 10px; border-left-color: var(--brand-red); color: #fff;
  background: linear-gradient(90deg, rgba(179,18,43,.26), rgba(179,18,43,.08));
}
.nav-item.active svg { color: var(--sidebar-active); }
.nav-item svg, .nav-group-toggle svg { flex: 0 0 18px; width: 18px; height: 18px; color: #949eac; }
.nav-group { display: flex; flex-direction: column; }
.nav-group-toggle .chev { margin-left: auto; transition: transform .18s; width:16px; height:16px; }
.nav-group.open .chev { transform: rotate(90deg); }
.nav-group-children { display: none; padding: 3px 0 7px 18px; }
.nav-group.open .nav-group-children { display: block; }
.nav-group-children .nav-item { font-size: 12px; padding-top: 9px; padding-bottom: 9px; color: #aab2c2; }

/* ---------------------------------------------------- main */
.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar {
  height: 62px; background: var(--surface); border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 16px; padding: 0 24px; position: sticky; top: 0; z-index: 20;
}
.topbar .crumb { font-weight: 600; color: var(--text-600); font-size: 13px; }
.topbar .spacer { flex: 1; }
.topbar-accent { height: 3px; background: linear-gradient(90deg, var(--brand-orange), var(--brand-red) 55%, var(--brand-blue)); }
.icon-btn {
  width: 38px; height: 38px; border-radius: 9px; border: 1px solid var(--border);
  background: var(--surface); color: var(--text-600); display: inline-flex;
  align-items: center; justify-content: center; cursor: pointer; position: relative;
}
.icon-btn:hover { background: var(--surface-2); color: var(--text); }
.badge-dot { position: absolute; top: -4px; right: -4px; background: var(--accent); color: #fff;
  font-size: 10px; font-weight: 700; min-width: 17px; height: 17px; border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; }
.user-chip { display: flex; align-items: center; gap: 10px; }
.user-chip-link { padding: 4px 6px; border-radius: 10px; color: inherit; text-decoration: none; }
.user-chip-link:hover { background: var(--surface-2); color: inherit; }
.user-chip-link:focus-visible { outline: 3px solid rgba(0,59,112,.2); outline-offset: 2px; }
.avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--primary); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
.user-chip .u-name { font-weight: 600; font-size: 13px; line-height: 1.1; }
.user-chip .u-role { font-size: 11.5px; color: var(--text-400); }

/* Signed-in user's read-only HR profile */
.my-profile-page { --profile-blue:#003b70; --profile-red:#a80f17; --profile-orange:#f39200; --profile-green:#24785b; --profile-border:#e2e7ec; }
.my-profile-page-head { align-items:flex-end; padding-bottom:0; border-bottom:0; }
.my-profile-page-head .page-kicker { color:var(--profile-red); }
.my-profile-page-head h1 { margin-top:7px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3vw,36px); font-weight:500; }
.my-profile-page-head p { max-width:760px; font-size:13px; line-height:1.65; }
.my-profile-hero { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(260px,360px); align-items:center; gap:20px; margin-bottom:18px; padding:24px; border:1px solid var(--profile-border); border-radius:16px; background:linear-gradient(135deg,#fff 0%,#f7f9fb 68%,#edf3f8 100%); box-shadow:0 5px 18px rgba(20,30,45,.05); }
.my-profile-avatar { width:78px; height:78px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,var(--profile-blue),#185d95); color:#fff; box-shadow:0 8px 20px rgba(0,59,112,.2); font-size:25px; font-weight:800; }
.my-profile-eyebrow { color:var(--profile-red); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.my-profile-identity h2 { margin:5px 0 3px; color:#171b20; font-size:23px; }
.my-profile-identity > p { margin:0; color:var(--text-600); font-size:13px; }
.my-profile-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.my-profile-college-summary { min-height:100px; display:flex; flex-direction:column; justify-content:center; padding:17px 19px; border-left:3px solid var(--profile-orange); border-radius:10px; background:#fff; box-shadow:0 3px 12px rgba(20,30,45,.04); }
.my-profile-college-summary > span { color:var(--text-400); font-size:9.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.my-profile-college-summary strong { margin-top:7px; color:#1d2731; font-size:14px; line-height:1.45; }
.my-profile-college-summary small { margin-top:4px; color:var(--profile-blue); font-weight:800; }
.my-profile-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.my-profile-card { border-color:var(--profile-border); box-shadow:0 3px 14px rgba(20,30,45,.04); }
.my-profile-card .card-pad { height:100%; padding:20px; }
.my-profile-card-title { display:flex; align-items:center; gap:12px; margin-bottom:17px; padding-bottom:14px; border-bottom:1px solid #edf0f3; }
.my-profile-card-title > div > span { display:block; margin-bottom:2px; color:var(--text-400); font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.my-profile-card-title h2 { margin:0; color:#20262e; font-size:14px; }
.my-profile-card-icon { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:#eaf2f8; color:var(--profile-blue); }
.my-profile-card-icon.is-red { background:#fcedef; color:var(--profile-red); }
.my-profile-card-icon.is-orange { background:#fff3df; color:#a05c00; }
.my-profile-card-icon.is-green { background:#e9f6f0; color:var(--profile-green); }
.my-profile-card-icon svg { width:18px; height:18px; }
.my-profile-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin:0; }
.my-profile-details > div { min-width:0; padding:10px 0; border-bottom:1px solid #f0f2f4; }
.my-profile-details > div:nth-last-child(-n+2) { border-bottom:0; }
.my-profile-details dt { margin-bottom:4px; color:var(--text-400); font-size:9.5px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.my-profile-details dd { margin:0; color:#252b33; font-size:12px; font-weight:650; line-height:1.5; }
.my-profile-detail-wide { grid-column:1/-1; }
.my-profile-empty { color:var(--text-400); font-weight:500; }
.my-profile-yes { color:var(--profile-green); font-weight:800; }
.my-profile-break { overflow-wrap:anywhere; }
.my-profile-link-warning,.my-profile-source-note { margin-top:17px; }
.my-profile-source-note { font-size:12px; line-height:1.6; }

@media (max-width:900px) {
  .my-profile-hero { grid-template-columns:auto minmax(0,1fr); }
  .my-profile-college-summary { grid-column:1/-1; min-height:0; }
}
@media (max-width:700px) {
  .my-profile-card-grid { grid-template-columns:1fr; }
  .my-profile-hero { grid-template-columns:1fr; justify-items:start; padding:20px; }
  .my-profile-avatar { width:66px; height:66px; font-size:21px; }
  .my-profile-college-summary { width:100%; }
}
@media (max-width:440px) {
  .my-profile-details { grid-template-columns:1fr; }
  .my-profile-details > div:nth-last-child(-n+2) { border-bottom:1px solid #f0f2f4; }
  .my-profile-details > div:last-child { border-bottom:0; }
}

.content { padding: 30px clamp(20px, 3vw, 42px) 72px; max-width: var(--content-max); width: 100%; margin: 0 auto; }

/* ---------------------------------------------------- page header */
.page-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.page-head .ph-text { flex: 1; min-width: 240px; }
.page-head h1 { font-size: clamp(24px, 2vw, 30px); line-height: 1.2; margin-bottom: 6px; letter-spacing: -.025em; }
.page-head p { color: var(--text-600); margin: 0; }
.page-head .ph-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ---------------------------------------------------- buttons */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 9px;
  border: 1px solid var(--border); background: var(--surface); color: var(--text); font-weight: 600;
  font-size: 13.5px; cursor: pointer; font-family: var(--font); }
.btn:hover { background: var(--surface-2); text-decoration: none; }
.btn svg { width: 17px; height: 17px; }
.btn-primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-600); }
.btn-accent { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn-accent:hover { filter: brightness(.94); }
.btn-ghost { background: transparent; }
.btn-danger { color: var(--danger); border-color: #eccdd3; }
.btn-sm { padding: 6px 11px; font-size: 12.5px; }
.btn[disabled] { opacity: .55; cursor: not-allowed; }

/* ---------------------------------------------------- cards */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow); }
.card-pad { padding: 20px 22px; }
.card + .card { margin-top: 18px; }
.card-title { font-size: 15px; font-weight: 700; margin-bottom: 14px; display:flex; align-items:center; gap:8px; }

.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px){ .grid-2,.grid-3,.grid-4 { grid-template-columns: 1fr; } }

/* stat tiles */
.stat { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 18px 20px; box-shadow: var(--shadow); }
.stat .s-label { color: var(--text-600); font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing:.04em; }
.stat .s-value { font-family: var(--font-display); font-size: 30px; font-weight: 700; margin-top: 6px; }
.stat .s-foot { font-size: 12.5px; color: var(--text-400); margin-top: 4px; }
.stat.accent { border-top: 3px solid var(--brand-orange); }

/* ---------------------------------------------------- tables */
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
table.data { width: 100%; border-collapse: collapse; font-size: 13.5px; }
table.data th { text-align: left; padding: 12px 16px; background: var(--surface-2); color: var(--text-600);
  font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid var(--border); white-space: nowrap; }
table.data td { padding: 12px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; }
table.data tr:last-child td { border-bottom: none; }
table.data tr:hover td { background: #fafbfe; }

/* badges / status pills */
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 20px;
  font-size: 12px; font-weight: 600; background: var(--surface-2); color: var(--text-600); }
.pill::before { content:''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pill-draft { color: var(--text-600); }
.pill-submitted, .pill-in_review, .pill-recommended { color: var(--brand-blue); background: #e8eefb; }
.pill-approved, .pill-awarded, .pill-conferred, .pill-letter_issued { color: var(--success); background: #e6f4ec; }
.pill-rejected, .pill-disqualified { color: var(--danger); background: #fbe9ec; }
.pill-referred_back, .pill-withdrawn { color: var(--warning); background: #fdf3e2; }
.pill-open { color: var(--success); background: #e6f4ec; }
.pill-closed { color: var(--text-600); }

/* ---------------------------------------------------- forms */
.form-row { margin-bottom: 16px; }
.form-row label, .field-label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 13px; }
.hint { color: var(--text-400); font-weight: 400; font-size: 12px; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date],
input[type=datetime-local], input[type=time], input[type=month], input[type=week],
input[type=url], input[type=tel], input[type=search], select, textarea {
  width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px;
  font-family: var(--font); font-size: 14px; line-height: 1.3; background: var(--surface); color: var(--text);
  height: 42px; box-sizing: border-box; -webkit-appearance: none; appearance: none;
}
textarea { height: auto; }
select { -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6473' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; }
/* date/time pickers keep their native calendar/clock control visible */
input[type=date], input[type=datetime-local], input[type=time], input[type=month], input[type=week] {
  -webkit-appearance: none; appearance: none; }
input[type=date]::-webkit-calendar-picker-indicator,
input[type=datetime-local]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-calendar-picker-indicator { opacity: .55; cursor: pointer; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(22,51,122,.12); }
textarea { min-height: 96px; resize: vertical; }
.field-error { color: var(--danger); font-size: 12.5px; margin-top: 5px; }
.readonly-field { background: var(--surface-2); color: var(--text-600); }
fieldset { border: 1px solid var(--border); border-radius: var(--radius); padding: 16px 18px; margin: 0 0 18px; }
fieldset legend { font-weight: 700; padding: 0 8px; font-size: 13.5px; color: var(--primary); }

.section-title { font-family: var(--font-display); font-size: 16px; font-weight: 700; margin: 26px 0 12px;
  padding-bottom: 8px; border-bottom: 2px solid var(--surface-2); }

/* ---------------------------------------------------- flash / banners */
.flash-banner { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 10px;
  margin-bottom: 18px; font-weight: 500; font-size: 13.5px; }
.flash-banner svg { width: 19px; height: 19px; flex: 0 0 19px; }
.flash-success { background: #e6f4ec; color: #14663a; }
.flash-warning { background: #fdf3e2; color: #8a5b12; }
.flash-danger  { background: #fbe9ec; color: #8f1023; }

.callout { border-left: 4px solid var(--brand-orange); background: #fff8ee; padding: 12px 16px;
  border-radius: 8px; font-size: 13px; color: #7a5410; margin: 14px 0; }
.callout.danger { border-color: var(--danger); background: #fdedf0; color: #8f1023; }
.callout.info   { border-color: var(--brand-blue); background: #eef3fc; color: #1a3670; }
.callout.success { border-color: #2b7a5a; background: #edf8f3; color: #1f6248; }
.callout.warning { border-color: var(--brand-orange); background: #fff8ee; color: #70501d; }

/* ---------------------------------------------------- placeholder / empty */
.placeholder-block { text-align: center; padding: 60px 20px; color: var(--text-600); }
.placeholder-block .ph-icon { width: 64px; height: 64px; border-radius: 16px; background: var(--surface-2);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.placeholder-block .ph-icon svg { width: 30px; height: 30px; color: var(--text-400); }
.placeholder-block h3 { font-size: 18px; }
.empty { text-align: center; padding: 40px; color: var(--text-400); }

/* ---------------------------------------------------- wizard / steps */
.steps { display: flex; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }
.step { display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 20px;
  background: var(--surface); border: 1px solid var(--border); font-size: 12.5px; font-weight: 600; color: var(--text-400); }
.step .num { width: 20px; height: 20px; border-radius: 50%; background: var(--surface-2); color: var(--text-600);
  display: inline-flex; align-items: center; justify-content: center; font-size: 11px; }
.step.active { border-color: var(--primary); color: var(--primary); }
.step.active .num { background: var(--primary); color: #fff; }
.step.done .num { background: var(--success); color: #fff; }

/* choice cards */
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 700px){ .choice-grid { grid-template-columns: 1fr; } }
.choice { border: 1.5px solid var(--border); border-radius: var(--radius-lg); padding: 18px; cursor: pointer;
  background: var(--surface); transition: border-color .15s, box-shadow .15s; display: block; }
.choice:hover { border-color: var(--primary); text-decoration: none; }
.choice h4 { margin: 0 0 4px; }
.choice p { color: var(--text-600); margin: 0; font-size: 13px; }
.cat-card { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px 18px; background: var(--surface); box-shadow: var(--shadow); }
.cat-card .tier-tag { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing:.04em; color: var(--brand-orange); }

.tag { display:inline-block; padding: 2px 9px; border-radius: 6px; font-size: 11.5px; font-weight: 600;
  background: var(--surface-2); color: var(--text-600); }
.tag-research { background:#e8eefb; color:#1a3670; }
.tag-innovation { background:#fdf3e2; color:#8a5b12; }
.tag-other { background:#f0eef8; color:#4a3d7a; }

.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}
.mb-0{margin-bottom:0}.text-muted{color:var(--text-600)}.text-success{color:#237558}.text-right{text-align:right}
.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}
.gap{gap:10px}.wrap{flex-wrap:wrap}

/* ---------------------------------------------------- responsive sidebar */
.hamburger { display: none; }
@media (max-width: 900px) {
  .sidebar { position: fixed; z-index: 60; transform: translateX(-100%); transition: transform .2s; }
  .app-shell.nav-open .sidebar { transform: translateX(0); }
  .hamburger { display: inline-flex; }
  .content { padding: 18px 16px 48px; }
}

/* ============================================================
   Visual overhaul — hero, tabs, award cards, richer polish
   ============================================================ */

body { background:
   radial-gradient(1200px 400px at 100% -5%, rgba(22,51,122,.05), transparent 60%),
   radial-gradient(900px 400px at -10% 110%, rgba(243,146,0,.05), transparent 60%),
   var(--bg); }

.nav-item.active { position: relative; }

.topbar { box-shadow: 0 1px 0 var(--border); }

/* dashboard hero */
.hero { position: relative; overflow: hidden; border-radius: 18px; padding: 30px 32px; margin-bottom: 24px;
  background: linear-gradient(120deg, #0f1a3c 0%, #16337a 55%, #1c2a63 100%); color: #fff;
  box-shadow: 0 18px 40px rgba(15,26,60,.28); }
.hero::after { content:''; position:absolute; right:-60px; top:-40px; width:340px; height:340px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(243,146,0,.55), rgba(179,18,43,.25) 55%, transparent 70%); opacity:.9; }
.hero-strip { position:absolute; left:0; right:0; bottom:0; height:5px;
  background: linear-gradient(90deg, var(--brand-orange), var(--brand-red) 55%, var(--brand-blue)); }
.hero h1 { color:#fff; font-size: 25px; margin-bottom: 6px; position: relative; z-index:1; }
.hero p { color: rgba(255,255,255,.82); margin: 0; position: relative; z-index:1; max-width: 640px; }
.hero .hero-actions { margin-top: 18px; display:flex; gap:10px; flex-wrap:wrap; position:relative; z-index:1; }
.hero .btn-primary { background:#fff; color:var(--primary); border-color:#fff; }
.hero .btn-primary:hover { background:#f0f3fb; }
.hero .btn-ghost { background: rgba(255,255,255,.12); color:#fff; border-color: rgba(255,255,255,.28); }
.hero .btn-ghost:hover { background: rgba(255,255,255,.2); }

/* stat tiles v2 */
.stat { position: relative; overflow: hidden; transition: transform .15s, box-shadow .15s; }
.stat:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(15,26,60,.12); }
.stat .s-ico { position:absolute; right:16px; top:16px; width:40px; height:40px; border-radius:11px;
  display:inline-flex; align-items:center; justify-content:center; background: var(--surface-2); color: var(--primary); }
.stat .s-ico svg { width:20px; height:20px; }
.stat.accent { border-top: none; }
.stat.accent::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background: var(--brand-orange); }
.stat.tone-blue .s-ico { background:#e8eefb; color:var(--brand-blue); }
.stat.tone-orange .s-ico { background:#fdf1e0; color:#c9760a; }
.stat.tone-green .s-ico { background:#e6f4ec; color:var(--success); }
.stat.tone-red .s-ico { background:#fbe9ec; color:var(--danger); }

.card { transition: box-shadow .15s; }

/* tabs */
.tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--border); margin-bottom: 22px; flex-wrap: wrap; }
.tab { border: none; background: none; padding: 11px 18px; font-family: var(--font); font-size: 14px; font-weight: 600;
  color: var(--text-600); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; display:flex; align-items:center; gap:8px; }
.tab:hover { color: var(--text); }
.tab.active { color: var(--primary); border-bottom-color: var(--brand-orange); }
.tab-count { background: var(--surface-2); color: var(--text-600); font-size: 11.5px; font-weight: 700; border-radius: 20px; padding: 1px 8px; }
.tab.active .tab-count { background: var(--brand-orange); color: #fff; }
.tab-panel { display: none; animation: fadein .2s ease; }
.tab-panel.active { display: block; }
@keyframes fadein { from { opacity:0; transform: translateY(4px);} to {opacity:1; transform:none;} }

/* tiers + award cards */
.tier-block { margin-bottom: 26px; }
.tier-heading { display:flex; align-items:center; gap:10px; font-family: var(--font-display); font-weight:700; font-size:15px; margin: 0 0 14px; color: var(--text); }
.tier-badge { width:26px; height:26px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:13px; }
.tier-badge.tier-1 { background: linear-gradient(135deg,#b3122b,#8a0e21); }
.tier-badge.tier-2 { background: linear-gradient(135deg,#16337a,#0f1f52); }
.tier-badge.tier-3 { background: linear-gradient(135deg,#c9760a,#f39200); }

.award-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.award-card { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 18px;
  box-shadow: var(--shadow); display:flex; flex-direction:column; gap: 6px; transition: transform .15s, box-shadow .15s, border-color .15s; }
.award-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15,26,60,.12); border-color: #cdd7ea; }
.award-card-top { display:flex; align-items:center; justify-content:space-between; }
.award-code { font-family: var(--font-display); font-weight: 700; font-size: 12px; letter-spacing:.04em; color:#fff;
  background: var(--primary); padding: 3px 9px; border-radius: 6px; }
.award-card h4 { font-size: 15px; margin: 4px 0 2px; line-height: 1.3; }
.award-card p { font-size: 12.5px; color: var(--text-600); margin: 0; flex: 1; }
.award-meta { display:flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; font-size: 12px; color: var(--text-600); font-weight: 600; }
.award-meta span { display:inline-flex; align-items:center; gap: 5px; }
.award-meta svg { width: 14px; height: 14px; color: var(--brand-orange); }
.award-card .btn { margin-top: 10px; align-self: flex-start; }

/* award picker (wizard) */
.pick-tier-label { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing:.05em; color: var(--text-400); margin: 14px 0 8px; }
.award-pick { position: relative; display:flex; flex-direction:column; gap:4px; border: 1.5px solid var(--border);
  border-radius: 12px; padding: 14px 14px 12px; cursor: pointer; background: var(--surface); transition: border-color .15s, box-shadow .15s; }
.award-pick:hover { border-color: var(--primary); }
.award-pick.selected { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(22,51,122,.12); background: #fbfcff; }
.award-pick input { position: absolute; right: 12px; top: 12px; }
.award-pick strong { font-size: 13.5px; line-height: 1.3; padding-right: 22px; }

.choice:has(input:checked) { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(22,51,122,.1); background:#fbfcff; }

.section-title { position: relative; padding-left: 12px; border-bottom: none; }
.section-title::before { content:''; position:absolute; left:0; top:2px; bottom:2px; width:4px; border-radius:3px;
  background: linear-gradient(180deg, var(--brand-orange), var(--brand-red)); }

/* adjudication timeline */
.trail-item { position: relative; padding-left: 22px; }
.trail-item::before { content:''; position:absolute; left:4px; top:6px; width:9px; height:9px; border-radius:50%;
  background: var(--brand-orange); box-shadow: 0 0 0 3px rgba(243,146,0,.18); }
.trail-item::after { content:''; position:absolute; left:8px; top:16px; bottom:-6px; width:2px; background: var(--border); }
.trail-item:last-child::after { display:none; }

/* electronic signature pad */
.sig-pad { margin: 8px 0 4px; }
.sig-canvas-wrap { position: relative; display: inline-block; max-width: 100%; }
.sig-canvas { width: 420px; max-width: 100%; height: 130px; border: 1.5px dashed var(--border);
  border-radius: 10px; background: #fffdf8; cursor: crosshair; touch-action: none; display: block; }
.sig-clear { position: absolute; top: 8px; right: 8px; font-size: 12px; font-weight: 600; color: var(--text-600);
  background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 3px 9px; cursor: pointer; }
.sig-clear:hover { background: var(--surface-2); }
.sig-hint { position: absolute; left: 12px; bottom: 8px; font-size: 11.5px; color: var(--text-400); pointer-events: none; }
.sig-shown { border: 1px solid var(--border); border-radius: 8px; background:#fffdf8; padding: 6px 10px; display:inline-block; }
.sig-shown img { max-height: 60px; display:block; }
.sig-meta { font-size: 12px; color: var(--text-600); }

/* ============================================================
   Modern university interface foundation
   Shared accessibility, responsive and productivity patterns
   ============================================================ */

/* Accessibility and keyboard navigation */
.skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 200; padding: 10px 16px;
  border-radius: var(--radius); background: #fff; color: var(--primary); font-weight: 700;
  box-shadow: var(--shadow-lg); transform: translateY(-160%); transition: transform .16s ease;
}
.skip-link:focus { transform: translateY(0); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--focus); outline-offset: 2px;
}
.content:focus { outline: none; }
.visually-hidden {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important;
}

/* Refined application shell */
.sidebar { box-shadow: 8px 0 28px rgba(8,13,26,.12); z-index: 61; }
.sidebar-brand { padding: 22px 20px 17px; }
.sidebar-brand .logo-chip { padding: 11px 13px; border-radius: 7px; }
.sidebar-brand .app-name { margin-top: 12px; font-size: 12px; letter-spacing: .075em; }
.sidebar-nav { padding: 14px 12px 24px; }
.nav-item, .nav-group-toggle { min-height: 44px; }
.topbar { height: 68px; padding: 0 clamp(16px, 2.5vw, 34px); backdrop-filter: blur(12px); }
.topbar .crumb { color: var(--text); font-size: 13.5px; }
.icon-btn { min-width: 42px; width: 42px; height: 42px; transition: background .15s, color .15s, border-color .15s; }
.user-chip { padding-left: 4px; }
.avatar { width: 38px; height: 38px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.nav-backdrop { display: none; border: 0; padding: 0; }
.menu-toggle { width: auto; padding: 0 12px; gap: 7px; white-space: nowrap; }
.menu-toggle-label { font-size: 12.5px; font-weight: 700; }

@media (min-width: 901px) {
  .hamburger { display: inline-flex; }
  .sidebar { transition: width .22s ease, min-width .22s ease, transform .22s ease; }
  html.sidebar-pref-hidden .sidebar { width: 76px; min-width: 76px; }
  html.sidebar-pref-hidden .sidebar-brand { padding: 15px 10px 13px; }
  html.sidebar-pref-hidden .sidebar-brand .logo-chip { padding: 7px 5px; }
  html.sidebar-pref-hidden .sidebar-brand .app-name,
  html.sidebar-pref-hidden .sidebar-brand .app-subtitle,
  html.sidebar-pref-hidden .nav-label { display: none; }
  html.sidebar-pref-hidden .sidebar-nav { padding: 10px 8px 20px; }
  html.sidebar-pref-hidden .nav-item { justify-content: center; min-height: 46px; padding: 10px; margin: 2px 0; }
  html.sidebar-pref-hidden .nav-item > span { display: none; }
  html.sidebar-pref-hidden .nav-item svg { flex-basis: 20px; color: #b7c0cf; }
  html.sidebar-pref-hidden .nav-item.active svg { color: var(--sidebar-active); }
  html.sidebar-pref-hidden .nav-group { padding-top: 5px; margin-top: 5px; border-top: 1px solid rgba(255,255,255,.08); }
  html.sidebar-pref-hidden .nav-group-toggle { display: none; }
  html.sidebar-pref-hidden .nav-group-children { display: block !important; padding: 0; }
  html.sidebar-pref-hidden .nav-group-children .nav-item { padding: 10px; color: var(--sidebar-fg); }
}

/* Page hierarchy */
.page-head { align-items: center; padding-bottom: 19px; margin-bottom: 24px; border-bottom: 1px solid var(--border); }
.page-head .ph-text { max-width: 820px; }
.page-head p { max-width: 760px; font-size: 14px; }
.page-head .ph-actions { margin-left: auto; align-items: center; }
.page-kicker {
  display: block; margin-bottom: 5px; color: var(--primary); font-size: 11.5px; line-height: 1.2;
  font-weight: 750; letter-spacing: .08em; text-transform: uppercase;
}
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 28px 0 13px; }
.section-heading h2 { margin: 0; font-size: 18px; }
.section-heading p { margin: 3px 0 0; color: var(--text-600); font-size: 13px; }

/* Buttons and compact action groups */
.btn {
  min-height: 42px; justify-content: center; padding: 9px 16px; border-color: var(--border-strong);
  box-shadow: 0 1px 1px rgba(15,26,60,.03); transition: background .15s, border-color .15s, box-shadow .15s, transform .15s;
}
.btn:hover { border-color: #9ca9bb; box-shadow: 0 2px 5px rgba(15,26,60,.07); }
.btn:active { transform: translateY(1px); }
.btn-primary { border-color: var(--primary); box-shadow: 0 3px 8px rgba(22,51,122,.18); }
.btn-accent { box-shadow: 0 3px 8px rgba(179,18,43,.16); }
.btn-sm { min-height: 34px; padding: 6px 11px; }
.btn-icon { width: 42px; padding: 0; }
.action-group { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.text-link { display: inline-flex; align-items: center; min-height: 34px; font-weight: 650; }

/* Cards and content containers */
.card { border-color: #dce2eb; box-shadow: var(--shadow); }
.card-pad { padding: clamp(19px, 2vw, 26px); }
.card-title { font-size: 15.5px; margin-bottom: 16px; }
.card-title svg { color: var(--primary); }
.card-subtitle { color: var(--text-600); margin: -10px 0 18px; font-size: 13px; }
.interactive-card { transition: transform .16s, box-shadow .16s, border-color .16s; }
.interactive-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: #c7d0df; }
.surface-muted { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); }

/* Dashboard and KPI presentation */
.hero { padding: clamp(25px, 3vw, 38px); border-radius: var(--radius-xl); }
.hero h1 { font-size: clamp(27px, 3vw, 36px); letter-spacing: -.035em; }
.hero p { font-size: 14.5px; line-height: 1.6; }
.hero-role { color: #fff; }
.stat { min-height: 142px; padding: 20px 22px; }
.stat:hover { transform: none; box-shadow: var(--shadow); }
.stat.interactive-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.stat .s-label { color: var(--text-600); font-size: 11.5px; letter-spacing: .065em; }
.stat .s-value { font-size: clamp(30px, 3vw, 38px); line-height: 1.15; }
.stat .s-foot { margin-top: 7px; }
.stat .s-foot a { font-weight: 650; }
.call-list { display: grid; gap: 2px; }
.call-list-item { display: flex; align-items: center; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--surface-3); }
.call-list-item:last-child { border-bottom: 0; }
.call-list-item > div:first-child { flex: 1; min-width: 0; }
.meta-line { color: var(--text-600); font-size: 12.5px; margin-top: 3px; }
.cycle-summary { margin-bottom: 22px; }
.cycle-summary .stat { min-height: 120px; }

/* Data tables, toolbars, sorting and pagination */
.table-region { min-width: 0; }
.table-toolbar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px;
  border: 1px solid var(--border); border-bottom: 0; border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: var(--surface);
}
.table-toolbar + .table-wrap { border-top-left-radius: 0; border-top-right-radius: 0; }
.table-search-wrap { position: relative; flex: 1 1 260px; max-width: 430px; }
.table-search-wrap::before {
  content: ''; position: absolute; left: 13px; top: 50%; width: 14px; height: 14px; transform: translateY(-50%);
  border: 2px solid var(--text-400); border-radius: 50%; pointer-events: none;
}
.table-search-wrap::after {
  content: ''; position: absolute; left: 26px; top: 27px; width: 6px; height: 2px;
  background: var(--text-400); transform: rotate(45deg); pointer-events: none;
}
.table-search { padding-left: 39px !important; height: 40px !important; }
.table-filter { width: auto; max-width: 230px; min-height: 40px; height: 40px; padding-block: 7px; }
.table-count { color: var(--text-600); font-size: 12.5px; margin-left: auto; white-space: nowrap; }
.table-pagination {
  display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px;
  padding: 12px 2px 0; color: var(--text-600); font-size: 12.5px;
}
.table-pagination .btn { min-width: 74px; }
.table-no-results { padding: 28px; border: 1px solid var(--border); border-top: 0; border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  background: var(--surface); color: var(--text-600); text-align: center; }
.table-wrap { box-shadow: 0 1px 2px rgba(15,26,60,.03); }
table.data { font-size: 13.5px; }
table.data th { padding: 12px 15px; background: #f4f6f9; color: #465267; font-size: 11.5px; }
table.data td { padding: 13px 15px; }
table.data tbody tr { transition: background .12s; }
table.data tr:hover td { background: #f8fafd; }
table.data code { white-space: nowrap; }
.sort-button {
  display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; background: transparent;
  color: inherit; text-transform: inherit; letter-spacing: inherit; font: inherit; font-weight: inherit; cursor: pointer;
}
.sort-button::after { content: '\2195'; color: var(--text-400); font-size: 12px; }
.sort-button[data-direction='asc']::after { content: '\2191'; color: var(--primary); }
.sort-button[data-direction='desc']::after { content: '\2193'; color: var(--primary); }
.row-actions { white-space: nowrap; }
.detail-table { width: 100%; }
.detail-table th { width: 36%; vertical-align: top; background: #f7f8fb; color: var(--text-600);
  font-size: 12.5px; text-transform: none; letter-spacing: 0; white-space: normal; }
.detail-table td { overflow-wrap: anywhere; }

/* Forms optimized for scanning and entry */
.form-row { margin-bottom: 18px; }
.form-row label, .field-label { margin-bottom: 7px; color: #263247; font-size: 13px; }
.required-mark { color: var(--danger); }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date],
input[type=datetime-local], input[type=time], input[type=month], input[type=week], input[type=url],
input[type=tel], input[type=search], select, textarea {
  min-height: 44px; height: 44px; border-color: var(--border-strong); border-radius: 8px; padding: 10px 13px;
  transition: border-color .14s, box-shadow .14s, background .14s;
}
textarea { min-height: 112px; line-height: 1.55; }
input:hover, select:hover, textarea:hover { border-color: #929fb2; }
input:focus, select:focus, textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(22,51,122,.14); }
input[aria-invalid='true'], select[aria-invalid='true'], textarea[aria-invalid='true'] { border-color: var(--danger); }
input[type=checkbox], input[type=radio] { width: 18px; height: 18px; accent-color: var(--primary); flex: 0 0 18px; }
input[type=file] { max-width: 100%; min-height: 44px; padding: 8px; border: 1px dashed var(--border-strong);
  border-radius: 8px; background: var(--surface); color: var(--text-600); }
input[type=file]::file-selector-button { min-height: 32px; margin-right: 10px; padding: 5px 11px; border: 1px solid var(--border);
  border-radius: 6px; background: var(--surface-2); color: var(--text); font-weight: 650; cursor: pointer; }
.form-help { color: var(--text-600); font-size: 12.5px; margin-top: 6px; }
.form-section { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); padding: clamp(19px, 2vw, 26px); }
.form-section + .form-section { margin-top: 18px; }
.form-section-head { margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.form-section-head h2 { font-size: 17px; margin: 0 0 4px; }
.form-section-head p { color: var(--text-600); font-size: 13px; margin: 0; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.form-progress-text { margin-right: auto; color: var(--text-600); font-size: 12.5px; font-weight: 600; }
.sticky-actions {
  position: sticky; bottom: 12px; z-index: 15; padding: 12px 14px; border: 1px solid var(--border);
  border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-md); backdrop-filter: blur(12px);
}
.check-option {
  display: flex !important; align-items: flex-start; gap: 10px; padding: 10px 12px !important; margin: 0;
  border: 1px solid transparent; border-radius: 8px; font-weight: 500 !important; cursor: pointer;
}
.check-option:hover { background: var(--surface-2); }
.check-option:has(input:checked) { background: #f2f6ff; border-color: #c9d5ef; }
.category-select-all { color: var(--primary); font-size: 14px; font-weight: 700 !important; }
.selection-summary { display: flex; justify-content: flex-end; margin: -30px 0 12px; color: var(--primary); font-size: 12.5px; }
.staff-results { display: grid; gap: 5px; margin-top: 6px; }
.staff-result { display: flex; justify-content: space-between; gap: 12px; width: 100%; padding: 10px 12px;
  border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); text-align: left; cursor: pointer; }
.staff-result:hover, .staff-result:focus-visible { background: #f2f6ff; border-color: var(--primary); }
.staff-result span { color: var(--text-600); font-size: 12.5px; }
.nominee-picker { margin-top: 18px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); }
.form-progress { position: sticky; top: 80px; z-index: 14; padding: 9px; border: 1px solid var(--border);
  border-radius: 12px; background: rgba(243,245,248,.94); backdrop-filter: blur(10px); }
.form-progress .step { color: var(--text-600); }
.form-progress .step:hover { color: var(--primary); text-decoration: none; border-color: #bdc9de; }
.settings-nav { display: flex; gap: 8px; margin-bottom: 18px; overflow-x: auto; }
.settings-nav a { min-height: 40px; display: inline-flex; align-items: center; padding: 8px 14px; border: 1px solid var(--border);
  border-radius: 999px; background: var(--surface); color: var(--text-600); font-weight: 650; white-space: nowrap; }
.settings-nav a:hover { border-color: var(--primary); color: var(--primary); text-decoration: none; }
.settings-toggle { margin-bottom: 18px; border-color: var(--border); background: var(--surface-2); }
.permission-title { justify-content: space-between; }
.permission-title .btn { margin-left: auto; }
.document-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 0;
  border-bottom: 1px solid var(--surface-3); }
.document-item:last-child { border-bottom: 0; }
.document-item > span { min-width: 0; overflow-wrap: anywhere; }
.declaration-option { align-items: flex-start; }
.password-control { position: relative; }
.password-control input { padding-right: 74px; }
.password-toggle { position: absolute; right: 5px; top: 5px; min-height: 34px; border: 0; border-radius: 6px; background: transparent; color: var(--primary); font-weight: 650; cursor: pointer; }
.validation-summary { margin-bottom: 18px; }

/* Status, feedback and empty states */
.pill { min-height: 25px; padding: 3px 10px; font-size: 11.5px; }
.flash-banner { position: relative; padding-right: 44px; border: 1px solid transparent; box-shadow: var(--shadow); }
.flash-success { border-color: #b9dfc9; }
.flash-warning { border-color: #ebd49f; }
.flash-danger { border-color: #eac1c9; }
.flash-close { position: absolute; right: 7px; top: 50%; width: 32px; height: 32px; transform: translateY(-50%);
  border: 0; border-radius: 7px; background: transparent; color: inherit; cursor: pointer; font-size: 22px; }
.flash-close:hover { background: rgba(0,0,0,.06); }
.placeholder-block { max-width: 620px; margin: 0 auto; padding: clamp(42px, 7vw, 72px) 24px; }
.placeholder-block p { margin: 0 auto 18px; max-width: 480px; }
.placeholder-block .ph-icon { background: #edf2fb; color: var(--primary); }

/* Reports and compact analytics */
.metric-list { display: grid; gap: 15px; }
.metric-row-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; font-size: 13px; }
.metric-track { height: 8px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.metric-bar { width: var(--bar-size, 0%); height: 100%; min-width: 2px; border-radius: inherit;
  background: linear-gradient(90deg, var(--brand-blue), #3562ae); }
.metric-bar.tone-orange { background: linear-gradient(90deg, #c9760a, var(--brand-orange)); }
.report-note { display: flex; gap: 10px; align-items: flex-start; padding: 13px 15px; border-radius: var(--radius); background: #eef3fc; color: #24457f; }

/* Notifications */
.notification-list { display: grid; gap: 8px; }
.notification-item { position: relative; display: flex; align-items: flex-start; gap: 14px; padding: 16px;
  border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.notification-item.unread { border-left: 4px solid var(--brand-orange); background: #fffdf8; }
.notification-item.read { opacity: .74; }
.notification-content { flex: 1; min-width: 0; }
.notification-title { font-weight: 700; }
.notification-body { color: var(--text-600); font-size: 13px; margin-top: 3px; }
.notification-meta { color: var(--text-400); font-size: 12px; margin-top: 7px; }
.decision-card { border-top: 4px solid var(--brand-orange); }
.decision-option { max-width: 620px; }
.trail-item { padding: 2px 0 18px 24px; }

/* Accessible tabs */
.tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
.tab { min-height: 44px; white-space: nowrap; }
.tab[aria-selected='true'] { color: var(--primary); border-bottom-color: var(--brand-orange); }
.catalog-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 12px;
  border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.catalog-toolbar .table-search-wrap { max-width: 560px; }
.catalog-toolbar .table-count { margin-left: auto; }
.tier-block.filter-empty { display: none; }
.award-card[hidden] { display: none; }

/* Modal / drawer used for focused administrative editing */
.app-dialog { width: min(560px, calc(100vw - 28px)); max-height: calc(100vh - 32px); padding: 0;
  border: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); color: var(--text); }
.app-dialog::backdrop { background: rgba(8,13,26,.58); backdrop-filter: blur(2px); }
.dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 22px;
  border-bottom: 1px solid var(--border); }
.dialog-head h2 { margin: 0; font-size: 19px; }
.dialog-body { max-height: calc(100vh - 150px); overflow-y: auto; padding: 22px; }
.dialog-close { border: 0; background: transparent; color: var(--text-600); font-size: 25px; line-height: 1; cursor: pointer; }

/* Large in-app document viewer */
.document-preview-dialog {
  width: min(1180px, calc(100vw - 32px));
  height: min(900px, calc(100vh - 32px));
  max-height: calc(100vh - 32px);
  overflow: hidden;
}
.document-preview-dialog[open] { display: flex; flex-direction: column; }
.reviewer-pdf-links { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 170px; }

/* IVC reviewer queue and full-width application assessment */
.ivc-vetting-queue-card .card-pad { padding: 18px; }
.ivc-vetting-queue-table { min-width: 1050px; }
.ivc-vetting-queue-table td { vertical-align: top; }
.ivc-vetting-document-actions { display: flex; flex-wrap: wrap; gap: 7px; min-width: 270px; }
.ivc-vetting-document-actions .btn { white-space: nowrap; }
.ivc-vetting-document-unavailable { align-self: center; font-size: 12px; }
.ivc-vetting-review-page { width: 100%; max-width: none; margin: 0; padding: 0; }
.ivc-vetting-review-head { align-items: flex-end; }
.ivc-vetting-review-head .ph-actions { justify-content: flex-end; }
.ivc-vetting-section { width: 100%; }
.ivc-vetting-section + .ivc-vetting-section { margin-top: 18px; }
.ivc-vetting-section .card-pad { padding: clamp(20px, 2.4vw, 30px); }
.ivc-vetting-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 18px; }
.ivc-vetting-section-head h2 { margin: 4px 0 0; font-size: 19px; }
.ivc-vetting-section-head p { max-width: 900px; margin: 6px 0 0; color: var(--text-600); }
.ivc-vetting-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; }
.ivc-vetting-summary-grid > div { min-width: 0; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; background: #fafbfc; }
.ivc-vetting-summary-grid dt { color: var(--text-600); font-size: 11px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.ivc-vetting-summary-grid dd { margin: 5px 0 0; color: var(--text); font-weight: 650; overflow-wrap: anywhere; }
.ivc-vetting-metrics { margin-top: 16px; }
.ivc-vetting-metric { padding: 15px 17px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); }
.ivc-vetting-metric span { display: block; color: var(--text-600); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.ivc-vetting-metric strong { display: block; margin-top: 6px; color: var(--primary); font-size: 21px; }
.ivc-vetting-response-table th:first-child,
.ivc-vetting-response-table td:first-child { width: 36%; }
.ivc-vetting-response-table td:last-child { white-space: normal; overflow-wrap: anywhere; }
.ivc-vetting-form-heading td { background: #edf3fa; color: var(--primary); }
.ivc-vetting-decision { border-top: 4px solid var(--brand-orange); }
.ivc-vetting-decision-form { width: 100%; max-width: none; }
.ivc-vetting-decision-form textarea { min-height: 150px; resize: vertical; }
.senex-electronic-list { min-width: 1180px; }
.senex-electronic-list td { vertical-align: top; }
.senex-electronic-list td:nth-child(1) { min-width: 180px; }
.senex-electronic-list td:nth-child(2) { min-width: 210px; }
.senex-electronic-list td:nth-child(3) { min-width: 145px; }
.senex-electronic-list td:nth-child(4) { min-width: 170px; }
.senex-electronic-list td:nth-child(5) { min-width: 150px; }
.senex-electronic-list td:nth-child(6) { min-width: 220px; }
.senex-award-value-note { display: block; margin-top: 4px; font-size: .75rem; }

@media (max-width: 900px) {
  .ivc-vetting-review-head { align-items: flex-start; }
  .ivc-vetting-review-head .ph-actions { width: 100%; justify-content: flex-start; }
  .ivc-vetting-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .ivc-vetting-review-head .ph-actions .btn { width: 100%; justify-content: center; }
  .ivc-vetting-summary-grid { grid-template-columns: 1fr; }
  .ivc-vetting-section-head { flex-direction: column; }
  .ivc-vetting-response-table th:first-child,
  .ivc-vetting-response-table td:first-child { width: auto; }
  .ivc-vetting-document-actions { min-width: 0; }
  .ivc-vetting-document-actions .btn { width: 100%; justify-content: center; }
}
.reviewer-pdf-link { white-space: nowrap; }
.document-preview-head { flex: 0 0 auto; align-items: center; padding-block: 16px; }
.document-preview-head .page-kicker { margin-bottom: 4px; }
.document-preview-frame-shell { position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; border-block: 1px solid var(--border); background: #eef1f5; }
.document-preview-frame-shell iframe { display: block; width: 100%; height: 100%; min-height: 480px; border: 0; background: #fff; }
.document-preview-frame-shell iframe.is-loading { visibility: hidden; }
.document-preview-loading { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 11px; color: var(--text-600); background: #f4f6f8; font-size: 13px; font-weight: 700; }
.document-preview-loading[hidden] { display: none; }
.document-preview-spinner { width: 22px; height: 22px; border: 3px solid #d4dae2; border-top-color: var(--primary); border-radius: 50%; animation: document-preview-spin .75s linear infinite; }
.document-preview-actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; padding: 13px 18px; background: var(--surface); }
@keyframes document-preview-spin { to { transform: rotate(360deg); } }

@media (max-width: 700px) {
  .document-preview-dialog { width: calc(100vw - 16px); height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); border-radius: 10px; }
  .document-preview-head { padding: 13px 15px; }
  .document-preview-head h2 { max-width: calc(100vw - 100px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .document-preview-frame-shell iframe { min-height: 360px; }
  .document-preview-actions { padding: 11px 13px; }
  .document-preview-actions .btn { flex: 1 1 auto; justify-content: center; }
}

/* Application confirmation modal */
.app-confirm-dialog { width: min(510px, calc(100vw - 28px)); }
.app-confirm-head { align-items: center; padding: 22px 24px 18px; }
.app-confirm-heading { display: flex; align-items: center; gap: 14px; min-width: 0; }
.app-confirm-heading .page-kicker { margin-bottom: 3px; font-size: 10px; }
.app-confirm-icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9f5f0;
  color: #237558;
}
.app-confirm-icon svg { width: 22px; height: 22px; }
.app-confirm-body { padding: 22px 24px 24px; }
.app-confirm-body > p { margin: 0; color: var(--text-700); font-size: 14px; line-height: 1.65; }
.app-confirm-detail {
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid #eadca8;
  border-left: 3px solid var(--brand-orange);
  border-radius: 8px;
  background: #fffaf0;
  color: #67531f;
  font-size: 12.5px;
  line-height: 1.55;
}
.app-confirm-actions { justify-content: flex-end; margin-top: 23px; }
.app-confirm-accept.is-positive { border-color: #237558; background: #237558; color: #fff; }
.app-confirm-accept.is-positive:hover { border-color: #195e46; background: #195e46; }
.app-confirm-accept.is-danger { border-color: var(--danger); background: var(--danger); color: #fff; }
.app-confirm-accept.is-danger:hover { filter: brightness(.9); }

@media (max-width: 520px) {
  .app-confirm-head { align-items: flex-start; padding: 19px 18px 16px; }
  .app-confirm-icon { flex-basis: 40px; width: 40px; height: 40px; }
  .app-confirm-body { padding: 19px 18px 20px; }
  .app-confirm-actions { display: grid; grid-template-columns: 1fr; }
  .app-confirm-actions .btn { width: 100%; }
  .app-confirm-actions .app-confirm-accept { grid-row: 1; }
}

/* Authentication */
body.auth-body { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 24px;
  background: linear-gradient(135deg, #0b1531 0%, #17244b 58%, #14161c 100%); }
body.auth-body::before { content: ''; position: fixed; inset: 0; pointer-events: none; opacity: .28;
  background: radial-gradient(circle at 82% 15%, rgba(243,146,0,.4), transparent 25%), radial-gradient(circle at 10% 90%, rgba(22,51,122,.8), transparent 33%); }
.auth-card { position: relative; width: min(450px, 100%); min-width: 0; overflow: hidden; border-radius: 16px; background: var(--surface); box-shadow: 0 28px 70px rgba(3,7,18,.38); }
.auth-top { padding: 28px 38px 14px; text-align: center; background: #fff; }
.auth-top img { width: 218px; max-width: 100%; height: auto; }
.auth-accent { height: 4px; background: linear-gradient(90deg, var(--brand-orange), var(--brand-red) 55%, var(--brand-blue)); }
.auth-body-inner { padding: 28px 38px 36px; }
.auth-title { margin-bottom: 5px; font-size: 22px; font-weight: 750; letter-spacing: -.02em; }
.auth-subtitle { margin-bottom: 23px; color: var(--text-600); font-size: 13.5px; }
.auth-body-inner .flash-banner { margin-bottom: 18px; }
.auth-body-inner > form > .btn-primary { width: 100%; }

/* Wide standalone workspace used by external expert reviewers. */
body.auth-body.auth-body-workspace {
  align-items: flex-start;
  padding: clamp(18px, 3vw, 38px);
}
.auth-card.auth-card-workspace {
  width: min(1380px, calc(100vw - 48px));
  max-width: none;
}
.auth-card-workspace .auth-top {
  padding: 18px clamp(24px, 3vw, 42px) 12px;
  text-align: left;
}
.auth-card-workspace .auth-top img { width: 190px; }
.auth-card-workspace .auth-body-inner {
  padding: 30px clamp(24px, 3vw, 46px) 46px;
}
.external-review-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.external-review-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
  padding: 25px 28px;
  border-radius: 14px;
  background: linear-gradient(120deg, #101a37 0%, #16337a 72%, #1d2d62 100%);
  color: #fff;
  box-shadow: 0 12px 30px rgba(15,26,60,.18);
}
.external-review-hero::after {
  content: '';
  position: absolute;
  right: -70px;
  top: -90px;
  width: 270px;
  height: 270px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 40%, rgba(243,146,0,.62), rgba(179,18,43,.28) 48%, transparent 70%);
}
.external-review-kicker,
.external-review-hero h1,
.external-review-hero p,
.external-review-meta { position: relative; z-index: 1; }
.external-review-kicker {
  display: block;
  margin-bottom: 7px;
  color: #f8a11b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .095em;
  text-transform: uppercase;
}
.external-review-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(22px, 2.2vw, 31px);
  line-height: 1.25;
}
.external-review-hero h1 span { color: #c9d5ee; font-size: .65em; font-weight: 600; }
.external-review-hero p {
  max-width: 850px;
  margin: 9px 0 0;
  color: #d7deed;
  line-height: 1.65;
}
.external-review-meta {
  display: inline-flex;
  gap: 5px;
  margin-top: 15px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 7px;
  background: rgba(255,255,255,.08);
  color: #eef2fa;
  font-size: 12px;
}
.external-review-list-page > .card { border-color: #dce2ec; box-shadow: 0 5px 18px rgba(20,30,55,.06); }
.external-review-form {
  display: grid;
  grid-template-columns: minmax(230px, 320px) minmax(0, 1fr);
  gap: 4px 22px;
  align-items: start;
}
.external-review-form .form-row { margin-bottom: 12px; }
.external-review-form textarea { min-height: 104px; resize: vertical; }
.external-review-actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  body.auth-body.auth-body-workspace { padding: 16px; }
  .auth-card.auth-card-workspace { width: calc(100vw - 32px); }
  .auth-card-workspace .auth-body-inner { padding: 24px 22px 34px; }
  .external-review-form { grid-template-columns: 1fr; }
  .external-review-actions { grid-column: 1; }
}

@media (max-width: 560px) {
  body.auth-body.auth-body-workspace { padding: 10px; }
  .auth-card.auth-card-workspace { width: calc(100vw - 20px); border-radius: 12px; }
  .auth-card-workspace .auth-top { padding: 16px 18px 10px; text-align: center; }
  .auth-card-workspace .auth-top img { width: 175px; }
  .auth-card-workspace .auth-body-inner { padding: 20px 15px 28px; }
  .external-review-hero { padding: 21px 18px; }
  .external-review-meta { display: block; }
  .external-review-list-page .flex-between { align-items: flex-start; gap: 12px; }
  .external-review-list-page .flex-between .btn { width: 100%; }
  .external-review-actions .btn { width: 100%; }
}
.guide-content ol, .guide-content ul { line-height: 1.85; padding-left: 24px; }
.guide-content li + li { margin-top: 6px; }
.upload-panel { border-left: 4px solid var(--brand-blue); }
.import-help { margin: -6px 0 16px; }
.import-help summary { color: var(--primary); font-weight: 650; cursor: pointer; }
.import-help p { margin: 10px 0 0; font-size: 12.5px; overflow-wrap: anywhere; }

/* Responsive layouts */
@media (max-width: 1100px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .award-grid { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
}

@media (max-width: 900px) {
  body.nav-active { overflow: hidden; }
  .sidebar { width: min(86vw, 300px); min-width: min(86vw, 300px); box-shadow: var(--shadow-lg); }
  .nav-backdrop { position: fixed; inset: 0; z-index: 55; background: rgba(8,13,26,.55); opacity: 0;
    pointer-events: none; transition: opacity .2s; }
  .app-shell.nav-open .nav-backdrop { display: block; opacity: 1; pointer-events: auto; }
  .content { padding: 22px 18px 58px; }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .sticky-actions { bottom: 8px; }
  .menu-toggle { width: 42px; padding: 0; }
  .menu-toggle-label { display: none; }
}

@media (max-width: 700px) {
  .topbar { height: 62px; gap: 10px; padding: 0 12px; }
  .topbar .crumb { max-width: 34vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .user-chip > div { display: none; }
  .user-chip { padding: 0; }
  .avatar { width: 36px; height: 36px; }
  .page-head { align-items: stretch; margin-bottom: 20px; }
  .page-head .ph-text { min-width: 0; width: 100%; }
  .page-head .ph-actions { width: 100%; margin-left: 0; }
  .page-head .ph-actions > .btn, .page-head .ph-actions > form, .page-head .ph-actions > form .btn { flex: 1 1 auto; }
  .grid-4 { grid-template-columns: 1fr; }
  .hero { border-radius: 14px; }
  .hero-actions .btn { width: 100%; }
  .call-list-item { align-items: flex-start; flex-direction: column; gap: 10px; }
  .call-list-item .btn { width: 100%; }
  .card-pad { padding: 18px 16px; }
  .form-actions { align-items: stretch; flex-direction: column-reverse; }
  .form-actions .btn { width: 100%; }
  .table-toolbar { padding: 10px; }
  .table-search-wrap { max-width: none; flex-basis: 100%; }
  .table-filter { flex: 1 1 170px; max-width: none; }
  .table-count { margin-left: 0; margin-right: auto; }
  .responsive-table { min-width: 0 !important; }
  .responsive-table thead { display: none; }
  .responsive-table, .responsive-table tbody, .responsive-table tr, .responsive-table td { display: block; width: 100%; }
  .responsive-table tbody tr { padding: 10px 12px; border-bottom: 1px solid var(--border); }
  .responsive-table tbody tr:last-child { border-bottom: 0; }
  .responsive-table td { display: grid; grid-template-columns: minmax(108px, 36%) 1fr; gap: 12px;
    padding: 7px 2px; border: 0; text-align: left !important; overflow-wrap: anywhere; }
  .responsive-table td::before { content: attr(data-label); color: var(--text-600); font-size: 11px;
    font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
  .responsive-table td.row-actions { display: flex; justify-content: flex-end; padding-top: 11px; margin-top: 5px;
    border-top: 1px solid var(--surface-3); }
  .responsive-table td.row-actions::before { display: none; }
  .notification-item { flex-direction: column; }
  .form-progress { position: static; flex-wrap: nowrap; overflow-x: auto; }
  .notification-item form, .notification-item form .btn { width: 100%; }
  .dialog-body { padding: 18px 16px; }
  .auth-body-inner { padding: 24px 24px 30px; }
  .auth-top { padding-inline: 24px; }
}

@media (max-width: 430px) {
  body { font-size: 14px; }
  .content { padding-inline: 12px; }
  .topbar .crumb { display: none; }
  .page-head h1 { font-size: 24px; }
  .tabs { margin-left: -12px; margin-right: -12px; padding-left: 8px; }
  .award-grid { grid-template-columns: 1fr; }
  body.auth-body { padding: 12px; }
  .auth-card { width: calc(100vw - 24px); }
  .auth-body-inner { padding: 23px 20px 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important;
    animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .sidebar, .topbar, .topbar-accent, .page-head .ph-actions, .table-toolbar, .table-pagination, .nav-backdrop { display: none !important; }
  body, .content { background: #fff; }
  .content { max-width: none; padding: 0; }
  .card, .table-wrap { box-shadow: none; break-inside: avoid; }
}

/* ============================================================
   Dashboard concept — isolated from the remaining application
   ============================================================ */
.dashboard-page {
  --dashboard-red: #a80f17;
  --dashboard-red-dark: #810a10;
  --dashboard-red-soft: #fcedef;
  --dashboard-orange: #f39200;
  --dashboard-orange-dark: #a65f00;
  --dashboard-orange-soft: #fff3df;
  --dashboard-blue: #003b70;
  --dashboard-blue-dark: #00294f;
  --dashboard-blue-soft: #eaf2f8;
  --dashboard-green: #24785b;
  --dashboard-green-soft: #e9f6f0;
  --dashboard-purple: #6650a4;
  --dashboard-border: #e3e6ea;
  --dashboard-muted: #657080;
  --dashboard-strong: #11151b;
  --dashboard-shadow: 0 3px 12px rgba(20,25,35,.05);
  --dashboard-shadow-raised: 0 10px 32px rgba(20,25,35,.075);
}

.dashboard-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 235px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 310px);
  align-items: center;
  gap: 30px;
  padding: 34px 36px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 89% 18%, rgba(243,146,0,.2), transparent 25%),
    radial-gradient(circle at 73% 100%, rgba(168,15,23,.16), transparent 32%),
    linear-gradient(120deg, #171a21 0%, #222932 58%, #233c52 100%);
  color: #fff;
  box-shadow: 0 15px 40px rgba(17,21,27,.13);
}
.dashboard-hero::before,
.dashboard-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}
.dashboard-hero::before { width: 320px; height: 320px; right: -110px; bottom: -175px; }
.dashboard-hero::after { width: 190px; height: 190px; right: 50px; top: -105px; opacity: .7; }
.dashboard-hero-content { min-width: 0; }
.dashboard-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffc05a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dashboard-hero-kicker::before { content: ''; width: 22px; height: 2px; border-radius: 999px; background: var(--dashboard-orange); }
.dashboard-hero h1 {
  margin: 13px 0 10px;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 3.3vw, 44px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.dashboard-hero p { max-width: 720px; margin: 0; color: #d0d6de; font-size: 14px; line-height: 1.65; }
.dashboard-hero-role { color: #fff; }
.dashboard-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.dashboard-hero .btn { min-height: 40px; border-radius: 9px; }
.dashboard-hero .btn-primary {
  border-color: var(--dashboard-red);
  background: linear-gradient(135deg, var(--dashboard-red), #bd1720);
  color: #fff;
  box-shadow: 0 7px 18px rgba(168,15,23,.3);
}
.dashboard-hero .btn-primary:hover { border-color: var(--dashboard-red-dark); background: var(--dashboard-red-dark); }
.dashboard-hero .btn-ghost { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; }
.dashboard-hero .btn-ghost:hover { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.14); }

.dashboard-featured-call {
  align-self: center;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(255,255,255,.075);
  backdrop-filter: blur(8px);
}
.dashboard-featured-label { color: #b8c1cd; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-featured-title { margin-top: 8px; color: #fff; font-size: 15px; font-weight: 750; line-height: 1.4; }
.dashboard-featured-date { display: flex; align-items: flex-start; gap: 8px; margin-top: 13px; color: #dbe0e7; font-size: 12px; line-height: 1.45; }
.dashboard-featured-date svg { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px; color: var(--dashboard-orange); }
.dashboard-featured-status { display: inline-flex; margin-top: 13px; padding: 5px 10px; border-radius: 999px; background: rgba(243,146,0,.2); color: #ffd086; font-size: 11px; font-weight: 800; }
.dashboard-featured-empty { margin-top: 8px !important; color: #c8d0da !important; font-size: 12px !important; }

.dashboard-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 21px;
}
.dashboard-stat {
  position: relative;
  overflow: hidden;
  min-height: 142px;
  padding: 19px 20px;
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--dashboard-shadow);
}
.dashboard-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--dashboard-tone); }
.dashboard-stat-blue { --dashboard-tone: var(--dashboard-blue); --dashboard-tone-soft: var(--dashboard-blue-soft); }
.dashboard-stat-orange { --dashboard-tone: var(--dashboard-orange); --dashboard-tone-soft: var(--dashboard-orange-soft); }
.dashboard-stat-red { --dashboard-tone: var(--dashboard-red); --dashboard-tone-soft: var(--dashboard-red-soft); }
.dashboard-stat-green { --dashboard-tone: var(--dashboard-green); --dashboard-tone-soft: var(--dashboard-green-soft); }
.dashboard-stat-interactive { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.dashboard-stat-interactive:hover { transform: translateY(-3px); border-color: #cbd3dd; box-shadow: var(--dashboard-shadow-raised); }
.dashboard-stat-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dashboard-stat-label { color: var(--dashboard-muted); font-size: 12px; font-weight: 700; }
.dashboard-stat-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 10px; background: var(--dashboard-tone-soft); color: var(--dashboard-tone); }
.dashboard-stat-icon svg { width: 18px; height: 18px; }
.dashboard-stat-value { margin-top: 10px; color: var(--dashboard-strong); font-size: clamp(30px, 3vw, 38px); font-weight: 780; line-height: 1.05; letter-spacing: -.04em; }
.dashboard-stat-foot { margin-top: 7px; color: var(--dashboard-muted); font-size: 12px; line-height: 1.45; }
.dashboard-stat-foot a { color: var(--dashboard-blue); font-weight: 700; }

.dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .72fr);
  align-items: start;
  gap: 20px;
  margin-top: 21px;
}
.dashboard-stack { display: grid; align-content: start; gap: 20px; min-width: 0; }
.dashboard-card {
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--dashboard-shadow);
}
.dashboard-card-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--dashboard-border); }
.dashboard-card-title-wrap { display: flex; align-items: center; gap: 11px; min-width: 0; }
.dashboard-card-icon { flex: 0 0 35px; width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; background: var(--dashboard-blue-soft); color: var(--dashboard-blue); }
.dashboard-card-icon-red { background: var(--dashboard-red-soft); color: var(--dashboard-red); }
.dashboard-card-icon svg { width: 17px; height: 17px; }
.dashboard-card-title { margin: 0; color: var(--dashboard-strong); font-size: 15px; font-weight: 760; line-height: 1.3; }
.dashboard-card-subtitle { margin: 3px 0 0; color: var(--dashboard-muted); font-size: 12px; line-height: 1.4; }
.dashboard-card-link { flex: 0 0 auto; color: var(--dashboard-blue); font-size: 12px; font-weight: 700; }

.dashboard-call-list { padding: 4px 20px 10px; }
.dashboard-call-item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--dashboard-border); }
.dashboard-call-item:last-child { border-bottom: 0; }
.dashboard-call-date { width: 54px; height: 57px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 11px; background: var(--dashboard-orange-soft); color: #7c4800; text-decoration: none; }
.dashboard-call-date strong { font-size: 19px; line-height: 1; }
.dashboard-call-date span { margin-top: 3px; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.dashboard-call-content { min-width: 0; }
.dashboard-call-name { margin: 0; color: var(--dashboard-strong); font-size: 14px; font-weight: 720; line-height: 1.4; }
.dashboard-call-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 5px; color: var(--dashboard-muted); font-size: 12px; }
.dashboard-call-meta span { display: inline-flex; align-items: center; gap: 5px; }
.dashboard-call-meta svg { width: 13px; height: 13px; }
.dashboard-call-item .btn-primary { border-color: var(--dashboard-red); background: var(--dashboard-red); color: #fff; }
.dashboard-call-item .btn-primary:hover { border-color: var(--dashboard-red-dark); background: var(--dashboard-red-dark); }

.dashboard-application-list { padding: 5px 20px 11px; }
.dashboard-application-item { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--dashboard-border); }
.dashboard-application-item:last-child { border-bottom: 0; }
.dashboard-application-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: #f1f4f7; color: #596575; }
.dashboard-application-icon svg { width: 18px; height: 18px; }
.dashboard-application-content { min-width: 0; }
.dashboard-application-title { margin: 0; color: var(--dashboard-strong); font-size: 13.5px; font-weight: 720; line-height: 1.35; }
.dashboard-application-meta { margin-top: 4px; color: var(--dashboard-muted); font-size: 11.5px; line-height: 1.5; }
.dashboard-application-meta code { color: var(--dashboard-blue); font-size: 11px; }
.dashboard-application-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }

.dashboard-empty-state { padding: 34px 20px; text-align: center; }
.dashboard-empty-state-compact { padding-block: 25px; }
.dashboard-empty-icon { width: 51px; height: 51px; margin: 0 auto 13px; display: grid; place-items: center; border-radius: 14px; background: var(--dashboard-blue-soft); color: var(--dashboard-blue); }
.dashboard-empty-icon svg { width: 23px; height: 23px; }
.dashboard-empty-state strong { display: block; color: var(--dashboard-strong); font-size: 14px; }
.dashboard-empty-state p { max-width: 360px; margin: 7px auto 15px; color: var(--dashboard-muted); font-size: 12.5px; line-height: 1.55; }

.dashboard-review-card { background: linear-gradient(145deg, #fff 0%, #fff 62%, #f9f2f2 100%); }
.dashboard-review-body { padding: 20px; }
.dashboard-review-number { color: var(--dashboard-red); font-size: 38px; font-weight: 800; line-height: 1; letter-spacing: -.04em; }
.dashboard-review-label { margin-top: 5px; color: var(--dashboard-muted); font-size: 12.5px; }
.dashboard-review-progress-head { display: flex; justify-content: space-between; gap: 12px; margin-top: 17px; color: var(--dashboard-muted); font-size: 11.5px; }
.dashboard-review-track { height: 7px; overflow: hidden; margin-top: 7px; border-radius: 999px; background: #edf0f3; }
.dashboard-review-progress { width: var(--dashboard-progress, 0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--dashboard-red), var(--dashboard-orange)); }
.dashboard-review-action { width: 100%; margin-top: 17px; border-color: var(--dashboard-red); background: var(--dashboard-red); color: #fff; }
.dashboard-review-action:hover { border-color: var(--dashboard-red-dark); background: var(--dashboard-red-dark); }

.dashboard-status-body { padding: 18px 20px; }
.dashboard-status-row { --dashboard-status-color: var(--dashboard-blue); margin-bottom: 15px; }
.dashboard-status-row:last-child { margin-bottom: 0; }
.dashboard-status-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; color: #505a67; font-size: 12px; }
.dashboard-status-head span { font-weight: 650; }
.dashboard-status-head strong { color: var(--dashboard-strong); }
.dashboard-status-track { height: 7px; overflow: hidden; border-radius: 999px; background: #eff1f4; }
.dashboard-status-fill { width: var(--dashboard-status-width, 0%); min-width: 3px; height: 100%; border-radius: inherit; background: var(--dashboard-status-color); }
.dashboard-status-draft { --dashboard-status-color: #a76b08; }
.dashboard-status-submitted { --dashboard-status-color: var(--dashboard-blue); }
.dashboard-status-in_review { --dashboard-status-color: var(--dashboard-purple); }
.dashboard-status-referred_back { --dashboard-status-color: var(--dashboard-orange-dark); }
.dashboard-status-recommended,
.dashboard-status-approved { --dashboard-status-color: var(--dashboard-green); }
.dashboard-status-awarded { --dashboard-status-color: var(--dashboard-red); }
.dashboard-status-rejected,
.dashboard-status-disqualified { --dashboard-status-color: #b33b42; }
.dashboard-status-withdrawn { --dashboard-status-color: #7a8492; }

.dashboard-quick-links { padding: 8px 20px 13px; }
.dashboard-quick-link { display: flex; align-items: center; gap: 11px; min-height: 50px; padding: 9px 0; border-bottom: 1px solid var(--dashboard-border); color: var(--text); font-size: 12.5px; font-weight: 650; }
.dashboard-quick-link:last-child { border-bottom: 0; }
.dashboard-quick-link:hover { color: var(--dashboard-red); text-decoration: none; }
.dashboard-quick-icon { flex: 0 0 33px; width: 33px; height: 33px; display: grid; place-items: center; border-radius: 8px; background: #f4f6f8; color: #5f6975; }
.dashboard-quick-icon svg { width: 16px; height: 16px; }
.dashboard-quick-link > span:nth-child(2) { flex: 1; }
.dashboard-quick-arrow { width: 16px; height: 16px; color: #a4abb4; }

@media (max-width: 1180px) {
  .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-layout { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .dashboard-hero { grid-template-columns: 1fr; }
  .dashboard-featured-call { width: min(440px, 100%); }
}

@media (max-width: 620px) {
  .dashboard-hero { padding: 27px 22px; border-radius: 15px; }
  .dashboard-hero h1 { font-size: 31px; }
  .dashboard-hero-actions .btn { width: 100%; }
  .dashboard-stats { grid-template-columns: 1fr; }
  .dashboard-stat { min-height: 132px; }
  .dashboard-card-header { align-items: flex-start; padding: 16px; }
  .dashboard-card-link { padding-top: 7px; }
  .dashboard-call-list,
  .dashboard-application-list,
  .dashboard-status-body,
  .dashboard-quick-links { padding-inline: 16px; }
  .dashboard-call-item { grid-template-columns: 49px minmax(0, 1fr); align-items: start; }
  .dashboard-call-item .btn { grid-column: 2; justify-self: start; }
  .dashboard-call-date { width: 49px; height: 53px; }
  .dashboard-application-item { grid-template-columns: 40px minmax(0, 1fr); align-items: start; }
  .dashboard-application-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 430px) {
  .dashboard-card-header { flex-direction: column; }
  .dashboard-card-link { padding-top: 0; }
  .dashboard-application-meta span[aria-hidden='true'] { display: none; }
}

@media print {
  .dashboard-hero { color: #000; background: #fff; box-shadow: none; border: 1px solid #bbb; }
  .dashboard-hero h1,
  .dashboard-featured-title,
  .dashboard-hero-role { color: #000; }
  .dashboard-hero p,
  .dashboard-featured-date { color: #333; }
  .dashboard-hero-actions { display: none; }
  .dashboard-card,
  .dashboard-stat { box-shadow: none; break-inside: avoid; }
}

/* ============================================================
   My Applications
   ============================================================ */
.applications-page {
  --applications-blue: #003b70;
  --applications-blue-dark: #00294f;
  --applications-blue-soft: #eaf2f8;
  --applications-red: #a80f17;
  --applications-red-soft: #fcedef;
  --applications-orange: #f39200;
  --applications-orange-dark: #d57700;
  --applications-orange-soft: #fff3df;
  --applications-green: #24785b;
  --applications-green-soft: #e9f6f0;
  --applications-purple: #6650a4;
  --applications-purple-soft: #f0ecfa;
  --applications-amber: #a66808;
  --applications-amber-soft: #fff5e2;
  --applications-muted: #6d7581;
  --applications-border: #e3e6ea;
  --applications-strong: #11151b;
}

.applications-page-head {
  align-items: flex-end;
  padding-bottom: 0;
  border-bottom: 0;
  margin-bottom: 24px;
}
.applications-page-head .page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  color: var(--applications-red);
}
.applications-page-head .page-kicker::before {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--applications-orange);
}
.applications-page-head h1 {
  margin: 8px 0 7px;
  color: var(--applications-strong);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.applications-page-head p { max-width: 720px; font-size: 13px; line-height: 1.6; }
.applications-new-button {
  border-color: var(--applications-red);
  background: linear-gradient(135deg, var(--applications-red), #bc171f);
  box-shadow: 0 6px 17px rgba(168,15,23,.2);
}
.applications-new-button:hover { border-color: #810a10; background: #810a10; }

.applications-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 21px;
}
.applications-summary-card {
  --applications-summary-tone: var(--applications-blue);
  --applications-summary-soft: var(--applications-blue-soft);
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--applications-border);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(20,25,35,.05);
}
.applications-summary-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--applications-summary-tone);
}
.applications-summary-drafts { --applications-summary-tone: var(--applications-amber); --applications-summary-soft: var(--applications-amber-soft); }
.applications-summary-review { --applications-summary-tone: var(--applications-purple); --applications-summary-soft: var(--applications-purple-soft); }
.applications-summary-action { --applications-summary-tone: var(--applications-orange-dark); --applications-summary-soft: var(--applications-orange-soft); }
.applications-summary-awards { --applications-summary-tone: var(--applications-green); --applications-summary-soft: var(--applications-green-soft); }
.applications-summary-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.applications-summary-label { color: var(--applications-muted); font-size: 11.5px; font-weight: 700; }
.applications-summary-icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--applications-summary-soft);
  color: var(--applications-summary-tone);
}
.applications-summary-icon svg { width: 16px; height: 16px; }
.applications-summary-value {
  margin-top: 8px;
  color: var(--applications-strong);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
}
.applications-summary-note { margin-top: 4px; color: var(--applications-muted); font-size: 11px; line-height: 1.4; }

.applications-table-card {
  overflow: hidden;
  border: 1px solid var(--applications-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(20,25,35,.05);
}
.applications-table-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 72px;
  padding: 17px 20px;
  border-bottom: 1px solid var(--applications-border);
}
.applications-table-title-wrap { display: flex; align-items: center; gap: 11px; min-width: 0; }
.applications-table-title-icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--applications-blue-soft);
  color: var(--applications-blue);
}
.applications-table-title-icon svg { width: 17px; height: 17px; }
.applications-table-title { margin: 0; color: var(--applications-strong); font-size: 15px; font-weight: 750; }
.applications-table-subtitle { margin: 3px 0 0; color: var(--applications-muted); font-size: 11.5px; }
.applications-table-head-meta { display: flex; align-items: center; justify-content: flex-end; gap: 11px; }
.applications-toolbar-count { color: var(--applications-muted); font-size: 11.5px; white-space: nowrap; }
.applications-export-button,
.applications-clear-filters {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid var(--applications-border);
  border-radius: 8px;
  background: #fff;
  color: #4f5967;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.applications-export-button svg { width: 14px; height: 14px; }
.applications-export-button:hover,
.applications-clear-filters:hover { border-color: #aeb8c6; color: var(--applications-blue); background: #f7f9fb; }

.applications-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--applications-border);
  background: #fafbfc;
}
.applications-toolbar-left { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.applications-toolbar-meta { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.applications-search-wrap { position: relative; width: min(290px, 32vw); min-width: 235px; }
.applications-search-wrap svg {
  position: absolute;
  z-index: 1;
  left: 11px;
  top: 50%;
  width: 15px;
  height: 15px;
  color: #8993a0;
  transform: translateY(-50%);
  pointer-events: none;
}
.applications-search-input,
.applications-filter-select {
  min-height: 38px;
  height: 38px;
  border-color: var(--applications-border);
  border-radius: 8px;
  background-color: #fff;
  color: var(--text);
  font-size: 12px;
}
.applications-search-input { padding-left: 35px !important; }
.applications-filter-select { width: auto; min-width: 135px; padding-block: 7px; }
.applications-search-input:focus,
.applications-filter-select:focus {
  border-color: var(--applications-blue);
  box-shadow: 0 0 0 3px rgba(0,59,112,.08);
}

.applications-table-wrap { overflow-x: auto; }
table.data.applications-table { width: 100%; min-width: 1000px; border-collapse: collapse; font-size: 12.5px; }
table.data.applications-table th {
  padding: 11px 15px;
  border-bottom: 1px solid var(--applications-border);
  background: #f8f9fb;
  color: #687382;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
table.data.applications-table td { padding: 13px 15px; border-bottom: 1px solid var(--applications-border); }
table.data.applications-table tbody tr:hover td { background: #fbfcfd; }
.applications-sort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.applications-sort::after { content: '\2195'; color: #a1a9b4; font-size: 11px; }
.applications-sort[data-direction='asc']::after { content: '\2191'; color: var(--applications-blue); }
.applications-sort[data-direction='desc']::after { content: '\2193'; color: var(--applications-blue); }

.applications-reference {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--applications-blue);
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.applications-reference-icon {
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: var(--applications-blue-soft);
}
.applications-reference-icon svg { width: 14px; height: 14px; }
.applications-award-name { max-width: 360px; color: var(--applications-strong); font-weight: 650; line-height: 1.4; }
.applications-award-code { margin-top: 4px; color: var(--applications-muted); font-size: 10.5px; }
.applications-category {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}
.applications-category-research { color: var(--applications-blue); background: var(--applications-blue-soft); }
.applications-category-innovation { color: #965600; background: var(--applications-orange-soft); }
.applications-category-other { color: #615778; background: #f0eef6; }
.applications-stage-cell { min-width: 188px; }
.applications-stage-name { color: #414b59; font-size: 11.5px; font-weight: 650; }
.applications-stage-note { margin-top: 4px; color: var(--applications-muted); font-size: 10px; line-height: 1.35; }
.applications-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #596575;
  background: #f0f2f5;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}
.applications-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.applications-status-draft { color: var(--applications-amber); background: var(--applications-amber-soft); }
.applications-status-submitted { color: var(--applications-blue); background: var(--applications-blue-soft); }
.applications-status-in-review { color: var(--applications-purple); background: var(--applications-purple-soft); }
.applications-status-referred-back { color: var(--applications-orange-dark); background: var(--applications-orange-soft); }
.applications-status-recommended,
.applications-status-approved { color: var(--applications-green); background: var(--applications-green-soft); }
.applications-status-awarded { color: var(--applications-red); background: var(--applications-red-soft); }
.applications-status-rejected,
.applications-status-disqualified { color: #a22f3c; background: #fbe9ec; }
.applications-status-withdrawn { color: #687382; background: #eceff3; }
.applications-updated { white-space: nowrap; }
.applications-updated time { display: block; }
.applications-updated-date { display: block; color: #535d6a; font-size: 11px; }
.applications-updated-time { display: block; margin-top: 3px; color: var(--applications-muted); font-size: 10px; }
.applications-row-actions { text-align: right; }
.applications-open-button {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 11px;
  border-radius: 7px;
  background: var(--applications-blue);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
}
.applications-open-button:hover { background: var(--applications-blue-dark); color: #fff; text-decoration: none; }
.applications-open-button svg { width: 13px; height: 13px; }

.applications-no-results,
.applications-empty-state { padding: 44px 20px; text-align: center; }
.applications-empty-state { padding-block: 58px; }
.applications-empty-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin: 0 auto 13px;
  border-radius: 14px;
  background: var(--applications-blue-soft);
  color: var(--applications-blue);
}
.applications-empty-icon svg { width: 23px; height: 23px; }
.applications-no-results strong,
.applications-empty-state strong { display: block; color: var(--applications-strong); font-size: 14px; }
.applications-no-results p,
.applications-empty-state p { max-width: 470px; margin: 7px auto 16px; color: var(--applications-muted); font-size: 12.5px; line-height: 1.55; }
.applications-table-footer {
  min-height: 59px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 13px 20px;
  border-top: 1px solid var(--applications-border);
  background: #fafbfc;
}
.applications-result-count { color: var(--applications-muted); font-size: 11.5px; }
.applications-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.applications-page-button {
  min-width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0 8px;
  border: 1px solid var(--applications-border);
  border-radius: 7px;
  background: #fff;
  color: #505a67;
  font-size: 11px;
  font-weight: 650;
  cursor: pointer;
}
.applications-page-button:hover:not(:disabled) { border-color: #aeb8c6; color: var(--applications-blue); }
.applications-page-button[aria-current='page'] { border-color: var(--applications-blue); background: var(--applications-blue); color: #fff; }
.applications-page-button:disabled { opacity: .45; cursor: not-allowed; }

@media (max-width: 1200px) {
  .applications-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .applications-toolbar { align-items: flex-start; flex-direction: column; }
  .applications-toolbar-meta { width: 100%; justify-content: space-between; }
  .applications-search-wrap { width: min(330px, 42vw); }
}

@media (max-width: 900px) {
  .applications-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .applications-toolbar-left { width: 100%; }
  .applications-search-wrap { width: 100%; min-width: 100%; }
}

@media (max-width: 700px) {
  .applications-page-head { align-items: flex-start; }
  .applications-page-head h1 { font-size: 30px; }
  .applications-table-card-head { align-items: flex-start; }
  .applications-table-head-meta { align-items: flex-end; flex-direction: column; }
  .applications-toolbar { padding: 13px 15px; }
  .applications-filter-select { flex: 1 1 150px; min-width: 145px; }
  .applications-table-wrap { overflow: visible; padding: 12px; background: #f7f8fa; }
  table.data.applications-table.responsive-table tbody tr {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid var(--applications-border);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(20,25,35,.035);
  }
  table.data.applications-table.responsive-table tbody tr:last-child { margin-bottom: 0; }
  table.data.applications-table.responsive-table td { padding: 8px 2px; }
  .applications-award-name { max-width: none; }
  .applications-row-actions { justify-content: flex-end; }
  .applications-open-button { min-width: 94px; }
  .applications-table-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
  .applications-summary-grid { grid-template-columns: 1fr; }
  .applications-summary-card { min-height: 125px; }
  .applications-page-head .ph-actions,
  .applications-new-button { width: 100%; }
  .applications-table-card-head { flex-direction: column; }
  .applications-table-head-meta { width: 100%; align-items: center; flex-direction: row; justify-content: space-between; }
  .applications-toolbar-meta { align-items: flex-start; flex-direction: column-reverse; }
  .applications-table-footer { padding-inline: 15px; }
}

@media (max-width: 430px) {
  .applications-filter-select { flex-basis: 100%; width: 100%; }
  table.data.applications-table.responsive-table td { grid-template-columns: 100px minmax(0, 1fr); gap: 9px; }
}

@media print {
  .applications-page-head .ph-actions,
  .applications-toolbar,
  .applications-export-button,
  .applications-pagination,
  .applications-row-actions { display: none !important; }
  .applications-summary-card,
  .applications-table-card { box-shadow: none; break-inside: avoid; }
  .applications-table-wrap { overflow: visible; }
  table.data.applications-table { min-width: 0; font-size: 9px; }
}

/* ============================================================
   New Application landing page
   ============================================================ */
.new-application-page {
  --new-app-red: #a80f17;
  --new-app-red-dark: #810a10;
  --new-app-red-soft: #fcedef;
  --new-app-orange: #f39200;
  --new-app-blue: #003b70;
  --new-app-blue-soft: #eaf2f8;
  --new-app-muted: #6d7581;
  --new-app-border: #e3e6ea;
  --new-app-strong: #11151b;
}
.new-application-page-head {
  align-items: flex-end;
  padding-bottom: 0;
  margin-bottom: 18px;
  border-bottom: 0;
}
.new-application-page-head .page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  color: var(--new-app-red);
}
.new-application-page-head .page-kicker::before {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--new-app-orange);
}
.new-application-page-head h1 {
  margin: 8px 0 7px;
  color: var(--new-app-strong);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(31px, 3vw, 37px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.new-application-page-head p { max-width: 780px; font-size: 13px; line-height: 1.65; }

.new-application-intro {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid var(--new-app-border);
  border-radius: 13px;
  background: var(--new-app-border);
  box-shadow: 0 3px 12px rgba(20,25,35,.04);
}
.new-application-intro-step { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #fff; }
.new-application-step-number {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--new-app-blue-soft);
  color: var(--new-app-blue);
  font-size: 11px;
  font-weight: 800;
}
.new-application-intro-step strong { display: block; color: #1b2027; font-size: 12px; }
.new-application-intro-step div > span { display: block; margin-top: 3px; color: var(--new-app-muted); font-size: 10.5px; line-height: 1.45; }

.new-application-page .new-application-card {
  overflow: hidden;
  margin: 0 0 16px;
  border-color: var(--new-app-border);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(20,25,35,.045);
}
.new-application-page .new-application-card .card-pad { padding: 22px; }
.new-application-page .section-title {
  position: relative;
  margin: 0 0 7px;
  padding-left: 14px;
  color: #14181f;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.01em;
}
.new-application-page .section-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 4px;
  border-radius: 3px;
  background: var(--new-app-red);
}
.new-application-section-description { margin: 0; color: var(--new-app-muted); font-size: 12px; line-height: 1.55; }

.new-application-choice-grid { gap: 13px; margin-top: 16px; }
.new-application-page .new-application-choice {
  position: relative;
  min-height: 120px;
  display: block;
  padding: 18px 18px 16px 49px;
  border: 1px solid var(--new-app-border);
  border-radius: 12px;
  background: #fbfcfd;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.new-application-page .new-application-choice:hover {
  transform: translateY(-1px);
  border-color: #c7d0da;
  box-shadow: 0 6px 18px rgba(20,25,35,.05);
}
.new-application-page .new-application-choice input[type='radio'] {
  position: absolute;
  left: 18px;
  right: auto;
  top: 20px;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--new-app-red);
}
.new-application-page .new-application-choice.selected,
.new-application-page .new-application-choice:has(input:checked) {
  border-color: #d9a4a8;
  background: var(--new-app-red-soft);
  box-shadow: 0 0 0 2px rgba(168,15,23,.045);
}
.new-application-page .new-application-choice strong { display: block; color: #1c2128; font-size: 14px; font-weight: 800; }
.new-application-page .new-application-choice p { margin: 7px 0 0; color: var(--new-app-muted); font-size: 12px; line-height: 1.6; }

.new-application-page .new-application-nominee-picker {
  margin-top: 17px;
  padding: 18px;
  border: 1px solid #dfe6ed;
  border-radius: 11px;
  background: #f8fafc;
}
.new-application-page .form-row label,
.new-application-page .field-label { color: #384250; font-size: 12.5px; font-weight: 700; }
.new-application-page .hint { color: var(--new-app-muted); font-size: 11.5px; }
.new-application-page input[type='text'],
.new-application-page input[type='search'],
.new-application-page select,
.new-application-page textarea {
  border-color: #dfe4e9;
  border-radius: 9px;
  background-color: #fbfcfd;
  font-size: 13px;
}
.new-application-page textarea { min-height: 105px; resize: vertical; }
.new-application-page input:focus,
.new-application-page select:focus,
.new-application-page textarea:focus {
  border-color: var(--new-app-blue);
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(0,59,112,.08);
}
.new-application-page .staff-results { margin-top: 7px; }
.new-application-page .staff-result { padding: 11px 12px; border-color: var(--new-app-border); background: #fff; font-size: 12px; }
.new-application-page .staff-result span { color: var(--new-app-muted); font-size: 11.5px; }
.new-application-staff-empty { padding: 10px 2px; }
.new-application-staff-chosen { margin-top: 8px; }
.new-application-selected-staff { border-color: #d9e4ef; background: var(--new-app-blue-soft); color: #34506c; }
.new-application-page .sig-canvas-wrap {
  display: block;
  width: min(650px, 100%);
  padding: 9px;
  border: 1px dashed #c8d0d8;
  border-radius: 10px;
  background: #fff;
}
.new-application-page .sig-canvas { width: 100%; max-width: 600px; background: #fff; }
.new-application-page .sig-clear { border: 0; background: var(--new-app-red-soft); color: var(--new-app-red); }
.new-application-page .sig-hint { color: var(--new-app-muted); font-size: 10.5px; }
.new-application-consent-note { margin: 8px 0 0; }
.new-application-cycle-field { max-width: 640px; margin: 15px 0 0; }
.new-application-cycle-field select { background-color: #fff; }
.new-application-cycle-hint { margin-top: 8px; }

.new-application-catalog-toolbar {
  justify-content: space-between;
  margin: 15px 0 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.new-application-award-search { width: min(430px, 100%); max-width: none !important; }
.new-application-award-search .table-search { min-height: 40px; background-color: #fff; }
.new-application-award-count { margin-left: auto; }
.new-application-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin: 0 0 18px;
  padding: 5px;
  border: 1px solid var(--new-app-border);
  border-radius: 10px;
  background: #f7f8fa;
}
.new-application-tabs .tab {
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #596471;
  font-size: 11.5px;
  font-weight: 750;
}
.new-application-tabs .tab.active,
.new-application-tabs .tab[aria-selected='true'] {
  border: 0;
  background: #fff;
  color: var(--new-app-red);
  box-shadow: 0 2px 8px rgba(20,25,35,.07);
}
.new-application-tier + .new-application-tier { margin-top: 18px; }
.new-application-page .pick-tier-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 10px;
  color: #343c47;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}
.new-application-page .pick-tier-label::after { content: ''; height: 1px; flex: 1; background: #e9ecef; }
.new-application-award-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.new-application-page .new-application-award-pick {
  position: relative;
  min-height: 136px;
  padding: 15px 15px 14px 45px;
  border: 1px solid var(--new-app-border);
  border-radius: 11px;
  background: #fff;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.new-application-page .new-application-award-pick:hover {
  transform: translateY(-2px);
  border-color: #c7d1db;
  box-shadow: 0 8px 20px rgba(20,25,35,.06);
}
.new-application-page .new-application-award-pick input[type='radio'] {
  position: absolute;
  left: 16px;
  right: auto;
  top: 17px;
  width: 17px;
  height: 17px;
  accent-color: var(--new-app-red);
}
.new-application-page .new-application-award-pick.selected,
.new-application-page .new-application-award-pick:has(input:checked) {
  border-color: #c68d92;
  background: linear-gradient(180deg, #fff, #fffafa);
  box-shadow: 0 0 0 2px rgba(168,15,23,.045);
}
.new-application-page .award-code {
  align-self: flex-start;
  display: inline-flex;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--new-app-blue-soft);
  color: var(--new-app-blue);
  font-size: 10px;
  font-weight: 800;
}
.new-application-page .award-pick strong { padding-right: 0; color: #1b2027; font-size: 12.5px; line-height: 1.5; font-weight: 750; }
.new-application-page .award-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: auto;
  padding-top: 12px;
  color: var(--new-app-muted);
  font-size: 10.5px;
}
.new-application-page .award-meta span { display: inline-flex; align-items: center; gap: 4px; }
.new-application-page .award-meta svg { width: 12px; height: 12px; color: #d57700; }
.new-application-award-no-results,
.new-application-award-empty {
  padding: 34px 20px;
  border: 1px dashed #ccd4de;
  border-radius: 11px;
  background: #fafbfc;
  color: var(--new-app-muted);
  font-size: 12.5px;
  text-align: center;
}
.new-application-award-empty .ph-icon { margin: 0 auto 12px; }
.new-application-award-empty strong { display: block; color: var(--new-app-strong); }
.new-application-award-empty p { margin: 6px 0 0; }

.new-application-page .new-application-actions {
  position: sticky;
  bottom: 12px;
  z-index: 15;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid var(--new-app-border);
  border-radius: 11px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 26px rgba(20,25,35,.1);
  backdrop-filter: blur(10px);
}
.new-application-page .new-application-continue {
  border-color: var(--new-app-red);
  background: var(--new-app-red);
  color: #fff;
  box-shadow: 0 5px 14px rgba(168,15,23,.18);
}
.new-application-page .new-application-continue:hover { border-color: var(--new-app-red-dark); background: var(--new-app-red-dark); }

@media (max-width: 1100px) {
  .new-application-award-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .new-application-intro { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .new-application-page-head { align-items: flex-start; }
  .new-application-choice-grid,
  .new-application-award-grid { grid-template-columns: 1fr; }
  .new-application-tabs { max-width: 100%; }
  .new-application-catalog-toolbar { align-items: stretch; flex-direction: column; }
  .new-application-award-search { width: 100%; }
  .new-application-award-count { margin-left: 0; }
}

@media (max-width: 600px) {
  .new-application-page-head h1 { font-size: 30px; }
  .new-application-page .new-application-card .card-pad { padding: 18px 16px; }
  .new-application-page .new-application-actions { position: static; align-items: stretch; flex-direction: column; }
  .new-application-page .new-application-actions .btn { width: 100%; }
}

@media (max-width: 430px) {
  .new-application-tabs { margin-inline: 0; padding-left: 5px; }
  .new-application-page .new-application-nominee-picker { padding: 14px; }
}

@media print {
  .new-application-intro,
  .new-application-catalog-toolbar,
  .new-application-tabs,
  .new-application-actions { display: none !important; }
  .new-application-page .new-application-card { box-shadow: none; break-inside: avoid; }
}

/* ============================================================
   Edit Application workspace
   ============================================================ */
.edit-application-page {
  --edit-app-red: #a80f17;
  --edit-app-red-dark: #810a10;
  --edit-app-red-soft: #fcedef;
  --edit-app-orange: #f39200;
  --edit-app-orange-soft: #fff3df;
  --edit-app-blue: #003b70;
  --edit-app-blue-soft: #eaf2f8;
  --edit-app-green: #24785b;
  --edit-app-green-soft: #e9f6f0;
  --edit-app-border: #e3e6ea;
  --edit-app-muted: #6d7581;
  --edit-app-strong: #11151b;
}

.edit-application-page-head {
  align-items: flex-end;
  padding-bottom: 0;
  margin-bottom: 17px;
  border-bottom: 0;
}
.edit-application-page-head .page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  color: var(--edit-app-red);
}
.edit-application-page-head .page-kicker::before {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--edit-app-orange);
}
.edit-application-page-head h1 {
  margin: 8px 0 7px;
  color: var(--edit-app-strong);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(31px, 3vw, 37px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.edit-application-page-head p {
  max-width: 820px;
  margin: 0;
  color: var(--edit-app-muted);
  font-size: 13px;
  line-height: 1.65;
}

.edit-application-award-banner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  overflow: hidden;
  margin-bottom: 16px;
  padding: 22px 24px;
  border-radius: 17px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 24%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21 0%, #222932 58%, #233c52 100%);
  color: #fff;
  box-shadow: 0 12px 34px rgba(17,21,27,.11);
}
.edit-application-award-banner::after {
  content: '';
  position: absolute;
  right: -105px;
  bottom: -160px;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}
.edit-application-award-copy,
.edit-application-award-banner .btn { position: relative; z-index: 1; }
.edit-application-award-eyebrow {
  color: #f7b74b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.edit-application-award-banner h2 {
  margin: 7px 0 11px;
  color: #fff;
  font-size: 20px;
  line-height: 1.35;
}
.edit-application-award-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.edit-application-award-meta span {
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: #d8dee7;
  font-size: 11px;
  font-weight: 650;
}
.edit-application-award-meta strong { color: #fff; }
.edit-application-award-banner .btn-ghost {
  border-color: rgba(255,255,255,.25);
  background: #fff;
  color: #273341;
}
.edit-application-award-banner .btn-ghost:hover { border-color: #fff; background: #f5f7fa; }

.edit-application-page .edit-application-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 16px;
  padding: 9px;
  border: 1px solid var(--edit-app-border);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(20,25,35,.04);
}
.edit-application-page .edit-application-steps .step {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 10px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--edit-app-muted);
  font-size: 12px;
  font-weight: 650;
}
.edit-application-page .edit-application-steps .num {
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 1px solid #e0e4e8;
  border-radius: 50%;
  background: #f0f2f5;
  color: #6e7784;
  font-size: 10px;
  font-weight: 800;
}
.edit-application-page .edit-application-steps .step.done { color: var(--edit-app-green); }
.edit-application-page .edit-application-steps .step.done .num {
  border-color: var(--edit-app-green);
  background: var(--edit-app-green);
  color: #fff;
}
.edit-application-page .edit-application-steps .step.active {
  background: var(--edit-app-red-soft);
  color: var(--edit-app-red);
}
.edit-application-page .edit-application-steps .step.active .num {
  border-color: var(--edit-app-red);
  background: var(--edit-app-red);
  color: #fff;
}

.edit-application-completion {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid var(--edit-app-border);
  border-radius: 11px;
  background: #fff;
}
.edit-application-completion-copy { flex: 0 0 210px; }
.edit-application-completion-copy strong { display: block; color: #222831; font-size: 12px; }
.edit-application-completion-copy span {
  display: block;
  margin-top: 2px;
  color: var(--edit-app-muted);
  font-size: 10.5px;
}
.edit-application-completion-track {
  flex: 1;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf0f3;
}
.edit-application-completion-fill {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--edit-app-red), var(--edit-app-orange));
  transition: width .22s ease;
}
.edit-application-completion-percent {
  flex: 0 0 42px;
  color: var(--edit-app-red);
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}

.edit-application-workspace {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.edit-application-section-menu {
  position: sticky;
  top: 88px;
  padding: 14px;
  border: 1px solid var(--edit-app-border);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(20,25,35,.04);
}
.edit-application-section-menu-title {
  margin-bottom: 9px;
  color: #2e3742;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.edit-application-section-nav { display: flex; flex-direction: column; gap: 4px; }
.edit-application-section-nav a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 9px 10px;
  border-radius: 8px;
  color: #596471;
  font-size: 11.5px;
  font-weight: 700;
}
.edit-application-section-nav a::before {
  content: '';
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cbd2d9;
}
.edit-application-section-nav a:hover,
.edit-application-section-nav a.active,
.edit-application-section-nav a[aria-current='location'] {
  background: var(--edit-app-blue-soft);
  color: var(--edit-app-blue);
  text-decoration: none;
}
.edit-application-section-nav a.active::before,
.edit-application-section-nav a[aria-current='location']::before { background: var(--edit-app-blue); }
.edit-application-section-menu > p {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--edit-app-border);
  color: var(--edit-app-muted);
  font-size: 10.5px;
  line-height: 1.55;
}
.edit-application-workspace-main { min-width: 0; }
.edit-application-callout { margin-top: 0; }

.edit-application-page .edit-application-card {
  overflow: hidden;
  margin: 0 0 16px;
  border-color: var(--edit-app-border);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(20,25,35,.045);
  scroll-margin-top: 88px;
}
.edit-application-page #applicant-particulars { border-top: 3px solid var(--edit-app-blue); }
.edit-application-page #application-details { border-top: 3px solid var(--edit-app-red); }
.edit-application-page #supporting-documents { border-top: 3px solid var(--edit-app-orange); }
.edit-application-page #declaration { border-top: 3px solid var(--edit-app-green); }
.edit-application-page .edit-application-card .card-pad { padding: 22px; }
.edit-application-card-heading { margin-bottom: 17px; }
.edit-application-card-heading .section-title,
.edit-application-page .edit-application-form-section-title {
  position: relative;
  margin: 0 0 5px;
  padding: 0 0 0 14px;
  color: #15191f;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.01em;
}
.edit-application-card-heading .section-title::before,
.edit-application-page .edit-application-form-section-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 4px;
  border-radius: 3px;
  background: var(--edit-app-red);
}
.edit-application-page #applicant-particulars .section-title::before { background: var(--edit-app-blue); }
.edit-application-page #supporting-documents .section-title::before { background: var(--edit-app-orange); }
.edit-application-page #declaration .section-title::before { background: var(--edit-app-green); }
.edit-application-card-heading p { margin: 0; color: var(--edit-app-muted); font-size: 11.5px; line-height: 1.55; }
.edit-application-page .edit-application-form-section-title { margin: 26px 0 15px; }
.edit-application-page .edit-application-form-section-title:first-of-type { margin-top: 0; }
.edit-application-page .edit-application-metrics + .edit-application-form-section-title { margin-top: 24px; }

.edit-application-particulars-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.edit-application-page #applicant-particulars .form-row {
  margin: 0;
  padding: 13px 14px;
  border: 1px solid #e6eaee;
  border-radius: 10px;
  background: #fafbfd;
}
.edit-application-page #applicant-particulars label {
  display: block;
  margin-bottom: 6px;
  color: var(--edit-app-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.edit-application-page #applicant-particulars input { min-height: 38px; height: 38px; }

.edit-application-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 14px;
}
.edit-application-fields .application-field,
.edit-application-fields .application-subsection-title,
.edit-application-fields .application-field-note { grid-column: 1 / -1; }
.edit-application-fields .application-field--compact { grid-column: auto; }
.edit-application-fields .application-subsection-title {
  margin: 23px 0 13px;
  padding: 18px 0 0;
  border-top: 1px solid #edf0f2;
  color: #15191f;
  font-size: 14px;
  font-weight: 800;
}
.edit-application-fields .application-subsection-title:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.edit-application-fields .application-subsection-title::before { display: none; }
.edit-application-fields .application-field-note { margin: 0 0 13px; color: var(--edit-app-muted); font-size: 11.5px; }
.edit-application-page .application-field { margin: 0 0 14px; }
.edit-application-page .application-field > label,
.edit-application-page .field-label {
  margin-bottom: 7px;
  color: #384250;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.edit-application-page .hint { color: var(--edit-app-muted); font-size: 10.5px; font-weight: 500; }
.edit-application-page input[type='text'],
.edit-application-page input[type='email'],
.edit-application-page input[type='number'],
.edit-application-page input[type='date'],
.edit-application-page input[type='tel'],
.edit-application-page select,
.edit-application-page textarea {
  border-color: #dfe4e9;
  border-radius: 9px;
  background: #fbfcfd;
  font-size: 12px;
}
.edit-application-page textarea { min-height: 112px; resize: vertical; }
.edit-application-page input:focus,
.edit-application-page select:focus,
.edit-application-page textarea:focus {
  border-color: var(--edit-app-blue);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0,59,112,.08);
}
.edit-application-page .readonly-field {
  border-color: #e1e6ea;
  background: #f2f5f7;
  color: #53606d;
  font-weight: 650;
}
.application-option-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}
.edit-application-page .application-option {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #e3e7eb;
  border-radius: 9px;
  background: #fafbfd;
  color: #384250;
  font-size: 11.5px;
  font-weight: 550;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.edit-application-page .application-option:has(input:checked) {
  border-color: #a9bdd1;
  background: var(--edit-app-blue-soft);
  color: var(--edit-app-blue);
}
.edit-application-page input[type='checkbox'],
.edit-application-page input[type='radio'] { accent-color: var(--edit-app-red); }

.edit-application-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}
.edit-application-metric {
  padding: 14px;
  border: 1px solid var(--edit-app-border);
  border-radius: 11px;
  background: #fafbfd;
  transition: border-color .2s ease, background .2s ease;
}
.edit-application-metric > span {
  display: block;
  color: var(--edit-app-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.edit-application-metric > strong {
  display: block;
  margin-top: 5px;
  color: #15191f;
  font-size: 22px;
  font-weight: 800;
}
.edit-application-threshold-metric.is-complete { border-color: #cae9dc; background: var(--edit-app-green-soft); }
.edit-application-threshold-metric.is-pending { border-color: #f3ddba; background: var(--edit-app-orange-soft); }
.edit-application-threshold-track {
  height: 6px;
  overflow: hidden;
  margin-top: 8px;
  border-radius: 999px;
  background: #e7eaee;
}
.edit-application-threshold-track > div {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--edit-app-red), var(--edit-app-orange));
  transition: width .22s ease;
}

.edit-application-page .edit-application-save-actions {
  bottom: 12px;
  z-index: 15;
  margin: 14px 0 16px;
  padding: 10px 12px;
  border-color: var(--edit-app-border);
  border-radius: 11px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 26px rgba(20,25,35,.1);
}
.edit-application-page .edit-application-save-actions .btn-primary {
  border-color: var(--edit-app-red);
  background: var(--edit-app-red);
}
.edit-application-page .edit-application-save-actions .btn-primary:hover {
  border-color: var(--edit-app-red-dark);
  background: var(--edit-app-red-dark);
}

.edit-application-page #supporting-documents fieldset {
  margin: 12px 0 0;
  padding: 16px;
  border: 1px solid var(--edit-app-border);
  border-radius: 11px;
  background: #fafbfd;
}
.edit-application-page #supporting-documents legend {
  max-width: calc(100% - 14px);
  padding: 0 7px;
  color: #222831;
  font-size: 12px;
  font-weight: 750;
}
.edit-application-page .document-item { padding: 8px 0 11px; }
.edit-application-document-name { display: flex; align-items: center; gap: 10px; min-width: 0; }
.edit-application-document-name > svg { flex: 0 0 18px; width: 18px; height: 18px; color: var(--edit-app-blue); }
.edit-application-document-name > span { min-width: 0; }
.edit-application-document-name a { display: block; overflow-wrap: anywhere; font-size: 12px; font-weight: 700; }
.edit-application-document-name small { display: block; margin-top: 2px; color: var(--edit-app-muted); font-size: 10.5px; }
.edit-application-upload-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  margin-top: 8px;
}
.edit-application-upload-form input[type='file'] {
  width: 100%;
  max-width: none;
  border-color: #cbd3db;
  background: #fff;
  font-size: 11px;
}
.edit-application-upload-form .btn {
  min-height: 44px;
  border-color: var(--edit-app-blue);
  background: var(--edit-app-blue);
  color: #fff;
}
.edit-application-upload-form .btn:disabled { cursor: wait; opacity: .72; }
.edit-application-upload-status {
  grid-column: 1 / -1;
  min-height: 16px;
  color: var(--edit-app-muted);
  font-size: 10.5px;
  line-height: 1.45;
}
.edit-application-upload-status.is-uploading { color: var(--edit-app-blue); font-weight: 650; }
.edit-application-upload-status.is-success { color: var(--edit-app-green); font-weight: 700; }
.edit-application-upload-status.is-error { color: var(--edit-app-red); font-weight: 700; }
.edit-application-upload-form.has-upload-error input[type='file'] {
  border-color: var(--edit-app-red);
  background: #fffafa;
  box-shadow: 0 0 0 3px rgba(168,15,23,.08);
}

.edit-application-declaration-callout {
  margin: 0 0 18px;
  border-color: #cde4d9;
  border-left-color: var(--edit-app-green);
  background: #f5fbf8;
  color: #344b42;
}
.edit-application-declaration-callout .declaration-option { padding: 0 !important; background: transparent; }
.edit-application-declaration-callout .declaration-option:hover,
.edit-application-declaration-callout .declaration-option:has(input:checked) { border-color: transparent; background: transparent; }
.edit-application-declaration-callout input { margin-top: 3px; }
.edit-application-declaration-callout ul { margin: 7px 0 0; padding-left: 19px; line-height: 1.65; }
.edit-application-page .sig-pad { margin-top: 8px; }
.edit-application-page .sig-canvas-wrap {
  display: block;
  width: min(680px, 100%);
  padding: 9px;
  border: 1px dashed #c6ced7;
  border-radius: 11px;
  background: #fafbfd;
}
.edit-application-page .sig-canvas {
  width: 100%;
  max-width: none;
  height: 150px;
  border: 0;
  border-radius: 8px;
  background: #fff;
}
.edit-application-page .sig-clear {
  top: 17px;
  right: 17px;
  border: 0;
  background: var(--edit-app-red-soft);
  color: var(--edit-app-red);
}
.edit-application-page .sig-hint { left: 20px; bottom: 16px; color: var(--edit-app-muted); font-size: 10.5px; }
.edit-application-submit-note { margin: 14px 0 0; font-size: 11.5px; }
.edit-application-submit-actions .btn-accent {
  border-color: var(--edit-app-green);
  background: var(--edit-app-green);
  color: #fff;
}
.edit-application-submit-actions .btn-accent:hover { background: #1b664c; }

@media (max-width: 1100px) {
  .edit-application-workspace { grid-template-columns: 1fr; }
  .edit-application-section-menu { position: static; }
  .edit-application-section-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .edit-application-section-menu > p { display: none; }
}

@media (max-width: 900px) {
  .edit-application-award-banner { grid-template-columns: 1fr; }
  .edit-application-award-banner .btn { justify-self: start; }
  .edit-application-page .edit-application-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .edit-application-page-head { align-items: flex-start; }
  .edit-application-completion { flex-wrap: wrap; }
  .edit-application-completion-copy { flex: 1 1 calc(100% - 60px); }
  .edit-application-completion-track { flex-basis: calc(100% - 56px); order: 3; }
  .edit-application-completion-percent { margin-left: auto; }
  .edit-application-section-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edit-application-particulars-grid,
  .edit-application-fields { grid-template-columns: 1fr; }
  .edit-application-fields .application-field--compact { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .edit-application-page-head h1 { font-size: 30px; }
  .edit-application-award-banner { padding: 19px 17px; }
  .edit-application-award-banner h2 { font-size: 18px; }
  .edit-application-page .edit-application-steps { grid-template-columns: 1fr; }
  .edit-application-page .edit-application-card .card-pad { padding: 18px 16px; }
  .edit-application-page .edit-application-save-actions { position: static; align-items: stretch; flex-direction: column; }
  .edit-application-page .edit-application-save-actions .form-progress-text { margin: 0 0 2px; text-align: center; }
  .edit-application-page .edit-application-save-actions .btn,
  .edit-application-submit-actions .btn { width: 100%; }
  .edit-application-upload-form { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .edit-application-section-nav { grid-template-columns: 1fr; }
  .edit-application-award-meta { align-items: flex-start; flex-direction: column; }
  .edit-application-metrics { grid-template-columns: 1fr; }
  .edit-application-page #supporting-documents fieldset { padding: 13px; }
}

@media print {
  .edit-application-page .edit-application-steps,
  .edit-application-completion,
  .edit-application-section-menu,
  .edit-application-save-actions,
  .edit-application-submit-actions,
  .edit-application-upload-form,
  .edit-application-page .sig-clear { display: none !important; }
  .edit-application-workspace { display: block; }
  .edit-application-page .edit-application-card,
  .edit-application-award-banner { box-shadow: none; break-inside: avoid; }
}

/* ============================================================
   Application record / summary page
   ============================================================ */
.application-view-page {
  --app-view-red: #a80f17;
  --app-view-red-dark: #810a10;
  --app-view-red-soft: #fcedef;
  --app-view-orange: #f39200;
  --app-view-orange-soft: #fff3df;
  --app-view-blue: #003b70;
  --app-view-blue-soft: #eaf2f8;
  --app-view-green: #24785b;
  --app-view-green-soft: #e9f6f0;
  --app-view-purple: #6650a4;
  --app-view-purple-soft: #f0ecfa;
  --app-view-border: #e3e6ea;
  --app-view-muted: #6d7581;
  --app-view-strong: #11151b;
}

.application-view-page-head {
  align-items: flex-end;
  padding-bottom: 0;
  margin-bottom: 17px;
  border-bottom: 0;
}
.application-view-page-head .page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  color: var(--app-view-red);
}
.application-view-page-head .page-kicker::before {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--app-view-orange);
}
.application-view-page-head h1 {
  margin: 8px 0 7px;
  color: var(--app-view-strong);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(31px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.application-view-page-head p {
  max-width: 760px;
  margin: 0;
  color: var(--app-view-muted);
  font-size: 13px;
  line-height: 1.6;
}
.application-view-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.application-view-actions form { margin: 0; }
.application-view-actions .btn-primary {
  border-color: var(--app-view-red);
  background: var(--app-view-red);
  color: #fff;
}
.application-view-actions .btn-primary:hover { border-color: var(--app-view-red-dark); background: var(--app-view-red-dark); }

.application-view-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21 0%, #222932 58%, #233c52 100%);
  color: #fff;
  box-shadow: 0 12px 34px rgba(17,21,27,.11);
}
.application-view-hero::after {
  content: '';
  position: absolute;
  right: -115px;
  bottom: -165px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}
.application-view-hero-copy { position: relative; z-index: 1; }
.application-view-hero-kicker {
  color: #f7b74b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.application-view-hero h2 {
  margin: 7px 0 11px;
  color: #fff;
  font-size: 21px;
  line-height: 1.35;
}
.application-view-hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.application-view-hero-chip {
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: #d8dee7;
  font-size: 11px;
  font-weight: 650;
}
.application-view-hero-chip strong { color: #fff; }
.application-view-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid rgba(136,184,221,.3);
  border-radius: 999px;
  background: rgba(25,101,160,.24);
  color: #b9dcf6;
  font-size: 10.5px;
  font-weight: 800;
}
.application-view-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.application-view-status-approved,
.application-view-status-awarded,
.application-view-status-recommended {
  border-color: rgba(105,210,167,.27);
  background: rgba(36,120,91,.2);
  color: #9be0c3;
}
.application-view-status-draft {
  border-color: rgba(247,183,75,.3);
  background: rgba(166,104,8,.22);
  color: #ffd48c;
}
.application-view-status-referred_back {
  border-color: rgba(192,178,234,.3);
  background: rgba(102,80,164,.22);
  color: #d9cff5;
}
.application-view-status-rejected,
.application-view-status-disqualified {
  border-color: rgba(242,155,162,.28);
  background: rgba(168,15,23,.22);
  color: #ffc0c5;
}
.application-view-status-withdrawn { border-color: rgba(210,215,222,.22); background: rgba(120,128,140,.2); color: #d7dce3; }

.application-view-eligibility { margin-bottom: 18px; }
.application-view-eligibility ul { margin: 6px 0 0; padding-left: 19px; }

.application-view-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin-bottom: 18px;
}
.application-view-stat {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid var(--app-view-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(20,25,35,.04);
}
.application-view-stat > span {
  display: block;
  color: var(--app-view-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.application-view-stat > strong {
  display: block;
  overflow-wrap: anywhere;
  margin-top: 6px;
  color: #171c22;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}
.application-view-stat > strong small { color: var(--app-view-muted); font-size: inherit; font-weight: 650; }

.application-view-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, .7fr);
  gap: 18px;
  align-items: start;
}
.application-view-stack { display: grid; gap: 16px; min-width: 0; }
.application-view-page .application-view-card {
  overflow: hidden;
  margin: 0;
  border-color: var(--app-view-border);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(20,25,35,.045);
}
.application-view-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 17px 19px;
  border-bottom: 1px solid var(--app-view-border);
}
.application-view-card-head h2 {
  margin: 0;
  color: #171c22;
  font-size: 14px;
  font-weight: 800;
}
.application-view-card-icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--app-view-blue-soft);
  color: var(--app-view-blue);
}
.application-view-card-icon svg { width: 17px; height: 17px; }
.application-view-card-icon.is-green { background: var(--app-view-green-soft); color: var(--app-view-green); }
.application-view-card-icon.is-orange { background: var(--app-view-orange-soft); color: #a76000; }
.application-view-card-icon.is-purple { background: var(--app-view-purple-soft); color: var(--app-view-purple); }
.application-view-card-body { padding: 18px 19px; }

.application-view-detail-section-title {
  margin: 20px 0 3px;
  padding: 14px 0 5px;
  border-top: 1px solid #edf0f2;
  color: #20262e;
  font-size: 12px;
  font-weight: 800;
}
.application-view-detail-section-title:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.application-view-detail-row {
  display: grid;
  grid-template-columns: minmax(210px, .72fr) minmax(0, 1.28fr);
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid #edf0f2;
}
.application-view-detail-row:last-child { border-bottom: 0; }
.application-view-detail-key { color: #5b6572; font-size: 11.5px; font-weight: 750; line-height: 1.5; }
.application-view-detail-value { min-width: 0; overflow-wrap: anywhere; color: #20262e; font-size: 12px; line-height: 1.65; }
.application-view-detail-row.is-long .application-view-detail-value {
  padding: 11px 12px;
  border: 1px solid #e9ecef;
  border-radius: 9px;
  background: #fafbfd;
}
.application-view-empty { padding: 20px; border: 1px dashed #d7dde5; border-radius: 10px; background: #fafbfd; }

.application-view-summary-line { padding: 10px 0; border-bottom: 1px solid #edf0f2; }
.application-view-summary-line:first-child { padding-top: 0; }
.application-view-summary-line:last-child { padding-bottom: 0; border-bottom: 0; }
.application-view-summary-line > span {
  display: block;
  margin-bottom: 4px;
  color: var(--app-view-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.application-view-summary-line > strong {
  display: block;
  overflow-wrap: anywhere;
  color: #20262e;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}
.application-view-summary-line .tag { vertical-align: 1px; }

.application-view-documents { display: grid; gap: 8px; }
.application-view-document {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--app-view-border);
  border-radius: 9px;
  background: #fafbfd;
  color: #27313c;
  transition: border-color .15s ease, background .15s ease;
}
.application-view-document:hover { border-color: #b9c8d7; background: var(--app-view-blue-soft); text-decoration: none; }
.application-view-document-icon {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #fff;
  color: var(--app-view-blue);
}
.application-view-document-icon svg { width: 16px; height: 16px; }
.application-view-document > span:nth-child(2) { min-width: 0; }
.application-view-document strong { display: block; overflow-wrap: anywhere; font-size: 11.5px; line-height: 1.4; }
.application-view-document small { display: block; margin-top: 2px; color: var(--app-view-muted); font-size: 10px; }
.application-view-document-download { width: 15px; height: 15px; color: var(--app-view-muted); }

.application-view-declaration-state {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px 13px;
  border: 1px solid #cfe5da;
  border-radius: 10px;
  background: var(--app-view-green-soft);
  color: #235f49;
  font-size: 11.5px;
  font-weight: 700;
}
.application-view-declaration-state > span {
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--app-view-green);
  color: #fff;
}
.application-view-declaration-state svg { width: 13px; height: 13px; }
.application-view-page .application-view-signature {
  display: block;
  padding: 13px;
  border-color: #e1e5e9;
  border-radius: 10px;
  background: #fafbfd;
}
.application-view-signature img { max-width: 100%; max-height: 90px; object-fit: contain; background: #fff; }
.application-view-signature .sig-meta { margin-top: 8px; color: var(--app-view-muted); font-size: 10.5px; line-height: 1.5; }

.application-view-page .application-view-timeline-card { margin-top: 18px; }
.application-view-timeline { position: relative; padding: 4px 19px 20px 42px; }
.application-view-timeline::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 14px;
  bottom: 25px;
  width: 2px;
  background: #e2e6ea;
}
.application-view-page .application-view-trail-item {
  position: relative;
  margin: 0;
  padding: 16px 0 16px 16px;
  border-bottom: 1px solid #edf0f2;
}
.application-view-page .application-view-trail-item:last-child { border-bottom: 0; }
.application-view-page .application-view-trail-item::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 21px;
  width: 10px;
  height: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--app-view-green);
  box-shadow: 0 0 0 4px var(--app-view-green-soft);
}
.application-view-page .application-view-trail-item::after { display: none; }
.application-view-trail-heading { align-items: flex-start; }
.application-view-trail-heading strong { color: #20262e; font-size: 12px; }
.application-view-trail-heading time { flex: 0 0 auto; color: var(--app-view-muted); font-size: 10.5px; }
.application-view-trail-copy { margin-top: 3px; color: var(--app-view-muted); font-size: 11.5px; line-height: 1.55; }
.application-view-page .application-view-review-signature {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 9px;
  padding: 8px 10px;
}
.application-view-review-signature img { max-width: 145px; max-height: 44px; }
.application-view-review-signature .sig-meta { margin-top: 0; font-size: 10px; }

@media (max-width: 1050px) {
  .application-view-grid { grid-template-columns: 1fr; }
  .application-view-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .application-view-grid > aside.application-view-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .application-view-grid > aside .application-view-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .application-view-page-head { align-items: flex-start; flex-direction: column; }
  .application-view-actions { width: 100%; justify-content: flex-start; }
  .application-view-hero { grid-template-columns: 1fr; padding: 21px 20px; }
  .application-view-grid > aside.application-view-stack { grid-template-columns: 1fr; }
  .application-view-grid > aside .application-view-card:last-child:nth-child(odd) { grid-column: auto; }
  .application-view-detail-row { grid-template-columns: 1fr; gap: 6px; }
}

@media (max-width: 600px) {
  .application-view-page-head h1 { font-size: 30px; }
  .application-view-actions .btn,
  .application-view-actions form { flex: 1 1 calc(50% - 8px); }
  .application-view-actions form .btn { width: 100%; }
  .application-view-stats { grid-template-columns: 1fr; }
  .application-view-card-head { padding: 15px 16px; }
  .application-view-card-body { padding: 16px; }
  .application-view-timeline { padding-right: 15px; padding-left: 37px; }
  .application-view-timeline::before { left: 24px; }
  .application-view-page .application-view-trail-item::before { left: -18px; }
  .application-view-trail-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 430px) {
  .application-view-actions .btn,
  .application-view-actions form { flex-basis: 100%; }
  .application-view-hero-meta { align-items: flex-start; flex-direction: column; }
  .application-view-page .application-view-review-signature { align-items: flex-start; flex-direction: column; }
}

@media print {
  .application-view-actions { display: none !important; }
  .application-view-grid { display: block; }
  .application-view-grid > .application-view-stack,
  .application-view-grid > aside.application-view-stack { display: block; }
  .application-view-page .application-view-card { margin-bottom: 14px; box-shadow: none; break-inside: avoid; }
  .application-view-hero,
  .application-view-stat { box-shadow: none; }
}

/* Application signature methods and inline validation */
.edit-application-page .application-field.has-error > label,
.edit-application-page .sig-pad.has-error > .field-label,
.edit-application-page .sig-confirm-name.has-error > label { color: var(--edit-app-red); }
.edit-application-page .field-error {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 6px;
  color: var(--edit-app-red);
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.45;
}
.edit-application-page .field-error::before {
  content: '!';
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--edit-app-red-soft);
  font-size: 10px;
  font-weight: 900;
}
.edit-application-page :is(input, select, textarea)[aria-invalid='true'] {
  border-color: var(--edit-app-red);
  background-color: #fffafa;
  box-shadow: 0 0 0 3px rgba(168,15,23,.08);
}
.edit-application-page #supporting-documents fieldset.has-error {
  border-color: #d98f96;
  background: #fffafa;
}
.edit-application-declaration-callout.has-error {
  border-color: #e1a6ab;
  border-left-color: var(--edit-app-red);
  background: #fff7f8;
}
.edit-application-declaration-error { margin: -10px 0 17px; }
.edit-application-page .validation-summary {
  position: sticky;
  top: 78px;
  z-index: 16;
  border: 1px solid #e6b7bc;
  border-left: 4px solid var(--edit-app-red);
  box-shadow: 0 8px 22px rgba(168,15,23,.08);
}

.edit-application-page .sig-pad-multi {
  margin-top: 19px;
  padding: 18px;
  border: 1px solid var(--edit-app-border);
  border-radius: 12px;
  background: #fafbfd;
}
.edit-application-page .sig-pad-multi.has-error {
  border-color: #d98f96;
  background: #fffafa;
}
.edit-application-page .sig-methods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 13px;
}
.edit-application-page .sig-method {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid #dfe4e9;
  border-radius: 9px;
  background: #fff;
  color: #4a5563;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.edit-application-page .sig-method:hover { border-color: #b8c4d0; }
.edit-application-page .sig-method.is-selected,
.edit-application-page .sig-method:has(input:checked) {
  border-color: #b8cbdc;
  background: var(--edit-app-blue-soft);
  color: var(--edit-app-blue);
  box-shadow: inset 0 0 0 1px rgba(0,59,112,.035);
}
.edit-application-page .sig-method input {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--edit-app-red);
}
.edit-application-page .sig-mode-panel { min-width: 0; }
.edit-application-page .sig-mode-panel .sig-canvas-wrap { width: 100%; }

.edit-application-page .sig-upload-dropzone {
  min-height: 122px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 18px;
  border: 1px dashed #b8c5d2;
  border-radius: 11px;
  background: #fff;
  color: #273543;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.edit-application-page .sig-upload-dropzone:hover { border-color: var(--edit-app-blue); background: #f8fbfe; }
.edit-application-page .sig-upload-title { font-size: 12.5px; font-weight: 800; }
.edit-application-page .sig-upload-help { max-width: 500px; color: var(--edit-app-muted); font-size: 10.5px; line-height: 1.5; }
.edit-application-page .sig-upload-input {
  width: min(440px, 100%);
  min-height: 40px;
  margin-top: 7px;
  border: 1px solid #dfe4e9;
  border-radius: 8px;
  background: #fafbfd;
  color: #4d5865;
  font-size: 10.5px;
}
.edit-application-page .sig-upload-preview {
  display: grid;
  grid-template-columns: minmax(110px, 180px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 11px;
  border: 1px solid #cfe5da;
  border-radius: 10px;
  background: var(--edit-app-green-soft);
}
.edit-application-page .sig-upload-preview[hidden] { display: none; }
.edit-application-page .sig-upload-preview img {
  width: 100%;
  max-height: 70px;
  object-fit: contain;
  border-radius: 6px;
  background: #fff;
}
.edit-application-page .sig-upload-preview strong { display: block; color: #235f49; font-size: 11.5px; }
.edit-application-page .sig-upload-filename { display: block; overflow-wrap: anywhere; margin-top: 2px; color: #557267; font-size: 10px; }
.edit-application-page .sig-upload-remove {
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid #bddbcd;
  border-radius: 7px;
  background: #fff;
  color: #23634b;
  font-size: 10.5px;
  font-weight: 750;
}

.edit-application-page .sig-type-panel {
  padding: 15px;
  border: 1px solid #dfe4e9;
  border-radius: 11px;
  background: #fff;
}
.edit-application-page .sig-type-panel .form-row { margin-bottom: 11px; }
.edit-application-page .sig-typed-input {
  font-family: 'Segoe Script', 'Brush Script MT', 'Lucida Handwriting', cursive;
  font-size: 19px;
}
.edit-application-page .sig-typed-preview {
  position: relative;
  overflow: hidden;
  border: 1px solid #e1e6ea;
  border-radius: 9px;
  background: #fff;
}
.edit-application-page .sig-type-canvas {
  width: 100%;
  height: auto;
  min-height: 112px;
  display: block;
}
.edit-application-page .sig-typed-preview > span {
  position: absolute;
  right: 9px;
  bottom: 7px;
  color: #929aa5;
  font-size: 9.5px;
  text-transform: uppercase;
}
.edit-application-page .sig-signature-error { margin-top: 9px; }
.edit-application-page .sig-confirm-name { max-width: 420px; margin: 15px 0 0; }

@media (max-width: 700px) {
  .edit-application-page .sig-methods { grid-template-columns: 1fr; }
  .edit-application-page .sig-upload-preview { grid-template-columns: 95px minmax(0, 1fr); }
  .edit-application-page .sig-upload-preview .sig-upload-remove { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 430px) {
  .edit-application-page .sig-pad-multi { padding: 14px; }
  .edit-application-page .sig-upload-preview { grid-template-columns: 1fr; }
  .edit-application-page .sig-upload-preview img { width: min(220px, 100%); }
}

/* Adjudication queue */
.adjudication-page {
  --adjudication-red: #a80f17;
  --adjudication-red-dark: #810a10;
  --adjudication-orange: #f39200;
  --adjudication-orange-soft: #fff3df;
  --adjudication-blue: #003b70;
  --adjudication-blue-soft: #eaf2f8;
  --adjudication-green: #24785b;
  --adjudication-green-soft: #e9f6f0;
  --adjudication-purple: #6650a4;
  --adjudication-purple-soft: #f0ecfa;
  --adjudication-muted: #6d7581;
  --adjudication-border: #e3e6ea;
  --adjudication-strong: #11151b;
}
.adjudication-page-head {
  align-items: flex-end;
  padding-bottom: 0;
  margin-bottom: 18px;
  border-bottom: 0;
}
.adjudication-page-head .page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  color: var(--adjudication-red);
}
.adjudication-page-head .page-kicker::before {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--adjudication-orange);
}
.adjudication-page-head h1 {
  margin: 8px 0 7px;
  color: var(--adjudication-strong);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.adjudication-page-head p {
  max-width: 820px;
  margin: 0;
  color: var(--adjudication-muted);
  font-size: 13px;
  line-height: 1.65;
}

.adjudication-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 12px 34px rgba(17,21,27,.11);
}
.adjudication-hero::after {
  content: '';
  position: absolute;
  right: -75px;
  bottom: -118px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  pointer-events: none;
}
.adjudication-hero-copy,
.adjudication-hero-panel { position: relative; z-index: 1; }
.adjudication-hero h2 { margin: 8px 0; color: #fff; font-size: 20px; }
.adjudication-hero p { max-width: 720px; margin: 0; color: #c9d0d9; font-size: 12px; line-height: 1.65; }
.adjudication-hero-kicker { color: #f7b74b; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.adjudication-hero-panel {
  padding: 15px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(5px);
}
.adjudication-hero-panel-label { color: #aeb9c7; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.adjudication-hero-panel-value { margin-top: 6px; font-size: 28px; font-weight: 800; line-height: 1.15; }
.adjudication-hero-panel-note { margin-top: 3px; color: #d7dde5; font-size: 10px; }

.adjudication-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin-bottom: 18px;
}
.adjudication-stat {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid var(--adjudication-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(20,25,35,.04);
}
.adjudication-stat-label { color: var(--adjudication-muted); font-size: 10px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.adjudication-stat-value { margin-top: 6px; color: var(--adjudication-strong); font-size: 24px; font-weight: 800; line-height: 1.15; }
.adjudication-stat-note { margin-top: 4px; color: var(--adjudication-muted); font-size: 10px; }

.adjudication-queue-card {
  overflow: hidden;
  border: 1px solid var(--adjudication-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(20,25,35,.045);
}
.adjudication-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 19px;
  border-bottom: 1px solid var(--adjudication-border);
}
.adjudication-card-title { margin: 0; color: var(--adjudication-strong); font-size: 14px; font-weight: 800; }
.adjudication-card-sub { margin: 3px 0 0; color: var(--adjudication-muted); font-size: 10px; }
.adjudication-queue-count { color: var(--adjudication-muted); font-size: 10.5px; white-space: nowrap; }
.adjudication-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 19px;
  border-bottom: 1px solid var(--adjudication-border);
  background: #fafbfc;
}
.adjudication-toolbar-left { display: flex; flex: 1; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.adjudication-search-wrap { position: relative; flex: 0 1 360px; min-width: 270px; }
.adjudication-search-wrap > svg {
  position: absolute;
  top: 50%;
  left: 11px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  color: #8b94a0;
  pointer-events: none;
}
.adjudication-page .adjudication-search-input,
.adjudication-page .adjudication-filter-select {
  min-height: 38px;
  height: 38px;
  border: 1px solid var(--adjudication-border);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-size: 11px;
}
.adjudication-page .adjudication-search-input { width: 100%; padding: 0 12px 0 35px; }
.adjudication-page .adjudication-filter-select { width: auto; max-width: 290px; padding: 0 32px 0 11px; }
.adjudication-page .adjudication-search-input:focus,
.adjudication-page .adjudication-filter-select:focus { border-color: var(--adjudication-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); outline: 0; }

.adjudication-table-wrap { overflow-x: auto; }
.adjudication-table { width: 100%; min-width: 1050px; border-collapse: collapse; }
.adjudication-table th {
  padding: 11px 16px;
  border-bottom: 1px solid var(--adjudication-border);
  background: #f8f9fb;
  color: #707986;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .055em;
  text-align: left;
  text-transform: uppercase;
}
.adjudication-table td { padding: 14px 16px; border-bottom: 1px solid var(--adjudication-border); font-size: 11px; vertical-align: middle; }
.adjudication-table tbody tr:last-child td { border-bottom: 0; }
.adjudication-table tbody tr { transition: background .14s ease; }
.adjudication-table tbody tr:hover { background: #fbfcfd; }
.adjudication-ref-code {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 7px;
  background: var(--adjudication-blue-soft);
  color: var(--adjudication-blue);
  font-family: Consolas, 'Courier New', monospace;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
.adjudication-award-name { max-width: 410px; color: #1c2229; font-weight: 700; line-height: 1.45; }
.adjudication-award-sub { margin-top: 4px; color: var(--adjudication-muted); font-size: 9px; }
.adjudication-applicant-name { font-weight: 700; }
.adjudication-stage-badge {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}
.adjudication-stage-badge.head { background: var(--adjudication-blue-soft); color: var(--adjudication-blue); }
.adjudication-stage-badge.college { background: var(--adjudication-purple-soft); color: var(--adjudication-purple); }
.adjudication-stage-badge.vetting { background: var(--adjudication-orange-soft); color: #9c5a00; }
.adjudication-stage-badge.senex { background: var(--adjudication-green-soft); color: var(--adjudication-green); }
.adjudication-stage-badge.dittc { background: #f3edf8; color: #734f92; }
.adjudication-stage-badge.drs { background: #eef3f6; color: #4d6374; }
.adjudication-submitted-date { color: #4e5865; font-size: 10px; }
.adjudication-submitted-time { margin-top: 3px; color: var(--adjudication-muted); font-size: 9px; }
.adjudication-action-cell { text-align: right; }
.adjudication-action-cell .btn-primary {
  min-height: 34px;
  border-color: var(--adjudication-red);
  background: var(--adjudication-red);
  color: #fff;
  font-size: 11px;
}
.adjudication-action-cell .btn-primary:hover { border-color: var(--adjudication-red-dark); background: var(--adjudication-red-dark); }
.adjudication-action-cell .btn svg { width: 14px; height: 14px; }
.adjudication-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  gap: 12px;
  padding: 12px 19px;
  border-top: 1px solid var(--adjudication-border);
  background: #fafbfc;
}
.adjudication-result-count { color: var(--adjudication-muted); font-size: 10px; }
.adjudication-empty-state,
.adjudication-no-results { padding: 46px 24px; color: var(--adjudication-muted); text-align: center; }
.adjudication-empty-state h3,
.adjudication-no-results h3 { margin: 12px 0 4px; color: var(--adjudication-strong); font-size: 15px; }
.adjudication-empty-state p,
.adjudication-no-results p { margin: 0; font-size: 11px; }
.adjudication-empty-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  border-radius: 50%;
  background: var(--adjudication-blue-soft);
  color: var(--adjudication-blue);
}
.adjudication-empty-icon svg { width: 20px; height: 20px; }

@media (max-width: 1100px) {
  .adjudication-hero { grid-template-columns: 1fr; }
  .adjudication-hero-panel { max-width: 360px; }
  .adjudication-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .adjudication-toolbar { align-items: flex-start; flex-direction: column; }
  .adjudication-toolbar-left { width: 100%; }
  .adjudication-search-wrap { flex-basis: 100%; width: 100%; min-width: 0; }
  .adjudication-page .adjudication-filter-select { width: 100%; max-width: none; }
}

@media (max-width: 700px) {
  .adjudication-page-head h1 { font-size: 30px; }
  .adjudication-stats { grid-template-columns: 1fr; }
  .adjudication-card-head { align-items: flex-start; }
  .adjudication-table-wrap { padding: 12px; background: #f7f8fa; }
  .adjudication-table { min-width: 0; }
  .adjudication-table thead { display: none; }
  .adjudication-table tbody { display: grid; gap: 11px; }
  .adjudication-table tr {
    display: block;
    overflow: hidden;
    border: 1px solid var(--adjudication-border);
    border-radius: 11px;
    background: #fff;
  }
  .adjudication-table td {
    display: grid;
    grid-template-columns: minmax(100px, 34%) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #edf0f3;
    text-align: left;
  }
  .adjudication-table td::before {
    content: attr(data-label);
    color: var(--adjudication-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .adjudication-table td:last-child { border-bottom: 0; }
  .adjudication-action-cell .btn { justify-self: start; }
  .adjudication-stage-badge { white-space: normal; }
}

@media (max-width: 480px) {
  .adjudication-hero { padding: 21px 18px; }
  .adjudication-card-head { flex-direction: column; }
  .adjudication-table td { grid-template-columns: 1fr; gap: 5px; }
  .adjudication-action-cell .btn { width: 100%; }
}

/* Adjudication application review */
.review-application-page {
  --review-red: #a80f17;
  --review-red-soft: #fcedef;
  --review-orange: #f39200;
  --review-orange-soft: #fff3df;
  --review-blue: #003b70;
  --review-blue-soft: #eaf2f8;
  --review-green: #24785b;
  --review-green-soft: #e9f6f0;
  --review-border: #e3e6ea;
  --review-muted: #6d7581;
  --review-strong: #11151b;
}
.review-application-page-head {
  align-items: flex-end;
  padding-bottom: 0;
  margin-bottom: 18px;
  border-bottom: 0;
}
.review-application-page-head .page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--review-red);
}
.review-application-page-head .page-kicker::before {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--review-orange);
}
.review-application-page-head h1 {
  margin: 8px 0 7px;
  color: var(--review-strong);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.review-application-page-head p {
  max-width: 800px;
  margin: 0;
  color: var(--review-muted);
  font-size: 13px;
  line-height: 1.6;
}

.review-application-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 18px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 15px 40px rgba(17,21,27,.12);
}
.review-application-hero-kicker {
  color: #f7b74b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}
.review-application-hero h2 {
  max-width: 960px;
  margin: 8px 0 13px;
  color: #fff;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.35;
}
.review-application-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.review-application-hero-chip,
.review-application-eligibility {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 650;
}
.review-application-hero-chip {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.09);
  color: #dfe4eb;
}
.review-application-hero-chip strong { color: #fff; }
.review-application-eligibility {
  border: 1px solid rgba(105,210,167,.3);
  background: rgba(36,120,91,.25);
  color: #a9e7cd;
}
.review-application-eligibility svg { width: 14px; height: 14px; }

.review-application-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(315px, .7fr);
  gap: 18px;
  align-items: start;
}
.review-application-stack { min-width: 0; display: grid; gap: 16px; }
.review-application-card {
  overflow: hidden;
  border: 1px solid var(--review-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(20,25,35,.045);
}
.review-application-card-head {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 17px 19px;
  border-bottom: 1px solid var(--review-border);
}
.review-application-card-icon {
  flex: 0 0 35px;
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--review-blue-soft);
  color: var(--review-blue);
}
.review-application-card-icon svg { width: 17px; height: 17px; }
.review-application-card-icon.is-decision { background: var(--review-red-soft); color: var(--review-red); }
.review-application-card-icon.is-award { background: var(--review-orange-soft); color: #9c5a00; }
.review-application-card-icon.is-document { background: var(--review-green-soft); color: var(--review-green); }
.review-application-card-icon.is-trail { background: #f0ecfa; color: #6650a4; }
.review-application-card-title { margin: 0; color: #20262e; font-size: 13px; font-weight: 800; }
.review-application-card-sub { margin: 3px 0 0; color: var(--review-muted); font-size: 10.5px; }
.review-application-card-body { padding: 18px 19px; }
.review-application-empty { margin: 0; color: var(--review-muted); font-size: 12px; }

.review-application-details { padding-block: 5px; }
.review-application-detail-row {
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr);
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid #edf0f2;
}
.review-application-detail-row:last-child { border-bottom: 0; }
.review-application-detail-key { color: #5b6572; font-size: 11px; font-weight: 750; line-height: 1.5; }
.review-application-detail-value { min-width: 0; overflow-wrap: anywhere; color: #252b33; font-size: 12px; line-height: 1.65; }
.review-application-detail-row.is-long .review-application-detail-value {
  padding: 11px 12px;
  border: 1px solid #e9ecef;
  border-radius: 9px;
  background: #fafbfd;
}

.review-application-applicant-name { margin-bottom: 8px; color: #20262e; font-size: 16px; font-weight: 800; }
.review-application-award-title { margin-bottom: 12px; color: #20262e; font-size: 13px; font-weight: 800; line-height: 1.45; }
.review-application-info-row {
  display: grid;
  grid-template-columns: minmax(105px, 42%) minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #edf0f2;
}
.review-application-info-row:last-child { border-bottom: 0; }
.review-application-info-row > span {
  color: var(--review-muted);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.review-application-info-row > strong { min-width: 0; overflow-wrap: anywhere; color: #303740; font-size: 11.5px; font-weight: 650; line-height: 1.45; }

.review-application-decision { scroll-margin-top: 90px; border-top: 3px solid var(--review-red); }
.review-application-decision-intro {
  margin-bottom: 17px;
  padding: 12px 13px;
  border: 1px solid #e7eaee;
  border-radius: 10px;
  background: #fafbfd;
  color: #596471;
  font-size: 11px;
  line-height: 1.55;
}
.review-application-form-row { max-width: 620px; margin-bottom: 16px; }
.review-application-page .review-application-form-row > label,
.review-application-decision-options > legend,
.review-application-page .sig-pad > .field-label {
  margin-bottom: 7px;
  color: #37414e;
  font-size: 12px;
  font-weight: 750;
}
.review-application-page .review-application-form-row :is(input[type='text'], textarea) {
  width: 100%;
  border-color: #dfe4e9;
  border-radius: 9px;
  background: #fbfcfd;
  font-size: 12px;
}
.review-application-page .review-application-form-row textarea { min-height: 112px; resize: vertical; }
.review-application-decision-options { max-width: none; padding: 0; border: 0; }
.review-application-decision-options > legend { padding: 0; }
.review-application-decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.review-application-decision-option {
  position: relative;
  min-height: 76px;
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 13px 13px 12px 40px;
  border: 1px solid var(--review-border);
  border-radius: 10px;
  background: #fafbfd;
  color: #3f4854;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.review-application-decision-option:hover { border-color: #bdc5ce; transform: translateY(-1px); }
.review-application-decision-option input { position: absolute; left: 14px; top: 15px; width: 16px; height: 16px; margin: 0; accent-color: var(--review-red); }
.review-application-decision-option:has(input:checked) { border-color: #d49da1; background: var(--review-red-soft); color: var(--review-red); }
.review-application-decision-options.has-error .review-application-decision-grid { padding: 8px; border: 1px solid #d98f96; border-radius: 11px; background: #fffafa; }

.review-application-page .field-error {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 7px;
  color: var(--review-red);
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.45;
}
.review-application-page .field-error::before {
  content: '!';
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--review-red-soft);
  font-size: 10px;
  font-weight: 900;
}
.review-application-page .sig-pad.has-error > .field-label,
.review-application-page .sig-confirm-name.has-error > label { color: var(--review-red); }
.review-application-page :is(input, textarea)[aria-invalid='true'] { border-color: var(--review-red); background: #fffafa; box-shadow: 0 0 0 3px rgba(168,15,23,.08); }

.review-application-page .sig-pad-multi {
  margin-top: 19px;
  padding: 18px;
  border: 1px solid var(--review-border);
  border-radius: 12px;
  background: #fafbfd;
}
.review-application-page .sig-pad-multi.has-error { border-color: #d98f96; background: #fffafa; }
.review-application-page .sig-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 10px 0 13px; }
.review-application-page .sig-method {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid #dfe4e9;
  border-radius: 9px;
  background: #fff;
  color: #4a5563;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.review-application-page .sig-method:hover { border-color: #b8c4d0; }
.review-application-page .sig-method.is-selected,
.review-application-page .sig-method:has(input:checked) { border-color: #b8cbdc; background: var(--review-blue-soft); color: var(--review-blue); }
.review-application-page .sig-method input { flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: var(--review-red); }
.review-application-page .sig-mode-panel { min-width: 0; }
.review-application-page .sig-canvas-wrap { position: relative; width: 100%; padding: 10px; border: 1px dashed #c6ced7; border-radius: 11px; background: #fff; }
.review-application-page .sig-canvas { width: 100%; max-width: none; height: 150px; display: block; border: 0; border-radius: 8px; background: #fff; touch-action: none; }
.review-application-page .sig-clear { top: 17px; right: 17px; border: 0; border-radius: 7px; background: var(--review-red-soft); color: var(--review-red); font-size: 10px; font-weight: 750; }
.review-application-page .sig-hint { left: 20px; bottom: 16px; color: var(--review-muted); font-size: 10.5px; }
.review-application-page .sig-upload-dropzone {
  min-height: 122px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 18px;
  border: 1px dashed #b8c5d2;
  border-radius: 11px;
  background: #fff;
  color: #273543;
  text-align: center;
  cursor: pointer;
}
.review-application-page .sig-upload-dropzone:hover { border-color: var(--review-blue); background: #f8fbfe; }
.review-application-page .sig-upload-title { font-size: 12.5px; font-weight: 800; }
.review-application-page .sig-upload-help { max-width: 500px; color: var(--review-muted); font-size: 10.5px; line-height: 1.5; }
.review-application-page .sig-upload-input { width: min(440px, 100%); min-height: 40px; margin-top: 7px; border: 1px solid #dfe4e9; border-radius: 8px; background: #fafbfd; color: #4d5865; font-size: 10.5px; }
.review-application-page .sig-upload-preview { display: grid; grid-template-columns: minmax(110px, 180px) minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: 10px; padding: 11px; border: 1px solid #cfe5da; border-radius: 10px; background: var(--review-green-soft); }
.review-application-page .sig-upload-preview[hidden] { display: none; }
.review-application-page .sig-upload-preview img { width: 100%; max-height: 70px; object-fit: contain; border-radius: 6px; background: #fff; }
.review-application-page .sig-upload-preview strong { display: block; color: #235f49; font-size: 11.5px; }
.review-application-page .sig-upload-filename { display: block; overflow-wrap: anywhere; margin-top: 2px; color: #557267; font-size: 10px; }
.review-application-page .sig-upload-remove { min-height: 34px; padding: 6px 10px; border: 1px solid #bddbcd; border-radius: 7px; background: #fff; color: #23634b; font-size: 10.5px; font-weight: 750; }
.review-application-page .sig-type-panel { padding: 15px; border: 1px solid #dfe4e9; border-radius: 11px; background: #fff; }
.review-application-page .sig-type-panel .form-row { margin-bottom: 11px; }
.review-application-page .sig-typed-input { font-family: 'Segoe Script', 'Brush Script MT', 'Lucida Handwriting', cursive; font-size: 19px; }
.review-application-page .sig-typed-preview { position: relative; overflow: hidden; border: 1px solid #e1e6ea; border-radius: 9px; background: #fff; }
.review-application-page .sig-type-canvas { width: 100%; height: auto; min-height: 112px; display: block; }
.review-application-page .sig-typed-preview > span { position: absolute; right: 9px; bottom: 7px; color: #929aa5; font-size: 9.5px; text-transform: uppercase; }
.review-application-page .sig-signature-error { margin-top: 9px; }
.review-application-page .sig-confirm-name { max-width: 420px; margin: 15px 0 0; }
.review-application-page .sig-confirm-name input { width: 100%; border-color: #dfe4e9; border-radius: 9px; background: #fff; font-size: 12px; }
.review-application-actions { z-index: 12; justify-content: flex-end; margin-top: 16px; padding: 10px 12px; border: 1px solid var(--review-border); border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 10px 26px rgba(20,25,35,.1); }

.review-application-documents { display: grid; gap: 8px; }
.review-application-document {
  min-width: 0;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
  border: 1px solid #e7eaee;
  border-radius: 10px;
  background: #fafbfd;
  transition: border-color .15s ease, background .15s ease;
}
.review-application-document:hover { border-color: #b9c9d7; background: var(--review-blue-soft); }
.review-application-document-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 8px; background: #fff; color: var(--review-blue); }
.review-application-document-icon svg { width: 16px; height: 16px; }
.review-application-document strong { display: block; overflow-wrap: anywhere; color: #27313d; font-size: 11.5px; }
.review-application-document small { display: block; margin-top: 3px; color: var(--review-muted); font-size: 10px; }
.review-application-document-download { width: 16px; height: 16px; color: var(--review-muted); }

.review-application-trail { padding-top: 4px; padding-bottom: 4px; }
.review-application-trail-item { position: relative; padding: 15px 0 15px 20px; border-bottom: 1px solid #edf0f2; }
.review-application-trail-item:last-child { border-bottom: 0; }
.review-application-trail-item::before { content: ''; position: absolute; left: 0; top: 20px; width: 9px; height: 9px; border-radius: 50%; background: var(--review-green); box-shadow: 0 0 0 4px var(--review-green-soft); }
.review-application-trail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.review-application-trail-head strong { color: #252b33; font-size: 11.5px; }
.review-application-trail-head time { flex: 0 0 auto; color: var(--review-muted); font-size: 10px; }
.review-application-trail-reviewer { margin-top: 3px; color: var(--review-muted); font-size: 10.5px; }
.review-application-trail-item p { margin: 8px 0 0; padding: 9px 11px; border-radius: 8px; background: #fafbfd; color: #535e6b; font-size: 11.5px; line-height: 1.55; }

@media (max-width: 1080px) {
  .review-application-grid { grid-template-columns: 1fr; }
  .review-application-grid > aside.review-application-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

@media (max-width: 760px) {
  .review-application-page-head { align-items: flex-start; flex-direction: column; }
  .review-application-page-head .ph-actions,
  .review-application-page-head .ph-actions .btn { width: 100%; }
  .review-application-detail-row { grid-template-columns: 1fr; gap: 6px; }
  .review-application-decision-grid { grid-template-columns: 1fr; }
  .review-application-grid > aside.review-application-stack { grid-template-columns: 1fr; }
  .review-application-page .sig-methods { grid-template-columns: 1fr; }
  .review-application-page .sig-upload-preview { grid-template-columns: 95px minmax(0, 1fr); }
  .review-application-page .sig-upload-preview .sig-upload-remove { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 500px) {
  .review-application-hero { padding: 21px 18px; }
  .review-application-hero-meta { align-items: flex-start; flex-direction: column; }
  .review-application-hero-chip,
  .review-application-eligibility { max-width: 100%; border-radius: 10px; }
  .review-application-card-head,
  .review-application-card-body { padding-inline: 15px; }
  .review-application-info-row { grid-template-columns: 1fr; gap: 5px; }
  .review-application-page .sig-pad-multi { padding: 14px; }
  .review-application-page .sig-upload-preview { grid-template-columns: 1fr; }
  .review-application-page .sig-upload-preview img { width: min(220px, 100%); }
  .review-application-trail-head { flex-direction: column; gap: 4px; }
  .review-application-actions .btn { width: 100%; }
}

/* Awards Register */
.awards-register-page {
  --awards-red: #a80f17;
  --awards-orange: #f39200;
  --awards-orange-soft: #fff3df;
  --awards-blue: #003b70;
  --awards-blue-soft: #eaf2f8;
  --awards-green: #24785b;
  --awards-green-soft: #e9f6f0;
  --awards-border: #e3e6ea;
  --awards-muted: #6d7581;
  --awards-strong: #11151b;
}
.awards-register-page-head {
  align-items: flex-end;
  padding-bottom: 0;
  margin-bottom: 18px;
  border-bottom: 0;
}
.awards-register-page-head .page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--awards-red);
}
.awards-register-page-head .page-kicker::before {
  content: '';
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--awards-orange);
}
.awards-register-page-head h1 {
  margin: 8px 0 7px;
  color: var(--awards-strong);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 3vw, 36px);
  font-weight: 500;
  letter-spacing: -.025em;
}
.awards-register-page-head p {
  max-width: 880px;
  margin: 0;
  color: var(--awards-muted);
  font-size: 13px;
  line-height: 1.65;
}

.awards-register-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: 25px 27px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 15px 40px rgba(17,21,27,.12);
}
.awards-register-hero-kicker {
  color: #f7b74b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}
.awards-register-hero h2 { margin: 8px 0 9px; color: #fff; font-size: clamp(20px, 2vw, 24px); }
.awards-register-hero p { max-width: 760px; margin: 0; color: #cbd2db; font-size: 12px; line-height: 1.65; }
.awards-register-hero-panel {
  padding: 17px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 13px;
  background: rgba(255,255,255,.075);
  backdrop-filter: blur(4px);
}
.awards-register-hero-panel-label { color: #aeb9c7; font-size: 9.5px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; }
.awards-register-hero-panel-value { margin-top: 7px; color: #fff; font-size: 30px; font-weight: 800; line-height: 1; }
.awards-register-hero-panel-note { margin-top: 5px; color: #d7dde5; font-size: 10.5px; }

.awards-register-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.awards-register-stat {
  padding: 16px 17px;
  border: 1px solid var(--awards-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(20,25,35,.035);
}
.awards-register-stat-label { color: var(--awards-muted); font-size: 9.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.awards-register-stat-value { margin-top: 7px; color: #20262e; font-size: 24px; font-weight: 800; line-height: 1.1; }
.awards-register-stat-note { margin-top: 4px; color: var(--awards-muted); font-size: 10px; line-height: 1.4; }

.awards-register-card {
  overflow: hidden;
  border: 1px solid var(--awards-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(20,25,35,.045);
}
.awards-register-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 19px;
  border-bottom: 1px solid var(--awards-border);
}
.awards-register-card-title { margin: 0; color: #20262e; font-size: 13px; font-weight: 800; }
.awards-register-card-sub { margin: 3px 0 0; color: var(--awards-muted); font-size: 10.5px; line-height: 1.5; }
.awards-register-count,
.awards-register-result-count { color: var(--awards-muted); font-size: 10.5px; white-space: nowrap; }

.awards-register-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 19px;
  border-bottom: 1px solid var(--awards-border);
  background: #fafbfc;
}
.awards-register-toolbar-left {
  min-width: 0;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(130px, 165px));
  align-items: center;
  gap: 8px;
}
.awards-register-search-wrap { position: relative; width: 100%; min-width: 0; max-width: none; }
.awards-register-search-wrap svg { position: absolute; left: 13px; top: 50%; z-index: 1; width: 15px; height: 15px; color: #8b94a0; transform: translateY(-50%); pointer-events: none; }
.awards-register-search,
.awards-register-filter {
  display: block;
  width: 100%;
  height: 42px;
  min-height: 38px;
  border: 1px solid var(--awards-border);
  border-radius: 8px;
  background-color: #fff;
  color: #252b33;
  font-size: 11px;
  outline: none;
}
.awards-register-page input.awards-register-search { padding: 0 36px 0 40px; }
.awards-register-filter { min-width: 0; padding: 0 32px 0 10px; cursor: pointer; }
.awards-register-search:focus,
.awards-register-filter:focus { border-color: var(--awards-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.awards-register-toolbar-actions { display: flex; align-items: center; gap: 7px; }
.awards-register-toolbar-actions .btn { min-height: 36px; white-space: nowrap; }
.awards-register-toolbar-actions .btn svg { width: 14px; height: 14px; }
.awards-register-clear[hidden] { display: none; }

.awards-register-table-wrap { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #aeb6c1 #f2f4f6; }
.awards-register-table-wrap::-webkit-scrollbar { height: 9px; }
.awards-register-table-wrap::-webkit-scrollbar-track { background: #f2f4f6; }
.awards-register-table-wrap::-webkit-scrollbar-thumb { border: 2px solid #f2f4f6; border-radius: 999px; background: #aeb6c1; }
.awards-register-table { width: 100%; min-width: 1130px; border-collapse: collapse; }
.awards-register-table th {
  padding: 0;
  border-bottom: 1px solid var(--awards-border);
  background: #f8f9fb;
  color: #707986;
  text-align: left;
}
.awards-register-table th:last-child { width: 170px; }
.awards-register-sort {
  width: 100%;
  min-height: 41px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .5px;
  text-align: left;
  text-transform: uppercase;
}
.awards-register-sort::after { content: '↕'; opacity: .38; font-size: 10px; }
.awards-register-sort[data-direction='asc']::after { content: '↑'; opacity: 1; color: var(--awards-blue); }
.awards-register-sort[data-direction='desc']::after { content: '↓'; opacity: 1; color: var(--awards-blue); }
.awards-register-sort:hover { background: #f0f3f6; color: #3f4854; }
.awards-register-sort:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--awards-blue); outline-offset: -2px; }
.awards-register-table td { padding: 14px 16px; border-bottom: 1px solid var(--awards-border); color: #303740; font-size: 11.5px; vertical-align: middle; }
.awards-register-table tbody tr:last-child td { border-bottom: 0; }
.awards-register-table tbody tr:hover { background: #fbfcfd; }
.awards-register-recipient { display: flex; align-items: center; gap: 10px; min-width: 165px; }
.awards-register-recipient-avatar { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: var(--awards-blue-soft); color: var(--awards-blue); font-size: 10px; font-weight: 800; }
.awards-register-recipient-name { color: #20262e; font-size: 11.5px; font-weight: 800; }
.awards-register-recipient-meta { margin-top: 3px; color: var(--awards-muted); font-size: 9.5px; }
.awards-register-award-name { min-width: 245px; max-width: 400px; color: #28303a; font-weight: 700; line-height: 1.5; }
.awards-register-group,
.awards-register-year,
.awards-register-status {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 800;
  white-space: nowrap;
}
.awards-register-group.is-research { background: var(--awards-blue-soft); color: var(--awards-blue); }
.awards-register-group.is-innovation { background: var(--awards-orange-soft); color: #955600; }
.awards-register-group.is-other { background: #f0eef6; color: #615778; }
.awards-register-year { background: #f2f4f6; color: #4f5966; }
.awards-register-status { background: var(--awards-green-soft); color: var(--awards-green); }
.awards-register-status:not(.is-letter-issued):not(.is-conferred) { background: var(--awards-blue-soft); color: var(--awards-blue); }
.awards-register-reference { display: inline-flex; padding: 5px 8px; border-radius: 7px; background: #f2f5f8; color: var(--awards-blue); font-family: Consolas, 'Courier New', monospace; font-size: 9.5px; font-weight: 800; white-space: nowrap; }
.awards-register-actions { display: flex; justify-content: flex-end; gap: 6px; }
.awards-register-action {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 9px;
  border: 1px solid var(--awards-border);
  border-radius: 7px;
  background: #fff;
  color: #4f5966;
  font-size: 9.5px;
  font-weight: 750;
  white-space: nowrap;
}
.awards-register-action:hover { border-color: #c6cdd5; background: #f6f8fa; color: var(--awards-blue); }
.awards-register-action svg { width: 13px; height: 13px; }

.awards-register-table-wrap[hidden],
.awards-register-no-results[hidden],
.awards-register-pagination[hidden] { display: none; }
.awards-register-empty-state,
.awards-register-no-results { padding: 48px 24px; color: var(--awards-muted); text-align: center; }
.awards-register-empty-state h3,
.awards-register-no-results h3 { margin: 13px 0 5px; color: var(--awards-strong); font-size: 15px; }
.awards-register-empty-state p,
.awards-register-no-results p { margin: 0; font-size: 11.5px; line-height: 1.55; }
.awards-register-no-results .btn { margin-top: 15px; }
.awards-register-empty-icon { width: 46px; height: 46px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--awards-blue-soft); color: var(--awards-blue); }
.awards-register-empty-icon svg { width: 21px; height: 21px; }
.awards-register-footer { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 11px 19px; border-top: 1px solid var(--awards-border); background: #fafbfc; }
.awards-register-pagination { display: flex; align-items: center; gap: 9px; }
.awards-register-pagination > span { min-width: 90px; color: var(--awards-muted); font-size: 10px; text-align: center; }
.awards-register-pagination .btn { min-height: 32px; }

@media (max-width: 1100px) {
  .awards-register-hero { grid-template-columns: 1fr; }
  .awards-register-hero-panel { max-width: 360px; }
  .awards-register-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .awards-register-toolbar { grid-template-columns: minmax(0, 1fr); }
  .awards-register-toolbar-actions { justify-content: flex-end; }
}

@media (max-width: 900px) {
  .awards-register-toolbar-left { width: 100%; }
  .awards-register-toolbar-actions { width: 100%; justify-content: flex-end; }
}

@media (max-width: 700px) {
  .awards-register-page-head { align-items: flex-start; flex-direction: column; }
  .awards-register-page-head h1 { font-size: 30px; }
  .awards-register-stats { grid-template-columns: 1fr; }
  .awards-register-card-head { align-items: flex-start; }
  .awards-register-toolbar-left { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .awards-register-search-wrap { grid-column: 1 / -1; }
  .awards-register-table-wrap { padding: 12px; background: #f7f8fa; }
  .awards-register-table { min-width: 0; }
  .awards-register-table thead { display: none; }
  .awards-register-table tbody { display: grid; gap: 11px; }
  .awards-register-table tr { display: block; overflow: hidden; border: 1px solid var(--awards-border); border-radius: 11px; background: #fff; }
  .awards-register-table td { display: grid; grid-template-columns: minmax(105px, 32%) minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #edf0f3; }
  .awards-register-table td::before { content: attr(data-label); color: var(--awards-muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .awards-register-table td:last-child { border-bottom: 0; }
  .awards-register-recipient { min-width: 0; }
  .awards-register-award-name { min-width: 0; }
  .awards-register-actions { justify-content: flex-start; }
}

@media (max-width: 500px) {
  .awards-register-hero { padding: 21px 18px; }
  .awards-register-card-head { flex-direction: column; }
  .awards-register-toolbar-actions { display: grid; grid-template-columns: 1fr; }
  .awards-register-toolbar-actions .btn { width: 100%; }
  .awards-register-table td { grid-template-columns: 1fr; gap: 6px; }
  .awards-register-footer { align-items: stretch; flex-direction: column; }
  .awards-register-pagination { justify-content: space-between; }
  .awards-register-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Award Cycles & Calls */
.cycles-register-page {
  --cycles-red: #a80f17;
  --cycles-red-soft: #fcedef;
  --cycles-orange: #f39200;
  --cycles-orange-soft: #fff3df;
  --cycles-blue: #003b70;
  --cycles-blue-soft: #eaf2f8;
  --cycles-green: #24785b;
  --cycles-green-soft: #e9f6f0;
  --cycles-purple: #6650a4;
  --cycles-purple-soft: #f0ecfa;
  --cycles-border: #e3e6ea;
  --cycles-muted: #6d7581;
  --cycles-strong: #11151b;
}
.cycles-register-page-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.cycles-register-page-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--cycles-red); }
.cycles-register-page-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--cycles-orange); }
.cycles-register-page-head h1 { margin: 8px 0 7px; color: var(--cycles-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.cycles-register-page-head p { max-width: 850px; margin: 0; color: var(--cycles-muted); font-size: 13px; line-height: 1.65; }
.cycles-register-page-head .btn svg { width: 15px; height: 15px; }

.cycles-register-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: 25px 27px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 15px 40px rgba(17,21,27,.12);
}
.cycles-register-hero-kicker { color: #f7b74b; font-size: 10px; font-weight: 800; letter-spacing: 1.25px; text-transform: uppercase; }
.cycles-register-hero h2 { margin: 8px 0 9px; color: #fff; font-size: clamp(20px, 2vw, 24px); }
.cycles-register-hero p { max-width: 760px; margin: 0; color: #cbd2db; font-size: 12px; line-height: 1.65; }
.cycles-register-hero-panel { padding: 17px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.075); backdrop-filter: blur(4px); }
.cycles-register-hero-panel-label { color: #aeb9c7; font-size: 9.5px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; }
.cycles-register-hero-panel-value { margin-top: 7px; color: #fff; font-size: 30px; font-weight: 800; line-height: 1; }
.cycles-register-hero-panel-note { margin-top: 5px; color: #d7dde5; font-size: 10.5px; }

.cycles-register-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.cycles-register-stat { position: relative; overflow: hidden; padding: 16px 17px; border: 1px solid var(--cycles-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.cycles-register-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--cycles-blue); }
.cycles-register-stat.is-green::before { background: var(--cycles-green); }
.cycles-register-stat.is-orange::before { background: var(--cycles-orange); }
.cycles-register-stat.is-red::before { background: var(--cycles-red); }
.cycles-register-stat-label { color: var(--cycles-muted); font-size: 9.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.cycles-register-stat-value { margin-top: 7px; color: #20262e; font-size: 24px; font-weight: 800; line-height: 1.1; }
.cycles-register-stat-note { margin-top: 4px; color: var(--cycles-muted); font-size: 10px; line-height: 1.4; }

.cycles-register-card { overflow: hidden; border: 1px solid var(--cycles-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.cycles-register-card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 19px; border-bottom: 1px solid var(--cycles-border); }
.cycles-register-card-title { margin: 0; color: #20262e; font-size: 13px; font-weight: 800; }
.cycles-register-card-sub { margin: 3px 0 0; color: var(--cycles-muted); font-size: 10.5px; line-height: 1.5; }
.cycles-register-count,
.cycles-register-result-count { color: var(--cycles-muted); font-size: 10.5px; white-space: nowrap; }

.cycles-register-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 19px; border-bottom: 1px solid var(--cycles-border); background: #fafbfc; }
.cycles-register-toolbar-left { min-width: 0; width: 100%; display: grid; grid-template-columns: minmax(230px, 1fr) repeat(2, minmax(145px, 180px)); align-items: center; gap: 8px; }
.cycles-register-search-wrap { position: relative; width: 100%; min-width: 0; }
.cycles-register-search-wrap svg { position: absolute; left: 13px; top: 50%; z-index: 1; width: 15px; height: 15px; color: #8b94a0; transform: translateY(-50%); pointer-events: none; }
.cycles-register-search,
.cycles-register-filter { display: block; width: 100%; height: 42px; min-height: 42px; border: 1px solid var(--cycles-border); border-radius: 8px; background-color: #fff; color: #252b33; font-size: 11px; outline: none; }
.cycles-register-page input.cycles-register-search { padding: 0 36px 0 40px; }
.cycles-register-filter { min-width: 0; padding: 0 32px 0 10px; cursor: pointer; }
.cycles-register-search:focus,
.cycles-register-filter:focus { border-color: var(--cycles-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.cycles-register-toolbar-actions { display: flex; align-items: center; gap: 7px; }
.cycles-register-toolbar-actions .btn { min-height: 36px; white-space: nowrap; }
.cycles-register-toolbar-actions .btn svg { width: 14px; height: 14px; }
.cycles-register-clear[hidden] { display: none; }

.cycles-register-table-wrap { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #aeb6c1 #f2f4f6; }
.cycles-register-table-wrap::-webkit-scrollbar { height: 9px; }
.cycles-register-table-wrap::-webkit-scrollbar-track { background: #f2f4f6; }
.cycles-register-table-wrap::-webkit-scrollbar-thumb { border: 2px solid #f2f4f6; border-radius: 999px; background: #aeb6c1; }
.cycles-register-table { width: 100%; min-width: 1220px; border-collapse: collapse; }
.cycles-register-table th { padding: 0; border-bottom: 1px solid var(--cycles-border); background: #f8f9fb; color: #707986; text-align: left; }
.cycles-register-table th:last-child { width: 270px; }
.cycles-register-sort { width: 100%; min-height: 41px; display: flex; align-items: center; gap: 6px; padding: 10px 16px; border: 0; background: transparent; color: inherit; font-size: 9px; font-weight: 800; letter-spacing: .5px; text-align: left; text-transform: uppercase; }
.cycles-register-sort::after { content: '↕'; opacity: .38; font-size: 10px; }
.cycles-register-sort[data-direction='asc']::after { content: '↑'; opacity: 1; color: var(--cycles-blue); }
.cycles-register-sort[data-direction='desc']::after { content: '↓'; opacity: 1; color: var(--cycles-blue); }
.cycles-register-sort:hover { background: #f0f3f6; color: #3f4854; }
.cycles-register-sort:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--cycles-blue); outline-offset: -2px; }
.cycles-register-table td { padding: 14px 16px; border-bottom: 1px solid var(--cycles-border); color: #303740; font-size: 11.5px; vertical-align: middle; }
.cycles-register-table tbody tr:last-child td { border-bottom: 0; }
.cycles-register-table tbody tr:hover { background: #fbfcfd; }
.cycles-register-cycle-name { max-width: 360px; color: #20262e; font-size: 11.5px; font-weight: 800; line-height: 1.5; }
.cycles-register-cycle-meta { margin-top: 4px; color: var(--cycles-muted); font-size: 9.5px; }
.cycles-register-year { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #f1f3f5; color: #4f5966; font-size: 9.5px; font-weight: 800; }
.cycles-register-date { color: #4f5966; font-size: 10.5px; white-space: nowrap; }
.cycles-register-status-stack { display: flex; align-items: flex-start; flex-direction: column; gap: 5px; }
.cycles-register-approval,
.cycles-register-state { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: 9.5px; font-weight: 800; white-space: nowrap; }
.cycles-register-approval.is-approved { background: var(--cycles-blue-soft); color: var(--cycles-blue); }
.cycles-register-approval.is-review { background: var(--cycles-purple-soft); color: var(--cycles-purple); }
.cycles-register-approval.is-draft { background: #f1f3f5; color: #5d6672; }
.cycles-register-state.is-open { background: var(--cycles-green-soft); color: var(--cycles-green); }
.cycles-register-state.is-pending { background: var(--cycles-orange-soft); color: #a05c00; }
.cycles-register-state.is-closed { background: var(--cycles-red-soft); color: var(--cycles-red); }
.cycles-register-state:not(.is-open):not(.is-pending):not(.is-closed) { background: #f1f3f5; color: #5d6672; }
.cycles-register-app-count { min-width: 34px; height: 30px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 8px; border-radius: 8px; background: #f5f6f8; color: #303740; font-size: 10px; font-weight: 800; }
.cycles-register-actions-cell { min-width: 255px; }
.cycles-register-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.cycles-register-actions form { margin: 0; }
.cycles-register-action { min-height: 32px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 0 9px; border: 1px solid var(--cycles-border); border-radius: 7px; background: #fff; color: #4f5966; font-size: 9.5px; font-weight: 750; white-space: nowrap; }
.cycles-register-action:hover { border-color: #c6cdd5; background: #f6f8fa; color: var(--cycles-blue); }
.cycles-register-action svg { width: 13px; height: 13px; }
.cycles-register-toggle { min-height: 32px; border-radius: 7px; }
.cycles-register-toggle.is-close { border-color: #e2c5c8; background: #fff; color: var(--cycles-red); }
.cycles-register-toggle.is-close:hover { background: var(--cycles-red-soft); }
.cycles-register-toggle.is-open { border-color: #bcd9cc; background: #fff; color: var(--cycles-green); }
.cycles-register-toggle.is-open:hover { background: var(--cycles-green-soft); }

.cycles-register-table-wrap[hidden],
.cycles-register-no-results[hidden],
.cycles-register-pagination[hidden] { display: none; }
.cycles-register-empty-state,
.cycles-register-no-results { padding: 48px 24px; color: var(--cycles-muted); text-align: center; }
.cycles-register-empty-state h3,
.cycles-register-no-results h3 { margin: 13px 0 5px; color: var(--cycles-strong); font-size: 15px; }
.cycles-register-empty-state p,
.cycles-register-no-results p { margin: 0; font-size: 11.5px; line-height: 1.55; }
.cycles-register-empty-state .btn,
.cycles-register-no-results .btn { margin-top: 15px; }
.cycles-register-empty-icon { width: 46px; height: 46px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--cycles-blue-soft); color: var(--cycles-blue); }
.cycles-register-empty-icon svg { width: 21px; height: 21px; }
.cycles-register-footer { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 11px 19px; border-top: 1px solid var(--cycles-border); background: #fafbfc; }
.cycles-register-pagination { display: flex; align-items: center; gap: 9px; }
.cycles-register-pagination > span { min-width: 90px; color: var(--cycles-muted); font-size: 10px; text-align: center; }
.cycles-register-pagination .btn { min-height: 32px; }

@media (max-width: 1100px) {
  .cycles-register-hero { grid-template-columns: 1fr; }
  .cycles-register-hero-panel { max-width: 360px; }
  .cycles-register-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cycles-register-toolbar { grid-template-columns: minmax(0, 1fr); }
  .cycles-register-toolbar-actions { justify-content: flex-end; }
}

@media (max-width: 900px) {
  .cycles-register-toolbar-actions { width: 100%; justify-content: flex-end; }
}

@media (max-width: 700px) {
  .cycles-register-page-head { align-items: flex-start; flex-direction: column; }
  .cycles-register-page-head .ph-actions,
  .cycles-register-page-head .ph-actions .btn { width: 100%; }
  .cycles-register-page-head h1 { font-size: 30px; }
  .cycles-register-stats { grid-template-columns: 1fr; }
  .cycles-register-card-head { align-items: flex-start; }
  .cycles-register-toolbar-left { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cycles-register-search-wrap { grid-column: 1 / -1; }
  .cycles-register-table-wrap { padding: 12px; background: #f7f8fa; }
  .cycles-register-table { min-width: 0; }
  .cycles-register-table thead { display: none; }
  .cycles-register-table tbody { display: grid; gap: 11px; }
  .cycles-register-table tr { display: block; overflow: hidden; border: 1px solid var(--cycles-border); border-radius: 11px; background: #fff; }
  .cycles-register-table td { display: grid; grid-template-columns: minmax(105px, 32%) minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #edf0f3; }
  .cycles-register-table td::before { content: attr(data-label); color: var(--cycles-muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .cycles-register-table td:last-child { border-bottom: 0; }
  .cycles-register-actions-cell { min-width: 0; }
  .cycles-register-actions { justify-content: flex-start; }
}

@media (max-width: 500px) {
  .cycles-register-hero { padding: 21px 18px; }
  .cycles-register-card-head { flex-direction: column; }
  .cycles-register-toolbar-actions { display: grid; grid-template-columns: 1fr; }
  .cycles-register-toolbar-actions .btn { width: 100%; }
  .cycles-register-table td { grid-template-columns: 1fr; gap: 6px; }
  .cycles-register-footer { align-items: stretch; flex-direction: column; }
  .cycles-register-pagination { justify-content: space-between; }
  .cycles-register-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cycles-register-actions form,
  .cycles-register-actions form .btn { width: 100%; }
}

/* New / edit award call */
.cycle-form-page {
  --cycle-form-red: #a80f17;
  --cycle-form-red-dark: #810a10;
  --cycle-form-red-soft: #fcedef;
  --cycle-form-orange: #f39200;
  --cycle-form-orange-soft: #fff3df;
  --cycle-form-blue: #003b70;
  --cycle-form-blue-soft: #eaf2f8;
  --cycle-form-green: #24785b;
  --cycle-form-green-soft: #e9f6f0;
  --cycle-form-purple: #6650a4;
  --cycle-form-purple-soft: #f0ecfa;
  --cycle-form-border: #e3e6ea;
  --cycle-form-muted: #6d7581;
  --cycle-form-strong: #11151b;
}
.cycle-form-page-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 17px; border-bottom: 0; }
.cycle-form-page-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--cycle-form-red); }
.cycle-form-page-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--cycle-form-orange); }
.cycle-form-page-head h1 { margin: 8px 0 7px; color: var(--cycle-form-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.cycle-form-page-head p { max-width: 850px; margin: 0; color: var(--cycle-form-muted); font-size: 13px; line-height: 1.65; }

.cycle-form-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 24px;
  margin-bottom: 16px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 12px 34px rgba(17,21,27,.11);
}
.cycle-form-hero::after { content: ''; position: absolute; right: -105px; bottom: -165px; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.cycle-form-hero-kicker { color: #f7b74b; font-size: 10px; font-weight: 800; letter-spacing: 1.25px; text-transform: uppercase; }
.cycle-form-hero h2 { margin: 8px 0 9px; color: #fff; font-size: clamp(20px, 2vw, 24px); }
.cycle-form-hero p { max-width: 720px; margin: 0; color: #cbd2db; font-size: 12px; line-height: 1.65; }
.cycle-form-hero-panel { position: relative; z-index: 2; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.075); backdrop-filter: blur(4px); }
.cycle-form-hero-panel-label { color: #aeb9c7; font-size: 9.5px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; }
.cycle-form-hero-panel-value { margin-top: 7px; color: #fff; font-size: 14px; font-weight: 800; line-height: 1.4; }
.cycle-form-hero-panel-note { margin-top: 6px; color: #d7dde5; font-size: 10px; line-height: 1.5; }

.cycle-form-page .cycle-form-steps {
  position: static;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 16px;
  padding: 8px;
  border: 1px solid var(--cycle-form-border);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(20,25,35,.04);
}
.cycle-form-page .cycle-form-steps .step { min-height: 47px; display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 0; border-radius: 9px; color: var(--cycle-form-muted); font-size: 11px; font-weight: 700; }
.cycle-form-page .cycle-form-steps .step .num { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #e0e4e8; border-radius: 50%; background: #f0f2f5; color: #6e7784; font-size: 10px; font-weight: 800; }
.cycle-form-page .cycle-form-steps .step:hover { border-color: transparent; background: #f7f9fb; color: var(--cycle-form-blue); }
.cycle-form-page .cycle-form-steps .step.active { background: var(--cycle-form-red-soft); color: var(--cycle-form-red); }
.cycle-form-page .cycle-form-steps .step.active .num { border-color: var(--cycle-form-red); background: var(--cycle-form-red); color: #fff; }

.cycle-form-workspace { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 18px; align-items: start; }
.cycle-form-main { min-width: 0; }
.cycle-form-rail { position: sticky; top: 92px; padding: 14px; border: 1px solid var(--cycle-form-border); border-radius: 13px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.cycle-form-rail-title { margin-bottom: 9px; color: #2f3844; font-size: 10px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.cycle-form-rail-links { display: flex; flex-direction: column; gap: 4px; }
.cycle-form-rail-links a { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 8px; color: #596471; font-size: 10.5px; font-weight: 700; }
.cycle-form-rail-links a::before { content: ''; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #cbd2d9; }
.cycle-form-rail-links a:hover,
.cycle-form-rail-links a.active { background: var(--cycle-form-blue-soft); color: var(--cycle-form-blue); }
.cycle-form-rail-links a.active::before { background: var(--cycle-form-blue); }
.cycle-form-rail-note { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--cycle-form-border); color: var(--cycle-form-muted); font-size: 9.5px; line-height: 1.55; }

.cycle-form-page .cycle-form-main > form > .card,
.cycle-form-page .cycle-form-main > .card { overflow: hidden; margin: 0 0 16px; border: 1px solid var(--cycle-form-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.cycle-form-page .cycle-form-main .card-pad { padding: 22px; }
.cycle-form-page #call-details { scroll-margin-top: 92px; border-top: 3px solid var(--cycle-form-blue); }
.cycle-form-page #call-dates { scroll-margin-top: 92px; border-top: 3px solid var(--cycle-form-orange); }
.cycle-form-page #call-awards { scroll-margin-top: 92px; border-top: 3px solid var(--cycle-form-red); }
.cycle-form-page #call-submission { scroll-margin-top: 92px; border-top: 3px solid var(--cycle-form-purple); }
.cycle-form-page #call-enquiries { scroll-margin-top: 92px; border-top: 3px solid var(--cycle-form-green); }
.cycle-form-page .section-title { margin: 0 0 15px; padding: 0; border: 0; color: #15191f; font-family: var(--font); font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.cycle-form-page .section-title::before { content: ''; display: inline-block; width: 4px; height: 17px; margin-right: 9px; border-radius: 3px; background: var(--cycle-form-red); vertical-align: -3px; }
.cycle-form-page #call-details .section-title::before { background: var(--cycle-form-blue); }
.cycle-form-page #call-dates .section-title::before { background: var(--cycle-form-orange); }
.cycle-form-page #call-submission .section-title::before { background: var(--cycle-form-purple); }
.cycle-form-page #call-enquiries .section-title::before { background: var(--cycle-form-green); }
.cycle-form-page .text-muted { color: var(--cycle-form-muted); font-size: 11px; line-height: 1.55; }

.cycle-form-page .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.cycle-form-page .form-row { min-width: 0; margin: 0; }
.cycle-form-page .form-row > label { display: block; margin-bottom: 7px; color: #384250; font-size: 11.5px; font-weight: 700; line-height: 1.45; }
.cycle-form-page .hint { color: var(--cycle-form-muted); font-size: 10.5px; font-weight: 500; }
.cycle-form-page :is(input[type='text'], input[type='number'], input[type='url'], input[type='email'], input[type='datetime-local'], select, textarea) { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid #dfe4e9; border-radius: 9px; background-color: #fbfcfd; color: #20242c; font-size: 12px; outline: none; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.cycle-form-page :is(input, select, textarea):focus { border-color: var(--cycle-form-blue); background-color: #fff; box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.cycle-form-page .callout { margin: 15px 0 0; padding: 13px 14px; border: 1px solid #efd8a9; border-left: 4px solid var(--cycle-form-orange); border-radius: 10px; background: #fff9ee; color: #655738; font-size: 11px; line-height: 1.6; }
.cycle-form-page .callout.info { border-color: #c8d8e7; border-left-color: var(--cycle-form-blue); background: #f4f8fc; color: #294f70; }

.cycle-form-page .selection-summary { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 14px; padding: 10px 12px; border: 1px solid #d9e4ef; border-radius: 9px; background: var(--cycle-form-blue-soft); color: var(--cycle-form-blue); }
.cycle-form-page .selection-summary strong { font-size: 11px; }
.cycle-form-page .cat-group { margin-bottom: 16px !important; padding: 16px; border: 1px solid var(--cycle-form-border); border-radius: 12px; background: #fafbfd; }
.cycle-form-page .category-select-all { min-height: auto; margin-bottom: 12px; padding: 11px 12px; border: 1px solid #dfe4e9; border-radius: 9px; background: #fff; font-size: 11.5px; font-weight: 800; }
.cycle-form-page .check-option { min-height: 50px; display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 10px 11px; border: 1px solid #e4e8ec; border-radius: 9px; background: #fff; color: #3d4652; font-size: 10.5px; line-height: 1.45; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.cycle-form-page .check-option:hover { border-color: #cdd5dd; box-shadow: 0 4px 12px rgba(20,25,35,.04); }
.cycle-form-page .check-option:has(input:checked) { border-color: #9fb6cb; background: var(--cycle-form-blue-soft); color: var(--cycle-form-blue); }
.cycle-form-page .check-option input[type='checkbox'] { flex: 0 0 auto; margin-top: 2px !important; accent-color: var(--cycle-form-red); }
.cycle-form-page .pick-tier-label { display: flex; align-items: center; gap: 9px; margin: 15px 0 9px; color: #343c47; font-size: 9.5px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.cycle-form-page .pick-tier-label::after { content: ''; height: 1px; flex: 1; background: #e4e8ec; }
.cycle-form-page .tag { display: inline-flex; margin-right: 5px; padding: 3px 6px; border-radius: 999px; background: #f0f3f6; color: var(--cycle-form-blue); font-size: 9px !important; font-weight: 800; }

.cycle-form-page .staff-results { position: relative; z-index: 5; display: grid; gap: 5px; margin-top: 7px; }
.cycle-form-page .staff-result { width: 100%; display: flex; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid var(--cycle-form-border); border-radius: 8px; background: #fff; font-size: 10.5px; text-align: left; }
.cycle-form-page .staff-result:hover,
.cycle-form-page .staff-result:focus-visible { border-color: var(--cycle-form-blue); background: var(--cycle-form-blue-soft); }
.cycle-form-page .staff-result strong { font-size: 10.5px; }
.cycle-form-page .staff-result span { color: var(--cycle-form-muted); font-size: 9.5px; }

.cycle-form-page .form-actions.sticky-actions { position: sticky; bottom: 12px; z-index: 15; display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; padding: 10px 12px; border: 1px solid var(--cycle-form-border); border-radius: 11px; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); box-shadow: 0 10px 26px rgba(20,25,35,.1); }
.cycle-form-page .form-actions.sticky-actions .btn { min-height: 38px; }

@media (max-width: 1100px) {
  .cycle-form-workspace { grid-template-columns: 1fr; }
  .cycle-form-rail { position: static; }
  .cycle-form-rail-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cycle-form-hero { grid-template-columns: 1fr; }
  .cycle-form-hero-panel { max-width: 390px; }
}

@media (max-width: 900px) {
  .cycle-form-page .cycle-form-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cycle-form-rail-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .cycle-form-page-head { align-items: flex-start; flex-direction: column; }
  .cycle-form-page-head h1 { font-size: 30px; }
  .cycle-form-page .cycle-form-steps,
  .cycle-form-rail-links,
  .cycle-form-page .grid-2 { grid-template-columns: 1fr; }
  .cycle-form-page .cycle-form-main .card-pad { padding: 18px 16px; }
  .cycle-form-page .form-actions.sticky-actions { position: static; }
}

@media (max-width: 500px) {
  .cycle-form-hero { padding: 21px 18px; }
  .cycle-form-page .cat-group { padding: 12px; }
  .cycle-form-page .staff-result { align-items: flex-start; flex-direction: column; }
}

/* Award categories catalogue */
.categories-page {
  --categories-red: #a80f17;
  --categories-red-dark: #810a10;
  --categories-red-soft: #fcedef;
  --categories-orange: #f39200;
  --categories-orange-dark: #d57700;
  --categories-orange-soft: #fff3df;
  --categories-blue: #003b70;
  --categories-blue-soft: #eaf2f8;
  --categories-green: #24785b;
  --categories-green-soft: #e9f6f0;
  --categories-border: #e3e6ea;
  --categories-muted: #6d7581;
  --categories-strong: #11151b;
}
.categories-page-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.categories-page-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--categories-red); }
.categories-page-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--categories-orange); }
.categories-page-head h1 { margin: 8px 0 7px; color: var(--categories-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.categories-page-head p { max-width: 850px; margin: 0; color: var(--categories-muted); font-size: 13px; line-height: 1.65; }

.categories-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.15), transparent 32%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 12px 34px rgba(17,21,27,.11);
}
.categories-hero::after { content: ''; position: absolute; right: -105px; bottom: -165px; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.categories-hero-copy { position: relative; z-index: 1; }
.categories-hero-kicker { color: #f7b74b; font-size: 10px; font-weight: 800; letter-spacing: 1.25px; text-transform: uppercase; }
.categories-hero h2 { margin: 8px 0 9px; color: #fff; font-size: clamp(20px, 2vw, 24px); }
.categories-hero p { max-width: 720px; margin: 0; color: #cbd2db; font-size: 12px; line-height: 1.65; }
.categories-hero-panel { position: relative; z-index: 2; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.075); backdrop-filter: blur(4px); }
.categories-hero-panel-label { color: #aeb9c7; font-size: 9.5px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; }
.categories-hero-panel-value { margin-top: 7px; color: #fff; font-size: 30px; font-weight: 800; line-height: 1; }
.categories-hero-panel-note { margin-top: 6px; color: #d7dde5; font-size: 10px; line-height: 1.5; }

.categories-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; }
.categories-stat { position: relative; overflow: hidden; min-height: 105px; padding: 16px 17px 15px; border: 1px solid var(--categories-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); transition: transform .16s ease, box-shadow .16s ease; }
.categories-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--categories-blue); }
.categories-stat.is-orange::before { background: var(--categories-orange); }
.categories-stat.is-red::before { background: var(--categories-red); }
.categories-stat.is-green::before { background: var(--categories-green); }
.categories-stat:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(20,25,35,.075); }
.categories-stat-label { color: #535d69; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.categories-stat-value { margin-top: 7px; color: #1b2027; font-size: 23px; font-weight: 800; line-height: 1; }
.categories-stat-value.is-word { font-size: 16px; }
.categories-stat-note { margin-top: 6px; color: var(--categories-muted); font-size: 10px; line-height: 1.45; }

.categories-catalog-shell { overflow: hidden; border: 1px solid var(--categories-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.categories-page .categories-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 14px 18px; border: 0; border-bottom: 1px solid var(--categories-border); border-radius: 0; background: #fafbfc; box-shadow: none; }
.categories-search-wrap { position: relative; width: min(520px, 100%); max-width: none !important; }
.categories-search-wrap::before,
.categories-search-wrap::after { content: none; display: none; }
.categories-search-wrap > svg { position: absolute; z-index: 1; left: 12px; top: 50%; width: 15px; height: 15px; color: #7e8996; pointer-events: none; transform: translateY(-50%); }
.categories-page .categories-search { width: 100%; min-height: 40px; padding: 0 12px 0 43px !important; border: 1px solid var(--categories-border); border-radius: 9px; background: #fff; color: #20242c; font-size: 11px; outline: none; }
.categories-page .categories-search:focus { border-color: var(--categories-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.categories-result-count { flex: 0 0 auto; margin-left: 0 !important; color: var(--categories-muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.categories-catalog { padding: 18px; }

.categories-page .categories-tabs { display: flex; gap: 6px; overflow-x: auto; margin: 0 0 20px; padding: 5px; border: 1px solid var(--categories-border); border-radius: 11px; background: #f7f8fa; scrollbar-width: thin; }
.categories-page .categories-tabs .tab { min-height: 41px; flex: 1; justify-content: center; gap: 7px; margin: 0; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; color: #596471; font-size: 10.5px; font-weight: 800; white-space: nowrap; }
.categories-page .categories-tabs .tab:hover { background: #fff; color: var(--categories-blue); }
.categories-page .categories-tabs .tab.active,
.categories-page .categories-tabs .tab[aria-selected='true'] { border: 0; background: #fff; color: var(--categories-red); box-shadow: 0 2px 8px rgba(20,25,35,.07); }
.categories-page .categories-tabs .tab:focus-visible { outline: 2px solid var(--categories-blue); outline-offset: 2px; }
.categories-page .categories-tabs .tab-count { min-width: 23px; height: 23px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; border-radius: 999px; background: #edf0f3; color: #56616d; font-size: 9px; }
.categories-page .categories-tabs .tab.active .tab-count { background: var(--categories-red-soft); color: var(--categories-red); }
.categories-page .tab-panel[hidden] { display: none !important; }

.categories-page .tier-block { margin: 0 0 18px; padding: 16px; border: 1px solid var(--categories-border); border-radius: 12px; background: #fafbfd; }
.categories-page .tier-block:last-child { margin-bottom: 0; }
.categories-page .tier-heading { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; color: #2e3742; font-family: var(--font); font-size: 12px; font-weight: 800; }
.categories-page .tier-badge { flex: 0 0 29px; width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: #fff; font-size: 10px; font-weight: 800; }
.categories-page .tier-badge.tier-1 { background: var(--categories-red); }
.categories-page .tier-badge.tier-2 { background: var(--categories-blue); }
.categories-page .tier-badge.tier-3 { background: var(--categories-orange-dark); }

.categories-page .award-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.categories-page .award-card { min-width: 0; min-height: 245px; display: flex; flex-direction: column; gap: 0; padding: 15px; border: 1px solid #e1e5e9; border-radius: 11px; background: #fff; box-shadow: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.categories-page .award-card:hover { transform: translateY(-2px); border-color: #c8d2dc; box-shadow: 0 8px 20px rgba(20,25,35,.06); }
.categories-page .award-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 11px; }
.categories-page .award-code { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: var(--categories-blue-soft); color: var(--categories-blue); font-family: var(--font); font-size: 9px; font-weight: 800; }
.categories-page .award-form-status { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: #f0f2f4; color: #68727e; font-size: 9px; font-weight: 800; white-space: nowrap; }
.categories-page .award-form-status.is-ready { background: var(--categories-green-soft); color: var(--categories-green); }
.categories-page .award-card h4 { margin: 0 0 9px; color: #1b2027; font-size: 12.5px; font-weight: 800; line-height: 1.45; }
.categories-page .award-card p { flex: 1; margin: 0 0 13px; color: var(--categories-muted); font-size: 10.5px; line-height: 1.55; }
.categories-page .award-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid #edf0f2; color: #596471; font-size: 9.5px; font-weight: 650; }
.categories-page .award-meta span { min-width: 0; display: inline-flex; align-items: center; gap: 5px; }
.categories-page .award-meta svg { flex: 0 0 13px; width: 13px; height: 13px; color: var(--categories-orange-dark); }
.categories-page .award-card .btn { align-self: flex-start; min-height: 34px; margin-top: 12px; padding-inline: 11px; border-radius: 8px; font-size: 10px; }
.categories-page .award-card .btn:hover { border-color: #c7d1db; color: var(--categories-blue); }

.categories-no-results { padding: 50px 20px; color: var(--categories-muted); text-align: center; }
.categories-no-results[hidden] { display: none; }
.categories-no-results > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.categories-no-results h3 { margin: 12px 0 5px; color: var(--categories-strong); font-size: 15px; }
.categories-no-results p { margin: 0; font-size: 11px; }

@media (max-width: 1180px) {
  .categories-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .categories-page .award-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .categories-hero { grid-template-columns: 1fr; }
  .categories-hero-panel { max-width: 360px; }
}

@media (max-width: 700px) {
  .categories-page-head { align-items: flex-start; flex-direction: column; }
  .categories-page-head h1 { font-size: 30px; }
  .categories-stats { grid-template-columns: 1fr; }
  .categories-page .categories-toolbar { align-items: flex-start; flex-direction: column; }
  .categories-search-wrap { width: 100%; }
  .categories-page .categories-tabs .tab { min-width: 190px; flex: 0 0 auto; }
  .categories-page .award-grid { grid-template-columns: 1fr; }
}

@media (max-width: 500px) {
  .categories-hero { padding: 21px 18px; }
  .categories-catalog { padding: 12px; }
  .categories-page .tier-block { padding: 12px; }
  .categories-page .award-card-top { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .categories-page .categories-stat,
  .categories-page .award-card { transition: none; }
  .categories-page .categories-stat:hover,
  .categories-page .award-card:hover { transform: none; }
}

/* Staff directory */
.hr-page {
  --hr-red: #a80f17;
  --hr-red-dark: #810a10;
  --hr-red-soft: #fcedef;
  --hr-orange: #f39200;
  --hr-orange-soft: #fff3df;
  --hr-blue: #003b70;
  --hr-blue-soft: #eaf2f8;
  --hr-green: #24785b;
  --hr-green-soft: #e9f6f0;
  --hr-border: #e3e6ea;
  --hr-muted: #6d7581;
  --hr-strong: #11151b;
}
.hr-page-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.hr-page-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--hr-red); }
.hr-page-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--hr-orange); }
.hr-page-head h1 { margin: 8px 0 7px; color: var(--hr-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.hr-page-head p { max-width: 880px; margin: 0; color: var(--hr-muted); font-size: 13px; line-height: 1.65; }

.hr-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.12), transparent 31%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 12px 34px rgba(17,21,27,.11);
}
.hr-hero::after { content: ''; position: absolute; right: -105px; bottom: -165px; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.hr-hero-copy { position: relative; z-index: 1; }
.hr-hero-kicker { color: #f7b74b; font-size: 10px; font-weight: 800; letter-spacing: 1.25px; text-transform: uppercase; }
.hr-hero h2 { margin: 8px 0 9px; color: #fff; font-size: clamp(20px, 2vw, 24px); }
.hr-hero p { max-width: 720px; margin: 0; color: #cbd2db; font-size: 12px; line-height: 1.65; }
.hr-hero-panel { position: relative; z-index: 2; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.075); backdrop-filter: blur(4px); }
.hr-hero-panel-label { color: #aeb9c7; font-size: 9.5px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; }
.hr-hero-panel-value { margin-top: 7px; color: #fff; font-size: 30px; font-weight: 800; line-height: 1; }
.hr-hero-panel-note { margin-top: 6px; color: #d7dde5; font-size: 10px; line-height: 1.5; }

.hr-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; }
.hr-stat { position: relative; overflow: hidden; min-height: 105px; padding: 16px 17px 15px; border: 1px solid var(--hr-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); transition: transform .16s ease, box-shadow .16s ease; }
.hr-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--hr-blue); }
.hr-stat.is-orange::before { background: var(--hr-orange); }
.hr-stat.is-green::before { background: var(--hr-green); }
.hr-stat.is-red::before { background: var(--hr-red); }
.hr-stat:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(20,25,35,.075); }
.hr-stat-label { color: #535d69; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hr-stat-value { margin-top: 7px; color: #1b2027; font-size: 23px; font-weight: 800; line-height: 1; }
.hr-stat-value.is-word { font-size: 16px; }
.hr-stat-note { margin-top: 6px; color: var(--hr-muted); font-size: 10px; line-height: 1.45; }

.hr-directory-grid { display: grid; grid-template-columns: 350px minmax(0, 1fr); align-items: start; gap: 18px; }
.hr-directory-grid.without-import { grid-template-columns: 1fr; }
.hr-page .hr-upload-panel,
.hr-page .hr-records-card { overflow: hidden; margin: 0; border: 1px solid var(--hr-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.hr-page .card-title { display: flex; align-items: center; gap: 8px; margin: 0; color: #171c22; font-family: var(--font); font-size: 13px; font-weight: 800; }
.hr-page .card-title svg { width: 17px; height: 17px; }

.hr-page .hr-upload-panel { border-top: 3px solid var(--hr-orange); }
.hr-page .hr-upload-panel .card-pad { padding: 19px; }
.hr-upload-panel .card-title { margin-bottom: 14px; }
.hr-import-help { margin: 0 0 14px; padding: 11px 12px; border: 1px solid var(--hr-border); border-radius: 9px; background: #fafbfd; }
.hr-import-help summary { cursor: pointer; color: #3d4652; font-size: 10.5px; font-weight: 800; }
.hr-import-help p { margin: 9px 0 5px; color: var(--hr-muted); font-size: 10px; line-height: 1.55; }
.hr-import-help > code { display: block; overflow-wrap: anywhere; margin: 7px 0; padding: 7px 8px; border-radius: 7px; background: #edf2f6; color: var(--hr-blue); font-size: 9px; line-height: 1.55; }
.hr-import-help p code { display: inline-flex; padding: 2px 5px; border-radius: 5px; background: #edf2f6; color: var(--hr-blue); font-size: 9px; }
.hr-upload-panel form { display: grid; grid-template-columns: 1fr; gap: 9px; }
.hr-file-field { display: grid; gap: 6px; color: #3d4652; font-size: 10.5px; font-weight: 750; }
.hr-file-field input[type='file'] { width: 100%; max-width: none; padding: 10px; border: 1px dashed #cbd3db; border-radius: 9px; background: #fafbfd; color: #4b5562; font-size: 10px; }
.hr-file-field input[type='file']::file-selector-button { min-height: 30px; margin-right: 9px; padding: 0 10px; border: 1px solid #d7dde3; border-radius: 7px; background: #fff; color: #47515d; font-weight: 750; cursor: pointer; }
.hr-upload-panel .btn-primary { width: 100%; min-height: 39px; }
.hr-upload-panel .btn-primary svg { width: 15px; height: 15px; }

.hr-page .hr-records-card { border-top: 3px solid var(--hr-blue); }
.hr-page .hr-records-card > .card-pad { padding: 0; }
.hr-records-head { min-height: 59px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 19px; border-bottom: 1px solid var(--hr-border); }
.hr-records-head .table-count { margin: 0; color: var(--hr-muted); font-size: 10px; font-weight: 800; }
.hr-page .hr-records-card .table-region { min-width: 0; }
.hr-page .hr-records-card .table-toolbar { display: flex; align-items: center; gap: 9px; padding: 13px 19px; border: 0; border-bottom: 1px solid var(--hr-border); border-radius: 0; background: #fafbfc; }
.hr-page .hr-records-card .table-search-wrap { min-width: 210px; max-width: 430px; }
.hr-page .hr-records-card .table-search-wrap::before { left: 13px; width: 14px; height: 14px; border-color: #8a94a0; }
.hr-page .hr-records-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.hr-page .hr-records-card .table-search { min-height: 38px; height: 38px !important; padding: 0 12px 0 42px !important; border-color: var(--hr-border); border-radius: 8px; background: #fff; font-size: 10.5px; }
.hr-page .hr-records-card .table-search:focus { border-color: var(--hr-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.hr-page .hr-records-card .table-filter { max-width: 215px; min-height: 38px; height: 38px; border-color: var(--hr-border); border-radius: 8px; background-color: #fff; font-size: 10.5px; }
.hr-page .hr-records-card .table-toolbar .table-count { margin-left: auto; color: var(--hr-muted); font-size: 10px; font-weight: 750; }
.hr-page .hr-records-card .table-export { min-height: 36px; border-radius: 8px; font-size: 10px; }
.hr-page .hr-records-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.hr-page .hr-records-table { width: 100%; min-width: 1050px; border-collapse: collapse; }
.hr-page .hr-records-table thead th { padding: 11px 16px; border-bottom: 1px solid var(--hr-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .055em; text-align: left; text-transform: uppercase; }
.hr-page .hr-records-table .sort-button { color: inherit; font-size: inherit; letter-spacing: inherit; text-transform: inherit; }
.hr-page .hr-records-table tbody td { padding: 14px 16px; border-bottom: 1px solid var(--hr-border); color: #343d48; font-size: 10.5px; line-height: 1.45; vertical-align: middle; }
.hr-page .hr-records-table tbody tr:hover { background: #fbfcfd; }
.hr-page .hr-records-table tbody tr:last-child td { border-bottom: 0; }
.hr-page .hr-records-table td > code { display: inline-flex; padding: 5px 8px; border-radius: 7px; background: #f2f5f8; color: var(--hr-blue); font-family: Consolas, monospace; font-size: 9px; font-weight: 800; }
.hr-page .hr-records-table td > a { color: var(--hr-blue); font-weight: 700; }
.hr-page .hr-records-table .text-muted { color: #596471; font-size: 10px; line-height: 1.45; }
.hr-person-name { color: #232a33; font-size: 10.5px; }
.hr-page .hr-records-card .table-no-results { margin: 0; padding: 42px 20px; border: 0; border-radius: 0; background: #fff; color: var(--hr-muted); font-size: 11px; text-align: center; }
.hr-page .hr-records-card .table-pagination { min-height: 54px; margin: 0; padding: 10px 19px; border-top: 1px solid var(--hr-border); background: #fafbfc; color: var(--hr-muted); font-size: 10px; }
.hr-page .hr-records-card .table-pagination .btn { min-height: 33px; border-radius: 8px; font-size: 10px; }

.hr-empty-state { padding: 55px 24px; color: var(--hr-muted); text-align: center; }
.hr-empty-icon { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--hr-blue-soft); color: var(--hr-blue); }
.hr-empty-icon svg { width: 22px; height: 22px; }
.hr-empty-state h3 { margin: 13px 0 5px; color: var(--hr-strong); font-size: 15px; }
.hr-empty-state p { margin: 0; font-size: 11px; line-height: 1.55; }

@media (max-width: 1180px) {
  .hr-directory-grid { grid-template-columns: 1fr; }
  .hr-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .hr-hero { grid-template-columns: 1fr; }
  .hr-hero-panel { max-width: 360px; }
}

@media (max-width: 700px) {
  .hr-page-head { align-items: flex-start; flex-direction: column; }
  .hr-page-head h1 { font-size: 30px; }
  .hr-stats { grid-template-columns: 1fr; }
  .hr-page .hr-records-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .hr-page .hr-records-card .table-search-wrap,
  .hr-page .hr-records-card .table-filter { width: 100%; max-width: none; }
  .hr-page .hr-records-card .table-toolbar .table-count { margin-left: 0; }
  .hr-page .hr-records-card .table-export { width: 100%; }
  .hr-page .hr-records-table tbody tr { padding: 10px 13px; }
  .hr-page .hr-records-table tbody td { padding: 8px 2px; border: 0; }
  .hr-page .hr-records-table tbody td::before { color: var(--hr-muted); font-size: 9px; }
}

@media (max-width: 500px) {
  .hr-hero { padding: 21px 18px; }
  .hr-records-head { align-items: flex-start; flex-direction: column; }
  .hr-page .hr-upload-panel .card-pad { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .hr-stat { transition: none; }
  .hr-stat:hover { transform: none; }
}

/* Reports catalogue and report details */
.reports-catalogue-page,
.report-detail-page {
  --reports-red: #a80f17;
  --reports-red-dark: #810a10;
  --reports-red-soft: #fcedef;
  --reports-orange: #f39200;
  --reports-orange-dark: #d57700;
  --reports-orange-soft: #fff3df;
  --reports-blue: #003b70;
  --reports-blue-soft: #eaf2f8;
  --reports-green: #24785b;
  --reports-green-soft: #e9f6f0;
  --reports-purple: #6650a4;
  --reports-purple-soft: #f0ecfa;
  --reports-border: #e3e6ea;
  --reports-muted: #6d7581;
  --reports-strong: #11151b;
}
.reports-catalogue-head,
.report-detail-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.reports-catalogue-head .page-kicker,
.report-detail-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--reports-red); }
.reports-catalogue-head .page-kicker::before,
.report-detail-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--reports-orange); }
.reports-catalogue-head h1,
.report-detail-head h1 { margin: 8px 0 7px; color: var(--reports-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.reports-catalogue-head p,
.report-detail-head p { max-width: 900px; margin: 0; color: var(--reports-muted); font-size: 13px; line-height: 1.65; }

.reports-catalogue-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,146,0,.18), transparent 25%),
    radial-gradient(circle at 72% 110%, rgba(168,15,23,.12), transparent 31%),
    linear-gradient(120deg, #171a21, #222932 58%, #233c52);
  color: #fff;
  box-shadow: 0 12px 34px rgba(17,21,27,.11);
}
.reports-catalogue-hero::after { content: ''; position: absolute; right: -105px; bottom: -165px; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.reports-catalogue-hero-copy { position: relative; z-index: 1; }
.reports-catalogue-hero-kicker { color: #f7b74b; font-size: 10px; font-weight: 800; letter-spacing: 1.25px; text-transform: uppercase; }
.reports-catalogue-hero h2 { margin: 8px 0 9px; color: #fff; font-size: clamp(20px, 2vw, 24px); }
.reports-catalogue-hero p { max-width: 720px; margin: 0; color: #cbd2db; font-size: 12px; line-height: 1.65; }
.reports-catalogue-hero-panel { position: relative; z-index: 2; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.075); backdrop-filter: blur(4px); }
.reports-catalogue-hero-panel-label { color: #aeb9c7; font-size: 9.5px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; }
.reports-catalogue-hero-panel-value { margin-top: 7px; color: #fff; font-size: 30px; font-weight: 800; line-height: 1; }
.reports-catalogue-hero-panel-note { margin-top: 6px; color: #d7dde5; font-size: 10px; line-height: 1.5; }

.reports-catalogue-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; padding: 12px 14px; border: 1px solid var(--reports-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.reports-catalogue-search { position: relative; width: min(480px, 100%); flex: 0 1 480px; }
.reports-catalogue-search svg { position: absolute; z-index: 1; left: 13px; top: 50%; width: 15px; height: 15px; color: #838d99; pointer-events: none; transform: translateY(-50%); }
.reports-catalogue-search input { width: 100%; min-height: 40px; padding: 0 12px 0 43px; border: 1px solid var(--reports-border); border-radius: 9px; background: #fff; color: #20242c; font-size: 11px; outline: none; }
.reports-catalogue-search input:focus { border-color: var(--reports-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.reports-filter-pills { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.reports-filter-pill { min-height: 34px; padding: 0 11px; border: 1px solid var(--reports-border); border-radius: 999px; background: #fff; color: #58626f; font-size: 9.5px; font-weight: 750; }
.reports-filter-pill:hover { border-color: #cbd3dc; background: #f8f9fa; color: var(--reports-blue); }
.reports-filter-pill.active { border-color: #edc7cb; background: var(--reports-red-soft); color: var(--reports-red); }
.reports-filter-pill:focus-visible { outline: 2px solid var(--reports-blue); outline-offset: 2px; }

.reports-catalogue-section { margin-bottom: 25px; }
.reports-catalogue-section[hidden] { display: none; }
.reports-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.reports-section-head h2 { margin: 0; color: #171c22; font-size: 15px; font-weight: 800; }
.reports-section-head p { margin: 4px 0 0; color: var(--reports-muted); font-size: 10.5px; line-height: 1.5; }
.reports-section-count { flex: 0 0 auto; color: var(--reports-muted); font-size: 10px; font-weight: 700; }
.reports-tile-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.reports-tile { position: relative; overflow: hidden; min-width: 0; min-height: 220px; display: flex; flex-direction: column; padding: 17px; border: 1px solid var(--reports-border); border-radius: 14px; background: #fff; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.reports-tile[hidden] { display: none; }
.reports-tile::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--reports-blue); }
.reports-tile.is-orange::before { background: var(--reports-orange); }
.reports-tile.is-green::before { background: var(--reports-green); }
.reports-tile.is-red::before { background: var(--reports-red); }
.reports-tile.is-purple::before { background: var(--reports-purple); }
.reports-tile:hover { transform: translateY(-3px); border-color: #ccd4dc; box-shadow: 0 10px 24px rgba(20,25,35,.08); }
.reports-tile:focus-visible { outline: 3px solid rgba(0,59,112,.22); outline-offset: 2px; }
.reports-tile-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.reports-tile-icon { flex: 0 0 39px; width: 39px; height: 39px; display: grid; place-items: center; border-radius: 10px; background: var(--reports-blue-soft); color: var(--reports-blue); }
.reports-tile.is-orange .reports-tile-icon { background: var(--reports-orange-soft); color: var(--reports-orange-dark); }
.reports-tile.is-green .reports-tile-icon { background: var(--reports-green-soft); color: var(--reports-green); }
.reports-tile.is-red .reports-tile-icon { background: var(--reports-red-soft); color: var(--reports-red); }
.reports-tile.is-purple .reports-tile-icon { background: var(--reports-purple-soft); color: var(--reports-purple); }
.reports-tile-icon svg { width: 18px; height: 18px; }
.reports-tile-badge { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: #f2f4f6; color: #68717e; font-size: 8px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.reports-tile h3 { margin: 14px 0 7px; color: #1b2027; font-size: 12.5px; line-height: 1.45; }
.reports-tile p { margin: 0; color: var(--reports-muted); font-size: 10px; line-height: 1.55; }
.reports-tile-footer { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: auto; padding-top: 15px; }
.reports-tile-meta { color: #8a929d; font-size: 9px; }
.reports-tile-open { display: inline-flex; align-items: center; gap: 5px; color: var(--reports-red); font-size: 9.5px; font-weight: 800; white-space: nowrap; }
.reports-tile-open svg { width: 13px; height: 13px; transition: transform .18s ease; }
.reports-tile:hover .reports-tile-open svg { transform: translateX(3px); }
.reports-catalogue-empty { padding: 55px 24px; color: var(--reports-muted); text-align: center; }
.reports-catalogue-empty[hidden] { display: none; }
.reports-catalogue-empty > span { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--reports-blue-soft); color: var(--reports-blue); }
.reports-catalogue-empty svg { width: 21px; height: 21px; }
.reports-catalogue-empty h2 { margin: 13px 0 5px; color: var(--reports-strong); font-size: 15px; }
.reports-catalogue-empty p { margin: 0; font-size: 11px; }

/* Individual report page */
.report-detail-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 15px; color: var(--reports-blue); font-size: 11px; font-weight: 750; }
.report-detail-back svg { width: 14px; height: 14px; transform: rotate(180deg); }
.report-detail-back:hover { color: var(--reports-red); }
.report-detail-hero { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 17px; margin-bottom: 18px; padding: 20px 22px; border: 1px solid var(--reports-border); border-top: 3px solid var(--reports-blue); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.report-detail-hero.is-orange { border-top-color: var(--reports-orange); }
.report-detail-hero.is-green { border-top-color: var(--reports-green); }
.report-detail-hero.is-red { border-top-color: var(--reports-red); }
.report-detail-hero.is-purple { border-top-color: var(--reports-purple); }
.report-detail-hero-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 13px; background: var(--reports-blue-soft); color: var(--reports-blue); }
.report-detail-hero.is-orange .report-detail-hero-icon { background: var(--reports-orange-soft); color: var(--reports-orange-dark); }
.report-detail-hero.is-green .report-detail-hero-icon { background: var(--reports-green-soft); color: var(--reports-green); }
.report-detail-hero.is-red .report-detail-hero-icon { background: var(--reports-red-soft); color: var(--reports-red); }
.report-detail-hero.is-purple .report-detail-hero-icon { background: var(--reports-purple-soft); color: var(--reports-purple); }
.report-detail-hero-icon svg { width: 23px; height: 23px; }
.report-detail-hero-kicker { color: var(--reports-muted); font-size: 9px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.report-detail-hero h2 { margin: 4px 0 4px; color: #1b2027; font-size: 17px; }
.report-detail-hero p { margin: 0; color: var(--reports-muted); font-size: 10.5px; line-height: 1.55; }
.report-detail-hero-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: var(--reports-green-soft); color: var(--reports-green); font-size: 9.5px; font-weight: 800; white-space: nowrap; }
.report-detail-hero-status span { width: 7px; height: 7px; border-radius: 50%; background: var(--reports-green); box-shadow: 0 0 0 3px rgba(36,120,91,.12); }
.report-detail-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; }
.report-detail-stat { position: relative; overflow: hidden; min-height: 112px; padding: 16px 17px 15px; border: 1px solid var(--reports-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.report-detail-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--reports-blue); }
.report-detail-stat.is-orange::before { background: var(--reports-orange); }
.report-detail-stat.is-green::before { background: var(--reports-green); }
.report-detail-stat.is-red::before { background: var(--reports-red); }
.report-detail-stat.is-purple::before { background: var(--reports-purple); }
.report-detail-stat-label { color: #535d69; font-size: 9.5px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.report-detail-stat-value { overflow: hidden; margin-top: 7px; color: #1b2027; font-size: 23px; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.report-detail-stat-note { margin-top: 6px; color: var(--reports-muted); font-size: 10px; line-height: 1.4; }
.report-detail-card { overflow: hidden; margin-bottom: 18px; border: 1px solid var(--reports-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.report-detail-card-head { min-height: 67px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 19px; border-bottom: 1px solid var(--reports-border); background: #fff; }
.report-detail-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.report-detail-card-head p { margin: 4px 0 0; color: var(--reports-muted); font-size: 10px; line-height: 1.45; }
.report-detail-card-badge { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: #f2f4f6; color: #69737f; font-size: 9px; font-weight: 750; }
.report-detail-card-body { padding: 18px 19px; }
.report-bar-list { display: grid; gap: 12px; }
.report-bar-row { display: grid; grid-template-columns: minmax(140px, 220px) minmax(120px, 1fr) 55px; align-items: center; gap: 12px; }
.report-bar-label { overflow: hidden; color: #4f5966; font-size: 10.5px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.report-bar-track { overflow: hidden; height: 9px; border-radius: 999px; background: #eef1f4; }
.report-bar-fill { width: var(--report-bar-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, var(--reports-blue), #3a6b99); }
.report-bar-fill.is-orange { background: linear-gradient(90deg, var(--reports-orange-dark), var(--reports-orange)); }
.report-bar-fill.is-green { background: linear-gradient(90deg, #1e674e, var(--reports-green)); }
.report-bar-fill.is-red { background: linear-gradient(90deg, var(--reports-red-dark), var(--reports-red)); }
.report-bar-fill.is-purple { background: linear-gradient(90deg, #514080, var(--reports-purple)); }
.report-bar-value { color: #2e3742; font-size: 10.5px; font-weight: 800; text-align: right; }
.report-detail-empty { padding: 34px 18px; color: var(--reports-muted); text-align: center; }
.report-detail-empty > svg { width: 27px; height: 27px; margin: 0 auto; color: #9aa4af; }
.report-detail-empty h3 { margin: 11px 0 4px; color: var(--reports-strong); font-size: 14px; }
.report-detail-empty p { margin: 0; font-size: 10.5px; }
.report-detail-table-body { padding: 0; }
.report-detail-page .report-detail-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--reports-border); border-radius: 0; background: #fafbfc; }
.report-detail-page .report-detail-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.report-detail-page .report-detail-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.report-detail-page .report-detail-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.report-detail-page .report-detail-table-card .table-export { min-height: 36px; border-radius: 8px; font-size: 10px; }
.report-detail-page .report-detail-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.report-detail-table { width: 100%; min-width: 720px; }
.report-detail-table thead th { padding: 11px 16px; background: #f8f9fb; color: #707986; font-size: 9px; letter-spacing: .055em; text-transform: uppercase; }
.report-detail-table tbody td { padding: 13px 16px; color: #3d4652; font-size: 10.5px; }
.report-detail-page .report-detail-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.report-detail-page .report-detail-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--reports-border); background: #fafbfc; font-size: 10px; }

@media (max-width: 1200px) {
  .reports-tile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-detail-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 950px) {
  .reports-catalogue-hero { grid-template-columns: 1fr; }
  .reports-catalogue-hero-panel { max-width: 380px; }
  .reports-catalogue-toolbar { align-items: stretch; flex-direction: column; }
  .reports-catalogue-search { width: 100%; flex-basis: auto; }
  .reports-filter-pills { justify-content: flex-start; }
  .reports-tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .reports-catalogue-head,
  .report-detail-head { align-items: flex-start; flex-direction: column; }
  .reports-catalogue-head h1,
  .report-detail-head h1 { font-size: 30px; }
  .reports-section-head { align-items: flex-start; flex-direction: column; }
  .reports-tile-grid,
  .report-detail-stats { grid-template-columns: 1fr; }
  .report-detail-hero { grid-template-columns: 52px 1fr; }
  .report-detail-hero-status { grid-column: 1 / -1; justify-self: flex-start; }
  .report-bar-row { grid-template-columns: 1fr 45px; gap: 7px 10px; }
  .report-bar-label { grid-column: 1 / -1; }
  .report-detail-page .report-detail-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .report-detail-page .report-detail-table-card .table-search-wrap { width: 100%; max-width: none; }
  .report-detail-page .report-detail-table-card .table-export { width: 100%; }
  .report-detail-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 500px) {
  .reports-catalogue-hero { padding: 21px 18px; }
  .reports-filter-pills { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .reports-filter-pill { flex: 0 0 auto; }
  .report-detail-card-head { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .reports-tile,
  .reports-tile-open svg { transition: none; }
  .reports-tile:hover { transform: none; }
  .reports-tile:hover .reports-tile-open svg { transform: none; }
}

/* Research outputs by college cross-tab report */
.ro-college-report-page { padding-bottom: 18px; }
.ro-college-controls {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: flex-end;
  gap: 13px;
  margin-bottom: 10px;
  padding: 16px 18px;
  border: 1px solid var(--reports-border);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(20,25,35,.04);
}
.ro-college-control { flex: 0 1 300px; min-width: 210px; }
.ro-college-control label,
.ro-college-control-label { display: block; margin-bottom: 6px; color: #3d4652; font-size: 10px; font-weight: 800; letter-spacing: .025em; }
.ro-college-control select,
.ro-college-metric-dropdown summary {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d9dee5;
  border-radius: 9px;
  background: #fff;
  color: #252b33;
  font: inherit;
  font-size: 11px;
}
.ro-college-control select { padding: 0 38px 0 12px; cursor: pointer; }
.ro-college-control select:focus,
.ro-college-metric-dropdown summary:focus-visible { border-color: var(--reports-blue); outline: 0; box-shadow: 0 0 0 3px rgba(0,59,112,.09); }
.ro-college-metrics-control { position: relative; }
.ro-college-metric-dropdown { position: relative; }
.ro-college-metric-dropdown summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 12px; cursor: pointer; list-style: none; }
.ro-college-metric-dropdown summary::-webkit-details-marker { display: none; }
.ro-college-metric-dropdown summary svg { width: 13px; height: 13px; color: #727d89; transform: rotate(90deg); transition: transform .16s ease; }
.ro-college-metric-dropdown[open] summary { border-color: var(--reports-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.ro-college-metric-dropdown[open] summary svg { transform: rotate(-90deg); }
.ro-college-metric-menu { position: absolute; z-index: 30; top: calc(100% + 7px); left: 0; width: min(320px, 90vw); padding: 8px; border: 1px solid #d9dee5; border-radius: 10px; background: #fff; box-shadow: 0 14px 35px rgba(20,25,35,.16); }
.ro-college-metric-menu-head { padding: 6px 8px 9px; color: #707a86; font-size: 9px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.ro-college-metric-option { display: flex !important; align-items: center; gap: 9px; min-height: 38px; margin: 0 !important; padding: 7px 8px; border-radius: 7px; color: #313943 !important; font-size: 10.5px !important; font-weight: 650 !important; cursor: pointer; }
.ro-college-metric-option:hover { background: #f4f7fa; }
.ro-college-metric-option input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: var(--reports-blue); }
.ro-college-control-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.ro-college-control-actions .btn { min-height: 42px; white-space: nowrap; }
.ro-college-control-actions .btn svg { width: 14px; height: 14px; }
.ro-college-selection-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 17px; }
.ro-college-selection-summary > span { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 9px; border: 1px solid #dde2e8; border-radius: 999px; background: #fff; color: #59636f; font-size: 9.5px; }
.ro-college-selection-summary .ro-college-view-chip { border-color: #cbdbea; background: var(--reports-blue-soft); color: var(--reports-blue); }
.ro-college-view-chip strong { margin-right: 4px; }
.ro-college-metric-chip::before { content: ''; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--reports-purple); }
.ro-college-method-note { margin: -7px 0 17px; padding: 9px 11px; border-left: 3px solid #b8cde0; background: #f6f9fb; color: #65707c; font-size: 9.5px; line-height: 1.55; }
.ro-college-method-note strong { color: #334353; }

.ro-college-graphs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); align-items: start; gap: 15px; margin-bottom: 18px; }
.ro-college-chart-card { min-width: 0; margin-bottom: 0; }
.ro-college-chart-card .report-detail-card-body { overflow-x: auto; padding-top: 14px; }
.ro-college-chart-legend { min-width: 800px; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 11px; margin-bottom: 13px; color: #68727e; font-size: 8.5px; font-weight: 700; }
.ro-college-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.ro-college-chart-legend i { width: 8px; height: 8px; border-radius: 2px; background: var(--reports-blue); }
.ro-college-chart-legend i.is-orange { background: var(--reports-orange); }
.ro-college-chart-legend i.is-green { background: var(--reports-green); }
.ro-college-chart-legend i.is-purple { background: var(--reports-purple); }
.ro-college-chart { min-width: 800px; display: grid; gap: 2px; }
.ro-college-chart-row { display: grid; grid-template-columns: 160px minmax(600px, 1fr); align-items: center; gap: 13px; padding: 8px 0; border-top: 1px solid #f0f2f4; }
.ro-college-chart-row:first-child { border-top: 0; }
.ro-college-chart-label { overflow: hidden; color: #2d3540; font-size: 9.5px; font-weight: 750; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.ro-college-chart-types { display: grid; grid-template-columns: repeat(4, minmax(135px, 1fr)); gap: 9px; }
.ro-college-chart-type { display: grid; grid-template-columns: minmax(52px, auto) minmax(38px, 1fr) auto; align-items: center; gap: 6px; }
.ro-college-chart-type-name { overflow: hidden; color: #7b8591; font-size: 7.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.ro-college-chart-track { overflow: hidden; height: 7px; border-radius: 999px; background: #eef1f4; }
.ro-college-chart-track i { display: block; width: var(--ro-chart-width, 0%); height: 100%; border-radius: inherit; background: var(--reports-blue); }
.ro-college-chart-track i.is-orange { background: var(--reports-orange); }
.ro-college-chart-track i.is-green { background: var(--reports-green); }
.ro-college-chart-track i.is-purple { background: var(--reports-purple); }
.ro-college-chart-type strong { min-width: 34px; color: #303945; font-size: 8.5px; font-variant-numeric: tabular-nums; text-align: right; }

.ro-college-table-card { overflow: hidden; margin-bottom: 0; }
.ro-college-table-wrap { max-width: 100%; overflow: auto; }
.ro-college-pivot-table { width: 100%; border-collapse: separate; border-spacing: 0; color: #343d48; font-size: 10px; font-variant-numeric: tabular-nums; }
.ro-college-pivot-table.has-1-metrics { min-width: 960px; }
.ro-college-pivot-table.has-2-metrics { min-width: 1420px; }
.ro-college-pivot-table.has-3-metrics { min-width: 1840px; }
.ro-college-pivot-table th,
.ro-college-pivot-table td { min-width: 100px; padding: 10px 11px; border-right: 1px solid #e7eaee; border-bottom: 1px solid #e7eaee; text-align: right; white-space: nowrap; }
.ro-college-pivot-table tr > :last-child { border-right: 0; }
.ro-college-pivot-table thead th { background: #f7f8fa; color: #59636f; font-size: 8.5px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.ro-college-pivot-table thead tr:first-child th { padding-top: 12px; padding-bottom: 12px; border-bottom-color: #d9dee4; text-align: center; }
.ro-college-pivot-table thead .ro-college-type-head { position: relative; color: #31404e; }
.ro-college-pivot-table thead .ro-college-type-head::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--reports-blue); }
.ro-college-pivot-table thead .ro-college-type-head.is-orange::before { background: var(--reports-orange); }
.ro-college-pivot-table thead .ro-college-type-head.is-green::before { background: var(--reports-green); }
.ro-college-pivot-table thead .ro-college-type-head.is-purple::before { background: var(--reports-purple); }
.ro-college-pivot-table thead .ro-college-total-head { border-left: 2px solid #cfd5dc; background: #eef2f6; color: #24384b; }
.ro-college-pivot-table thead .ro-college-total-subhead { border-left-color: #d2d7dd; background: #eef2f6; color: #30445a; }
.ro-college-pivot-table tbody tr:nth-child(even) > * { background: #fbfcfd; }
.ro-college-pivot-table tbody tr:hover > * { background: #f3f7fa; }
.ro-college-pivot-table tbody th { color: #25303b; font-weight: 750; text-align: left; }
.ro-college-pivot-table .ro-college-row-total { border-left-color: #d2d7dd; background: #f4f7f9; color: #263c51; font-weight: 800; }
.ro-college-pivot-table .ro-college-dimension { z-index: 2; min-width: 200px; width: 200px; max-width: 200px; overflow: hidden; text-align: left !important; text-overflow: ellipsis; }
.ro-college-pivot-table .ro-college-dimension-primary { position: sticky; left: 0; }
.ro-college-pivot-table .ro-college-dimension-secondary { position: sticky; left: 200px; z-index: 2; min-width: 170px; width: 170px; max-width: 170px; box-shadow: 5px 0 8px -8px rgba(25,34,44,.42); }
.ro-college-pivot-table thead .ro-college-dimension { z-index: 5; background: #eef2f6; vertical-align: middle; }
.ro-college-pivot-table tfoot th,
.ro-college-pivot-table tfoot td { padding-top: 12px; padding-bottom: 12px; border-bottom: 0; background: #23384c; color: #fff; font-weight: 800; }
.ro-college-pivot-table tfoot th { position: sticky; left: 0; z-index: 4; min-width: 200px; text-align: left; text-transform: uppercase; }

@media (max-width: 900px) {
  .ro-college-controls { align-items: stretch; flex-wrap: wrap; }
  .ro-college-control { flex: 1 1 calc(50% - 8px); }
  .ro-college-control-actions { width: 100%; margin-left: 0; }
}

@media (max-width: 600px) {
  .ro-college-controls { padding: 14px; }
  .ro-college-control { flex-basis: 100%; min-width: 0; }
  .ro-college-control-actions { align-items: stretch; flex-direction: column; }
  .ro-college-control-actions .btn { width: 100%; justify-content: center; }
  .ro-college-chart-row { grid-template-columns: 135px minmax(600px, 1fr); }
  .ro-college-pivot-table .ro-college-dimension { min-width: 170px; width: 170px; max-width: 170px; }
  .ro-college-pivot-table .ro-college-dimension-secondary { left: 170px; min-width: 150px; width: 150px; max-width: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  .ro-college-metric-dropdown summary svg { transition: none; }
}

/* Applications by Award Group report */
.applications-award-report-page {
  --applications-award-red: #a80f17;
  --applications-award-red-soft: #fcedef;
  --applications-award-orange: #f39200;
  --applications-award-orange-soft: #fff3df;
  --applications-award-blue: #003b70;
  --applications-award-blue-soft: #eaf2f8;
  --applications-award-green: #24785b;
  --applications-award-green-soft: #e9f6f0;
  --applications-award-purple: #6650a4;
  --applications-award-purple-soft: #f0ecfa;
  --applications-award-border: #e3e6ea;
  --applications-award-muted: #6d7581;
  --applications-award-strong: #11151b;
}
.applications-award-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.applications-award-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--applications-award-red); }
.applications-award-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--applications-award-orange); }
.applications-award-report-head h1 { margin: 8px 0 7px; color: var(--applications-award-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.applications-award-report-head p { max-width: 900px; margin: 0; color: var(--applications-award-muted); font-size: 13px; line-height: 1.65; }
.applications-award-report-head .ph-actions { flex: 0 0 auto; }
.applications-award-back-icon { width: 14px; height: 14px; transform: rotate(180deg); }

.applications-award-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--applications-award-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.applications-award-filters label { min-width: 155px; flex: 1 1 155px; }
.applications-award-filters label:first-child { min-width: 215px; flex-basis: 215px; }
.applications-award-filters select { width: 100%; min-height: 38px; padding: 0 34px 0 11px; border: 1px solid var(--applications-award-border); border-radius: 8px; background-color: #fff; color: #37414d; font-size: 10.5px; outline: none; }
.applications-award-filters select:focus { border-color: var(--applications-award-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.applications-award-filters .btn { min-height: 38px; flex: 0 0 auto; border-radius: 8px; font-size: 10px; white-space: nowrap; }
.applications-award-filters .btn svg { width: 14px; height: 14px; }

.applications-award-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; }
.applications-award-stat { position: relative; overflow: hidden; min-height: 108px; padding: 16px 17px 15px; border: 1px solid var(--applications-award-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.applications-award-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--applications-award-blue); }
.applications-award-stat.is-orange::before { background: var(--applications-award-orange); }
.applications-award-stat.is-purple::before { background: var(--applications-award-purple); }
.applications-award-stat.is-green::before { background: var(--applications-award-green); }
.applications-award-stat-label { color: #535d69; font-size: 9.5px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.applications-award-stat-value { overflow: hidden; margin-top: 7px; color: #1b2027; font-size: 23px; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.applications-award-stat:last-child .applications-award-stat-value { font-size: 16px; }
.applications-award-stat-note { margin-top: 6px; color: var(--applications-award-muted); font-size: 10px; line-height: 1.4; }

.applications-award-chart-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-bottom: 18px; }
.applications-award-card { overflow: hidden; border: 1px solid var(--applications-award-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.applications-award-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--applications-award-border); }
.applications-award-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.applications-award-card-head p { margin: 4px 0 0; color: var(--applications-award-muted); font-size: 10px; line-height: 1.45; }
.applications-award-card-body { padding: 18px 19px; }
.applications-award-group-bars,
.applications-award-submitted-bars { display: grid; gap: 13px; }
.applications-award-group-row { display: grid; grid-template-columns: minmax(145px, 195px) minmax(120px, 1fr) 44px; align-items: center; gap: 10px; }
.applications-award-group-name { overflow: hidden; color: #485360; font-size: 10.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.applications-award-track,
.applications-award-submitted-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.applications-award-fill,
.applications-award-submitted-fill { width: var(--applications-award-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; background: var(--applications-award-blue); }
.applications-award-fill.is-innovation { background: var(--applications-award-orange); }
.applications-award-fill.is-other { background: var(--applications-award-purple); }
.applications-award-group-count,
.applications-award-submitted-value { color: #303943; font-size: 10.5px; font-weight: 800; text-align: right; }
.applications-award-submitted-row { display: grid; grid-template-columns: minmax(120px, 160px) minmax(100px, 1fr) 38px; align-items: center; gap: 10px; }
.applications-award-submitted-label { color: #4f5966; font-size: 10px; }
.applications-award-submitted-fill { background: linear-gradient(90deg, var(--applications-award-blue), var(--applications-award-orange)); }

.applications-award-report-table-card { margin-bottom: 0; }
.applications-award-report-table-card .table-region { min-width: 0; }
.applications-award-report-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--applications-award-border); border-radius: 0; background: #fafbfc; }
.applications-award-report-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.applications-award-report-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.applications-award-report-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.applications-award-report-table-card .table-toolbar > .table-export { display: none; }
.applications-award-report-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.applications-award-table { width: 100%; min-width: 1080px; }
.applications-award-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--applications-award-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.applications-award-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--applications-award-border); color: #414b57; font-size: 10px; vertical-align: middle; }
.applications-award-table tbody tr:hover { background: #fbfcfd; }
.applications-award-table tbody td:first-child { min-width: 260px; color: #252c34; }
.applications-award-pill { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.applications-award-pill.is-research { background: var(--applications-award-blue-soft); color: var(--applications-award-blue); }
.applications-award-pill.is-innovation { background: var(--applications-award-orange-soft); color: #985800; }
.applications-award-pill.is-other { background: var(--applications-award-purple-soft); color: var(--applications-award-purple); }
.applications-award-pill.is-tier { background: #f1f3f5; color: #555f6a; }
.applications-award-pill.is-good { background: var(--applications-award-green-soft); color: var(--applications-award-green); }
.applications-award-pill.is-mid { background: var(--applications-award-blue-soft); color: var(--applications-award-blue); }
.applications-award-pill.is-low { background: var(--applications-award-orange-soft); color: #9b5a00; }
.applications-award-report-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.applications-award-report-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--applications-award-border); background: #fafbfc; font-size: 10px; }
.applications-award-empty { padding: 48px 20px; color: var(--applications-award-muted); text-align: center; }
.applications-award-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.applications-award-empty h3 { margin: 11px 0 4px; color: var(--applications-award-strong); font-size: 14px; }
.applications-award-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1200px) {
  .applications-award-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .applications-award-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .applications-award-report-head { align-items: flex-start; flex-direction: column; }
  .applications-award-report-head .ph-actions,
  .applications-award-report-head .ph-actions .btn { width: 100%; }
  .applications-award-filters label,
  .applications-award-filters label:first-child { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .applications-award-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .applications-award-stats { grid-template-columns: 1fr; }
  .applications-award-report-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .applications-award-report-table-card .table-search-wrap { width: 100%; max-width: none; }
  .applications-award-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 550px) {
  .applications-award-filters { align-items: stretch; flex-direction: column; }
  .applications-award-filters label,
  .applications-award-filters label:first-child { min-width: 0; width: 100%; flex-basis: auto; }
  .applications-award-filters .btn { width: 100%; }
  .applications-award-group-row,
  .applications-award-submitted-row { grid-template-columns: 1fr 40px; gap: 7px 9px; }
  .applications-award-group-name,
  .applications-award-submitted-label { grid-column: 1 / -1; }
}

/* Application Status report */
.application-status-report-page {
  --application-status-red: #a80f17;
  --application-status-red-soft: #fcedef;
  --application-status-orange: #f39200;
  --application-status-orange-soft: #fff3df;
  --application-status-blue: #003b70;
  --application-status-blue-soft: #eaf2f8;
  --application-status-green: #24785b;
  --application-status-green-soft: #e9f6f0;
  --application-status-purple: #6650a4;
  --application-status-purple-soft: #f0ecfa;
  --application-status-amber: #a66808;
  --application-status-amber-soft: #fff5e2;
  --application-status-border: #e3e6ea;
  --application-status-muted: #6d7581;
  --application-status-strong: #11151b;
}
.application-status-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.application-status-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--application-status-red); }
.application-status-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--application-status-orange); }
.application-status-report-head h1 { margin: 8px 0 7px; color: var(--application-status-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.application-status-report-head p { max-width: 870px; margin: 0; color: var(--application-status-muted); font-size: 12px; line-height: 1.65; }
.application-status-report-head .ph-actions { flex: 0 0 auto; }
.application-status-report-head .btn { gap: 7px; }
.application-status-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.application-status-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--application-status-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.application-status-filters label { min-width: 145px; flex: 1 1 145px; }
.application-status-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.application-status-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--application-status-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.application-status-filters select:focus { border-color: var(--application-status-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.application-status-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.application-status-filters .btn svg { width: 13px; height: 13px; }
.application-status-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.application-status-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.application-status-stat { position: relative; overflow: hidden; min-height: 102px; padding: 15px 16px; border: 1px solid var(--application-status-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.application-status-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--application-status-blue); }
.application-status-stat.is-draft::before { background: var(--application-status-amber); }
.application-status-stat.is-submitted::before { background: var(--application-status-blue); }
.application-status-stat.is-review::before { background: var(--application-status-purple); }
.application-status-stat.is-referred::before { background: var(--application-status-orange); }
.application-status-stat.is-recommended::before { background: var(--application-status-green); }
.application-status-stat.is-awarded::before { background: var(--application-status-red); }
.application-status-stat-label { color: var(--application-status-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.application-status-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.application-status-stat-note { margin-top: 5px; color: var(--application-status-muted); font-size: 9px; line-height: 1.4; }

.application-status-chart-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 18px; margin-bottom: 18px; }
.application-status-card { overflow: hidden; border: 1px solid var(--application-status-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.application-status-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--application-status-border); }
.application-status-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.application-status-card-head p { margin: 4px 0 0; color: var(--application-status-muted); font-size: 10px; line-height: 1.45; }
.application-status-card-body { padding: 18px 19px; }
.application-status-bars { display: grid; align-content: center; gap: 13px; min-height: 245px; }
.application-status-bar-row { display: grid; grid-template-columns: minmax(120px, 150px) minmax(100px, 1fr) 38px; align-items: center; gap: 10px; }
.application-status-bar-name { color: #485360; font-size: 10px; font-weight: 700; }
.application-status-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.application-status-fill { width: var(--application-status-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; background: var(--application-status-blue); }
.application-status-fill.is-draft { background: var(--application-status-amber); }
.application-status-fill.is-submitted { background: var(--application-status-blue); }
.application-status-fill.is-review { background: var(--application-status-purple); }
.application-status-fill.is-referred { background: var(--application-status-orange); }
.application-status-fill.is-recommended { background: var(--application-status-green); }
.application-status-fill.is-awarded { background: var(--application-status-red); }
.application-status-bar-count { color: #303943; font-size: 10.5px; font-weight: 800; text-align: right; }

.application-status-donut-wrap { min-height: 245px; display: flex; align-items: center; justify-content: center; gap: 24px; }
.application-status-donut { position: relative; flex: 0 0 160px; width: 160px; height: 160px; border-radius: 50%; background: var(--application-status-donut, #edf0f3); }
.application-status-donut::after { content: ''; position: absolute; inset: 30px; border-radius: 50%; background: #fff; }
.application-status-donut-label { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; color: #222933; font-size: 21px; font-weight: 800; }
.application-status-legend { display: grid; gap: 8px; }
.application-status-legend-item { display: flex; align-items: center; gap: 8px; color: #46505c; font-size: 9.5px; font-weight: 650; }
.application-status-legend-item > span { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; }

.application-status-table-card { margin-bottom: 0; }
.application-status-table-card .table-region { min-width: 0; }
.application-status-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--application-status-border); border-radius: 0; background: #fafbfc; }
.application-status-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.application-status-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.application-status-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.application-status-table-card .table-toolbar > .table-export { display: none; }
.application-status-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.application-status-table { width: 100%; min-width: 1080px; }
.application-status-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--application-status-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.application-status-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--application-status-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.application-status-table tbody tr:hover { background: #fbfcfd; }
.application-status-table tbody td:nth-child(2) { min-width: 250px; color: #252c34; }
.application-status-reference { color: var(--application-status-blue); font-family: Consolas, 'Courier New', monospace; font-size: 9px; font-weight: 800; white-space: nowrap; }
.application-status-reference:hover { color: var(--application-status-red); text-decoration: underline; }
.application-status-pill,
.application-status-age { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.application-status-pill.is-draft { background: var(--application-status-amber-soft); color: var(--application-status-amber); }
.application-status-pill.is-submitted { background: var(--application-status-blue-soft); color: var(--application-status-blue); }
.application-status-pill.is-review { background: var(--application-status-purple-soft); color: var(--application-status-purple); }
.application-status-pill.is-referred { background: var(--application-status-orange-soft); color: #985800; }
.application-status-pill.is-recommended { background: var(--application-status-green-soft); color: var(--application-status-green); }
.application-status-pill.is-awarded,
.application-status-pill.is-negative { background: var(--application-status-red-soft); color: var(--application-status-red); }
.application-status-pill.is-neutral { background: #f0f2f4; color: #68717c; }
.application-status-stage { color: #596471; font-size: 9.5px; }
.application-status-age.is-good { background: var(--application-status-green-soft); color: var(--application-status-green); }
.application-status-age.is-warn { background: var(--application-status-orange-soft); color: #985800; }
.application-status-age.is-high { background: var(--application-status-red-soft); color: var(--application-status-red); }
.application-status-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.application-status-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--application-status-border); background: #fafbfc; font-size: 10px; }
.application-status-empty { padding: 48px 20px; color: var(--application-status-muted); text-align: center; }
.application-status-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.application-status-empty h3 { margin: 11px 0 4px; color: var(--application-status-strong); font-size: 14px; }
.application-status-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .application-status-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .application-status-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .application-status-filters label,
  .application-status-filters label:first-child { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .application-status-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .application-status-report-head { align-items: flex-start; flex-direction: column; }
  .application-status-report-head .ph-actions,
  .application-status-report-head .ph-actions .btn { width: 100%; }
  .application-status-stats { grid-template-columns: 1fr; }
  .application-status-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .application-status-table-card .table-search-wrap { width: 100%; max-width: none; }
  .application-status-table tbody tr { margin-bottom: 10px; border: 1px solid var(--application-status-border); border-radius: 10px; background: #fff; }
  .application-status-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .application-status-filters { align-items: stretch; flex-direction: column; }
  .application-status-filters label,
  .application-status-filters label:first-child { min-width: 0; width: 100%; flex-basis: auto; }
  .application-status-filters .btn { width: 100%; }
  .application-status-bar-row { grid-template-columns: 1fr 38px; gap: 7px 9px; }
  .application-status-bar-name { grid-column: 1 / -1; }
  .application-status-donut-wrap { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .application-status-reference { transition: none; }
}

/* Submission Trend report */
.submission-trends-report-page {
  --submission-trends-red: #a80f17;
  --submission-trends-red-soft: #fcedef;
  --submission-trends-orange: #f39200;
  --submission-trends-orange-soft: #fff3df;
  --submission-trends-blue: #003b70;
  --submission-trends-blue-soft: #eaf2f8;
  --submission-trends-green: #24785b;
  --submission-trends-green-soft: #e9f6f0;
  --submission-trends-purple: #6650a4;
  --submission-trends-purple-soft: #f0ecfa;
  --submission-trends-border: #e3e6ea;
  --submission-trends-muted: #6d7581;
  --submission-trends-strong: #11151b;
}
.submission-trends-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.submission-trends-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--submission-trends-red); }
.submission-trends-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--submission-trends-orange); }
.submission-trends-report-head h1 { margin: 8px 0 7px; color: var(--submission-trends-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.submission-trends-report-head p { max-width: 880px; margin: 0; color: var(--submission-trends-muted); font-size: 12px; line-height: 1.65; }
.submission-trends-report-head .ph-actions { flex: 0 0 auto; }
.submission-trends-report-head .btn { gap: 7px; }
.submission-trends-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.submission-trends-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--submission-trends-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.submission-trends-filters label { min-width: 155px; flex: 1 1 155px; }
.submission-trends-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.submission-trends-filters .submission-trends-award-filter { min-width: 220px; flex-grow: 1.35; }
.submission-trends-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--submission-trends-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.submission-trends-filters select:focus { border-color: var(--submission-trends-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.submission-trends-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.submission-trends-filters .btn svg { width: 13px; height: 13px; }
.submission-trends-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.submission-trends-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.submission-trends-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--submission-trends-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.submission-trends-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--submission-trends-blue); }
.submission-trends-stat.is-orange::before { background: var(--submission-trends-orange); }
.submission-trends-stat.is-green::before { background: var(--submission-trends-green); }
.submission-trends-stat.is-red::before { background: var(--submission-trends-red); }
.submission-trends-stat.is-purple::before { background: var(--submission-trends-purple); }
.submission-trends-stat-label { color: var(--submission-trends-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.submission-trends-stat-value { overflow: hidden; margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.submission-trends-stat-value.is-text { font-size: 17px; }
.submission-trends-stat-note { margin-top: 5px; color: var(--submission-trends-muted); font-size: 9px; line-height: 1.4; }

.submission-trends-primary-grid,
.submission-trends-secondary-grid { display: grid; gap: 18px; margin-bottom: 18px; }
.submission-trends-primary-grid { grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); }
.submission-trends-secondary-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.submission-trends-card { overflow: hidden; border: 1px solid var(--submission-trends-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.submission-trends-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--submission-trends-border); }
.submission-trends-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.submission-trends-card-head p { margin: 4px 0 0; color: var(--submission-trends-muted); font-size: 10px; line-height: 1.45; }
.submission-trends-card-body { padding: 18px 19px; }

.submission-trends-chart-scroll { overflow-x: auto; overflow-y: hidden; padding: 0; scrollbar-width: thin; scrollbar-color: #bac2cb #f1f3f5; }
.submission-trends-chart-scroll::-webkit-scrollbar { height: 8px; }
.submission-trends-chart-scroll::-webkit-scrollbar-track { background: #f1f3f5; }
.submission-trends-chart-scroll::-webkit-scrollbar-thumb { border: 2px solid #f1f3f5; border-radius: 999px; background: #bac2cb; }
.submission-trends-chart { position: relative; height: 305px; min-width: max(620px, calc(var(--submission-trends-weeks, 8) * 52px + 82px)); padding: 24px 20px 39px 48px; }
.submission-trends-y-grid { position: absolute; inset: 24px 20px 39px 48px; display: grid; grid-template-rows: repeat(5, 1fr); }
.submission-trends-y-grid span { position: relative; border-top: 1px solid #edf0f2; }
.submission-trends-y-grid span:last-child { align-self: end; }
.submission-trends-y-grid em { position: absolute; left: -35px; top: -7px; color: #8b94a0; font-size: 8.5px; font-style: normal; }
.submission-trends-bars { position: absolute; inset: 24px 28px 39px 60px; display: flex; align-items: flex-end; gap: 12px; }
.submission-trends-item { min-width: 36px; height: 100%; display: flex; flex: 1 1 0; flex-direction: column; align-items: center; justify-content: flex-end; gap: 7px; }
.submission-trends-bar-wrap { width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: center; }
.submission-trends-bar { position: relative; width: min(34px, 72%); height: var(--submission-trends-height, 0%); min-height: 1px; border-radius: 7px 7px 3px 3px; background: linear-gradient(180deg, var(--submission-trends-blue), #2d6c9f); }
.submission-trends-bar.is-peak { background: linear-gradient(180deg, var(--submission-trends-red), #c63a41); }
.submission-trends-bar span { position: absolute; left: 50%; top: -18px; color: #343d48; font-size: 8.5px; font-weight: 800; transform: translateX(-50%); }
.submission-trends-label { overflow: hidden; width: 100%; color: #697380; font-size: 8.5px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.submission-trends-chart-empty { min-height: 305px; display: grid; place-items: center; padding: 30px; color: var(--submission-trends-muted); font-size: 10.5px; text-align: center; }

.submission-trends-insights { display: grid; align-content: start; gap: 10px; min-height: 305px; }
.submission-trends-insight { padding: 13px 14px; border: 1px solid var(--submission-trends-border); border-radius: 10px; background: #fafbfd; }
.submission-trends-insight.is-positive { border-color: #cfe4d9; background: var(--submission-trends-green-soft); }
.submission-trends-insight.is-warning { border-color: #f0dfbd; background: var(--submission-trends-orange-soft); }
.submission-trends-insight.is-info { border-color: #cfdeeb; background: var(--submission-trends-blue-soft); }
.submission-trends-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.submission-trends-insight p { margin: 0; color: var(--submission-trends-muted); font-size: 9.5px; line-height: 1.55; }

.submission-trends-horizontal-bars { display: grid; align-content: center; gap: 13px; min-height: 224px; }
.submission-trends-horizontal-row { display: grid; grid-template-columns: minmax(110px, 155px) minmax(100px, 1fr) minmax(42px, auto); align-items: center; gap: 10px; }
.submission-trends-horizontal-name { overflow: hidden; color: #4f5966; font-size: 10px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.submission-trends-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.submission-trends-fill { width: var(--submission-trends-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, var(--submission-trends-blue), var(--submission-trends-orange)); }
.submission-trends-fill.is-research { background: var(--submission-trends-blue); }
.submission-trends-fill.is-innovation { background: var(--submission-trends-orange); }
.submission-trends-fill.is-other { background: var(--submission-trends-purple); }
.submission-trends-horizontal-count { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.submission-trends-horizontal-count.is-day { min-width: 55px; }

.submission-trends-table-card { margin-bottom: 0; }
.submission-trends-table-card .table-region { min-width: 0; }
.submission-trends-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--submission-trends-border); border-radius: 0; background: #fafbfc; }
.submission-trends-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.submission-trends-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.submission-trends-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.submission-trends-table-card .table-toolbar > .table-export { display: none; }
.submission-trends-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.submission-trends-table { width: 100%; min-width: 1000px; }
.submission-trends-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--submission-trends-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.submission-trends-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--submission-trends-border); color: #414b57; font-size: 10px; vertical-align: middle; }
.submission-trends-table tbody tr:hover { background: #fbfcfd; }
.submission-trends-group-pill,
.submission-trends-volume { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.submission-trends-group-pill.is-research { background: var(--submission-trends-blue-soft); color: var(--submission-trends-blue); }
.submission-trends-group-pill.is-innovation { background: var(--submission-trends-orange-soft); color: #985800; }
.submission-trends-group-pill.is-other { background: var(--submission-trends-purple-soft); color: var(--submission-trends-purple); }
.submission-trends-volume.is-high { background: var(--submission-trends-red-soft); color: var(--submission-trends-red); }
.submission-trends-volume.is-mid { background: var(--submission-trends-orange-soft); color: #985800; }
.submission-trends-volume.is-low { background: var(--submission-trends-green-soft); color: var(--submission-trends-green); }
.submission-trends-volume.is-neutral { background: #f0f2f4; color: #68717c; }
.submission-trends-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.submission-trends-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--submission-trends-border); background: #fafbfc; font-size: 10px; }
.submission-trends-empty { padding: 48px 20px; color: var(--submission-trends-muted); text-align: center; }
.submission-trends-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.submission-trends-empty h3 { margin: 11px 0 4px; color: var(--submission-trends-strong); font-size: 14px; }
.submission-trends-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1150px) {
  .submission-trends-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .submission-trends-primary-grid,
  .submission-trends-secondary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 850px) {
  .submission-trends-filters label,
  .submission-trends-filters label:first-child,
  .submission-trends-filters .submission-trends-award-filter { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .submission-trends-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .submission-trends-report-head { align-items: flex-start; flex-direction: column; }
  .submission-trends-report-head .ph-actions,
  .submission-trends-report-head .ph-actions .btn { width: 100%; }
  .submission-trends-stats { grid-template-columns: 1fr; }
  .submission-trends-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .submission-trends-table-card .table-search-wrap { width: 100%; max-width: none; }
  .submission-trends-table tbody tr { margin-bottom: 10px; border: 1px solid var(--submission-trends-border); border-radius: 10px; background: #fff; }
  .submission-trends-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .submission-trends-filters { align-items: stretch; flex-direction: column; }
  .submission-trends-filters label,
  .submission-trends-filters label:first-child,
  .submission-trends-filters .submission-trends-award-filter { min-width: 0; width: 100%; flex-basis: auto; }
  .submission-trends-filters .btn { width: 100%; }
  .submission-trends-horizontal-row { grid-template-columns: 1fr 55px; gap: 7px 9px; }
  .submission-trends-horizontal-name { grid-column: 1 / -1; }
}

/* Adjudication Workload report */
.adjudication-workload-report-page {
  --adjudication-workload-red: #a80f17;
  --adjudication-workload-red-soft: #fcedef;
  --adjudication-workload-orange: #f39200;
  --adjudication-workload-orange-soft: #fff3df;
  --adjudication-workload-blue: #003b70;
  --adjudication-workload-blue-soft: #eaf2f8;
  --adjudication-workload-green: #24785b;
  --adjudication-workload-green-soft: #e9f6f0;
  --adjudication-workload-purple: #6650a4;
  --adjudication-workload-purple-soft: #f0ecfa;
  --adjudication-workload-amber: #a66808;
  --adjudication-workload-amber-soft: #fff5e2;
  --adjudication-workload-border: #e3e6ea;
  --adjudication-workload-muted: #6d7581;
  --adjudication-workload-strong: #11151b;
}
.adjudication-workload-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.adjudication-workload-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--adjudication-workload-red); }
.adjudication-workload-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--adjudication-workload-orange); }
.adjudication-workload-report-head h1 { margin: 8px 0 7px; color: var(--adjudication-workload-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.adjudication-workload-report-head p { max-width: 900px; margin: 0; color: var(--adjudication-workload-muted); font-size: 12px; line-height: 1.65; }
.adjudication-workload-report-head .ph-actions { flex: 0 0 auto; }
.adjudication-workload-report-head .btn { gap: 7px; }
.adjudication-workload-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.adjudication-workload-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--adjudication-workload-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.adjudication-workload-filters label { min-width: 145px; flex: 1 1 145px; }
.adjudication-workload-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.adjudication-workload-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--adjudication-workload-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.adjudication-workload-filters select:focus { border-color: var(--adjudication-workload-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.adjudication-workload-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.adjudication-workload-filters .btn svg { width: 13px; height: 13px; }
.adjudication-workload-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.adjudication-workload-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.adjudication-workload-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--adjudication-workload-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.adjudication-workload-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--adjudication-workload-blue); }
.adjudication-workload-stat.is-purple::before { background: var(--adjudication-workload-purple); }
.adjudication-workload-stat.is-orange::before { background: var(--adjudication-workload-orange); }
.adjudication-workload-stat.is-green::before { background: var(--adjudication-workload-green); }
.adjudication-workload-stat.is-red::before { background: var(--adjudication-workload-red); }
.adjudication-workload-stat.is-amber::before { background: var(--adjudication-workload-amber); }
.adjudication-workload-stat-label { overflow: hidden; color: var(--adjudication-workload-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.adjudication-workload-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.adjudication-workload-stat-note { margin-top: 5px; color: var(--adjudication-workload-muted); font-size: 9px; line-height: 1.4; }

.adjudication-workload-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 18px; margin-bottom: 18px; }
.adjudication-workload-card { overflow: hidden; border: 1px solid var(--adjudication-workload-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.adjudication-workload-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--adjudication-workload-border); }
.adjudication-workload-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.adjudication-workload-card-head p { margin: 4px 0 0; color: var(--adjudication-workload-muted); font-size: 10px; line-height: 1.45; }
.adjudication-workload-card-body { padding: 18px 19px; }
.adjudication-workload-bars { display: grid; align-content: center; gap: 13px; min-height: 245px; }
.adjudication-workload-bar-row { display: grid; grid-template-columns: minmax(135px, 170px) minmax(100px, 1fr) 45px; align-items: center; gap: 10px; }
.adjudication-workload-bar-name { overflow: hidden; color: #485360; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.adjudication-workload-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.adjudication-workload-fill,
.adjudication-workload-age-fill { width: var(--adjudication-workload-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; }
.adjudication-workload-fill.is-head { background: linear-gradient(90deg, var(--adjudication-workload-blue), #356f9f); }
.adjudication-workload-fill.is-expert { background: linear-gradient(90deg, var(--adjudication-workload-purple), #8e7bc1); }
.adjudication-workload-fill.is-ivc { background: linear-gradient(90deg, var(--adjudication-workload-orange), #f7b64c); }
.adjudication-workload-fill.is-dittc { background: linear-gradient(90deg, var(--adjudication-workload-amber), #d9a343); }
.adjudication-workload-fill.is-senex { background: linear-gradient(90deg, var(--adjudication-workload-green), #62a98c); }
.adjudication-workload-fill.is-drs { background: linear-gradient(90deg, var(--adjudication-workload-red), #c73d44); }
.adjudication-workload-bar-count { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.adjudication-workload-bar-count.is-days { min-width: 45px; }
.adjudication-workload-bars.is-ageing { gap: 14px; }
.adjudication-workload-age-row { display: grid; grid-template-columns: 92px minmax(100px, 1fr) 40px; align-items: center; gap: 10px; }
.adjudication-workload-age-name { color: #4f5966; font-size: 10px; }
.adjudication-workload-age-fill.is-green { background: var(--adjudication-workload-green); }
.adjudication-workload-age-fill.is-blue { background: var(--adjudication-workload-blue); }
.adjudication-workload-age-fill.is-orange { background: var(--adjudication-workload-orange); }
.adjudication-workload-age-fill.is-red { background: var(--adjudication-workload-red); }

.adjudication-workload-insights { display: grid; align-content: start; gap: 10px; min-height: 245px; }
.adjudication-workload-insight { padding: 13px 14px; border: 1px solid var(--adjudication-workload-border); border-radius: 10px; background: #fafbfd; }
.adjudication-workload-insight.is-warn { border-color: #efd7aa; background: var(--adjudication-workload-orange-soft); }
.adjudication-workload-insight.is-risk { border-color: #efc7cb; background: var(--adjudication-workload-red-soft); }
.adjudication-workload-insight.is-good { border-color: #cfe4d9; background: var(--adjudication-workload-green-soft); }
.adjudication-workload-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.adjudication-workload-insight p { margin: 0; color: var(--adjudication-workload-muted); font-size: 9.5px; line-height: 1.55; }

.adjudication-workload-table-card { margin-bottom: 0; }
.adjudication-workload-table-card .table-region { min-width: 0; }
.adjudication-workload-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--adjudication-workload-border); border-radius: 0; background: #fafbfc; }
.adjudication-workload-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.adjudication-workload-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.adjudication-workload-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.adjudication-workload-table-card .table-toolbar > .table-export { display: none; }
.adjudication-workload-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.adjudication-workload-table { width: 100%; min-width: 1180px; }
.adjudication-workload-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--adjudication-workload-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.adjudication-workload-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--adjudication-workload-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.adjudication-workload-table tbody tr:hover { background: #fbfcfd; }
.adjudication-workload-table tbody td:nth-child(2) { min-width: 250px; color: #252c34; }
.adjudication-workload-reference { color: var(--adjudication-workload-blue); font-family: Consolas, 'Courier New', monospace; font-size: 9px; font-weight: 800; white-space: nowrap; }
.adjudication-workload-reference:hover { color: var(--adjudication-workload-red); text-decoration: underline; }
.adjudication-workload-stage-pill,
.adjudication-workload-age-pill,
.adjudication-workload-priority { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.adjudication-workload-stage-pill.is-head { background: var(--adjudication-workload-blue-soft); color: var(--adjudication-workload-blue); }
.adjudication-workload-stage-pill.is-expert { background: var(--adjudication-workload-purple-soft); color: var(--adjudication-workload-purple); }
.adjudication-workload-stage-pill.is-ivc { background: var(--adjudication-workload-orange-soft); color: #985800; }
.adjudication-workload-stage-pill.is-dittc { background: #f2edf8; color: #704f8e; }
.adjudication-workload-stage-pill.is-senex { background: var(--adjudication-workload-green-soft); color: var(--adjudication-workload-green); }
.adjudication-workload-stage-pill.is-drs { background: #eef3f6; color: #4f6576; }
.adjudication-workload-age-pill.is-good { background: var(--adjudication-workload-green-soft); color: var(--adjudication-workload-green); }
.adjudication-workload-age-pill.is-warn { background: var(--adjudication-workload-orange-soft); color: #985800; }
.adjudication-workload-age-pill.is-high { background: var(--adjudication-workload-red-soft); color: var(--adjudication-workload-red); }
.adjudication-workload-priority.is-normal { background: #f0f2f4; color: #68717c; }
.adjudication-workload-priority.is-attention { background: var(--adjudication-workload-orange-soft); color: #985800; }
.adjudication-workload-priority.is-high { background: var(--adjudication-workload-red-soft); color: var(--adjudication-workload-red); }
.adjudication-workload-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.adjudication-workload-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--adjudication-workload-border); background: #fafbfc; font-size: 10px; }
.adjudication-workload-empty { padding: 48px 20px; color: var(--adjudication-workload-muted); text-align: center; }
.adjudication-workload-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.adjudication-workload-empty h3 { margin: 11px 0 4px; color: var(--adjudication-workload-strong); font-size: 14px; }
.adjudication-workload-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .adjudication-workload-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adjudication-workload-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .adjudication-workload-filters label,
  .adjudication-workload-filters label:first-child { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .adjudication-workload-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .adjudication-workload-report-head { align-items: flex-start; flex-direction: column; }
  .adjudication-workload-report-head .ph-actions,
  .adjudication-workload-report-head .ph-actions .btn { width: 100%; }
  .adjudication-workload-stats { grid-template-columns: 1fr; }
  .adjudication-workload-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .adjudication-workload-table-card .table-search-wrap { width: 100%; max-width: none; }
  .adjudication-workload-table tbody tr { margin-bottom: 10px; border: 1px solid var(--adjudication-workload-border); border-radius: 10px; background: #fff; }
  .adjudication-workload-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .adjudication-workload-filters { align-items: stretch; flex-direction: column; }
  .adjudication-workload-filters label,
  .adjudication-workload-filters label:first-child { min-width: 0; width: 100%; flex-basis: auto; }
  .adjudication-workload-filters .btn { width: 100%; }
  .adjudication-workload-bar-row,
  .adjudication-workload-age-row { grid-template-columns: 1fr 45px; gap: 7px 9px; }
  .adjudication-workload-bar-name,
  .adjudication-workload-age-name { grid-column: 1 / -1; }
}

/* Workflow Turnaround Time report */
.workflow-turnaround-report-page {
  --workflow-turnaround-red: #a80f17;
  --workflow-turnaround-red-soft: #fcedef;
  --workflow-turnaround-orange: #f39200;
  --workflow-turnaround-orange-soft: #fff3df;
  --workflow-turnaround-blue: #003b70;
  --workflow-turnaround-blue-soft: #eaf2f8;
  --workflow-turnaround-green: #24785b;
  --workflow-turnaround-green-soft: #e9f6f0;
  --workflow-turnaround-purple: #6650a4;
  --workflow-turnaround-purple-soft: #f0ecfa;
  --workflow-turnaround-amber: #a66808;
  --workflow-turnaround-border: #e3e6ea;
  --workflow-turnaround-muted: #6d7581;
  --workflow-turnaround-strong: #11151b;
}
.workflow-turnaround-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.workflow-turnaround-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--workflow-turnaround-red); }
.workflow-turnaround-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--workflow-turnaround-orange); }
.workflow-turnaround-report-head h1 { margin: 8px 0 7px; color: var(--workflow-turnaround-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.workflow-turnaround-report-head p { max-width: 900px; margin: 0; color: var(--workflow-turnaround-muted); font-size: 12px; line-height: 1.65; }
.workflow-turnaround-report-head .ph-actions { flex: 0 0 auto; }
.workflow-turnaround-report-head .btn { gap: 7px; }
.workflow-turnaround-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.workflow-turnaround-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--workflow-turnaround-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.workflow-turnaround-filters label { min-width: 145px; flex: 1 1 145px; }
.workflow-turnaround-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.workflow-turnaround-filters .workflow-turnaround-award-filter { min-width: 220px; flex-grow: 1.3; }
.workflow-turnaround-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--workflow-turnaround-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.workflow-turnaround-filters select:focus { border-color: var(--workflow-turnaround-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.workflow-turnaround-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.workflow-turnaround-filters .btn svg { width: 13px; height: 13px; }
.workflow-turnaround-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.workflow-turnaround-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.workflow-turnaround-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--workflow-turnaround-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.workflow-turnaround-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--workflow-turnaround-blue); }
.workflow-turnaround-stat.is-green::before { background: var(--workflow-turnaround-green); }
.workflow-turnaround-stat.is-orange::before { background: var(--workflow-turnaround-orange); }
.workflow-turnaround-stat.is-purple::before { background: var(--workflow-turnaround-purple); }
.workflow-turnaround-stat.is-red::before { background: var(--workflow-turnaround-red); }
.workflow-turnaround-stat.is-amber::before { background: var(--workflow-turnaround-amber); }
.workflow-turnaround-stat-label { overflow: hidden; color: var(--workflow-turnaround-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.workflow-turnaround-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.workflow-turnaround-stat-note { margin-top: 5px; color: var(--workflow-turnaround-muted); font-size: 9px; line-height: 1.4; }

.workflow-turnaround-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 18px; margin-bottom: 18px; }
.workflow-turnaround-card { overflow: hidden; border: 1px solid var(--workflow-turnaround-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.workflow-turnaround-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--workflow-turnaround-border); }
.workflow-turnaround-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.workflow-turnaround-card-head p { margin: 4px 0 0; color: var(--workflow-turnaround-muted); font-size: 10px; line-height: 1.45; }
.workflow-turnaround-card-body { padding: 18px 19px; }
.workflow-turnaround-bars,
.workflow-turnaround-comparison { display: grid; align-content: center; gap: 13px; min-height: 245px; }
.workflow-turnaround-row { display: grid; grid-template-columns: minmax(145px, 175px) minmax(100px, 1fr) 55px; align-items: center; gap: 10px; }
.workflow-turnaround-name { overflow: hidden; color: #485360; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.workflow-turnaround-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.workflow-turnaround-fill { width: var(--workflow-turnaround-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, var(--workflow-turnaround-blue), var(--workflow-turnaround-purple)); }
.workflow-turnaround-fill.is-good { background: linear-gradient(90deg, var(--workflow-turnaround-green), #5ca689); }
.workflow-turnaround-fill.is-warn { background: linear-gradient(90deg, var(--workflow-turnaround-orange), #efb34f); }
.workflow-turnaround-fill.is-bad { background: linear-gradient(90deg, var(--workflow-turnaround-red), #c94249); }
.workflow-turnaround-fill.is-neutral { background: #aab2bc; }
.workflow-turnaround-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; white-space: nowrap; }

.workflow-turnaround-sla-meter { min-height: 245px; display: flex; align-items: center; gap: 22px; }
.workflow-turnaround-sla-ring { position: relative; flex: 0 0 138px; width: 138px; height: 138px; border-radius: 50%; background: conic-gradient(var(--workflow-turnaround-green) 0 var(--workflow-turnaround-compliance, 0%), #edf0f3 var(--workflow-turnaround-compliance, 0%) 100%); }
.workflow-turnaround-sla-ring::after { content: ''; position: absolute; inset: 24px; border-radius: 50%; background: #fff; }
.workflow-turnaround-sla-label { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; text-align: center; }
.workflow-turnaround-sla-label strong { display: block; color: #222933; font-size: 21px; }
.workflow-turnaround-sla-label span { display: block; margin-top: 2px; color: var(--workflow-turnaround-muted); font-size: 8px; }
.workflow-turnaround-sla-list { min-width: 0; display: grid; flex: 1; gap: 9px; }
.workflow-turnaround-sla-list > div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #edf0f2; color: #596370; font-size: 9px; }
.workflow-turnaround-sla-list > div:last-child { padding-bottom: 0; border-bottom: 0; }
.workflow-turnaround-sla-list b { color: #303943; font-size: 9.5px; text-align: right; }

.workflow-turnaround-insights { display: grid; align-content: start; gap: 10px; min-height: 245px; }
.workflow-turnaround-insight { padding: 13px 14px; border: 1px solid var(--workflow-turnaround-border); border-radius: 10px; background: #fafbfd; }
.workflow-turnaround-insight.is-good { border-color: #cfe4d9; background: var(--workflow-turnaround-green-soft); }
.workflow-turnaround-insight.is-warn { border-color: #efd7aa; background: var(--workflow-turnaround-orange-soft); }
.workflow-turnaround-insight.is-bad { border-color: #efc7cb; background: var(--workflow-turnaround-red-soft); }
.workflow-turnaround-insight strong,
.workflow-turnaround-comparison-empty strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.workflow-turnaround-insight p,
.workflow-turnaround-comparison-empty p { margin: 0; color: var(--workflow-turnaround-muted); font-size: 9.5px; line-height: 1.55; }
.workflow-turnaround-comparison-empty { padding: 16px; border: 1px dashed #ccd4dc; border-radius: 11px; background: #fafbfd; text-align: center; }

.workflow-turnaround-table-card { margin-bottom: 0; }
.workflow-turnaround-table-card .table-region { min-width: 0; }
.workflow-turnaround-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--workflow-turnaround-border); border-radius: 0; background: #fafbfc; }
.workflow-turnaround-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.workflow-turnaround-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.workflow-turnaround-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.workflow-turnaround-table-card .table-toolbar > .table-export { display: none; }
.workflow-turnaround-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.workflow-turnaround-table { width: 100%; min-width: 1220px; }
.workflow-turnaround-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--workflow-turnaround-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.workflow-turnaround-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--workflow-turnaround-border); color: #414b57; font-size: 10px; vertical-align: middle; }
.workflow-turnaround-table tbody tr:hover { background: #fbfcfd; }
.workflow-turnaround-table tbody td:first-child { min-width: 220px; color: #252c34; }
.workflow-turnaround-delta,
.workflow-turnaround-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.workflow-turnaround-delta.is-good,
.workflow-turnaround-status.is-good { background: var(--workflow-turnaround-green-soft); color: var(--workflow-turnaround-green); }
.workflow-turnaround-delta.is-warn,
.workflow-turnaround-status.is-warn { background: var(--workflow-turnaround-orange-soft); color: #985800; }
.workflow-turnaround-delta.is-bad,
.workflow-turnaround-status.is-bad { background: var(--workflow-turnaround-red-soft); color: var(--workflow-turnaround-red); }
.workflow-turnaround-delta.is-neutral,
.workflow-turnaround-status.is-neutral { background: #f0f2f4; color: #68717c; }
.workflow-turnaround-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.workflow-turnaround-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--workflow-turnaround-border); background: #fafbfc; font-size: 10px; }
.workflow-turnaround-empty { padding: 48px 20px; color: var(--workflow-turnaround-muted); text-align: center; }
.workflow-turnaround-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.workflow-turnaround-empty h3 { margin: 11px 0 4px; color: var(--workflow-turnaround-strong); font-size: 14px; }
.workflow-turnaround-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .workflow-turnaround-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .workflow-turnaround-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .workflow-turnaround-filters label,
  .workflow-turnaround-filters label:first-child,
  .workflow-turnaround-filters .workflow-turnaround-award-filter { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .workflow-turnaround-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .workflow-turnaround-report-head { align-items: flex-start; flex-direction: column; }
  .workflow-turnaround-report-head .ph-actions,
  .workflow-turnaround-report-head .ph-actions .btn { width: 100%; }
  .workflow-turnaround-stats { grid-template-columns: 1fr; }
  .workflow-turnaround-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .workflow-turnaround-table-card .table-search-wrap { width: 100%; max-width: none; }
  .workflow-turnaround-table tbody tr { margin-bottom: 10px; border: 1px solid var(--workflow-turnaround-border); border-radius: 10px; background: #fff; }
  .workflow-turnaround-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .workflow-turnaround-filters { align-items: stretch; flex-direction: column; }
  .workflow-turnaround-filters label,
  .workflow-turnaround-filters label:first-child,
  .workflow-turnaround-filters .workflow-turnaround-award-filter { min-width: 0; width: 100%; flex-basis: auto; }
  .workflow-turnaround-filters .btn { width: 100%; }
  .workflow-turnaround-row { grid-template-columns: 1fr 55px; gap: 7px 9px; }
  .workflow-turnaround-name { grid-column: 1 / -1; }
  .workflow-turnaround-sla-meter { flex-direction: column; }
  .workflow-turnaround-sla-list { width: 100%; }
}

/* Recommendation Outcomes report */
.recommendation-outcomes-report-page {
  --recommendation-outcomes-red: #a80f17;
  --recommendation-outcomes-red-soft: #fcedef;
  --recommendation-outcomes-orange: #f39200;
  --recommendation-outcomes-orange-soft: #fff3df;
  --recommendation-outcomes-blue: #003b70;
  --recommendation-outcomes-blue-soft: #eaf2f8;
  --recommendation-outcomes-green: #24785b;
  --recommendation-outcomes-green-soft: #e9f6f0;
  --recommendation-outcomes-purple: #6650a4;
  --recommendation-outcomes-purple-soft: #f0ecfa;
  --recommendation-outcomes-amber: #a66808;
  --recommendation-outcomes-border: #e3e6ea;
  --recommendation-outcomes-muted: #6d7581;
  --recommendation-outcomes-strong: #11151b;
}
.recommendation-outcomes-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.recommendation-outcomes-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--recommendation-outcomes-red); }
.recommendation-outcomes-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--recommendation-outcomes-orange); }
.recommendation-outcomes-report-head h1 { margin: 8px 0 7px; color: var(--recommendation-outcomes-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.recommendation-outcomes-report-head p { max-width: 900px; margin: 0; color: var(--recommendation-outcomes-muted); font-size: 12px; line-height: 1.65; }
.recommendation-outcomes-report-head .ph-actions { flex: 0 0 auto; }
.recommendation-outcomes-report-head .btn { gap: 7px; }
.recommendation-outcomes-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.recommendation-outcomes-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--recommendation-outcomes-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.recommendation-outcomes-filters label { min-width: 145px; flex: 1 1 145px; }
.recommendation-outcomes-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.recommendation-outcomes-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--recommendation-outcomes-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.recommendation-outcomes-filters select:focus { border-color: var(--recommendation-outcomes-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.recommendation-outcomes-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.recommendation-outcomes-filters .btn svg { width: 13px; height: 13px; }
.recommendation-outcomes-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.recommendation-outcomes-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.recommendation-outcomes-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--recommendation-outcomes-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.recommendation-outcomes-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--recommendation-outcomes-blue); }
.recommendation-outcomes-stat.is-green::before { background: var(--recommendation-outcomes-green); }
.recommendation-outcomes-stat.is-orange::before { background: var(--recommendation-outcomes-orange); }
.recommendation-outcomes-stat.is-red::before { background: var(--recommendation-outcomes-red); }
.recommendation-outcomes-stat.is-purple::before { background: var(--recommendation-outcomes-purple); }
.recommendation-outcomes-stat.is-amber::before { background: var(--recommendation-outcomes-amber); }
.recommendation-outcomes-stat-label { overflow: hidden; color: var(--recommendation-outcomes-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.recommendation-outcomes-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.recommendation-outcomes-stat-note { margin-top: 5px; color: var(--recommendation-outcomes-muted); font-size: 9px; line-height: 1.4; }

.recommendation-outcomes-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 18px; margin-bottom: 18px; }
.recommendation-outcomes-card { overflow: hidden; border: 1px solid var(--recommendation-outcomes-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.recommendation-outcomes-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--recommendation-outcomes-border); }
.recommendation-outcomes-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.recommendation-outcomes-card-head p { margin: 4px 0 0; color: var(--recommendation-outcomes-muted); font-size: 10px; line-height: 1.45; }
.recommendation-outcomes-card-body { padding: 18px 19px; }
.recommendation-outcomes-bars { display: grid; align-content: center; gap: 14px; min-height: 230px; }
.recommendation-outcomes-row { display: grid; grid-template-columns: minmax(125px, 150px) minmax(100px, 1fr) 42px; align-items: center; gap: 10px; }
.recommendation-outcomes-name { color: #485360; font-size: 10px; font-weight: 700; }
.recommendation-outcomes-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.recommendation-outcomes-fill,
.recommendation-outcomes-stage-fill { width: var(--recommendation-outcomes-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; }
.recommendation-outcomes-fill.is-recommend { background: var(--recommendation-outcomes-green); }
.recommendation-outcomes-fill.is-refer { background: var(--recommendation-outcomes-orange); }
.recommendation-outcomes-fill.is-decline { background: var(--recommendation-outcomes-red); }
.recommendation-outcomes-fill.is-pending { background: var(--recommendation-outcomes-blue); }
.recommendation-outcomes-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }

.recommendation-outcomes-summary { min-height: 230px; display: flex; align-items: center; justify-content: center; gap: 24px; }
.recommendation-outcomes-ring { position: relative; flex: 0 0 150px; width: 150px; height: 150px; border-radius: 50%; background: var(--recommendation-outcomes-donut, #edf0f3); }
.recommendation-outcomes-ring::after { content: ''; position: absolute; inset: 27px; border-radius: 50%; background: #fff; }
.recommendation-outcomes-ring-label { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; text-align: center; }
.recommendation-outcomes-ring-label strong { display: block; color: #222933; font-size: 21px; }
.recommendation-outcomes-ring-label span { display: block; margin-top: 2px; color: var(--recommendation-outcomes-muted); font-size: 8px; }
.recommendation-outcomes-legend { display: grid; gap: 9px; }
.recommendation-outcomes-legend > div { display: flex; align-items: center; gap: 8px; color: #46505c; font-size: 9.5px; font-weight: 650; }
.recommendation-outcomes-legend span { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; }

.recommendation-outcomes-stage-bars { display: grid; align-content: center; gap: 13px; min-height: 245px; }
.recommendation-outcomes-stage-row { display: grid; grid-template-columns: minmax(145px, 180px) minmax(100px, 1fr) 48px; align-items: center; gap: 10px; }
.recommendation-outcomes-stage-name { overflow: hidden; color: #485360; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.recommendation-outcomes-stage-fill.is-good { background: linear-gradient(90deg, var(--recommendation-outcomes-green), #5ca689); }
.recommendation-outcomes-stage-fill.is-warn { background: linear-gradient(90deg, var(--recommendation-outcomes-orange), #efb34f); }
.recommendation-outcomes-stage-fill.is-bad { background: linear-gradient(90deg, var(--recommendation-outcomes-red), #c94249); }
.recommendation-outcomes-stage-fill.is-neutral { background: #aab2bc; }
.recommendation-outcomes-stage-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.recommendation-outcomes-insights { display: grid; align-content: start; gap: 10px; min-height: 245px; }
.recommendation-outcomes-insight { padding: 13px 14px; border: 1px solid var(--recommendation-outcomes-border); border-radius: 10px; background: #fafbfd; }
.recommendation-outcomes-insight.is-good { border-color: #cfe4d9; background: var(--recommendation-outcomes-green-soft); }
.recommendation-outcomes-insight.is-warn { border-color: #efd7aa; background: var(--recommendation-outcomes-orange-soft); }
.recommendation-outcomes-insight.is-bad { border-color: #efc7cb; background: var(--recommendation-outcomes-red-soft); }
.recommendation-outcomes-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.recommendation-outcomes-insight p { margin: 0; color: var(--recommendation-outcomes-muted); font-size: 9.5px; line-height: 1.55; }

.recommendation-outcomes-table-card { margin-bottom: 18px; }
.recommendation-outcomes-detail-card { margin-bottom: 0; }
.recommendation-outcomes-table-card .table-region { min-width: 0; }
.recommendation-outcomes-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--recommendation-outcomes-border); border-radius: 0; background: #fafbfc; }
.recommendation-outcomes-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.recommendation-outcomes-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.recommendation-outcomes-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.recommendation-outcomes-table-card .table-toolbar > .table-export { display: none; }
.recommendation-outcomes-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.recommendation-outcomes-table { width: 100%; min-width: 920px; }
.recommendation-outcomes-table.is-detail { min-width: 1160px; }
.recommendation-outcomes-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--recommendation-outcomes-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.recommendation-outcomes-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--recommendation-outcomes-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.recommendation-outcomes-table tbody tr:hover { background: #fbfcfd; }
.recommendation-outcomes-table.is-detail tbody td:nth-child(2) { min-width: 250px; color: #252c34; }
.recommendation-outcomes-pill,
.recommendation-outcomes-decision { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.recommendation-outcomes-pill.is-good,
.recommendation-outcomes-decision.is-recommend { background: var(--recommendation-outcomes-green-soft); color: var(--recommendation-outcomes-green); }
.recommendation-outcomes-pill.is-info { background: var(--recommendation-outcomes-blue-soft); color: var(--recommendation-outcomes-blue); }
.recommendation-outcomes-pill.is-warn,
.recommendation-outcomes-decision.is-refer { background: var(--recommendation-outcomes-orange-soft); color: #985800; }
.recommendation-outcomes-pill.is-bad,
.recommendation-outcomes-decision.is-decline { background: var(--recommendation-outcomes-red-soft); color: var(--recommendation-outcomes-red); }
.recommendation-outcomes-pill.is-neutral { background: #f0f2f4; color: #68717c; }
.recommendation-outcomes-decision.is-pending { background: var(--recommendation-outcomes-blue-soft); color: var(--recommendation-outcomes-blue); }
.recommendation-outcomes-reference { color: var(--recommendation-outcomes-blue); font-family: Consolas, 'Courier New', monospace; font-size: 9px; font-weight: 800; white-space: nowrap; }
.recommendation-outcomes-reference:hover { color: var(--recommendation-outcomes-red); text-decoration: underline; }
.recommendation-outcomes-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.recommendation-outcomes-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--recommendation-outcomes-border); background: #fafbfc; font-size: 10px; }
.recommendation-outcomes-empty { padding: 48px 20px; color: var(--recommendation-outcomes-muted); text-align: center; }
.recommendation-outcomes-empty.is-compact { padding: 32px 20px; }
.recommendation-outcomes-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.recommendation-outcomes-empty h3 { margin: 11px 0 4px; color: var(--recommendation-outcomes-strong); font-size: 14px; }
.recommendation-outcomes-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .recommendation-outcomes-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .recommendation-outcomes-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .recommendation-outcomes-filters label,
  .recommendation-outcomes-filters label:first-child { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .recommendation-outcomes-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .recommendation-outcomes-report-head { align-items: flex-start; flex-direction: column; }
  .recommendation-outcomes-report-head .ph-actions,
  .recommendation-outcomes-report-head .ph-actions .btn { width: 100%; }
  .recommendation-outcomes-stats { grid-template-columns: 1fr; }
  .recommendation-outcomes-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .recommendation-outcomes-table-card .table-search-wrap { width: 100%; max-width: none; }
  .recommendation-outcomes-table tbody tr { margin-bottom: 10px; border: 1px solid var(--recommendation-outcomes-border); border-radius: 10px; background: #fff; }
  .recommendation-outcomes-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .recommendation-outcomes-filters { align-items: stretch; flex-direction: column; }
  .recommendation-outcomes-filters label,
  .recommendation-outcomes-filters label:first-child { min-width: 0; width: 100%; flex-basis: auto; }
  .recommendation-outcomes-filters .btn { width: 100%; }
  .recommendation-outcomes-row,
  .recommendation-outcomes-stage-row { grid-template-columns: 1fr 48px; gap: 7px 9px; }
  .recommendation-outcomes-name,
  .recommendation-outcomes-stage-name { grid-column: 1 / -1; }
  .recommendation-outcomes-summary { flex-direction: column; }
}

/* Awards Granted report */
.awards-granted-report-page {
  --awards-granted-red: #a80f17;
  --awards-granted-red-soft: #fcedef;
  --awards-granted-orange: #f39200;
  --awards-granted-orange-soft: #fff3df;
  --awards-granted-blue: #003b70;
  --awards-granted-blue-soft: #eaf2f8;
  --awards-granted-green: #24785b;
  --awards-granted-green-soft: #e9f6f0;
  --awards-granted-purple: #6650a4;
  --awards-granted-purple-soft: #f0ecfa;
  --awards-granted-amber: #a66808;
  --awards-granted-border: #e3e6ea;
  --awards-granted-muted: #6d7581;
  --awards-granted-strong: #11151b;
}
.awards-granted-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.awards-granted-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--awards-granted-red); }
.awards-granted-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--awards-granted-orange); }
.awards-granted-report-head h1 { margin: 8px 0 7px; color: var(--awards-granted-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.awards-granted-report-head p { max-width: 900px; margin: 0; color: var(--awards-granted-muted); font-size: 12px; line-height: 1.65; }
.awards-granted-report-head .ph-actions { flex: 0 0 auto; }
.awards-granted-report-head .btn { gap: 7px; }
.awards-granted-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.awards-granted-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--awards-granted-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.awards-granted-filters label { min-width: 130px; flex: 1 1 130px; }
.awards-granted-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.awards-granted-filters .awards-granted-award-filter { min-width: 220px; flex-grow: 1.35; }
.awards-granted-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--awards-granted-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.awards-granted-filters select:focus { border-color: var(--awards-granted-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.awards-granted-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.awards-granted-filters .btn svg { width: 13px; height: 13px; }
.awards-granted-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.awards-granted-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.awards-granted-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--awards-granted-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.awards-granted-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--awards-granted-blue); }
.awards-granted-stat.is-green::before { background: var(--awards-granted-green); }
.awards-granted-stat.is-orange::before { background: var(--awards-granted-orange); }
.awards-granted-stat.is-red::before { background: var(--awards-granted-red); }
.awards-granted-stat.is-purple::before { background: var(--awards-granted-purple); }
.awards-granted-stat.is-amber::before { background: var(--awards-granted-amber); }
.awards-granted-stat-label { overflow: hidden; color: var(--awards-granted-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.awards-granted-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.awards-granted-stat-note { margin-top: 5px; color: var(--awards-granted-muted); font-size: 9px; line-height: 1.4; }

.awards-granted-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: 18px; margin-bottom: 18px; }
.awards-granted-card { overflow: hidden; border: 1px solid var(--awards-granted-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.awards-granted-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--awards-granted-border); }
.awards-granted-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.awards-granted-card-head p { margin: 4px 0 0; color: var(--awards-granted-muted); font-size: 10px; line-height: 1.45; }
.awards-granted-card-body { padding: 18px 19px; }
.awards-granted-bars { display: grid; align-content: center; gap: 14px; min-height: 190px; }
.awards-granted-row,
.awards-granted-college-row { display: grid; grid-template-columns: minmax(135px, 180px) minmax(100px, 1fr) 42px; align-items: center; gap: 10px; }
.awards-granted-name,
.awards-granted-college-name { overflow: hidden; color: #485360; font-size: 10px; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.awards-granted-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.awards-granted-fill,
.awards-granted-college-fill { width: var(--awards-granted-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; }
.awards-granted-fill.is-research { background: var(--awards-granted-blue); }
.awards-granted-fill.is-innovation { background: var(--awards-granted-orange); }
.awards-granted-fill.is-other { background: var(--awards-granted-purple); }
.awards-granted-college-fill.is-good { background: linear-gradient(90deg, var(--awards-granted-blue), var(--awards-granted-green)); }
.awards-granted-college-fill.is-warn { background: linear-gradient(90deg, var(--awards-granted-orange), #efb34f); }
.awards-granted-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.awards-granted-colleges { display: grid; align-content: center; gap: 13px; min-height: 235px; }
.awards-granted-inline-empty { align-self: center; color: var(--awards-granted-muted); text-align: center; }
.awards-granted-inline-empty strong { color: #303943; font-size: 11px; }
.awards-granted-inline-empty p { margin: 5px 0 0; font-size: 9.5px; }
.awards-granted-insights { display: grid; align-content: start; gap: 10px; min-height: 235px; }
.awards-granted-insight { padding: 13px 14px; border: 1px solid var(--awards-granted-border); border-radius: 10px; background: #fafbfd; }
.awards-granted-insight.is-good { border-color: #cfe4d9; background: var(--awards-granted-green-soft); }
.awards-granted-insight.is-info { border-color: #cbdceb; background: var(--awards-granted-blue-soft); }
.awards-granted-insight.is-warn { border-color: #efd7aa; background: var(--awards-granted-orange-soft); }
.awards-granted-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.awards-granted-insight p { margin: 0; color: var(--awards-granted-muted); font-size: 9.5px; line-height: 1.55; }

.awards-granted-table-card { margin-bottom: 18px; }
.awards-granted-recipient-card { margin-bottom: 0; }
.awards-granted-table-card .table-region { min-width: 0; }
.awards-granted-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--awards-granted-border); border-radius: 0; background: #fafbfc; }
.awards-granted-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.awards-granted-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.awards-granted-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.awards-granted-table-card .table-toolbar > .table-export { display: none; }
.awards-granted-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.awards-granted-table { width: 100%; min-width: 960px; }
.awards-granted-table.is-recipients { min-width: 1180px; }
.awards-granted-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--awards-granted-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.awards-granted-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--awards-granted-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.awards-granted-table tbody tr:hover { background: #fbfcfd; }
.awards-granted-table tbody td:first-child { min-width: 245px; color: #252c34; }
.awards-granted-group,
.awards-granted-tier,
.awards-granted-gender,
.awards-granted-rate { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.awards-granted-group.is-research { background: var(--awards-granted-blue-soft); color: var(--awards-granted-blue); }
.awards-granted-group.is-innovation { background: var(--awards-granted-orange-soft); color: #985800; }
.awards-granted-group.is-other { background: var(--awards-granted-purple-soft); color: var(--awards-granted-purple); }
.awards-granted-tier { background: #f1f3f5; color: #596471; }
.awards-granted-gender { background: #f0eef6; color: #615778; }
.awards-granted-rate.is-good { background: var(--awards-granted-green-soft); color: var(--awards-granted-green); }
.awards-granted-rate.is-info { background: var(--awards-granted-blue-soft); color: var(--awards-granted-blue); }
.awards-granted-rate.is-warn { background: var(--awards-granted-orange-soft); color: #985800; }
.awards-granted-recipient { display: flex; align-items: center; gap: 9px; }
.awards-granted-avatar { flex: 0 0 31px; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; background: var(--awards-granted-blue-soft); color: var(--awards-granted-blue); font-size: 8px; font-weight: 800; }
.awards-granted-recipient strong { display: block; }
.awards-granted-recipient small { display: block; margin-top: 2px; color: var(--awards-granted-muted); font-size: 8px; }
.awards-granted-reference { color: var(--awards-granted-blue); font-family: Consolas, 'Courier New', monospace; font-size: 9px; font-weight: 800; white-space: nowrap; }
.awards-granted-reference:hover { color: var(--awards-granted-red); text-decoration: underline; }
.awards-granted-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.awards-granted-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--awards-granted-border); background: #fafbfc; font-size: 10px; }
.awards-granted-empty { padding: 48px 20px; color: var(--awards-granted-muted); text-align: center; }
.awards-granted-empty.is-compact { padding: 32px 20px; }
.awards-granted-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.awards-granted-empty h3 { margin: 11px 0 4px; color: var(--awards-granted-strong); font-size: 14px; }
.awards-granted-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .awards-granted-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .awards-granted-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .awards-granted-filters label,
  .awards-granted-filters label:first-child,
  .awards-granted-filters .awards-granted-award-filter { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .awards-granted-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .awards-granted-report-head { align-items: flex-start; flex-direction: column; }
  .awards-granted-report-head .ph-actions,
  .awards-granted-report-head .ph-actions .btn { width: 100%; }
  .awards-granted-stats { grid-template-columns: 1fr; }
  .awards-granted-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .awards-granted-table-card .table-search-wrap { width: 100%; max-width: none; }
  .awards-granted-table tbody tr { margin-bottom: 10px; border: 1px solid var(--awards-granted-border); border-radius: 10px; background: #fff; }
  .awards-granted-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .awards-granted-filters { align-items: stretch; flex-direction: column; }
  .awards-granted-filters label,
  .awards-granted-filters label:first-child,
  .awards-granted-filters .awards-granted-award-filter { min-width: 0; width: 100%; flex-basis: auto; }
  .awards-granted-filters .btn { width: 100%; }
  .awards-granted-row,
  .awards-granted-college-row { grid-template-columns: 1fr 42px; gap: 7px 9px; }
  .awards-granted-name,
  .awards-granted-college-name { grid-column: 1 / -1; white-space: normal; }
}

/* Award Success Rate report */
.award-success-report-page {
  --award-success-red: #a80f17;
  --award-success-red-soft: #fcedef;
  --award-success-orange: #f39200;
  --award-success-orange-soft: #fff3df;
  --award-success-blue: #003b70;
  --award-success-blue-soft: #eaf2f8;
  --award-success-green: #24785b;
  --award-success-green-soft: #e9f6f0;
  --award-success-purple: #6650a4;
  --award-success-purple-soft: #f0ecfa;
  --award-success-amber: #a66808;
  --award-success-border: #e3e6ea;
  --award-success-muted: #6d7581;
  --award-success-strong: #11151b;
}
.award-success-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.award-success-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--award-success-red); }
.award-success-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--award-success-orange); }
.award-success-report-head h1 { margin: 8px 0 7px; color: var(--award-success-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.award-success-report-head p { max-width: 920px; margin: 0; color: var(--award-success-muted); font-size: 12px; line-height: 1.65; }
.award-success-report-head .ph-actions { flex: 0 0 auto; }
.award-success-report-head .btn { gap: 7px; }
.award-success-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.award-success-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--award-success-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.award-success-filters label { min-width: 130px; flex: 1 1 130px; }
.award-success-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.award-success-filters .award-success-award-filter { min-width: 220px; flex-grow: 1.35; }
.award-success-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--award-success-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.award-success-filters select:focus { border-color: var(--award-success-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.award-success-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.award-success-filters .btn svg { width: 13px; height: 13px; }
.award-success-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.award-success-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.award-success-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--award-success-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.award-success-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--award-success-blue); }
.award-success-stat.is-green::before { background: var(--award-success-green); }
.award-success-stat.is-orange::before { background: var(--award-success-orange); }
.award-success-stat.is-red::before { background: var(--award-success-red); }
.award-success-stat.is-purple::before { background: var(--award-success-purple); }
.award-success-stat.is-amber::before { background: var(--award-success-amber); }
.award-success-stat-label { overflow: hidden; color: var(--award-success-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.award-success-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.award-success-stat-value.is-text { overflow: hidden; padding-top: 3px; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.award-success-stat-note { margin-top: 5px; color: var(--award-success-muted); font-size: 9px; line-height: 1.4; }

.award-success-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); gap: 18px; margin-bottom: 18px; }
.award-success-card { overflow: hidden; border: 1px solid var(--award-success-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.award-success-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--award-success-border); }
.award-success-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.award-success-card-head p { margin: 4px 0 0; color: var(--award-success-muted); font-size: 10px; line-height: 1.45; }
.award-success-card-body { padding: 18px 19px; }
.award-success-bars { display: grid; align-content: center; gap: 14px; min-height: 230px; }
.award-success-row { display: grid; grid-template-columns: minmax(150px, 190px) minmax(100px, 1fr) 48px; align-items: center; gap: 10px; }
.award-success-name { overflow: hidden; color: #485360; font-size: 10px; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.award-success-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.award-success-fill { width: var(--award-success-width, 0%); height: 100%; min-width: 2px; border-radius: inherit; }
.award-success-fill.is-high { background: linear-gradient(90deg, var(--award-success-green), #67ad90); }
.award-success-fill.is-mid { background: linear-gradient(90deg, var(--award-success-blue), #5e8fb6); }
.award-success-fill.is-low { background: linear-gradient(90deg, var(--award-success-orange), #f4b655); }
.award-success-fill.is-na { background: #b5bcc5; }
.award-success-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }

.award-success-summary { min-height: 230px; display: flex; align-items: center; justify-content: center; gap: 24px; }
.award-success-ring { position: relative; flex: 0 0 150px; width: 150px; height: 150px; border-radius: 50%; background: conic-gradient(var(--award-success-green) 0 var(--award-success-rate, 0%), #edf0f3 var(--award-success-rate, 0%) 100%); }
.award-success-ring::after { content: ''; position: absolute; inset: 27px; border-radius: 50%; background: #fff; }
.award-success-ring-label { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; text-align: center; }
.award-success-ring-label strong { display: block; color: #222933; font-size: 22px; }
.award-success-ring-label span { display: block; margin-top: 2px; color: var(--award-success-muted); font-size: 8px; }
.award-success-list { min-width: 190px; display: grid; gap: 9px; }
.award-success-list > div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #edf0f2; color: #515b67; font-size: 9px; }
.award-success-list > div:last-child { padding-bottom: 0; border-bottom: 0; }
.award-success-list b { color: #262e37; font-size: 10px; }

.award-success-funnel { min-height: 235px; display: grid; align-content: center; gap: 12px; }
.award-success-funnel-row { display: grid; grid-template-columns: 145px minmax(160px, 1fr) 52px; align-items: center; gap: 10px; }
.award-success-funnel-label { color: #4f5966; font-size: 10px; font-weight: 700; }
.award-success-funnel-track { overflow: hidden; height: 26px; border-radius: 7px; background: #edf0f3; }
.award-success-funnel-bar { width: var(--award-success-width, 0%); height: 100%; display: flex; align-items: center; overflow: hidden; padding: 0 10px; border-radius: inherit; color: #fff; font-size: 8px; font-weight: 800; white-space: nowrap; }
.award-success-funnel-bar.is-applications { background: var(--award-success-blue); }
.award-success-funnel-bar.is-decisions { background: var(--award-success-purple); }
.award-success-funnel-bar.is-awards { background: var(--award-success-green); }
.award-success-funnel-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.award-success-insights { min-height: 235px; display: grid; align-content: start; gap: 10px; }
.award-success-insight { padding: 13px 14px; border: 1px solid var(--award-success-border); border-radius: 10px; background: #fafbfd; }
.award-success-insight.is-good { border-color: #cfe4d9; background: var(--award-success-green-soft); }
.award-success-insight.is-info { border-color: #cbdceb; background: var(--award-success-blue-soft); }
.award-success-insight.is-warn { border-color: #efd7aa; background: var(--award-success-orange-soft); }
.award-success-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.award-success-insight p { margin: 0; color: var(--award-success-muted); font-size: 9.5px; line-height: 1.55; }

.award-success-table-card { margin-bottom: 18px; }
.award-success-tier-card { margin-bottom: 0; }
.award-success-table-card .table-region { min-width: 0; }
.award-success-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--award-success-border); border-radius: 0; background: #fafbfc; }
.award-success-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.award-success-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.award-success-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.award-success-table-card .table-toolbar > .table-export { display: none; }
.award-success-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.award-success-table { width: 100%; min-width: 980px; }
.award-success-table.is-awards { min-width: 1190px; }
.award-success-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--award-success-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.award-success-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--award-success-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.award-success-table tbody tr:hover { background: #fbfcfd; }
.award-success-table.is-awards tbody td:first-child { min-width: 260px; color: #252c34; }
.award-success-group,
.award-success-tier,
.award-success-rate,
.award-success-competitive { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.award-success-group.is-research { background: var(--award-success-blue-soft); color: var(--award-success-blue); }
.award-success-group.is-innovation { background: var(--award-success-orange-soft); color: #985800; }
.award-success-group.is-other { background: var(--award-success-purple-soft); color: var(--award-success-purple); }
.award-success-tier { background: #f1f3f5; color: #596471; }
.award-success-rate.is-high { background: var(--award-success-green-soft); color: var(--award-success-green); }
.award-success-rate.is-mid { background: var(--award-success-blue-soft); color: var(--award-success-blue); }
.award-success-rate.is-low { background: var(--award-success-orange-soft); color: #985800; }
.award-success-rate.is-na { background: #f1f3f5; color: #65707c; }
.award-success-competitive.is-bad { background: var(--award-success-red-soft); color: var(--award-success-red); }
.award-success-competitive.is-warn { background: var(--award-success-orange-soft); color: #985800; }
.award-success-competitive.is-info { background: var(--award-success-blue-soft); color: var(--award-success-blue); }
.award-success-competitive.is-neutral { background: #f1f3f5; color: #65707c; }
.award-success-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.award-success-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--award-success-border); background: #fafbfc; font-size: 10px; }
.award-success-empty { padding: 48px 20px; color: var(--award-success-muted); text-align: center; }
.award-success-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.award-success-empty h3 { margin: 11px 0 4px; color: var(--award-success-strong); font-size: 14px; }
.award-success-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .award-success-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .award-success-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .award-success-filters label,
  .award-success-filters label:first-child,
  .award-success-filters .award-success-award-filter { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .award-success-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .award-success-report-head { align-items: flex-start; flex-direction: column; }
  .award-success-report-head .ph-actions,
  .award-success-report-head .ph-actions .btn { width: 100%; }
  .award-success-stats { grid-template-columns: 1fr; }
  .award-success-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .award-success-table-card .table-search-wrap { width: 100%; max-width: none; }
  .award-success-table tbody tr { margin-bottom: 10px; border: 1px solid var(--award-success-border); border-radius: 10px; background: #fff; }
  .award-success-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .award-success-filters { align-items: stretch; flex-direction: column; }
  .award-success-filters label,
  .award-success-filters label:first-child,
  .award-success-filters .award-success-award-filter { min-width: 0; width: 100%; flex-basis: auto; }
  .award-success-filters .btn { width: 100%; }
  .award-success-row { grid-template-columns: 1fr 48px; gap: 7px 9px; }
  .award-success-name { grid-column: 1 / -1; white-space: normal; }
  .award-success-summary { flex-direction: column; }
  .award-success-funnel-row { grid-template-columns: 1fr 45px; gap: 7px 9px; }
  .award-success-funnel-label { grid-column: 1 / -1; }
}

/* Historical Award Trends report */
.historical-trends-report-page {
  --historical-trends-red: #a80f17;
  --historical-trends-red-soft: #fcedef;
  --historical-trends-orange: #f39200;
  --historical-trends-orange-soft: #fff3df;
  --historical-trends-blue: #003b70;
  --historical-trends-blue-soft: #eaf2f8;
  --historical-trends-green: #24785b;
  --historical-trends-green-soft: #e9f6f0;
  --historical-trends-purple: #6650a4;
  --historical-trends-purple-soft: #f0ecfa;
  --historical-trends-amber: #a66808;
  --historical-trends-border: #e3e6ea;
  --historical-trends-muted: #6d7581;
  --historical-trends-strong: #11151b;
}
.historical-trends-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.historical-trends-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--historical-trends-red); }
.historical-trends-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--historical-trends-orange); }
.historical-trends-report-head h1 { margin: 8px 0 7px; color: var(--historical-trends-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 36px); font-weight: 500; letter-spacing: -.025em; }
.historical-trends-report-head p { max-width: 920px; margin: 0; color: var(--historical-trends-muted); font-size: 12px; line-height: 1.65; }
.historical-trends-report-head .ph-actions { flex: 0 0 auto; }
.historical-trends-report-head .btn { gap: 7px; }
.historical-trends-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.historical-trends-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--historical-trends-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.historical-trends-filters label { min-width: 130px; flex: 1 1 130px; }
.historical-trends-filters label:first-child { min-width: 145px; flex-basis: 145px; }
.historical-trends-filters .historical-trends-award-filter { min-width: 220px; flex-grow: 1.35; }
.historical-trends-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--historical-trends-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.historical-trends-filters select:focus { border-color: var(--historical-trends-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.historical-trends-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.historical-trends-filters .btn svg { width: 13px; height: 13px; }
.historical-trends-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.historical-trends-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.historical-trends-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--historical-trends-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.historical-trends-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--historical-trends-blue); }
.historical-trends-stat.is-green::before { background: var(--historical-trends-green); }
.historical-trends-stat.is-orange::before { background: var(--historical-trends-orange); }
.historical-trends-stat.is-red::before { background: var(--historical-trends-red); }
.historical-trends-stat.is-purple::before { background: var(--historical-trends-purple); }
.historical-trends-stat.is-amber::before { background: var(--historical-trends-amber); }
.historical-trends-stat-label { overflow: hidden; color: var(--historical-trends-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.historical-trends-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.historical-trends-stat-value.is-text { overflow: hidden; padding-top: 3px; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.historical-trends-stat-note { margin-top: 5px; color: var(--historical-trends-muted); font-size: 9px; line-height: 1.4; }

.historical-trends-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); gap: 18px; margin-bottom: 18px; }
.historical-trends-card { overflow: hidden; border: 1px solid var(--historical-trends-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.historical-trends-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--historical-trends-border); }
.historical-trends-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.historical-trends-card-head p { margin: 4px 0 0; color: var(--historical-trends-muted); font-size: 10px; line-height: 1.45; }
.historical-trends-card-body { padding: 18px 19px; }
.historical-trends-chart { position: relative; height: 300px; padding: 28px 22px 42px 48px; }
.historical-trends-chart-grid { position: absolute; inset: 28px 22px 42px 48px; display: grid; grid-template-rows: repeat(5,1fr); }
.historical-trends-chart-grid span { position: relative; border-top: 1px solid #edf0f2; }
.historical-trends-chart-grid span em { position: absolute; left: -34px; top: -7px; color: #8b94a0; font-size: 8px; font-style: normal; }
.historical-trends-chart-years { position: absolute; left: 58px; right: 32px; bottom: 13px; display: grid; grid-template-columns: repeat(5,1fr); }
.historical-trends-chart-years span { color: #697380; font-size: 8px; text-align: center; }
.historical-trends-line-svg { position: absolute; left: 58px; right: 32px; top: 31px; bottom: 45px; width: calc(100% - 90px); height: calc(100% - 76px); overflow: visible; }
.historical-trends-line-svg polyline { fill: none; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.historical-trends-line-svg polyline.is-applications { stroke: var(--historical-trends-blue); }
.historical-trends-line-svg polyline.is-awards { stroke: var(--historical-trends-green); }
.historical-trends-line-svg circle.is-applications { fill: var(--historical-trends-blue); }
.historical-trends-line-svg circle.is-awards { fill: var(--historical-trends-green); }
.historical-trends-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 4px; }
.historical-trends-legend span { display: inline-flex; align-items: center; gap: 6px; color: #596471; font-size: 8px; }
.historical-trends-legend i { width: 9px; height: 9px; border-radius: 50%; }
.historical-trends-legend i.is-applications { background: var(--historical-trends-blue); }
.historical-trends-legend i.is-awards { background: var(--historical-trends-green); }

.historical-trends-summary-bars,
.historical-trends-rate-bars { min-height: 300px; display: grid; align-content: center; gap: 13px; }
.historical-trends-summary-row,
.historical-trends-rate-row { display: grid; grid-template-columns: minmax(125px, 160px) minmax(100px,1fr) 48px; align-items: center; gap: 10px; }
.historical-trends-summary-name,
.historical-trends-rate-name { color: #485360; font-size: 10px; font-weight: 700; }
.historical-trends-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.historical-trends-summary-fill,
.historical-trends-rate-fill { width: var(--historical-trends-width,0%); height: 100%; min-width: 2px; border-radius: inherit; }
.historical-trends-summary-fill { background: var(--historical-trends-blue); }
.historical-trends-summary-fill.is-leading { background: var(--historical-trends-green); }
.historical-trends-rate-fill.is-high { background: linear-gradient(90deg,var(--historical-trends-green),#67ad90); }
.historical-trends-rate-fill.is-mid { background: linear-gradient(90deg,var(--historical-trends-blue),#5e8fb6); }
.historical-trends-rate-fill.is-low { background: linear-gradient(90deg,var(--historical-trends-orange),#f4b655); }
.historical-trends-rate-fill.is-na { background: #b5bcc5; }
.historical-trends-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.historical-trends-insights { min-height: 300px; display: grid; align-content: start; gap: 10px; }
.historical-trends-insight { padding: 13px 14px; border: 1px solid var(--historical-trends-border); border-radius: 10px; background: #fafbfd; }
.historical-trends-insight.is-good { border-color: #cfe4d9; background: var(--historical-trends-green-soft); }
.historical-trends-insight.is-info { border-color: #cbdceb; background: var(--historical-trends-blue-soft); }
.historical-trends-insight.is-warn { border-color: #efd7aa; background: var(--historical-trends-orange-soft); }
.historical-trends-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.historical-trends-insight p { margin: 0; color: var(--historical-trends-muted); font-size: 9.5px; line-height: 1.55; }

.historical-trends-table-card { margin-bottom: 18px; }
.historical-trends-group-card { margin-bottom: 0; }
.historical-trends-table-card .table-region { min-width: 0; }
.historical-trends-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--historical-trends-border); border-radius: 0; background: #fafbfc; }
.historical-trends-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.historical-trends-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.historical-trends-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.historical-trends-table-card .table-toolbar > .table-export { display: none; }
.historical-trends-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.historical-trends-table { width: 100%; min-width: 1120px; }
.historical-trends-table.is-groups { min-width: 1180px; }
.historical-trends-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--historical-trends-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.historical-trends-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--historical-trends-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.historical-trends-table tbody tr:hover { background: #fbfcfd; }
.historical-trends-year,
.historical-trends-group,
.historical-trends-rate,
.historical-trends-change { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.historical-trends-year { background: #f1f3f5; color: #596471; }
.historical-trends-group.is-research { background: var(--historical-trends-blue-soft); color: var(--historical-trends-blue); }
.historical-trends-group.is-innovation { background: var(--historical-trends-orange-soft); color: #985800; }
.historical-trends-group.is-other { background: var(--historical-trends-purple-soft); color: var(--historical-trends-purple); }
.historical-trends-rate.is-high { background: var(--historical-trends-green-soft); color: var(--historical-trends-green); }
.historical-trends-rate.is-mid { background: var(--historical-trends-blue-soft); color: var(--historical-trends-blue); }
.historical-trends-rate.is-low { background: var(--historical-trends-orange-soft); color: #985800; }
.historical-trends-rate.is-na { background: #f1f3f5; color: #65707c; }
.historical-trends-change.is-up { background: var(--historical-trends-green-soft); color: var(--historical-trends-green); }
.historical-trends-change.is-flat { background: var(--historical-trends-blue-soft); color: var(--historical-trends-blue); }
.historical-trends-change.is-down { background: var(--historical-trends-red-soft); color: var(--historical-trends-red); }
.historical-trends-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.historical-trends-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--historical-trends-border); background: #fafbfc; font-size: 10px; }
.historical-trends-empty { padding: 48px 20px; color: var(--historical-trends-muted); text-align: center; }
.historical-trends-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.historical-trends-empty h3 { margin: 11px 0 4px; color: var(--historical-trends-strong); font-size: 14px; }
.historical-trends-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .historical-trends-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .historical-trends-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .historical-trends-filters label,
  .historical-trends-filters label:first-child,
  .historical-trends-filters .historical-trends-award-filter { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .historical-trends-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .historical-trends-report-head { align-items: flex-start; flex-direction: column; }
  .historical-trends-report-head .ph-actions,
  .historical-trends-report-head .ph-actions .btn { width: 100%; }
  .historical-trends-stats { grid-template-columns: 1fr; }
  .historical-trends-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .historical-trends-table-card .table-search-wrap { width: 100%; max-width: none; }
  .historical-trends-table tbody tr { margin-bottom: 10px; border: 1px solid var(--historical-trends-border); border-radius: 10px; background: #fff; }
  .historical-trends-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .historical-trends-filters { align-items: stretch; flex-direction: column; }
  .historical-trends-filters label,
  .historical-trends-filters label:first-child,
  .historical-trends-filters .historical-trends-award-filter { min-width: 0; width: 100%; flex-basis: auto; }
  .historical-trends-filters .btn { width: 100%; }
  .historical-trends-chart { height: 250px; padding-right: 6px; }
  .historical-trends-chart-grid { right: 6px; }
  .historical-trends-line-svg { right: 16px; width: calc(100% - 74px); }
  .historical-trends-chart-years { right: 16px; }
  .historical-trends-summary-row,
  .historical-trends-rate-row { grid-template-columns: 1fr 48px; gap: 7px 9px; }
  .historical-trends-summary-name,
  .historical-trends-rate-name { grid-column: 1 / -1; }
}

/* College Participation report */
.college-participation-report-page {
  --college-participation-red: #a80f17;
  --college-participation-red-soft: #fcedef;
  --college-participation-orange: #f39200;
  --college-participation-orange-soft: #fff3df;
  --college-participation-blue: #003b70;
  --college-participation-blue-soft: #eaf2f8;
  --college-participation-green: #24785b;
  --college-participation-green-soft: #e9f6f0;
  --college-participation-purple: #6650a4;
  --college-participation-purple-soft: #f0ecfa;
  --college-participation-amber: #a66808;
  --college-participation-border: #e3e6ea;
  --college-participation-muted: #6d7581;
  --college-participation-strong: #11151b;
}
.college-participation-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.college-participation-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--college-participation-red); }
.college-participation-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--college-participation-orange); }
.college-participation-report-head h1 { margin: 8px 0 7px; color: var(--college-participation-strong); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px,3vw,36px); font-weight: 500; letter-spacing: -.025em; }
.college-participation-report-head p { max-width: 930px; margin: 0; color: var(--college-participation-muted); font-size: 12px; line-height: 1.65; }
.college-participation-report-head .ph-actions { flex: 0 0 auto; }
.college-participation-report-head .btn { gap: 7px; }
.college-participation-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.college-participation-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--college-participation-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.college-participation-filters label { min-width: 130px; flex: 1 1 130px; }
.college-participation-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.college-participation-filters .college-participation-award-filter { min-width: 220px; flex-grow: 1.35; }
.college-participation-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--college-participation-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.college-participation-filters select:focus { border-color: var(--college-participation-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.college-participation-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.college-participation-filters .btn svg { width: 13px; height: 13px; }
.college-participation-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.college-participation-stats { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.college-participation-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--college-participation-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.college-participation-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--college-participation-blue); }
.college-participation-stat.is-green::before { background: var(--college-participation-green); }
.college-participation-stat.is-orange::before { background: var(--college-participation-orange); }
.college-participation-stat.is-red::before { background: var(--college-participation-red); }
.college-participation-stat.is-purple::before { background: var(--college-participation-purple); }
.college-participation-stat.is-amber::before { background: var(--college-participation-amber); }
.college-participation-stat-label { overflow: hidden; color: var(--college-participation-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.college-participation-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.college-participation-stat-value.is-text { overflow: hidden; padding-top: 3px; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.college-participation-stat-note { overflow: hidden; margin-top: 5px; color: var(--college-participation-muted); font-size: 9px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }

.college-participation-grid { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr); gap: 18px; margin-bottom: 18px; }
.college-participation-card { overflow: hidden; border: 1px solid var(--college-participation-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.college-participation-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--college-participation-border); }
.college-participation-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.college-participation-card-head p { margin: 4px 0 0; color: var(--college-participation-muted); font-size: 10px; line-height: 1.45; }
.college-participation-card-body { padding: 18px 19px; }
.college-participation-bars,
.college-participation-award-bars { min-height: 250px; display: grid; align-content: center; gap: 13px; }
.college-participation-row,
.college-participation-award-row { display: grid; grid-template-columns: minmax(180px,230px) minmax(100px,1fr) 44px; align-items: center; gap: 10px; }
.college-participation-name { overflow: hidden; color: #485360; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.college-participation-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.college-participation-fill,
.college-participation-award-fill { width: var(--college-participation-width,0%); height: 100%; min-width: 2px; border-radius: inherit; }
.college-participation-fill.is-blue,
.college-participation-award-fill.is-blue { background: linear-gradient(90deg,var(--college-participation-blue),var(--college-participation-green)); }
.college-participation-fill.is-green,
.college-participation-award-fill.is-green { background: var(--college-participation-green); }
.college-participation-fill.is-orange,
.college-participation-award-fill.is-orange { background: linear-gradient(90deg,var(--college-participation-orange),#f1b44c); }
.college-participation-fill.is-purple,
.college-participation-award-fill.is-purple { background: linear-gradient(90deg,var(--college-participation-purple),#8a78bd); }
.college-participation-fill.is-red,
.college-participation-award-fill.is-red { background: var(--college-participation-red); }
.college-participation-fill.is-amber,
.college-participation-award-fill.is-amber { background: var(--college-participation-amber); }
.college-participation-fill.is-grey,
.college-participation-award-fill.is-grey { background: #73808d; }
.college-participation-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.college-participation-inline-empty { align-self: center; color: var(--college-participation-muted); text-align: center; }
.college-participation-inline-empty strong { color: #303943; font-size: 11px; }
.college-participation-inline-empty p { margin: 5px 0 0; font-size: 9.5px; }

.college-participation-summary { min-height: 250px; display: flex; align-items: center; justify-content: center; gap: 24px; }
.college-participation-ring { position: relative; flex: 0 0 150px; width: 150px; height: 150px; border-radius: 50%; background: var(--college-participation-donut,#edf0f3); }
.college-participation-ring::after { content: ''; position: absolute; inset: 27px; border-radius: 50%; background: #fff; }
.college-participation-ring-label { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; text-align: center; }
.college-participation-ring-label strong { display: block; color: #222933; font-size: 22px; }
.college-participation-ring-label span { display: block; margin-top: 2px; color: var(--college-participation-muted); font-size: 8px; }
.college-participation-legend { min-width: 0; display: grid; gap: 9px; }
.college-participation-legend > div { display: flex; align-items: center; gap: 8px; overflow: hidden; color: #596471; font-size: 9px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.college-participation-legend span { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; }
.college-participation-insights { min-height: 250px; display: grid; align-content: start; gap: 10px; }
.college-participation-insight { padding: 13px 14px; border: 1px solid var(--college-participation-border); border-radius: 10px; background: #fafbfd; }
.college-participation-insight.is-good { border-color: #cfe4d9; background: var(--college-participation-green-soft); }
.college-participation-insight.is-info { border-color: #cbdceb; background: var(--college-participation-blue-soft); }
.college-participation-insight.is-warn { border-color: #efd7aa; background: var(--college-participation-orange-soft); }
.college-participation-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.college-participation-insight p { margin: 0; color: var(--college-participation-muted); font-size: 9.5px; line-height: 1.55; }

.college-participation-table-card { margin-bottom: 18px; }
.college-participation-school-card { margin-bottom: 0; }
.college-participation-table-card .table-region { min-width: 0; }
.college-participation-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--college-participation-border); border-radius: 0; background: #fafbfc; }
.college-participation-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.college-participation-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.college-participation-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.college-participation-table-card .table-toolbar > .table-export { display: none; }
.college-participation-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.college-participation-table { width: 100%; min-width: 920px; }
.college-participation-table.is-colleges { min-width: 1100px; }
.college-participation-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--college-participation-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.college-participation-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--college-participation-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.college-participation-table tbody tr:hover { background: #fbfcfd; }
.college-participation-table tbody td:first-child { min-width: 230px; }
.college-participation-pill,
.college-participation-share,
.college-participation-rate { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.college-participation-pill { background: var(--college-participation-blue-soft); color: var(--college-participation-blue); }
.college-participation-share { background: #f1f3f5; color: #596471; }
.college-participation-rate.is-good { background: var(--college-participation-green-soft); color: var(--college-participation-green); }
.college-participation-rate.is-mid { background: var(--college-participation-blue-soft); color: var(--college-participation-blue); }
.college-participation-rate.is-low { background: var(--college-participation-orange-soft); color: #985800; }
.college-participation-rate.is-na { background: #f1f3f5; color: #65707c; }
.college-participation-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.college-participation-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--college-participation-border); background: #fafbfc; font-size: 10px; }
.college-participation-empty { padding: 48px 20px; color: var(--college-participation-muted); text-align: center; }
.college-participation-empty.is-compact { padding: 32px 20px; }
.college-participation-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.college-participation-empty h3 { margin: 11px 0 4px; color: var(--college-participation-strong); font-size: 14px; }
.college-participation-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .college-participation-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .college-participation-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .college-participation-filters label,
  .college-participation-filters label:first-child,
  .college-participation-filters .college-participation-award-filter { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .college-participation-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .college-participation-report-head { align-items: flex-start; flex-direction: column; }
  .college-participation-report-head .ph-actions,
  .college-participation-report-head .ph-actions .btn { width: 100%; }
  .college-participation-stats { grid-template-columns: 1fr; }
  .college-participation-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .college-participation-table-card .table-search-wrap { width: 100%; max-width: none; }
  .college-participation-table tbody tr { margin-bottom: 10px; border: 1px solid var(--college-participation-border); border-radius: 10px; background: #fff; }
  .college-participation-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .college-participation-filters { align-items: stretch; flex-direction: column; }
  .college-participation-filters label,
  .college-participation-filters label:first-child,
  .college-participation-filters .college-participation-award-filter { min-width: 0; width: 100%; flex-basis: auto; }
  .college-participation-filters .btn { width: 100%; }
  .college-participation-row,
  .college-participation-award-row { grid-template-columns: 1fr 44px; gap: 7px 9px; }
  .college-participation-name { grid-column: 1 / -1; white-space: normal; }
  .college-participation-summary { flex-direction: column; }
}

/* Applicant Demographic Profile report */
.demographic-profile-report-page {
  --demographic-profile-red: #a80f17;
  --demographic-profile-red-soft: #fcedef;
  --demographic-profile-orange: #f39200;
  --demographic-profile-orange-soft: #fff3df;
  --demographic-profile-blue: #003b70;
  --demographic-profile-blue-soft: #eaf2f8;
  --demographic-profile-green: #24785b;
  --demographic-profile-green-soft: #e9f6f0;
  --demographic-profile-purple: #6650a4;
  --demographic-profile-purple-soft: #f0ecfa;
  --demographic-profile-amber: #a66808;
  --demographic-profile-border: #e3e6ea;
  --demographic-profile-muted: #6d7581;
  --demographic-profile-strong: #11151b;
}
.demographic-profile-report-head { align-items: flex-end; padding-bottom: 0; margin-bottom: 18px; border-bottom: 0; }
.demographic-profile-report-head .page-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--demographic-profile-red); }
.demographic-profile-report-head .page-kicker::before { content: ''; width: 20px; height: 2px; border-radius: 999px; background: var(--demographic-profile-orange); }
.demographic-profile-report-head h1 { margin: 8px 0 7px; color: var(--demographic-profile-strong); font-family: Georgia,'Times New Roman',serif; font-size: clamp(30px,3vw,36px); font-weight: 500; letter-spacing: -.025em; }
.demographic-profile-report-head p { max-width: 940px; margin: 0; color: var(--demographic-profile-muted); font-size: 12px; line-height: 1.65; }
.demographic-profile-report-head .ph-actions { flex: 0 0 auto; }
.demographic-profile-report-head .btn { gap: 7px; }
.demographic-profile-back-icon { width: 13px; height: 13px; transform: rotate(180deg); }

.demographic-profile-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--demographic-profile-border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(20,25,35,.035); }
.demographic-profile-filters label { min-width: 145px; flex: 1 1 145px; }
.demographic-profile-filters label:first-child { min-width: 180px; flex-basis: 180px; }
.demographic-profile-filters select { width: 100%; min-height: 38px; height: 38px; padding-right: 30px; border-color: var(--demographic-profile-border); border-radius: 8px; background-color: #fff; color: #3e4854; font-size: 10px; }
.demographic-profile-filters select:focus { border-color: var(--demographic-profile-blue); box-shadow: 0 0 0 3px rgba(0,59,112,.08); }
.demographic-profile-filters .btn { min-height: 38px; flex: 0 0 auto; white-space: nowrap; }
.demographic-profile-filters .btn svg { width: 13px; height: 13px; }
.demographic-profile-filters .btn:disabled { cursor: not-allowed; opacity: .5; }

.demographic-profile-stats { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.demographic-profile-stat { position: relative; overflow: hidden; min-height: 104px; padding: 15px 16px; border: 1px solid var(--demographic-profile-border); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,25,35,.04); }
.demographic-profile-stat::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--demographic-profile-blue); }
.demographic-profile-stat.is-green::before { background: var(--demographic-profile-green); }
.demographic-profile-stat.is-orange::before { background: var(--demographic-profile-orange); }
.demographic-profile-stat.is-red::before { background: var(--demographic-profile-red); }
.demographic-profile-stat.is-purple::before { background: var(--demographic-profile-purple); }
.demographic-profile-stat-label { overflow: hidden; color: var(--demographic-profile-muted); font-size: 9px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.demographic-profile-stat-value { margin-top: 6px; color: #20242c; font-size: 23px; font-weight: 800; line-height: 1.1; }
.demographic-profile-stat-value.is-text { overflow: hidden; padding-top: 3px; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.demographic-profile-stat-note { overflow: hidden; margin-top: 5px; color: var(--demographic-profile-muted); font-size: 9px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }

.demographic-profile-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(340px,.88fr); gap: 18px; margin-bottom: 18px; }
.demographic-profile-card { overflow: hidden; border: 1px solid var(--demographic-profile-border); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,25,35,.045); }
.demographic-profile-card-head { min-height: 65px; padding: 16px 19px; border-bottom: 1px solid var(--demographic-profile-border); }
.demographic-profile-card-head h2 { margin: 0; color: #1d232b; font-size: 13px; font-weight: 800; }
.demographic-profile-card-head p { margin: 4px 0 0; color: var(--demographic-profile-muted); font-size: 10px; line-height: 1.45; }
.demographic-profile-card-body { padding: 18px 19px; }
.demographic-profile-bars { min-height: 235px; display: grid; align-content: center; gap: 14px; }
.demographic-profile-post-bars { min-height: 270px; display: grid; align-content: center; gap: 13px; }
.demographic-profile-row,
.demographic-profile-post-row { display: grid; grid-template-columns: minmax(145px,180px) minmax(100px,1fr) 44px; align-items: center; gap: 10px; }
.demographic-profile-name { overflow: hidden; color: #485360; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.demographic-profile-track { overflow: hidden; height: 9px; border-radius: 999px; background: #edf0f3; }
.demographic-profile-fill { width: var(--demographic-profile-width,0%); height: 100%; min-width: 2px; border-radius: inherit; }
.demographic-profile-fill.is-purple { background: var(--demographic-profile-purple); }
.demographic-profile-fill.is-blue { background: var(--demographic-profile-blue); }
.demographic-profile-fill.is-green { background: var(--demographic-profile-green); }
.demographic-profile-fill.is-orange { background: var(--demographic-profile-orange); }
.demographic-profile-fill.is-red { background: var(--demographic-profile-red); }
.demographic-profile-fill.is-grey { background: #8b95a2; }
.demographic-profile-value { color: #303943; font-size: 10px; font-weight: 800; text-align: right; }
.demographic-profile-summary { min-height: 235px; display: flex; align-items: center; justify-content: center; gap: 24px; }
.demographic-profile-ring { position: relative; flex: 0 0 150px; width: 150px; height: 150px; border-radius: 50%; background: var(--demographic-profile-donut,#edf0f3); }
.demographic-profile-ring::after { content: ''; position: absolute; inset: 27px; border-radius: 50%; background: #fff; }
.demographic-profile-ring-label { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; text-align: center; }
.demographic-profile-ring-label strong { display: block; color: #222933; font-size: 22px; }
.demographic-profile-ring-label span { display: block; margin-top: 2px; color: var(--demographic-profile-muted); font-size: 8px; }
.demographic-profile-legend { min-width: 0; display: grid; gap: 9px; }
.demographic-profile-legend > div { display: flex; align-items: center; gap: 8px; color: #596471; font-size: 9px; white-space: nowrap; }
.demographic-profile-legend span { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; }
.demographic-profile-insights { min-height: 270px; display: grid; align-content: start; gap: 10px; }
.demographic-profile-insight { padding: 13px 14px; border: 1px solid var(--demographic-profile-border); border-radius: 10px; background: #fafbfd; }
.demographic-profile-insight.is-good { border-color: #cfe4d9; background: var(--demographic-profile-green-soft); }
.demographic-profile-insight.is-info { border-color: #cbdceb; background: var(--demographic-profile-blue-soft); }
.demographic-profile-insight.is-warn { border-color: #efd7aa; background: var(--demographic-profile-orange-soft); }
.demographic-profile-insight strong { display: block; margin-bottom: 4px; color: #303943; font-size: 10px; }
.demographic-profile-insight p { margin: 0; color: var(--demographic-profile-muted); font-size: 9.5px; line-height: 1.55; }

.demographic-profile-stack-card { margin-bottom: 18px; }
.demographic-profile-stacks { display: grid; gap: 13px; }
.demographic-profile-stack-row { display: grid; grid-template-columns: minmax(150px,200px) minmax(0,1fr); align-items: center; gap: 10px; }
.demographic-profile-stack-name { color: #485360; font-size: 10px; font-weight: 700; }
.demographic-profile-stack-track { overflow: hidden; min-height: 24px; display: flex; align-items: stretch; border-radius: 7px; background: #edf0f3; }
.demographic-profile-stack-segment { width: var(--demographic-profile-width,0%); min-width: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 0 5px; color: #fff; font-size: 8px; font-weight: 800; white-space: nowrap; }
.demographic-profile-stack-segment.is-female { background: var(--demographic-profile-purple); }
.demographic-profile-stack-segment.is-male { background: var(--demographic-profile-blue); }
.demographic-profile-stack-segment.is-other { background: #8b95a2; }
.demographic-profile-stack-empty { align-self: center; padding-left: 10px; color: #7b8590; font-size: 9px; }

.demographic-profile-table-card { margin-bottom: 18px; }
.demographic-profile-college-card { margin-bottom: 0; }
.demographic-profile-table-card .table-region { min-width: 0; }
.demographic-profile-table-card .table-toolbar { margin: 0; padding: 12px 18px; border: 0; border-bottom: 1px solid var(--demographic-profile-border); border-radius: 0; background: #fafbfc; }
.demographic-profile-table-card .table-search-wrap::before { left: 13px; border-color: #8a94a0; }
.demographic-profile-table-card .table-search-wrap::after { left: 26px; top: 50%; margin-top: 6px; background: #8a94a0; }
.demographic-profile-table-card .table-search { min-height: 38px; height: 38px !important; padding-left: 42px !important; border-radius: 8px; font-size: 10.5px; }
.demographic-profile-table-card .table-toolbar > .table-export { display: none; }
.demographic-profile-table-card .table-wrap { overflow: auto; border: 0; border-radius: 0; box-shadow: none; }
.demographic-profile-table { width: 100%; min-width: 1080px; }
.demographic-profile-table.is-colleges { min-width: 900px; }
.demographic-profile-table thead th { padding: 11px 14px; border-bottom: 1px solid var(--demographic-profile-border); background: #f8f9fb; color: #707986; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.demographic-profile-table tbody td { padding: 13px 14px; border-bottom: 1px solid var(--demographic-profile-border); color: #414b57; font-size: 10px; line-height: 1.45; vertical-align: middle; }
.demographic-profile-table tbody tr:hover { background: #fbfcfd; }
.demographic-profile-table.is-colleges tbody td:first-child { min-width: 260px; }
.demographic-profile-pill,
.demographic-profile-share,
.demographic-profile-rate { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.demographic-profile-pill.is-gender { background: #f0eef6; color: #615778; }
.demographic-profile-pill.is-level { background: var(--demographic-profile-blue-soft); color: var(--demographic-profile-blue); }
.demographic-profile-share { background: #f1f3f5; color: #596471; }
.demographic-profile-rate.is-good { background: var(--demographic-profile-green-soft); color: var(--demographic-profile-green); }
.demographic-profile-rate.is-mid { background: var(--demographic-profile-blue-soft); color: var(--demographic-profile-blue); }
.demographic-profile-rate.is-low { background: var(--demographic-profile-orange-soft); color: #985800; }
.demographic-profile-rate.is-na { background: #f1f3f5; color: #65707c; }
.demographic-profile-table-card .table-no-results { margin: 0; padding: 38px 20px; border: 0; border-radius: 0; }
.demographic-profile-table-card .table-pagination { min-height: 53px; margin: 0; padding: 10px 18px; border-top: 1px solid var(--demographic-profile-border); background: #fafbfc; font-size: 10px; }
.demographic-profile-empty { padding: 48px 20px; color: var(--demographic-profile-muted); text-align: center; }
.demographic-profile-empty.is-compact { padding: 32px 20px; }
.demographic-profile-empty > svg { width: 28px; height: 28px; margin: 0 auto; color: #9aa4af; }
.demographic-profile-empty h3 { margin: 11px 0 4px; color: var(--demographic-profile-strong); font-size: 14px; }
.demographic-profile-empty p { margin: 0; font-size: 10.5px; }

@media (max-width: 1250px) {
  .demographic-profile-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .demographic-profile-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .demographic-profile-filters label,
  .demographic-profile-filters label:first-child { min-width: calc(50% - 4px); flex-basis: calc(50% - 4px); }
  .demographic-profile-filters .btn { flex: 1 1 auto; }
}

@media (max-width: 700px) {
  .demographic-profile-report-head { align-items: flex-start; flex-direction: column; }
  .demographic-profile-report-head .ph-actions,
  .demographic-profile-report-head .ph-actions .btn { width: 100%; }
  .demographic-profile-stats { grid-template-columns: 1fr; }
  .demographic-profile-table-card .table-toolbar { align-items: stretch; flex-direction: column; }
  .demographic-profile-table-card .table-search-wrap { width: 100%; max-width: none; }
  .demographic-profile-table tbody tr { margin-bottom: 10px; border: 1px solid var(--demographic-profile-border); border-radius: 10px; background: #fff; }
  .demographic-profile-table tbody td { padding: 8px 2px; border: 0; }
}

@media (max-width: 560px) {
  .demographic-profile-filters { align-items: stretch; flex-direction: column; }
  .demographic-profile-filters label,
  .demographic-profile-filters label:first-child { min-width: 0; width: 100%; flex-basis: auto; }
  .demographic-profile-filters .btn { width: 100%; }
  .demographic-profile-row,
  .demographic-profile-post-row { grid-template-columns: 1fr 44px; gap: 7px 9px; }
  .demographic-profile-name { grid-column: 1 / -1; white-space: normal; }
  .demographic-profile-summary { flex-direction: column; }
  .demographic-profile-stack-row { grid-template-columns: 1fr; }
}

/* Research-output overrides intentionally follow the shared component layer. */
.page-head.research-output-page-head { align-items:flex-end; margin-bottom:18px; padding-bottom:0; border-bottom:0; }
.page-head.research-output-page-head h1 { margin:8px 0 7px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3vw,36px); font-weight:500; letter-spacing:-.025em; }
.page-head.research-output-page-head p { max-width:920px; margin:0; color:var(--ro-muted); font-size:12px; line-height:1.65; }
.research-output-entry-fields .research-output-form-field { margin:0; }
.research-output-entry-fields .research-output-form-field label { margin-bottom:7px; font-size:10px; }

/* Employee-linked research evidence inside award applications. */
.application-research-output-card { scroll-margin-top:90px; }
.application-field--master-sourced label { color:#245b48; }.application-field--master-sourced .readonly-field { border-color:#c9e1d6; background:#f2faf6; color:#1f644b; font-weight:800; }
.application-research-output-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.application-research-output-heading > div { min-width:0; }
.application-research-output-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; margin:16px 0; }
.application-research-output-metrics > div { position:relative; overflow:hidden; min-height:78px; padding:12px 13px; border:1px solid #e0e6ec; border-radius:10px; background:#fafbfc; }
.application-research-output-metrics > div::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:#003b70; }
.application-research-output-metrics > div:nth-child(2)::before { background:#24785b; }.application-research-output-metrics > div:nth-child(3)::before { background:#6650a4; }.application-research-output-metrics > div:nth-child(4)::before { background:#f39200; }.application-research-output-metrics > div:nth-child(5)::before { background:#a80f17; }.application-research-output-metrics > div:nth-child(6)::before { background:#a66808; }
.application-research-output-metrics span,.application-research-output-metrics strong { display:block; }.application-research-output-metrics span { color:#6d7581; font-size:8.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }.application-research-output-metrics strong { margin-top:7px; color:#27313b; font-size:19px; }
.application-research-output-empty { display:flex; align-items:center; gap:12px; padding:15px; border:1px dashed #ccd5de; border-radius:10px; background:#fafbfc; }.application-research-output-empty > svg { flex:0 0 24px; width:24px; height:24px; color:#73808d; }.application-research-output-empty strong { color:#343e49; font-size:10.5px; }.application-research-output-empty p { margin:3px 0 0; color:#6d7581; font-size:9.5px; line-height:1.5; }
.application-research-output-table-wrap { margin-top:15px; }.application-research-output-table { min-width:900px; }.application-research-output-table td:first-child { min-width:280px; }.application-research-output-table td:first-child strong,.application-research-output-table td:first-child small { display:block; }.application-research-output-table td:first-child small { margin-top:3px; color:#6d7581; font-size:9px; }.application-research-output-status { display:inline-flex; padding:5px 8px; border-radius:999px; background:#f1f3f5; color:#596471; font-size:8.5px; font-weight:800; white-space:nowrap; }.application-research-output-status.is-accepted { background:#e9f6f0; color:#24785b; }.application-research-output-status.is-pending { background:#fff3df; color:#985800; }.application-research-output-status.is-rejected { background:#fcedef; color:#a80f17; }
.application-view-research-period { margin:0 0 13px; color:#6d7581; font-size:10px; line-height:1.55; }.application-view-research-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-bottom:14px; }.application-view-research-metrics div { padding:9px 10px; border:1px solid #e2e7eb; border-radius:8px; background:#fafbfc; }.application-view-research-metrics span,.application-view-research-metrics strong { display:block; }.application-view-research-metrics span { color:#6d7581; font-size:7.5px; font-weight:800; text-transform:uppercase; }.application-view-research-metrics strong { margin-top:4px; color:#2e3741; font-size:15px; }.application-view-research-list { display:grid; gap:7px; }.application-view-research-list a,.application-view-research-static { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 11px; border:1px solid #e3e7eb; border-radius:8px; background:#fff; }.application-view-research-list a:hover { border-color:#bfcbd6; background:#fafcfd; }.application-view-research-list strong,.application-view-research-list small { display:block; }.application-view-research-list strong { color:#333d47; font-size:9.5px; }.application-view-research-list small { margin-top:3px; color:#6d7581; font-size:8.5px; }.application-view-research-list svg { flex:0 0 14px; width:14px; height:14px; color:#003b70; }

@media (max-width:1100px) { .application-research-output-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.application-view-research-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px) { .page-head.research-output-page-head { align-items:flex-start; flex-direction:column; }.application-research-output-heading { flex-direction:column; }.application-research-output-heading .btn { width:100%; } }
@media (max-width:600px) { .application-research-output-metrics,.application-view-research-metrics { grid-template-columns:1fr 1fr; } }

/* research-outputs search: the global input[type=search] rule (later in the file,
   equal specificity) was flattening the left padding, colliding the icon with the
   text. A higher-specificity rule restores the icon gutter and the compact height. */
.research-output-toolbar input[type="search"],
.research-output-search-wrap input[type="search"] {
  height: 38px; min-height: 38px; padding: 0 12px 0 38px;
  -webkit-appearance: none; appearance: none;
}
.research-output-search-wrap::before { top: 12px; }
.research-output-search-wrap::after { top: 24px; }

/* ---------------------------------------------------- shared page hierarchy
   College Review is the visual baseline for every authenticated workspace. */
.content .page-head[class*="-page-head"] {
  align-items: center; margin-bottom: 24px; padding-bottom: 19px;
  border-bottom: 1px solid var(--border);
}
.content .page-head[class*="-page-head"] .ph-text { max-width: 820px; }
.content .page-head[class*="-page-head"] .page-kicker {
  display: block; margin: 0 0 5px; color: var(--primary); font-family: var(--font);
  font-size: 11.5px; line-height: 1.2; font-weight: 750; letter-spacing: .08em; text-transform: uppercase;
}
.content .page-head[class*="-page-head"] .page-kicker::before { display: none; content: none; }
.content .page-head[class*="-page-head"] h1 {
  margin: 0 0 6px; color: var(--text); font-family: var(--font);
  font-size: clamp(24px,2vw,30px); line-height: 1.2; font-weight: 750; letter-spacing: -.025em;
}
.content .page-head[class*="-page-head"] p {
  max-width: 760px; margin: 0; color: var(--text-600); font-family: var(--font);
  font-size: 14px; line-height: 1.55;
}
.content .page-head[class*="-page-head"] .ph-actions { margin-left: auto; align-items: center; }
.content .table-wrap table { font-size: 13px; }
.content .table-wrap table th { font-size: 11.5px; line-height: 1.35; }
.content .form-row > label { font-size: 12px; line-height: 1.4; }
.content .hint, .content .text-muted { line-height: 1.5; }

/* ---------------------------------------------------- recipient RSVP */
.rsvp-page { width: min(820px,100%); margin: 0 auto; color: var(--text); }
.rsvp-hero { position: relative; padding: 2px 0 23px; border-bottom: 1px solid var(--border); }
.rsvp-hero h1 { max-width: 690px; margin: 8px 0 8px; font-size: clamp(28px,4vw,38px); line-height: 1.16; letter-spacing: -.03em; }
.rsvp-hero p { max-width: 680px; margin: 0; color: var(--text-600); font-size: 15px; line-height: 1.6; }
.rsvp-award-status { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 6px 10px; border-radius: 999px; background: #eaf6ef; color: #17663a; font-size: 12px; font-weight: 750; }
.rsvp-award-status svg { width: 15px; height: 15px; }
.rsvp-details, .rsvp-response { margin-top: 22px; padding: 22px; border: 1px solid var(--border); border-radius: 13px; background: #fff; box-shadow: var(--shadow); }
.rsvp-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.rsvp-section-heading h2, .rsvp-response h2 { margin: 3px 0 0; font-size: 21px; }
.rsvp-section-heading > svg { width: 28px; height: 28px; color: var(--primary); }
.rsvp-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0; }
.rsvp-detail-grid > div { padding: 12px 14px; border-radius: 9px; background: var(--surface-2); }
.rsvp-detail-grid dt { color: var(--text-500); font-size: 11px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.rsvp-detail-grid dd { margin: 5px 0 0; color: var(--text); font-size: 14px; font-weight: 700; }
.rsvp-additional { margin-top: 14px; padding: 13px 15px; border-left: 3px solid var(--brand-orange); background: #fff8ec; }
.rsvp-additional p { margin: 5px 0 0; color: var(--text-600); line-height: 1.55; }
.rsvp-current { margin-top: 18px; }
.rsvp-response > p { margin: 6px 0 18px; color: var(--text-600); }
.rsvp-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rsvp-actions form { margin: 0; }
.rsvp-button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 76px; padding: 14px 16px; border: 2px solid transparent; border-radius: 11px; color: #fff; text-align: left; cursor: pointer; transition: transform .15s,box-shadow .15s,border-color .15s; }
.rsvp-button:hover { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(15,26,60,.16); }
.rsvp-button > svg { flex: 0 0 24px; width: 24px; height: 24px; }
.rsvp-button span, .rsvp-button strong, .rsvp-button small { display: block; }
.rsvp-button strong { font-size: 14px; }
.rsvp-button small { margin-top: 3px; color: rgba(255,255,255,.8); font-size: 11px; }
.rsvp-attend { background: #1e7d34; }.rsvp-decline { background: #a52136; }
.rsvp-button.is-intended { border-color: #f39200; box-shadow: 0 0 0 3px rgba(243,146,0,.18); }
.rsvp-footer { padding: 22px 0 2px; color: var(--text-400); font-size: 12px; text-align: center; }

@media (max-width: 700px) {
  .content .page-head[class*="-page-head"] { align-items: flex-start; flex-direction: column; }
  .content .page-head[class*="-page-head"] .ph-actions { width: 100%; margin-left: 0; }
  .content .page-head[class*="-page-head"] .ph-actions .btn { width: 100%; }
  .rsvp-detail-grid, .rsvp-actions { grid-template-columns: 1fr; }
  .rsvp-details, .rsvp-response { padding: 18px; }
}

/* ---------------------------------------------------- system settings tabs */
.settings-tabs {
  margin-bottom: 18px; padding: 5px; border: 1px solid var(--border);
  border-radius: 11px; background: var(--surface-2);
}
.settings-tabs .tab {
  min-height: 42px; flex: 1 0 auto; justify-content: center; margin: 0;
  padding: 0 16px; border: 0; border-radius: 8px; font-size: 12px;
}
.settings-tabs .tab.active { border: 0; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(20,25,35,.08); }
.settings-tabs .settings-danger-tab.active { color: var(--danger); }
.settings-panel[hidden] { display: none !important; }
.settings-panel > form, .settings-panel .card { margin: 0; }
.settings-subsection { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.settings-subtitle { font-size: 15px; }
.settings-intro { margin-top: -5px; }
.settings-auth-row { display: flex; align-items: end; }
.settings-auth-row > label { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; }
.settings-password-clear { display: flex; gap: 6px; margin-top: 6px; }
.settings-test-row, .settings-reset-row { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.settings-test-row .form-row { width: min(420px,100%); margin-bottom: 0; }
.settings-reset-row .form-row { width: min(240px,100%); margin-bottom: 0; }
.settings-sso-status { margin-top: 8px; }
.settings-danger-card { border-color: color-mix(in srgb,var(--danger) 45%,var(--border)); }
.settings-danger-title { color: var(--danger); }

@media (max-width: 700px) {
  .settings-tabs .tab { min-width: 150px; }
  .settings-test-row, .settings-reset-row { align-items: stretch; flex-direction: column; }
  .settings-test-row .form-row, .settings-reset-row .form-row,
  .settings-test-row .btn, .settings-reset-row .btn { width: 100%; max-width: none; }
}
/* Institutional staff-profile dataset navigation */
.staff-dataset-switcher {
  margin: 0 0 22px;
}
.staff-dataset-switcher-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}
.staff-dataset-switcher-head h2 {
  margin: 3px 0 0;
  font-size: 17px;
  line-height: 1.3;
}
.staff-dataset-switcher-head p {
  max-width: 430px;
  margin: 0;
  color: var(--text-600);
  font-size: 12.5px;
  text-align: right;
}
.staff-dataset-tabs {
  gap: 6px;
  margin: 0;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface-2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.staff-dataset-tabs .tab {
  flex: 1 0 auto;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 9px 13px;
  border: 1px solid transparent;
  border-radius: calc(var(--radius-lg) - 5px);
  color: var(--text-600);
  font-size: 12px;
  text-decoration: none;
  transition: background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.staff-dataset-tabs .tab svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}
.staff-dataset-tabs .tab:hover {
  border-color: var(--border);
  background: rgba(255,255,255,.7);
  color: var(--text);
}
.staff-dataset-tabs .tab.active,
.staff-dataset-tabs .tab[aria-current='page'] {
  border-color: rgba(126,11,36,.18);
  background: var(--surface);
  color: var(--primary);
  box-shadow: 0 2px 8px rgba(20,25,35,.07),inset 0 -3px 0 var(--brand-orange);
}
.staff-dataset-tabs .tab:focus-visible {
  outline: 3px solid rgba(22,51,122,.24);
  outline-offset: 1px;
}
.staff-dataset-tabs .tab-count {
  min-width: 27px;
  text-align: center;
}

@media (max-width: 760px) {
  .staff-dataset-switcher-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .staff-dataset-switcher-head p { text-align: left; }
  .staff-dataset-tabs { margin-inline: 0; padding: 5px; }
  .staff-dataset-tabs .tab { flex: 0 0 auto; justify-content: flex-start; min-width: 210px; }
}

.staff-dataset-upload-form {
  display: grid;
  grid-template-columns: minmax(220px,.65fr) minmax(320px,1.35fr) auto;
  align-items: end;
  gap: 16px;
}
.staff-dataset-upload-title span {
  display: block;
  margin-bottom: 3px;
  color: var(--text-400);
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.staff-dataset-upload-title h2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
}
.staff-dataset-upload-form .form-row { min-width: 0; margin: 0; }
.staff-dataset-upload-form input[type='file'] { width: 100%; }
.staff-dataset-upload-form > .btn { min-height: 42px; white-space: nowrap; }

@media (max-width: 900px) {
  .staff-dataset-upload-form { grid-template-columns: 1fr; align-items: stretch; gap: 12px; }
  .staff-dataset-upload-form > .btn { width: 100%; }
}

/* Installable PWA */
.pwa-install-trigger {
  width: auto;
  gap: 7px;
  padding-inline: 10px;
  color: var(--primary);
}
.pwa-install-trigger[hidden],.pwa-auth-install[hidden] { display: none !important; }
.pwa-install-label { font-size: 12px; font-weight: 750; white-space: nowrap; }
.pwa-install-heading { display: flex; align-items: center; gap: 13px; }
.pwa-install-heading img { border-radius: 12px; box-shadow: 0 5px 16px rgba(11,47,99,.18); }
.pwa-install-heading h2 { margin: 2px 0 0; }
.pwa-install-dialog { width: min(520px,calc(100vw - 28px)); }
.pwa-auth-install {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 5;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: #0b2f63;
  color: #fff;
  box-shadow: 0 12px 30px rgba(11,47,99,.25);
  padding: 10px 15px;
  font: 700 12px Arial,sans-serif;
  cursor: pointer;
}
@media (max-width: 720px) { .pwa-install-label { display: none; } .pwa-install-trigger { width: 40px; padding: 0; } }

/* Award ceremony letter approval */
.ceremony-workflow-status {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  overflow: hidden;
  margin: 0 0 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--border);
  box-shadow: var(--shadow-sm);
}
.ceremony-workflow-step {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 56px;
  padding: 10px 14px;
  background: var(--surface);
  color: var(--text-400);
  font-size: 12px;
}
.ceremony-workflow-step > span {
  display: inline-grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
}
.ceremony-workflow-step.is-complete { color: var(--primary); }
.ceremony-workflow-step.is-complete > span { border-color: #b9caea; background: #edf3ff; color: var(--primary); }
.ceremony-workflow-step.is-current { box-shadow: inset 0 -3px 0 var(--brand-orange); color: var(--text); }
.ceremony-workflow-step.is-current > span { border-color: var(--brand-orange); background: var(--brand-orange); color: #fff; }
.ceremony-summary .stat { min-height: 98px; }
.ceremony-current-state { margin-bottom: 18px; }
.ceremony-role-readiness { display: grid; gap: 10px; margin: 0 0 18px; }
.ceremony-role-readiness > div { padding: 12px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); }
.ceremony-role-readiness small { display: block; margin: 5px 0 0; color: var(--text-600); }
.ceremony-detail-list { margin: 0; }
.ceremony-detail-list > div { display: grid; grid-template-columns: 120px 1fr; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.ceremony-detail-list dt { color: var(--text-600); font-size: 12px; font-weight: 700; }
.ceremony-detail-list dd { margin: 0; font-weight: 650; }
.ceremony-return-form { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--border); }
.ceremony-recipients-card { margin-top: 20px; }
@media (max-width: 820px) {
  .ceremony-workflow-status { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .ceremony-workflow-status { grid-template-columns: 1fr; }
  .ceremony-workflow-step { min-height: 48px; }
  .ceremony-detail-list > div { grid-template-columns: 1fr; gap: 3px; }
}
