/* UrusPay: one shared theme for every package, portal and public document. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('/fonts/plus-jakarta-sans-variable.ttf') format('truetype')}
:root{--up-font:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--up-bg:#f6f8f5;--up-surface:#fff;--up-color-ink:#24332f;--up-ink:var(--up-color-ink);--up-muted:#58665f;--up-border:#dce3dd;--up-primary:#14785c;--up-primary-hover:#10634c;--up-soft:#eef3ed;--up-violet:#14785c;--up-radius:16px;--up-success:#167252;--up-warning:#a65c12;--up-danger:#be2450}
html[data-up-theme]{color-scheme:light;scroll-padding-top:88px;-webkit-text-size-adjust:100%;font-family:var(--up-font);background:var(--up-bg);color:var(--up-ink)}
html[data-up-theme] body{font-family:var(--up-font)!important;background:var(--up-bg)!important;color:var(--up-ink);font-size:14px;line-height:1.65;margin:0}
html[data-up-theme] :is(h1,h2,h3,h4,p,label,legend,button,input,select,textarea,table,summary,a,small,span){font-family:var(--up-font)!important}
html[data-up-theme] :is(h1,h2,h3,h4){color:var(--up-ink);font-weight:750;line-height:1.35;letter-spacing:-.025em}
html[data-up-theme] :is(button,input,select,textarea){box-sizing:border-box;font-size:14px;line-height:1.5;max-width:100%}
html[data-up-theme] :is(button,[role=button],a.button){touch-action:manipulation}
html[data-up-theme] :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]){border-color:var(--up-border)!important;border-radius:11px;color:var(--up-ink)!important;background:#fff;min-height:44px}
html[data-up-theme] :is(input[type=checkbox],input[type=radio]){accent-color:var(--up-primary);flex-shrink:0}
html[data-up-theme] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #99b9a7!important;outline-offset:3px}
html[data-up-theme] :is(button:disabled,input:disabled,select:disabled,textarea:disabled){cursor:not-allowed}
html[data-up-theme] :is(.elp-root,.up-auth-theme,.up-modern-shell,.up-smartwa,.up-email-reminders){--up-paper:var(--up-bg);--up-card:var(--up-surface);--up-line:var(--up-border);--up-green:var(--up-primary);--elp-ink:var(--up-ink);--elp-muted:var(--up-muted);--elp-green:var(--up-primary);--elp-line:var(--up-border);--sw-green:var(--up-primary);--sw-line:var(--up-border);--um-ink:var(--up-ink);--um-muted:var(--up-muted);--um-border:var(--up-border);--um-green:var(--up-primary);font-family:var(--up-font)!important;color:var(--up-ink)}
html[data-up-theme] :is(.elp-root,.up-auth-theme,.up-modern-shell){background:var(--up-bg)!important}
html[data-up-theme] :is(.card,.student-card,.sw-panel,.um-panel,.um-stat,.ua-card,.pm-card,.up-rw-panel,.up-pw-card,.up-fi-card,.up-fo-panel){background:#fff;border-color:var(--up-border)!important;border-radius:var(--up-radius);box-shadow:0 3px 16px #24332f04}
html[data-up-theme] :is(.muted,.sw-muted,.pm-muted){color:var(--up-muted)}
html[data-up-theme] :is(.button.primary,.sw-primary,.ua-submit,.elp-btn-primary,.pm-btn.active,button.bg-emerald-600,button.bg-emerald-700,button.bg-green-600,a.bg-emerald-600){background:var(--up-primary)!important;border-color:var(--up-primary)!important;color:#fff!important;border-radius:11px;font-weight:700}
html[data-up-theme] :is(.button.primary,.sw-primary,.ua-submit,.elp-btn-primary,button.bg-emerald-600):not(:disabled):hover{background:var(--up-primary-hover)!important;border-color:var(--up-primary-hover)!important}
html[data-up-theme] :is(.um-header,.topbar,.up-soft-header,.elp-header,.ua-header){border-color:var(--up-border);color:var(--up-ink)}
html[data-up-theme] :is(.up-soft-header,.elp-header){background:#fffffff5!important}
html[data-up-theme] :is(.up-soft-header,.up-auth-theme) :is(.bg-emerald-50,.bg-green-50){background:var(--up-soft)!important}
html[data-up-theme] .up-auth-theme :is(.text-emerald-800,.text-emerald-900,.text-slate-900){color:var(--up-ink)!important}
/* Public home, plans, signup and login follow the workspace palette. */
html[data-up-theme] .elp-root :is(.elp-hero,.elp-section-alt,.elp-auth-wrap,.elp-footer){background:var(--up-bg)!important}
html[data-up-theme] .elp-root :is(.elp-hero h1,.elp-hero h2,.ua-story h2,.ua-form-heading h1,.elp-brand){color:var(--up-ink)!important}
html[data-up-theme] .elp-root :is(.elp-hero h1 span,.elp-hero h2 span,.ua-story h2 span){color:var(--up-primary)!important}
html[data-up-theme] .elp-root :is(.elp-btn,.ua-card,.ua-tabs,.ua-plans button,.elp-price-card){border-color:var(--up-border)!important}
html[data-up-theme] .ua-tabs{background:var(--up-soft)!important}
html[data-up-theme] .ua-tabs [aria-current=page]{background:white;color:var(--up-primary)!important}
html[data-up-theme] .ua-plans button[aria-pressed=true]{background:var(--up-soft)!important;border-color:var(--up-primary)!important}
html[data-up-theme] .ua-card :is(label,legend){color:var(--up-ink);font-size:13px}
html[data-up-theme] .ua-story-link,html[data-up-theme] .ua-forgot,html[data-up-theme] .ua-secondary-link{color:var(--up-primary)!important}
html[data-up-theme] .ua-layout{align-items:start}
html[data-up-theme] :is(.ua-alert,.google-error,.error){color:var(--up-danger)}
/* Account recovery uses the same card and actions as the portal. */
html[data-up-theme] body:has(>main>#title)>main{border-color:var(--up-border);border-radius:20px;box-shadow:0 8px 28px #24332f08}
html[data-up-theme] body:has(>main>#title) :is(.brand,h1){color:var(--up-ink)}
html[data-up-theme] body:has(>main>#title) :is(button,a.button){background:var(--up-primary);border-color:var(--up-primary);border-radius:11px}
html[data-up-theme] body:has(>main>#title) .secondary{background:#fff;color:var(--up-primary)}
/* Keep long names readable while limiting sideways scrolling to data tables. */
html[data-up-theme] :is(.up-workspace-page,.team-reminder-home,.card,.ua-card,.pm-card){min-width:0}
html[data-up-theme] :is(.um-main,.card,.ua-card) :is(h1,h2,h3,p,small){overflow-wrap:break-word}
html[data-up-theme] table{font-variant-numeric:tabular-nums;font-size:13px}
html[data-up-theme] th{font-weight:750;color:var(--up-ink)}
html[data-up-theme] :is(.table-wrap,.table-responsive){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
html[data-up-theme] .pm-title{font-size:20px;color:var(--up-ink)}
@media(max-width:850px){html[data-up-theme] :is(.up-workspace-page,.ua-card,.auth-card,.up-auth-theme) button{min-height:44px}html[data-up-theme] .up-workspace-page h1{font-size:24px}html[data-up-theme] .up-workspace-page h2{font-size:20px}}
@media(max-width:600px){html[data-up-theme] :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]){font-size:16px!important}html[data-up-theme] .ua-card{padding:22px 18px}html[data-up-theme] .ua-form-heading h1{font-size:25px}html[data-up-theme] .ua-story h2{font-size:clamp(30px,8vw,42px)}html[data-up-theme] .pm-title{font-size:19px}}
@media(prefers-reduced-motion:reduce){html[data-up-theme] *,html[data-up-theme] *:before,html[data-up-theme] *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Standalone receipt templates inherit the font even without the application frame. */
body{font-family:var(--up-font);-webkit-print-color-adjust:exact;print-color-adjust:exact}
@media print{html[data-up-theme],html[data-up-theme] body,body{background:white!important;color:#24332f!important;font-family:var(--up-font)!important}html[data-up-theme] :is(input,select,textarea){box-shadow:none!important}a{color:inherit}}
/* Module-level tokens keep collection, reports, students and dialogs aligned. */
html[data-up-theme] :is(.up-pw,.up-rp){--pw-ink:var(--up-ink);--pw-muted:var(--up-muted);--rp-ink:var(--up-ink);--rp-muted:var(--up-muted);--rp-line:var(--up-border)}
html[data-up-theme] :is(.up-fo,.up-fc-list,.up-bie-overlay,.up-student-reminders){color:var(--up-ink)}
html[data-up-theme] :is(.up-workspace-page,.elp-root,.up-auth-theme) :is(h1,h2,h3,h4){color:var(--up-ink)!important}
html[data-up-theme] :is(.up-fi-title,.up-fc-name,.up-student-name,.up-student-list-heading strong,.up-fo-title,.up-pw-title,.up-rp-title){color:var(--up-ink)!important}
html[data-up-theme] :is(.up-fi-card,.up-fc-card,.up-fo,.up-pw,.up-rp,.up-student-list-heading,.up-bie-dialog) :is(header,footer,fieldset){border-color:var(--up-border)}
html[data-up-theme] :is(.up-bie-dialog,.up-student-reminders){background:var(--up-bg);border-color:var(--up-border)}
html[data-up-theme] :is(.elp-pricing,.elp-hero-badge){background:var(--up-soft)!important;border-color:var(--up-border)!important}
html[data-up-theme] .elp-root :is(h1,h2,h3,.elp-brand,.elp-btn-dark){color:var(--up-ink)}
html[data-up-theme] .elp-root :is(.elp-btn-dark){background:var(--up-ink);color:white}
html[data-up-theme] .elp-root :is(.elp-btn-outline,.elp-btn-white,.elp-text-link,.elp-community-cta){color:var(--up-primary)!important}
html[data-up-theme] .elp-root :is(.elp-plan,.elp-plan-featured){border-color:var(--up-border)!important}
html[data-up-theme] .elp-root :is(.elp-plan-featured,.elp-plan.is-featured){border-color:var(--up-primary)!important}
html[data-up-theme] :is(.up-fi-primary,.up-fc-primary,.up-fc-quick>summary,.up-pw-submit,.up-rp button.primary,.up-bie-primary,.up-n-primary){background:var(--up-primary)!important;color:#fff!important;border-color:var(--up-primary)!important;border-radius:11px}
html[data-up-theme] :is(.up-n-portal,.up-n-box,.up-doc-dialog){font-family:var(--up-font)!important;color:var(--up-ink);border-color:var(--up-border)}
html[data-up-theme] .up-n-portal{background:var(--up-bg);min-height:100dvh}
html[data-up-theme] .up-n-portal :is(h1,h2,h3){color:var(--up-ink)!important}
html[data-up-theme] :is(.up-n-note,.up-n-btn:not(.up-n-danger):not(.up-n-primary)){border-color:var(--up-border);color:var(--up-ink)}

/* Legacy public forms use ID selectors; match that scope without touching status colors. */
html[data-up-theme] :is(.elp-root,.up-auth-theme,.up-modern-shell){--up-ink:var(--up-color-ink)}
html[data-up-theme] #beta-sales-page #authForm button[type=submit]{background:var(--up-primary)!important;border-color:var(--up-primary)!important;color:#fff!important}
html[data-up-theme] #beta-sales-page #authForm button[type=submit]:not(:disabled):hover{background:var(--up-primary-hover)!important}
html[data-up-theme] #beta-sales-page #authForm input:focus{border-color:var(--up-primary)!important}
html[data-up-theme] #beta-sales-page .up-plan-choice.is-selected{background:var(--up-soft)!important;border-color:var(--up-primary)!important;color:var(--up-ink)!important;box-shadow:inset 0 0 0 1px var(--up-primary)}

/* Module actions also appear inside legacy accounts and dynamically rendered dialogs. */
html[data-up-theme] :is(.up-auth-theme,.up-workspace-page,.up-modern-shell){
 --up-ink:var(--up-color-ink);--up-muted:#58665f;--up-line:#dce3dd;
 --up-green:#14785c;--menu-soft:#eef3ed;--menu-line:#dce3dd;
}
html[data-up-theme] :is(.up-students-action.is-primary,.up-soft-primary,.up-fb-primary,.up-reset-primary,.sr-primary){
 background:#14785c!important;border-color:#14785c!important;color:#fff!important;
}
html[data-up-theme] :is(.up-students-action.is-primary,.up-soft-primary,.up-fb-primary,.up-reset-primary,.sr-primary):hover:not(:disabled){
 background:#10634c!important;border-color:#10634c!important;
}
html[data-up-theme] :is(.up-students-action,.up-student-edit-toggle){
 border-color:#dce3dd!important;color:#24332f;background:#fff;
}
html[data-up-theme] .up-student-edit-toggle[aria-pressed=true]{background:#14785c!important;color:#fff!important;border-color:#14785c!important}
html[data-up-theme] :is(.up-students-filters>summary,.up-students-filter>summary,.up-rp-filter-toggle){
 background:#eef3ed!important;color:#24332f!important;border-color:#dce3dd!important;
}
html[data-up-theme] :is(.up-student-index,.up-student-class,.up-student-columns,.up-student-selection){
 background:#eef3ed;color:#58665f;border-color:#dce3dd;
}
html[data-up-theme] :is(.up-student-list,.up-student-list-heading,.up-students-heading){color:#24332f}
html[data-up-theme] :is(.up-student-row,.up-student-list-heading,.up-students-popover){border-color:#dce3dd}

/* One mark and wordmark, shared by every app entry. */
html[data-up-theme] .up-brand-lockup{
 display:inline-flex!important;align-items:center;gap:10px;white-space:nowrap;
 color:#24332f!important;font-family:var(--up-font)!important;line-height:1.2;
}
html[data-up-theme] .up-brand-lockup>strong{
 font-size:24px!important;font-weight:800!important;letter-spacing:-.9px;
 color:#24332f!important;line-height:1.2;display:block;
}
html[data-up-theme] .up-brand-mark{
 display:inline-flex!important;align-items:center;justify-content:center;
 width:36px!important;height:36px!important;flex:0 0 36px!important;
 border:0!important;background:transparent!important;box-shadow:none!important;
 padding:0!important;margin:0!important;border-radius:0!important;color:inherit;
}
html[data-up-theme] .up-brand-mark img{display:block;width:100%!important;height:100%!important;object-fit:contain}
html[data-up-theme] .um-brand{gap:0}
html[data-up-theme] .um-brand>.up-brand-lockup{width:auto!important;height:auto!important;background:transparent!important;border-radius:0!important;flex:0 1 auto!important}
html[data-up-theme] .um-brand .up-brand-mark{background:transparent!important}
html[data-up-theme] .portal-topbar .brand>.up-brand-lockup{width:auto!important;height:auto!important;background:transparent!important;display:inline-flex!important;font-size:inherit}
html[data-up-theme] .elp-logo:has(.up-brand-mark){width:36px;height:36px}
html[data-up-theme] .up-account-mark{background:#fff;box-shadow:none}
html[data-up-theme] .up-account-mark img{width:46px;height:46px;object-fit:contain}
@media(max-width:640px){html[data-up-theme] .up-brand-lockup>strong{font-size:22px!important}html[data-up-theme] .up-brand-lockup{gap:8px}}

/* System administration uses the same workspace chrome and native actions. */
html[data-up-theme] .um-system-admin .um-admin-tabs{
 position:static!important;overflow:visible!important;background:transparent!important;
 margin:0 0 20px!important;padding:0!important;backdrop-filter:none;
}
html[data-up-theme] .um-system-admin .um-admin-tab-list{
 display:flex;flex-wrap:wrap;gap:8px;min-width:0!important;
 padding:8px;background:#eef3ed;border:1px solid #dce3dd;border-radius:16px;
}
html[data-up-theme] .um-system-admin .um-admin-tab{
 min-height:44px;padding:10px 14px;border:1px solid transparent;
 border-radius:11px;background:transparent;color:#58665f;
 font-size:13px;font-weight:650;box-shadow:none;white-space:normal;
}
html[data-up-theme] .um-system-admin .um-admin-tab[aria-pressed=true]{
 background:white;color:#14785c;border-color:#dce3dd;box-shadow:0 2px 6px #24332f07;
}
html[data-up-theme] .um-system-admin .up-workspace-page :is(.rounded-3xl,.rounded-2xl){
 border-radius:16px;border-color:#dce3dd;
}
html[data-up-theme] .um-system-admin .up-workspace-page table{font-size:13px;line-height:1.6}
html[data-up-theme] .um-system-admin .up-workspace-page thead{background:#eef3ed;color:#24332f}
html[data-up-theme] .um-system-admin .up-workspace-page :is(th,td){padding:14px 16px}
html[data-up-theme] .um-system-admin .up-workspace-page .overflow-x-auto{max-width:100%;overscroll-behavior-x:contain}
@media(max-width:640px){
 html[data-up-theme] .um-system-admin .um-admin-tab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-up-theme] .um-system-admin .um-admin-tab{justify-content:flex-start;font-size:12px;padding:10px;min-width:0}
}


/* Shared calm palette also owns the shell, not only the dashboard view. */
html[data-up-theme] .up-modern-shell{
 --up-paper:var(--up-bg);--up-card:var(--up-surface);--up-ink:var(--up-color-ink);
 --up-muted:#58665f;--up-line:var(--up-border);--up-green:var(--up-primary);
 --um-ink:var(--up-color-ink);--um-muted:var(--up-muted);--um-border:var(--up-border);--um-green:var(--up-primary);
 background:var(--up-bg)!important;color:var(--up-color-ink);
}
html[data-up-theme] .up-modern-shell :is(.um-column,.um-header){background:var(--up-bg)!important;border-color:var(--up-border)!important}
html[data-up-theme] .up-modern-shell :is(.um-page-heading h1,.um-panel header h2,.um-account strong,.up-workspace-page){color:var(--up-color-ink)!important}
html[data-up-theme] .up-modern-shell :is(.um-page-heading div>span,.um-location,.um-location [aria-current=page],.um-school small,.um-account small,.um-stat small){color:var(--up-muted)}
html[data-up-theme] .up-modern-shell .um-nav-link{color:#526158!important}
html[data-up-theme] .up-modern-shell .um-nav-link:is(.is-active,:hover){background:var(--up-soft)!important;color:var(--up-primary)!important}
html[data-up-theme] .up-modern-shell .um-active-dot{background:var(--up-primary)}
html[data-up-theme] .up-modern-shell :is(.um-avatar,.um-header-account){background:var(--up-soft);color:var(--up-primary);border-color:var(--up-border)}
html[data-up-theme] .up-modern-shell :is(.um-school,.um-header-module,.um-rail-shortcuts a,.um-rail-shortcuts button){border-color:var(--up-border)!important}
html[data-up-theme] .up-modern-shell :is(.um-school-icon,.um-plan-badge,.um-rail-shortcuts a,.um-rail-shortcuts button){color:var(--up-primary)!important}
html[data-up-theme] .up-modern-shell .um-btn{background:#fff!important;color:var(--up-primary)!important;border-color:var(--up-border)!important}
html[data-up-theme] .up-modern-shell :is(.um-dashboard-primary,.um-hero-primary){background:var(--up-primary)!important;border-color:var(--up-primary)!important;color:#fff!important}
html[data-up-theme] .up-modern-shell :is(.um-dashboard-primary,.um-hero-primary):hover:not(:disabled){background:var(--up-primary-hover)!important}
html[data-up-theme] .up-student-row.is-selected{box-shadow:inset 3px 0 var(--up-primary)}
html[data-up-theme] :is(.up-student-list,.up-workspace-page) input:is([type=checkbox],[type=radio]){accent-color:var(--up-primary)}

/* Settings separate account controls from reminder channels and keep navigation compact. */
html[data-up-theme] .up-settings-page .up-menu-settings-nav{padding:16px!important;border-radius:14px!important;box-shadow:none}
html[data-up-theme] .up-settings-page .up-menu-settings-nav>.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:12px}
html[data-up-theme] .up-settings-page [data-action=settings-section]{padding:10px 12px;min-height:58px;border:1px solid var(--up-border);border-radius:10px;background:white;color:var(--up-ink);box-shadow:none}
html[data-up-theme] .up-settings-page [data-action=settings-section][aria-pressed=true]{background:var(--up-soft);border-color:var(--up-primary);color:var(--up-primary);box-shadow:none}
html[data-up-theme] .up-settings-page [data-action=settings-section]>span:first-child{width:32px;height:32px;border-radius:8px;background:var(--up-soft);color:var(--up-primary)}
html[data-up-theme] .up-settings-page [data-action=settings-section] .text-sm{font-size:12px;line-height:1.4}
html[data-up-theme] .up-settings-page [data-action=settings-section] .text-xs{font-size:10px;line-height:1.4}
html[data-up-theme] .up-settings-page button[type=submit]{background:var(--up-primary)!important;color:#fff!important;border-color:var(--up-primary)!important;border-radius:10px}
html[data-up-theme] .up-settings-page .up-settings-channels{display:grid;gap:10px;margin-top:16px}
html[data-up-theme] .up-settings-channel{border:1px solid var(--up-border);border-radius:12px;overflow:hidden;background:white}
html[data-up-theme] .up-settings-channel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px;cursor:pointer;list-style:none;color:var(--up-ink);font-weight:700}
html[data-up-theme] .up-settings-channel>summary::-webkit-details-marker{display:none}
html[data-up-theme] .up-settings-channel>summary:after{content:'＋';color:var(--up-primary);font-size:18px}
html[data-up-theme] .up-settings-channel[open]>summary:after{content:'−'}
html[data-up-theme] .up-settings-channel>summary small{display:block;color:var(--up-muted);font-size:12px;font-weight:400;margin-top:3px}
html[data-up-theme] .up-settings-channel[open]>summary{background:var(--up-soft);border-bottom:1px solid var(--up-border)}
html[data-up-theme] .up-settings-channel-body{padding:14px 16px}
html[data-up-theme] .up-settings-channel-body form{margin-top:8px}
html[data-up-theme] .up-settings-channel textarea{min-height:160px;max-height:360px;resize:vertical}
html[data-up-theme] .up-settings-description{font-size:12px;color:var(--up-muted);margin:0 0 10px}
html[data-up-theme] .up-settings-codes{margin-top:12px;padding:10px 12px;border:1px solid var(--up-border);border-radius:10px;background:var(--up-soft)}
html[data-up-theme] .up-settings-codes>summary{cursor:pointer;font-size:12px;font-weight:650;color:var(--up-primary);min-height:24px}
@media(max-width:480px){html[data-up-theme] .up-settings-page .up-menu-settings-nav>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-up-theme] .up-settings-page [data-action=settings-section]{gap:8px;padding:9px}html[data-up-theme] .up-settings-page [data-action=settings-section]>span:first-child{display:none}html[data-up-theme] .up-settings-channel-body{padding:12px}}
