/* ============================================================
   Dental Clinic Platform — Core Stylesheet
   Premium medical brand. RTL. Responsive / Mobile-first.
   ============================================================ */
:root{
  --primary:#0F766E; --primary-dark:#0c5e57; --primary-light:#14b8a6;
  --secondary:#0F172A; --accent:#38BDF8; --bg:#F8FAFC;
  --success:#22C55E; --danger:#EF4444; --warning:#F59E0B; --info:#38BDF8;
  --text:#1e293b; --muted:#64748b; --border:#e2e8f0; --white:#fff;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow:0 4px 16px rgba(15,23,42,.08);
  --shadow-lg:0 12px 40px rgba(15,23,42,.12);
  --radius:14px; --radius-sm:10px; --radius-lg:22px;
  --font:'Cairo','Inter','Poppins',system-ui,sans-serif;
  --sidebar-w:260px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100% !important;-moz-text-size-adjust:100% !important;-ms-text-size-adjust:100% !important;text-size-adjust:100% !important}
body{font-family:var(--font);background-color:var(--bg);background-image:radial-gradient(var(--border) 1.5px,transparent 1.5px);background-size:28px 28px;color:var(--text);line-height:1.7;font-size:15px;-webkit-text-size-adjust:100% !important;-moz-text-size-adjust:100% !important;-ms-text-size-adjust:100% !important;text-size-adjust:100% !important}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul{list-style:none}

/* ---------- Custom Global Scrollbars ---------- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.dark-theme ::-webkit-scrollbar-track { background: transparent; }
.dark-theme ::-webkit-scrollbar-thumb { background: #334155; border: 2px solid transparent; background-clip: padding-box; }
.dark-theme ::-webkit-scrollbar-thumb:hover { background: #475569; }

.container{max-width:1200px;margin:0 auto;padding:0 18px}
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:11px 22px;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-weight:700;font-size:15px;cursor:pointer;transition:.2s;white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-accent{background:var(--accent);color:#06283d}
.btn-accent:hover{filter:brightness(1.05);transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--primary);border:1px solid var(--border)}
.btn-light:hover{background:#f1f5f9}
.btn-danger{background:var(--danger);color:#fff}
.btn-success{background:var(--success);color:#fff}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}
.btn-outline:hover{background:#fff;color:var(--primary)}
.btn-sm{padding:7px 14px;font-size:13px}
.btn-block{width:100%}
.btn:disabled{opacity:.6;cursor:not-allowed}

/* ---------- Badges ---------- */
.badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:700}
.badge-success{background:#dcfce7;color:#166534}
.badge-danger{background:#fee2e2;color:#991b1b}
.badge-warning{background:#fef3c7;color:#92400e}
.badge-info{background:#e0f2fe;color:#075985}
.badge-primary{background:#ccfbf1;color:#115e59}
.badge-secondary{background:#e2e8f0;color:#334155}

/* ---------- Cards ---------- */
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow:hidden}
.card-body{padding:22px}
.card-header{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-header h3{font-size:17px}

/* ---------- Forms ---------- */
.form-group{margin-bottom:16px}
.form-label{display:block;margin-bottom:7px;font-weight:700;font-size:14px;color:var(--text)}
.form-control,select.form-control,textarea.form-control{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:14px;background:var(--white);color:var(--text);transition:.2s}
.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
textarea.form-control{resize:vertical;min-height:90px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-hint{font-size:12px;color:var(--muted);margin-top:4px}

/* ---------- Alerts ---------- */
.alert{padding:13px 18px;border-radius:var(--radius-sm);margin-bottom:18px;font-weight:600;display:flex;align-items:center;gap:10px}
.alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.alert-error,.alert-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.alert-info{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;border-radius:var(--radius);margin-bottom:10px}
table.data{width:100%;border-collapse:collapse;background:var(--white);min-width:680px}
table.data th{background:#f1f5f9;padding:13px 16px;text-align:right;font-size:13px;font-weight:800;color:#475569;white-space:nowrap}
table.data td{padding:13px 16px;border-top:1px solid var(--border);font-size:13.5px;white-space:nowrap;vertical-align:middle}
table.data tr:hover td{background:rgba(15,118,110,0.03)}
.dark-theme table.data th{background:#1e293b;color:#94a3b8;border-bottom:1px solid var(--border)}
.dark-theme table.data tr:hover td{background:rgba(255,255,255,0.02)}

/* ---------- Stat & Services grids ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px}
.stat-card{background:var(--white);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;align-items:center;gap:16px}
.stat-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:22px;color:#fff;flex-shrink:0}
.stat-info h4{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:4px}
.stat-info .num{font-size:24px;font-weight:800;color:var(--secondary)}

/* ---------- Utility ---------- */
.text-center{text-align:center}.text-muted{color:var(--muted)}
.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}
.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-1{gap:8px}.gap-2{gap:16px}.flex-wrap{flex-wrap:wrap}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hidden{display:none}
.section-title{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--secondary)}

@media(max-width:768px){
  .form-row,.grid-2,.grid-3{grid-template-columns:1fr}
}

/* ---------- Dark Theme Overrides ---------- */
.dark-theme {
  --bg: #0F172A;
  --white: #1E293B;
  --text: #F1F5F9;
  --muted: #94A3B8;
  --border: #334155;
  --secondary: #F1F5F9;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.3);
  --shadow: 0 4px 16px rgba(0,0,0,.4);
}
.dark-theme body { background-color: var(--bg); background-image: radial-gradient(var(--border) 1.5px, transparent 1.5px); background-size: 28px 28px; color: var(--text); }
.dark-theme .topbar { background: var(--white); border-bottom-color: var(--border); }
.dark-theme table.data { background: var(--white); }
.dark-theme table.data th { background: #0F172A; color: #94A3B8; border-bottom: 2px solid var(--border); }
.dark-theme table.data tr:hover td { background: rgba(255,255,255,0.03); }
.dark-theme .form-control, .dark-theme select.form-control, .dark-theme textarea.form-control { background: var(--white); color: var(--text); }
.dark-theme .btn-light { background: var(--white); color: var(--primary-light); border-color: var(--border); }
.dark-theme .btn-light:hover { background: rgba(255,255,255,0.05); }
.dark-theme .alert-success { background: rgba(34,197,94,0.15); color: #4ADE80; border-color: rgba(34,197,94,0.3); }
.dark-theme .alert-error, .dark-theme .alert-danger { background: rgba(239,68,68,0.15); color: #F87171; border-color: rgba(239,68,68,0.3); }
.dark-theme .alert-info { background: rgba(56,189,248,0.15); color: #7DD3FC; border-color: rgba(56,189,248,0.3); }
.dark-theme .badge-secondary { background: rgba(255,255,255,0.1); color: #CBD5E1; }
.dark-theme .card-header { border-bottom-color: var(--border); }
.dark-theme table.data td { border-top-color: var(--border); }
.dark-theme .modal { background: var(--white); color: var(--text); border: 1px solid var(--border); }
.dark-theme .modal-header { border-bottom-color: var(--border); }
.dark-theme .modal-footer { border-top-color: var(--border); }

