/* ===== Admin Panel Styles — The Pelvic Physio ===== */
:root{
  --navy:#0E2A47; --navy-deep:#0A1F38; --teal:#1F8A82; --gold:#C89B3C;
  --bg:#F2F5F8; --card:#fff; --line:#E3E8EE; --text:#22303E; --muted:#67727F;
  --danger:#C23B54; --ok:#1F8A5C; --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Noto Sans Bengali','Poppins',sans-serif;
  background:var(--bg); color:var(--text); font-size:14.5px; line-height:1.6;
}
a{color:var(--teal); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}

.layout{display:flex; min-height:100vh;}
.sidebar{
  width:250px; flex-shrink:0; background:var(--navy-deep); color:#cfd9e4;
  display:flex; flex-direction:column; position:sticky; top:0; height:100vh; overflow-y:auto;
}
.sidebar .brand{display:flex; align-items:center; gap:10px; padding:20px 18px; border-bottom:1px solid rgba(255,255,255,.08);}
.sidebar .brand .mark{
  width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--gold),#a97e2a);
  color:#1c1404;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'Poppins';
}
.sidebar .brand .n{font-family:'Poppins';font-weight:700;color:#fff;font-size:15px;line-height:1.25;}
.sidebar .brand .t{font-size:10px;letter-spacing:.08em;opacity:.6;font-family:'Poppins';}
.sidebar nav{padding:14px 10px; display:flex; flex-direction:column; gap:4px; flex:1;}
.sidebar nav a{
  color:#cfd9e4; padding:10px 12px; border-radius:8px; font-size:13.5px; text-decoration:none;
  display:flex; align-items:center; gap:10px; transition:background .12s ease;
}
.sidebar nav a:hover{background:rgba(255,255,255,.07); text-decoration:none;}
.sidebar nav a.active{background:var(--teal); color:#fff; font-weight:600;}
.sidebar nav a .badge-count{
  margin-left:auto; background:#e05768; color:#fff; border-radius:99px; font-size:10.5px;
  padding:1px 7px; font-family:'Poppins';
}
.sidebar .foot{padding:14px 16px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; opacity:.75;}
.sidebar .foot a{color:var(--gold);}

.main{flex:1; min-width:0; display:flex; flex-direction:column;}
.topbar{
  background:var(--card); border-bottom:1px solid var(--line); padding:13px 26px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  position:sticky; top:0; z-index:30;
}
.topbar h1{font-size:17px; color:var(--navy); font-weight:700;}
.topbar .who{font-size:12.5px; color:var(--muted);}
.content{padding:26px; max-width:1200px; width:100%;}

.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin-bottom:20px;}
.card h3{color:var(--navy); font-size:15.5px; font-weight:700; margin-bottom:16px; padding-bottom:10px; border-bottom:1px dashed var(--line);}

/* stats */
.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:22px;}
.stat{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; display:flex; align-items:center; gap:14px;}
.stat .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:21px;background:#EDF3F2;color:var(--teal);}
.stat .v{font-family:'Poppins';font-weight:800;font-size:23px;color:var(--navy);line-height:1.1;}
.stat .l{font-size:12px;color:var(--muted);}

