:root{--u-navy:#071b41;--u-navy-2:#0b285b;--u-green:#18a558;--u-green-2:#0e8f4a;--u-ink:#14213d;--u-muted:#6b7890;--u-bg:#f4f7fb;--u-card:#fff;--u-border:#e5eaf1;--u-shadow:0 10px 30px rgba(18,38,63,.06);--u-radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--u-bg);color:var(--u-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}.app{min-height:100vh}.main{margin-left:274px;width:calc(100% - 274px);min-height:100vh}.sidebar{width:274px;background:linear-gradient(180deg,#06193a 0%,#081f49 55%,#061a3c 100%);color:#fff;padding:18px 13px;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:1100;border-right:1px solid rgba(255,255,255,.06);scrollbar-width:thin}.brand{display:flex;align-items:center;gap:11px;padding:7px 11px 19px;margin-bottom:5px}.brand-mark{background:linear-gradient(135deg,#1dc36b,#0f9650);width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:18px;box-shadow:0 7px 20px rgba(24,165,88,.24)}.brand b{font-size:17px;letter-spacing:1.1px;line-height:1}.brand small{display:block;color:#9eb0cf;font-size:9px;letter-spacing:2.3px;margin-top:5px}.sidebar nav a{display:flex;align-items:center;gap:10px;color:#d6e2f3;text-decoration:none;padding:10px 12px;border-radius:10px;margin:3px 0;font-size:13px;font-weight:550;transition:.16s ease;position:relative}.sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(1px)}.sidebar nav a.active{background:linear-gradient(90deg,rgba(24,165,88,.20),rgba(24,165,88,.07));color:#fff;box-shadow:inset 3px 0 0 var(--u-green)}.nav-title{font-size:9px;letter-spacing:1.8px;color:#6f86aa;margin:21px 10px 7px;font-weight:800}.sidebar .nav-icon{width:20px;text-align:center;font-size:14px;opacity:.9}.sidebar .sidebar-footer{margin:18px 7px 5px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#91a4c4;font-size:10px;line-height:1.5}.topbar{height:72px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--u-border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(16,24,40,.025)}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.mobile-menu-btn{border:0;background:var(--u-navy);color:#fff;border-radius:11px;width:42px;height:42px;font-size:20px;display:none}.search{display:flex;align-items:center;gap:9px;background:#f7f9fc;border:1px solid #e9edf3;border-radius:12px;padding:0 13px;height:42px;width:min(460px,45vw);color:#8190a8}.search input{border:0;outline:0;background:transparent;width:100%;font-size:13px;color:var(--u-ink)}.search input::placeholder{color:#9aa6b8}.top-actions{display:flex;align-items:center;gap:10px}.top-icon{width:40px;height:40px;border:1px solid var(--u-border);border-radius:11px;background:#fff;color:#60708a;display:grid;place-items:center;text-decoration:none}.top-user{display:flex;align-items:center;gap:10px;padding-left:8px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf7f0;color:var(--u-green-2);font-weight:800}.top-user-text{text-align:left}.top-user-text span{display:block;font-weight:800;font-size:12px}.top-user-text small{color:var(--u-muted);font-size:10px}.content{padding:27px 30px 38px;max-width:1700px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:21px}.page-head h1{margin:0;font-size:27px;line-height:1.15;letter-spacing:-.5px;color:#12203a}.page-head p{margin:6px 0 0;color:var(--u-muted);font-size:12px}.page-head .head-actions{display:flex;gap:8px;flex-wrap:wrap}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#fff;border:1px solid var(--u-border);padding:12px;border-radius:14px;margin-bottom:17px;box-shadow:var(--u-shadow)}.filters input,.filters select,.field input,.field select,.field textarea{border:1px solid #dce3ec;border-radius:10px;background:#fff;color:#26354d;outline:none;transition:.15s}.filters input,.filters select{padding:9px 11px;min-height:40px}.filters input:focus,.filters select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#7bc79d;box-shadow:0 0 0 3px rgba(24,165,88,.10)}.btnx,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:var(--u-navy);color:#fff;padding:9px 14px;border-radius:10px;text-decoration:none;cursor:pointer;font-size:12px;font-weight:700;min-height:40px;transition:.15s ease}.btnx:hover,.btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 5px 14px rgba(7,27,65,.13)}.btnx.green,.btn.green{background:var(--u-green);border-color:var(--u-green)}.btnx.light,.btn.light{background:#fff;color:#25344c;border-color:var(--u-border)}.btnx.danger,.btn.danger{background:#b42318}.btnx.warning,.btn.warning{background:#b7791f}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.dm-card{background:var(--u-card);border:1px solid var(--u-border);border-radius:var(--u-radius);padding:18px;box-shadow:var(--u-shadow)}.card:hover{box-shadow:0 14px 34px rgba(18,38,63,.08)}.kpi-label{color:#728098;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:25px;font-weight:850;margin:8px 0 4px;color:#101d35;letter-spacing:-.5px}.kpi-note{font-size:10px;color:var(--u-green-2);font-weight:650}.two{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:14px}.chartbox{height:300px;position:relative}.panel-title{font-weight:800;font-size:14px;margin-bottom:14px;color:#182640}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{background:#f7f9fc;color:#596a84;font-size:10px;text-transform:uppercase;letter-spacing:.45px;font-weight:800}.table th,.table td{padding:11px 12px;border-bottom:1px solid #edf1f5;text-align:left;font-size:12px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table-responsive{overflow:auto;border:1px solid #edf1f5;border-radius:12px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:750;background:#eef3fb;color:#3f5472}.badge-success{background:#e9f8ef;color:#08783d}.badge-danger{background:#fff0ef;color:#b42318}.badge-warning{background:#fff7e8;color:#9a6700}.alerts{padding:0;margin:0;list-style:none}.alerts li{padding:11px 0;border-bottom:1px solid #eef1f5;font-size:12px}.alerts li:last-child{border-bottom:0}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{min-height:145px}.module-card h3{margin:10px 0 5px;font-size:16px}.module-card p{color:var(--u-muted);font-size:12px;line-height:1.55}.form-card{max-width:100%}.field{margin:14px 0}.field label{display:block;font-size:11px;font-weight:800;color:#53627a;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 11px;min-height:42px}.field textarea{min-height:95px}.stat-strip{display:flex;gap:10px;flex-wrap:wrap}.stat{padding:10px 13px;background:#f7f9fc;border:1px solid #edf1f5;border-radius:10px}.modal-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 20px 50px rgba(0,0,0,.18)}.scope-box{padding:9px 12px;border:1px solid #dce5f1;border-radius:10px;background:#f7f9fc;font-weight:750;color:var(--u-navy);display:inline-flex}.mobile-backdrop{display:none}.app-footer{padding:0 30px 25px;color:#8a96a8;font-size:10px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#173a76 0,#071b41 40%,#04142f 100%);position:relative;overflow:hidden}.login:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.06);right:-180px;top:-180px}.login:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(24,165,88,.13);left:-160px;bottom:-160px}.login-box{position:relative;z-index:1;background:rgba(255,255,255,.98);padding:38px;width:min(430px,92%);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.7)}.login-box .brand{padding:0 0 24px}.login-box h1{font-size:28px;margin:0 0 5px}.login-box>p{color:var(--u-muted);font-size:12px;margin:0 0 22px}.login-box .field{margin:13px 0}.login-box .btnx{width:100%;margin-top:6px}.toast-like{border-radius:12px}.empty-state{text-align:center;padding:35px 15px;color:#7c899d}.empty-state strong{display:block;color:#34445d;margin-bottom:4px}.section-label{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#8390a5;margin:22px 0 9px}.dm-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.dm-tabs a{white-space:nowrap}.dm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}.dm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.dm-form input,.dm-form select,.dm-form textarea{width:100%;padding:9px;border:1px solid #dce3ec;border-radius:10px;box-sizing:border-box}.dm-form textarea{min-height:70px}.dm-table th{position:sticky;top:0;z-index:1}.dm-matrix th,.dm-matrix td{text-align:center;white-space:nowrap}.dm-matrix th:first-child,.dm-matrix td:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:2}.dm-warning{background:#fff8ed;border:1px solid #fed7aa;padding:11px;border-radius:11px}.dm-locked{background:#fff1f1;border-color:#fecaca}.dm-small{font-size:11px}
@media(max-width:1200px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{margin-left:245px;width:calc(100% - 245px)}.sidebar{width:245px}.content{padding-left:22px;padding-right:22px}.topbar{padding:0 22px}}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search{width:min(380px,45vw)}.top-user-text{display:none}}
@media(max-width:767.98px){body{font-size:13px}.sidebar{display:block!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(88vw,340px)!important;height:100dvh!important;padding:14px 12px!important;transform:translate3d(-110%,0,0)!important;transition:transform .22s ease!important;box-shadow:12px 0 38px rgba(0,0,0,.24)!important}.sidebar .brand div{display:block!important}.sidebar nav a{font-size:13px!important}.main{margin-left:0!important;width:100%!important}.mobile-menu-btn{display:grid!important;place-items:center}.mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(4,17,40,.55);opacity:0;pointer-events:none;transition:.2s;z-index:1090}.mobile-nav-open .sidebar{transform:translate3d(0,0,0)!important}.mobile-nav-open .mobile-backdrop{opacity:1;pointer-events:auto}.topbar{height:62px;padding:0 11px;gap:8px}.topbar-left{flex:1}.search{height:40px;width:auto;flex:1}.search input{font-size:13px}.top-icon{display:none}.top-user{display:none}.content{padding:15px 12px 35px}.page-head{align-items:flex-start;flex-wrap:wrap}.page-head h1{font-size:21px}.page-head>div:first-child{flex:1 1 100%}.page-head .head-actions{width:100%}.page-head .head-actions .btnx{flex:1}.filters{display:grid;grid-template-columns:1fr;gap:8px;padding:10px}.filters input,.filters select,.filters button,.filters .btnx{width:100%}.grid{grid-template-columns:1fr 1fr;gap:9px}.card,.dm-card{padding:13px;border-radius:13px}.kpi-value{font-size:21px}.two,.module-grid{grid-template-columns:1fr}.chartbox{height:240px}.table-responsive{width:100%}.table{min-width:650px}.table th,.table td{font-size:11px;padding:9px 8px}.dm-form{grid-template-columns:1fr}.dm-grid{grid-template-columns:1fr 1fr}.dm-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.dm-tabs a{flex:0 0 auto}.app-footer{padding:0 12px 80px}.login-box{padding:28px 22px}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--u-border);z-index:1050;box-shadow:0 -6px 20px rgba(15,23,42,.08);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#65738a;text-decoration:none;font-size:9px;font-weight:800}.mobile-bottom-nav a.active{color:var(--u-green)}.mobile-bottom-nav .mi{font-size:18px;line-height:20px}.mobile-bottom-nav .report-action{color:#fff;background:var(--u-green);margin:7px 5px;border-radius:12px}.desktop-only{display:none!important}}
@media(min-width:768px){.mobile-only{display:none!important}}
