/* UrusPay workspace only: no external fonts, images, libraries or requests. */
.up-auth-theme.up-auth-theme{--up-paper:#faf7f0;--up-card:#fffefa;--up-ink:#24332f;--up-muted:#58665f;--up-line:#eef3ed;--up-sage:#eef3ed;--up-green:#24332f;--up-peach:#f8ded0;--up-coral:#a7442e;background:var(--up-paper);color:var(--up-ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.up-auth-theme .up-soft-main{padding-top:24px;padding-bottom:32px}
.up-auth-theme .up-soft-header{background:#faf7f0f5;border-color:var(--up-line);backdrop-filter:none}
.up-auth-theme .up-soft-header .text-slate-900{color:var(--up-ink)}
.up-auth-theme :is(.border-slate-100,.border-slate-200){border-color:var(--up-line)}
.up-auth-theme :is(.text-slate-900,.text-slate-800){color:var(--up-ink)}
.up-auth-theme :is(.text-slate-500,.text-slate-400){color:var(--up-muted)}
.up-auth-theme .bg-white{background-color:var(--up-card)}
.up-auth-theme .bg-slate-50{background-color:#eef3ed}
.up-auth-theme .bg-slate-100{background-color:#eef3ed}
.up-auth-theme .shadow-soft{box-shadow:0 6px 20px #4c574610}
.up-auth-theme :is(.bg-blue-600,.bg-blue-700){background-color:var(--up-green);color:white}
.up-auth-theme .bg-blue-50{background-color:#eef3ed}
.up-auth-theme :is(.text-blue-700,.text-blue-600){color:var(--up-green)}
.up-auth-theme :is(.border-blue-100,.border-blue-200){border-color:#dce3dd}
.up-auth-theme :is(button,a,input,select,textarea):focus-visible{outline:3px solid #58665f;outline-offset:3px}
.up-auth-theme :is(input,select,textarea){accent-color:var(--up-green)}
/* The sidebar keeps the existing links and permissions. */
.up-auth-theme .up-soft-sidebar{background:#eef3ed;color:var(--up-ink);border-right:1px solid #dce3dd}
.up-soft-sidebar>div:first-child{border-color:#dce3dd;padding-top:28px;padding-bottom:22px}
.up-auth-theme .up-soft-sidebar :is(.text-slate-400,.text-slate-500){color:#58665f}
.up-auth-theme .up-soft-sidebar .text-amber-300{color:#655222;line-height:1.6}
.up-soft-sidebar>div:last-child{border-color:#dce3dd}
.up-soft-sidebar .up-soft-nav{padding:18px 12px;display:flex;flex-direction:column;gap:5px}
.up-auth-theme .up-soft-nav>button{color:#24332f;border:1px solid transparent;min-height:47px;border-radius:17px;font-size:13px;font-weight:650;background:transparent;box-shadow:none}
.up-soft-nav>button>svg{width:30px;height:30px;flex-shrink:0;padding:6px;border-radius:11px;color:#58665f;background:#dce3dd}
.up-soft-nav>button:nth-child(3n+2)>svg{background:#efd4c7;color:#91503a}
.up-soft-nav>button:nth-child(3n)>svg{background:#eee0b6;color:#7a5c28}
.up-auth-theme .up-soft-nav>button:hover{background:#eef3ed}
.up-auth-theme .up-soft-nav>button[aria-current=page]{background:#fffefa;border-color:#fffefa;color:#24332f;box-shadow:0 4px 12px #49624513}
.up-auth-theme .up-soft-nav>button[aria-current=page]>svg{background:#dce3dd}
.up-auth-theme .up-soft-nav>button[data-action=open-upgrade-plan]{margin-top:12px;background:#f7dfcc;border-color:#efd1b7;color:#70432d}
.up-auth-theme .up-soft-header button[data-action=open-data-year-manager]{background:#eef3ed;border-color:#dce3dd;color:#24332f;box-shadow:none}
.up-auth-theme .up-soft-header button[data-action=logout]{background:#f8e5db;border-color:#ebd2c3;color:#8f4938;box-shadow:none}
/* Dashboard: quiet pastel cards and one clear primary action. */
.up-soft-dashboard{display:grid;gap:24px;max-width:1500px;margin:0 auto;min-width:0}
.up-soft-welcome{position:relative;isolation:isolate;display:flex;align-items:center;gap:22px;min-width:0;padding:30px;border:1px solid #f1d7c7;border-radius:28px;background:linear-gradient(115deg,#fce9df,#f6d8c9);box-shadow:0 8px 24px #a46e4b0d;overflow:hidden}
.up-soft-welcome-copy{min-width:0;flex:1}
.up-soft-welcome h1{font-size:clamp(23px,2.2vw,31px);font-weight:800;letter-spacing:-.7px;line-height:1.25;overflow-wrap:anywhere;margin:10px 0;color:#3d3c30}
.up-soft-welcome p{font-size:14px;line-height:1.65;color:#655d4f;margin:0}
.up-soft-year{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;font-weight:700;line-height:1.6;color:#65513f;background:#fff9f0e8;border-radius:20px;padding:5px 10px}
.up-soft-year>span{width:7px;height:7px;background:#58665f;border-radius:50%}
.up-soft-welcome-mark{flex-shrink:0;display:grid;place-items:center;width:83px;height:90px;border-radius:25px;background:#fff7eee6;color:#58665f;box-shadow:0 5px 14px #9e77531a;border:1px solid #fff8f0}
.up-soft-welcome-mark>svg{width:43px;height:43px;stroke-width:1.5}
.up-soft-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.up-soft-dashboard :is(.up-soft-primary,.up-soft-secondary){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 17px;border-radius:16px;font-size:13px;font-weight:750;line-height:1.5}
.up-soft-dashboard .up-soft-primary{color:white;background:#a7442e;border:1px solid #a7442e;box-shadow:0 4px 10px #a7442e1c}
.up-soft-dashboard .up-soft-primary:hover{background:#913a29}
.up-soft-dashboard .up-soft-secondary{color:#24332f;background:#fffdf6;border:1px solid #f8f4e9;box-shadow:0 4px 10px #8a795810}
.up-soft-dashboard .up-soft-secondary:hover{background:#eef3ed}
.up-soft-plant{position:relative;width:80px;height:100px;flex-shrink:0;margin:5px 10px 0;opacity:.9}
.up-soft-plant:after{content:'';position:absolute;bottom:0;left:22px;width:47px;height:38px;background:#dbcca5;border-radius:3px 3px 15px 15px;box-shadow:0 7px 9px #83624412}
.up-soft-plant span{position:absolute;bottom:30px;width:31px;height:53px;border-radius:70% 70% 35% 35%;background:#58665f;transform-origin:bottom}
.up-soft-plant span:nth-child(1){left:27px;height:66px;background:#58665f}
.up-soft-plant span:nth-child(2){left:21px;transform:rotate(-30deg)}
.up-soft-plant span:nth-child(3){left:40px;transform:rotate(25deg);background:#58665f}
.up-soft-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;min-width:0}
.up-soft-stat{padding:21px;border:1px solid #eef3ed;border-radius:25px;background:#eef3ed;box-shadow:0 6px 18px #596f5110;min-width:0}
.up-soft-stat.is-peach{background:#f8e1d5;border-color:#f0d8ca}
.up-soft-stat.is-butter{background:#fbefd0;border-color:#f1e5c1}
.up-soft-stat.is-sky{background:#e1eaf3;border-color:#d8e3ec}
.up-soft-stat-icon{width:42px;height:42px;border-radius:15px;background:#58665f;color:white;display:grid;place-items:center;margin-bottom:15px;box-shadow:0 4px 10px #4d715f1a}
.up-soft-stat-icon>svg{width:21px;height:21px}
.is-peach .up-soft-stat-icon{background:#a55037}.is-butter .up-soft-stat-icon{background:#886713}.is-sky .up-soft-stat-icon{background:#4b7495}
.up-soft-stat-label{font-size:12px;font-weight:650;line-height:1.5;color:#24332f}
.up-soft-stat-value{font-size:clamp(23px,2.2vw,32px);font-weight:800;letter-spacing:-.8px;line-height:1.2;margin:7px 0;overflow-wrap:anywhere;color:#24332f;font-variant-numeric:tabular-nums}
.up-soft-stat-detail{font-size:11px;line-height:1.5;color:#58665f}
.up-soft-dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:22px}
.up-soft-panel{background:#fffefa;border:1px solid var(--up-line);border-radius:27px;padding:24px;min-width:0;box-shadow:0 7px 21px #605b4710}
.up-soft-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}
.up-soft-panel-heading h2{font-size:17px;font-weight:800;color:#24332f;margin:0;letter-spacing:-.3px}
.up-soft-panel-heading p{font-size:12px;line-height:1.5;color:#58665f;margin:4px 0 0}
.up-soft-section-icon{display:grid;place-items:center;flex-shrink:0;background:#eef3ed;color:#58665f;width:38px;height:38px;border-radius:14px}
.up-soft-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.up-soft-shortcut{display:flex;align-items:center;gap:9px;border:1px solid #eef3ed;background:#eef3ed;border-radius:17px;min-height:63px;padding:12px;font-size:13px;font-weight:650;text-align:left;color:#24332f;min-width:0}
.up-soft-shortcut>span{display:grid;place-items:center;background:#eef3ed;min-width:33px;height:33px;border-radius:11px}
.up-soft-shortcut>svg{margin-left:auto;flex-shrink:0}
.up-soft-shortcut:hover{background:#eef3ed;border-color:#dce3dd}
.up-soft-plan{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;width:100%;font-size:12px;font-weight:700;color:#77573a;margin-top:16px;padding:7px 3px}
.up-soft-analysis-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 21px;min-height:54px;border:1px solid #dce3dd;border-radius:21px;background:#eef3ed;color:#24332f;font-size:13px;font-weight:700;text-align:left}
.up-soft-analysis-toggle>span{display:flex;gap:10px;align-items:center}
/* Consistent workspace chrome; financial and assessment status colours stay distinct. */
.up-auth-theme .up-mobile-bottom-nav{background:#fffdf7fa;border-color:#e1e7d9;box-shadow:0 -4px 18px #4d5b4010;backdrop-filter:none}
.up-auth-theme .up-mobile-nav-item{color:#58665f}
.up-auth-theme .up-mobile-nav-item.is-active{background:#eef3ed;color:#24332f;box-shadow:inset 0 0 0 1px #dce3dd}
.up-auth-theme .up-soft-account{background:#eef3ed;color:#24332f;border-color:#dce3dd;box-shadow:0 5px 18px #5c725014}
.up-auth-theme .up-soft-account :is(.text-blue-200,.text-slate-300){color:#58665f}
.up-auth-theme .up-soft-account .bg-white\/10{background:#f3f6eeb3}
.up-auth-theme .up-fee-bulk-page .up-fb-primary{background:#24332f;border-color:#24332f;color:white}
.up-auth-theme .up-fee-bulk-page .up-fb-primary:not(:disabled):hover{background:#24332f}
.up-auth-theme .up-fb-table thead th{background:#eef3ed;color:#24332f;border-bottom-color:#dce3dd}
.up-auth-theme :is(.up-fb-scroll-tools,.up-fb-controls,.up-fb-grid-shell){border-color:#dce3dd}
.up-auth-theme .up-fb-scroll-tools{background:#eef3ed}
.up-auth-theme .up-fee-bulk-page.is-wide-view{background:#faf7f0}
@media(min-width:1024px){.up-auth-theme>.flex>div:first-child{padding:14px 0 14px 14px}.up-auth-theme .up-soft-sidebar{width:247px;min-height:calc(100vh - 28px);height:100%;border:1px solid #dce3dd;border-radius:27px;overflow:hidden}.up-auth-theme .up-soft-header{border-bottom:0}.up-auth-theme .up-soft-main{padding-top:9px}}
@media(max-width:1100px){.up-soft-plant{display:none}.up-soft-stat{padding:17px}.up-soft-dashboard-columns{grid-template-columns:1fr}}
@media(max-width:640px){.up-soft-dashboard{gap:17px}.up-auth-theme .up-soft-main{padding-top:17px}.up-soft-welcome{padding:22px;gap:0;border-radius:24px}.up-soft-welcome-mark{display:none}.up-soft-welcome h1{font-size:25px;line-height:1.25;margin-top:13px}.up-soft-welcome p{font-size:13px}.up-soft-welcome-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:18px}.up-soft-dashboard :is(.up-soft-primary,.up-soft-secondary){width:100%;min-height:47px}.up-soft-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.up-soft-stat{border-radius:22px;padding:17px 14px}.up-soft-stat-icon{width:36px;height:36px;border-radius:13px;margin-bottom:12px}.up-soft-stat-label{font-size:11px}.up-soft-stat-value{font-size:24px;letter-spacing:-.6px}.up-soft-stat-detail{font-size:10px}.up-soft-panel{padding:20px 17px;border-radius:24px}.up-soft-dashboard-columns{gap:17px}.up-soft-shortcuts{gap:9px}.up-soft-shortcut{padding:10px 8px;font-size:12px;gap:7px}.up-soft-shortcut>span{min-width:29px;height:29px}.up-soft-recent{overflow:hidden}.up-soft-analysis-toggle{padding:16px;font-size:12px}.up-auth-theme .up-soft-sidebar{width:260px;max-width:calc(100vw - 35px)}}
@media(prefers-reduced-motion:reduce){.up-auth-theme *{scroll-behavior:auto!important}}
@media print{.up-auth-theme.up-auth-theme{background:white;color:black}.up-soft-header,.up-soft-sidebar,.up-mobile-bottom-nav{display:none!important}.up-soft-main{padding:0!important}.up-soft-panel,.up-soft-welcome,.up-soft-stat{box-shadow:none}}
.up-soft-recent .space-y-3>div{gap:12px;align-items:flex-start;flex-wrap:wrap}
.up-soft-recent .space-y-3>div>div:first-child{min-width:0;flex:1 1 130px;overflow-wrap:anywhere}
.up-soft-recent .space-y-3>div>div:last-child{flex-shrink:0;margin-left:auto}
.up-soft-recent .space-y-3 .text-xl{font-size:18px;font-variant-numeric:tabular-nums}
/* Menu pages share one visual system, including custom fee and performance UIs. */
.up-auth-theme .up-workspace-page{--menu-accent:#24332f;--menu-soft:#eef3ed;--menu-line:#dce3dd;--menu-ink:#24332f;min-width:0;max-width:1500px;margin-inline:auto}
.up-workspace-page[data-workspace-page=items],.up-workspace-page[data-workspace-page=fee-bulk-payments]{--menu-accent:#925039;--menu-soft:#f8e5d8;--menu-line:#ebd2c0;--menu-ink:#674d3c}
.up-workspace-page[data-workspace-page=reports]{--menu-accent:#496c86;--menu-soft:#e5edf4;--menu-line:#d3e0e9;--menu-ink:#38556a}
.up-workspace-page[data-workspace-page=performance]{--menu-accent:#6a567e;--menu-soft:#eee8f3;--menu-line:#ded3e7;--menu-ink:#554461}
.up-workspace-page[data-workspace-page=settings],.up-workspace-page[data-workspace-page=admin]{--menu-accent:#77602d;--menu-soft:#f8eed3;--menu-line:#e9ddbd;--menu-ink:#66562f}
.up-auth-theme .up-workspace-page .bg-white{background:#fffefa;border-color:#dce3dd;box-shadow:0 5px 17px #5863440a}
.up-auth-theme .up-workspace-page :is(.rounded-2xl.bg-white,.rounded-3xl.bg-white){border-radius:22px}
.up-auth-theme .up-workspace-page .bg-slate-50{background:#eef3ed}
.up-auth-theme .up-workspace-page :is(.bg-blue-50,.bg-blue-100,.bg-sky-50,.bg-indigo-50){background:var(--menu-soft)}
.up-auth-theme .up-workspace-page :is(.text-blue-600,.text-blue-700,.text-blue-800,.text-indigo-700){color:var(--menu-ink)}
.up-auth-theme .up-workspace-page :is(.border-blue-100,.border-blue-200,.border-blue-300){border-color:var(--menu-line)}
.up-auth-theme .up-workspace-page :is(.bg-blue-600,.bg-blue-700,.bg-indigo-600){background:var(--menu-accent);color:white}
.up-auth-theme .up-workspace-page :is(.ring-blue-100,.ring-blue-200){--tw-ring-color:var(--menu-line)}
.up-auth-theme .up-workspace-page :is(.bg-violet-50,.bg-purple-50){background:#f0eaf5}
.up-auth-theme .up-workspace-page :is(.bg-violet-600,.bg-purple-600){background:#6b557d;color:#fff}
.up-auth-theme .up-workspace-page :is(.text-violet-700,.text-purple-700){color:#665074}
.up-auth-theme .up-workspace-page :is(.border-violet-200,.border-purple-200){border-color:#ded1e8}
.up-auth-theme .up-workspace-page :is(.bg-cyan-50,.bg-sky-100){background:#e5eef0}
.up-auth-theme .up-workspace-page :is(.text-cyan-700,.text-sky-700){color:#416573}
.up-auth-theme .up-workspace-page :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea):not(.up-document *){border-color:#dce3dd;border-radius:14px;background-color:#fffefa;color:#24332f;min-height:44px;box-shadow:none;max-width:100%;accent-color:var(--menu-accent)}
.up-auth-theme .up-workspace-page :is(input,select,textarea):focus-visible{outline-color:var(--menu-accent);border-color:var(--menu-accent)}
.up-auth-theme .up-workspace-page :is(button,a):focus-visible{outline-color:var(--menu-accent)}
.up-auth-theme .up-workspace-page table:not(.up-document table):not(.up-fb-table):not(.pm-table) thead :is(th,td){background:#eef3ed;color:#24332f;border-color:#dce3dd}
.up-auth-theme .up-workspace-page table:not(.up-document table) tbody tr{border-color:#eef3ed}
.up-auth-theme .up-workspace-page table:not(.up-document table) tbody tr:hover{background-color:#eef3ed}
.up-auth-theme .up-workspace-page .up-menu-hero{display:block;border:1px solid var(--menu-line);border-radius:25px;background:linear-gradient(110deg,var(--menu-soft),#f9f8ee);padding:22px;box-shadow:0 7px 22px #645d4210;color:var(--menu-ink)}
.up-auth-theme .up-menu-hero.is-peach{--menu-soft:#f8dfcf;--menu-line:#edcfba;--menu-ink:#614b3c}
.up-auth-theme .up-menu-hero.is-sky{--menu-soft:#dfebf3;--menu-line:#cfdee9;--menu-ink:#39576c}
.up-auth-theme .up-menu-hero.is-sage{--menu-soft:#eef3ed;--menu-line:#dce3dd;--menu-ink:#24332f}
.up-auth-theme .up-menu-hero :is(.text-white,.text-blue-50,.text-blue-100,.text-emerald-50,.text-emerald-100,.text-slate-900,.text-slate-500){color:var(--menu-ink)}
.up-auth-theme .up-menu-hero [class*="bg-white/"]{background:#fffdf5b8;color:var(--menu-ink);border:1px solid #fffdf5}
.up-auth-theme .up-menu-hero .bg-blue-600{background:#a5573d;color:white}
/* Settings: category cards, active tab and form sections. */
.up-auth-theme .up-menu-settings-nav{border-top:4px solid #d6c58f}
.up-menu-settings-nav [data-action=settings-section]{border-radius:19px;min-height:85px}
.up-auth-theme .up-workspace-page .up-menu-settings-nav [data-section=account]{background:#eef3ed;border-color:#dce3dd}
.up-auth-theme .up-workspace-page .up-menu-settings-nav [data-section=publicfee]{background:#eef3ed;border-color:#dce3dd}
.up-auth-theme .up-workspace-page .up-menu-settings-nav [data-section=whatsapp]{background:#f7e6d9;border-color:#ead4c4}
.up-auth-theme .up-workspace-page .up-menu-settings-nav [data-section=receipt]{background:#ede6f4;border-color:#dfd3e9}
.up-auth-theme .up-menu-settings-nav [data-action=settings-section]>span:first-child{background:#fffdf6;color:#58665f}
.up-workspace-page[data-workspace-page=settings] form:not(.up-document form){border-color:#dce3dd}
/* Bulk grid: preserve sticky names, horizontal scrolling and paid/chosen colours. */
.up-auth-theme .up-workspace-page .up-fb-heading{padding:20px 22px;border:1px solid #ecd4bf;border-radius:24px;background:#f9e9dc}
.up-auth-theme .up-workspace-page .up-fb-heading h1{color:#654a35}
.up-auth-theme .up-workspace-page .up-fb-controls{background:#fffefa;border-color:#e6dece;border-radius:24px;box-shadow:0 5px 18px #715d3910}
.up-auth-theme .up-workspace-page .up-fb-grid-shell{border-color:#e2dece;border-radius:22px}
.up-auth-theme .up-workspace-page .up-fb-scroll-tools{background:#f7f4e9;border-color:#e7dfce}
.up-auth-theme .up-workspace-page .up-fb-table thead th{background:#f6ecdd;color:#654d36;border-color:#e8dac6}
.up-auth-theme .up-workspace-page .up-fb-table tbody th{background:#fffdf7}
.up-auth-theme .up-workspace-page .up-fb-savebar{background:#fffdf7;border-color:#e1d9c8;box-shadow:0 -4px 15px #715d390d}
.up-auth-theme .up-workspace-page .up-fb-payment-options{background:#f7f5e9;border-color:#e4ddca}
.up-auth-theme .up-workspace-page .up-fb-review{background:#fffefa;border-color:#dce3dd}
.up-auth-theme .up-workspace-page .up-fee-bulk-page.is-wide-view .up-fb-grid-shell{border-radius:0}
/* Manager payment notices only; public guardian and receipt documents are outside this scope. */
.up-auth-theme .up-workspace-page .up-n-box{background:#fffefa;border:1px solid #dce3dd;border-radius:24px;box-shadow:0 5px 18px #5e704510}
.up-auth-theme .up-workspace-page .up-n-owner>.up-n-box:first-child{background:linear-gradient(110deg,#eef3ed,#eef3ed);border-color:#dce3dd}
.up-auth-theme .up-workspace-page .up-n-btn{background:#fffdf5;border-color:#dce3dd;border-radius:14px;color:#24332f}
.up-auth-theme .up-workspace-page .up-n-primary{background:#24332f;color:white;border-color:#24332f}
.up-auth-theme .up-workspace-page .up-n-notice{border-color:#dce3dd;background:#eef3ed;border-radius:18px}
/* Performance modules have independent styles; keep rating and completion semantics. */
.up-auth-theme .up-workspace-page #pm-root{color:#3f3e40;--pm-paper:#fffefa}
.up-auth-theme .up-workspace-page #pm-root .pm-card{background:#fffefa;border:1px solid #e2dae8;border-radius:24px;box-shadow:0 5px 16px #69527c0b}
.up-auth-theme .up-workspace-page #pm-root fieldset>.pm-card:first-of-type{background:linear-gradient(115deg,#ede5f2,#fcf8ef)}
.up-auth-theme .up-workspace-page #pm-root :is(.pm-title,.pm-label){color:#594666}
.up-auth-theme .up-workspace-page #pm-root .pm-btn{background:#6b567c;border-color:#6b567c;border-radius:14px;color:white}
.up-auth-theme .up-workspace-page #pm-root .pm-secondary{background:#faf7ed;color:#625171;border-color:#ddd3e4}
.up-auth-theme .up-workspace-page #pm-root .pm-danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}
.up-auth-theme .up-workspace-page #pm-root .pm-badge{background:#eae1f0;color:#614a72}
.up-auth-theme .up-workspace-page #pm-root .pm-input{border-color:#dbd4e1;border-radius:13px;background-color:#fffefa;color:#403f42;font-size:15px}
.up-auth-theme .up-workspace-page #pm-root .pm-assess-scroll{border-color:#ded4e6;border-radius:18px}
.up-auth-theme .up-workspace-page #pm-root .pm-table th{background:#eee6f4;color:#594269}
.up-auth-theme .up-workspace-page #pm-root .pm-table .pm-name:not(.pm-student-complete){background:#fcf9f0}
.up-auth-theme .up-workspace-page #pm-root.pm-fullscreen{background:#faf7f0}
.up-auth-theme .up-workspace-page #pm-root .pm-screen-button{background:#f1e9f5;border-color:#dbcee5;color:#68507a}
/* Report tabs and admin account/finance lists use the same softer controls. */
.up-workspace-page[data-workspace-page=reports] .up-rm-btn{border-radius:15px}
.up-auth-theme .up-workspace-page[data-workspace-page=reports] .up-reports-desktop-v1>div>div:first-child{background:#edf2f5;border-color:#d6e1e8;border-radius:24px}
.up-auth-theme .up-workspace-page[data-workspace-page=admin] :is(.bg-slate-900,.bg-slate-950){background:#eef3ed;color:#24332f}
@media(max-width:640px){.up-auth-theme .up-workspace-page .up-menu-hero{padding:19px;border-radius:22px}.up-auth-theme .up-workspace-page .up-fb-heading{padding:17px;border-radius:22px}.up-auth-theme .up-workspace-page .up-fb-controls{border-radius:22px}.up-auth-theme .up-workspace-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea):not(.up-document *){font-size:16px}.up-auth-theme .up-workspace-page #pm-root .pm-input{font-size:16px}.up-auth-theme .up-workspace-page #pm-root .pm-card{padding:18px;border-radius:22px}.up-menu-settings-nav [data-action=settings-section]{min-height:76px}}
@media print{.up-auth-theme .up-workspace-page{max-width:none}.up-auth-theme .up-workspace-page :is(.up-menu-hero,.pm-card,.up-n-box,.up-fb-controls){background:white;box-shadow:none}}
.up-auth-theme .up-workspace-page[data-workspace-page=admin] :is(.bg-slate-900,.bg-slate-950) :is(.text-white,.text-slate-300,.text-slate-400){color:#24332f}

.up-auth-theme .up-workspace-page .up-menu-hero.up-kutipan-mobile-hero{display:block!important}
.up-auth-theme .up-workspace-page .up-doc-entry{background:var(--menu-accent);color:white;border-color:var(--menu-accent);border-radius:14px;min-height:44px}
@media(min-width:1024px){.up-workspace-page[data-workspace-page=students] .grid:has(>div>#studentClassFilter){grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}

.up-auth-theme .up-workspace-page .up-fb-control-top button:first-child,.up-auth-theme .up-workspace-page .up-fb-wide-toggle{background:#f9e8db;border-color:#ead0bd;color:#7c5038}
.up-auth-theme .up-workspace-page .up-fb-kicker{color:#87573b}

/* Focused student actions: native disclosure controls, no extra runtime. */
.up-auth-theme .up-students-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.up-students-heading h2{margin:0;font-size:21px;font-weight:750;letter-spacing:-.4px;color:#24332f}
.up-students-heading p{margin:5px 0 0;font-size:13px;color:#58665f}
.up-students-heading p span{color:#788176}
.up-students-toolbar{display:flex;align-items:center;gap:8px}
.up-auth-theme .up-students-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid #dce3dd;border-radius:12px;background:#fffefa;color:#24332f;font:600 13px/1.4 system-ui;white-space:nowrap;cursor:pointer;list-style:none;transition:background .15s,border-color .15s}
.up-auth-theme .up-students-action:hover{background:#eef3ed;border-color:#dce3dd}
.up-auth-theme .up-students-action.is-primary{background:#24332f;border-color:#24332f;color:#fff}
.up-students-action svg,.up-students-popover svg,.up-students-filters summary svg{width:17px;height:17px;flex-shrink:0}
.up-students-action:disabled{opacity:.45;cursor:not-allowed}
.up-students-more{position:relative}
.up-students-more summary::-webkit-details-marker,.up-students-filters summary::-webkit-details-marker{display:none}
.up-students-popover{position:absolute;z-index:40;right:0;top:calc(100% + 8px);width:250px;max-width:calc(100vw - 48px);padding:6px;border:1px solid #dce3dd;border-radius:14px;background:#fffefa;box-shadow:0 12px 32px #243b2520}
.up-auth-theme .up-students-popover button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#24332f;text-align:left;font:500 13px/1.4 system-ui}
.up-auth-theme .up-students-popover button:hover{background:#eef3ed}
.up-students-limit{border:1px solid #eed2af;background:#fff7e9;border-radius:12px;padding:10px 14px;font-size:13px;color:#87551d}
.up-students-filters{border:1px solid #eef3ed;border-radius:14px;background:#eef3ed}
.up-students-filters summary{display:flex;align-items:center;gap:9px;min-height:44px;list-style:none;padding:12px 14px;font-size:13px;font-weight:600;color:#58665f;cursor:pointer}
.up-students-filters .up-students-chevron{margin-left:auto;transition:transform .15s}
.up-students-filters[open] .up-students-chevron{transform:rotate(180deg)}
.up-students-filter-count:empty{display:none}
.up-students-filter-count{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:20px;background:#eef3ed;font-size:11px}
.up-students-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 115px;gap:12px;padding:4px 14px 14px}
.up-auth-theme .up-students-filter-grid select{font-size:13px;padding:10px 12px;border-radius:10px;min-height:44px}
@media(max-width:1100px){.up-students-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.up-students-filter-grid>div:last-child{grid-column:1/-1}.up-students-filter-grid>div:last-child button{width:auto;min-width:120px}}
@media(max-width:640px){.up-students-heading{gap:14px}.up-students-toolbar{width:100%}.up-auth-theme .up-students-action{padding:10px 11px;font-size:12px;gap:6px}.up-students-toolbar>button:first-child{flex:1}.up-students-heading h2{font-size:20px}.up-students-filter-grid{gap:10px;padding:0 10px 12px}.up-students-filter-grid select{min-width:0}.up-students-filter-grid label{font-size:10px}}

.up-students-label-short{display:none}
@media(max-width:640px){.up-students-label-short{display:inline}.up-students-label-long{display:none}}

.up-items-help{margin:10px 0 0;color:#788176;font-size:12px;line-height:1.6}
.up-items-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border:1px solid #eef3ed;border-radius:14px;background:#eef3ed}
.up-items-scope>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.up-items-scope span{color:#788176;font-size:11px}.up-items-scope strong{font-size:15px;color:#24332f;overflow-wrap:anywhere}
.up-auth-theme .up-items-scope .up-students-action{flex-shrink:0;font-size:12px;padding:9px 12px}

.up-kutipan-page section>.mb-3>span{white-space:nowrap;flex-shrink:0}

/* Parent page: payment panel remains open; history is optional. */
.up-parent-disclosure{border:1px solid #eef3ed;border-radius:16px;background:#fff;overflow:hidden}
.up-parent-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 16px;list-style:none;cursor:pointer;color:#24332f}
.up-parent-disclosure>summary::-webkit-details-marker{display:none}
.up-parent-disclosure>summary strong{display:block;font-size:14px;line-height:1.5;font-weight:700}
.up-parent-disclosure>summary small{display:block;margin-top:2px;font-size:11px;line-height:1.5;color:#58665f}
.up-parent-disclosure>summary svg{width:18px;height:18px;flex-shrink:0;color:#58665f;transition:transform .15s}
.up-parent-disclosure[open]>summary svg{transform:rotate(180deg)}
.up-parent-disclosure[open]>summary{border-bottom:1px solid #eef3ed}
.up-parent-disclosure>summary:focus-visible{outline:3px solid #58665f;outline-offset:-3px}
.up-parent-disclosure-body{padding:14px}
@media(prefers-reduced-motion:reduce){.up-parent-disclosure>summary svg{transition:none}}

/* ==========================================================================
   v14-google-14-ios-theme: keserasian Safari/iOS + kemasan tema
   Tiada fon, imej atau pustaka luaran tambahan.
   ========================================================================== */
:root{color-scheme:light}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{-webkit-font-smoothing:antialiased;overflow-x:clip}
:is(button,a,summary,label,select,input){touch-action:manipulation}

/* Nombor (jumlah, baki, no. resit) sejajar dan tidak melompat */
.up-auth-theme :is(td,th,strong,.tabular,[class*=amount],[class*=total]){font-variant-numeric:tabular-nums}
.up-auth-theme :is(h1,h2,h3,strong,td,p){overflow-wrap:anywhere}

/* Borang: buang gaya asli iOS (bucu bulat, bayang dalam) tanpa menyentuh checkbox/radio */
.up-auth-theme :is(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color]),textarea,select){-webkit-appearance:none;appearance:none;border-radius:12px;background-color:#fffefa;color:var(--up-ink)}
.up-auth-theme select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23656f66' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px}
.up-auth-theme :is(input[type=date],input[type=time],input[type=month],input[type=datetime-local]){display:block;min-width:0;max-width:100%;min-height:44px;text-align:left}
.up-auth-theme :is(input[type=date],input[type=time],input[type=month])::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
.up-auth-theme :is(input[type=date],input[type=time],input[type=month])::-webkit-datetime-edit{padding:0}
.up-auth-theme :is(input,select,textarea):focus{border-color:#58665f;box-shadow:0 0 0 3px #4b806826;outline:none}
.up-auth-theme button{-webkit-appearance:none;appearance:none}

/* iPhone/iPad Safari sahaja: elak zum automatik bila fokus ke medan (<16px) */
@supports (-webkit-touch-callout:none){
  .up-auth-theme :is(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color]),select,textarea){font-size:16px!important}
  body:has(.uruspay-student-summary-page) #app,body:has(.uruspay-student-summary-page) main{min-height:100dvh!important}
}

/* Skrol jadual lancar dan terkawal pada iOS */
.up-v3-table-scroll,.overflow-x-auto{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}

/* Tinggi skrin: guna dvh supaya tidak terpotong bar alamat Safari */
@supports (height:100dvh){
  .up-auth-theme .up-soft-sidebar{max-height:100dvh}
  @media(min-width:1024px){.up-auth-theme .up-soft-sidebar{min-height:calc(100dvh - 28px)}}
}
@media(max-width:640px){.up-auth-theme .up-soft-sidebar{padding-bottom:env(safe-area-inset-bottom,0px)}}

/* Kad dan bahagian bayaran penjaga: bucu tidak terpotong di Safari, sentuhan selesa */
.up-parent-disclosure{isolation:isolate;box-shadow:0 6px 20px #4c574610;border-color:#eef3ed;background:#fffefa;transform:translateZ(0)}
.up-parent-disclosure>summary{min-height:68px;-webkit-tap-highlight-color:transparent;transition:background-color .15s}
.up-parent-disclosure>summary:active{background:#eef3ed}
.up-parent-disclosure>summary strong{color:#24332f}
.up-parent-disclosure>summary small{font-size:12px;color:#58665f}
.up-parent-disclosure[open]{border-color:#dce3dd}
.up-parent-disclosure[open]>summary{background:#eef3ed}
.up-parent-disclosure-body{padding:16px}
@media(hover:hover){.up-parent-disclosure>summary:hover{background:#eef3ed}}

/* Butang utama: sasaran sentuh >=44px */
.up-auth-theme :is(.bg-blue-600,.bg-blue-700,.bg-emerald-600,.bg-emerald-700){border-radius:14px}
.up-auth-theme button:not(.up-mobile-nav-item){min-height:40px}
@media(max-width:640px){.up-auth-theme button:not(.up-mobile-nav-item):not(.up-soft-shortcut){min-height:44px}}

/* Pengepala melekat: jangan terlindung oleh notch */
.up-auth-theme .up-soft-header{padding-top:env(safe-area-inset-top,0px);-webkit-backdrop-filter:none}
@media(max-width:640px){.up-auth-theme .up-soft-main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}}


/* UrusPay Google-22b — Sidebar profesional. Scroll menu sahaja; Laporan/Tetapan kekal kelihatan. */
.up-auth-theme .up-soft-sidebar.up-sidebar-pro {
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:100%;
  height:100%;
  overflow:hidden;
  color:#24332f;
}
.up-auth-theme .up-soft-sidebar.up-sidebar-pro .up-sidebar-brand {
  flex:0 0 auto;
  min-width:0;
  padding:15px 14px 13px;
  border-bottom:1px solid #dce3dd;
}
.up-sidebar-pro .up-sidebar-brand .up-sidebar-product {font-size:18px;line-height:1.25;letter-spacing:-.4px}
.up-sidebar-pro .up-sidebar-brand .up-sidebar-org {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  line-height:1.45;
  max-width:160px;
}
.up-sidebar-pro .up-sidebar-brand .up-sidebar-plan {
  display:block;
  max-width:165px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.55;
  font-size:10px;
}
.up-auth-theme .up-sidebar-pro .up-sidebar-nav-main {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:4px;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:10px 10px 12px;
  scrollbar-width:thin;
  scrollbar-color:#58665f transparent;
}
.up-sidebar-nav-main::-webkit-scrollbar, .up-sidebar-nav-system::-webkit-scrollbar {width:5px}
.up-sidebar-nav-main::-webkit-scrollbar-thumb, .up-sidebar-nav-system::-webkit-scrollbar-thumb {border-radius:10px;background:#58665f}
.up-sidebar-pro .up-sidebar-section-title {
  padding:5px 12px 7px;
  color:#58665f;
  font-size:9px;
  line-height:1.2;
  letter-spacing:.13em;
  font-weight:800;
}
.up-auth-theme .up-sidebar-pro .up-soft-nav > button {
  flex:0 0 auto;
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:6px 9px;
  border-radius:13px;
  text-align:left;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  overflow-wrap:normal;
}
.up-auth-theme .up-sidebar-pro .up-soft-nav > button > svg {
  width:29px;
  height:29px;
  padding:6px;
  border-radius:10px;
  flex:0 0 29px;
}
.up-auth-theme .up-sidebar-pro .up-soft-nav > button > span {
  min-width:0;
  line-height:1.35;
}
.up-auth-theme .up-sidebar-pro .up-sidebar-footer {
  flex:0 0 auto;
  min-height:0;
  max-height:42%;
  overflow-y:auto;
  border-top:1px solid #dce3dd;
  background:linear-gradient(180deg,#dce3dd,#eef3ed);
  padding:8px 0 6px;
  scrollbar-width:thin;
}
.up-auth-theme .up-sidebar-pro .up-sidebar-nav-system {
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:0 10px;
}
.up-auth-theme .up-sidebar-pro .up-sidebar-nav-system > button[data-action="open-upgrade-plan"] {
  margin-top:4px;
  min-height:38px;
  background:#f6dfce;
  border-color:#efd1bb;
  color:#795038;
  font-size:11px;
}
.up-sidebar-pro .up-sidebar-pending {
  flex-shrink:0;
  padding:3px 5px;
  border-radius:7px;
  color:#81521f;
  background:#f2c89c;
  font-size:9px;
}
.up-sidebar-pro .up-sidebar-copyright {
  padding:8px 19px 2px;
  color:#58665f;
  font-size:10px;
  line-height:1.3;
}
@media(min-width:1024px){
  .up-auth-theme>.flex>.up-sidebar-sticky {
    position:sticky;
    top:14px;
    align-self:flex-start;
    flex:0 0 247px;
    width:247px;
    height:calc(100vh - 28px);
    height:calc(100dvh - 28px);
    min-height:0;
    margin:14px 0 14px 14px;
    padding:0;
    z-index:12;
  }
  .up-auth-theme .up-sidebar-sticky .up-soft-sidebar.up-sidebar-pro {
    width:100%;
    height:100%;
    min-height:0;
    max-height:100%;
    border:1px solid #dce3dd;
    border-radius:22px;
    box-shadow:0 9px 24px #395a4010;
  }
  /* Bar pilot jika masih aktif: jangan tutup bahagian atas sidebar. */
  body:has(#d1-pilot-bar) .up-auth-theme>.flex>.up-sidebar-sticky {
    top:calc(56px + 10px);
    height:calc(100dvh - 80px);
  }
}
@media(max-width:1023px){
  .up-auth-theme .up-sidebar-drawer {
    height:100vh;
    height:100dvh;
    max-width:calc(100vw - 36px);
  }
  .up-auth-theme .up-sidebar-drawer .up-soft-sidebar.up-sidebar-pro {
    width:100%;
    height:100%;
    min-height:0;
    max-height:100dvh;
    border:0;
    border-radius:0 20px 20px 0;
    box-shadow:15px 0 35px #0a241322;
  }
}
@media(max-height:650px){
  .up-auth-theme .up-soft-sidebar.up-sidebar-pro .up-sidebar-brand {padding-top:9px;padding-bottom:9px}
  .up-auth-theme .up-sidebar-pro .up-sidebar-nav-main {padding-top:6px;padding-bottom:6px}
  .up-auth-theme .up-sidebar-pro .up-sidebar-footer {padding-top:4px;padding-bottom:2px}
  .up-sidebar-pro .up-sidebar-copyright {padding-top:4px}
}
@media print {
  .up-sidebar-sticky,.up-sidebar-drawer {display:none!important}
}

/* Compact guardian fee status only; owner tables and receipt documents keep their layout. */
.up-parent-fees .up-parent-fee-list{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8faf8}
.up-parent-fees .up-parent-fee-help{margin:0 0 4px;color:#58665f;font-size:12px;line-height:1.55}
.up-parent-fees .up-parent-fee-row{min-width:0;padding:12px;border:1px solid #eef3ed;border-radius:12px;background:#fff;box-shadow:none}
.up-parent-fees .up-parent-fee-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.up-parent-fees .up-parent-fee-heading h3{min-width:0;margin:0;font-size:14px;line-height:1.45;font-weight:750;color:#24332f;overflow-wrap:anywhere}
.up-parent-fees .up-parent-fee-status{flex-shrink:0;max-width:48%;padding:3px 8px;border:1px solid;border-radius:20px;font-size:10px;line-height:1.45;font-weight:750;text-align:center}
.up-parent-fees .up-parent-fee-status.text-emerald-700{background:#ecfdf5;color:#047857;border-color:#bbf7d0}
.up-parent-fees .up-parent-fee-status.text-amber-700{background:#fffbeb;color:#b45309;border-color:#fde68a}
.up-parent-fees .up-parent-fee-status.text-rose-700{background:#fff1f2;color:#be123c;border-color:#fecdd3}
.up-parent-fees .up-parent-fee-amounts{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;color:#58665f;font-size:12px;line-height:1.5}
.up-parent-fees .up-parent-fee-amounts b{color:#24332f;font-weight:600;font-variant-numeric:tabular-nums}
.up-parent-fees .up-parent-fee-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:6px}
.up-parent-fees .up-parent-fee-balance{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;font-size:12px;line-height:1.5;font-weight:600}
.up-parent-fees .up-parent-fee-balance strong{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.up-parent-fees .up-parent-fee-balance.is-due{color:#a16207}.up-parent-fees .up-parent-fee-balance.is-paid{color:#047857}
.up-parent-fees .up-n-btn.up-parent-fee-proof{min-height:44px;padding:6px 10px;border-color:#dce3dd;border-radius:9px;background:#eef3ed;color:#24332f;font-size:12px;line-height:1.35;box-shadow:none}
.up-parent-fees .up-parent-fee-proof:hover{background:#eef3ed}
@media print{.up-parent-fees .up-parent-fee-proof,.up-parent-fees .up-parent-fee-help{display:none}}


