:root{
    --bg:#FAF4ED;
    --primary:#E87722;
    --secondary:#F4B63D;
    --card:#FFFFFF;
    --text:#1F2937;
    --muted:#6B7280;
    --border:#F1DFC7;
    --shadow:0 12px 35px rgba(232,119,34,.12);
    --radius:24px;
}

*{
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
}

html,body{
    margin:0;
    padding:0;
    font-family:Inter, Arial, Helvetica, sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.doctor-app-bg{
    min-height:100vh;
    background:
        radial-gradient(circle at top right, rgba(244,182,61,.25), transparent 30%),
        radial-gradient(circle at bottom left, rgba(232,119,34,.18), transparent 30%),
        var(--bg);
}

.doctor-mobile-shell{
    width:100%;
    max-width:430px;
    min-height:100vh;
    margin:0 auto;
    padding:22px 18px 28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.doctor-login-top{
    text-align:center;
    margin-bottom:22px;
}

.doctor-brand-badge{
    width:76px;
    height:76px;
    margin:0 auto 16px;
    border-radius:24px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:30px;
    box-shadow:var(--shadow);
}

.doctor-login-top h1{
    margin:0 0 8px;
    font-size:28px;
    font-weight:800;
    letter-spacing:-.02em;
}

.doctor-login-top p{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
}

.doctor-login-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:22px 18px 18px;
    box-shadow:var(--shadow);
}

.doctor-card-head{
    margin-bottom:18px;
}

.doctor-card-head h2{
    margin:0 0 6px;
    font-size:22px;
    font-weight:800;
}

.doctor-card-head span{
    color:var(--muted);
    font-size:13px;
}

.doctor-field{
    margin-bottom:16px;
}

.doctor-field label{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    font-weight:700;
    color:#374151;
}

.doctor-input-wrap{
    position:relative;
    display:flex;
    align-items:center;
    background:#fff;
    border:1px solid #E9D7C0;
    border-radius:18px;
    min-height:58px;
    padding:0 14px;
    transition:.2s ease;
}

.doctor-input-wrap:focus-within{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(232,119,34,.10);
}

.doctor-input-wrap i{
    color:#9CA3AF;
    font-size:16px;
    margin-right:10px;
}

.doctor-input-wrap input{
    flex:1;
    border:0;
    outline:none;
    background:transparent;
    font-size:15px;
    color:var(--text);
}

.doctor-toggle-pass{
    border:0;
    background:transparent;
    color:#9CA3AF;
    font-size:16px;
    cursor:pointer;
    padding:6px;
}

.doctor-primary-btn{
    width:100%;
    height:56px;
    border:0;
    border-radius:18px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(232,119,34,.22);
    transition:.2s ease;
}

.doctor-primary-btn:active{
    transform:scale(.99);
}

.doctor-primary-btn:disabled{
    opacity:.7;
    cursor:not-allowed;
}

.doctor-login-help{
    margin-top:16px;
    text-align:center;
}

.doctor-login-help p{
    margin:0;
    color:var(--muted);
    font-size:12px;
    line-height:1.6;
}

.doctor-login-footer{
    text-align:center;
    margin-top:18px;
}

.doctor-login-footer p{
    margin:0 0 4px;
    font-size:13px;
}

.doctor-login-footer small{
    color:var(--muted);
    font-size:12px;
}

.doctor-app-mobile{
    width:100%;
    max-width:430px;
    min-height:100vh;
    margin:0 auto;
    background:transparent;
    position:relative;
}

.doctor-status-bar-space{
    height:8px;
}

.doctor-app-content{
    padding:20px 18px 110px;
}

.doctor-home-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
}

.doctor-home-user{
    display:flex;
    align-items:center;
    gap:12px;
}

.doctor-home-avatar{
    width:58px;
    height:58px;
    border-radius:18px;
    object-fit:cover;
    border:2px solid rgba(232,119,34,.16);
    background:#fff;
}

.doctor-home-user-text span{
    display:block;
    font-size:12px;
    color:var(--muted);
    margin-bottom:4px;
}

.doctor-home-user-text h1{
    margin:0;
    font-size:20px;
    font-weight:800;
    line-height:1.2;
}

.doctor-home-user-text p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px;
}

.doctor-icon-btn{
    width:44px;
    height:44px;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:var(--text);
    box-shadow:var(--shadow);
}

.doctor-highlight-card{
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    border-radius:26px;
    padding:20px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    box-shadow:0 16px 32px rgba(232,119,34,.20);
    margin-bottom:18px;
}

.doctor-highlight-text small{
    display:block;
    font-size:12px;
    opacity:.9;
    margin-bottom:6px;
}

.doctor-highlight-text h2{
    margin:0 0 8px;
    font-size:22px;
    line-height:1.2;
    font-weight:800;
}

