/* ============================================================
   Sarv Dharam Sangam — Admin Panel Theme
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    --saffron: #ff8a00;
    --gold: #f6c453;
    --gold-bright: #ffd86b;
    --deep-red: #b00020;
    --maroon: #5c0a14;
    --maroon-dark: #3a060c;
    --cream: #fff7e9;
    --ink: #2a1206;
    --bg: #f4f1ea;
    --sidebar-w: 256px;
    --grad-gold: linear-gradient(135deg, #f6c453, #e0a020);
    --grad-maroon: linear-gradient(160deg, #5c0a14, #3a060c);
    --shadow: 0 6px 24px rgba(58,6,12,0.1);
    --radius: 14px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Poppins',sans-serif; background:var(--bg); color:var(--ink); }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

/* ---- Login ---- */
.login-wrap {
    min-height:100vh; display:grid; place-items:center; padding:20px;
    background: var(--grad-maroon);
    background-image: var(--grad-maroon), url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23f6c453' stroke-opacity='0.08'%3E%3Ccircle cx='40' cy='40' r='30'/%3E%3Ccircle cx='40' cy='40' r='18'/%3E%3C/g%3E%3C/svg%3E");
}
.login-card { width:min(420px,100%); background:#fff; border-radius:20px; padding:40px; box-shadow:0 20px 60px rgba(0,0,0,0.35); border-top:5px solid var(--gold); }
.login-logo { width:70px; height:70px; margin:0 auto 16px; border-radius:50%; background:var(--grad-gold); display:grid; place-items:center; font-size:2rem; color:var(--maroon-dark); box-shadow:0 8px 20px rgba(224,160,32,0.4); }
.login-card h1 { text-align:center; font-family:'Cinzel',serif; color:var(--maroon); font-size:1.4rem; margin-bottom:4px; }
.login-card .sub { text-align:center; color:#8a6a52; font-size:0.85rem; margin-bottom:26px; }

/* ---- Layout ---- */
.admin { display:flex; min-height:100vh; }
.sidebar {
    width:var(--sidebar-w); background:var(--grad-maroon); color:var(--gold-bright);
    position:fixed; inset:0 auto 0 0; display:flex; flex-direction:column; z-index:50;
    transition:transform .3s ease;
}
.sidebar .brand { display:flex; align-items:center; gap:12px; padding:22px 20px; border-bottom:1px solid rgba(246,196,83,0.15); }
.sidebar .brand .logo { width:42px; height:42px; border-radius:50%; background:var(--grad-gold); display:grid; place-items:center; color:var(--maroon-dark); font-size:1.2rem; flex-shrink:0; }
.sidebar .brand .t { font-family:'Cinzel',serif; font-size:0.95rem; line-height:1.1; }
.sidebar .brand .t small { display:block; font-family:'Poppins'; font-size:0.66rem; letter-spacing:1px; opacity:0.7; text-transform:uppercase; }
.nav-menu { flex:1; overflow-y:auto; padding:14px 12px; }
.nav-menu .grp { font-size:0.68rem; text-transform:uppercase; letter-spacing:1.5px; opacity:0.5; margin:16px 12px 8px; }
.nav-menu a { display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:10px; color:#f3dcae; font-size:0.9rem; margin-bottom:3px; transition:all .2s ease; }
.nav-menu a:hover { background:rgba(246,196,83,0.12); color:#fff; }
.nav-menu a.active { background:var(--grad-gold); color:var(--maroon-dark); font-weight:600; }
.nav-menu a .ic { width:22px; text-align:center; }
.nav-menu a .badge { margin-left:auto; background:var(--deep-red); color:#fff; font-size:0.68rem; padding:1px 8px; border-radius:50px; }

.main { margin-left:var(--sidebar-w); flex:1; display:flex; flex-direction:column; min-width:0; }
.topbar { background:#fff; padding:14px 26px; display:flex; align-items:center; justify-content:space-between; box-shadow:0 2px 10px rgba(0,0,0,0.04); position:sticky; top:0; z-index:40; }
.topbar h1 { font-family:'Cinzel',serif; font-size:1.2rem; color:var(--maroon); }
.topbar .user { display:flex; align-items:center; gap:14px; }
.topbar .user .av { width:38px; height:38px; border-radius:50%; background:var(--grad-gold); display:grid; place-items:center; color:var(--maroon-dark); font-weight:600; }
.menu-btn { display:none; background:none; border:none; font-size:1.5rem; color:var(--maroon); cursor:pointer; }
.content { padding:26px; flex:1; }

/* ---- Cards / stats ---- */
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; margin-bottom:26px; }
.stat-card { background:#fff; border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); display:flex; align-items:center; gap:16px; border-left:4px solid var(--gold); transition:transform .25s ease; }
.stat-card:hover { transform:translateY(-4px); }
.stat-card .ic { width:54px; height:54px; border-radius:14px; background:var(--grad-gold); display:grid; place-items:center; font-size:1.5rem; flex-shrink:0; }
.stat-card .num { font-family:'Cinzel',serif; font-size:1.8rem; color:var(--maroon); line-height:1; }
.stat-card .lbl { font-size:0.82rem; color:#8a6a52; }

.panel { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:24px; overflow:hidden; }
.panel-head { padding:18px 22px; border-bottom:1px solid #eee; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.panel-head h2 { font-family:'Cinzel',serif; font-size:1.05rem; color:var(--maroon); }
.panel-body { padding:22px; }

/* ---- Buttons ---- */
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border-radius:10px; border:none; cursor:pointer; font-family:'Poppins'; font-weight:500; font-size:0.88rem; transition:all .2s ease; }
.btn-gold { background:var(--grad-gold); color:var(--maroon-dark); }
.btn-gold:hover { filter:brightness(1.06); transform:translateY(-2px); }
.btn-maroon { background:var(--grad-maroon); color:var(--gold-bright); }
.btn-maroon:hover { filter:brightness(1.1); }
.btn-danger { background:#fde4e4; color:var(--deep-red); }
.btn-danger:hover { background:var(--deep-red); color:#fff; }
.btn-light { background:#f4f1ea; color:var(--maroon); border:1px solid #e3dccb; }
.btn-light:hover { background:#fff; }
.btn-sm { padding:7px 14px; font-size:0.8rem; }
.btn-block { width:100%; justify-content:center; }

/* ---- Tables ---- */
.table-wrap { overflow-x:auto; }
table.tbl { width:100%; border-collapse:collapse; min-width:600px; }
table.tbl th { text-align:left; padding:13px 16px; background:#faf6ee; color:var(--maroon); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.5px; border-bottom:2px solid #eee; }
table.tbl td { padding:13px 16px; border-bottom:1px solid #f0ece2; font-size:0.9rem; vertical-align:middle; }
table.tbl tbody tr:hover { background:#faf6ee; }
.thumb-sm { width:54px; height:38px; border-radius:6px; object-fit:cover; }
.actions { display:flex; gap:6px; flex-wrap:wrap; }

/* ---- Pagination ---- */
.news-pagination { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.news-pagination a, .news-pagination span {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:34px; height:34px; padding:0 10px; border-radius:8px;
    font-size:0.85rem; text-decoration:none; color:var(--maroon);
    background:#faf6ee; border:1px solid #eaddc2;
}
.news-pagination a:hover { background:var(--grad-gold); }
.news-pagination .current { background:var(--maroon); color:#fff; border-color:var(--maroon); }
.content nav svg, .panel-body nav svg { width:18px; height:18px; }

/* ---- Forms ---- */
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group.full { grid-column:1/-1; }
.form-group label { font-size:0.84rem; font-weight:600; color:var(--maroon); }
.form-control { padding:11px 14px; border-radius:10px; border:1.5px solid #e3dccb; background:#fff; font-family:'Poppins'; font-size:0.92rem; color:var(--ink); width:100%; transition:border-color .2s ease; }
.form-control:focus { outline:none; border-color:var(--saffron); box-shadow:0 0 0 3px rgba(255,138,0,0.12); }
textarea.form-control { resize:vertical; min-height:110px; }
.form-check { display:flex; align-items:center; gap:8px; }
.form-check input { width:18px; height:18px; accent-color:var(--saffron); }
.form-error { color:var(--deep-red); font-size:0.78rem; }
.help { font-size:0.78rem; color:#8a6a52; font-weight:400; }

/* ---- Alerts ---- */
.alert { padding:13px 18px; border-radius:10px; margin-bottom:18px; font-size:0.9rem; }
.alert-success { background:#e3f7e8; color:#1b7a3d; border:1px solid #9fd9b0; }
.alert-error { background:#fde4e4; color:var(--deep-red); border:1px solid #f3b0b0; }

/* ---- Status pills ---- */
.pill { display:inline-block; padding:4px 12px; border-radius:50px; font-size:0.74rem; font-weight:600; }
.pill-New { background:#e7f0ff; color:#1559c7; }
.pill-Contacted, .pill-Read { background:#fff3d6; color:#9a6a00; }
.pill-Approved, .pill-Active { background:#e3f7e8; color:#1b7a3d; }
.pill-Rejected, .pill-Inactive { background:#fde4e4; color:var(--deep-red); }

.tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.tabs a { padding:8px 16px; border-radius:50px; background:#fff; border:1px solid #e3dccb; color:var(--maroon); font-size:0.84rem; transition:all .2s ease; }
.tabs a.active, .tabs a:hover { background:var(--grad-gold); color:var(--maroon-dark); border-color:transparent; }

.empty { text-align:center; padding:50px 20px; color:#8a6a52; }
.empty .ic { font-size:3rem; margin-bottom:12px; }

.gallery-admin { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
.gallery-admin .gi { position:relative; border-radius:10px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:1; }
.gallery-admin .gi img { width:100%; height:100%; object-fit:cover; }
.gallery-admin .gi .del { position:absolute; top:6px; right:6px; }

.sidebar-backdrop { display:none; }

@media (max-width:900px) {
    .sidebar { transform:translateX(-100%); }
    .sidebar.open { transform:translateX(0); }
    .main { margin-left:0; }
    .menu-btn { display:block; }
    .sidebar-backdrop.show { display:block; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:45; }
    .form-grid { grid-template-columns:1fr; }
    .content { padding:16px; }
    .topbar { padding:12px 16px; flex-wrap:wrap; gap:10px; }
    .topbar h1 { font-size:1rem; max-width:160px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .topbar .user > div:first-child { display:none; }
    .stat-grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
    .panel-head { flex-direction:column; align-items:flex-start; }
    .panel-body { padding:16px; }
}
@media (max-width:600px) {
    .stat-grid { grid-template-columns:1fr; }
    .login-card { padding:28px 22px; }
    .topbar .user .btn { padding:6px 12px; font-size:0.78rem; }
    table.tbl th, table.tbl td { padding:10px 12px; font-size:0.82rem; }
    .gallery-admin { grid-template-columns:repeat(2, 1fr); }
}
