:root{--brand:#6658e8;--brand-2:#8b5cf6;--ink:#172033;--muted:#697386;--line:#e8eaf0;--surface:#fff;--bg:#f6f7fb;--sidebar:#151a2d;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--shadow:0 10px 30px rgba(28,39,60,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:var(--sidebar);color:#d6dbeb;z-index:1040;display:flex;flex-direction:column;transition:.25s}.brand{height:68px;display:flex;align-items:center;gap:12px;padding:0 22px;color:#fff;text-decoration:none;font-size:18px;font-weight:800}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#a78bfa);box-shadow:0 8px 22px rgba(102,88,232,.35)}.nav-search{margin:4px 14px 12px;position:relative}.nav-search i{position:absolute;left:13px;top:12px;color:#838ca8}.nav-search input{width:100%;border:1px solid #303750;background:#20263a;color:#fff;border-radius:10px;padding:10px 12px 10px 36px;outline:0}.side-nav{overflow:auto;padding:4px 10px 28px}.side-label{padding:16px 13px 7px;color:#7f89a5;text-transform:uppercase;font-size:10px;letter-spacing:1.4px;font-weight:700}.side-link{display:flex;align-items:center;gap:12px;color:#bdc5d9;text-decoration:none;padding:10px 13px;border-radius:9px;margin:2px 0}.side-link i{width:18px;text-align:center}.side-link:hover,.side-link.active{color:#fff;background:rgba(124,105,255,.18)}.main{margin-left:258px;min-height:100vh}.topbar{height:68px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:1020}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;color:#5c6477}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#dcd7ff,#b9adff);color:#4435b3;display:grid;place-items:center;font-weight:800}.page{padding:25px 28px 90px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title{font-size:25px;font-weight:800;margin:0 0 4px}.subtitle{color:var(--muted);margin:0}.card{border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--shadow);background:var(--surface)}.card-header{background:transparent!important;border-bottom:1px solid var(--line)!important;padding:17px 19px!important;font-weight:700}.card-body{padding:19px!important}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi{position:relative;overflow:hidden;padding:18px}.kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#efedff;color:var(--brand);font-size:18px}.kpi-label{color:var(--muted);margin:15px 0 4px;font-weight:600}.kpi-value{font-size:25px;font-weight:800}.trend{font-size:12px;margin-top:7px;color:var(--success)}.table{--bs-table-bg:transparent}.table>:not(caption)>*>*{padding:.82rem .7rem;border-bottom-color:var(--line);vertical-align:middle}.table thead th{color:#717b8e;font-size:11px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;border-top:0}.badge-soft{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-weight:700;font-size:11px}.badge-new{color:#2563eb;background:#dbeafe}.badge-hot{color:#c2410c;background:#ffedd5}.badge-success{color:#15803d;background:#dcfce7}.badge-danger{color:#b91c1c;background:#fee2e2}.btn{border-radius:10px!important;font-weight:700;font-size:13px}.btn-primary{background:var(--brand)!important;border-color:var(--brand)!important}.form-control,.form-select{border-color:#dfe2ea;border-radius:10px;padding:.68rem .8rem;font-size:14px}.form-control:focus,.form-select:focus{border-color:#9d92f8;box-shadow:0 0 0 .2rem rgba(102,88,232,.12)}.form-label{font-weight:700;font-size:12px;color:#4f586a}.filterbar{padding:14px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty i{display:block;font-size:36px;color:#bcc3d1;margin-bottom:12px}.quick-actions{position:fixed;right:25px;bottom:25px;z-index:1025}.quick-actions .dropdown-toggle{width:52px;height:52px;border-radius:16px!important;box-shadow:0 12px 30px rgba(102,88,232,.35);font-size:20px}.toast-container{z-index:1085}.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:16px}.kanban-column{min-width:285px;max-width:285px;background:#eef0f5;border-radius:14px;padding:12px}.kanban-head{display:flex;justify-content:space-between;padding:3px 3px 12px;font-weight:800}.kanban-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;box-shadow:0 5px 15px rgba(20,30,55,.05);cursor:grab}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.auth-visual{background:linear-gradient(145deg,#181c35 0%,#4037a6 60%,#7c6df5 100%);padding:60px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.auth-visual:after{content:"";position:absolute;width:430px;height:430px;border:80px solid rgba(255,255,255,.06);border-radius:50%;right:-170px;bottom:-180px}.auth-copy{max-width:560px;position:relative;z-index:2}.auth-copy h1{font-size:48px;font-weight:850;line-height:1.08;margin:20px 0}.auth-points{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:35px}.auth-point{padding:16px;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(255,255,255,.08)}.auth-form-wrap{display:grid;place-items:center;padding:40px}.auth-form{width:min(420px,100%)}.auth-form h2{font-size:30px;font-weight:850}.mobile-toggle{display:none}.chart-wrap{height:310px}.metric-line{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.main{margin-left:0}.mobile-toggle{display:grid}.page{padding:18px 15px 80px}.topbar{padding:0 15px}.auth-page{display:block}.auth-visual{display:none}.auth-form-wrap{min-height:100vh;padding:25px}.page-head{align-items:stretch;flex-direction:column}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.filterbar>*{width:100%}.page-title{font-size:22px}.top-user-copy{display:none}}