.doctor-highlight-text p{
    margin:0;
    font-size:13px;
    line-height:1.6;
    color:#fff7ed;
}

.doctor-highlight-icon{
    width:64px;
    height:64px;
    border-radius:20px;
    background:rgba(255,255,255,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    flex-shrink:0;
}

.doctor-stats-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-bottom:20px;
}

.doctor-stat-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    padding:16px;
    box-shadow:var(--shadow);
}

.doctor-stat-card span{
    display:block;
    font-size:12px;
    color:var(--muted);
    margin-bottom:6px;
}

.doctor-stat-card strong{
    display:block;
    font-size:22px;
    font-weight:800;
    margin-bottom:4px;
}

.doctor-stat-card small{
    color:var(--muted);
    font-size:12px;
}

.doctor-section{
    margin-bottom:20px;
}

.doctor-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
}

.doctor-section-head h3{
    margin:0;
    font-size:18px;
    font-weight:800;
}

.doctor-section-head a{
    text-decoration:none;
    color:var(--primary);
    font-size:13px;
    font-weight:700;
}

.doctor-shortcut-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.doctor-shortcut-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    padding:16px;
    text-decoration:none;
    color:var(--text);
    box-shadow:var(--shadow);
}

.doctor-shortcut-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    background:rgba(232,119,34,.10);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    margin-bottom:12px;
}

.doctor-shortcut-card h4{
    margin:0 0 6px;
    font-size:15px;
    font-weight:800;
}

.doctor-shortcut-card p{
    margin:0;
    font-size:12px;
    color:var(--muted);
    line-height:1.5;
}

.doctor-list-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.doctor-list-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid #f3e7d8;
}

.doctor-list-item:last-child{
    border-bottom:0;
}

.doctor-list-time{
    min-width:54px;
    font-size:13px;
    font-weight:800;
    color:var(--primary);
}

.doctor-list-main{
    flex:1;
}

.doctor-list-main h4{
    margin:0 0 4px;
    font-size:14px;
    font-weight:800;
}

.doctor-list-main p{
    margin:0;
    font-size:12px;
    color:var(--muted);
}

.doctor-pill{
    font-size:11px;
    font-weight:800;
    padding:7px 10px;
    border-radius:999px;
    white-space:nowrap;
}

.doctor-pill.pending{
    background:#fff3cd;
    color:#a16207;
}

.doctor-pill.success{
    background:#dcfce7;
    color:#166534;
}

.doctor-pill.info{
    background:#dbeafe;
    color:#1d4ed8;
}

.doctor-bottom-nav{
    position:fixed;
    left:50%;
    transform:translateX(-50%);
    bottom:0;
    width:100%;
    max-width:430px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-top:1px solid #ead8c5;
    display:flex;
    justify-content:space-around;
    padding:10px 8px calc(10px + env(safe-area-inset-bottom));
    z-index:40;
}

.doctor-bottom-nav a{
    flex:1;
    text-decoration:none;
    color:#8b8f97;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    font-size:11px;
    font-weight:700;
}

.doctor-bottom-nav a i{
    font-size:18px;
}

.doctor-bottom-nav a.active{
    color:var(--primary);
}

.doctor-page-bottom-space{
    height:24px;
}

.doctor-inner-page{
    padding-top:18px;
}

.doctor-page-head{
    margin-bottom:18px;
}

.doctor-page-head h1{
    margin:0 0 6px;
    font-size:24px;
    font-weight:800;
}

.doctor-page-head p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

.doctor-empty-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:26px;
    padding:28px 20px;
    text-align:center;
    box-shadow:var(--shadow);
}

.doctor-empty-card i{
    font-size:32px;
    color:var(--primary);
    margin-bottom:12px;
}

.doctor-empty-card h3{
    margin:0 0 8px;
    font-size:18px;
    font-weight:800;
}

.doctor-empty-card p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.7;
}

.doctor-profile-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:26px;
    padding:24px 18px;
    text-align:center;
    box-shadow:var(--shadow);
}

.doctor-profile-photo{
    width:110px;
    height:110px;
    border-radius:28px;
    object-fit:cover;
    margin-bottom:14px;
    border:2px solid rgba(232,119,34,.16);
}

.doctor-profile-card h3{
    margin:0 0 6px;
    font-size:22px;
    font-weight:800;
}

.doctor-profile-card p{
    margin:0 0 18px;
    color:var(--muted);
    font-size:14px;
}

.doctor-profile-meta{
    display:grid;
    gap:12px;
    margin-bottom:18px;
    text-align:left;
}

.doctor-profile-meta div{
    background:#fcfaf7;
    border:1px solid #f1e3d2;
    border-radius:18px;
    padding:14px;
}

