@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root { --color-cream:#f5f3ee; --color-cream-dark:#ece8df; --color-forest:#123526; --color-deep:#0a1f16; --color-ink:#0b0b0b; --color-muted:#6e6c63; --color-gray:#828282; --color-mint:#8fc9a8; --color-blue:#4a7fe8; --color-purple:#8b7fe0; --radius-sm:.65rem; --radius-md:1rem; --radius-lg:1.5rem; --shadow-card:0 .75rem 2rem rgba(18,53,38,.08); --content-width:1280px; }
*,*::before,*::after { box-sizing:border-box; }
.portal-sidebar .nav-link { display:flex; align-items:center; gap:.65rem; transition:background .18s ease,transform .18s ease; }.portal-sidebar .nav-link:hover { transform:translateX(.2rem); }.nav-icon { display:inline-grid; width:1.3rem; height:1.3rem; place-items:center; border-radius:.38rem; background:var(--color-cream-dark); color:var(--color-forest); font-size:.86rem; font-weight:800; line-height:1; }.readiness-orbit { display:grid; width:3.6rem; height:3.6rem; place-items:center; border:4px solid var(--color-mint); border-radius:50%; background:#fff; font-size:.82rem !important; box-shadow:0 .4rem 1rem rgba(18,53,38,.09); }.company-dashboard-hero { display:flex; align-items:flex-start; gap:1rem; }.company-monogram { display:inline-grid; flex:0 0 auto; width:2.65rem; height:2.65rem; place-items:center; border:1px solid rgba(18,53,38,.18); border-radius:50%; background:var(--color-cream-dark); color:var(--color-forest); font-weight:900; font-size:1.05rem; }.company-dashboard-hero .company-monogram { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.2); color:#fff; }.job-company-heading { display:flex; align-items:center; gap:.75rem; }.company-empty-illustrated img { width:min(12rem,60%); margin:0 auto 1rem; opacity:.9; }.company-job-card,.student-job-card,.engagement-kpi-grid article,.company-stat-grid article { transition:transform .2s ease,box-shadow .2s ease; }.company-job-card:hover,.student-job-card:hover,.engagement-kpi-grid article:hover,.company-stat-grid article:hover { transform:translateY(-.2rem); box-shadow:0 1rem 2.2rem rgba(18,53,38,.13); }.section-btn { transition:transform .18s ease,background .18s ease,border-color .18s ease; }.section-btn:hover { transform:translateY(-1px); }.readiness-track span,.progress-track span,.funnel-track span,.readiness-mini i { animation:preraak-grow .7s ease both; transform-origin:left; } @keyframes preraak-grow { from { transform:scaleX(.12); } to { transform:scaleX(1); } } @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }
.landing-auth-header { position:sticky; top:0; z-index:50; background:rgba(245,243,238,.88); backdrop-filter:blur(12px); transition:.3s; }.landing-auth-nav-wrap { max-width:1280px; margin:0 auto; padding:14px 40px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }.landing-auth-logo-link img { width:auto; height:64px; }.landing-auth-nav { display:flex; align-items:center; gap:40px; color:var(--color-ink); font-size:15px; font-weight:500; }.landing-auth-nav a:hover { color:var(--color-forest); }.landing-auth-back { display:inline-flex; align-items:center; min-height:2.75rem; padding:.6rem 1rem; border-radius:999px; background:var(--color-forest); color:#fff; font-size:.9rem; font-weight:800; }.landing-auth-back:hover { background:var(--color-deep); color:#fff; }.auth-layout { min-height:calc(100vh - 5.75rem); }.auth-kicker { margin:0 0 .6rem; } @media (max-width:800px) { .landing-auth-nav { display:none; }.landing-auth-nav-wrap { min-height:4.8rem; width:100%; padding:10px 1rem; }.landing-auth-logo-link img { height:3.1rem; }.auth-layout { min-height:calc(100vh - 4.8rem); } }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; background:var(--color-cream); color:var(--color-ink); font-family:Inter,system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; } a { color:inherit; text-decoration:none; } button,input,select,textarea { font:inherit; }
.common-container { width:min(100% - 2rem,var(--content-width)); margin-inline:auto; }
.common-card { background:#fff; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.app-card { background:#fff; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.common-btn { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:2.9rem; padding:.75rem 1.2rem; border:0; border-radius:999px; background:var(--color-forest); color:#fff; font-weight:800; cursor:pointer; }
.common-btn:hover { background:var(--color-deep); color:#fff; } .common-muted { color:var(--color-muted); } .common-title { color:var(--color-forest); font-weight:800; letter-spacing:-.04em; }
.portal-sidebar-sticky { top:1rem; }
.section-btn-danger { background:#fff0ed; border-color:#f4c7bf; color:#a33626; }.section-btn-danger:hover { background:#f9dcd6; color:#7d2317; }
.company-inline-form { margin-top:.65rem; }.company-inline-form .section-btn { min-height:2.25rem; padding:.45rem .75rem; font-size:.8rem; }.company-fit { display:inline-flex; padding:.35rem .6rem; border-radius:999px; font-size:.75rem; font-weight:800; }.company-fit-perfect { background:#dff4e7; color:#16613b; }.company-fit-good { background:#e6f0dc; color:#40621d; }.company-fit-average { background:#fbf0d1; color:#7d5b0f; }.company-fit-low { background:#fff0ed; color:#9d2f20; }
.student-jobs-page,.student-job-list { display:grid; gap:1.25rem; }.student-jobs-intro { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-radius:var(--radius-md); background:var(--color-cream-dark); }.student-jobs-intro p { max-width:65ch; margin:0; color:var(--color-muted); }.student-job-section { display:grid; gap:1rem; }.student-job-section > h2 { margin:0; color:var(--color-forest); font-size:1.35rem; }.student-job-card { display:grid; gap:1rem; padding:1.25rem; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-card); }.student-job-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.student-job-card h3 { margin:0; color:var(--color-forest); font-size:1.2rem; }.student-job-card header p,.student-job-description { margin:.35rem 0 0; color:var(--color-muted); }.student-job-description { line-height:1.6; }.student-fit-result { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; padding:.75rem; border-radius:var(--radius-sm); background:var(--color-cream); }.student-fit-result strong { color:var(--color-forest); }.student-fit-result small { color:var(--color-muted); }.student-apply-details { position:relative; }.student-apply-details summary { list-style:none; }.student-apply-details summary::-webkit-details-marker { display:none; }.student-apply-details form { display:grid; gap:.65rem; width:min(100%,38rem); margin-top:.75rem; padding:1rem; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-sm); background:var(--color-cream); }.student-apply-details label { color:var(--color-forest); font-size:.82rem; font-weight:800; }.student-apply-details textarea { min-height:5.5rem; padding:.7rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); background:#fff; resize:vertical; } @media (max-width:650px) { .student-jobs-intro,.student-job-card header { align-items:flex-start; flex-direction:column; } }
.company-page,.company-dashboard,.company-form-page,.company-detail-page { display:grid; gap:1.25rem; max-width:1080px; margin-inline:auto; }.company-page-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.company-page-heading p,.company-form-intro { margin:0; color:var(--color-muted); }.company-job-card,.company-detail-card,.company-form-card,.company-notice,.company-quick-actions { padding:clamp(1.15rem,3vw,1.8rem); border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-card); }.company-job-card { display:grid; gap:1.25rem; }.company-job-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.company-job-card h2,.company-detail-card h2,.company-quick-actions h2,.company-notice h2 { margin:0; color:var(--color-forest); font-size:clamp(1.2rem,2vw,1.55rem); }.company-meta,.company-actions,.company-skill-list { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; }.company-meta { margin-top:.55rem; color:var(--color-muted); font-size:.9rem; }.company-meta span + span::before { content:'•'; margin-right:.65rem; color:var(--color-mint); }.company-actions form { margin:0; }.company-status { display:inline-flex; align-items:center; min-height:1.85rem; padding:.35rem .65rem; border-radius:999px; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }.company-status-open,.company-status-verified { background:#e0f3e6; color:#1b6940; }.company-status-draft,.company-status-pending { background:#fbf0d1; color:#7d5b0f; }.company-status-closed,.company-status-rejected { background:#f0eeea; color:#5f5a52; }.company-empty-state { padding:3.5rem 1.5rem; border:1px dashed rgba(18,53,38,.25); border-radius:var(--radius-md); text-align:center; }.company-empty-state h2 { margin:0; color:var(--color-forest); }.company-empty-state p { margin:.5rem 0 1.2rem; color:var(--color-muted); }.company-back-link,.company-table-link { color:var(--color-forest); font-weight:800; }.company-back-link:hover,.company-table-link:hover { text-decoration:underline; }.company-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; padding:1.25rem 0; border-block:1px solid rgba(18,53,38,.12); }.company-detail-grid dt { color:var(--color-muted); font-size:.75rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.company-detail-grid dd { margin:.3rem 0 0; color:var(--color-forest); font-weight:700; }.company-detail-section { margin-top:1.5rem; }.company-detail-section h2 { margin-bottom:.7rem; }.company-description { color:var(--color-muted); line-height:1.7; white-space:pre-line; }.company-skill-list span { padding:.45rem .7rem; border-radius:999px; background:var(--color-cream-dark); color:var(--color-forest); font-size:.85rem; font-weight:700; }.company-form-page { max-width:760px; }.company-form-card { margin-top:.25rem; }.company-stack-form { display:grid; gap:1rem; }.company-form-field { display:grid; gap:.4rem; }.company-form-field label { color:var(--color-forest); font-size:.82rem; font-weight:800; }.company-form-field input,.company-form-field select,.company-form-field textarea,.company-data-table select { width:100%; min-height:2.8rem; padding:.65rem .8rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); background:#fff; color:var(--color-ink); }.company-form-field textarea { min-height:7rem; resize:vertical; }.company-form-field input:focus,.company-form-field select:focus,.company-form-field textarea:focus,.company-data-table select:focus { border-color:var(--color-forest); outline:0; box-shadow:0 0 0 .2rem rgba(18,53,38,.12); }.company-form-field small { color:var(--color-muted); }.company-field-error,.company-form-errors { color:#9d2f20; font-size:.88rem; }.company-form-errors { margin-bottom:1rem; padding:.8rem; border-radius:var(--radius-sm); background:#fff1ef; }.company-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }.company-data-table { width:100%; min-width:700px; border-collapse:collapse; }.company-data-table th,.company-data-table td { padding:.9rem .8rem; border-bottom:1px solid rgba(18,53,38,.12); text-align:left; vertical-align:top; }.company-data-table th { color:var(--color-forest); font-size:.76rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.company-data-table small { display:block; margin-top:.25rem; color:var(--color-muted); }.company-table-empty { padding-block:2rem !important; color:var(--color-muted); text-align:center !important; }.company-note { max-width:28rem; padding:.7rem; border-left:3px solid var(--color-mint); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--color-cream); color:var(--color-muted); }.company-count-badge { display:inline-grid; min-width:2rem; min-height:2rem; place-items:center; border-radius:999px; background:var(--color-forest); color:#fff; font-size:.85rem; font-weight:800; }.company-onboarding { display:grid; min-height:calc(100vh - 5rem); place-items:center; padding:2rem 1rem; }.company-onboarding-card { width:min(100%,650px); padding:clamp(1.5rem,5vw,3rem); border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-card); }.company-onboarding-card h1 { margin:.35rem 0 .75rem; color:var(--color-forest); font-size:clamp(2rem,5vw,3rem); letter-spacing:-.04em; }.company-onboarding-card > p:not(.company-kicker) { color:var(--color-muted); line-height:1.6; }.company-onboarding-centered { text-align:center; }.company-kicker { margin:0; color:var(--color-muted); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.company-dashboard-hero { padding:clamp(1.4rem,4vw,2.5rem); border-radius:var(--radius-lg); background:linear-gradient(135deg,var(--color-deep),var(--color-forest)); }.company-dashboard-hero h2 { margin:.45rem 0 1rem; color:#fff; font-size:clamp(2rem,4vw,3rem); }.company-dashboard-hero .company-kicker { color:rgba(255,255,255,.7); }.company-dashboard-hero .company-status { background:rgba(255,255,255,.15); color:#fff; }.company-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }.company-stat-grid article { display:grid; gap:.35rem; padding:1.2rem; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-card); }.company-stat-grid span { color:var(--color-muted); font-size:.8rem; font-weight:800; text-transform:uppercase; }.company-stat-grid strong { color:var(--color-forest); font-size:2rem; }.company-quick-actions > div { display:grid; gap:.6rem; margin-top:1rem; }.company-quick-actions a { display:flex; justify-content:space-between; padding:.85rem 0; border-bottom:1px solid rgba(18,53,38,.12); color:var(--color-forest); font-weight:800; }.company-quick-actions a:last-child { border-bottom:0; }.company-notice p { margin:.5rem 0 0; color:var(--color-muted); }.company-notice-danger { background:#fff7f5; }.company-notice-danger h2 { color:#9d2f20; } @media (max-width:760px) { .company-page-heading,.company-job-card-header { align-items:flex-start; flex-direction:column; }.company-detail-grid,.company-stat-grid { grid-template-columns:1fr; }.company-data-table { min-width:700px; } }
.portal-sidebar { background:#fff; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.portal-sidebar .nav-link { border-radius:var(--radius-sm); color:var(--color-forest); font-weight:600; }
.portal-sidebar .nav-link:hover,.portal-sidebar .nav-link.active { background:var(--color-cream-dark); }
.dashboard-body h1,.dashboard-body h2,.dashboard-body h3 { color:var(--color-forest); font-weight:800; letter-spacing:-.03em; }
.dashboard-body .card,.dashboard-body .view-card,.dashboard-body .dashboard-panel { border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.portal-shell { min-height:100vh; }
.portal-container .row { display:flex; flex-wrap:wrap; --bs-gutter-x:1.5rem; --bs-gutter-y:1.5rem; margin-top:calc(-1 * var(--bs-gutter-y)); margin-right:calc(-.5 * var(--bs-gutter-x)); margin-left:calc(-.5 * var(--bs-gutter-x)); }
.portal-container .row > * { flex-shrink:0; width:100%; max-width:100%; padding-right:calc(var(--bs-gutter-x) * .5); padding-left:calc(var(--bs-gutter-x) * .5); margin-top:var(--bs-gutter-y); }
.portal-container .col-lg-3 { flex:0 0 auto; width:25%; }
.portal-container .col-lg-9 { flex:0 0 auto; width:75%; }
@media (min-width:1200px) { .portal-container .col-xl-2 { flex:0 0 auto; width:16.666667%; } .portal-container .col-xl-10 { flex:0 0 auto; width:83.333333%; } }
@media (max-width:991.98px) { .portal-container .col-lg-3,.portal-container .col-lg-9,.portal-container .col-xl-2,.portal-container .col-xl-10 { width:100%; } }
.readiness-card { padding:1.5rem; background:#fff; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.readiness-heading { display:flex; justify-content:space-between; gap:1rem; align-items:start; }.readiness-heading h2 { margin:0; }.readiness-heading p { margin:.35rem 0 0; color:var(--color-muted); }.readiness-heading strong { color:var(--color-forest); font-size:1.5rem; }
.readiness-track { height:.65rem; margin:1.2rem 0; overflow:hidden; border-radius:999px; background:var(--color-cream-dark); }.readiness-track span { display:block; height:100%; border-radius:inherit; background:var(--color-forest); }
.readiness-list { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }.readiness-list li { display:grid; grid-template-columns:1.5rem 1fr auto auto; gap:.5rem; align-items:center; color:var(--color-muted); }.readiness-list li > span:first-child { display:grid; width:1.35rem; height:1.35rem; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:.78rem; }.readiness-list li.is-complete { color:var(--color-forest); font-weight:700; }.readiness-list b { font-size:.8rem; }.readiness-action { padding:.3rem .65rem; border:1px solid currentColor; border-radius:999px; color:var(--color-forest); font-size:.75rem; font-weight:800; }.readiness-action:hover { background:var(--color-forest); color:#fff; }
.edit-profile-page { max-width:960px; margin-inline:auto; padding:clamp(1.25rem,3vw,2.25rem); background:#fff; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); }
.edit-profile-page .wizard-top { margin-bottom:2rem; }.edit-profile-page .wizard-top h1 { margin:0; color:var(--color-forest); font-size:clamp(1.65rem,3vw,2.25rem); letter-spacing:-.04em; }.edit-profile-page .wizard-top p { margin:.5rem 0 0; color:var(--color-muted); }
.edit-profile-page .form-row { display:grid; grid-template-columns:minmax(180px,.45fr) minmax(0,1fr); gap:1rem; align-items:start; margin-bottom:1.1rem; }.edit-profile-page .form-row label { min-width:0; padding-top:.7rem; color:var(--color-forest); font-size:.85rem; font-weight:700; }
.edit-profile-page input:not([type="checkbox"]):not([type="radio"]),.edit-profile-page select,.edit-profile-page textarea { width:100%; min-height:2.9rem; padding:.7rem .85rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); background:#fff; color:var(--color-ink); }.edit-profile-page textarea { min-height:6rem; }.edit-profile-page input:focus,.edit-profile-page select:focus,.edit-profile-page textarea:focus { border-color:var(--color-forest); outline:0; box-shadow:0 0 0 .2rem rgba(18,53,38,.12); }
.edit-profile-page h2 { margin:2rem 0 1rem; color:var(--color-forest); font-size:1.35rem; }.edit-profile-page .submit-btn,.edit-profile-page .add-btn { border-radius:999px; background:var(--color-forest); box-shadow:none; }.edit-profile-page .back-btn { border-radius:999px; }
.edit-profile-page .project-card { margin:0 0 1rem; padding:1rem; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); background:var(--color-cream); }
.linked-education { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:.8rem; margin:0 0 1.5rem; }.linked-education div { padding:.9rem 1rem; border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-sm); background:var(--color-cream); }.linked-education span { display:block; margin-bottom:.25rem; color:var(--color-muted); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }.linked-education strong { color:var(--color-forest); }
.section-actions-top { margin-top:0; margin-bottom:1.5rem; }.resume-current { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.25rem 0; padding:1rem; border:1px solid rgba(18,53,38,.16); border-radius:var(--radius-md); background:var(--color-cream); }.resume-current strong,.resume-current a { display:block; }.resume-current a { margin-top:.25rem; color:var(--color-forest); font-weight:700; text-decoration:underline; }.resume-delete { border-color:#b42318; color:#b42318; background:#fff; }.resume-delete:hover { background:#fff1ef; }.resume-dropzone { display:grid; gap:.5rem; margin-top:1.5rem; padding:2.5rem 1.25rem; border:2px dashed rgba(18,53,38,.3); border-radius:var(--radius-md); background:var(--color-cream); text-align:center; cursor:pointer; }.resume-dropzone:hover { border-color:var(--color-forest); background:var(--color-cream-dark); }.resume-dropzone strong { color:var(--color-forest); font-size:1.1rem; }.resume-dropzone span,.selected-file-name { color:var(--color-muted); }.resume-dropzone input { width:100%; margin-top:.6rem; }.selected-file-name { min-height:1.5rem; margin:.75rem 0 0; font-weight:700; text-align:center; }.resume-messages { margin:1rem 0; }.resume-message { margin:.5rem 0; padding:.75rem 1rem; border-radius:var(--radius-sm); background:#fff1ef; color:#9d2f20; }.resume-message.success { background:#edf9f0; color:var(--color-forest); }.resume-save:disabled { cursor:not-allowed; opacity:.5; }.resume-save:disabled:hover { background:var(--color-forest); }
.section-score { display:inline-block; margin-top:.85rem; padding:.45rem .7rem; border-radius:999px; background:var(--color-cream-dark); color:var(--color-forest); font-size:.82rem; font-weight:700; }.field-required { color:#b42318; font-weight:800; }.section-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; margin-top:2rem; padding-top:1.25rem; border-top:1px solid rgba(18,53,38,.12); }.section-btn { display:inline-flex; align-items:center; justify-content:center; min-height:2.8rem; padding:.65rem 1rem; border:1px solid transparent; border-radius:999px; font:inherit; font-weight:800; cursor:pointer; }.section-btn-primary { background:var(--color-forest); color:#fff; }.section-btn-primary:hover { background:var(--color-deep); }.section-btn-secondary { border-color:rgba(18,53,38,.28); background:#fff; color:var(--color-forest); }.section-btn-secondary:hover { background:var(--color-cream-dark); }
@media (max-width:700px) { .edit-profile-page .form-row { grid-template-columns:1fr; gap:.35rem; }.edit-profile-page .form-row label { padding-top:0; } }
.section-actions-top { padding-top:0; border-top:0; }
.riasec-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.8rem; }.riasec-results div { display:flex; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-sm); background:var(--color-cream); }.riasec-results span { color:var(--color-forest); font-weight:700; }.riasec-results strong { font-size:1.2rem; }
.clarity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.clarity-field { display:flex; flex-direction:column; gap:.4rem; }.clarity-field label { color:var(--color-forest); font-size:.85rem; font-weight:700; }.clarity-field input,.clarity-field select,.clarity-field textarea { width:100%; min-height:2.9rem; padding:.7rem .85rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); background:#fff; }.clarity-field textarea { min-height:6rem; }.career-roadmap { padding:1.25rem; border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-md); background:var(--color-cream); }.career-roadmap h2 { margin-top:0; }.career-roadmap pre { margin:0; white-space:pre-wrap; font:inherit; line-height:1.6; }.career-roadmap .inline-task-form { display:inline-block; margin:0 .5rem .45rem 0; }.career-roadmap .inline-task-form .section-btn { min-height:2rem; padding:.35rem .7rem; font-size:.8rem; }.career-clarity-page h2 { margin:2rem 0 1rem; }
.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }.student-dashboard-complete .upskilling-dashboard-card { grid-column:span 2; }.dashboard-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.dashboard-card-heading h2 { margin-bottom:.25rem; }.dashboard-card-heading p,.progress-caption { color:var(--color-muted); margin:.25rem 0 .8rem; }.dashboard-card-heading a,.dashboard-complete-note a { color:var(--color-forest); font-weight:800; }.dashboard-complete-note { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:.75rem 1rem; border-radius:var(--radius-sm); background:var(--color-cream-dark); }.progress-track { height:.65rem; overflow:hidden; border-radius:999px; background:#e4eadf; }.progress-track span { display:block; height:100%; border-radius:inherit; background:var(--color-forest); }.upskill-category { margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(18,53,38,.14); }.upskill-category h3 { margin:0 0 .25rem; color:var(--color-forest); font-size:1rem; }.personal-task-list { padding-left:0; list-style:none; }.personal-task-list li { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.5rem 0; border-bottom:1px solid rgba(18,53,38,.08); }.personal-task-list form,.personal-task-add { display:flex; align-items:center; gap:.35rem; }.personal-task-list input,.personal-task-add input { min-height:2.2rem; padding:.35rem .5rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); }.personal-task-list input { width:4.25rem; }.personal-task-add { margin-top:.75rem; }.personal-task-add input[name="title"] { flex:1; }.personal-task-add input[type="number"] { width:5rem; }.job-list { padding:0; list-style:none; }.job-list li { display:grid; gap:.2rem; padding:1rem 0; border-bottom:1px solid rgba(18,53,38,.12); }.job-list span,.job-list small { color:var(--color-muted); } @media (max-width:760px) { .dashboard-grid { grid-template-columns:1fr; }.student-dashboard-complete .upskilling-dashboard-card { grid-column:auto; }.personal-task-list li { align-items:flex-start; flex-direction:column; }.personal-task-add { flex-wrap:wrap; } }
@media (max-width:700px) { .clarity-grid { grid-template-columns:1fr; } }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; align-items:stretch; }
.choice-card { display:flex; flex-direction:column; justify-content:space-between; min-height:250px; padding:clamp(1.5rem,3vw,2.25rem); background:#fff; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); }
.choice-card h2 { margin:0; color:var(--color-forest); font-size:clamp(1.35rem,2vw,1.75rem); font-weight:800; letter-spacing:-.03em; }
.choice-card p { max-width:42ch; margin:1rem 0 2rem; color:var(--color-muted); line-height:1.6; }
.choice-card .choice-link { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-height:2.8rem; padding:.7rem 1.2rem; border-radius:999px; background:var(--color-forest); color:#fff; font-weight:800; }
.choice-card .choice-link.secondary { background:transparent; color:var(--color-forest); border:1px solid rgba(18,53,38,.28); }
.choice-card .choice-link:hover { background:var(--color-deep); color:#fff; }
@media (max-width:700px) { .choice-grid { grid-template-columns:1fr; } }
@media (max-width:768px) { .common-container { width:min(100% - 1.25rem,var(--content-width)); } }
.task-progress-update { display:flex; align-items:center; gap:.4rem; margin-top:.6rem; }.task-progress-update label { color:var(--color-forest); font-weight:700; }.task-progress-update input { width:4.75rem; min-height:2.2rem; padding:.35rem .5rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); background:#fff; }
.portal-mobile-header { display:none; }.portal-menu-toggle { border:0; background:transparent; padding:.35rem; }.portal-menu-toggle span { display:block; width:1.55rem; height:2px; margin:.28rem 0; border-radius:999px; background:var(--color-forest); }.portal-mobile-brand { color:var(--color-forest); font-size:1.2rem; font-weight:800; text-decoration:none; } @media (max-width:991.98px) { .portal-container { padding-top:1rem !important; }.portal-mobile-header { display:flex; align-items:center; justify-content:space-between; padding:.85rem 1rem; border-bottom:1px solid rgba(18,53,38,.12); background:var(--color-cream); }.portal-sidebar-column { display:none; }.portal-sidebar-column.is-open { display:block; position:absolute !important; top:4.2rem; right:1rem; left:1rem; z-index:100; width:auto; }.portal-sidebar-column.is-open .portal-sidebar { position:static !important; box-shadow:0 18px 38px rgba(18,53,38,.18); }.portal-sidebar-column.is-open .nav { gap:.35rem !important; }.portal-sidebar-column.is-open .nav-link { padding:.65rem .5rem !important; } }
.auth-banner { width:min(100% - 2rem,1280px); min-height:4.8rem; margin:0 auto; padding:.7rem 0; display:flex; align-items:center; justify-content:space-between; gap:2rem; border-bottom:1px solid rgba(18,53,38,.12); }.auth-banner-logo img { width:auto; height:3.1rem; }.auth-banner-nav { display:flex; align-items:center; gap:clamp(1rem,3vw,2.5rem); color:var(--color-forest); font-size:.9rem; font-weight:600; }.auth-banner-nav a:hover,.auth-banner-contact:hover { color:var(--color-mint); }.auth-banner-contact { color:var(--color-forest); font-size:.9rem; font-weight:700; white-space:nowrap; }.auth-layout { width:min(100% - 2rem,1120px); min-height:calc(100vh - 4.8rem); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,470px); align-items:center; gap:clamp(2rem,7vw,7rem); padding:2rem 0; }.auth-layout-single { grid-template-columns:minmax(0,470px); justify-content:center; }.auth-intro { color:var(--color-forest); }.auth-brand { display:inline-flex; align-items:center; gap:.6rem; font-size:1.25rem; font-weight:800; }.auth-brand-mark { display:grid; width:2rem; height:2rem; place-items:center; border-radius:50%; background:var(--color-forest); color:#fff; }.auth-kicker { margin:2rem 0 .6rem; color:var(--color-muted); font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.auth-intro h1 { max-width:13ch; margin:0; font-size:clamp(2.2rem,4vw,4rem); line-height:1.05; letter-spacing:-.05em; }.auth-intro h1 span { color:var(--color-mint); }.auth-intro > p:not(.auth-kicker) { max-width:46ch; color:var(--color-muted); line-height:1.6; }.auth-points { display:grid; gap:.5rem; padding:0; list-style:none; color:var(--color-forest); font-weight:700; }.auth-points li::before { content:'✓'; margin-right:.55rem; }.auth-card { width:100%; padding:clamp(1.6rem,4vw,2.7rem); background:#fff; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-lg); box-shadow:0 1.5rem 3.5rem rgba(18,53,38,.12); }.auth-card-head { margin-bottom:1.8rem; }.auth-card h2 { margin:0; color:var(--color-forest); font-size:2rem; font-weight:800; letter-spacing:-.04em; }.auth-card-head p { margin:.55rem 0 0; color:var(--color-muted); line-height:1.5; }.form-group { margin-bottom:1.05rem; }.form-group label { display:block; margin-bottom:.45rem; color:var(--color-forest); font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.auth-card input,.auth-card select { width:100%; min-height:3.25rem; padding:.75rem .9rem; border:1px solid #d9d6cd; border-radius:.7rem; background:#fcfcfa; color:var(--color-ink); font:inherit; }.auth-card input:focus,.auth-card select:focus { border-color:var(--color-forest); outline:0; box-shadow:0 0 0 .22rem rgba(18,53,38,.12); }.submit-btn { width:100%; min-height:3.35rem; margin-top:.5rem; border:0; border-radius:999px; background:var(--color-forest); color:#fff; font:inherit; font-weight:800; cursor:pointer; }.submit-btn:hover { background:var(--color-deep); }.auth-footer { margin:1.5rem 0 0; color:var(--color-muted); text-align:center; }.auth-footer a { color:var(--color-forest); font-weight:800; }.error-box,.errorlist { margin:0 0 1rem; padding:.75rem .85rem; border-radius:.65rem; background:#fff1ef; color:#9d2f20; font-size:.9rem; list-style:none; }.form-group .errorlist { margin-top:.45rem; margin-bottom:0; padding:0; background:transparent; } @media (max-width:800px) { .auth-banner { width:min(100% - 2rem,520px); }.auth-banner-nav,.auth-banner-contact { display:none; }.auth-layout { width:min(100% - 2rem,520px); min-height:calc(100vh - 4.5rem); grid-template-columns:minmax(0,1fr); padding:1.5rem 0 2.5rem; }.auth-intro { display:none; }.auth-card { width:100%; padding:1.5rem; border-radius:1rem; } }
.college-overview-page { display:grid; gap:1.25rem; }.college-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:clamp(1.25rem,3vw,2.25rem); border-radius:var(--radius-lg); background:var(--color-cream-dark); }.college-hero h1 { margin:.45rem 0; color:var(--color-forest); font-size:clamp(2rem,4vw,3rem); }.college-hero p { margin:0; color:var(--color-muted); }.college-hero-actions { display:flex; flex-wrap:wrap; gap:.65rem; }.college-summary-grid,.college-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }.college-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.college-summary-grid .career-roadmap { display:grid; gap:.45rem; }.college-summary-grid span { color:var(--color-muted); font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }.college-summary-grid strong { color:var(--color-forest); font-size:2rem; }.college-summary-grid p { margin:0; color:var(--color-muted); }.college-summary-grid a,.college-details a { color:var(--color-forest); font-weight:800; }.college-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.college-details div { padding:.75rem; border-radius:var(--radius-sm); background:#fff; }.college-details dt { color:var(--color-muted); font-size:.75rem; font-weight:800; text-transform:uppercase; }.college-details dd { margin:.3rem 0 0; color:var(--color-forest); font-weight:700; overflow-wrap:anywhere; }.college-invite-code { display:block; margin:1rem 0; padding:1rem; border-radius:var(--radius-sm); background:var(--color-deep); color:#fff; font-size:1.35rem; font-weight:800; letter-spacing:.06em; }.college-team-list { display:grid; gap:.6rem; margin:0; padding:0; list-style:none; }.college-team-list li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(18,53,38,.12); }.college-team-list li:last-child { border-bottom:0; }.college-team-list strong,.college-team-list span { display:block; }.college-team-list div span { margin-top:.2rem; color:var(--color-muted); font-size:.88rem; } @media (max-width:800px) { .college-hero { align-items:flex-start; flex-direction:column; }.college-summary-grid,.college-detail-grid { grid-template-columns:1fr; }.college-details { grid-template-columns:1fr; }.college-team-list li { align-items:flex-start; flex-direction:column; } }
.college-page { display:grid; gap:1.25rem; }.college-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }.college-page-heading h1 { margin:0; color:var(--color-forest); font-size:clamp(1.9rem,4vw,2.7rem); }.college-page-heading p { margin:.4rem 0 0; color:var(--color-muted); }.college-filter-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:end; gap:1rem; padding:1rem; border-radius:var(--radius-md); background:var(--color-cream-dark); }.college-filter-form label,.college-stack-form label { display:block; margin-bottom:.4rem; color:var(--color-forest); font-size:.82rem; font-weight:800; }.college-filter-form select,.college-stack-form input,.college-stack-form select,.college-upload-form input { width:100%; min-height:2.8rem; padding:.65rem .8rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); background:#fff; }.college-filter-actions { display:flex; gap:.5rem; }.college-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }.college-data-table { width:100%; min-width:850px; border-collapse:collapse; }.college-data-table th,.college-data-table td { padding:.9rem .8rem; border-bottom:1px solid rgba(18,53,38,.12); text-align:left; vertical-align:top; }.college-data-table th { color:var(--color-forest); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }.college-data-table small { color:var(--color-muted); }.college-table-actions { display:flex; gap:.6rem; }.college-table-actions a { color:var(--color-forest); font-weight:800; }.college-csv-format { display:block; overflow-x:auto; padding:1rem; border-radius:var(--radius-sm); background:var(--color-deep); color:#fff; }.college-upload-form { padding:clamp(1.25rem,3vw,2rem); border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); background:#fff; }.college-upload-form .form-row { display:grid; grid-template-columns:minmax(180px,.45fr) minmax(0,1fr); gap:1rem; }.college-upload-form label { color:var(--color-forest); font-weight:800; }.college-upload-form small { display:block; margin-top:.5rem; color:var(--color-muted); }.college-batch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }.college-stack-form p { display:grid; gap:.4rem; }.college-stack-form .section-btn { margin-top:.5rem; }.college-batch-list { display:grid; gap:.6rem; padding:0; list-style:none; }.college-batch-list li { display:flex; justify-content:space-between; gap:1rem; padding:.75rem; border-radius:var(--radius-sm); background:#fff; }.college-batch-list span { color:var(--color-forest); font-weight:800; } @media (max-width:800px) { .college-page-heading { align-items:flex-start; flex-direction:column; }.college-filter-form,.college-batch-grid { grid-template-columns:1fr; }.college-filter-actions { justify-content:flex-start; }.college-upload-form .form-row { grid-template-columns:1fr; }.college-data-table { min-width:850px; } }
.college-settings-link { margin:0; color:var(--color-muted); font-size:.88rem; }.college-settings-link a { color:var(--color-muted); font-weight:800; text-decoration:underline; }.college-settings-link span { margin-left:.35rem; } .college-page details { margin-top:.75rem; padding:.85rem; border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-sm); background:#fff; }.college-page summary { cursor:pointer; color:var(--color-forest); font-weight:800; }
.portal-container { width:min(100% - 2rem,var(--content-width)); margin-inline:auto; padding:1.5rem 0; }
.portal-layout { display:flex; align-items:flex-start; gap:1.5rem; }
.portal-sidebar-column { flex:0 0 320px; min-width:280px; }
.portal-sidebar { display:grid; gap:1rem; padding:1rem; width:100%; }
.portal-brand { display:inline-flex; align-items:center; color:var(--color-forest); font-size:1.2rem; font-weight:900; letter-spacing:-.03em; }
.portal-brand img,.portal-mobile-brand img { display:block; width:auto; height:3.1rem; }
.publish-review-page { display:grid; gap:1.25rem; }.publish-preferences-card { padding:clamp(1.1rem,3vw,1.6rem); border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-md); background:var(--color-cream); }.publish-preferences-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.publish-preferences-card h2 { margin:.25rem 0; }.publish-preferences-card header p { margin:0; color:var(--color-muted); }.publish-review-kicker { color:var(--color-muted); font-size:.75rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.publish-review-status { padding:.4rem .65rem; border-radius:999px; font-size:.75rem; font-weight:900; white-space:nowrap; }.publish-review-status.is-complete { background:#dff4e7; color:#16613b; }.publish-review-status.is-incomplete { background:#fbf0d1; color:#7d5b0f; }.publish-preferences-warning { padding:.75rem .9rem; border-left:3px solid #c5911f; border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:#fff8e5; color:#6d500e; }.publish-preferences-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:1.1rem 0; }.publish-preferences-grid div { padding:.75rem; border-radius:var(--radius-sm); background:#fff; }.publish-preferences-grid dt { color:var(--color-muted); font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.publish-preferences-grid dd { margin:.3rem 0 0; color:var(--color-forest); font-weight:800; overflow-wrap:anywhere; } @media (max-width:760px) { .publish-preferences-card header { flex-direction:column; }.publish-preferences-grid { grid-template-columns:1fr; } }
.portal-brand,
.portal-mobile-brand,
.landing-auth-logo-link {
  position: relative;
  display: block;
  overflow: hidden;
}
.portal-brand {
  width: 100%;
  height: 4.25rem;
}
.portal-mobile-brand {
  width: 10rem;
  height: 3.25rem;
  flex: 0 0 10rem;
}
.landing-auth-logo-link {
  width: 12rem;
  height: 4rem;
  flex: 0 0 12rem;
}
.portal-brand img,
.portal-mobile-brand img,
.landing-auth-logo-link img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 20rem;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
}
.portal-mobile-brand img {
  width: 18rem;
}
@media (max-width: 991.98px) {
  .portal-sidebar-column.is-open {
    top: 5.4rem;
  }
}
@media (max-width: 640px) {
  .portal-mobile-brand {
    width: 9rem;
    height: 3rem;
    flex-basis: 9rem;
  }
  .portal-mobile-brand img {
    width: 16rem;
  }
  .landing-auth-logo-link {
    width: 10rem;
    height: 3.4rem;
    flex-basis: 10rem;
  }
  .landing-auth-logo-link img {
    width: 18rem;
  }
}
.portal-signin { margin:0; color:var(--color-muted); font-size:.92rem; line-height:1.45; }
.portal-signin strong { color:var(--color-forest); }
.portal-nav { display:grid; gap:.35rem; }
.portal-nav .nav-link { display:flex; align-items:center; padding:.65rem .75rem; border-radius:var(--radius-sm); color:var(--color-forest); font-weight:600; transition:background .18s ease,transform .18s ease; }
.portal-nav .nav-link:hover,.portal-nav .nav-link.active { background:var(--color-cream-dark); transform:translateX(.2rem); }
.portal-main { flex:1 1 auto; min-width:0; }
.portal-main-card { padding:clamp(1.25rem,3vw,2rem); }
.portal-page-header { margin-bottom:1.25rem; padding-bottom:1rem; border-bottom:1px solid rgba(18,53,38,.12); }
.portal-page-header h1 { margin:0; color:var(--color-forest); font-size:clamp(1.5rem,2.4vw,2rem); letter-spacing:-.04em; }
.portal-logout { margin-top:.5rem; }
.portal-logout-btn { width:100%; min-height:2.8rem; padding:.65rem 1rem; border:1px solid rgba(18,53,38,.22); border-radius:999px; background:#fff; color:var(--color-forest); font-weight:800; cursor:pointer; }
.portal-logout-btn:hover { background:var(--color-cream-dark); }
@media (max-width:991.98px) { .portal-container { width:min(100% - 1rem,var(--content-width)); padding-top:1rem; }.portal-layout { display:block; }.portal-mobile-header { display:flex; align-items:center; justify-content:space-between; padding:.85rem 1rem; border-bottom:1px solid rgba(18,53,38,.12); background:var(--color-cream); }.portal-sidebar-column { display:none; }.portal-sidebar-column.is-open { display:block; position:fixed; top:4.2rem; right:1rem; left:1rem; z-index:100; }.portal-sidebar-column.is-open .portal-sidebar { position:static; box-shadow:0 18px 38px rgba(18,53,38,.18); } }
.curriculum-review-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.curriculum-review-card h2 { margin-bottom:.3rem; }.curriculum-review-card p { margin:0; color:var(--color-muted); }.curriculum-review-card p strong { color:var(--color-forest); font-size:1.6rem; }.insight-signal-list { display:grid; gap:1rem; }.insight-signal-list div { display:grid; gap:.25rem; }.insight-signal-list dt { color:var(--color-muted); font-size:.78rem; font-weight:800; text-transform:uppercase; }.insight-signal-list dd { margin:0; color:var(--color-forest); font-weight:700; }.curriculum-run { display:grid; gap:.75rem; }.curriculum-planning-list { display:grid; gap:.85rem; }.curriculum-planning-list > article { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.3fr); gap:1rem; padding:1rem; border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-sm); background:#fff; }.curriculum-planning-list h3 { margin:.55rem 0; font-size:1.1rem; }.curriculum-planning-list p { margin:.45rem 0; color:var(--color-muted); }.curriculum-planning-list form { display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:.55rem; }.curriculum-planning-list label { color:var(--color-forest); font-size:.8rem; font-weight:800; }.curriculum-planning-list select { min-height:2.6rem; padding:.5rem; border:1px solid rgba(18,53,38,.2); border-radius:var(--radius-sm); background:#fff; } @media (max-width:800px) { .curriculum-review-card,.curriculum-planning-list > article { align-items:flex-start; grid-template-columns:1fr; flex-direction:column; } }
.college-engagement-dashboard { display:grid; gap:1.25rem; }.college-dashboard-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:clamp(1.4rem,4vw,2.6rem); border-radius:var(--radius-lg); background:linear-gradient(135deg,var(--color-deep),var(--color-forest)); color:#fff; }.college-dashboard-hero h1 { margin:.55rem 0; color:#fff; font-size:clamp(2rem,4vw,3.2rem); }.college-dashboard-hero p { max-width:56ch; margin:0; color:rgba(255,255,255,.78); }.college-dashboard-hero .section-score { background:rgba(255,255,255,.14); color:#fff; }.college-dashboard-hero .section-btn-primary { background:#fff; color:var(--color-forest); }.engagement-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }.engagement-kpi-grid article { display:grid; gap:.4rem; min-height:9rem; padding:1.25rem; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-card); }.engagement-kpi-grid span,.engagement-kpi-grid small { color:var(--color-muted); }.engagement-kpi-grid span { font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }.engagement-kpi-grid strong { color:var(--color-forest); font-size:2.2rem; }.engagement-main-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:1.25rem; }.engagement-funnel { display:grid; gap:1rem; }.funnel-row { display:grid; gap:.45rem; }.funnel-row > div:first-child { display:flex; justify-content:space-between; gap:1rem; }.funnel-row span { color:var(--color-muted); font-size:.88rem; }.funnel-track,.readiness-mini { display:block; height:.65rem; overflow:hidden; border-radius:999px; background:var(--color-cream-dark); }.funnel-track span,.readiness-mini i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--color-forest),#4a9868); }.engagement-actions { display:grid; align-content:start; gap:1rem; }.engagement-actions h2 { margin:0; }.engagement-actions div { display:grid; gap:.15rem; padding:.85rem; border-radius:var(--radius-sm); background:#fff; }.engagement-actions strong { color:var(--color-forest); font-size:1.8rem; }.engagement-actions span { color:var(--color-muted); }.cohort-readiness-list { display:grid; gap:1rem; }.cohort-readiness-list > div { display:grid; grid-template-columns:minmax(150px,.9fr) minmax(100px,1fr) auto; align-items:center; gap:.8rem; }.cohort-readiness-list span { display:block; margin-top:.15rem; color:var(--color-muted); font-size:.82rem; }.cohort-readiness-list b { color:var(--color-forest); }.college-skill-cloud { display:flex; flex-wrap:wrap; gap:.6rem; }.college-skill-cloud span { padding:.5rem .7rem; border-radius:999px; background:#fff; color:var(--color-forest); font-weight:700; }.college-skill-cloud b { margin-left:.3rem; color:var(--color-muted); }.follow-up-card { display:grid; gap:1rem; }.readiness-mini { display:inline-block; width:5rem; margin-right:.35rem; vertical-align:middle; } @media (max-width:900px) { .engagement-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.engagement-main-grid { grid-template-columns:1fr; } } @media (max-width:650px) { .college-dashboard-hero { align-items:flex-start; flex-direction:column; }.engagement-kpi-grid { grid-template-columns:1fr; }.cohort-readiness-list > div { grid-template-columns:1fr; gap:.35rem; } }
.google-auth-btn { display:flex; align-items:center; justify-content:center; gap:.75rem; width:100%; min-height:3.35rem; border:1px solid #d9d6cd; border-radius:999px; background:#fff; color:var(--color-forest); font-weight:800; }.google-auth-btn:hover { border-color:var(--color-forest); background:var(--color-cream); }.google-auth-mark { display:grid; width:1.5rem; height:1.5rem; place-items:center; border-radius:50%; color:#4285f4; font-size:1.05rem; font-weight:900; }.auth-divider { display:flex; align-items:center; gap:.8rem; margin:1.25rem 0; color:var(--color-muted); font-size:.78rem; font-weight:700; text-transform:uppercase; }.auth-divider::before,.auth-divider::after { content:''; flex:1; height:1px; background:#e3e0d8; }.auth-message { margin:0 0 1rem; padding:.75rem .85rem; border-radius:.65rem; background:#eef5ff; color:#285b93; font-size:.9rem; }.auth-message.success { background:#edf9f0; color:var(--color-forest); }
.feature-settings-page { display:grid; gap:1.25rem; }.feature-setting-card { display:grid; gap:1.25rem; }.feature-config-status { padding:.9rem 1rem; border-left:3px solid var(--color-mint); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--color-cream); color:var(--color-muted); }.feature-config-status.is-blocked { border-left-color:#c5911f; background:#fff8e5; color:#6d500e; }.feature-toggle-form { display:grid; gap:1rem; }.feature-toggle-row { display:flex; align-items:flex-start; gap:.85rem; padding:1rem; border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-sm); background:#fff; cursor:pointer; }.feature-toggle-input { width:1.2rem; height:1.2rem; margin-top:.15rem; accent-color:var(--color-forest); }.feature-toggle-row span { display:grid; gap:.3rem; }.feature-toggle-row strong { color:var(--color-forest); }.feature-toggle-row small { color:var(--color-muted); line-height:1.45; }
.support-dashboard,.support-system-page { display:grid; gap:1.25rem; }.support-dashboard-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; padding:clamp(1.4rem,4vw,2.4rem); border-radius:var(--radius-lg); background:linear-gradient(135deg,var(--color-deep),#1e553c); color:#fff; }.support-dashboard-hero h1 { max-width:16ch; margin:.45rem 0 .65rem; color:#fff; font-size:clamp(2rem,4vw,3.25rem); line-height:1.02; }.support-dashboard-hero p { max-width:62ch; margin:0; color:rgba(255,255,255,.75); line-height:1.55; }.support-dashboard-hero .section-btn-primary { flex:0 0 auto; background:#fff; color:var(--color-forest); }.support-eyebrow { color:var(--color-mint); font-size:.75rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }.support-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.support-kpi-grid article { display:grid; gap:.35rem; min-height:9rem; padding:1.2rem; border:1px solid rgba(18,53,38,.12); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-card); }.support-kpi-grid span { color:var(--color-muted); font-size:.76rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }.support-kpi-grid strong { color:var(--color-forest); font-size:2.35rem; line-height:1; }.support-kpi-grid small { margin-top:auto; color:var(--color-muted); line-height:1.4; }.support-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:1.25rem; }.support-system-health { display:grid; gap:.25rem; }.support-health-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border-top:1px solid rgba(18,53,38,.1); }.support-health-row div { display:grid; gap:.2rem; }.support-health-row strong { color:var(--color-forest); }.support-health-row span { color:var(--color-muted); font-size:.88rem; }.support-health-row a { color:var(--color-forest); font-size:.85rem; font-weight:900; white-space:nowrap; }.support-quick-actions { display:grid; align-content:start; gap:.2rem; }.support-quick-actions > p { color:var(--color-muted); line-height:1.5; }.support-quick-actions > a { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; border-top:1px solid rgba(18,53,38,.1); color:var(--color-forest); font-weight:800; }.support-recent-section { display:grid; gap:1rem; }.support-recent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.support-recent-grid h3 { margin:0 0 .65rem; color:var(--color-forest); }.support-recent-row { display:grid; gap:.15rem; padding:.65rem 0; border-top:1px solid rgba(18,53,38,.1); }.support-recent-row strong { color:var(--color-forest); }.support-recent-row span { color:var(--color-muted); font-size:.83rem; }.support-skill-table { min-width:900px; }.support-mapping-row { display:grid; grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) minmax(100px,.35fr) auto; align-items:end; gap:.8rem; padding:1rem; border:1px solid rgba(18,53,38,.14); border-radius:var(--radius-sm); background:var(--color-cream); }.support-mapping-or { padding-bottom:.85rem; color:var(--color-muted); font-size:.75rem; font-weight:900; text-transform:uppercase; }.support-mapping-delete { display:flex; align-items:center; gap:.35rem; min-height:2.8rem; color:#9d2f20; font-size:.82rem; font-weight:800; }.support-mapping-errors { grid-column:1/-1; margin:0; }.support-mapping-summary { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin:.8rem 0; padding:.7rem; border-radius:var(--radius-sm); background:var(--color-cream); color:var(--color-muted); font-size:.82rem; }.support-mapping-summary span { padding:.3rem .5rem; border-radius:999px; background:#fff; color:var(--color-forest); font-weight:700; }.support-mapping-summary .is-missing { background:#fff1ef; color:#9d2f20; }.portal-messages { display:grid; gap:.6rem; margin-bottom:1rem; }.portal-message { padding:.8rem 1rem; border-radius:var(--radius-sm); background:#eef5ff; color:#285b93; }.portal-message.success { background:#edf9f0; color:var(--color-forest); }.portal-message.error { background:#fff1ef; color:#9d2f20; } @media (max-width:900px) { .support-kpi-grid,.support-recent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.support-dashboard-grid { grid-template-columns:1fr; }.support-mapping-row { grid-template-columns:1fr 1fr; }.support-mapping-or { display:none; }.support-mapping-delete { min-height:auto; }.support-mapping-errors { grid-column:1/-1; } } @media (max-width:620px) { .support-dashboard-hero,.support-health-row { align-items:flex-start; flex-direction:column; }.support-kpi-grid,.support-recent-grid,.support-mapping-row { grid-template-columns:1fr; } }
