/* ===== PRAGATI Admin ===== */
:root{--g:#12876f;--gd:#0b5a4a;--gl:#e7f3ef;--saf:#F4A024;--ink:#182a26;--muted:#5c6b67;--line:#e2ece8;--bg:#eef4f2;--danger:#c0392b}
*{box-sizing:border-box}
body{margin:0;font-family:'Poppins','Segoe UI',sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none;color:var(--g)}
.admin-wrap{display:flex;min-height:100vh}
.sidebar{width:250px;background:var(--gd);color:#cfe4dd;flex:0 0 250px;padding:0;position:sticky;top:0;height:100vh;overflow:auto}
.sidebar .logo{display:flex;gap:10px;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar .logo img{width:40px}
.sidebar .logo b{color:#fff;font-size:1.2rem}
.sidebar .logo small{display:block;color:#7fae9f;font-size:.7rem}
.sidebar nav{padding:14px 10px;display:flex;flex-direction:column;gap:2px}
.sidebar nav a{color:#cfe4dd;padding:11px 14px;border-radius:8px;font-size:.93rem;display:flex;gap:10px;align-items:center}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.12);color:#fff}
.sidebar nav .sep{color:#5f8a7c;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:14px 14px 4px}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:14px 26px;display:flex;justify-content:space-between;align-items:center}
.topbar h1{font-size:1.25rem;margin:0}
.topbar .user{font-size:.9rem;color:var(--muted)}
.topbar .user a{margin-left:14px;color:var(--danger);font-weight:600}
.content{padding:26px;flex:1}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.kpi .n{font-size:2rem;font-weight:800;color:var(--gd)}
.kpi .l{color:var(--muted);font-size:.88rem}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:22px}
.panel h2{font-size:1.1rem;margin:0 0 16px}
table.grid{width:100%;border-collapse:collapse;font-size:.9rem}
table.grid th,table.grid td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.grid th{background:var(--gl);color:var(--gd);font-weight:600}
table.grid tr:hover td{background:#fafcfb}
.field{margin-bottom:14px}
.field label{display:block;font-weight:600;font-size:.85rem;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--g)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.btn{display:inline-block;padding:10px 20px;border-radius:8px;border:0;font-weight:600;cursor:pointer;font:inherit}
.btn-primary{background:var(--saf);color:#3a2400}.btn-primary:hover{background:#d97e12;color:#fff}
.btn-green{background:var(--g);color:#fff}.btn-green:hover{background:var(--gd)}
.btn-sm{padding:6px 12px;font-size:.82rem}
.btn-del{background:#fdecea;color:var(--danger)}.btn-del:hover{background:var(--danger);color:#fff}
.thumb{width:54px;height:44px;object-fit:cover;border-radius:6px}
.msg-ok{background:#e6f7ef;border:1px solid #a6e0c3;color:#1d7a4d;padding:11px 15px;border-radius:9px;margin-bottom:14px}
.msg-err{background:#fdecea;border:1px solid #f3b7b0;color:var(--danger);padding:11px 15px;border-radius:9px;margin-bottom:14px}
.badge{padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600}
.badge.on{background:#e6f7ef;color:#1d7a4d}.badge.off{background:#f1f1f1;color:#888}
.badge.new{background:#fff2df;color:#b5710a}
/* login */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(120deg,var(--gd),var(--g))}
.login-box{background:#fff;border-radius:16px;padding:40px;width:380px;max-width:92%;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.login-box .logo{text-align:center;margin-bottom:20px}
.login-box .logo img{width:64px;margin:0 auto 8px}
.login-box h1{font-size:1.4rem;text-align:center;margin:0 0 4px}
.login-box p{text-align:center;color:var(--muted);font-size:.88rem;margin:0 0 22px}
@media(max-width:820px){.sidebar{position:fixed;left:-260px;z-index:60;transition:.3s}.sidebar.open{left:0}.cards{grid-template-columns:repeat(2,1fr)}.row2{grid-template-columns:1fr}.menu-toggle{display:inline-block!important}}
.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--gd);cursor:pointer}
