:root{--primary:#16a34a;--primary-dark:#0f7f3a;--ink-green:#123c30;--sidebar-active:#16a34a}
*{font-family:'Cairo','Segoe UI',Tahoma,sans-serif}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:#f4f6f5;color:#16211d;letter-spacing:-.01em}
h1,h2,h3,h4,h5,h6,.fw-bold,strong{font-weight:700}
.sidebar{position:fixed;right:0;top:0;bottom:0;width:258px;background:#fff;color:#16211d;z-index:10;display:flex;flex-direction:column;border-left:1px solid #eef1ef}
.brand{font-size:1.12rem;font-weight:800;padding:1.5rem 1.4rem;display:flex;align-items:center;gap:.7rem}
.brand-badge{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--primary),var(--ink-green));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.05rem;box-shadow:0 4px 14px #16a34a4d}
.sidebar nav{padding:.5rem 1rem}
.nav-label{color:#98a29c;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1rem 1rem .4rem}
.sidebar nav a{display:flex;align-items:center;gap:.7rem;color:#5c675f;text-decoration:none;padding:.7rem 1rem;border-radius:.7rem;margin:.2rem 0;font-size:.92rem;font-weight:600;transition:background .15s,color .15s}
.sidebar nav a i{font-size:1.05rem;width:1.2rem;text-align:center;opacity:.85}
.sidebar nav a:hover{background:#16a34a12;color:#123c30}
.sidebar nav a.active{background:var(--sidebar-active);color:#fff;box-shadow:0 6px 16px #16a34a4d}
.sidebar nav a.active i{opacity:1}
.main{margin-right:258px;min-height:100vh}
.topbar{height:68px;background:#fff;border-bottom:1px solid #eef1ef;display:flex;align-items:center;gap:1rem;padding:0 1.5rem;position:sticky;top:0;z-index:5}
.topbar-search{flex:1;max-width:420px;position:relative}
.topbar-search i{position:absolute;top:50%;right:.9rem;transform:translateY(-50%);color:#98a29c}
.topbar-search input{width:100%;border:1px solid #eef1ef;background:#f6f8f7;border-radius:.7rem;padding:.55rem 2.2rem .55rem .9rem;font-size:.88rem}
.topbar-search input:focus{outline:none;border-color:#16a34a55;background:#fff}
.user-chip{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.92rem}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--ink-green));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}
.page-head h1{font-size:1.4rem;margin-bottom:.2rem}
.page-head p{color:#7d867f;margin:0;font-size:.9rem}
.kpi{border:0;border-radius:1.1rem;box-shadow:0 3px 14px #1720330d;color:inherit;transition:transform .15s,box-shadow .15s}
.kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px #17203317}
.kpi-solid{background:linear-gradient(135deg,var(--ink-green),#0a2820);color:#fff}
.kpi-solid .text-muted{color:#bcd9cc!important}
.kpi-solid .kpi-delta{color:#8fe4b3}
.kpi-icon{width:44px;height:44px;border-radius:.8rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.kpi-icon-white{background:#ffffff1a;color:#fff}
.kpi-icon-blue{background:#2a78d61f;color:#2a78d6}
.kpi-icon-orange{background:#eb68341f;color:#c8551f}
.kpi-icon-aqua{background:#1baf7a1f;color:#178f65}
.kpi-icon-yellow{background:#eda1001f;color:#a97300}
.kpi-icon-magenta{background:#e87ba41f;color:#c8508a}
.kpi-icon-critical{background:#d03b3b1f;color:#d03b3b}
.kpi-delta{font-size:.78rem;font-weight:700;color:#178f65}
.kpi-delta.down{color:#d03b3b}
.card{border:1px solid #eef1ef;border-radius:1.1rem;box-shadow:0 2px 10px #1720330a}
.card-header{border-radius:1.1rem 1.1rem 0 0!important;border-bottom:1px solid #eef1ef;font-size:.98rem;background:#fff!important}
.btn{border-radius:.65rem;font-weight:600}
.btn-primary{--bs-btn-bg:#16a34a;--bs-btn-border-color:#16a34a;--bs-btn-hover-bg:#0f7f3a;--bs-btn-hover-border-color:#0f7f3a;--bs-btn-active-bg:#0f7f3a;--bs-btn-active-border-color:#0f7f3a;--bs-btn-focus-shadow-rgb:22,163,74;box-shadow:0 3px 10px #16a34a33}
.btn-outline-primary{--bs-btn-color:#16a34a;--bs-btn-border-color:#cdeada;--bs-btn-hover-bg:#16a34a;--bs-btn-hover-border-color:#16a34a}
.btn-outline-danger{--bs-btn-border-color:#f1b5b5}
.text-primary{color:#16a34a!important}
.form-control,.form-select{border-radius:.6rem;border-color:#dde3de}
.form-control:focus,.form-select:focus{border-color:#8fd4ac;box-shadow:0 0 0 .25rem #16a34a1f}
.table th{white-space:nowrap;background:#f8faf9;color:#5c675f;font-size:.85rem;font-weight:700;border-bottom-width:1px}
.table td{vertical-align:middle;font-size:.92rem}
.empty{text-align:center;color:#98a29c;padding:2.5rem!important}
.auth-main{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 20% 20%,#eaf7ef,#f4f6f5 60%)}
.login-card{width:min(440px,100%);border-radius:1.25rem;box-shadow:0 20px 60px #1720331a!important}
.menu-toggle{display:none}
@media(max-width:800px){.sidebar{transform:translateX(100%);transition:.2s}.sidebar.open{transform:none}.main{margin-right:0}.menu-toggle{display:block}.topbar-search{display:none}}
@media print{.sidebar,.topbar,form,.btn{display:none!important}.main{margin:0}.container-fluid{padding:0!important}.card{border:0}}
