/* Admin panel */
*{box-sizing:border-box;margin:0;padding:0;font-family:'Segoe UI',system-ui,sans-serif}
body{background:#f2f5fb;color:#1e293b;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* Login */
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a2a6c,#2a5298,#3a7bd5)}
.login-card{background:#fff;padding:38px 32px;border-radius:20px;width:min(400px,92vw);box-shadow:0 30px 60px -20px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:14px}
.login-logo{height:48px;object-fit:contain;margin:0 auto 6px}
.login-card h1{font-size:22px;text-align:center;color:#1a2a6c}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#475569}
.login-card input{padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px}
.login-card button{margin-top:6px;padding:13px;background:linear-gradient(135deg,#1a2a6c,#2a5298);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;font-size:15px}
.login-card .muted{text-align:center;color:#64748b;font-size:12px}
.err{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:8px;font-size:13px}

/* Layout */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;background:linear-gradient(180deg,#0b1633,#1a2a6c);color:#e2e8f0;padding:24px 16px;display:flex;flex-direction:column;gap:6px}
.sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px}
.sidebar .brand img{height:38px;background:#fff;padding:4px;border-radius:8px}
.sidebar .brand span{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px}
.sidebar nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.sidebar nav a{padding:11px 14px;border-radius:10px;font-size:14px;color:#cbd5e1;transition:background .15s}
.sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar nav a.active{background:rgba(59,130,246,.25);color:#fff}
.sidebar nav a.logout{margin-top:auto;color:#fca5a5}

.content{margin-left:240px;padding:32px 40px;min-height:100vh}
.content h1{font-size:26px;margin-bottom:6px;color:#0b1633}
.content h2{margin:26px 0 12px;font-size:18px;color:#334155}
.content .subtitle{color:#64748b;margin-bottom:20px}
.flash{background:#dcfce7;color:#166534;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-weight:500}

/* Cards */
.card{background:#fff;padding:22px;border-radius:16px;box-shadow:0 10px 30px -20px rgba(15,23,42,.25);margin-bottom:20px}
.card h3{font-size:16px;color:#1a2a6c;margin-bottom:14px}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}
.stat-card{background:#fff;padding:20px;border-radius:16px;box-shadow:0 10px 30px -20px rgba(15,23,42,.25);text-align:center;transition:transform .2s}
.stat-card:hover{transform:translateY(-4px)}
.stat-card .ic{font-size:26px}
.stat-card .n{font-size:32px;font-weight:800;color:#1a2a6c;margin:6px 0}
.stat-card .l{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.1em}

.grid-2{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:22px;align-items:start}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}.sidebar{position:relative;width:100%;flex-direction:row;flex-wrap:wrap}.content{margin-left:0;padding:20px}}

/* Forms */
.form{display:flex;flex-direction:column;gap:12px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#475569}
.form input,.form textarea,.form select{padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px;font-family:inherit;background:#fff}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.btn{display:inline-block;padding:10px 18px;background:#e2e8f0;color:#1e293b;border:none;border-radius:10px;font-weight:600;cursor:pointer;font-size:14px;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,#1a2a6c,#2a5298);color:#fff}
.btn.ghost{background:transparent;border:1px solid #cbd5e1}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}

/* Table */
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:10px 8px;text-align:left;border-bottom:1px solid #e5eaf3;vertical-align:top}
.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.row-actions{white-space:nowrap;text-align:right}
.row-actions a,.row-actions .linkbtn{margin-left:6px;color:#475569;background:transparent;border:none;cursor:pointer;font-size:16px}
.row-actions a:hover,.row-actions .linkbtn:hover{color:#1a2a6c}

/* Icons */
.sidebar nav a i{width:18px;text-align:center;margin-right:4px}
.btn i,.linkbtn i,.stat-card .ic i,h1 i,h3 i{color:inherit}
h1 i,h3 i{color:#3a7bd5;margin-right:6px}
.flash i{color:#166534;margin-right:4px}

/* Hints */
.hint{font-size:12.5px;color:#64748b;margin-top:-4px}
.hint a{color:#2a5298;text-decoration:underline}
.muted{color:#94a3b8}

/* Badges */
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.badge-new{background:#dbeafe;color:#1d4ed8}
.badge-mid{background:#fef3c7;color:#92400e}
.badge-ok{background:#dcfce7;color:#166534}

/* Settings page: stack of cards */
form > .card{margin-bottom:18px}
.card h3{display:flex;align-items:center;gap:8px}
