/* =====================================================
   OMMMAA — Women, Mother & Newborn Care Portal
   Theme: Medical Blue (like reference app image)
   Primary: #2563EB  Accent: #10B981  BG: #F0F4FF
   ===================================================== */
:root {
    --primary:    #2563EB;
    --primary-d:  #1d4ed8;
    --primary-l:  #3b82f6;
    --accent:     #10B981;
    --accent-d:   #059669;
    --success:    #10B981;
    --danger:     #ef4444;
    --warning:    #f59e0b;
    --info:       #06b6d4;
    --bg:         #F0F4FF;
    --bg2:        #e8effe;
    --sidebar-w:  260px;
    --font:       'Inter', sans-serif;
    --radius:     14px;
    --shadow:     0 2px 10px rgba(37,99,235,.08);
    --shadow-md:  0 6px 24px rgba(37,99,235,.14);
}

/* ── Reset & Base ── */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:#0f172a;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:#e8effe}
::-webkit-scrollbar-thumb{background:#93c5fd;border-radius:3px}

/* ── Layout ── */
.layout-wrapper{display:flex;min-height:100vh}
.sidebar{
    width:var(--sidebar-w);
    background:linear-gradient(180deg,#1e40af 0%,#2563EB 50%,#3b82f6 100%);
    position:fixed;top:0;left:0;height:100vh;
    overflow-y:auto;z-index:1000;
    display:flex;flex-direction:column;
    transition:transform .3s ease
}
.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh}

/* ── Sidebar Logo ── */
.sidebar-logo{
    padding:22px 18px;border-bottom:1px solid rgba(255,255,255,.15);
    display:flex;align-items:center;gap:12px
}
.sidebar-logo .logo-icon{
    width:46px;height:46px;background:white;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-size:22px;font-weight:900;color:var(--primary);
    font-family:serif;flex-shrink:0
}
.sidebar-logo .logo-text{color:white;font-size:17px;font-weight:800;line-height:1.2}
.sidebar-logo .logo-sub{color:rgba(255,255,255,.6);font-size:10px;text-transform:uppercase;letter-spacing:.5px}

/* ── Sidebar User ── */
.sidebar-user{
    padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1);
    display:flex;align-items:center;gap:10px
}
.sidebar-user img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4)}
.sidebar-user .name{color:white;font-size:13px;font-weight:700}
.sidebar-user .role-badge{font-size:10px;padding:2px 9px;border-radius:20px;display:inline-block;margin-top:3px;font-weight:700}
.role-admin{background:#fbbf24;color:#78350f}
.role-doctor{background:rgba(255,255,255,.25);color:white}
.role-patient{background:rgba(16,185,129,.3);color:white}

/* ── Sidebar Nav ── */
.sidebar-nav{flex:1;padding:10px 0}
.nav-section-title{
    font-size:10px;font-weight:700;text-transform:uppercase;
    color:rgba(255,255,255,.4);padding:12px 18px 4px;letter-spacing:1px
}
.nav-link{
    display:flex;align-items:center;gap:11px;
    padding:10px 18px;color:rgba(255,255,255,.75);
    font-size:13.5px;font-weight:500;
    border-left:3px solid transparent;
    transition:all .18s;cursor:pointer;
    background:none;border-right:none;border-top:none;border-bottom:none;
    width:100%;text-align:left
}
.nav-link:hover{background:rgba(255,255,255,.12);color:white;border-left-color:rgba(255,255,255,.5)}
.nav-link.active{background:rgba(255,255,255,.18);color:white;border-left-color:white;font-weight:700}
.nav-link i{width:18px;text-align:center;font-size:14px;flex-shrink:0}

/* ── Sidebar Footer ── */
.sidebar-footer{padding:14px 18px;border-top:1px solid rgba(255,255,255,.12)}
.sidebar-footer a,.sidebar-footer button{
    display:flex;align-items:center;gap:10px;
    color:rgba(255,255,255,.6);font-size:13px;padding:7px 0;
    background:none;border:none;cursor:pointer;width:100%;text-align:left;
    transition:color .18s
}
.sidebar-footer a:hover,.sidebar-footer button:hover{color:white}

/* ── Topbar ── */
.topbar{
    background:white;height:60px;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 24px;border-bottom:1px solid #e2e8f0;
    position:sticky;top:0;z-index:100;
    box-shadow:0 1px 6px rgba(37,99,235,.07)
}
.topbar-left{display:flex;align-items:center;gap:14px}
.page-title{font-size:17px;font-weight:800;color:#1e293b}
.topbar-right{display:flex;align-items:center;gap:10px}

/* ── Topbar icon button ── */
.btn-icon{
    width:38px;height:38px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    background:#eff6ff;border:1px solid #bfdbfe;
    color:var(--primary);cursor:pointer;position:relative;
    text-decoration:none;transition:all .18s;flex-shrink:0
}
.btn-icon:hover{background:var(--primary);color:white;border-color:var(--primary)}
.badge-count{
    position:absolute;top:-4px;right:-4px;
    background:var(--danger);color:white;
    font-size:10px;font-weight:800;
    min-width:16px;height:16px;border-radius:8px;
    display:flex;align-items:center;justify-content:center;padding:0 3px
}

/* ── Content ── */
.content-area{flex:1;padding:24px;background:var(--bg)}

/* ── Hamburger ── */
.hamburger{
    display:none;background:none;border:none;
    cursor:pointer;font-size:20px;color:var(--primary)
}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999}

/* ── Cards ── */
.card{background:white;border-radius:var(--radius);border:1px solid #e2e8f0;box-shadow:var(--shadow)}
.card-header{
    padding:14px 18px;border-bottom:1px solid #f1f5f9;
    display:flex;align-items:center;justify-content:space-between
}
.card-title{font-size:15px;font-weight:700;color:#1e293b}
.card-body{padding:18px}

/* ── Stat Cards ── */
.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:22px}
.stat-card{
    background:white;border-radius:var(--radius);padding:18px;
    border:1px solid #e2e8f0;display:flex;align-items:center;gap:14px;
    box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s
}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.stat-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}
.stat-icon.maroon{background:#eff6ff;color:var(--primary)}
.stat-icon.gold{background:#fffbeb;color:#d97706}
.stat-icon.green{background:#ecfdf5;color:#059669}
.stat-icon.blue{background:#e0f2fe;color:#0284c7}
.stat-icon.purple{background:#f5f3ff;color:#7c3aed}
.stat-icon.red{background:#fef2f2;color:#dc2626}
.stat-value{font-size:26px;font-weight:900;color:#1e293b}
.stat-label{font-size:12px;color:#64748b;margin-top:1px;font-weight:500}

/* ── Buttons ── */
.btn{
    display:inline-flex;align-items:center;gap:6px;
    padding:9px 18px;border-radius:10px;font-size:13.5px;
    font-weight:600;cursor:pointer;text-decoration:none;
    border:none;transition:all .18s;white-space:nowrap;line-height:1.4;
    font-family:var(--font)
}
.btn-sm{padding:5px 12px;font-size:12px;border-radius:8px}
.btn-lg{padding:13px 26px;font-size:15px;border-radius:12px}
.btn-primary{background:var(--primary);color:white}
.btn-primary:hover{background:var(--primary-d);color:white}
.btn-accent{background:var(--accent);color:white}
.btn-accent:hover{background:var(--accent-d);color:white}
.btn-success{background:var(--success);color:white}
.btn-success:hover{background:var(--accent-d);color:white}
.btn-danger{background:var(--danger);color:white}
.btn-danger:hover{background:#dc2626;color:white}
.btn-warning{background:var(--warning);color:white}
.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}
.btn-outline:hover{background:var(--primary);color:white}
.btn-light{background:#eff6ff;color:var(--primary);border:1px solid #bfdbfe}
.btn-light:hover{background:#dbeafe;color:var(--primary-d)}
.btn-white{background:white;color:var(--primary);border:1px solid #e2e8f0}
.w-100{width:100%;justify-content:center}

/* ── Forms ── */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:12px;font-weight:700;color:#374151;margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}
.form-control{
    width:100%;padding:10px 14px;
    border:1.5px solid #d1d5db;border-radius:10px;
    font-size:14px;color:#111827;background:white;
    transition:border-color .18s,box-shadow .18s;outline:none;font-family:var(--font)
}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.form-control.is-invalid{border-color:var(--danger)}
.form-select{
    appearance:none;
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%232563EB' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat:no-repeat;background-position:right 10px center;background-size:12px;padding-right:32px
}
.invalid-feedback{color:var(--danger);font-size:11.5px;margin-top:4px}

/* ── Tables ── */
.table-responsive{overflow-x:auto;border-radius:var(--radius)}
.table{width:100%;border-collapse:collapse;font-size:13.5px}
.table th{
    padding:10px 16px;text-align:left;
    font-size:11px;font-weight:700;text-transform:uppercase;
    color:#64748b;background:#f8fafc;letter-spacing:.5px;
    border-bottom:1.5px solid #e2e8f0
}
.table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.table tbody tr:hover{background:#f8faff}
.table tbody tr:last-child td{border-bottom:none}

/* ── Badges ── */
.badge{
    display:inline-flex;align-items:center;gap:3px;
    padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.2px
}
.badge-success{background:#ecfdf5;color:#065f46}
.badge-warning{background:#fffbeb;color:#92400e}
.badge-danger{background:#fef2f2;color:#991b1b}
.badge-info{background:#e0f2fe;color:#0c4a6e}
.badge-purple{background:#f5f3ff;color:#4c1d95}
.badge-gray{background:#f1f5f9;color:#475569}
.badge-maroon{background:#eff6ff;color:var(--primary)}
.badge-gold{background:#fffbeb;color:#92400e}

/* ── Alerts ── */
.alert{
    padding:12px 16px;border-radius:10px;
    display:flex;align-items:flex-start;gap:9px;
    margin-bottom:14px;font-size:13.5px;line-height:1.5
}
.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.alert-info{background:#e0f2fe;color:#0c4a6e;border:1px solid #bae6fd}
.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}

/* ── Grid helpers ── */
.row{display:flex;flex-wrap:wrap;margin:0 -8px}
.col{flex:1;padding:0 8px}
.col-3{width:25%;padding:0 8px}
.col-4{width:33.333%;padding:0 8px}
.col-5{width:41.666%;padding:0 8px}
.col-6{width:50%;padding:0 8px}
.col-7{width:58.333%;padding:0 8px}
.col-8{width:66.666%;padding:0 8px}
.col-12{width:100%;padding:0 8px}

/* ── Spacing ── */
.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:24px}
.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:24px}
.p-0{padding:0}.me-2{margin-right:8px}
.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}
.gap-2{gap:8px}.gap-3{gap:12px}.text-center{text-align:center}.text-end{text-align:right}
.text-muted{color:#64748b!important}.text-primary{color:var(--primary)!important}
.text-success{color:#059669!important}.text-danger{color:#dc2626!important}
.fw-bold{font-weight:700}.fw-800{font-weight:800}

/* ── Medicine/Product Cards ── */
.medicine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.medicine-card{background:white;border-radius:var(--radius);border:1px solid #e2e8f0;overflow:hidden;transition:transform .2s,box-shadow .2s}
.medicine-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.medicine-card-img{height:150px;background:#f8faff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.medicine-card-img img{max-height:130px;object-fit:contain}
.rx-badge{position:absolute;top:7px;right:7px;background:var(--danger);color:white;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px}
.medicine-card-body{padding:12px}
.medicine-name{font-weight:700;font-size:13.5px;color:#111827;margin-bottom:2px}
.medicine-brand{font-size:11.5px;color:#6b7280;margin-bottom:7px}
.price-current{font-size:17px;font-weight:900;color:var(--primary)}
.price-original{font-size:12px;color:#9ca3af;text-decoration:line-through;margin-left:5px}

/* ── Hero Banner (patient dashboard) ── */
.hero-banner{
    background:linear-gradient(135deg,#1d4ed8 0%,#2563EB 60%,#3b82f6 100%);
    border-radius:16px;padding:22px 24px;color:white;margin-bottom:22px;
    position:relative;overflow:hidden
}
.hero-banner::after{
    content:'';position:absolute;top:-30px;right:-30px;
    width:160px;height:160px;background:rgba(255,255,255,.07);border-radius:50%
}
.hero-banner::before{
    content:'';position:absolute;bottom:-40px;right:60px;
    width:100px;height:100px;background:rgba(255,255,255,.05);border-radius:50%
}
.online-badge{
    display:inline-flex;align-items:center;gap:5px;
    background:rgba(255,255,255,.2);color:white;
    font-size:10px;font-weight:800;padding:3px 10px;border-radius:20px;
    margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;
    border:1px solid rgba(255,255,255,.3)
}
.online-badge::before{content:'';width:6px;height:6px;background:#4ade80;border-radius:50%;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── Category Pills ── */
.category-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.pill{
    padding:7px 16px;border-radius:20px;font-size:12.5px;font-weight:600;cursor:pointer;
    border:1.5px solid #e2e8f0;background:white;color:#64748b;transition:all .18s
}
.pill:hover,.pill.active{background:var(--primary);color:white;border-color:var(--primary)}

/* ── Doctor Card ── */
.doctor-card{background:white;border-radius:var(--radius);border:1px solid #e2e8f0;padding:18px;text-align:center;transition:transform .2s,box-shadow .2s}
.doctor-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.doctor-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid #bfdbfe;margin:0 auto 10px}
.doctor-name{font-size:14.5px;font-weight:700;color:#1e293b}
.doctor-spec{font-size:12px;color:var(--primary);font-weight:600;margin-bottom:7px}
.stars{color:#f59e0b;font-size:12px}

/* ── Auth Pages ── */
.auth-wrapper{min-height:100vh;display:flex;background:#F0F4FF}
.auth-left{
    width:44%;background:linear-gradient(160deg,#1e40af 0%,#2563EB 50%,#3b82f6 100%);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:48px;color:white
}
.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:#F0F4FF}
.auth-card{background:white;border-radius:20px;box-shadow:0 20px 60px rgba(37,99,235,.12);padding:38px;width:100%;max-width:460px}
.auth-title{font-size:26px;font-weight:900;color:#1e293b;margin-bottom:4px}
.auth-subtitle{color:#6b7280;font-size:13.5px;margin-bottom:24px}
.role-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.role-option input{display:none}
.role-option label{
    display:flex;flex-direction:column;align-items:center;gap:5px;
    padding:13px 8px;border:2px solid #e2e8f0;border-radius:12px;
    cursor:pointer;transition:all .18s;font-size:12.5px;color:#64748b;font-weight:600
}
.role-option label i{font-size:22px}
.role-option input:checked + label{border-color:var(--primary);background:#eff6ff;color:var(--primary)}
.role-option label:hover{border-color:#93c5fd}

/* ── Nav Badge (sidebar count) ── */
.nav-badge{
    margin-left:auto;background:rgba(255,255,255,.25);color:white;
    font-size:10px;font-weight:800;min-width:18px;height:18px;
    border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px
}

/* ── Topbar Profile Link ── */
.topbar-profile-link{display:flex;align-items:center;gap:8px;text-decoration:none}
.topbar-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #bfdbfe}
.topbar-name{font-size:13px;font-weight:700;color:#1e293b}

/* ── Main Footer ── */
.main-footer{padding:14px 24px;text-align:center;font-size:12px;color:#94a3b8;border-top:1px solid #e2e8f0;background:white}

/* ── Notification Dropdown ── */
.notif-wrapper{position:relative}
.notif-dropdown{
    position:absolute;top:calc(100% + 10px);right:0;
    width:340px;background:white;border-radius:16px;
    border:1px solid #e2e8f0;box-shadow:0 10px 36px rgba(37,99,235,.14);
    z-index:500;overflow:hidden;display:none
}
.notif-dropdown.show{display:block}
.notif-dropdown-header{
    padding:12px 16px;border-bottom:1px solid #f1f5f9;
    display:flex;align-items:center;justify-content:space-between
}
.notif-dropdown-title{font-size:13.5px;font-weight:800;color:#1e293b}
.notif-mark-all{font-size:11.5px;color:var(--primary);font-weight:600;cursor:pointer;background:none;border:none}
.notif-list{max-height:320px;overflow-y:auto}
.notif-item{
    display:flex;align-items:flex-start;gap:10px;
    padding:11px 16px;border-bottom:1px solid #f8faff;
    transition:background .15s;cursor:pointer;text-decoration:none
}
.notif-item:hover{background:#f8faff}
.notif-item.unread{background:#eff6ff}
.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:5px}
.notif-dot.read{background:transparent;border:1.5px solid #d1d5db}
.notif-item-title{font-size:13px;font-weight:700;color:#111827;margin-bottom:2px}
.notif-item-msg{font-size:12px;color:#6b7280;line-height:1.4}
.notif-item-time{font-size:11px;color:#9ca3af;margin-top:3px}
.notif-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:13px}
.notif-footer{padding:10px 16px;border-top:1px solid #f1f5f9;text-align:center}
.notif-footer a{font-size:12.5px;font-weight:600;color:var(--primary)}

/* ── Notifications Page ── */
.notif-page-item{
    display:flex;align-items:flex-start;gap:14px;
    padding:14px 18px;border-bottom:1px solid #f1f5f9;
    transition:background .15s
}
.notif-page-item:hover{background:#f8faff}
.notif-page-item.unread{background:#eff6ff;border-left:3px solid var(--primary)}
.notif-page-item.read{border-left:3px solid transparent}
.notif-type-icon{
    width:40px;height:40px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:16px;flex-shrink:0
}

/* ── Doctor Schedule ── */
.schedule-grid{display:grid;gap:10px}
.schedule-row{
    display:grid;grid-template-columns:110px 1fr 1fr 80px;
    gap:12px;align-items:center;
    background:white;border-radius:12px;border:1px solid #e2e8f0;
    padding:12px 16px
}
.schedule-day{font-size:13.5px;font-weight:700;color:#1e293b}
.schedule-toggle{display:flex;align-items:center;gap:8px}

/* Toggle switch */
.toggle-switch{position:relative;display:inline-block;width:40px;height:22px}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{
    position:absolute;cursor:pointer;inset:0;
    background:#d1d5db;border-radius:22px;transition:.3s
}
.toggle-slider:before{
    position:absolute;content:'';
    height:16px;width:16px;left:3px;bottom:3px;
    background:white;border-radius:50%;transition:.3s
}
.toggle-switch input:checked + .toggle-slider{background:var(--primary)}
.toggle-switch input:checked + .toggle-slider:before{transform:translateX(18px)}

/* ── Doctor Review Card ── */
.review-card{background:white;border-radius:12px;border:1px solid #e2e8f0;padding:16px;box-shadow:var(--shadow)}
.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.review-stars{color:#f59e0b;font-size:14px}
.review-comment{font-size:13.5px;color:#374151;line-height:1.6}
.review-meta{font-size:11.5px;color:#9ca3af;margin-top:7px}

/* ── Star Rating Input ── */
.star-rating{display:flex;flex-direction:row-reverse;gap:4px;justify-content:flex-end}
.star-rating input{display:none}
.star-rating label{font-size:28px;color:#d1d5db;cursor:pointer;transition:color .15s}
.star-rating label:hover,.star-rating label:hover ~ label,
.star-rating input:checked ~ label{color:#f59e0b}

/* ── Contact Form ── */
.contact-wrapper{display:grid;grid-template-columns:1fr 1.6fr;gap:24px;align-items:start}
.contact-info-card{background:linear-gradient(135deg,#1d4ed8,#2563EB);border-radius:16px;padding:28px;color:white}
.contact-info-title{font-size:20px;font-weight:800;margin-bottom:6px}
.contact-info-sub{font-size:13px;opacity:.8;margin-bottom:24px;line-height:1.6}
.contact-info-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.contact-info-icon{width:38px;height:38px;background:rgba(255,255,255,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-info-text{font-size:13px;opacity:.85;line-height:1.5}
.contact-info-label{font-size:11px;opacity:.55;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}

/* ── Admin Contact Queries Table ── */
.query-status-open{background:#fffbeb;color:#92400e}
.query-status-in_progress{background:#e0f2fe;color:#0c4a6e}
.query-status-resolved{background:#ecfdf5;color:#065f46}

/* ── Empty State ── */
.empty-state{text-align:center;padding:56px 20px}
.empty-state-icon{font-size:52px;margin-bottom:14px;opacity:.3}
.empty-state-title{font-size:16px;font-weight:800;color:#1e293b;margin-bottom:6px}
.empty-state-sub{font-size:13.5px;color:#6b7280;max-width:300px;margin:0 auto 20px}

/* ── Profile Avatar Upload ── */
.avatar-upload-wrapper{position:relative;width:90px;height:90px;margin:0 auto 16px}
.avatar-upload-wrapper img{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid #bfdbfe}
.avatar-upload-btn{
    position:absolute;bottom:0;right:0;
    width:28px;height:28px;border-radius:50%;
    background:var(--primary);color:white;
    border:2px solid white;display:flex;align-items:center;justify-content:center;
    font-size:11px;cursor:pointer
}

/* ── Page Header ── */
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.page-header-title{font-size:20px;font-weight:900;color:#1e293b}
.page-header-sub{font-size:13px;color:#64748b;margin-top:2px}

/* ── Tab Nav ── */
.tab-nav{display:flex;gap:4px;background:#f1f5f9;border-radius:12px;padding:4px;margin-bottom:20px}
.tab-btn{
    flex:1;padding:9px 14px;border-radius:9px;
    font-size:13px;font-weight:700;color:#64748b;
    background:none;border:none;cursor:pointer;transition:all .18s;text-align:center;font-family:var(--font)
}
.tab-btn.active{background:white;color:var(--primary);box-shadow:0 1px 4px rgba(37,99,235,.1)}

/* ── Responsive ── */
@media(max-width:1024px){
    .sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}
    .sidebar-overlay.show{display:block}.main-content{margin-left:0}.hamburger{display:flex}
    .auth-left{display:none}.auth-right{padding:20px}
    .stat-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
    .stat-cards{grid-template-columns:repeat(2,1fr)}
    .col-3,.col-4,.col-6,.col-8{width:100%}
    .content-area{padding:14px}
    .medicine-grid{grid-template-columns:repeat(2,1fr)}
    .contact-wrapper{grid-template-columns:1fr}
    .schedule-row{grid-template-columns:90px 1fr 1fr 60px;gap:8px}
    .notif-dropdown{width:300px}
}
