@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#111c3a;--ink:#18233d;--muted:#78839b;--line:#e8edf5;--surface:#f5f7fb;--primary:#5b5ce2;--teal:#19b89a;--shadow:0 12px 35px rgba(26,42,79,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--surface);font-family:'DM Sans',sans-serif;color:var(--ink)}h1,h2,h3,h4,.brand{font-family:Manrope,sans-serif;letter-spacing:-.035em}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:var(--navy);padding:25px 16px;color:white;z-index:100;display:flex;flex-direction:column}.brand{font-size:19px;font-weight:800;padding:8px 12px 28px;display:flex;gap:10px;align-items:center}.brand-mark{height:35px;width:35px;border-radius:12px;background:linear-gradient(135deg,#8585ff,#5655db);display:grid;place-items:center;color:white;font-weight:800}.nav-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8d9ab8;padding:13px 13px 8px}.side-link{display:flex;align-items:center;gap:12px;color:#aeb8d1;padding:11px 13px;margin:2px 0;border-radius:10px;text-decoration:none;font-size:13px;font-weight:600}.side-link:hover,.side-link.active{background:#252f54;color:white}.side-link.active{box-shadow:inset 3px 0 #8585ff}.side-link .ico{width:18px;text-align:center;font-size:16px}.side-bottom{margin-top:auto;border-top:1px solid #2c3657;padding:16px 8px 0;font-size:12px;color:#aeb8d1}.main{margin-left:255px;min-height:100vh}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:50}.crumb{font-size:12px;color:var(--muted)}.top-title{font-size:17px;font-weight:800;margin-top:3px}.user-pill{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:13px;background:#e9eaff;color:#5757cf;display:grid;place-items:center;font-weight:800}.content{padding:30px 34px;max-width:1600px;margin:auto}.eyebrow{font-size:11px;color:var(--primary);text-transform:uppercase;letter-spacing:.15em;font-weight:800}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.page-head h1{font-size:28px;font-weight:800;margin:6px 0}.subtext{color:var(--muted);font-size:13px}.btn{border-radius:10px;font-weight:700;font-size:12px;padding:10px 15px}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:#4848c7;border-color:#4848c7}.stat-card,.panel{background:white;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.stat-card{padding:20px;min-height:145px;position:relative;overflow:hidden}.stat-label{font-size:12px;color:var(--muted);font-weight:600}.stat-value{font-family:Manrope,sans-serif;font-size:30px;font-weight:800;margin:10px 0 5px}.stat-foot{font-size:11px;color:#8a95aa}.stat-icon{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#f0f0ff;color:var(--primary);font-size:18px}.panel{padding:22px;margin-bottom:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.panel-head h3{font-size:16px;font-weight:800;margin:0}.table{font-size:12px;vertical-align:middle}.table thead th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8994aa;background:#f8f9fc;border-bottom:1px solid var(--line);padding:13px 14px;white-space:nowrap}.table tbody td{padding:14px;border-color:#eff2f7}.table> :not(caption)>*>*{background-color:transparent}.table-wrap{overflow-x:auto}.badge-soft{border-radius:7px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-block}.status-green{background:#e4f8f1;color:#16886c}.status-yellow{background:#fff4d9;color:#a56a08}.status-red{background:#ffebed;color:#c34556}.status-blue{background:#e9edff;color:#4f57ca}.status-gray{background:#eef1f6;color:#69758b}.form-label{font-size:12px;font-weight:700;color:#485570;margin-bottom:7px}.form-control,.form-select{font-size:13px;border-color:#e0e6f0;border-radius:9px;padding:10px 12px;min-height:42px}.form-control:focus,.form-select:focus{border-color:#9292f5;box-shadow:0 0 0 .2rem #5b5ce21c}.form-section{font-size:13px;font-weight:800;margin:10px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}.empty{padding:38px 12px;text-align:center;color:var(--muted);font-size:13px}.search-input{max-width:270px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:white}.login-hero{background:radial-gradient(circle at 20% 20%,#434a9e,transparent 36%),linear-gradient(145deg,#111b39,#202b59);padding:9%;color:white;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-hero:after{content:'';position:absolute;width:480px;height:480px;border:1px solid #ffffff1b;border-radius:50%;right:-160px;bottom:-140px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff05}.login-hero h1{font-size:clamp(34px,4vw,56px);font-weight:800;line-height:1.08;max-width:560px}.login-hero p{color:#bdc8e6;max-width:430px;line-height:1.8}.login-form-side{display:grid;place-items:center;padding:30px}.login-box{width:min(420px,100%)}.login-box h2{font-size:28px;font-weight:800}.alert{font-size:13px;border-radius:10px}.timeline{border-left:2px solid #e6e9f5;margin:5px 0 5px 8px;padding-left:22px}.timeline-item{position:relative;padding:0 0 22px}.timeline-item:before{content:'';position:absolute;left:-29px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:3px solid #e9eaff}.muted{color:var(--muted)}.mobile-menu{display:none}@media(max-width:1000px){.sidebar{width:220px}.main{margin-left:220px}.content{padding:24px 20px}.topbar{padding:0 20px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s;width:255px}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.topbar{height:68px;padding:0 16px}.content{padding:20px 14px}.page-head{flex-direction:column}.mobile-menu{display:inline-flex}.login-page{grid-template-columns:1fr}.login-hero{display:none}.login-form-side{min-height:100vh}.stat-card{min-height:130px}.stat-value{font-size:25px}}
