:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#18345e;background:#f2f5f9;font-synthesis:none;--navy:#1e3b68;--navy2:#244879;--orange:#ff7a1a;--line:#dce3ed;--muted:#77869d;--blue:#3977ff}*{box-sizing:border-box}body{margin:0;background:#f2f5f9;font-size:13px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:255px;flex:0 0 255px;background:linear-gradient(180deg,#203d6b,#1c467b);color:white;min-height:100vh;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{height:76px;display:flex;align-items:center;gap:12px;padding:0 17px;border-bottom:1px solid #ffffff18;font-size:15px;font-weight:800;flex-shrink:0}.brand>span:last-child{display:flex;flex-direction:column;gap:4px}.brand small{font-size:10px;color:#b7c8e1;font-weight:400}.brand-logo{width:42px;height:42px;border-radius:12px;background:var(--orange);display:grid;place-items:center;color:white;font-weight:800;box-shadow:0 4px 13px #ff7a1a40;flex-shrink:0}.brand-logo.large{width:52px;height:52px;font-size:16px}.nav-caption{font-size:10px;letter-spacing:1px;color:#b2c3dc;padding:15px 17px 8px;font-weight:750}.erp-menu{padding:0 8px 8px;--rz-panel-menu-item-color:#eaf0fa;--rz-panel-menu-item-background-color:transparent;--rz-panel-menu-item-2nd-level-background-color:#17365f;--rz-panel-menu-item-hover-background-color:#ffffff18;--rz-panel-menu-item-active-background-color:#ffffff1c;--rz-panel-menu-item-active-color:#fff;--rz-panel-menu-item-icon-color:#d5e1f3;--rz-panel-menu-item-font-size:12px;--rz-panel-menu-item-padding:10px 10px;--rz-panel-menu-item-border-radius:7px;--rz-panel-menu-item-shadow:none}.sidebar-bottom{margin-top:auto;padding:16px;border-top:1px solid #ffffff18;font-size:10px;color:#d3dfef}.sidebar-bottom span{color:#4ee0a3;margin-right:7px}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 23px;position:sticky;top:0;z-index:15}.menu-toggle{display:none}.school-heading{display:flex;flex-direction:column;gap:5px;min-width:0}.school-heading b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-heading small{color:var(--muted);font-size:10px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;position:relative}.user-chip{display:flex;align-items:center;gap:9px;background:white;border:1px solid #d8e0eb;border-radius:9px;padding:7px 10px;color:#24436f;text-align:left}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#244879;color:white;font-weight:750}.user-chip>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.user-chip b{font-size:11px}.user-chip small{font-size:10px;color:#8290a5}.caret{margin-left:4px}.profile-menu{position:absolute;top:49px;right:0;background:white;border:1px solid var(--line);box-shadow:0 8px 22px #10213b22;border-radius:9px;padding:7px;min-width:150px;z-index:50}.profile-menu a{display:block;padding:9px;border-radius:6px}.profile-menu a:hover{background:#f2f5f9}.content{flex:1;min-width:0;padding:23px 24px 30px}.page-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.page-title-row h1{font-size:22px;line-height:1.2;margin:0 0 7px;color:#183d72;font-weight:750}.page-title-row p{margin:0;color:#7b8aa1;font-size:12px}.eyebrow,.breadcrumb{font-size:10px;color:#7b8aa1;letter-spacing:.5px;margin-bottom:7px}.breadcrumb{letter-spacing:0}.title-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.section-heading{font-size:10px;font-weight:800;color:#506481;letter-spacing:.65px;margin:22px 0 12px;display:flex;justify-content:space-between}.section-heading span{font-size:10px;color:#8a96a8;font-weight:500;letter-spacing:0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card{border:1px solid #dce3ed;border-top:3px solid #244879;border-radius:9px;background:white;padding:14px 15px;box-shadow:0 3px 9px #1d3d6708}.stat-card.navy{border-top-color:#244879}.stat-card.blue{border-top-color:#3977ff}.stat-card.green{border-top-color:#17ae68}.stat-card.purple{border-top-color:#8b4dff}.stat-card.teal{border-top-color:#009e99}.stat-card.orange{border-top-color:#f47719}.stat-card.amber{border-top-color:#e6a12a}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#e8edf5;color:#244b7d;font-size:20px}.blue .stat-icon{background:#e5edff;color:#326bff}.green .stat-icon{background:#e1f5e9;color:#15985b}.purple .stat-icon{background:#f0e6ff;color:#8142ec}.teal .stat-icon{background:#dff4f2;color:#008b85}.orange .stat-icon,.amber .stat-icon{background:#fff0e4;color:#f47719}.stat-trend{font-size:9px;color:#8491a5}.stat-number{font-size:23px;font-weight:800;color:#183d72;margin-top:13px}.stat-label{font-size:11px;font-weight:700;margin-top:4px}.stat-note{font-size:10px;color:#8794a7;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:15px;margin-top:22px}.content-card{border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 3px 10px #1b3a6508}.card-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.card-title-row h2{font-size:14px;margin:0 0 5px}.card-title-row p{font-size:10px;color:var(--muted);margin:0}.task-row{display:flex;align-items:flex-start;gap:10px;padding:13px 0;border-top:1px solid #edf0f5}.task-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#fff0e4;color:#f47719;flex-shrink:0}.task-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.task-copy b{font-size:11px;line-height:1.4}.task-copy small{font-size:10px;color:#7d8ba0;line-height:1.4}.task-copy span{font-size:9px;color:#8d99aa}.full-width{width:100%;margin-top:8px}.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shortcut-card{display:flex;align-items:center;gap:11px;background:white;border:1px solid var(--line);border-radius:9px;padding:13px;min-width:0;transition:border-color .15s}.shortcut-card:hover{border-color:#9cb8e5}.shortcut-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:9px;background:#e6edff;color:#3569cc;font-size:19px;flex-shrink:0}.shortcut-icon.orange{background:#fff0e4;color:#f47719}.shortcut-icon.green{background:#e1f5e9;color:#15985b}.shortcut-icon.purple{background:#f0e6ff;color:#8142ec}.shortcut-icon.teal{background:#dff4f2;color:#008b85}.shortcut-icon.navy{background:#e7edf6;color:#244b7d}.shortcut-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.shortcut-copy b{font-size:11px}.shortcut-copy small{font-size:10px;color:#8190a6;white-space:normal}.shortcut-card>span:last-of-type{color:#94a2b7}.app-footer{height:50px;background:#1e3b68;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px}.app-footer span{font-size:9px;color:#c4d0e2;text-align:right}.app-footer strong{display:block;color:#ff8a24;font-size:11px;margin-top:3px}.list-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.list-summary .rz-card{padding:14px 16px;border:1px solid var(--line);box-shadow:none;display:flex;flex-direction:column;gap:8px}.list-summary small{color:#7b8aa0;font-size:10px}.list-summary b{font-size:22px;color:#1d457b}.list-card{padding:16px;overflow:hidden}.list-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:15px;flex-wrap:wrap}.erp-grid{font-size:11px}.master-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);gap:15px;align-items:start}.master-help{padding:20px}.master-help h2{font-size:15px}.master-help p{font-size:11px;line-height:1.6;color:#74839a}.master-icon{width:44px;height:44px;border-radius:10px;background:#e7edfb;color:#315fa8;display:grid;place-items:center;font-size:23px}.inline-editor{margin-top:18px;padding-top:17px;border-top:1px solid #e8edf4}.inline-editor h3{font-size:13px;margin:0 0 13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field label{font-size:11px;font-weight:650;color:#425a7b}.full-field{grid-column:1/-1}.admission-steps{margin-bottom:15px}.admission-card{padding:22px}.form-section-title{display:flex;align-items:center;gap:12px;margin:2px 0 23px}.form-section-title>span{width:40px;height:40px;border-radius:10px;background:#fff0e4;color:#f47719;display:grid;place-items:center;font-weight:800}.form-section-title h2{font-size:15px;margin:0 0 5px}.form-section-title p{font-size:10px;color:#7d8ba0;margin:0}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding-top:19px;margin-top:22px;border-top:1px solid #edf0f5}.step-count{margin-right:auto;font-size:10px;color:#8491a4}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-brand-panel{background:linear-gradient(145deg,#1d3965,#244e83);color:white;padding:35px 7%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden}.login-brand-panel:after{content:"";position:absolute;width:450px;height:450px;border:1px solid #ffffff15;border-radius:50%;right:-190px;bottom:-180px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05}.login-brand{display:flex;align-items:center;gap:13px;z-index:1}.login-brand>span:last-child{display:flex;flex-direction:column;gap:5px}.login-brand b{font-size:17px}.login-brand small{font-size:11px;color:#c2d1e6}.login-hero{z-index:1;max-width:560px}.hero-kicker{font-size:10px;letter-spacing:2px;color:#ffb67d;font-weight:800}.login-hero h1{font-size:clamp(30px,3.6vw,48px);line-height:1.15;letter-spacing:-1.4px;margin:20px 0}.login-hero p{font-size:14px;color:#d4e0f1;line-height:1.8;max-width:440px}.hero-points{display:flex;flex-direction:column;gap:12px;margin-top:28px;color:#f2f6fc;font-size:12px}.hero-points span:before{content:"✓";color:#ff9a4e;font-weight:800;margin-right:10px}.login-brand-footer{font-size:10px;color:#aebfda;z-index:1}.login-form-panel{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px}.login-card{width:min(390px,100%)}.welcome-label{font-size:10px;letter-spacing:1.6px;color:#f47719;font-weight:800}.login-card h2{font-size:25px;letter-spacing:-.5px;margin:12px 0 8px;color:#183d72}.login-card>p{font-size:12px;color:#7b8aa0;margin:0 0 27px;line-height:1.6}.login-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.login-field label{font-size:11px;font-weight:700;color:#405777}.login-options{display:flex;align-items:center;gap:8px;margin:3px 0 22px;font-size:10px;color:#66768f}.login-options a{margin-left:auto;color:#275da7;font-weight:650}.login-submit{width:100%}.login-message{margin-top:15px}.login-demo{margin-top:25px;padding:13px;border:1px solid #e6ebf2;border-radius:8px;background:#f8fafd;display:flex;flex-direction:column;gap:6px;font-size:10px;color:#78879c;line-height:1.5}.login-demo b{color:#375579}.login-copyright{font-size:9px;color:#9aa5b5;margin-top:50px}.loading,.empty-page{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#77869d}.loading p{font-size:12px}.empty-page{gap:10px}
@media(max-width:1250px){.sidebar{width:235px;flex-basis:235px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content{padding:19px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.sidebar{position:fixed;left:-270px;top:0;transition:left .2s;width:255px;height:100vh;box-shadow:8px 0 30px #10213b25}.sidebar.sidebar-open{left:0}.menu-toggle{display:inline-flex}.topbar{padding:0 14px;height:66px}.dashboard-grid{grid-template-columns:1fr}.master-layout{grid-template-columns:1fr}.school-heading small{display:none}}
@media(max-width:620px){.content{padding:15px 11px}.topbar{gap:8px}.school-heading b{font-size:11px;max-width:155px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip{padding:5px}.user-chip>span:nth-child(2),.caret{display:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-card{padding:11px}.stat-number{font-size:19px}.stat-label{font-size:10px}.stat-note{font-size:9px}.page-title-row{align-items:flex-start;flex-direction:column}.title-actions{flex-wrap:wrap}.page-title-row h1{font-size:20px}.shortcut-grid{grid-template-columns:1fr}.list-summary{gap:7px}.list-summary .rz-card{padding:10px}.list-summary b{font-size:18px}.list-toolbar{align-items:stretch}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.admission-card{padding:15px}.login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:auto;padding:24px 25px}.login-hero{padding:45px 0 28px}.login-hero h1{font-size:32px}.login-brand-footer{display:none}.login-form-panel{padding:35px 24px}.login-copyright{margin-top:35px}.app-footer{padding:0 12px}.app-footer span{font-size:8px}}


/* Modern navigation and form polish */
:root{--navy:#193763;--navy2:#234b80;--orange:#f47719;--line:#d6e1ef;--muted:#647894;--blue:#3478f6}
/* Make the sidebar links readable, vivid and consistent */
.erp-menu{padding:8px 10px 16px!important;background:transparent!important}
.erp-menu .rz-panel-menu-item,.erp-menu .rz-navigation-item{margin:3px 0!important;border-radius:10px!important;overflow:hidden}
.erp-menu .rz-navigation-item-link,.erp-menu .rz-panel-menu-item-link{color:#f3f7ff!important;border-radius:10px!important;min-height:43px;padding:10px 12px!important;font-weight:650!important;transition:background .16s ease,transform .16s ease}
.erp-menu .rz-navigation-item-link:hover,.erp-menu .rz-panel-menu-item-link:hover{background:linear-gradient(100deg,#ffffff25,#ffffff10)!important;color:#fff!important;transform:translateX(2px)}
.erp-menu .rz-navigation-item-link .rzi,.erp-menu .rz-panel-menu-item-link .rzi{color:#8fd5ff!important;font-size:19px!important;min-width:24px;text-shadow:0 2px 10px #0002}
.erp-menu .rz-navigation-item-active>.rz-navigation-item-link,.erp-menu .rz-navigation-item-active>.rz-panel-menu-item-link,.erp-menu .rz-state-active>.rz-navigation-item-link{background:linear-gradient(100deg,#ff8b35,#f06413)!important;color:white!important;box-shadow:0 5px 14px #f4771938!important}
.erp-menu .rz-navigation-item-active .rzi,.erp-menu .rz-state-active .rzi{color:#fff!important}
.erp-menu .rz-panel-menu .rz-navigation-item,.erp-menu .rz-panel-menu .rz-panel-menu-item{background:#15345d!important}
.erp-menu .rz-panel-menu .rz-navigation-item-link,.erp-menu .rz-panel-menu .rz-panel-menu-item-link{color:#dbe8fb!important;padding-left:18px!important;font-weight:550!important}
.erp-menu .rz-panel-menu .rzi{color:#75c9ff!important}
/* vivid menu control */
.colorful-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border:1px solid #d6e4fa!important;border-radius:12px!important;background:linear-gradient(145deg,#eff6ff,#fff)!important;color:#2557a2!important;box-shadow:0 3px 10px #254b7c14!important}
.colorful-menu-toggle .rzi{font-size:23px!important;color:#3478f6!important}
.colorful-menu-toggle:hover{background:linear-gradient(135deg,#e4efff,#fff2e8)!important;border-color:#ffb274!important}
/* Modern form controls and cards */
.rz-card,.content-card,.admission-card{border:1px solid #d7e3f2!important;border-radius:13px!important;box-shadow:0 5px 18px #1937630a!important}
.rz-inputtext,.rz-dropdown,.rz-calendar .rz-inputtext,.rz-multiselect,.rz-autocomplete,.rz-numeric{border:1px solid #a9bfdf!important;border-radius:9px!important;background:#fff!important;color:#193763!important;min-height:40px!important;box-shadow:inset 0 1px 2px #19376308!important}
.rz-inputtext:focus,.rz-dropdown:focus-within,.rz-calendar:focus-within,.rz-multiselect:focus-within{border-color:#3478f6!important;box-shadow:0 0 0 3px #3478f620!important}
.rz-dropdown-panel,.rz-multiselect-panel,.rz-autocomplete-panel{border:1px solid #cbd9ed!important;border-radius:10px!important;box-shadow:0 12px 28px #17345d25!important;padding:5px!important;background:#fff!important;z-index:2000!important}
.rz-dropdown-items .rz-dropdown-item,.rz-multiselect-items .rz-multiselect-item,.rz-autocomplete-items li{color:#203b60!important;border-radius:7px!important;padding:10px 12px!important}
.rz-dropdown-items .rz-dropdown-item:hover,.rz-multiselect-items .rz-multiselect-item:hover,.rz-autocomplete-items li:hover{background:#eaf2ff!important;color:#174c9a!important}
.rz-dropdown-items .rz-state-highlight,.rz-dropdown-items .rz-dropdown-item.rz-state-highlight,.rz-multiselect-items .rz-state-highlight{background:#e0edff!important;color:#174c9a!important;font-weight:700!important}
.rz-button{border-radius:9px!important;font-weight:650!important;transition:transform .15s ease,box-shadow .15s ease!important}
.rz-button:not(.rz-button-text):hover{transform:translateY(-1px);box-shadow:0 4px 12px #19376320}
/* Sidebar collapse on desktop */
@media(min-width:951px){.sidebar{transition:width .22s ease,flex-basis .22s ease}.sidebar.sidebar-collapsed{width:76px;flex-basis:76px;overflow-x:hidden}.sidebar.sidebar-collapsed .brand{padding:0 16px}.sidebar.sidebar-collapsed .brand>span:last-child,.sidebar.sidebar-collapsed .nav-caption,.sidebar.sidebar-collapsed .sidebar-bottom{display:none}.sidebar.sidebar-collapsed .brand-logo{width:42px}.sidebar.sidebar-collapsed .erp-menu{padding-left:8px!important;padding-right:8px!important}.sidebar.sidebar-collapsed .erp-menu .rz-panel-menu-item-text,.sidebar.sidebar-collapsed .erp-menu .rz-navigation-item-text,.sidebar.sidebar-collapsed .erp-menu .rz-menuitem-text,.sidebar.sidebar-collapsed .erp-menu .rz-panel-menu-item .rz-navigation-item-link span:not(.rzi){display:none!important}.sidebar.sidebar-collapsed .erp-menu .rz-navigation-item-link,.sidebar.sidebar-collapsed .erp-menu .rz-panel-menu-item-link{justify-content:center;padding:12px 8px!important}.sidebar.sidebar-collapsed .erp-menu .rzi{margin:0!important;font-size:20px!important}.sidebar.sidebar-collapsed .erp-menu .rz-navigation-item .rz-navigation-item-link .rz-navigation-item-icon{margin:0!important}.menu-toggle{display:inline-flex!important}}
@media(max-width:950px){.sidebar{left:-270px}.sidebar.sidebar-open{left:0}.sidebar.sidebar-collapsed{width:255px;flex-basis:255px}.colorful-menu-toggle{display:inline-flex!important}}


/* Finance pages: modern eOfficeDesk look */
.finance-page{max-width:1600px;margin:0 auto}
.finance-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.finance-heading h1{margin:0;color:#193d70;font-size:23px;font-weight:800}
.finance-heading p{margin:5px 0 0;color:#78879c;font-size:12px}
.finance-actions{display:flex;gap:9px;align-items:center}
.btn-primary{border:0;border-radius:8px;background:linear-gradient(135deg,#ff7a1a,#e85a00);color:white;padding:10px 15px;font-weight:750;box-shadow:0 4px 10px #f477192b;cursor:pointer}
.btn-secondary{border:1px solid #c8d5e7;border-radius:8px;background:white;color:#254773;padding:9px 14px;font-weight:650;cursor:pointer}
.finance-panel{background:white;border:1px solid #d8e2ef;border-radius:12px;box-shadow:0 5px 18px #183b670a;margin-bottom:16px;overflow:hidden}
.finance-filter{display:grid;grid-template-columns:1.25fr 1.25fr 1.25fr .8fr .7fr;gap:12px;padding:16px}
.finance-field{min-width:0;display:flex;flex-direction:column;gap:7px}
.finance-field label{font-size:12px;font-weight:750;color:#25436d}
.finance-field input,.finance-field select,.finance-field textarea{width:100%;min-width:0;border:1px solid #b8c9e0;background:#fff;border-radius:8px;padding:10px 11px;color:#1c3559;outline:none;min-height:38px}
.finance-field input:focus,.finance-field select:focus,.finance-field textarea:focus{border-color:#ff7a1a;box-shadow:0 0 0 3px #ff7a1a20}
.finance-banner{background:linear-gradient(100deg,#203f70,#244d80);color:white;padding:14px 17px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:3px solid #ff7a1a}
.finance-banner strong{font-size:13px}.finance-banner .banner-metrics{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;font-weight:750}
.finance-table-wrap{padding:12px;overflow:auto}
.finance-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:850px}
.finance-table th{background:#edf2f8;color:#26456f;text-align:left;font-weight:800;padding:12px 10px;border-top:1px solid #d2ddec;border-bottom:1px solid #cbd8e8;white-space:nowrap}
.finance-table td{padding:11px 10px;border-bottom:1px solid #e5ebf3;color:#274263;vertical-align:middle}
.finance-table tbody tr:hover{background:#f7faff}
.finance-table .money{color:#e65e12;font-weight:800;text-align:right;white-space:nowrap}
.finance-table .center{text-align:center}
.icon-action{display:inline-grid;place-items:center;width:31px;height:30px;border-radius:7px;border:1px solid #d9e3f0;background:white;color:#2866d9;margin-right:4px;cursor:pointer}
.icon-action.delete{color:#df3838}.print-chip{border:1px solid #ffc29c;color:#e86616;background:#fff8f2;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:800;cursor:pointer}
.finance-form{padding:16px}
.finance-form-top{display:grid;grid-template-columns:1.1fr .5fr .6fr 1.8fr;gap:12px;margin-bottom:18px}
.finance-lines{width:100%;border-collapse:collapse;margin:8px 0 16px;min-width:700px}
.finance-lines th{background:#edf2f8;text-align:left;padding:10px;border:1px solid #cfdaea;color:#29466e;font-size:12px}
.finance-lines td{padding:7px;border:1px solid #cfdaea}
.finance-lines input,.finance-lines select{width:100%;min-width:80px;padding:9px;border:1px solid #b9c9df;border-radius:7px}
.finance-total{display:flex;justify-content:flex-end;align-items:center;gap:20px;padding:12px 15px;background:#f6f9fd;border:1px solid #dbe5f1;border-radius:8px;margin-bottom:18px}
.finance-total strong{font-size:17px;color:#e65e12}
.finance-form-bottom{display:grid;grid-template-columns:1fr 2fr;gap:12px}
.cash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:15px 0 20px}
.cash-kpi{background:white;border:1px solid #dbe4ef;border-radius:10px;padding:15px;border-left:4px solid #2785df;box-shadow:0 3px 12px #183b6708}
.cash-kpi:nth-child(2){border-left-color:#f47719}.cash-kpi:nth-child(3){border-left-color:#0b998c}.cash-kpi:nth-child(4){border-left-color:#4b62cc}
.cash-kpi small{display:block;color:#71829b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.cash-kpi strong{display:block;font-size:22px;margin:7px 0;color:#244775}
.cash-kpi span{font-size:10px;color:#7b8aa0}
.finance-section-title{font-size:16px;font-weight:800;color:#214674;margin:18px 0 5px}
.finance-subtitle{color:#7c8aa0;font-size:12px;margin:0 0 12px}
.report-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px;min-width:900px}
.report-table th{background:#edf2f8;color:#25446f;padding:10px 8px;border:1px solid #d5dfeb;text-align:center}
.report-table td{padding:9px 8px;border-bottom:1px solid #e3e9f1;border-right:1px solid #edf1f6;text-align:center;white-space:nowrap}
.report-table td:first-child{text-align:left;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.report-table tr:nth-child(even) td{background:#f9fbfe}
.amount-green{color:#18834d;font-weight:750}.amount-orange{color:#e7661a;font-weight:750}
.finance-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.finance-toolbar input,.finance-toolbar select{border:1px solid #c5d3e5;border-radius:8px;padding:9px 11px;background:white;color:#25436d}
@media(max-width:1000px){.finance-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-form-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.finance-heading{align-items:flex-start;flex-direction:column}.finance-filter,.finance-form-top,.finance-form-bottom{grid-template-columns:1fr}.cash-kpis{grid-template-columns:1fr 1fr}.finance-banner{align-items:flex-start;flex-direction:column}.finance-banner .banner-metrics{gap:10px}}


/* =========================================================
   eOfficeDesk startup animation + menu typography update
   Keeps the existing navy / orange / white theme.
   ========================================================= */

/* Startup / first-page loading animation */
.startup-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 24px;
    background: radial-gradient(circle at 50% 38%, #2d5487 0%, #1e3b68 48%, #142d50 100%);
    color: #fff;
    animation: startup-fade-in .35s ease-out both;
}
.startup-card {
    width: min(360px, 100%);
    padding: 34px 30px 28px;
    text-align: center;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 20px;
    background: rgba(255,255,255,.07);
    box-shadow: 0 22px 65px rgba(0,0,0,.22);
    backdrop-filter: blur(8px);
}
.startup-logo {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    margin: 0 auto 14px;
    border-radius: 17px;
    background: var(--orange, #ff7a1a);
    color: #fff;
    font-size: 20px;
    font-weight: 850;
    box-shadow: 0 8px 22px rgba(255,122,26,.3);
    animation: startup-logo-bob 1.8s ease-in-out infinite;
}
.startup-brand { font-size: 23px; font-weight: 800; letter-spacing: -.4px; }
.startup-caption { margin-top: 5px; color: #d3e0f2; font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; }
.startup-spinner {
    width: 32px; height: 32px; margin: 25px auto 14px;
    border: 3px solid rgba(255,255,255,.22);
    border-top-color: var(--orange, #ff7a1a);
    border-right-color: var(--orange, #ff7a1a);
    border-radius: 50%;
    animation: startup-spin .8s linear infinite;
}
.startup-message { color: #f0f5fc; font-size: 12px; }
.startup-track { height: 4px; margin-top: 18px; overflow: hidden; border-radius: 20px; background: rgba(255,255,255,.18); }
.startup-track span {
    display: block; width: 38%; height: 100%; border-radius: inherit;
    background: var(--orange, #ff7a1a);
    animation: startup-progress 1.45s ease-in-out infinite;
}
@keyframes startup-spin { to { transform: rotate(360deg); } }
@keyframes startup-logo-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes startup-progress { 0% { transform: translateX(-110%); } 100% { transform: translateX(290%); } }
@keyframes startup-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Main menu: larger and bold. Nested submenu typography is explicitly preserved. */
.erp-menu {
    --rz-panel-menu-item-font-size: 14px;
}
.erp-menu .rz-navigation-item-link {
    font-size: 14px !important;
    font-weight: 700 !important;
}
.erp-menu .rz-navigation-item-link .rz-navigation-item-text {
    font-size: 14px !important;
    font-weight: 700 !important;
}
/* Nested items (submenu): keep the project's original small, regular font. */
.erp-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item-link,
.erp-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item-link .rz-navigation-item-text {
    font-size: 12px !important;
    font-weight: 400 !important;
}

/* Avoid motion for users who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
    .startup-loader, .startup-logo, .startup-spinner, .startup-track span {
        animation: none !important;
    }
}


/* =====================================================
   FIX: Radzen submenu hover must never turn white.
   Keep the eOfficeDesk navy/orange theme and existing
   submenu typography unchanged.
   ===================================================== */
.erp-menu .rz-navigation-item-link:hover,
.erp-menu .rz-navigation-item-link:focus,
.erp-menu .rz-navigation-item-link:focus-visible,
.erp-menu .rz-navigation-item-link.rz-state-hover,
.erp-menu .rz-panel-menu-item-link:hover,
.erp-menu .rz-panel-menu-item-link:focus,
.erp-menu .rz-panel-menu-item-link:focus-visible,
.erp-menu .rz-panel-menu-item-link.rz-state-hover {
    background: #355783 !important;
    background-color: #355783 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

/* Nested submenu hover: dark blue background, readable text. */
.erp-menu .rz-navigation-item .rz-navigation-item-link:hover,
.erp-menu .rz-navigation-item .rz-navigation-item-link:focus,
.erp-menu .rz-navigation-item .rz-navigation-item-link:focus-visible,
.erp-menu .rz-navigation-item .rz-navigation-item-link.rz-state-hover,
.erp-menu .rz-panel-menu .rz-panel-menu .rz-panel-menu-item-link:hover,
.erp-menu .rz-panel-menu .rz-panel-menu .rz-panel-menu-item-link:focus,
.erp-menu .rz-panel-menu .rz-panel-menu .rz-panel-menu-item-link.rz-state-hover {
    background: #355783 !important;
    background-color: #355783 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

/* Keep all label and icon content readable during hover. */
.erp-menu .rz-navigation-item-link:hover .rz-navigation-item-text,
.erp-menu .rz-navigation-item-link:hover .rz-navigation-item-icon,
.erp-menu .rz-panel-menu-item-link:hover .rz-panel-menu-item-text,
.erp-menu .rz-panel-menu-item-link:hover .rzi,
.erp-menu .rz-navigation-item-link:focus .rz-navigation-item-text,
.erp-menu .rz-navigation-item-link:focus .rz-navigation-item-icon {
    color: #ffffff !important;
}

/* Do not let a generic white hover rule override Radzen menu links. */
.sidebar .erp-menu a:hover,
.sidebar .erp-menu a:focus {
    background-color: #355783 !important;
    color: #ffffff !important;
}



/* =========================================================
   FINAL FIX: prevent white flash/flicker on Radzen submenus.
   Strong selectors override Radzen hover/focus/active states.
   Existing colors and submenu typography remain unchanged.
   ========================================================= */
.sidebar .erp-menu .rz-navigation-item-link,
.sidebar .erp-menu .rz-panel-menu-item-link,
.sidebar .erp-menu a.rz-navigation-item-link {
    background-color: transparent !important;
    color: #D5E4F7 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}

/* Hover/focus/pressed state for all menu links */
.sidebar .erp-menu .rz-navigation-item-link:hover,
.sidebar .erp-menu .rz-navigation-item-link:focus,
.sidebar .erp-menu .rz-navigation-item-link:focus-visible,
.sidebar .erp-menu .rz-navigation-item-link:active,
.sidebar .erp-menu .rz-navigation-item-link.rz-state-hover,
.sidebar .erp-menu .rz-panel-menu-item-link:hover,
.sidebar .erp-menu .rz-panel-menu-item-link:focus,
.sidebar .erp-menu .rz-panel-menu-item-link:focus-visible,
.sidebar .erp-menu .rz-panel-menu-item-link:active,
.sidebar .erp-menu .rz-panel-menu-item-link.rz-state-hover,
.sidebar .erp-menu a.rz-navigation-item-link:hover,
.sidebar .erp-menu a.rz-navigation-item-link:focus,
.sidebar .erp-menu a.rz-navigation-item-link:focus-visible,
.sidebar .erp-menu a.rz-navigation-item-link:active {
    background: #355783 !important;
    background-color: #355783 !important;
    color: #FFFFFF !important;
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Text/icons inherit the hovered link color, avoiding white-on-white */
.sidebar .erp-menu .rz-navigation-item-link:hover *,
.sidebar .erp-menu .rz-navigation-item-link:focus *,
.sidebar .erp-menu .rz-navigation-item-link:focus-visible *,
.sidebar .erp-menu .rz-panel-menu-item-link:hover *,
.sidebar .erp-menu .rz-panel-menu-item-link:focus *,
.sidebar .erp-menu .rz-panel-menu-item-link:focus-visible * {
    color: #FFFFFF !important;
}

/* Keep selected route distinct while mouse is over it */
.sidebar .erp-menu .rz-navigation-item-link.rz-state-active,
.sidebar .erp-menu .rz-navigation-item-link[aria-current="page"],
.sidebar .erp-menu .rz-panel-menu-item-link.rz-state-active,
.sidebar .erp-menu .rz-panel-menu-item-link[aria-current="page"] {
    background: #304F7D !important;
    background-color: #304F7D !important;
    color: #FFFFFF !important;
}

/* Submenu links: dark inset surface; hover stays navy, never white */
.sidebar .erp-menu .rz-navigation-item .rz-navigation-item-link,
.sidebar .erp-menu .rz-panel-menu .rz-panel-menu-item-link {
    background-color: #17345A !important;
    color: #D5E4F7 !important;
    font-weight: 400 !important;
    font-size: 12px !important;
    outline: none !important;
    box-shadow: none !important;
}

.sidebar .erp-menu .rz-navigation-item .rz-navigation-item-link:hover,
.sidebar .erp-menu .rz-navigation-item .rz-navigation-item-link:focus,
.sidebar .erp-menu .rz-navigation-item .rz-navigation-item-link:focus-visible,
.sidebar .erp-menu .rz-navigation-item .rz-navigation-item-link:active,
.sidebar .erp-menu .rz-panel-menu .rz-panel-menu-item-link:hover,
.sidebar .erp-menu .rz-panel-menu .rz-panel-menu-item-link:focus,
.sidebar .erp-menu .rz-panel-menu .rz-panel-menu-item-link:focus-visible,
.sidebar .erp-menu .rz-panel-menu .rz-panel-menu-item-link:active {
    background: #355783 !important;
    background-color: #355783 !important;
    color: #FFFFFF !important;
    outline: none !important;
    box-shadow: none !important;
}

/* No default white outline around the focused submenu */
.sidebar .erp-menu .rz-navigation-item-link:focus-visible,
.sidebar .erp-menu .rz-panel-menu-item-link:focus-visible {
    outline: 2px solid rgba(244, 119, 33, .85) !important;
    outline-offset: -2px !important;
}


/* =========================================================
   FINAL MENU FIX
   - Remove border-radius from Radzen menu links only.
   - Prevent white background flash when a submenu is clicked.
   - Preserve existing navy/orange theme and font hierarchy.
   ========================================================= */
.erp-menu .rz-navigation-item-link,
.erp-menu .rz-panel-menu-item-link {
    border-radius: 0 !important;
    transition: background-color .14s ease, color .14s ease !important;
    transform: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Parent/top-level menu links: stable background for normal, hover,
   focus, pressed, expanded and selected states. */
.erp-menu > .rz-panel-menu-item > .rz-panel-menu-item-link,
.erp-menu > .rz-navigation-item > .rz-navigation-item-link,
.erp-menu > .rz-panel-menu-item > .rz-panel-menu-item-link:hover,
.erp-menu > .rz-navigation-item > .rz-navigation-item-link:hover,
.erp-menu > .rz-panel-menu-item > .rz-panel-menu-item-link:focus,
.erp-menu > .rz-navigation-item > .rz-navigation-item-link:focus,
.erp-menu > .rz-panel-menu-item > .rz-panel-menu-item-link:active,
.erp-menu > .rz-navigation-item > .rz-navigation-item-link:active,
.erp-menu > .rz-panel-menu-item.rz-state-expanded > .rz-panel-menu-item-link,
.erp-menu > .rz-panel-menu-item.rz-state-active > .rz-panel-menu-item-link,
.erp-menu > .rz-navigation-item.rz-state-active > .rz-navigation-item-link {
    color: #FFFFFF !important;
    outline: none !important;
    box-shadow: none !important;
}

.erp-menu > .rz-panel-menu-item > .rz-panel-menu-item-link:hover,
.erp-menu > .rz-navigation-item > .rz-navigation-item-link:hover,
.erp-menu > .rz-panel-menu-item > .rz-panel-menu-item-link:focus,
.erp-menu > .rz-navigation-item > .rz-navigation-item-link:focus,
.erp-menu > .rz-panel-menu-item > .rz-panel-menu-item-link:active,
.erp-menu > .rz-navigation-item > .rz-navigation-item-link:active,
.erp-menu > .rz-panel-menu-item.rz-state-expanded > .rz-panel-menu-item-link {
    background: #355783 !important;
    background-color: #355783 !important;
}

/* Keep the selected route's navy/orange appearance; no white flash on focus. */
.erp-menu .rz-navigation-item-active > .rz-navigation-item-link,
.erp-menu .rz-panel-menu-item-active > .rz-panel-menu-item-link,
.erp-menu .rz-state-active > .rz-navigation-item-link,
.erp-menu .rz-state-active > .rz-panel-menu-item-link,
.erp-menu .rz-navigation-item-link[aria-current="page"],
.erp-menu .rz-panel-menu-item-link[aria-current="page"] {
    background: #304F7D !important;
    background-color: #304F7D !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

/* Submenu links: keep inset navy surface and original lighter typography. */
.erp-menu .rz-panel-menu .rz-panel-menu-item-link,
.erp-menu .rz-navigation-item .rz-navigation-item-link {
    background: #17345A !important;
    background-color: #17345A !important;
    color: #D5E4F7 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

.erp-menu .rz-panel-menu .rz-panel-menu-item-link:hover,
.erp-menu .rz-panel-menu .rz-panel-menu-item-link:focus,
.erp-menu .rz-panel-menu .rz-panel-menu-item-link:active,
.erp-menu .rz-navigation-item .rz-navigation-item-link:hover,
.erp-menu .rz-navigation-item .rz-navigation-item-link:focus,
.erp-menu .rz-navigation-item .rz-navigation-item-link:active {
    background: #355783 !important;
    background-color: #355783 !important;
    color: #FFFFFF !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Prevent Radzen's generic focus/active descendants from painting white. */
.erp-menu .rz-navigation-item-link *,
.erp-menu .rz-panel-menu-item-link * {
    transition: color .14s ease !important;
}
.erp-menu .rz-navigation-item-link:hover *,
.erp-menu .rz-navigation-item-link:focus *,
.erp-menu .rz-navigation-item-link:active *,
.erp-menu .rz-panel-menu-item-link:hover *,
.erp-menu .rz-panel-menu-item-link:focus *,
.erp-menu .rz-panel-menu-item-link:active * {
    color: #FFFFFF !important;
}


/* =========================================================
   MODERN FIRST-PAGE LOADING UI
   Keeps eOfficeDesk navy / orange / white branding.
   The loader is replaced naturally when Blazor mounts.
   ========================================================= */
.startup-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: clamp(18px, 4vw, 48px);
    color: #fff;
    background:
        radial-gradient(ellipse at 12% 15%, rgba(83, 132, 190, .28), transparent 38%),
        linear-gradient(135deg, #142d50 0%, #1e3b68 52%, #eef3fa 52%, #f7f9fc 100%);
    animation: modern-loader-appear .45s ease-out both;
}
.startup-panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
    width: min(940px, 100%);
    min-height: 430px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(9, 28, 55, .28);
    animation: modern-loader-rise .6s cubic-bezier(.2,.8,.2,1) both;
}
.startup-brand-panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    padding: clamp(26px, 4vw, 44px);
    background: linear-gradient(145deg, #244879, #1e3b68 70%, #17345a);
}
.startup-brand-top { display: flex; align-items: center; gap: 13px; }
.startup-logo {
    width: 54px; height: 54px; flex: 0 0 54px;
    display: grid; place-items: center;
    border-radius: 15px;
    background: #ff7a1a; color: #fff;
    font-size: 17px; font-weight: 850; letter-spacing: -.5px;
    box-shadow: 0 9px 24px rgba(255,122,26,.28);
    animation: modern-logo-float 2.4s ease-in-out infinite;
}
.startup-brand-copy { display: flex; flex-direction: column; gap: 5px; }
.startup-brand-copy strong { font-size: 21px; font-weight: 800; letter-spacing: -.4px; }
.startup-brand-copy span { font-size: 9px; letter-spacing: 1.6px; color: #c7d7ec; }
.startup-welcome { margin: 38px 0 34px; }
.startup-kicker { color: #ffb37a; font-size: 10px; font-weight: 750; letter-spacing: 1.8px; }
.startup-welcome h1 { margin: 15px 0 13px; font-size: clamp(25px, 3vw, 35px); line-height: 1.18; letter-spacing: -.8px; color: #fff; }
.startup-welcome h1 em { color: #ff9a4b; font-style: normal; }
.startup-welcome p { max-width: 350px; margin: 0; color: #d5e2f2; font-size: 13px; line-height: 1.75; }
.startup-brand-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #c7d7ec; font-size: 10px; }
.startup-status-dot, .startup-progress-meta i { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #40d6a0; box-shadow: 0 0 0 4px rgba(64,214,160,.12); }
.startup-footer-separator { color: #ff9a4b; }
.startup-progress-panel {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 34px clamp(22px, 4vw, 42px);
    color: #1e3b68; text-align: center;
    background: linear-gradient(180deg, #fff 0%, #f5f8fc 100%);
}
.startup-progress-icon { position: relative; display: grid; place-items: center; width: 104px; height: 104px; margin-bottom: 25px; }
.startup-ring { position: absolute; inset: 5px; border: 2px solid #e0e8f3; border-top-color: #ff7a1a; border-right-color: #ff7a1a; border-radius: 50%; animation: modern-ring-spin 1.25s linear infinite; }
.startup-ring-two { inset: 15px; border-color: #dce7f5; border-bottom-color: #3977ff; border-left-color: #3977ff; animation-duration: 1.8s; animation-direction: reverse; }
.startup-cap { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: #fff0e5; color: #f47719; font-size: 27px; box-shadow: 0 7px 20px rgba(31,61,103,.08); animation: modern-cap-pulse 1.7s ease-in-out infinite; }
.startup-progress-title { color: #183d72; font-size: 18px; font-weight: 800; letter-spacing: -.3px; }
.startup-message { margin: 9px 0 0; color: #71819a; font-size: 12px; }
.startup-track { width: 100%; height: 6px; margin-top: 26px; overflow: hidden; border-radius: 20px; background: #e3eaf4; }
.startup-track span { display: block; width: 36%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff7a1a, #ffb06f); box-shadow: 0 0 14px rgba(255,122,26,.35); animation: modern-progress-slide 1.5s ease-in-out infinite; }
.startup-progress-meta { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 10px; margin-top: 14px; color: #7c8ca3; font-size: 9px; }
.startup-progress-meta span:first-child { display: flex; align-items: center; gap: 8px; }
.startup-progress-meta i { width: 6px; height: 6px; box-shadow: none; }
.startup-live { color: #f47719; font-weight: 800; letter-spacing: 1px; }
.startup-orb { position: absolute; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; pointer-events: none; animation: modern-orb-drift 8s ease-in-out infinite; }
.startup-orb-one { top: -95px; right: 10%; }
.startup-orb-two { bottom: -130px; left: 4%; width: 280px; height: 280px; animation-delay: -3s; }
@keyframes modern-loader-appear { from { opacity: 0; } to { opacity: 1; } }
@keyframes modern-loader-rise { from { opacity: 0; transform: translateY(12px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes modern-ring-spin { to { transform: rotate(360deg); } }
@keyframes modern-logo-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes modern-cap-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@keyframes modern-progress-slide { 0% { transform: translateX(-115%); } 100% { transform: translateX(300%); } }
@keyframes modern-orb-drift { 0%,100% { transform: translate(0,0); } 50% { transform: translate(12px,-10px); } }
@media (max-width: 680px) {
    .startup-loader { background: linear-gradient(160deg, #1e3b68 0%, #244879 62%, #eef3fa 62%, #f7f9fc 100%); padding: 16px; }
    .startup-panel { grid-template-columns: 1fr; width: min(420px, 100%); min-height: 0; border-radius: 20px; }
    .startup-brand-panel { padding: 24px 24px 20px; }
    .startup-logo { width: 46px; height: 46px; flex-basis: 46px; border-radius: 13px; }
    .startup-brand-copy strong { font-size: 18px; }
    .startup-welcome { margin: 25px 0 24px; }
    .startup-welcome h1 { font-size: 26px; }
    .startup-welcome p { font-size: 12px; }
    .startup-brand-footer { font-size: 9px; }
    .startup-progress-panel { padding: 25px 24px 28px; }
    .startup-progress-icon { width: 78px; height: 78px; margin-bottom: 17px; }
    .startup-cap { width: 44px; height: 44px; }
    .startup-progress-title { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .startup-loader, .startup-panel, .startup-logo, .startup-ring,
    .startup-cap, .startup-track span, .startup-orb {
        animation: none !important;
    }
}


/* Startup route and demo sign-out control */
.startup-route{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f2f5f9;color:#244879;font-size:13px}
.startup-route-spinner{width:34px;height:34px;border:3px solid #dce3ed;border-top-color:#ff7a1a;border-radius:50%;animation:schoolerp-spin .8s linear infinite}
@keyframes schoolerp-spin{to{transform:rotate(360deg)}}
.profile-menu-action{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px;border-radius:6px;color:inherit;cursor:pointer;font:inherit}
.profile-menu-action:hover{background:#f2f5f9}

/* Donation Entry - eOfficeDesk screenshot-matched layout */
.donation-page { color: #173b70; }
.donation-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 12px; }
.donation-heading h1 { margin: 0; color: #173b70; font-size: 21px; font-weight: 750; }
.donation-heading-actions { display: flex; gap: 8px; }
.donation-btn { min-height: 36px; border-radius: 9px; padding: 8px 15px; font-size: 12px; font-weight: 650; cursor: pointer; }
.donation-btn-outline { color: #183e74; background: #fff; border: 1px solid #9eb5d7; }
.donation-btn-primary { color: #fff; background: #e85b00; border: 1px solid #e85b00; }
.donation-filter-card, .donation-list-card, .donation-form-card { background: #fff; border: 1px solid #c7d5e8; border-radius: 8px; box-shadow: 0 3px 7px #15365d0d; }
.donation-filter-card { display: grid; grid-template-columns: minmax(260px, 1fr) 150px 135px; gap: 12px; align-items: end; padding: 26px 15px 12px; margin-bottom: 15px; }
.donation-filter-field, .donation-form-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.donation-filter-field label, .donation-form-field label { color: #112f59; font-size: 12px; font-weight: 700; }
.donation-filter-field select, .donation-form-field input, .donation-form-field select { width: 100%; min-width: 0; height: 36px; padding: 0 11px; color: #111e32; background: #fff; border: 1px solid #9fb4d5; border-radius: 8px; outline-color: #e85b00; font: inherit; font-size: 13px; }
.donation-org-field select { border-color: #ef6a1a; box-shadow: 0 0 0 2px #fff0e6; }
.donation-list-card { overflow: hidden; }
.donation-list-bar { min-height: 51px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 15px; color: #fff; background: #214475; border-top: 3px solid #e85b00; border-bottom: 3px solid #e85b00; position: relative; }
.donation-list-bar::before { content: ""; height: 3px; position: absolute; left: 0; top: -3px; width: 33.33%; background: #ff8a24; }
.donation-list-bar::after { content: ""; height: 3px; position: absolute; right: 0; top: -3px; width: 33.33%; background: #27734e; }
.donation-list-bar strong { font-size: 14px; }
.donation-list-bar > div { display: flex; gap: 24px; flex-wrap: wrap; font-size: 13px; }
.donation-table-wrap { padding: 12px 13px 15px; overflow-x: auto; }
.donation-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.donation-table th { height: 39px; padding: 8px; text-align: left; color: #173b70; background: #e8eef6; border: 1px solid #c3d0e2; font-weight: 750; white-space: nowrap; }
.donation-table td { height: 42px; padding: 8px; border: 1px solid #c3d0e2; color: #29466f; }
.donation-table .donation-money { text-align: right; }
.donation-table .donation-actions-col { text-align: center; }
.donation-empty { text-align: center; }
.donation-row-actions { text-align: center; white-space: nowrap; }
.donation-row-actions button { width: 28px; height: 27px; margin: 0 2px; color: #204675; background: #fff; border: 1px solid #c7d5e8; border-radius: 5px; cursor: pointer; }
.donation-row-actions button:last-child { color: #b42318; }
.donation-form-card { padding: 10px 13px 0; }
.donation-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px 13px; padding: 17px 15px 16px; background: #fbfdff; border: 1px solid #d1dfef; border-radius: 10px; }
.donation-form-field em { color: #e54836; font-style: normal; }
.donation-form-field .donation-readonly { background: #eef3f9; color: #71829b; }
.donation-form-divider { grid-column: 1 / -1; height: 1px; margin: -4px 0 0; background: #dbe5f1; }
.donation-message { margin: 10px 15px; color: #b42318; font-size: 13px; }
.donation-form-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 9px 0 10px; margin-top: 29px; border-top: 1px solid #e2eaf4; }
@media (max-width: 900px) { .donation-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .donation-filter-card { grid-template-columns: 1fr 1fr; } .donation-org-field { grid-column: 1 / -1; } }
@media (max-width: 560px) { .donation-heading, .donation-list-bar { align-items: flex-start; flex-direction: column; } .donation-filter-card, .donation-form-grid { grid-template-columns: 1fr; } .donation-org-field, .donation-form-divider { grid-column: auto; } .donation-list-bar { padding: 12px; } .donation-list-bar > div { gap: 8px; } }

.language-selector{border:1px solid #cbd7e8;border-radius:8px;padding:7px 10px;background:#fff;color:#17345f;font-weight:650;margin:8px 12px 0 auto;display:block;max-width:150px}.language-selector:focus{outline:2px solid #ff8a24;outline-offset:2px}


/* Modern fallback for unexpected client-side rendering errors. */
.provider-error-page .system-state-card { max-width: 560px; border-radius: 20px; padding: 36px; box-shadow: 0 18px 55px rgba(19, 43, 79, .14); }
.provider-error-page .system-state-kicker { color: #e85d04; font-weight: 800; letter-spacing: .12em; font-size: .75rem; }
.provider-error-page .provider-contact-note { display: grid; gap: 5px; margin-top: 24px; padding: 16px; border: 1px solid #d8e1ef; border-radius: 12px; background: #f5f8fc; color: #19365f; text-align: left; }
.provider-error-page .provider-contact-note span { font-size: .9rem; color: #5b6b82; }
