@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap');

:root{
  --maroon-dark:#3d0f10;
  --maroon:#5a1a1c;
  --red:#c81e2f;
  --red-dark:#8f0f1c;
  --gold:#f0c674;
  --green:#2e8b3f;
  --gray-bg:#f3f0ea;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Hind Siliguri',sans-serif;background:var(--gray-bg);color:#2b1010;}
a{text-decoration:none;color:inherit;}

.admin-wrap{display:flex;min-height:100vh;}
.admin-sidebar{
  width:230px;background:linear-gradient(180deg,var(--maroon-dark),#26090a);
  color:#fff;padding:20px 0;flex-shrink:0;
}
.admin-sidebar h2{color:var(--gold);text-align:center;font-size:18px;margin:0 0 4px;}
.admin-sidebar .sub{text-align:center;color:#d8b98c;font-size:11px;margin-bottom:24px;}
.admin-nav a{
  display:flex;align-items:center;gap:10px;padding:12px 22px;color:#f0e2cf;font-size:14px;
  border-left:3px solid transparent;
}
.admin-nav a:hover, .admin-nav a.active{background:rgba(240,198,116,.12);border-left-color:var(--gold);color:#fff;}
.admin-nav .logout{margin-top:20px;color:#f3a9a9;}

.admin-main{flex:1;padding:26px 32px;max-width:1100px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.admin-topbar h1{font-size:22px;margin:0;color:var(--maroon-dark);}
.admin-topbar .welcome{font-size:13px;color:#7a5b3a;}

.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:26px;}
.admin-stat-card{
  background:#fff;border-radius:12px;padding:18px;border:1px solid #e6dcc8;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}
.admin-stat-card .num{font-size:26px;font-weight:700;color:var(--maroon-dark);}
.admin-stat-card .lbl{font-size:13px;color:#7a5b3a;}
.admin-stat-card.pending{border-color:var(--gold);background:#fffbef;}

.card-box{background:#fff;border-radius:12px;padding:22px;border:1px solid #e6dcc8;margin-bottom:22px;}
.card-box h3{margin-top:0;color:var(--maroon-dark);}

table.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;}
table.admin-table th, table.admin-table td{padding:10px 8px;border-bottom:1px solid #eee2cd;text-align:left;vertical-align:middle;}
table.admin-table th{color:#7a5b3a;font-size:12px;text-transform:uppercase;}
table.admin-table tr:hover{background:#fbf6ea;}

.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;}
.badge.green{background:#d9f2dc;color:#1a5c26;}
.badge.red{background:#f8d7da;color:#7a1c26;}
.badge.gold{background:#fbe9c6;color:#7a5b1c;}
.badge.gray{background:#e6e2da;color:#444;}

.btn{display:inline-block;padding:7px 12px;border-radius:6px;font-size:12.5px;font-weight:600;border:none;cursor:pointer;margin-right:4px;}
.btn-green{background:var(--green);color:#fff;}
.btn-red{background:var(--red);color:#fff;}
.btn-gold{background:var(--gold);color:#3a2410;}
.btn-gray{background:#e6e2da;color:#333;}
.btn-outline{background:#fff;border:1px solid var(--maroon-dark);color:var(--maroon-dark);}

.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(180deg,var(--maroon-dark),#7a2226);}
.login-box{background:#fff;border-radius:14px;padding:34px;width:100%;max-width:360px;box-shadow:0 10px 30px rgba(0,0,0,.3);}
.login-box h2{text-align:center;color:var(--maroon-dark);margin-top:0;}
.login-box .logo-emoji{text-align:center;font-size:36px;}
.login-box input{width:100%;padding:12px;margin-bottom:12px;border-radius:8px;border:1px solid #cbb18a;font-family:inherit;}
.login-box button{width:100%;padding:12px;border:none;border-radius:8px;background:var(--red);color:#fff;font-weight:700;cursor:pointer;font-size:15px;}

.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:700px){.form-grid2{grid-template-columns:1fr;} .admin-main{padding:18px;}}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-size:13px;font-weight:600;color:#4a2a10;}
.form-group input, .form-group select, .form-group textarea{
  padding:10px 12px;border-radius:8px;border:1px solid #cbb18a;font-family:inherit;font-size:14px;
}
.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;}
.alert-success{background:#d9f2dc;color:#1a5c26;border:1px solid #2e8b3f;}
.alert-error{background:#f8d7da;color:#7a1c26;border:1px solid #c81e2f;}
.health-tags span{display:inline-block;background:#fdeef0;color:#8f0f1c;font-size:11px;padding:2px 8px;border-radius:10px;margin:1px;}

/* =========================================================
   RESPONSIVE ENHANCEMENTS — Admin Panel
   (ডিজাইন অপরিবর্তিত, শুধু ছোট স্ক্রিনে টেবিল/লেআউট সঠিকভাবে বসানো হয়েছে)
========================================================= */
html{ -webkit-text-size-adjust:100%; }
body{ overflow-x:hidden; }
img{ max-width:100%; }

.card-box{ overflow-x:auto; }
table.admin-table{ min-width:560px; }

@media(max-width:900px){
  .admin-main{ max-width:100%; }
}

@media(max-width:700px){
  .admin-topbar{ flex-direction:column; align-items:flex-start; gap:8px; }
  .admin-stats{ grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
  .login-box{ padding:26px 22px; }
  .dm-grid{ grid-template-columns:1fr; }
}

/* ---------- Admin hamburger / off-canvas sidebar ---------- */
.admin-mobile-topbar{ display:none; }

.admin-hamburger-btn{
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  width:38px; height:38px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
  border-radius:8px; cursor:pointer; padding:0; flex-shrink:0;
}
.admin-hamburger-btn span{ display:block; width:20px; height:2.5px; background:var(--gold); border-radius:2px; transition:transform .25s ease, opacity .2s ease; }
.admin-hamburger-btn.open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.admin-hamburger-btn.open span:nth-child(2){ opacity:0; }
.admin-hamburger-btn.open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

.admin-sidebar-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:299; }
.admin-sidebar-overlay.show{ display:block; }

@media(max-width:700px){
  .admin-mobile-topbar{
    display:flex; align-items:center; gap:14px; padding:14px 16px;
    background:linear-gradient(180deg,var(--maroon-dark),#26090a); color:#fff;
    position:sticky; top:0; z-index:250;
  }
  .admin-mobile-title{ font-size:15px; font-weight:700; color:var(--gold); }

  .admin-sidebar{
    position:fixed; top:0; left:0; height:100vh; width:250px; max-width:80%;
    transform:translateX(-100%); transition:transform .25s ease; z-index:300;
    overflow-y:auto; padding:20px 0;
  }
  .admin-sidebar.open{ transform:translateX(0); }
}

@media(max-width:480px){
  table.admin-table{ min-width:480px; font-size:12.5px; }
  table.admin-table th, table.admin-table td{ padding:8px 6px; }
  .admin-sidebar h2{ font-size:16px; }
  .card-box{ padding:16px; }
}