/* forms */
label{display:block; font-size:12.5px; font-weight:600; color:var(--navy); margin-bottom:5px;}
label small{color:var(--muted); font-weight:400;}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],select,textarea{
  width:100%; font-family:inherit; font-size:14px; padding:10px 13px;
  border:1.5px solid var(--line); border-radius:9px; background:#FBFCFD; color:var(--text); outline:none;
}
textarea{min-height:110px; resize:vertical;}
input:focus,select:focus,textarea:focus{border-color:var(--teal); box-shadow:0 0 0 3px rgba(31,138,130,.12); background:#fff;}
input[type=color]{width:52px;height:38px;padding:2px;border:1.5px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.field{margin-bottom:14px;}
.field.full{grid-column:1/-1;}
.hint{font-size:11.5px;color:var(--muted);margin-top:4px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:13.5px;font-weight:600;
  padding:10px 20px;border-radius:9px;border:none;cursor:pointer;transition:transform .12s ease;text-decoration:none !important;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--navy);color:#fff;}
.btn-teal{background:var(--teal);color:#fff;}
.btn-danger{background:var(--danger);color:#fff;}
.btn-light{background:#EDF1F5;color:var(--navy);}
.btn-sm{padding:6px 12px;font-size:12px;}

.alert{padding:12px 16px;border-radius:9px;font-size:13.5px;font-weight:600;margin-bottom:16px;}
.alert-ok{background:#E9F9EF;border:1px solid #B7E7C8;color:#177A46;}
.alert-err{background:#FDECEE;border:1px solid #F3C2CA;color:#B02A43;}

/* tables */
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px;}
table.tbl th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  font-family:'Poppins';padding:10px 12px;border-bottom:2px solid var(--line);white-space:nowrap;
}
table.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;}
table.tbl tr:hover td{background:#F8FAFC;}
.thumb{width:64px;height:44px;border-radius:8px;object-fit:cover;border:1px solid var(--line);background:#EDF1F5;display:flex;align-items:center;justify-content:center;color:var(--teal);font-size:18px;}
.icon-chip{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;}
.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;font-family:'Poppins';}
.badge-new{background:#FCEBEE;color:#B02A43;}
.badge-contacted{background:#FDF3E3;color:#9A6B12;}
.badge-done{background:#E9F9EF;color:#177A46;}
.badge-cancelled{background:#EEF0F3;color:#66707B;}
.badge-on{background:#E9F9EF;color:#177A46;}
.badge-off{background:#EEF0F3;color:#66707B;}

.row-actions{display:flex;gap:6px;flex-wrap:wrap;}

/* login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--navy),var(--navy-deep) 70%, #08192c);padding:24px;}
.login-card{background:#fff;border-radius:18px;padding:38px;width:100%;max-width:400px;box-shadow:0 30px 60px rgba(0,0,0,.35);}
.login-card .logo{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;margin:0 auto 14px;font-family:'Poppins';}
.login-card .login-logo{width:90px;height:auto;object-fit:contain;display:block;margin:0 auto 14px;}
.login-card h1{text-align:center;color:var(--navy);font-size:19px;margin-bottom:4px;}
.login-card p.sub{text-align:center;color:var(--muted);font-size:12.5px;margin-bottom:22px;}
.login-card .field input{text-align:center;}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.toolbar h2{color:var(--navy);font-size:17px;font-weight:800;}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;}
.filter-row a{padding:7px 14px;border:1.5px solid var(--line);border-radius:99px;font-size:12.5px;font-weight:600;color:var(--muted);background:#fff;text-decoration:none;}
.filter-row a.active{background:var(--navy);border-color:var(--navy);color:#fff;}

.settings-group{margin-bottom:0;}
details.grp{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:14px;overflow:hidden;}
details.grp summary{
  cursor:pointer;padding:15px 20px;font-weight:700;color:var(--navy);list-style:none;
  display:flex;align-items:center;gap:10px;background:#FAFBFC;
}
details.grp summary::-webkit-details-marker{display:none;}
details.grp summary::after{content:'+ ';margin-left:auto;font-size:18px;color:var(--teal);}
details.grp[open] summary::after{content:'− ';}
details.grp .inner{padding:20px;border-top:1px solid var(--line);}

@media(max-width:900px){
  .sidebar{position:fixed;left:-260px;z-index:100;transition:left .2s ease;}
  .sidebar.open{left:0;}
  .menu-btn{display:inline-block !important;}
  .form-grid,.form-grid-3{grid-template-columns:1fr;}
  .content{padding:16px;}
}
.menu-btn{display:none;background:none;border:1.5px solid var(--line);border-radius:8px;padding:7px 11px;cursor:pointer;font-size:16px;color:var(--navy);}
