:root{--primary:#5b5ce2;--primary-dark:#4849c7;--ink:#172033;--muted:#718096;--line:#e8ecf3;--surface:#fff;--canvas:#f6f7fb}
*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);font-family:Inter,'Segoe UI',Roboto,Arial,sans-serif;font-size:.92rem}
.sidebar{width:256px;min-height:100vh;background:linear-gradient(180deg,#171a2e 0%,#20233d 100%);color:#c9cce2;flex-shrink:0;box-shadow:8px 0 30px rgba(25,27,55,.08)}
.sidebar-brand{padding:25px 22px;color:#fff;font-weight:750;font-size:1.25rem;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-brand i{color:#8b8cff;margin-right:7px}.sidebar-brand small{display:block;font-weight:400;font-size:.68rem;color:#8e93b0;letter-spacing:.08em;margin:4px 0 0 29px;text-transform:uppercase}
.sidebar .nav-section{padding:23px 22px 7px;font-size:.63rem;color:#747995;letter-spacing:.14em;font-weight:700}.sidebar .nav-link{color:#b9bdd3;padding:10px 16px;margin:2px 12px;font-size:.88rem;border-radius:9px;transition:.18s ease}.sidebar .nav-link i{width:25px;display:inline-block}.sidebar .nav-link:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(2px)}.sidebar .nav-link.active{background:linear-gradient(135deg,#5b5ce2,#7576ee);color:#fff;box-shadow:0 8px 20px rgba(91,92,226,.28)}
.main-content{min-width:0}.topbar{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:17px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.container-fluid{max-width:1500px}
.card,.app-card{border:1px solid rgba(226,231,240,.85);box-shadow:0 5px 20px rgba(34,44,76,.055);border-radius:16px;background:var(--surface)}.card.p-3,.card.p-4{box-shadow:0 5px 20px rgba(34,44,76,.055)}
.stat-card{border-radius:16px;padding:22px;color:#fff;box-shadow:0 10px 24px rgba(30,40,80,.12)}.page-heading h2{font-size:1.65rem;font-weight:750;letter-spacing:-.025em}.eyebrow{font-size:.68rem;letter-spacing:.13em;color:var(--primary);font-weight:800}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:22px}.section-title h5{margin:0;font-weight:700}.section-title small{color:var(--muted)}.step-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eeeeff;color:var(--primary);font-weight:800}
.form-label{font-size:.78rem;font-weight:700;color:#4c566d;margin-bottom:7px}.form-control,.form-select{border-color:#dfe4ed;border-radius:9px;padding:.62rem .75rem;box-shadow:none}.form-control:focus,.form-select:focus{border-color:#8c8df0;box-shadow:0 0 0 3px rgba(91,92,226,.12)}
.btn{border-radius:9px;font-weight:650}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-soft-primary{background:#eeeeff;color:var(--primary);border:1px solid #ddddff}.btn-soft-primary:hover{background:var(--primary);color:#fff}
.table{--bs-table-bg:transparent}.table thead th{background:#f8f9fc;color:#69738a;text-transform:uppercase;font-size:.67rem;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:13px 15px}.table tbody td{padding:13px 15px;border-color:#edf0f5;vertical-align:middle}.table-hover tbody tr:hover{background:#fafaff}.table-modern{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.total-preview{height:100%;min-height:66px;background:linear-gradient(135deg,#252849,#333763);border-radius:12px;color:#cdd0e8;padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.total-preview strong{font-size:1.35rem;color:#fff}.badge{border-radius:7px;padding:.42em .65em}.badge-stage{font-size:.72rem}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#252849,#5b5ce2)}.login-card{width:390px;border-radius:18px}.sticky-summary{position:sticky;top:90px}
@media(max-width:900px){.sidebar{width:78px}.sidebar-brand{font-size:0;text-align:center;padding:24px 8px}.sidebar-brand i{font-size:1.4rem;margin:0}.sidebar-brand small,.sidebar .nav-section{display:none}.sidebar .nav-link{font-size:0;text-align:center;padding:12px;margin:4px 10px}.sidebar .nav-link i{font-size:1.15rem;width:auto}.container-fluid.p-4{padding:18px!important}}
