/* Final shared screen theme: presentation only; printed documents retain their approved styling. */
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;src:url('/instrument-sans-400.ttf') format('truetype');font-display:swap}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;src:url('/instrument-sans-500.ttf') format('truetype');font-display:swap}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;src:url('/instrument-sans-600.ttf') format('truetype');font-display:swap}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:700;src:url('/instrument-sans-700.ttf') format('truetype');font-display:swap}
@media screen{
 /* These former borderless rows are cards in the shared theme; retain an inner gutter. */
 html body :is(.marketing-panel,.staff-panel):not(.panel){padding:20px;min-width:0;box-sizing:border-box;}
 html body :is(.audience-card,.message-card,.capture-card){padding:16px;margin-block:12px;min-width:0;box-sizing:border-box;flex-wrap:wrap;align-items:flex-start;}
 html body :is(.audience-card,.message-card,.capture-card)>div{min-width:0;max-width:100%;}
 html body :is(.audience-card,.message-card,.capture-card) :is(h3,p,small){overflow-wrap:anywhere;}
 html body :is(.audience-card,.message-card,.capture-card)>:is(button,a){flex-shrink:0;}
 @media(max-width:650px){html body :is(.marketing-panel,.staff-panel):not(.panel){padding:14px;}}
 /* Nested finance workspaces need their own gutters, not only a card border. */
 html body .finance-panel:not(.panel){padding:20px;min-width:0;box-sizing:border-box;}
 html body .pricing-toolbar{margin-top:0;align-items:flex-start;gap:20px;}
 html body .pricing-toolbar>div{flex:1 1 320px;min-width:0;}
 html body .pricing-toolbar>label{flex:0 1 280px;min-width:0;width:100%;}
 html body .pricing-layout{grid-template-columns:minmax(0,1.25fr) minmax(380px,1fr);align-items:start;gap:20px;}
 html body .pricing-layout>*{min-width:0;}
 html body .pricing-card{padding:20px;margin-bottom:14px;align-items:start;gap:12px;}
 html body .pricing-card:last-child{border:1px solid var(--line);margin-bottom:0;}
 html body .pricing-card h3{line-height:1.45;overflow-wrap:anywhere;}
 html body .pricing-total{align-content:start;gap:5px;white-space:nowrap;}
 html body :is(.pricing-actions,.fee-plan>div:first-child,.approval-row,.expense-row,.ledger-line){flex-wrap:wrap;gap:12px;}
 html body .pricing-components{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:start;gap:16px;}
 html body .finance-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:16px;align-items:start;}
 html body :is(.finance-split,.ledger-grid)>*{min-width:0;}
 html body .finance-split .finance-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));}
 @media(max-width:1350px){html body .pricing-layout{grid-template-columns:minmax(0,1fr);}}
 @media(max-width:650px){html body .finance-panel:not(.panel){padding:14px;}html body .pricing-toolbar>label{flex-basis:auto;}html body .pricing-toolbar>div{flex-basis:auto;}html body .pricing-card{grid-template-columns:minmax(0,1fr);}html body .pricing-total{text-align:left;}}
 /* Shared working-surface geometry. Do not change visibility, control names or event handlers. */
 html body :is(#app,#content,.main,dialog) :is(form,fieldset,label,.panel,.grid>*,.profile-grid>*,.panel-head>*){min-width:0;box-sizing:border-box;}
 html body :is(#app,#content,dialog) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,textarea){max-width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;line-height:1.45;font-size:14px;}
 html body :is(#app,#content,dialog) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select){min-height:42px;}
 html body :is(#app,#content,dialog) textarea{min-height:96px;resize:vertical;}
 html body :is(#app,#content,dialog) label{line-height:1.45;overflow-wrap:anywhere;}
 html body :is(#app,#content,dialog) label> :is(input,select,textarea){margin-top:6px;}
 html body :is(#app,#content,dialog) button:not(.executive-kpi):not(.stage-card):not(.icon):not(.link-button):not(.back-link){min-height:38px;padding:9px 14px;line-height:1.4;word-break:normal;overflow-wrap:normal;max-width:100%;}
 html body :is(.actions,.profile-actions,.dialog-actions,.toolbar,.submission-actions,.recommendation-actions,.pricing-toolbar,.panel-head){flex-wrap:wrap;gap:10px;align-items:center;}
 html body :is(.profile-actions,.dialog-actions,.submission-actions)>button{flex-shrink:0;}
 html body :is(.profile-grid,.lead-profile-fields,.permission-matrix,.document-filters){gap:16px;align-items:start;}
 html body .profile-actions{align-self:end;}
 html body :is(.tabs,.tab-strip,.finance-tabs,.agent-tabs,.app-tabs,.governance-tabs,.hr-tabs,.marketing-tabs,.payroll-tabs,.staff-tabs,.alert-tabs){display:flex;max-width:100%;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding:6px 0 10px;scrollbar-width:thin;}
 html body :is(.tabs,.tab-strip,.finance-tabs,.agent-tabs,.app-tabs,.governance-tabs,.hr-tabs,.marketing-tabs,.payroll-tabs,.staff-tabs,.alert-tabs)>button{flex:0 0 auto;white-space:nowrap;}
 html body :is(#app,#content) .panel{max-width:100%;overflow-x:auto;}
 html body :is(#app,#content) table{width:100%;table-layout:auto;}
 html body :is(#app,#content) :is(th,td){vertical-align:top;line-height:1.5;}
 html body :is(#app,#content) td button{margin:3px 4px 3px 0;white-space:nowrap;}
 html body :is(#app,#content) :is(.document-command,.operations-command,.pipeline-banner,.ledger-head,[class$="-hero"]){gap:20px;flex-wrap:wrap;}
 html body :is(#app,#content) :is(.document-command,.operations-command,.pipeline-banner,.ledger-head,[class$="-hero"])>div{min-width:0;}
 html body dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;}
 html body .visual-distribution{margin-block:16px;}
 html body .distribution-track{height:12px;display:flex;gap:3px;border-radius:999px;overflow:hidden;background:var(--line);}
 html body .distribution-track>span{min-width:3px;}
 html body .distribution-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:14px;}
 html body .distribution-legend>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;}
 html body .distribution-legend i{width:9px;height:9px;border-radius:3px;}
 html body .distribution-legend b{color:var(--ink);}
 html body .stage-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;}
 @media(max-width:650px){html body :is(.staff-metrics,.finance-metrics,.agent-metrics,.marketing-metrics,.hr-metrics,.payroll-metrics,.copilot-insights,.document-centre-metrics){grid-template-columns:repeat(2,minmax(0,1fr))!important;}html body :is(.staff-metrics,.finance-metrics,.agent-metrics,.marketing-metrics,.hr-metrics,.payroll-metrics)>:is(div,article){min-width:0;padding:14px;}html body :is(.staff-metrics,.finance-metrics,.agent-metrics,.marketing-metrics,.hr-metrics,.payroll-metrics) :is(b,strong){overflow-wrap:anywhere;font-size:22px;}}
 @media(max-width:1100px){html body :is(.profile-grid,.permission-matrix){grid-template-columns:repeat(2,minmax(0,1fr));}}
 @media(max-width:650px){html body :is(.profile-grid,.lead-profile-fields,.permission-matrix,.profile-dialog-grid){grid-template-columns:minmax(0,1fr);}html body :is(.profile-actions,.dialog-actions){justify-content:flex-start;}html body dialog{padding:16px;}html body :is(.pricing-toolbar label,.document-filters input){min-width:0;}html body .profile-dialog-grid dd{text-align:left;}}
 /* Shared command banners used by offers, visa, documents, handovers and lead workflows. */
 html body :is(.document-command,.operations-command,.pipeline-banner,.ledger-head,.counsellor-command article,.copilot-insights article,.copilot-insights article:last-child){background:linear-gradient(110deg,#5b2dc7,#7839d9,#9039cf)!important;color:#fff!important;border-color:#ffffff26!important;border-radius:12px;box-shadow:0 6px 18px #6336df18;}
 html body :is(.document-command,.operations-command,.pipeline-banner,.ledger-head,.counsellor-command article,.copilot-insights article) :is(h1,h2,h3,h4,p,span,small,b,strong,.eyebrow,.muted){color:#fff!important;}
 html body :is(.document-command,.operations-command,.pipeline-banner,.ledger-head) button:not(.primary){background:#fff!important;color:#5325aa!important;border:1px solid #ffffff80!important;box-shadow:0 2px 6px #30107014;}
 html body :is(.document-command,.operations-command,.pipeline-banner,.ledger-head) button:not(.primary):hover{background:#f1eaff!important;}
 html body :is(.document-command,.operations-command,.pipeline-banner,.ledger-head) button :is(span,b,small){color:inherit!important;}
 html:root{--blue:#7444e8;--green:#7444e8;--blue-dark:#6133cd;--blue-soft:#f0ebff;--sky:#f5f2fc;--sky-strong:#eee8fc;--paper:#f7f8fc;--page:#f7f8fc;--bg:#f7f8fc;--surface:#fff;--card:#fff;--ink:#202531;--muted:#697180;--line:#e5e7ed;--navy:#202b49;--yellow:#eee8fc;--lime:#eee8fc;}
 html[data-theme="dark"]{color-scheme:dark;--blue:#b49aff;--green:#b49aff;--blue-dark:#9c7dea;--blue-soft:#34274f;--sky:#242131;--sky-strong:#34274f;--paper:#151922;--page:#151922;--bg:#151922;--surface:#1e2430;--card:#1e2430;--ink:#e9edf5;--muted:#a8b1c2;--line:#343d4c;--navy:#dce3f5;}
 html body,html body :is(main,section,article,aside,header,footer,nav,div,p,span,small,b,strong,td,th,a,summary,button,input,select,textarea,h1,h2,h3,h4,h5,h6,table,label){font-family:"Instrument Sans",Arial,sans-serif!important;}
 html body{background:var(--paper)!important;color:var(--ink);}
 html body :is(.primary,button.primary){background:#7444e8!important;border-color:#7444e8!important;color:white!important;}
 html body :is(.primary,button.primary):hover{background:#6133cd!important;}
 html body :is(input[type="checkbox"],input[type="radio"],input[type="range"]){accent-color:#7444e8;}
 html body :is(.marketing-hero,.accounts-hero,.agent-hero,.bulk-hero,.conversion-hero,.governance-hero,.hr-hero,.payroll-hero,.portal-hero,.report-hero,.staff-hero,.system-hero,.refund-hero,.assistant-hero,.finder-hero){background:linear-gradient(110deg,#6336df,#8943f2,#ad42ec)!important;color:#fff!important;border-radius:12px;}
 html body :is(.marketing-hero,.accounts-hero,.agent-hero,.bulk-hero,.conversion-hero,.governance-hero,.hr-hero,.payroll-hero,.portal-hero,.report-hero,.staff-hero,.system-hero,.refund-hero,.assistant-hero,.finder-hero) :is(h1,h2,h3,p,.eyebrow,small){color:#fff!important;}
 html body :is(.finance-panel,.marketing-panel,.staff-panel,.pricing-card,.template-card,.review-card,.assistant-card,.ai-processing-card,.applicant-card,.match-panel,.shortlist-panel,.session-card,.audience-card,.campaign-card,.capture-card,.message-card,.registration-card,.report-card,.staff-card,.copilot-panel){background:var(--card)!important;color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);}
 html body :is(.conversion-metrics,.operations-crm-metrics,.document-centre-metrics,.operations-metrics,.refund-metrics)>:is(div,article){background:var(--card)!important;color:var(--ink);border:1px solid var(--line);border-radius:10px;}
 html body :is(.finance-tabs,.agent-tabs,.app-tabs,.governance-tabs,.hr-tabs,.marketing-tabs,.payroll-tabs,.staff-tabs,.alert-tabs) button{border-radius:7px;border-color:var(--line);color:var(--muted);background:var(--card);}
 html body :is(.finance-tabs,.agent-tabs,.app-tabs,.governance-tabs,.hr-tabs,.marketing-tabs,.payroll-tabs,.staff-tabs,.alert-tabs) button.active{background:var(--blue-soft)!important;color:var(--blue)!important;border-color:var(--blue)!important;}
 html body :is(.brand-logo-frame,.side .brand img,.login-brand img,.login img,.login-card .brand img){background:transparent!important;}
 html body #sidebar .brand-logo-frame{background:transparent!important;}
 html body :is(.brand-logo,.brand img,.logo-image){max-width:180px!important;max-height:56px!important;object-fit:contain;}
 html body .side .brand{height:auto!important;min-height:80px!important;flex-wrap:wrap;gap:3px;padding-top:8px!important;padding-bottom:8px!important;}
 html body .side .brand>div{flex-basis:100%;}
 html body :is(.login-brand img,.login img,.login-card .brand img){max-width:200px!important;max-height:64px!important;}
 html body #portal>.login,html body #studentPortal>.login{background:radial-gradient(ellipse at top,var(--blue-soft),var(--paper) 70%)!important;}
 html[data-theme="dark"] body :is(.login-dialog::backdrop){background:#151922ee;}
 html[data-theme="dark"] body :is(.panel,.metric,.login-card,.stage-card,.filters,.security-summary,.course-card){background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important;}
 html[data-theme="dark"] body :is(input,select,textarea){background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important;}
 html body .eyebrow{font-size:12px;}
 html body :is(.side nav button,#sidebar nav button){font-size:14px;}
 @media(min-width:901px){html body.sidebar-collapsed #sidebar .brand-logo-frame{background:#fff url('/studyos-favicon.png') center/contain no-repeat!important;}}
 @media(max-width:900px){html body :is(.brand-logo,.brand img,.logo-image){max-width:150px!important;max-height:46px!important;}html body.sidebar-collapsed #sidebar .brand-logo-frame{background:transparent!important;}}
}
