@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--bg:#071020;--bg-2:#0b1628;--surface:rgba(16,29,49,.82);--surface-solid:#101d31;--surface-2:#14243b;--line:rgba(151,174,212,.14);--text:#f4f7ff;--muted:#91a0b7;--primary:#7c5cff;--primary-2:#a48cff;--cyan:#39c7ff;--green:#20d99a;--orange:#ff9c55;--red:#ff5e75;--pink:#e96fff;--grid:rgba(255,255,255,.07);--shadow:0 28px 70px rgba(0,0,0,.34);--radius:22px}
html[data-theme="light"]{--bg:#edf2fb;--bg-2:#f6f8fd;--surface:rgba(255,255,255,.84);--surface-solid:#fff;--surface-2:#f3f6fc;--line:rgba(39,55,84,.11);--text:#13203a;--muted:#65718a;--grid:rgba(38,55,88,.08);--shadow:0 24px 60px rgba(54,72,105,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% -15%,rgba(124,92,255,.22),transparent 32%),radial-gradient(circle at 5% 100%,rgba(57,199,255,.12),transparent 30%),var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.62}.ambient-one{width:420px;height:420px;right:-180px;top:12%;background:radial-gradient(circle,rgba(124,92,255,.18),transparent 68%)}.ambient-two{width:360px;height:360px;left:10%;bottom:-190px;background:radial-gradient(circle,rgba(32,217,154,.1),transparent 68%)}.ambient-three{width:240px;height:240px;left:42%;top:18%;background:radial-gradient(circle,rgba(57,199,255,.07),transparent 70%)}
a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;padding:24px 18px 18px;background:linear-gradient(180deg,rgba(10,21,38,.97),rgba(7,16,32,.95));border-right:1px solid var(--line);backdrop-filter:blur(24px);z-index:50;display:flex;flex-direction:column;box-shadow:16px 0 50px rgba(0,0,0,.13)}html[data-theme="light"] .sidebar{background:rgba(255,255,255,.91)}.brand{display:flex;align-items:center;gap:14px;padding:0 9px 25px;text-decoration:none}.brand>span:last-child{display:flex;flex-direction:column}.brand b{font:800 20px 'Manrope';letter-spacing:-.4px}.brand small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1.8px;margin-top:2px}.brand-cube{width:45px;height:45px;position:relative;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#9c86ff,#5c3fff);box-shadow:inset 4px 4px 10px rgba(255,255,255,.28),inset -5px -6px 11px rgba(38,19,116,.45),0 13px 25px rgba(92,63,255,.34);transform:rotate(-7deg)}.brand-cube:before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.26);border-radius:9px}.brand-cube i{font:800 23px 'Manrope';font-style:normal;color:white;text-shadow:0 3px 7px rgba(0,0,0,.3)}.side-nav{overflow:auto;padding-right:3px}.nav-caption{margin:20px 12px 8px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px}.side-nav a{display:flex;align-items:center;gap:13px;padding:11px 13px;margin:3px 0;border-radius:13px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14px;transition:.2s}.side-nav a span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(138,159,195,.08);color:var(--text);font-weight:800}.side-nav a:hover{color:var(--text);background:rgba(124,92,255,.09);transform:translateX(2px)}.side-nav a.active{color:#fff;background:linear-gradient(100deg,rgba(124,92,255,.9),rgba(94,61,232,.74));box-shadow:0 10px 24px rgba(78,49,196,.28)}.side-nav a.active span{background:rgba(255,255,255,.16);color:#fff}.sidebar-user{margin-top:auto;padding:13px;display:grid;grid-template-columns:38px 1fr 25px;gap:10px;align-items:center;background:rgba(140,161,196,.07);border:1px solid var(--line);border-radius:16px}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--cyan),var(--primary));color:white;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(57,199,255,.2)}.sidebar-user div:nth-child(2){min-width:0}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{font-size:12px}.sidebar-user small{color:var(--muted);font-size:10px;margin-top:2px}.sidebar-user>a{color:var(--muted);text-decoration:none;font-size:20px}.workspace{width:calc(100% - 270px);margin-left:270px}.topbar{height:74px;padding:0 34px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--bg),rgba(7,16,32,.74));backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}html[data-theme="light"] .topbar{background:rgba(237,242,251,.83)}.topbar-title,.topbar-actions{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(32,217,154,.12),0 0 15px var(--green);animation:pulse 2s infinite}.date-chip{padding:9px 13px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);display:grid;place-items:center;text-decoration:none;cursor:pointer;transition:.2s}.icon-button:hover{transform:translateY(-2px);border-color:rgba(124,92,255,.45);box-shadow:0 8px 18px rgba(0,0,0,.14)}.mobile-menu{display:none}.container{width:min(1450px,calc(100% - 60px));margin:30px auto 50px}.hero-panel{min-height:264px;padding:38px 44px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(120deg,rgba(93,61,222,.94),rgba(63,40,157,.88) 52%,rgba(26,121,173,.72));box-shadow:0 28px 65px rgba(48,28,137,.32),inset 0 1px rgba(255,255,255,.27);transition:transform .15s ease}.hero-panel:before{content:"";position:absolute;width:390px;height:390px;right:-80px;top:-155px;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}.hero-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.1),transparent 31%);pointer-events:none}.hero-panel>div{position:relative;z-index:2}.eyebrow{display:block;color:var(--primary-2);font-size:10px;font-weight:800;letter-spacing:2px;margin-bottom:8px}.hero-panel .eyebrow{color:#d6ccff}.hero-panel h1{font:800 clamp(31px,4vw,48px) 'Manrope';letter-spacing:-1.7px;margin:0 0 10px;color:white}.hero-panel p{max-width:650px;margin:0;color:rgba(255,255,255,.75);font-size:15px;line-height:1.6}.hero-actions{display:flex;gap:11px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 17px;border:0;border-radius:12px;color:white;background:linear-gradient(120deg,var(--primary),#6644e7);text-decoration:none;font-weight:700;cursor:pointer;box-shadow:0 10px 22px rgba(73,43,196,.25);transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.07)}.button-glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);box-shadow:none;backdrop-filter:blur(10px)}.button-secondary{background:linear-gradient(120deg,#536177,#38455a)}.button-danger{background:linear-gradient(120deg,var(--red),#d63e56)}.button-small{padding:7px 11px;font-size:12px}.profit-orb{width:215px;height:215px;position:relative;flex:0 0 auto;display:grid;place-items:center;filter:drop-shadow(0 24px 25px rgba(14,6,66,.3))}.orb-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.22)}.ring-one{inset:5px;animation:spin 16s linear infinite;border-left-color:#42e4ff;border-right-color:#b9aaff}.ring-two{inset:25px;animation:spinReverse 11s linear infinite;border-top-color:#fff;border-bottom-color:rgba(255,255,255,.06)}.orb-core{width:145px;height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.3),rgba(255,255,255,.09) 36%,rgba(10,8,62,.38));border:1px solid rgba(255,255,255,.24);box-shadow:inset 8px 8px 20px rgba(255,255,255,.13),inset -12px -15px 30px rgba(17,9,79,.35),0 20px 45px rgba(23,9,100,.28);backdrop-filter:blur(9px);color:white;text-align:center}.orb-core small{font-size:9px;letter-spacing:1.5px;opacity:.72}.orb-core strong{font:800 22px 'Manrope';margin:6px 0}.orb-core span{font-size:10px;opacity:.7}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.kpi-card{min-height:135px;padding:20px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--surface),rgba(18,31,53,.62));box-shadow:var(--shadow),inset 1px 1px rgba(255,255,255,.06);transition:transform .15s}.kpi-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;bottom:-70px;background:currentColor;opacity:.08}.kpi-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;font-size:21px;font-weight:800;background:rgba(255,255,255,.08);box-shadow:inset 3px 3px 8px rgba(255,255,255,.08),inset -4px -5px 9px rgba(0,0,0,.15)}.kpi-card span,.kpi-card small,.kpi-card strong{display:block}.kpi-card span{font-size:12px;color:var(--muted);font-weight:700}.kpi-card strong{font:800 22px 'Manrope';margin:5px 0 3px}.kpi-card small{font-size:10px;color:var(--muted)}.kpi-violet{color:var(--primary-2)}.kpi-blue{color:var(--cyan)}.kpi-green{color:var(--green)}.kpi-orange{color:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr .82fr;gap:20px}.panel,.card,.course-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--surface),rgba(13,25,43,.66));box-shadow:var(--shadow),inset 1px 1px rgba(255,255,255,.04);backdrop-filter:blur(16px)}html[data-theme="light"] .panel,html[data-theme="light"] .card,html[data-theme="light"] .course-card,html[data-theme="light"] .kpi-card{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(244,247,253,.9))}.card{margin-bottom:20px}.span-two{grid-column:span 2}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:21px}.panel-heading h2{font:700 18px 'Manrope';margin:0;letter-spacing:-.35px}.chart-legend{display:flex;gap:13px;color:var(--muted);font-size:10px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:8px;height:8px;border-radius:50%}.legend-revenue{background:var(--primary)}.legend-profit{background:var(--green)}.legend-expense{background:var(--orange)}#financeChart{display:block;width:100%;height:310px}.health-item{display:grid;grid-template-columns:42px 1fr 25px;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.health-item:last-child{border-bottom:0}.health-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;font-weight:800}.health-icon.danger{color:var(--red);background:rgba(255,94,117,.12)}.health-icon.warning{color:var(--orange);background:rgba(255,156,85,.12)}.health-icon.success{color:var(--green);background:rgba(32,217,154,.12)}.health-item strong,.health-item small{display:block}.health-item strong{font-size:12px}.health-item small{font-size:10px;color:var(--muted);margin-top:4px}.health-item>a{text-decoration:none;color:var(--primary-2);font-size:18px}.rank-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.rank-row:last-child{border:0}.rank-number{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:rgba(124,92,255,.12);color:var(--primary-2);font-size:11px;font-weight:800}.rank-row strong,.rank-row small{display:block}.rank-row strong{font-size:12px}.rank-row small{color:var(--muted);font-size:10px;margin-top:3px}.rank-row>b{font-size:11px;color:var(--green)}.status-pill{padding:6px 10px;border:1px solid rgba(32,217,154,.22);border-radius:20px;color:var(--green);font-size:10px}.status-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}.activity-row{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border:0}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px rgba(124,92,255,.1)}.activity-copy strong,.activity-copy span,.activity-user small{display:block}.activity-copy strong{font-size:12px}.activity-copy span{font-size:10px;color:var(--muted);margin-top:3px}.activity-user{text-align:right;font-size:10px;color:var(--muted)}.activity-user small{margin-top:3px}.page-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:22px}.page-actions h1,h1{font:800 clamp(27px,3vw,38px) 'Manrope';letter-spacing:-1.2px;margin:0 0 6px}.muted{color:var(--muted)}.small{font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:17px;margin-bottom:24px}.stat-card{min-height:126px;padding:20px;border-radius:19px;color:white;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 17px 35px rgba(0,0,0,.2),inset 1px 1px rgba(255,255,255,.2);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:100px;height:100px;right:-35px;bottom:-50px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 22px rgba(255,255,255,.03)}.stat-card span{font-size:12px;font-weight:700;opacity:.85}.stat-card strong{font:800 23px 'Manrope';z-index:1}.purple{background:linear-gradient(145deg,#835fff,#5136c7)}.pink{background:linear-gradient(145deg,#ee6ee4,#a63eae)}.orange{background:linear-gradient(145deg,#ffad5f,#d96e37)}.green{background:linear-gradient(145deg,#2cdaa0,#138664)}.red{background:linear-gradient(145deg,#ff6c7f,#c63c56)}.blue{background:linear-gradient(145deg,#44cbff,#2177c5)}label{display:block;margin-bottom:7px;color:var(--text);font-size:12px;font-weight:700}input,select,textarea{width:100%;padding:12px 13px;margin-bottom:17px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:rgba(124,92,255,.7);box-shadow:0 0 0 4px rgba(124,92,255,.12)}input[readonly]{opacity:.65}.checkbox{display:flex;align-items:center;gap:8px;font-weight:400}.checkbox input{width:auto;margin:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0 20px}.full{grid-column:1/-1}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;align-items:end}.form-card{max-width:900px;margin:0 auto}.alert{display:flex;align-items:center;gap:10px;padding:13px 16px;margin-bottom:17px;border-radius:13px;border:1px solid;font-size:12px;font-weight:700;backdrop-filter:blur(12px)}.alert-success{color:#5eebba;background:rgba(32,217,154,.1);border-color:rgba(32,217,154,.22)}.alert-danger{color:#ff8c9b;background:rgba(255,94,117,.1);border-color:rgba(255,94,117,.22)}.alert-warning{color:#ffb879;background:rgba(255,156,85,.1);border-color:rgba(255,156,85,.22)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:800px}thead{color:var(--muted);border-bottom:1px solid var(--line)}th{font-size:10px;text-transform:uppercase;letter-spacing:1px}th,td{padding:13px;text-align:left}td{font-size:12px}tbody tr{border-bottom:1px solid var(--line);transition:.15s}tbody tr:hover{background:rgba(124,92,255,.045)}.badge{display:inline-block;padding:6px 10px;border-radius:20px;font-size:10px;font-weight:700}.badge-success{color:#62e8bb;background:rgba(32,217,154,.12)}.badge-danger{color:#ff8d9c;background:rgba(255,94,117,.12)}.badge-purple{color:#b7a7ff;background:rgba(124,92,255,.14)}.profit{color:var(--green);font-weight:700}.empty-state{text-align:center;padding:34px;color:var(--muted)}.empty-state span{font-size:35px}.auth-card{max-width:500px;margin:55px auto}.inline-form{display:flex;gap:7px;align-items:center}.inline-form select{min-width:180px;margin:0}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.course-card{padding:22px}.course-icon{font-size:38px}.training-video{width:100%;max-height:620px;background:#000;border-radius:15px}.public-shell{min-height:100vh;display:grid;place-items:center;padding:25px}.public-content{width:100%}.public-shell .auth-card{margin:auto}.public-shell:before{content:"";position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.24),transparent 68%);left:8%;top:8%;z-index:-1}.public-shell:after{content:"";position:fixed;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(57,199,255,.15),transparent 68%);right:5%;bottom:1%;z-index:-1}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 0 8px rgba(32,217,154,.04)}}
@media(max-width:1220px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.health-panel{grid-column:auto}.dashboard-grid>.panel:not(.span-two){grid-column:auto}}
@media(max-width:980px){.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:translateX(0)}.workspace{width:100%;margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 18px}.container{width:calc(100% - 30px)}.hero-panel{padding:30px}.profit-orb{width:180px;height:180px}.orb-core{width:125px;height:125px}.dashboard-grid{grid-template-columns:1fr}.span-two{grid-column:auto}}
@media(max-width:680px){.date-chip,.topbar-title>span:last-child{display:none}.hero-panel{min-height:auto;align-items:flex-start;flex-direction:column}.profit-orb{align-self:center}.kpi-grid{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap}.panel,.card{padding:18px}.chart-legend{display:none}.container{margin-top:20px}.page-actions{align-items:flex-start;flex-direction:column}.topbar-actions{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.split-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.6fr);gap:22px}.inline-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end}.form-grid.spaced{margin-top:22px}.form-grid label{display:flex;flex-direction:column;gap:8px}.form-grid .full{grid-column:1/-1}.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:800}.status.success{background:rgba(40,220,150,.14);color:#39e6a2}.status.warning{background:rgba(255,177,71,.14);color:#ffb147}.button.small{padding:8px 12px;font-size:.78rem}details summary{list-style:none;cursor:pointer;width:max-content}td small{display:block;color:var(--muted);margin-top:4px}@media(max-width:900px){.split-grid,.inline-form{grid-template-columns:1fr}}

/* Navigation and staff management refinements */
.topbar-actions{min-width:0}.topbar-links{display:flex;align-items:center;gap:6px}.topbar-links a{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.topbar-links a:hover{color:var(--text);border-color:rgba(124,92,255,.45)}.top-login-button{padding:9px 16px;box-shadow:0 8px 18px rgba(73,43,196,.25);white-space:nowrap}.public-topbar{height:82px;padding:0 clamp(20px,4vw,54px);display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto 0;z-index:30;background:linear-gradient(180deg,var(--bg),rgba(7,16,32,.78));border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}html[data-theme="light"] .public-topbar{background:rgba(237,242,251,.9)}.public-brand{padding:0}.public-shell{padding-top:105px}.staff-edit-form{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(150px,1fr) auto;gap:8px;align-items:center;min-width:470px}.staff-edit-form select,.staff-edit-form input{margin:0;padding:9px 10px}.sidebar-user{grid-template-columns:38px 1fr}
@media(max-width:1250px){.topbar-links a{font-size:0;padding:9px}.topbar-links a:before{font-size:15px}.topbar-links a:nth-child(1):before{content:"▤"}.topbar-links a:nth-child(2):before{content:"⚖"}.topbar-links a:nth-child(3):before{content:"₦"}}
@media(max-width:760px){.topbar-links{display:none}.top-login-button{padding:9px 12px}.staff-edit-form{grid-template-columns:1fr;min-width:220px}.public-topbar{height:72px}.public-shell{padding-top:92px}}

/* Product image presentation */
.product-thumbnail {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    border: 1px solid var(--border, rgba(148, 163, 184, 0.25));
}

.product-image-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 1.6rem;
    background: rgba(148, 163, 184, 0.12);
    border: 1px dashed rgba(148, 163, 184, 0.45);
}

.product-image-preview {
    display: block;
    width: min(220px, 100%);
    max-height: 220px;
    object-fit: cover;
    border-radius: 14px;
    margin: 0.5rem 0 1rem;
    border: 1px solid var(--border, rgba(148, 163, 184, 0.25));
}

/* Search controls for large product/client lists */
.search-bar { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; }
.search-bar input[type="search"] { flex:1 1 320px; min-width:220px; }
.inline-form { display:flex; gap:.35rem; flex-wrap:wrap; align-items:center; }

/* Client portal e-commerce advert carousel */
.client-advert-zone{overflow:hidden}.advert-slider{position:relative;min-height:390px}.advert-slide{display:none;grid-template-columns:minmax(260px,1.15fr) minmax(240px,.85fr);gap:28px;align-items:center}.advert-slide.is-active{display:grid}.advert-slide img{width:100%;height:360px;object-fit:contain;background:#f8fafc;border-radius:18px}.advert-copy h2{font-size:clamp(1.5rem,3vw,2.4rem);margin:.6rem 0}.advert-price{font-size:clamp(1.6rem,3vw,2.6rem);font-weight:900;margin:16px 0}.advert-controls{display:flex;gap:8px}.advert-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}.advert-dots button{width:11px;height:11px;border:0;border-radius:50%;background:#cbd5e1;padding:0}.advert-dots button.active{background:#2563eb}@media(max-width:700px){.advert-slide.is-active{grid-template-columns:1fr}.advert-slide img{height:280px}.advert-slider{min-height:560px}}

/* ===== 2026 responsive bright 3D application shell ===== */
html[data-theme="light"]{--bg:#f3f7ff;--bg-2:#ffffff;--surface:rgba(255,255,255,.96);--surface-solid:#fff;--surface-2:#f7f9fe;--line:#e3e9f4;--text:#101a3d;--muted:#687493;--shadow:0 12px 30px rgba(40,68,130,.09)}
body{background:linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%);color:var(--text)}
.sidebar{width:252px;background:linear-gradient(180deg,#1430ba 0%,#0755cb 52%,#0640a8 100%)!important;border:0;box-shadow:14px 0 35px rgba(20,48,186,.15);padding:20px 14px;color:#fff;overflow:auto}
.sidebar .brand b,.sidebar .brand small,.sidebar-user strong,.sidebar-user small{color:#fff!important}.sidebar .brand small{opacity:.78}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between}.sidebar-head .brand{flex:1}.sidebar-close{display:none;border:0;background:rgba(255,255,255,.12);color:#fff;width:38px;height:38px;border-radius:12px;font-size:28px;line-height:1;cursor:pointer}.side-nav{display:flex;flex-direction:column;gap:8px}.nav-primary,.nav-group summary,.nav-group-items a{display:flex;align-items:center;gap:12px;width:100%;border-radius:14px;text-decoration:none;font-weight:800}.nav-primary,.nav-group summary{padding:13px 14px;color:#fff}.nav-primary:hover,.nav-primary.active,.nav-group[open]>summary{background:#fff;color:#0958dc;box-shadow:0 8px 22px rgba(0,0,0,.16)}.nav-group{border:0;margin:0}.nav-group summary{cursor:pointer;list-style:none;user-select:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary b{margin-left:auto;transition:transform .2s}.nav-group[open] summary b{transform:rotate(180deg)}.nav-group-items{display:flex;flex-direction:column;gap:4px;padding:7px 0 3px 14px}.nav-group-items a{padding:10px 12px;color:#dce8ff;font-size:13px}.nav-group-items a:hover,.nav-group-items a.active{background:rgba(255,255,255,.16);color:#fff}.sidebar-user{margin-top:auto;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.16)}
.workspace{margin-left:252px;width:calc(100% - 252px);background:transparent}.topbar{height:76px;background:rgba(255,255,255,.94);border-bottom:1px solid #e5eaf4;backdrop-filter:blur(15px);padding:0 clamp(14px,2vw,28px);box-shadow:0 4px 18px rgba(38,61,110,.05)}.topbar-title{color:#34415f}.topbar-actions{gap:8px}.role-badge{white-space:nowrap}.date-chip{background:#fff!important;border:1px solid #e2e8f3!important;color:#273554!important;box-shadow:0 4px 12px rgba(38,61,110,.06)}.icon-button{background:#fff!important;color:#253454!important;border:1px solid #e2e8f3!important}.container{width:min(1480px,calc(100% - 38px));padding-bottom:40px}
.panel,.card,.form-card,.course-card{background:#fff!important;color:#15213e!important;border:1px solid #e5eaf4!important;box-shadow:0 9px 26px rgba(40,65,120,.08)!important}.panel h1,.panel h2,.card h1,.card h2,.form-card h1,.form-card h2{color:#111c3e}.muted{color:#687493!important}.button{border:0;border-radius:13px;min-height:42px;font-weight:800;box-shadow:0 7px 16px rgba(7,86,233,.18)}
.stats-grid{gap:16px}.stat-card{min-height:142px;border-radius:20px;padding:20px 20px 28px;box-shadow:0 16px 28px rgba(34,66,135,.17),inset 0 2px 0 rgba(255,255,255,.28);transform:translateZ(0)}.stat-card strong{font-size:clamp(20px,2vw,28px);text-shadow:0 2px 2px rgba(0,0,0,.12)}.stat-card:before{content:"";position:absolute;left:18px;right:18px;bottom:13px;height:34px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12));clip-path:polygon(0 100%,0 78%,10% 78%,10% 58%,20% 58%,20% 70%,30% 70%,30% 44%,40% 44%,40% 62%,50% 62%,50% 30%,60% 30%,60% 52%,70% 52%,70% 18%,80% 18%,80% 38%,90% 38%,90% 8%,100% 8%,100% 100%)}.stat-card:after{bottom:-38px;right:-28px;width:118px;height:94px;border:2px solid rgba(255,255,255,.25);box-shadow:0 -9px 0 rgba(255,255,255,.04),0 -18px 0 rgba(255,255,255,.025)}
.purple{background:linear-gradient(145deg,#a24cf0,#6422cf)!important}.pink{background:linear-gradient(145deg,#f35fca,#a93eb3)!important}.orange{background:linear-gradient(145deg,#ffbd23,#ff8200)!important}.green{background:linear-gradient(145deg,#18cf8b,#029c5a)!important}.red{background:linear-gradient(145deg,#ff6c7f,#c63c56)!important}.blue{background:linear-gradient(145deg,#2b94ff,#0758e9)!important}
input,select,textarea{background:#fff;color:#17213e;border:1px solid #dfe6f1;min-height:44px}.table-wrapper{border-radius:15px;-webkit-overflow-scrolling:touch}table{background:#fff;color:#1d2948}thead{background:#eef4ff;color:#19366d}tbody tr:hover{background:#f7faff}td,th{color:inherit}
/* Menus / overlays stay hidden until their trigger opens them */
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(9,20,50,.48);backdrop-filter:blur(2px);z-index:49}.dropdown-menu,.popover-menu,.floating-menu,.maintenance-menu,.version-menu,[data-popover-panel]{display:none!important}.dropdown-menu.open,.popover-menu.open,.floating-menu.open,.maintenance-menu.open,.version-menu.open,[data-popover-panel].open{display:block!important}
@media(max-width:980px){.sidebar{transform:translateX(-110%);transition:transform .23s ease;width:min(86vw,320px);z-index:80}.sidebar.open{transform:translateX(0)}.sidebar.open~.workspace{}.sidebar-backdrop.open{display:block;z-index:79}.sidebar-close{display:grid;place-items:center}.workspace{width:100%;margin-left:0}.topbar{height:66px;position:sticky;top:0;z-index:40}.container{width:calc(100% - 24px);margin-top:16px}.mobile-menu{display:grid!important}.topbar-title>span:last-child{display:none}.role-badge{display:none}.sidebar-user{margin-top:20px}}
@media(max-width:680px){.container{width:calc(100% - 18px)}.page-actions{gap:10px;margin-bottom:14px}.page-actions h1,h1{font-size:clamp(24px,8vw,31px)}.panel,.card,.form-card,.course-card{padding:15px!important;border-radius:16px!important}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:118px;padding:14px 12px 20px;border-radius:16px}.stat-card span{font-size:10px}.stat-card strong{font-size:clamp(16px,5vw,22px);overflow-wrap:anywhere}.form-grid,.filter-grid{grid-template-columns:1fr!important;gap:0}.button,.button-secondary{width:auto;max-width:100%;white-space:normal;text-align:center}.page-actions>.button,.page-actions>div{width:100%}.page-actions>div{display:flex;flex-wrap:wrap;gap:8px}.inline-form,.search-bar{display:grid!important;grid-template-columns:1fr!important;width:100%}.inline-form>*{width:100%!important;min-width:0!important}.table-wrapper{margin-left:-5px;margin-right:-5px;padding-bottom:5px}table{min-width:680px}th,td{padding:11px 10px}.public-topbar{padding:0 12px}.public-topbar .brand b{font-size:17px}.public-topbar .brand small{display:none}.public-topbar .button{font-size:11px;padding:9px 10px}.auth-card{margin:20px auto}.topbar-actions .top-login-button{padding:8px 11px;font-size:11px}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr}.stat-card{min-height:110px}.topbar-actions .date-chip{display:none}}

/* ===== Selected Purple 3D ERP Theme ===== */
.sidebar{background:linear-gradient(180deg,#35106f 0%,#251052 56%,#18143f 100%)!important;box-shadow:14px 0 34px rgba(54,23,112,.22)!important}.nav-primary:hover,.nav-primary.active,.nav-group[open]>summary{background:linear-gradient(135deg,#a43cff,#7024eb)!important;color:#fff!important;box-shadow:0 10px 24px rgba(125,44,235,.34)!important}.nav-group-items a:hover,.nav-group-items a.active{background:rgba(159,69,255,.3)!important}.brand-cube{background:linear-gradient(145deg,#b45cff,#6b22e8)!important;box-shadow:0 9px 20px rgba(115,38,230,.38),inset 0 2px 2px rgba(255,255,255,.5)!important}.button{background:linear-gradient(145deg,#963cf3,#6821df)!important;box-shadow:0 8px 18px rgba(105,34,223,.24)!important}.topbar{border-bottom-color:#eee8fa}.role-badge{background:#f0e6ff!important;color:#6e22df!important}.stat-card{border-radius:22px!important;box-shadow:0 18px 28px rgba(44,38,93,.17),inset 0 2px 0 rgba(255,255,255,.38)!important}.panel,.card,.form-card,.course-card{box-shadow:0 10px 28px rgba(57,35,105,.09)!important}

/* Compact click-to-open management panels */
.collapsible-panel{padding:0!important;overflow:hidden}
.collapsible-panel-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:0;background:transparent;color:var(--text,#131a3a);padding:1.15rem 1.35rem;text-align:left;font:inherit;font-weight:850;font-size:1.18rem;cursor:pointer}
.collapsible-panel-trigger:hover{background:rgba(124,58,237,.055)}
.collapsible-panel-trigger b{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#9b4dff,#6d28d9);color:#fff;font-size:1.35rem;line-height:1;box-shadow:0 8px 18px rgba(109,40,217,.22)}
.collapsible-panel-trigger[aria-expanded="true"]{border-bottom:1px solid rgba(90,76,140,.12)}
.collapsible-panel-body{padding:1.1rem 1.35rem 1.35rem}
.collapsible-panel-body[hidden]{display:none!important}
@media (max-width:700px){.collapsible-panel-trigger{padding:.95rem 1rem;font-size:1.04rem}.collapsible-panel-body{padding:.9rem 1rem 1rem}.collapsible-panel-trigger b{width:32px;height:32px;flex-basis:32px}}

/* === Dipower Neon Mobile UI — reference-inspired, original implementation === */
:root{--neon-bg:#10131f;--neon-panel:#181c2b;--neon-panel2:#202538;--neon-text:#f7f8ff;--neon-muted:#9aa3bd;--neon-pink:#ff477e;--neon-purple:#a64dff;--neon-blue:#4c7dff;--neon-cyan:#26d9e8;--neon-green:#3ed598;--neon-orange:#ff9f43}
html[data-theme="light"],html[data-theme="dark"]{background:var(--neon-bg)}
body{background:radial-gradient(circle at 80% 5%,rgba(166,77,255,.14),transparent 28%),radial-gradient(circle at 10% 90%,rgba(38,217,232,.08),transparent 30%),var(--neon-bg);color:var(--neon-text)}
.ambient{display:none!important}.workspace,.container,.public-shell{background:transparent!important}.app-shell{background:transparent!important}
.sidebar{background:linear-gradient(180deg,#171a29 0%,#10131f 100%)!important;border-right:1px solid rgba(255,255,255,.06);box-shadow:18px 0 50px rgba(0,0,0,.22)}
.brand b,.sidebar-user strong,.side-nav summary,.side-nav a{color:#eef1ff!important}.brand small,.sidebar-user small{color:#8f99b4!important}.brand-cube{background:linear-gradient(145deg,var(--neon-pink),var(--neon-purple))!important;box-shadow:0 10px 28px rgba(255,71,126,.3),inset 0 1px rgba(255,255,255,.5)!important}
.side-nav a,.side-nav summary{border-radius:14px!important}.side-nav a:hover,.side-nav summary:hover,.side-nav .active{background:linear-gradient(90deg,rgba(255,71,126,.18),rgba(166,77,255,.12))!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--neon-pink)}
.nav-group-items{border-left:1px solid rgba(255,255,255,.08)!important}.sidebar-user{background:#1c2133!important;border:1px solid rgba(255,255,255,.08)!important}
.topbar{background:rgba(16,19,31,.88)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;backdrop-filter:blur(18px)}.topbar-title,.date-chip{color:#c8cee0!important}.date-chip,.icon-button{background:#1b2031!important;border-color:rgba(255,255,255,.08)!important;color:#fff!important}.top-login-button,.button{background:linear-gradient(135deg,var(--neon-pink),var(--neon-purple))!important;border:0!important;color:white!important;box-shadow:0 9px 24px rgba(166,77,255,.22)}
.card,.panel,.stat-card,.metric-card,.table-card,.form-card,.section-card,.content-card,.compact-panel,.client-card,.finance-card{background:linear-gradient(145deg,#1d2234,#171b2a)!important;border:1px solid rgba(255,255,255,.07)!important;color:var(--neon-text)!important;box-shadow:0 18px 45px rgba(0,0,0,.25)!important}
h1,h2,h3,h4,h5,h6,strong,label,.card-title{color:#f8f9ff!important}p,.muted,.text-muted,small{color:var(--neon-muted)}
input,select,textarea{background:#121624!important;border:1px solid #30364c!important;color:#fff!important;box-shadow:inset 0 2px 8px rgba(0,0,0,.22)}input:focus,select:focus,textarea:focus{border-color:var(--neon-pink)!important;box-shadow:0 0 0 3px rgba(255,71,126,.13)!important}input::placeholder,textarea::placeholder{color:#707a96!important}
table{color:#e9ecf7!important}th{background:#202538!important;color:#aeb7cf!important}td{border-color:rgba(255,255,255,.06)!important}tr:hover td{background:rgba(255,255,255,.025)}
.alert{background:#202538!important;border-color:rgba(255,255,255,.08)!important;color:#fff!important}.badge{box-shadow:none!important}
/* raised 3D KPI tiles */
.stat-card,.metric-card{position:relative;overflow:hidden;transform:translateZ(0);border-radius:20px!important}.stat-card:after,.metric-card:after{content:"";position:absolute;right:-18px;bottom:-30px;width:105px;height:105px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(166,77,255,.15) 45%,transparent 68%);filter:blur(.2px)}
.stat-card:nth-child(4n+1),.metric-card:nth-child(4n+1){background:linear-gradient(145deg,#1b4f9e,#17284e)!important;box-shadow:0 14px 30px rgba(76,125,255,.18)!important}.stat-card:nth-child(4n+2),.metric-card:nth-child(4n+2){background:linear-gradient(145deg,#17664f,#183b35)!important}.stat-card:nth-child(4n+3),.metric-card:nth-child(4n+3){background:linear-gradient(145deg,#6c2d9f,#311d56)!important}.stat-card:nth-child(4n),.metric-card:nth-child(4n){background:linear-gradient(145deg,#9a4a28,#49281f)!important}
.stat-card .value,.metric-card .value,.stat-value,.metric-value{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.22)}
/* compact sections: only reveal contents after click */
details.compact-panel>summary,details.section-card>summary{background:#1b2031!important;color:#fff!important;border-color:rgba(255,255,255,.07)!important}details[open]>summary{background:linear-gradient(90deg,rgba(255,71,126,.14),rgba(166,77,255,.1))!important}
/* mobile app feel */
@media(max-width:820px){body{padding-bottom:74px}.topbar{min-height:62px}.topbar-title span:not(.live-dot),.date-chip,.role-badge,.top-login-button{display:none!important}.container{padding:16px!important}.sidebar{width:min(86vw,320px)!important}.mobile-menu{display:inline-flex!important}.grid,.stats-grid,.metric-grid,.dashboard-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}.card,.panel,.stat-card,.metric-card{border-radius:18px!important}.stat-card,.metric-card{min-height:128px!important;padding:16px!important}.button,button,input,select,textarea{min-height:46px}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}h1{font-size:1.75rem!important}h2{font-size:1.3rem!important}}
@media(max-width:480px){.grid,.stats-grid,.metric-grid,.dashboard-grid{grid-template-columns:1fr!important}.stat-card,.metric-card{min-height:116px!important}}
.client-shell,.client-page,.client-main{background:transparent!important}.client-sidebar{background:linear-gradient(180deg,#171a29,#10131f)!important}.client-nav a{color:#dce1f0!important}.client-nav a.active,.client-nav a:hover{background:linear-gradient(90deg,var(--neon-pink),var(--neon-purple))!important;color:#fff!important}.client-bottom-nav{background:rgba(18,22,36,.96)!important;border-color:rgba(255,255,255,.08)!important}.client-bottom-nav a{color:#aeb6cc!important}.client-bottom-nav a.active{color:#ff5b8b!important}

/* === Contrast & multicolour audit — 2026-08-31 === */
:root{--neon-text:#ffffff;--neon-muted:#c5cce0}
body,.workspace,.container{color:#f7f9ff!important}
.container h1,.container h2,.container h3,.container h4,.container h5,.container h6,
.container label,.container legend,.container strong,.container b,.container summary,
.page-actions h1,.page-actions h2{color:#ffffff!important;text-shadow:0 1px 2px rgba(0,0,0,.22)}
.container p,.container small,.container .muted,.container .text-muted,.container td small{color:#cbd2e5!important}
.container a:not(.button):not(.badge){color:#dfe5ff}

/* Every KPI family gets a sharp colour identity rather than white cards. */
.kpi-card,.stat-card,.metric-card{border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22)!important}
.kpi-card:nth-child(4n+1),.stat-card:nth-child(4n+1),.metric-card:nth-child(4n+1){background:linear-gradient(145deg,#2878ff 0%,#1645bd 58%,#102b75 100%)!important}
.kpi-card:nth-child(4n+2),.stat-card:nth-child(4n+2),.metric-card:nth-child(4n+2){background:linear-gradient(145deg,#20c982 0%,#078954 58%,#07583b 100%)!important}
.kpi-card:nth-child(4n+3),.stat-card:nth-child(4n+3),.metric-card:nth-child(4n+3){background:linear-gradient(145deg,#a94df5 0%,#7024d8 58%,#42138c 100%)!important}
.kpi-card:nth-child(4n),.stat-card:nth-child(4n),.metric-card:nth-child(4n){background:linear-gradient(145deg,#ffb11b 0%,#f17616 58%,#a9400c 100%)!important}
.kpi-card span,.kpi-card small,.kpi-card strong,.stat-card span,.stat-card small,.stat-card strong,.metric-card span,.metric-card small,.metric-card strong{color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.25)!important}
.kpi-card strong,.stat-card strong,.metric-card strong{font-weight:800!important;letter-spacing:-.02em}
.kpi-icon{background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:inset 2px 2px 5px rgba(255,255,255,.2),0 8px 16px rgba(0,0,0,.18)!important}

/* Dark content panels: guaranteed readable typography. */
.panel,.card,.form-card,.section-card,.content-card,.compact-panel,.table-card,.finance-card,.course-card{color:#f8f9ff!important}
.panel h1,.panel h2,.panel h3,.card h1,.card h2,.card h3,.form-card h1,.form-card h2,.form-card h3,
.compact-panel summary,.section-card summary{color:#fff!important}
details.compact-panel>summary,details.section-card>summary{font-weight:800!important;font-size:clamp(16px,1.5vw,21px)!important;background:linear-gradient(145deg,#242a40,#1b2032)!important;border:1px solid rgba(255,255,255,.12)!important}
details.compact-panel>summary *,details.section-card>summary *{color:#fff!important}

/* Tables and form text must never disappear into their background. */
table,tbody,td{color:#eef2ff!important}th{color:#fff!important;background:#292f46!important}td{background:#181d2c!important}tbody tr:nth-child(even) td{background:#1d2334!important}tbody tr:hover td{background:#262d43!important}
input,select,textarea{color:#fff!important;background:#121624!important;border-color:#3b435e!important}option{background:#151a29;color:#fff}label{color:#f3f5ff!important}

/* Ensure generic white/light dashboard tiles are eliminated. */
.kpi-violet,.kpi-blue,.kpi-green,.kpi-orange{color:#fff!important}

/* Mobile spacing/readability. */
@media(max-width:820px){.container{width:calc(100% - 20px)!important;margin:16px auto 90px!important;padding:0!important}.page-actions{gap:12px!important}.kpi-grid,.stats-grid,.metric-grid{gap:10px!important}.kpi-card,.stat-card,.metric-card{min-height:120px!important;padding:15px!important}.kpi-card strong,.stat-card strong,.metric-card strong{font-size:clamp(18px,6vw,25px)!important}.panel,.card,.form-card,.section-card,.content-card,.compact-panel{padding:16px!important}}

/* === SELECTED ROYAL INDIGO MULTICOLOUR SIDEBAR === */
.sidebar{
  background:linear-gradient(180deg,#10142f 0%,#111733 48%,#0c1028 100%)!important;
  border-right:1px solid rgba(132,112,255,.22)!important;
  box-shadow:18px 0 48px rgba(3,5,20,.42)!important;
}
.sidebar .brand b,.sidebar .brand small,.sidebar-user strong,.sidebar-user small{color:#fff!important}
.sidebar .brand small,.sidebar-user small{opacity:.78!important}
.brand-cube{background:linear-gradient(145deg,#8e6cff,#5a3bd8)!important;box-shadow:0 10px 26px rgba(112,79,235,.42),inset 0 2px 2px rgba(255,255,255,.42)!important}
.side-nav{gap:7px!important}
.side-nav>.nav-primary,.side-nav>.nav-group>summary,.side-nav>.nav-group>.nav-group-items>a{
  color:#fff!important;border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 5px 12px rgba(0,0,0,.16)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
/* Dashboard - purple */
.side-nav>.nav-primary{background:linear-gradient(135deg,#6650c9,#49369f)!important}
.side-nav>.nav-primary:hover,.side-nav>.nav-primary.active{background:linear-gradient(135deg,#7c61ed,#563fc0)!important;color:#fff!important;transform:translateY(-1px)}
/* Sales & Stock - blue */
.side-nav>.nav-group:nth-of-type(1)>summary{background:linear-gradient(135deg,#4e6fbd,#3e559b)!important}
/* Finance - cyan/steel blue */
.side-nav>.nav-group:nth-of-type(2)>summary{background:linear-gradient(135deg,#5797b3,#477e9c)!important}
/* Organisation - green */
.side-nav>.nav-group:nth-of-type(3)>summary{background:linear-gradient(135deg,#62965f,#4f7d54)!important}
.side-nav>.nav-group>summary:hover,.side-nav>.nav-group[open]>summary{filter:brightness(1.12)!important;color:#fff!important;transform:translateY(-1px)}
/* Organisation children: exact selected palette */
.side-nav>.nav-group:nth-of-type(3) .nav-group-items a:nth-child(1){background:linear-gradient(135deg,#c6a72f,#9f8624)!important} /* Credit Clients */
.side-nav>.nav-group:nth-of-type(3) .nav-group-items a:nth-child(2){background:linear-gradient(135deg,#d87831,#ad5925)!important} /* Staff */
.side-nav>.nav-group:nth-of-type(3) .nav-group-items a:nth-child(3){background:linear-gradient(135deg,#c4496a,#9d3957)!important} /* Training */
.side-nav>.nav-group:nth-of-type(3) .nav-group-items a:nth-child(4){background:linear-gradient(135deg,#5c4b83,#41375f)!important} /* Security/Settings */
.nav-group-items{padding:7px 0 3px 8px!important;border-left:0!important;gap:6px!important}
.nav-group-items a{color:#fff!important;border-radius:11px!important;padding:10px 12px!important}
.nav-group-items a:hover,.nav-group-items a.active{filter:brightness(1.15)!important;color:#fff!important;box-shadow:0 6px 15px rgba(0,0,0,.2)!important}
.sidebar-user{background:linear-gradient(135deg,#242a52,#151a38)!important;border:1px solid rgba(126,111,229,.3)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 24px rgba(0,0,0,.2)!important}
.sidebar-user .avatar{background:linear-gradient(145deg,#6b78cf,#4d57a6)!important;color:#fff!important}
@media(max-width:980px){.sidebar{background:linear-gradient(180deg,#10142f 0%,#111733 48%,#0c1028 100%)!important}}

/* ===== RELEASE: GLOBAL HIGH-CONTRAST READABILITY =====
   Final cascade layer: every dark workspace surface uses light foreground text.
   Kept intentionally at end of stylesheet so older page-specific themes cannot
   reintroduce navy/black text on dark cards. */
:root{
  --readable-title:#ffffff;
  --readable-text:#f1f4ff;
  --readable-muted:#c5cee4;
  --readable-link:#b9c9ff;
  --readable-border:rgba(255,255,255,.14);
}
body:not(.auth-page){color:var(--readable-text)!important}
.workspace,.workspace .container,.workspace main,.workspace section{color:var(--readable-text)}
.workspace h1,.workspace h2,.workspace h3,.workspace h4,.workspace h5,.workspace h6,
.workspace .card h1,.workspace .card h2,.workspace .card h3,
.workspace .panel h1,.workspace .panel h2,.workspace .panel h3,
.workspace .collapsible-panel-trigger,
.workspace details>summary,
.workspace details>summary *,
.workspace label,.workspace legend{color:var(--readable-title)!important}
.workspace p,.workspace .muted,.workspace .text-muted,.workspace small,
.workspace .card p,.workspace .panel p{color:var(--readable-muted)!important}
.workspace a:not(.button):not(.badge):not(.nav-primary){color:var(--readable-link)!important}

/* Collapsed management rows: this was the source of invisible navy labels. */
.collapsible-panel-trigger{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.45)!important;
}
.collapsible-panel-trigger span,.collapsible-panel-trigger strong,
.collapsible-panel-trigger em,.collapsible-panel-trigger i{color:#fff!important}
.collapsible-panel{border-color:var(--readable-border)!important}

/* Forms */
.workspace input,.workspace select,.workspace textarea,
.client-main input,.client-main select,.client-main textarea{
  background:#111727!important;color:#fff!important;border-color:#46506d!important;
}
.workspace input::placeholder,.workspace textarea::placeholder,
.client-main input::placeholder,.client-main textarea::placeholder{color:#9ca8c3!important;opacity:1!important}
.workspace option,.client-main option{background:#141a2b!important;color:#fff!important}

/* Tables */
.workspace table,.workspace tbody,.workspace td,.workspace th,
.client-main table,.client-main tbody,.client-main td,.client-main th{color:#f4f6ff!important}
.workspace th,.client-main th{background:#293149!important;color:#fff!important}
.workspace td,.client-main td{background:#181e2f!important;border-color:rgba(255,255,255,.08)!important}
.workspace tbody tr:nth-child(even) td,.client-main tbody tr:nth-child(even) td{background:#1d2437!important}
.workspace tbody tr:hover td,.client-main tbody tr:hover td{background:#283149!important}

/* Client portal has its own embedded stylesheet, so explicitly protect it. */
.client-shell,.client-main,.client-tab{color:#f3f6ff!important}
.client-main h1,.client-main h2,.client-main h3,.client-main h4,.client-main h5,.client-main h6,
.client-main label,.client-main legend,.client-main strong,.client-main b{color:#fff!important}
.client-main p,.client-main small,.client-main .muted,.client-main .text-muted{color:#c8d0e4!important}
.client-main .client-top h1{color:#fff!important}
.client-main .mobile-row{background:#191f31!important;border-color:rgba(255,255,255,.12)!important}
.client-main .mobile-row .row-title{color:#fff!important}
.client-main .mobile-row .row-meta{color:#c4cde2!important}
.client-main .bank-panel{background:linear-gradient(145deg,#143a30,#102b25)!important;border-color:#2b8a6a!important;color:#f1fff8!important}
.client-main .bank-panel *,.client-main .bank-number{color:#f1fff8!important}

/* Keep coloured financial/KPI cards vivid with white typography. */
.stat-card,.metric-card,.kpi-card,.client-card{color:#fff!important}
.stat-card *,.metric-card *,.kpi-card *,.client-card span,.client-card strong,.client-card small{color:#fff!important}

/* Make badges readable regardless of inherited dark theme rules. */
.badge-success{color:#dfffee!important}.badge-warning{color:#fff4cf!important}.badge-danger{color:#ffe5ea!important}

@media(max-width:820px){
  .workspace h1,.client-main h1{line-height:1.15!important}
  .collapsible-panel-trigger{font-size:1rem!important;padding:1rem!important}
}
