:root{--dark:#111827;--muted:#64748b;--line:#dbe5f1;--blue:#0ea5e9;--deep:#475569;--red:#e11d48;--bg:#eaf2fa;--green:#16a34a;--yellow:#f59e0b}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#1f2937}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;background:#111827;color:#d8e1ec}.logo{height:72px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid #253044}.logo span{background:#fff;color:#0369a1;border-radius:10px;padding:8px}.menu a{display:flex;align-items:center;gap:11px;color:#d8e1ec;text-decoration:none;padding:14px 22px;margin:4px 14px;border-radius:7px}.menu a.active,.menu a:hover{background:#293244;color:#fff;font-weight:700}.topbar{height:73px;margin-left:248px;background:#fff;border-bottom:1px solid #d6e0ec;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.hamb{border:1px solid #d6e0ec;border-radius:13px;width:42px;height:42px;display:grid;place-items:center}.top-title{text-align:center;font-weight:700}.top-sub{font-size:13px;color:#52698a;margin-top:5px}.user{font-weight:700;color:#27364a}.main{margin-left:248px;padding:36px 25px}.panel{background:#fff;border:1px solid #d6e0ec;border-radius:13px;padding:20px;margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:12px 0}.card{background:#fff;border:1px solid #d6e0ec;border-radius:13px;padding:15px 18px;display:flex;align-items:center;gap:14px;min-height:73px}.ico{width:43px;height:43px;border-radius:12px;background:#dff2ff;display:grid;place-items:center;color:#0284c7;font-size:21px}.card h3{margin:0;font-size:22px}.card p{margin:4px 0 0;color:#5b6d89;text-transform:uppercase;font-size:12px;font-weight:700}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 150px 150px;gap:10px;background:#fff;border:1px solid #d6e0ec;border-radius:13px;padding:12px;margin:14px 0}input,select,textarea{width:100%;border:1px solid #cfd9e7;border-radius:10px;padding:11px 13px;font-size:14px;background:#fff}label{font-weight:700;font-size:12px;margin:6px 0 6px;display:block}.btn{border:0;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;justify-content:center}.primary{background:#15a7df;color:#fff}.dark{background:#475569;color:#fff}.danger{background:#e11d48;color:#fff}.okbtn{background:#16a34a;color:#fff}.full{width:100%}.table{width:100%;border-collapse:collapse}.table th{background:#f3f6fa;text-align:left;color:#40516b;padding:13px;font-size:14px}.table td{border-top:1px solid #dce5ef;padding:13px;vertical-align:middle}.badge{background:#dff2ff;color:#0076b6;border-radius:14px;padding:7px 11px;font-weight:700;font-size:12px}.badge.red{background:#fee2e2;color:#b91c1c}.badge.green{background:#dcfce7;color:#166534}.badge.yellow{background:#fef3c7;color:#92400e}.actions{display:flex;gap:6px}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:10;align-items:flex-start;justify-content:center;padding-top:26px}.modal.show{display:flex}.modal-box{background:#fff;width:980px;max-width:95vw;border-radius:14px;box-shadow:0 20px 45px rgba(0,0,0,.35);max-height:92vh;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #dce5ef}.modal-body{padding:18px;overflow:auto;max-height:72vh}.modal-foot{padding:12px 18px;border-top:1px solid #dce5ef;text-align:right}.close{background:#e8eef6;border:0;border-radius:9px;font-size:24px;width:36px;height:36px}.tabs{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.tab{background:#edf4ff;color:#173b85;border:1px solid #cfe0ff;border-radius:10px;padding:9px 14px;font-weight:700}.tab.active{background:#075a9c;color:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.install,.login{background:linear-gradient(135deg,#0f243e,#0b87bb);height:100vh;display:grid;place-items:center}.install-card,.login-card{background:white;border-radius:22px;padding:32px;width:390px;box-shadow:0 20px 45px rgba(0,0,0,.25)}.brand{font-size:30px}.alert{padding:11px;border-radius:10px;margin:10px 0}.bad{background:#fee2e2;color:#991b1b}.ok{background:#dcfce7;color:#166534}.zap{background:#22c55e;color:#fff}.small{font-size:12px;color:#64748b}@media(max-width:900px){.sidebar{width:0;overflow:hidden}.topbar,.main{margin-left:0}.cards{grid-template-columns:1fr}.filters,.grid2,.grid3{grid-template-columns:1fr}}