.doctor-profile-meta span{
    display:block;
    color:var(--muted);
    font-size:12px;
    margin-bottom:6px;
}

.doctor-profile-meta strong{
    font-size:14px;
    font-weight:800;
    color:var(--text);
}

.doctor-danger-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:54px;
    border-radius:18px;
    text-decoration:none;
    background:#fee2e2;
    color:#b91c1c;
    font-weight:800;
}
.doctor-brand-logo-wrap{
    width:116px;
    height:116px;
    margin:0 auto 16px;
    border-radius:28px;
    /* background:linear-gradient(135deg,#fee2e2,#fee2e2); */
    display:flex;
    align-items:center;
    justify-content:center;
    /* box-shadow:0 14px 30px rgba(232,119,34,.18); */
    padding:14px;
}

.doctor-brand-logo{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:18px;
}

.doctor-swal-popup{
    width:calc(100% - 32px) !important;
    max-width:360px !important;
    border-radius:26px !important;
    padding:22px 18px 18px !important;
    box-shadow:0 20px 50px rgba(17,24,39,.16) !important;
}

.doctor-swal-title{
    font-size:24px !important;
    font-weight:800 !important;
    color:#1F2937 !important;
    padding:0 !important;
    margin-top:4px !important;
}

.doctor-swal-text{
    font-size:14px !important;
    line-height:1.7 !important;
    color:#6B7280 !important;
}

.doctor-swal-confirm{
    width:100%;
    min-height:52px;
    border:0;
    border-radius:18px;
    background:linear-gradient(135deg,#E87722,#F4B63D);
    color:#fff;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(232,119,34,.18);
}

.doctor-swal-loader-text{
    font-size:14px;
    color:#6B7280;
    line-height:1.7;
    margin-top:6px;
}

.doctor-home-hero.compact{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 14px;
    border-radius:22px;
    background:linear-gradient(135deg,#ffffff 0%, #f7f9fc 100%);
    border:1px solid rgba(47,87,154,.10);
    box-shadow:0 10px 30px rgba(20,31,56,.08);
    margin-bottom:14px;
}

.doctor-home-user{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.doctor-home-avatar{
    width:52px;
    height:52px;
    border-radius:16px;
    object-fit:cover;
    border:2px solid rgba(47,87,154,.14);
}

.doctor-home-user-text h1{
    margin:2px 0 4px;
    font-size:18px;
    line-height:1.15;
}

.doctor-home-user-text span{
    font-size:11px;
    color:#7f8a9a;
}

.doctor-home-user-text p{
    margin:0;
    font-size:12px;
    color:#566173;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:180px;
}

.doctor-hero-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.doctor-icon-btn{
    position:relative;
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid rgba(47,87,154,.10);
    color:#2f579a;
    text-decoration:none;
    box-shadow:0 6px 18px rgba(20,31,56,.06);
}

.doctor-badge{
    position:absolute;
    top:-4px;
    right:-4px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#ff4d4f;
    color:#fff;
    font-size:10px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
}

.doctor-shortcut-icon.with-badge{
    position:relative;
}

.doctor-stats-grid-top{
    margin-top:2px;
}

.doctor-home-hero-medical{
    padding:14px 14px;
    border-radius:22px;
    background:linear-gradient(135deg,#ffffff 0%, #fff8f1 100%);
    border:1px solid rgba(232,119,34,.12);
    box-shadow:0 10px 30px rgba(232,119,34,.10);
    margin-bottom:14px;
}

.doctor-home-user{
    min-width:0;
    flex:1;
}

.doctor-home-user-text{
    min-width:0;
    flex:1;
}

.doctor-home-user-text h1{
    margin:2px 0 4px;
    font-size:18px;
    line-height:1.15;
}

.doctor-home-user-text p{
    margin:0;
    font-size:12px;
    color:#6b7280;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:180px;
}

.doctor-mini-meta{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:8px;
}

.doctor-mini-meta span{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:11px;
    color:#7b6a58;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.doctor-mini-meta i{
    color:var(--primary);
    width:14px;
    text-align:center;
}

.doctor-hero-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-shrink:0;
}

.doctor-icon-btn{
    position:relative;
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid rgba(232,119,34,.10);
    color:var(--primary);
    text-decoration:none;
    box-shadow:0 6px 18px rgba(232,119,34,.08);
}

.doctor-badge{
    position:absolute;
    top:-4px;
    right:-4px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:10px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
}

.doctor-shortcut-icon.with-badge{
    position:relative;
}

@media (max-width:380px){
    .doctor-home-hero-medical{
        align-items:flex-start;
    }

    .doctor-home-user{
        align-items:flex-start;
    }

    .doctor-home-user-text p{
        max-width:150px;
    }

    .doctor-hero-actions{
        flex-direction:column;
    }
}