/* CsBe Connect 37. Shared, accessible shell; existing application data stays intact. */
:root{--c37-bg:#f5f6f8;--c37-paper:#fff;--c37-ink:#202733;--c37-muted:#5f6b79;--c37-line:#dce1e7;--c37-accent:#245d88;--c37-soft:#edf3f8;--c37-warm:#fff4d4;--c37-danger:#a33235;--c37-radius:16px;--c37-shadow:0 8px 30px #1d2c3d08;color-scheme:light}
:root[data-theme="dark"]{--c37-bg:#151a22;--c37-paper:#202732;--c37-ink:#f0f3f7;--c37-muted:#b1bdcc;--c37-line:#3b4655;--c37-accent:#98c9f0;--c37-soft:#273849;--c37-warm:#443c25;--c37-danger:#ff9c9c;--c37-shadow:none;--bg:var(--c37-bg);--paper:var(--c37-paper);--ink:var(--c37-ink);--muted:var(--c37-muted);--line:var(--c37-line);--green:var(--c37-accent);--pale:var(--c37-soft);--warm:var(--c37-warm);color-scheme:dark}
/* Native hidden must win against legacy fieldset/grid rules. */
[hidden]{display:none!important}
html{scroll-padding-top:100px}
body{overflow-wrap:break-word}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #3c8dcb!important;outline-offset:3px}
:where(dialog){max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
:where(dialog)::backdrop{background:#10182880;backdrop-filter:blur(3px)}
:where(.form-grid,.p-grid,.grid,.csbe-admin-grid)>*{min-width:0}
.c37-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px auto;max-width:1360px;padding:0 clamp(16px,3vw,40px);font:500 14px/1.4 "Segoe UI",Arial,sans-serif}
.c37-toolbar a,.c37-toolbar button,.c37-theme{padding:8px 12px;min-height:40px;border:1px solid var(--c37-line);border-radius:10px;background:var(--c37-paper);color:var(--c37-ink);text-decoration:none;cursor:pointer;font:inherit}
.c37-toolbar .c37-theme{margin-left:auto}
.c37-dossier-links{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0}
.c37-dossier-links a{padding:9px 12px;border:1px solid var(--c37-line);border-radius:8px;background:var(--c37-soft);color:var(--c37-accent);text-decoration:none;font-weight:600}
/* Transparent marks: preserve aspect ratio; header crops only the canvas margin. */
.p-start-header .p-start-brand[data-connect-brand="36"]{display:flex!important;align-items:center!important;width:156px!important;height:auto!important;min-width:0!important;overflow:visible!important;background:transparent!important;border-radius:0!important}
.p-start-header .p-start-brand[data-connect-brand="36"]>img{position:static!important;display:block!important;width:100%!important;min-width:0!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;transform:none!important}
.p-start-header .p-start-brand[data-connect-brand="36"]{width:220px!important}
#csbe-fixed-header .cfh-inner>a.cfh-brand[data-connect-brand="36"]{position:relative!important;display:block!important;width:136px!important;min-width:0!important;height:58px!important;overflow:hidden!important;background:transparent!important;border-radius:8px!important}
#csbe-fixed-header .cfh-brand[data-connect-brand="36"]>img.cfh-logo{position:absolute!important;display:block!important;left:50%!important;top:50%!important;width:128px!important;min-width:0!important;max-width:none!important;height:auto!important;max-height:none!important;object-fit:contain!important;transform:translate(-50%,-53%)!important}
body.csbe-portal35:not(.p-start-mode)>.c37-toolbar{padding-top:80px;margin-top:0;margin-bottom:0}
body.csbe-portal35:not(.p-start-mode)>#portal35{padding-top:24px!important}
body.p-start-mode>.c37-toolbar{margin-top:14px}

.csbe-area-brand,.csbe-area-brand-small{position:static!important;display:block!important;width:210px!important;height:auto!important;max-width:100%!important;overflow:visible!important;background:transparent!important;outline:0!important;margin-bottom:18px}
.csbe-area-brand>img,.csbe-area-brand-small>img{position:static!important;width:100%!important;min-width:0!important;height:auto!important;max-width:100%!important;object-fit:contain!important}
[data-theme="dark"] :is(.cfh-brand[data-connect-brand="36"],.p-start-brand[data-connect-brand="36"],.csbe-area-brand,.c37-logo){background:#f7f8fa!important;border-radius:10px!important;padding:5px}
[data-theme="dark"] body{background:var(--c37-bg)!important;color:var(--c37-ink)!important}
[data-theme="dark"] :is(.card,.panel,.p-card,.p-top,.p-tabs,.p-hero,.p-start-card,.p-start-header,.csbe-hero,.csbe-admin-card,.dossier-card,.dossier-panel,.dossier-content,.dialog-head,.dialog-body,.dialog-foot,.top,.toolbar,.filters,.tabs,dialog,#csbe-fixed-header){background:var(--c37-paper)!important;color:var(--c37-ink)!important;border-color:var(--c37-line)!important}
[data-theme="dark"] :is(input,select,textarea,button,.button){background:var(--c37-paper);color:var(--c37-ink);border-color:var(--c37-line)}
[data-theme="dark"] :is(th,td,.intake-step,.intake-summary,.badge){background:var(--c37-soft);color:var(--c37-ink);border-color:var(--c37-line)}
[data-theme="dark"] :is(.muted,.hint,small,.p-muted){color:var(--c37-muted)!important}
[data-theme="dark"] :is(h1,h2,h3,h4,label){color:var(--c37-ink)}
[data-theme="dark"] a{color:var(--c37-accent)}
html[data-theme="dark"]{--csbe-ink:var(--c37-ink);--csbe-copy:var(--c37-muted);--csbe-subtle:var(--c37-muted);--csbe-line:var(--c37-line);--csbe-line-strong:#536172;--csbe-surface:var(--c37-paper);--csbe-surface-soft:var(--c37-soft);--csbe-blue:var(--c37-accent);--csbe-blue-soft:var(--c37-soft);--p-ink:var(--c37-ink);--p-muted:var(--c37-muted);--p-line:var(--c37-line);--p-brand:var(--c37-accent);--p-light:var(--c37-soft)}
html[data-theme="dark"] body.student-page :is(.student-hero,.student-section,.student-panel,.student-card,.student-link-row){background:var(--c37-paper)!important;color:var(--c37-ink)!important;border-color:var(--c37-line)!important}
html[data-theme="dark"] body #portal :is(.heading,.metric,.focus-panel,.notice,.dossier-context,.section-head,.focus-items button){background:var(--c37-paper)!important;color:var(--c37-ink)!important;border-color:var(--c37-line)!important}
html[data-theme="dark"] body #portal :is(.heading,.focus-panel) p{color:var(--c37-muted)!important}
html[data-theme="dark"] body #portal :is(.tabs button[aria-current="page"],.primary){background:#245d88!important;color:#fff!important}
html[data-theme="dark"] body.csbe-portal35 #portal35,html[data-theme="dark"] body.p-start-mode #portal35{background:var(--c37-bg)!important}
html[data-theme="dark"] body.csbe-portal35 :is(.p-metric,.p-note,.p-notice,.p-gate,.p-provider,.p-account,.p-details,.p-form,.p-foot,.p-start-footer,.p-start-benefits){background:var(--c37-paper)!important;color:var(--c37-ink)!important;border-color:var(--c37-line)!important}
html[data-theme="dark"] body.csbe-portal35 :is(.p-btn,.p-tabs button){background:var(--c37-soft);color:var(--c37-ink);border-color:var(--c37-line)}
html[data-theme="dark"] body.csbe-portal35 :is(.p-start-title,.p-start-card h1,.p-start-card p,.p-start-card li){color:var(--c37-ink)!important}
html[data-theme="dark"] body :is(.student-hero-action,.p-btn.primary){background:#245d88!important;color:white!important}
html[data-theme="dark"] #csbe-fixed-header .cfh-inner>a.cfh-brand[data-connect-brand="36"],html[data-theme="dark"] .p-start-header .p-start-brand[data-connect-brand="36"]{background:#f7f8fa!important;border-radius:8px!important;padding:4px!important}
html[data-theme="dark"] #csbe-fixed-header .cfh-nav a{background:var(--c37-soft)!important;color:var(--c37-ink)!important}
html[data-theme="dark"] #csbe-fixed-header .cfh-nav a.is-active{background:#245d88!important;color:white!important}
html[data-theme="dark"] body.csbe-portal35 .p-links a{background:var(--c37-paper)!important;color:var(--c37-accent)!important;border-color:var(--c37-line)!important}
html[data-theme="dark"] body.csbe-portal35 .p-grade{color:#9fddbb}
html[data-theme="dark"] body.student-page :is(.student-card-meta,.student-eyebrow){color:var(--c37-accent)!important}
html[data-theme="dark"] body.student-page .student-hero::after{display:none!important}
html[data-theme="dark"] .intake-dialog :is(.intake-summary,.intake-company-choice label,.intake-progress button,.intake-submit-note,.intake-destination){background:var(--c37-soft)!important;color:var(--c37-ink)!important}
.connect37{margin:0;background:var(--c37-bg);color:var(--c37-ink);font:16px/1.55 "Segoe UI",Arial,sans-serif;min-height:100dvh}
.connect37 *{box-sizing:border-box}
.connect37 :is(h1,h2,h3,p){margin:0}
.connect37 h1{font-size:clamp(1.9rem,3.3vw,2.9rem);letter-spacing:-.045em;line-height:1.12;font-weight:750;text-wrap:balance}
.connect37 h2{font-size:1.3rem;letter-spacing:-.025em;line-height:1.3}
.connect37 h3{font-size:1.05rem;line-height:1.4}
.connect37 a{color:var(--c37-accent)}
.connect37 :is(button,input,select,textarea){font:inherit}
.connect37 button,.connect37 .c37-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid var(--c37-line);border-radius:10px;background:var(--c37-paper);color:var(--c37-ink);font-weight:600;text-decoration:none;cursor:pointer;transition:background .16s,transform .16s}
.connect37 button:hover,.connect37 .c37-btn:hover{background:var(--c37-soft)}
.connect37 :is(button,.c37-btn):active{transform:translateY(1px)}
.connect37 :is(button,.c37-btn).c37-primary{background:#245d88;color:white;border-color:#245d88}
.connect37 .c37-danger{color:var(--c37-danger)}
.connect37 button:disabled{opacity:.55;cursor:wait}
.connect37 input,.connect37 select,.connect37 textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--c37-line);border-radius:9px;background:var(--c37-paper);color:var(--c37-ink);margin:6px 0 0}
.connect37 textarea{resize:vertical;min-height:110px}
.connect37 input[type="checkbox"]{width:20px;height:20px;min-height:20px;margin:0 9px 0 0;flex:0 0 auto}
.connect37 label{display:block;font-weight:600;font-size:.92rem}
.connect37 label small{font-weight:400;display:block;color:var(--c37-muted);margin-top:5px}
.connect37 .c37-check{display:flex;align-items:flex-start;gap:2px;font-weight:400}
.c37-top{min-height:96px;background:var(--c37-paper);border-bottom:1px solid var(--c37-line);padding:12px clamp(18px,4vw,60px);display:flex;align-items:center;justify-content:space-between;gap:20px}
.c37-logo{display:block;width:172px;height:84px;flex:0 0 auto;position:relative;overflow:hidden}
.c37-logo img{display:block;width:100%;height:auto;position:absolute;left:0;top:50%;transform:translateY(-50%)}
.c37-topnav{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.c37-topnav>a{text-decoration:none;font-weight:600;font-size:.94rem;color:var(--c37-muted)}
.c37-shell{max-width:1440px;margin:0 auto;padding:28px clamp(18px,4vw,60px) 60px}
.c37-breadcrumb{display:flex;align-items:center;gap:10px;font-size:.9rem;margin-bottom:24px}
.c37-breadcrumb a{text-decoration:none}
.c37-hero{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:30px}
.c37-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:750;color:var(--c37-muted);display:block;margin-bottom:10px}
.c37-hero p{color:var(--c37-muted);max-width:750px;margin-top:12px}
.c37-hero-brand{width:180px;height:auto}
.c37-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;align-items:start}
.c37-nav{display:flex;flex-direction:column;gap:6px;position:sticky;top:24px}
.connect37 .c37-nav button{justify-content:flex-start;border-color:transparent;background:transparent;text-align:left;font-weight:500;min-height:48px}
.connect37 .c37-nav button[aria-current="page"]{color:var(--c37-accent);background:var(--c37-soft);font-weight:700;box-shadow:inset 3px 0 var(--c37-accent)}
.c37-nav .c37-nav-bottom{font-size:.84rem;margin-top:18px;border-top:1px solid var(--c37-line);padding-top:16px;color:var(--c37-muted)}
.c37-panel{min-width:0;container-type:inline-size}
.c37-stack{display:grid;gap:20px}
.c37-card{background:var(--c37-paper);border:1px solid var(--c37-line);border-radius:var(--c37-radius);box-shadow:var(--c37-shadow);padding:24px;min-width:0}
.c37-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.c37-card-head>div{min-width:0}
.c37-card-head p{color:var(--c37-muted);margin-top:6px;font-size:.9rem}
.c37-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.c37-metric{background:var(--c37-paper);border:1px solid var(--c37-line);border-radius:var(--c37-radius);padding:20px}
.c37-metric strong{font-size:2.15rem;letter-spacing:-.05em;display:block;line-height:1.1;margin:9px 0}
.c37-metric span{font-size:.85rem;color:var(--c37-muted)}
.c37-feature{padding:26px;background:var(--c37-soft);border:1px solid var(--c37-line);border-radius:var(--c37-radius)}
.c37-feature>p{margin:10px 0 18px;color:var(--c37-muted);max-width:680px}
.c37-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:16px}
.c37-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.c37-full{grid-column:1/-1}
.c37-help{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.c37-help a{display:block;background:var(--c37-paper);border:1px solid var(--c37-line);border-radius:14px;padding:20px;text-decoration:none;color:var(--c37-ink);transition:transform .16s,border-color .16s}
.c37-help a:hover{transform:translateY(-2px);border-color:var(--c37-accent)}
.c37-help p{font-size:.9rem;color:var(--c37-muted);margin-top:7px}
.c37-muted{color:var(--c37-muted);font-size:.9rem}
.c37-badge{display:inline-block;padding:4px 10px;border-radius:30px;background:var(--c37-soft);color:var(--c37-accent);font-size:.76rem;font-weight:650;white-space:nowrap}
.c37-badge[data-state="submitted"],.c37-badge[data-state="returned"],.c37-badge[data-state="invited"]{background:var(--c37-warm);color:var(--c37-ink)}
.c37-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.c37-list>li{padding:18px 0;border-top:1px solid var(--c37-line)}
.c37-list>li:first-child{border-top:0;padding-top:0}
.c37-list>li:last-child{padding-bottom:0}
.c37-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.c37-row>div{min-width:0}
.c37-row p{color:var(--c37-muted);margin-top:4px;font-size:.9rem}
.c37-pre{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px!important}
.c37-empty{padding:35px 16px;text-align:center;border:1px dashed var(--c37-line);border-radius:12px;color:var(--c37-muted)}
.c37-empty strong{display:block;color:var(--c37-ink);font-size:1.05rem;margin-bottom:7px}
.c37-filter{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.c37-filter label{flex:1 1 160px;min-width:0}
.c37-notice{padding:14px 18px;border-radius:10px;background:var(--c37-soft);font-size:.9rem;line-height:1.6;margin:14px 0}
.c37-error{padding:14px 18px;border:1px solid var(--c37-danger);border-radius:10px;color:var(--c37-danger);margin-bottom:18px}
.c37-error:empty{display:none}
.c37-success{border-left:3px solid var(--c37-accent)}
.connect37 dialog{padding:0;border:1px solid var(--c37-line);border-radius:18px;background:var(--c37-paper);color:var(--c37-ink);width:min(720px,calc(100vw - 24px));box-shadow:0 30px 100px #0005}
.c37-dialog-head{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--c37-line);position:sticky;top:0;background:var(--c37-paper);z-index:2}
.c37-dialog-body{padding:24px}
.c37-dialog-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--c37-line);position:sticky;bottom:0;background:var(--c37-paper);z-index:2}
.c37-link-editor{padding:18px 0;border-top:1px solid var(--c37-line)}
.c37-order{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--c37-line)}
.c37-order span{margin-right:auto}
.c37-footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--c37-line);font-size:.8rem;color:var(--c37-muted)}
.c37-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);background:#202733;color:white;border-radius:12px;padding:14px 22px;box-shadow:0 12px 50px #0003;z-index:10000}
.c37-table{overflow-x:auto}.c37-table table{width:100%;border-collapse:collapse;text-align:left}.c37-table :is(td,th){padding:12px;border-bottom:1px solid var(--c37-line);font-size:.9rem;vertical-align:top}
.c37-auth{max-width:540px;margin:7vh auto}
.c37-section-brand{width:180px;height:auto;display:block;margin-bottom:15px}
[data-theme="dark"] .c37-section-brand{background:#f7f8fa;border-radius:10px;padding:4px}
@container(max-width:600px){.c37-metrics{grid-template-columns:1fr}.c37-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;padding:14px 18px}.c37-metric strong{grid-column:2;grid-row:1/3;margin:0}.c37-metric span{font-size:.88rem}}
@media(prefers-reduced-motion:no-preference){.c37-panel{animation:c37-enter .24s ease-out}@keyframes c37-enter{from{opacity:.45;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:960px){.c37-layout{grid-template-columns:minmax(0,1fr);gap:22px}.c37-nav{position:static;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--c37-line);padding-bottom:16px}.c37-nav .c37-nav-bottom{display:none}.c37-topnav{gap:12px}.c37-hero-brand{width:145px}}
@media(max-width:600px){.c37-shell{padding-top:20px}.c37-top{align-items:flex-start}.c37-logo{width:125px}.c37-topnav{justify-content:flex-end;font-size:.85rem;gap:10px}.c37-topnav a{font-size:.8rem}.c37-hero{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:24px}.c37-hero-brand{width:150px}.c37-metrics{gap:8px}.c37-metric{padding:14px 10px}.c37-metric strong{font-size:1.8rem}.c37-metric span{font-size:.76rem}.c37-grid,.c37-help{grid-template-columns:1fr}.c37-card,.c37-feature{padding:18px}.c37-card-head,.c37-row{flex-wrap:wrap}.c37-dialog-head,.c37-dialog-body,.c37-dialog-foot{padding:18px}.c37-breadcrumb{margin-bottom:18px}.c37-nav{gap:3px}.connect37 .c37-nav button{padding:9px 11px;font-size:.88rem}.c37-toolbar{margin-top:10px}.c37-filter label{flex-basis:130px}}
@media print{.c37-top,.c37-nav,.c37-toolbar,.c37-actions,.c37-breadcrumb,.c37-filter,.c37-theme,.c37-toast,dialog{display:none!important}.connect37{background:white;color:black}.c37-layout{display:block}.c37-shell{padding:0}.c37-card,.c37-metric{box-shadow:none;break-inside:avoid}.c37-footer{display:none}}

/* Connect 38: transparent brand artwork always sits on a light brand surface. */
.p-hero .csbe-area-brand,.student-hero .csbe-area-brand,.c37-feature .c37-hero-brand{background:#fff!important;border-radius:16px;padding:8px 14px!important;box-sizing:border-box;box-shadow:0 4px 22px #0001;filter:none!important}
.c38-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;margin:25px 0;border:1px solid #cdd9ee;border-radius:22px;background:var(--c37-paper,#fff);color:var(--c37-ink,#182b45)}
.c38-entry h2{font-size:clamp(1.45rem,3vw,2rem);margin:.25em 0}.c38-entry p{margin:.4em 0;max-width:650px}.c38-entry-button{background:#183a6b;color:white!important;border-radius:12px;padding:16px 22px;text-decoration:none;font-weight:bold;white-space:nowrap}
.c38-customize{display:flex;justify-content:flex-end;margin:0 0 18px}.c38-customize button{min-height:44px}
.c38-skills-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:center}.c38-radar{width:100%;height:auto;max-width:430px;justify-self:center;overflow:visible;color:var(--c37-ink,#22324e)}
.c38-radar-grid{fill:none;stroke:#94a3b84d;stroke-width:1}.c38-radar-area{fill:#5274ec33;stroke:#617cf0;stroke-width:2}.c38-radar-line{fill:none;stroke:#617cf0;stroke-width:3}.c38-radar-dot{fill:#617cf0;stroke:var(--c37-paper,#fff);stroke-width:1.5}.c38-radar text{fill:currentColor;font-size:13px;font-weight:700}
.c38-skills{padding-left:24px;margin:0}.c38-skills>li{padding:8px 0;border-bottom:1px solid #94a3b82b}.c38-skills summary{display:flex;gap:12px;justify-content:space-between;cursor:pointer;font-size:.92rem}.c38-skills summary:before{content:'+';color:#6c83c4}.c38-skills summary span{flex:1}.c38-skills ul{padding-left:15px;font-size:.85rem}.c38-skills li strong{white-space:nowrap}.c38-done h3{text-decoration:line-through;opacity:.7}.c37-order .c37-check{margin:0;display:flex;align-items:center;gap:8px;min-width:0}.c37-order label{flex:1}.c37-order button{min-width:44px;min-height:44px}.c37-order input[type=checkbox]{width:auto;flex:none}
@media(max-width:700px){.c38-entry{align-items:stretch;flex-direction:column;padding:22px}.c38-entry-button{text-align:center;white-space:normal}.c38-skills-layout{grid-template-columns:1fr;gap:8px}.c38-radar{max-width:300px}.c38-customize{justify-content:stretch}.c38-customize button{width:100%}}
@media(prefers-reduced-motion:reduce){.c38-radar *{transition:none!important}}
