/* Complete blue visual system — loaded last to replace every orange brand accent. */
:root{
  --orange-950:#06172e;--orange-900:#0a2850;--orange-800:#103d78;
  --orange-700:#1557b0;--orange-600:#1d6fe8;--orange-500:#3b82f6;
  --orange-100:#dbeafe;--orange-50:#eff6ff;--canvas:#f3f7fc;
  --surface:#fff;--ink:#10233d;--muted:#64748b;--line:#dce6f2;
  --navy:#1d6fe8;--blue:#2563eb;--teal:#0ea5e9;--gold:#60a5fa;
  --shadow:0 1px 2px #08224a0a,0 8px 24px #08224a0a;
}
html,body{background:var(--canvas);color:var(--ink)}
main{background:radial-gradient(circle at 94% 4%,#bfdbfe80 0 8%,transparent 24%),radial-gradient(circle at 34% 26%,#fff 0 3%,transparent 19%),var(--canvas)}
.sidebar{background:radial-gradient(circle at 20% -5%,#174d9a 0,transparent 29%),linear-gradient(175deg,#0a1d38 0%,#08182e 55%,#061120 100%);border-color:#173153}
.brandmark{background:linear-gradient(145deg,#60a5fa,#2563eb);box-shadow:0 10px 26px #2563eb3b}.brandmark:after{border-color:#7dd3fc45}
.nav.active{color:#113d78}.nav.active span{background:#dbeafe;color:#1557b0}.sidebar-logout{color:#cbdcf2}.help{color:#dce9f8}
header{border-bottom-color:var(--line);box-shadow:0 8px 25px #08224a08}.header-title h1{color:var(--ink)}
.primary{background:linear-gradient(115deg,#1d6fe8,#2563eb);border-color:#1d6fe8;box-shadow:0 6px 15px #1d6fe82a}.primary:hover{background:linear-gradient(115deg,#1557b0,#1d6fe8);border-color:#1557b0;box-shadow:0 8px 20px #1557b038}
.outline:hover{border-color:#93bdf5;background:#eff6ff;color:#1557b0}.eyebrow{color:#1557b0}.db-status{background:#effbf6;color:#20754d;border-color:#d6ede0}
.hero{border-color:#3983ec;background:radial-gradient(circle at 83% 22%,#9dd8ff55 0 5%,transparent 26%),linear-gradient(112deg,#092e66 0%,#1557b0 42%,#2788f4 100%);box-shadow:0 22px 48px #0b4a9c30}.hero:after{border-color:#b9ddff1c}.hero .eyebrow{color:#bfdbfe}.hero .eyebrow:before{background:#93c5fd}.hero p{color:#dbeafe}.light-btn{color:#124b98;box-shadow:0 12px 24px #061f4844}
.stats article:before{background:linear-gradient(145deg,#8ec5ff42,#2563eb10)}.stats article:after{background:linear-gradient(#3b82f6,#1557b0)}.stats article:hover{border-color:#a9c9ef;box-shadow:0 10px 28px #082e6712}.stat-icon.navy,.stat-icon.teal,.stat-icon.gold,.stat-icon.green{background:#eff6ff;color:#1557b0}.stat-icon{box-shadow:inset 0 0 0 1px #bed8fa,0 7px 16px #1557b018}
.insight-stats article:before{background:#3b82f613}.insight-icon{background:#eff6ff!important;color:#1557b0!important;box-shadow:inset 0 0 0 1px #bed8fa}.insight-stats article>i em,.pipeline i:after{background:linear-gradient(90deg,#1557b0,#3b82f6)!important}
.panel-head button,.row-action{color:#1557b0}.action-center{background:linear-gradient(145deg,#fff,#f5f9ff)}.action-grid button:hover{background:#eff6ff;border-color:#b9d3f4;box-shadow:0 12px 25px #082e6712}.action-grid button>i{background:#dbeafe;color:#1557b0}.action-grid button:after{color:#3b82f6}.status-strip article:after{background:linear-gradient(90deg,#1557b0,#3b82f6)}
table th{background:#f7faff;color:#63758d}tbody tr:hover{background:#f5f9ff}.student-check{accent-color:#2563eb}.bulkbar{background:#eff6ff;border-color:#c9dcf4}.dropzone:hover{border-color:#3b82f6;background:#f5f9ff}.upload-icon,.upload-icon.photos{background:#dbeafe;color:#1557b0}.year-callout{background:linear-gradient(90deg,#e9f3ff,#f8fbff);border-color:#c8ddf5}.year-icon{background:#2563eb}.current-year b,.steps .on{color:#1557b0}
.toast{background:#071b35;border-color:#163b67}.server-loader{background:#06182ed9}.server-loader i{border-color:#dbeafe;border-top-color:#2563eb}
dialog::backdrop{background:#07182f99}.login-screen{background:radial-gradient(circle at 78% 18%,#93c5fd80 0 6%,transparent 26%),radial-gradient(circle at 22% 88%,#3b82f645 0 7%,transparent 25%),#f1f6fc}.login-art{background:radial-gradient(circle at 82% 19%,#7dd3fc66 0 7%,transparent 25%),linear-gradient(145deg,#06182f 0%,#0d3f7e 54%,#2788f4 100%)}
.login-panel{background:linear-gradient(160deg,#fff 0%,#f7fbff 100%);box-shadow:-25px 0 70px #071c4424}.login-panel form{border-top-color:#2563eb;box-shadow:0 22px 60px #082e6718}.login-panel form:before{border-color:#3b82f61a}.secure-mark{background:#dbeafe;color:#1557b0;box-shadow:0 10px 22px #2563eb26}.login-role-tabs{background:#edf3fa;border-color:#d7e3f1}.login-role-tabs button.active{background:#2563eb!important;color:#fff!important}.login-options a,.password button{color:#1557b0!important}.login-btn{background:linear-gradient(110deg,#1557b0,#3b82f6,#0e4eaa)!important;background-size:180% 100%!important;border-color:#1d6fe8!important;box-shadow:0 9px 22px #1557b02c!important}
.college-portal-hero,.health-hero{background:linear-gradient(112deg,#092e66,#1557b0 66%,#2788f4)}.college-login-button{color:#1557b0;border-color:#c5daf3}.existing-login{background:#eff6ff;border-color:#c8ddf5}.existing-login small{color:#1557b0}
.replacement-price-cards b,.health-counts b{color:#1557b0}.replacement-charge{background:#eff6ff;border-color:#c8ddf5}.replacement-charge b{color:#1557b0}.submission-status,.sms-status.sent{background:#e6f1ff;color:#1557b0}.notification-card>i{background:#dbeafe;color:#1557b0}
.invoice-top{border-bottom-color:#1557b0}.invoice-brand h1,.invoice-title h2{color:#0d3f7e}.invoice-table th{background:#0d3f7e}.invoice-totals .grand{border-top-color:#1557b0}.invoice-qr span{color:#5f7896}
::-webkit-scrollbar-thumb{background:#9abbe3!important}.sidebar nav{scrollbar-color:#6da5e5aa transparent}
.theme-settings-card{grid-column:1/-1;padding:22px!important;overflow:hidden}.theme-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.theme-card-head h3{font:800 18px Manrope;margin:4px 0}.theme-card-head p{margin:0;color:#718096;font-size:10px}.theme-lock{background:#eff6ff;color:#1557b0;border:1px solid #c9dcf4;border-radius:20px;padding:7px 10px;font-size:8px;font-weight:800}.theme-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0 17px}.theme-presets button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;cursor:pointer;text-align:left;color:#43546a}.theme-presets button:hover,.theme-presets button.active{border-color:var(--swatch);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 14%,transparent)}.theme-presets i{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--swatch),var(--swatch2));box-shadow:0 5px 12px color-mix(in srgb,var(--swatch) 25%,transparent)}.theme-presets span{font-size:9px;font-weight:700}.theme-custom{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theme-custom label{display:flex!important;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:9px 11px;margin:0!important;background:#f9fbfe}.theme-custom input[type=color]{width:38px!important;height:28px!important;padding:2px!important;margin:0!important;border-radius:7px!important}.theme-live-preview{--preview-primary:#2563eb;--preview-sidebar:#08182e;--preview-accent:#38bdf8;display:grid;grid-template-columns:70px 1fr;height:110px;margin-top:16px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#f3f7fc}.theme-live-preview aside{background:var(--preview-sidebar);padding:15px 10px}.theme-live-preview aside i{display:block;height:7px;border-radius:4px;background:#ffffff30;margin-bottom:10px}.theme-live-preview aside i:first-child{background:var(--preview-accent);width:25px;height:18px}.theme-live-preview section{padding:13px}.theme-live-preview section>span{display:block;width:100%;height:28px;border-radius:7px;background:linear-gradient(90deg,var(--preview-primary),var(--preview-accent));margin-bottom:10px}.theme-live-preview section>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-live-preview section i{height:38px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #10274410;border-top:3px solid var(--preview-primary)}@media(max-width:800px){.theme-presets{grid-template-columns:repeat(2,1fr)}.theme-custom{grid-template-columns:1fr}.theme-card-head{flex-direction:column}}

/* Animated prepaid card presentation */
.prepaid-showcase{position:absolute;right:5%;bottom:8%;width:330px;height:245px;z-index:3;perspective:1000px}.prepaid-card{position:absolute;inset:35px 20px auto auto;width:286px;height:176px;border-radius:18px;padding:20px;box-sizing:border-box;color:#fff;background:radial-gradient(circle at 82% 18%,#8ed7ff55,transparent 27%),linear-gradient(135deg,#071a39 0%,#0d4fa6 52%,#2694f4 100%);box-shadow:0 35px 70px #020c1f66,inset 0 1px #ffffff45;border:1px solid #ffffff30;transform:rotate(-6deg) rotateY(-8deg);animation:prepaid-float 5s ease-in-out infinite;overflow:hidden}.prepaid-card:before{content:"";position:absolute;width:210px;height:210px;border:34px solid #ffffff0c;border-radius:50%;right:-110px;top:-108px}.prepaid-card:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,#ffffff24 42%,transparent 60%);transform:translateX(-120%);animation:card-shine 5s ease-in-out infinite}.prepaid-card-top,.prepaid-card-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.prepaid-card-top{font-size:9px;letter-spacing:.12em}.prepaid-logo{display:flex;align-items:center;gap:7px;font-weight:700}.prepaid-logo i{display:grid;place-items:center;width:25px;height:25px;background:#fff;color:#165bb3;border-radius:7px;font-style:normal;font-size:9px}.prepaid-card-top>b{font-size:8px;color:#dbeafe}.prepaid-chip{position:absolute;left:21px;top:69px;width:37px;height:28px;border-radius:6px;background:linear-gradient(135deg,#fff1a8,#c7962e);display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:4px;box-sizing:border-box}.prepaid-chip i{border:1px solid #7a601e55;border-radius:2px}.contactless{position:absolute;left:67px;top:73px;transform:rotate(90deg);font-weight:800;letter-spacing:-2px;color:#dff1ff}.prepaid-number{position:absolute;left:21px;top:108px;font:600 14px Manrope;letter-spacing:.11em}.prepaid-card-bottom{position:absolute;left:21px;right:20px;bottom:16px}.prepaid-card-bottom span{font-size:8px;font-weight:700;letter-spacing:.05em}.prepaid-card-bottom small{display:block;font-size:5px;color:#bcd9fa;margin-bottom:2px}.prepaid-card-bottom>b{font:800 italic 17px Arial}.card-orbit{position:absolute;border:1px solid #77c4ff3b;border-radius:50%;animation:orbit-spin 12s linear infinite}.orbit-one{width:210px;height:210px;right:0;top:5px}.orbit-two{width:140px;height:140px;right:42px;top:41px;animation-direction:reverse;animation-duration:8s}.card-float-tag{position:absolute;display:flex;align-items:center;gap:8px;background:#ffffffee;color:#10233d;border:1px solid #ffffff;border-radius:10px;padding:9px 11px;box-shadow:0 14px 35px #03132c32;backdrop-filter:blur(8px);animation:tag-float 4s ease-in-out infinite}.card-float-tag i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#dbeafe;color:#1557b0;font-style:normal}.card-float-tag span,.card-float-tag b{display:block;font-size:7px}.card-float-tag b{font-size:9px}.tag-secure{left:-6px;top:23px}.tag-live{right:-14px;bottom:2px;animation-delay:-2s}.hero-copy{position:relative;z-index:3}.hero .light-btn{margin-top:14px}.hero-prepaid-card{position:absolute;right:7%;top:50%;width:205px;height:118px;transform:translateY(-50%) rotate(7deg);border-radius:14px;background:radial-gradient(circle at 80% 12%,#ffffff38,transparent 28%),linear-gradient(135deg,#071a39,#1b6ed0 62%,#5ec6ff);box-shadow:0 22px 45px #061b3d55,inset 0 1px #ffffff4a;border:1px solid #ffffff38;animation:hero-card-float 4s ease-in-out infinite}.hero-prepaid-card:after{content:"";position:absolute;inset:9px;border:1px solid #ffffff16;border-radius:10px}.hero-prepaid-card>div{position:absolute;inset:17px;z-index:1;color:#fff}.hero-prepaid-card span,.hero-prepaid-card b,.hero-prepaid-card small{display:block}.hero-prepaid-card span{font-size:7px;font-weight:700;letter-spacing:.12em}.hero-prepaid-card span i{font-style:normal;background:#fff;color:#1557b0;border-radius:5px;padding:5px;margin-right:5px}.hero-prepaid-card b{margin-top:35px;font:700 13px Manrope;letter-spacing:.14em}.hero-prepaid-card small{margin-top:7px;font-size:5px;color:#cbe4ff;letter-spacing:.1em}@keyframes prepaid-float{50%{transform:translateY(-12px) rotate(-3deg) rotateY(2deg)}}@keyframes hero-card-float{50%{transform:translateY(calc(-50% - 8px)) rotate(4deg)}}@keyframes card-shine{0%,60%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes tag-float{50%{transform:translateY(-7px)}}
@media(max-width:1100px){.prepaid-showcase{transform:scale(.78);transform-origin:right bottom;right:2%}.hero-prepaid-card{right:3%;transform:translateY(-50%) rotate(7deg) scale(.84)}}@media(max-width:820px){.prepaid-showcase{display:none}.hero{padding-right:20px}.hero-prepaid-card{opacity:.25;right:-45px}.hero-copy{max-width:80%}}@media(max-width:560px){.hero-prepaid-card{display:none}.hero-copy{max-width:100%}}@media(prefers-reduced-motion:reduce){.prepaid-card,.prepaid-card:after,.card-orbit,.card-float-tag,.hero-prepaid-card{animation:none!important}}
.client-logo-rail{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:18px;margin-top:14px;padding:13px 16px!important;min-height:70px;overflow:hidden}.client-logo-rail>div:first-child{border-right:1px solid var(--line);padding-right:16px}.client-logo-rail>div:first-child span,.client-logo-rail>div:first-child b{display:block}.client-logo-rail>div:first-child b{font:700 11px Manrope;margin-top:4px;color:var(--ink)}#clientLogoList{display:flex;align-items:center;gap:10px;min-width:0;overflow-x:auto;padding:3px 1px}.client-logo-item{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:42px;max-width:180px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:#fbfdff}.client-logo-item i{width:30px;height:30px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:#fff;border:1px solid #e1e9f3;color:#1557b0;font:800 8px Manrope}.client-logo-item img{width:100%;height:100%;object-fit:contain}.client-logo-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700;color:#53657b}.client-logo-empty{font-size:9px;color:#8291a5}.card-top #cardClientLogo{flex:0 0 auto;overflow:hidden;border-radius:9px}.card-top #cardClientLogo img{width:100%;height:100%;object-fit:contain;background:#fff}.dashboard-college-logo{overflow:hidden;background:#fff!important}.dashboard-college-logo img{width:100%;height:100%;object-fit:contain}@media(max-width:650px){.client-logo-rail{grid-template-columns:1fr}.client-logo-rail>div:first-child{border-right:0;border-bottom:1px solid var(--line);padding:0 0 9px}}
.approval-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}.approval-stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;box-shadow:var(--shadow)}.approval-stats span{display:block;font-size:8px;font-weight:800;color:#718096;letter-spacing:.08em}.approval-stats b{display:block;font:800 25px Manrope;margin-top:5px}.approval-list{display:grid;gap:11px}.approval-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:16px!important}.approval-person{display:flex;align-items:center;gap:12px}.approval-person>img,.approval-person>i{width:44px;height:50px;border-radius:9px;object-fit:cover;background:#e8f1fd;display:grid;place-items:center;font-style:normal;font-weight:800;color:#1557b0}.approval-person span{font-size:8px;color:#1557b0;font-weight:800}.approval-person h3{margin:3px 0;font-size:13px}.approval-person p{margin:0;color:#718096;font-size:8px}.approval-status{font-style:normal;background:#eff6ff;color:#1557b0;border-radius:20px;padding:7px 10px;font-size:8px}.approval-actions{display:flex;gap:7px}.approval-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 10px;font-size:8px;cursor:pointer}.workflow-empty{display:grid;place-items:center;padding:45px!important;color:#718096}.workflow-empty b{color:#10233d}.studio-layout{display:grid;grid-template-columns:360px 1fr;gap:18px}.studio-controls label{display:block;font-size:9px;font-weight:700;color:#596b80;margin-bottom:12px}.studio-controls input,.studio-controls select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.studio-controls input[type=color]{height:42px;padding:4px}.studio-note{background:#eff6ff;color:#45617f;border-radius:9px;padding:11px;font-size:8px}.studio-preview-wrap{min-height:420px;border-radius:15px;background:radial-gradient(circle at 70% 20%,#dbeafe,#eef4fb 45%,#e7edf5);display:grid;place-items:center;perspective:1000px}.studio-card{--studio-primary:#1557b0;--studio-secondary:#38bdf8;position:relative;width:430px;height:260px;border-radius:24px;padding:28px;color:#fff;background:radial-gradient(circle at 83% 15%,color-mix(in srgb,var(--studio-secondary) 55%,transparent),transparent 31%),linear-gradient(135deg,#071a39,var(--studio-primary) 58%,var(--studio-secondary));box-shadow:0 35px 70px #082e6745;transform:rotate(-3deg);overflow:hidden}.studio-card:after{content:"";position:absolute;width:260px;height:260px;border:44px solid #ffffff0d;border-radius:50%;right:-120px;top:-120px}.studio-top,.studio-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.studio-top i{width:48px;height:48px;border-radius:11px;background:#fff;color:var(--studio-primary);display:grid;place-items:center;overflow:hidden;font-style:normal;font-weight:800}.studio-top img{width:100%;height:100%;object-fit:contain}.studio-top span{font-size:11px;font-weight:800;letter-spacing:.14em}.studio-chip{position:absolute;left:29px;top:105px;width:51px;height:37px;border-radius:8px;background:linear-gradient(135deg,#ffef9d,#bf8e28)}.studio-card>b{position:absolute;left:29px;top:165px;font:600 18px Manrope;letter-spacing:.14em}.studio-bottom{position:absolute;left:29px;right:29px;bottom:23px;font-size:8px}.studio-bottom span:first-child{font-weight:700}.studio-bottom small{display:block;font-size:6px;color:#cce2ff;margin-top:3px}.studio-bottom span:last-child{letter-spacing:.12em;color:#dcecff}@media(max-width:900px){.approval-card{grid-template-columns:1fr}.approval-actions{flex-wrap:wrap}.studio-layout{grid-template-columns:1fr}.studio-card{transform:scale(.8)}}@media(max-width:600px){.approval-stats{grid-template-columns:1fr}.studio-preview-wrap{min-height:300px}.studio-card{transform:scale(.62)}}
