:root{--ink:#172033;--muted:#64748b;--brand:#4f46e5;--brand-dark:#3730a3;--cyan:#06b6d4;--emerald:#10b981;--pink:#ec4899;--orange:#f59e0b;--violet:#8b5cf6;--bg:#f4f6ff;--line:#e4e7f2;--shadow:0 12px 32px rgba(51,65,85,.09)}
*{scrollbar-width:thin;scrollbar-color:#818cf8 transparent}body{color:var(--ink)}.bg-app{background:radial-gradient(circle at 92% 3%,rgba(34,211,238,.13),transparent 24rem),radial-gradient(circle at 15% 95%,rgba(168,85,247,.10),transparent 26rem),var(--bg)}
.sidebar{width:270px;position:fixed;inset:0 auto 0 0;z-index:1025;color:#e0e7ff;overflow-y:auto;background:linear-gradient(165deg,#18144f 0%,#312e81 48%,#4338ca 100%);box-shadow:14px 0 40px rgba(49,46,129,.18)}.sidebar::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 5%,rgba(34,211,238,.25),transparent 16rem)}.sidebar .brand{position:relative;color:#fff;font-size:1.34rem;font-weight:850;letter-spacing:-.03em}.brand-mark{display:inline-grid;width:38px;height:38px;margin-right:.55rem;place-items:center;border-radius:12px;background:linear-gradient(135deg,#22d3ee,#34d399);box-shadow:0 8px 20px rgba(34,211,238,.3)}
.sidebar a{position:relative;display:flex;align-items:center;gap:.7rem;margin:.16rem .45rem;padding:.72rem .82rem;border:1px solid transparent;border-radius:.7rem;color:#c7d2fe;text-decoration:none;transition:.18s ease}.sidebar a::before{content:'◆';color:#67e8f9;font-size:.55rem}.sidebar a:hover{color:#fff;transform:translateX(3px);background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.08)}.sidebar a.active{color:#1e1b4b;font-weight:750;background:linear-gradient(100deg,#fff,#e0f2fe);box-shadow:0 10px 26px rgba(15,23,42,.24)}.sidebar a.active::before{color:var(--pink)}
.main{min-height:100vh;margin-left:270px}.topbar{position:sticky;top:0;z-index:1015;padding:.9rem 1.5rem;border-bottom:1px solid rgba(226,232,240,.8);background:rgba(255,255,255,.88);backdrop-filter:blur(14px);box-shadow:0 4px 18px rgba(51,65,85,.05)}.topbar strong{font-size:1.05rem}.topbar a{color:var(--brand);font-weight:700;text-decoration:none}.content{padding:1.55rem}
.card{overflow:hidden;border:1px solid rgba(226,232,240,.9);border-radius:1rem;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.card-header{padding:.95rem 1.15rem;border-bottom-color:#eef0f8;background:linear-gradient(90deg,#fafaff,#f0f9ff)}
.metric{position:relative;isolation:isolate;min-height:126px;border:0;color:#fff;box-shadow:0 14px 30px rgba(79,70,229,.16)}.metric::after{content:'';position:absolute;z-index:-1;width:100px;height:100px;right:-28px;top:-34px;border:18px solid rgba(255,255,255,.14);border-radius:50%}.metric small{color:rgba(255,255,255,.82);font-weight:700;letter-spacing:.02em}.metric strong{margin-top:.35rem;color:#fff;font-size:1.65rem;letter-spacing:-.035em}.row>.col:nth-child(6n+1) .metric{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.row>.col:nth-child(6n+2) .metric{background:linear-gradient(135deg,#0891b2,#06b6d4)}.row>.col:nth-child(6n+3) .metric{background:linear-gradient(135deg,#059669,#34d399)}.row>.col:nth-child(6n+4) .metric{background:linear-gradient(135deg,#db2777,#f472b6)}.row>.col:nth-child(6n+5) .metric{background:linear-gradient(135deg,#ea580c,#fbbf24)}.row>.col:nth-child(6n+6) .metric{background:linear-gradient(135deg,#2563eb,#60a5fa)}
.btn{border-radius:.7rem;font-weight:700;transition:.18s ease}.btn-primary{border-color:transparent;background:linear-gradient(135deg,var(--brand),#7c3aed);box-shadow:0 8px 18px rgba(79,70,229,.22)}.btn-primary:hover,.btn-primary:focus{border-color:transparent;background:linear-gradient(135deg,var(--brand-dark),#6d28d9);transform:translateY(-1px)}.btn-outline-secondary{border-color:#c7d2fe;color:#4338ca}.btn-outline-danger{border-color:#fbcfe8;color:#db2777}
.form-control,.form-select{min-height:42px;border-color:#dfe3f2;border-radius:.7rem;background-color:#fcfcff}.form-control:focus,.form-select:focus{border-color:#818cf8;box-shadow:0 0 0 .22rem rgba(99,102,241,.13)}.table{--bs-table-bg:transparent}.table thead th{padding:.78rem;border-bottom:0;color:#475569;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;background:linear-gradient(90deg,#eef2ff,#ecfeff)}.table tbody td{padding:.78rem;border-color:#edf0f7;vertical-align:middle}.table tbody tr:hover{background:#f8f7ff}.badge{padding:.5em .72em;border-radius:999px}.alert{border:0;border-radius:.85rem;box-shadow:0 8px 22px rgba(51,65,85,.08)}.alert-success{color:#065f46;background:#d1fae5}.alert-danger{color:#9f1239;background:#ffe4e6}
.auth{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at 15% 15%,rgba(34,211,238,.6),transparent 25rem),radial-gradient(circle at 85% 80%,rgba(236,72,153,.42),transparent 27rem),linear-gradient(145deg,#1e1b4b,#4338ca 55%,#0e7490)}.auth-card{position:relative;width:min(440px,94vw);overflow:visible;border:1px solid rgba(255,255,255,.42);border-radius:1.35rem;background:rgba(255,255,255,.96);box-shadow:0 26px 80px rgba(15,23,42,.34)}.auth-card::before{content:'';position:absolute;width:86%;height:7px;left:7%;top:-3px;border-radius:99px;background:linear-gradient(90deg,#22d3ee,#8b5cf6,#ec4899,#f59e0b)}.auth-card h2{color:#312e81}.auth-card>a{display:block;color:#4f46e5;font-weight:700;text-decoration:none}
.navbar.bg-dark{background:linear-gradient(100deg,#1e1b4b,#4338ca,#0891b2)!important;box-shadow:0 8px 24px rgba(49,46,129,.2)}.pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:1.15rem}#searchResults .list-group-item,#results .list-group-item{border-color:#e0e7ff}#searchResults .list-group-item:hover,#results .list-group-item:hover{color:#312e81;background:#eef2ff}.print-only{display:none}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:transform .22s ease}.sidebar.show{transform:none}.main{margin-left:0}.pos-grid{grid-template-columns:1fr}.content{padding:1rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar,.no-print{display:none!important}.main{margin:0}.content{padding:0}.print-only{display:block}.card{border:0;box-shadow:none}}