*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f3f4f6;color:#111827}
.hidden{display:none!important}
.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f172a}
.login-card{width:min(420px,92vw);background:#fff;border-radius:20px;padding:28px;box-shadow:0 20px 70px rgba(0,0,0,.25)}
.login-card h1{margin:0 0 6px}
.muted{color:#667085}
label{display:block;margin-top:14px;font-size:13px;font-weight:700}
input,select{width:100%;padding:11px;border:1px solid #d0d5dd;border-radius:10px;margin-top:6px}
button{border:0;border-radius:10px;background:#2563eb;color:#fff;padding:10px 14px;cursor:pointer;font-weight:700}
button:hover{background:#1d4ed8}
.error{color:#b42318;min-height:20px;font-size:13px}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:235px;background:#111827;color:#fff;padding:18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.sidebar h2{margin-top:0}
.sidebar button{display:block;width:100%;margin:8px 0;background:#1f2937;text-align:left}
.sidebar button:hover{background:#374151}
.sidebar-menu{margin:8px 0;border-radius:12px;background:#1f2937;overflow:hidden}
.sidebar-menu summary{padding:12px 14px;cursor:pointer;font-weight:700;list-style:none}
.sidebar-menu summary::-webkit-details-marker{display:none}
.sidebar-menu summary::after{content:'▾';float:right;transition:transform .2s ease}
.sidebar-menu:not([open]) summary::after{transform:rotate(-90deg)}
.sidebar-menu button{margin:0;padding-left:24px;border-radius:0;background:#172033;font-size:13px}
.user-badge{background:#1f2937;border-radius:12px;padding:12px;margin-bottom:16px;font-size:13px;color:#d1d5db}
.badge{display:inline-block;margin-top:5px;background:#dbeafe;color:#1e40af;border-radius:999px;padding:3px 8px;font-size:12px}
.app-main{margin-left:235px;padding:26px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 28px rgba(15,23,42,.08)}
.card h3{margin:0 0 10px;color:#667085;font-size:14px}
.card strong{font-size:26px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;background:#fff;border-radius:16px;padding:16px;margin-bottom:18px}
.select-search{margin-bottom:6px;background:#f8fafc}
.select-search-results{max-height:220px;overflow:auto;border:1px solid #d0d5dd;border-radius:10px;background:#fff;margin:-2px 0 6px;box-shadow:0 8px 20px rgba(15,23,42,.12)}
.select-search-results button{display:block;width:100%;border:0;border-radius:0;background:#fff;color:#111827;text-align:left;padding:9px 11px}
.select-search-results button:hover{background:#eff6ff;color:#1d4ed8}
.select-search-results span{display:block;padding:9px 11px;color:#667085}
.table-wrap{background:#fff;border-radius:16px;overflow:auto;box-shadow:0 8px 28px rgba(15,23,42,.08)}
table{width:100%;border-collapse:collapse}
th,td{border-bottom:1px solid #eef2f7;padding:12px;text-align:left;font-size:14px}
th{background:#f8fafc;color:#475467}
.actions button,.danger{background:#dc2626}
.actions button:hover,.danger:hover{background:#b91c1c}
.dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}

.chart-card {
  background: #fff;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 8px 28px rgba(15,23,42,.08);
}

.chart-card h3 {
  margin: 0 0 14px;
  color: #344054;
  font-size: 15px;
}

.chart-card canvas {
  width: 100% !important;
  max-height: 320px;
}

@media (max-width: 900px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
}
