:root{--kingdom-navy:#0F2547;--kingdom-navy-800:#15305C;--kingdom-navy-700:#1C3E73;--kingdom-navy-600:#2A548E;--kingdom-blue:#2E6BD6;--kingdom-blue-hover:#1F53B3;--kingdom-blue-soft:#E8F0FB;--kingdom-blue-border:#BFD4F2;--primary:#2E6BD6;--primary-hover:#1F53B3;--primary-light:#E8F0FB;--primary-border:#BFD4F2;--text-heading:#0F2547;--text-body:#2F3A4F;--text-muted:#5F6B80;--text-light:#8A95A8;--bg-body:#FBFAF7;--bg-card:#FFFFFF;--bg-panel:#F5F2EC;--bg-sidebar:#FFFFFF;--border-color:#EAE5DB;--border-subtle:#D7D0C2;--shadow-sm:0 1px 2px rgba(15,37,71,0.06),0 1px 1px rgba(15,37,71,0.04);--shadow-md:0 4px 10px rgba(15,37,71,0.07),0 2px 4px rgba(15,37,71,0.04);--shadow-lg:0 10px 24px rgba(15,37,71,0.10),0 4px 8px rgba(15,37,71,0.05);--shadow-xl:0 24px 48px rgba(15,37,71,0.16),0 8px 16px rgba(15,37,71,0.06);--success:#2F9E6B;--success-soft:#E6F5EE;--warning:#D8962A;--warning-soft:#FBF2DF;--danger:#C5472E;--danger-soft:#F8E5DF;--stat-blue-bg:#E8F0FB;--stat-blue-icon:#D0E1F7;--stat-blue-color:#2E6BD6;--stat-green-bg:#E6F5EE;--stat-green-icon:#C8EBDB;--stat-green-color:#2F9E6B;--stat-amber-bg:#FBF2DF;--stat-amber-icon:#F6E4BD;--stat-amber-color:#D8962A;--stat-purple-bg:#F3EEFF;--stat-purple-icon:#E4D9F8;--stat-purple-color:#8B5CF6;--stat-red-bg:#F8E5DF;--stat-red-icon:#F0CCC3;--stat-red-color:#C5472E;--stat-cyan-bg:#E4F7FA;--stat-cyan-icon:#C4EDF3;--stat-cyan-color:#0E8FA0;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-spring:cubic-bezier(.2,.9,.3,1.2);--dur-fast:140ms;--dur-base:220ms;--dur-slow:400ms;--sidebar-width:260px;--topbar-height:60px;--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-serif:'Playfair Display',Georgia,'Times New Roman',serif;--font-mono:'Courier New',ui-monospace,'SF Mono',Consolas,monospace;--bs-primary:#2E6BD6;--bs-primary-rgb:46,107,214;--bs-body-bg:#FBFAF7;--bs-body-color:#2F3A4F;--bs-border-color:#EAE5DB;--bs-border-radius:10px;--bs-border-radius-sm:6px;--bs-border-radius-lg:16px;--bs-border-radius-xl:20px;--bs-border-radius-pill:9999px;--bs-card-border-radius:20px;--bs-card-border-color:#EAE5DB;--bs-btn-border-radius:9999px;--bs-btn-border-radius-sm:9999px;--bs-btn-border-radius-lg:9999px;--bs-link-color:#2E6BD6;--bs-link-hover-color:#1F53B3;--bs-success:#2F9E6B;--bs-success-rgb:47,158,107;--bs-warning:#D8962A;--bs-warning-rgb:216,150,42;--bs-danger:#C5472E;--bs-danger-rgb:197,71,46}[data-bs-theme=dark]{--text-heading:#F3F6FC;--text-body:#C8D1E0;--text-muted:#8A95A8;--text-light:#5F6B80;--bg-body:#0A1833;--bg-card:#0F2547;--bg-panel:#15305C;--bg-sidebar:#0F2547;--border-color:rgba(255,255,255,0.08);--border-subtle:rgba(255,255,255,0.12);--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.3);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.3);--bs-body-bg:#0A1833;--bs-body-color:#C8D1E0;--bs-tertiary-bg:#0F2547;--bs-secondary-bg:#15305C;--bs-card-bg:#0F2547;--bs-border-color:rgba(255,255,255,0.08);color-scheme:dark;--stat-blue-bg:#1E3A5F;--stat-blue-icon:#1E40AF;--stat-green-bg:#14532D;--stat-green-icon:#166534;--stat-amber-bg:#451A03;--stat-amber-icon:#78350F;--stat-purple-bg:#3B0764;--stat-purple-icon:#581C87;--stat-red-bg:#450A0A;--stat-red-icon:#7F1D1D;--stat-cyan-bg:#083344;--stat-cyan-icon:#164E63}body{font-family:var(--font-sans);color:var(--text-body);background-color:var(--bg-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;color:var(--text-heading)}::selection{background:var(--kingdom-blue-soft);color:var(--text-heading)}.h-serif,.serif{font-family:var(--font-serif);font-weight:600}.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-card);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card__icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__icon svg{width:24px;height:24px}.stat-card__content{flex:1;min-width:0}.stat-card__number{font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--text-heading)}.stat-card__label{font-size:.875rem;color:var(--text-muted);margin-top:.125rem}.stat-card--blue{background:var(--stat-blue-bg);border-color:var(--primary-border)}.stat-card--blue .stat-card__icon{background:var(--stat-blue-icon);color:var(--stat-blue-color)}.stat-card--blue .stat-card__number{color:var(--stat-blue-color)}.stat-card--green{background:var(--stat-green-bg);border-color:#bbf7d0}.stat-card--green .stat-card__icon{background:var(--stat-green-icon);color:var(--stat-green-color)}.stat-card--green .stat-card__number{color:var(--stat-green-color)}.stat-card--amber{background:var(--stat-amber-bg);border-color:#fde68a}.stat-card--amber .stat-card__icon{background:var(--stat-amber-icon);color:var(--stat-amber-color)}.stat-card--amber .stat-card__number{color:var(--stat-amber-color)}.stat-card--purple{background:var(--stat-purple-bg);border-color:#e9d5ff}.stat-card--purple .stat-card__icon{background:var(--stat-purple-icon);color:var(--stat-purple-color)}.stat-card--purple .stat-card__number{color:var(--stat-purple-color)}.stat-card--red{background:var(--stat-red-bg);border-color:#fecaca}.stat-card--red .stat-card__icon{background:var(--stat-red-icon);color:var(--stat-red-color)}.stat-card--red .stat-card__number{color:var(--stat-red-color)}.stat-card--cyan{background:var(--stat-cyan-bg);border-color:#a5f3fc}.stat-card--cyan .stat-card__icon{background:var(--stat-cyan-icon);color:var(--stat-cyan-color)}.stat-card--cyan .stat-card__number{color:var(--stat-cyan-color)}[data-bs-theme=dark] .stat-card--blue{border-color:#1e40af}[data-bs-theme=dark] .stat-card--green{border-color:#166534}[data-bs-theme=dark] .stat-card--amber{border-color:#78350f}[data-bs-theme=dark] .stat-card--purple{border-color:#581c87}[data-bs-theme=dark] .stat-card--red{border-color:#7f1d1d}[data-bs-theme=dark] .stat-card--cyan{border-color:#164e63}.card-modern{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.card-modern:hover{box-shadow:var(--shadow-md)}[data-bs-theme=dark] .theme-icon-dark{display:none!important}[data-bs-theme=dark] .theme-icon-light{display:inline-block!important}.app-wrapper{min-height:100vh}.app-sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#15305c 0,#0f2547 100%);border-right:none;box-shadow:inset -1px 0 0 rgba(255,255,255,.04);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;flex-shrink:0;z-index:1040;color:#fff}.sidebar-header{padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header .sidebar-brand-logo{filter:brightness(0) invert(1)}.sidebar-brand{font-family:var(--font-sans);font-weight:700;font-size:1.1rem;color:#fff;text-decoration:none}.sidebar-brand:hover{color:rgba(255,255,255,.9)}.sidebar-label{text-transform:uppercase;font-size:.7rem;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.4);padding:1rem 1rem .5rem}.sidebar-nav{flex:1;padding:.25rem .5rem;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:var(--radius-md);color:rgba(255,255,255,.72);text-decoration:none;font-size:.875rem;font-weight:500;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);margin-bottom:2px;position:relative}.sidebar-link:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-link.active{background:rgba(255,255,255,.12);color:#fff;font-weight:600}.sidebar-link.active::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;background:#4e87e3;border-radius:0 2px 2px 0}.sidebar-link.active:hover{background:rgba(255,255,255,.16);color:#fff}.sidebar-link svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.sidebar-link.active svg{opacity:1}[data-bs-theme=dark] .sidebar-link:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:.75rem}.sidebar-user{padding:.5rem .75rem;margin-bottom:.25rem}.sidebar-user-name{font-weight:600;font-size:.875rem;color:#fff}.sidebar-user-role{font-size:.75rem;color:rgba(255,255,255,.55);text-transform:capitalize}.sidebar-badge{background:#c44428;color:#fff;font-size:.625rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.app-topbar{height:var(--topbar-height);display:flex;align-items:center;padding:0 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border-color);justify-content:space-between;flex-shrink:0;position:relative;z-index:1030}.app-topbar .page-title{font-size:1.125rem;font-weight:600;color:var(--text-heading);margin:0}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4e87e3,#1f53b3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 4px rgba(0,0,0,.2)}.app-content{overflow-x:hidden;flex:1}@media (max-width:991.98px){.app-sidebar{position:fixed;top:0;left:0;z-index:1050;transform:translateX(-100%);transition:transform .3s ease;height:100vh}.app-sidebar.show{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,37,71,.6);backdrop-filter:blur(4px);z-index:1045}.sidebar-backdrop.show{display:block}}@media (min-width:992px){.sidebar-backdrop{display:none!important}.sidebar-close-btn{display:none!important}}