/* ── Design System: Medical (NHS.UK + Nordhealth) ──
   Refs: https://service-manual.nhs.uk/design-system/styles/colour
         https://nordhealth.design/tokens
         https://github.com/alexpate/awesome-design-systems
*/
:root {
    /* Brand — NHS Blue / Nord accent family */
    --primary: #005eb8;
    --primary-dark: #003087;
    --primary-darker: #002f5c;
    --primary-light: #41b6e6;
    --primary-subtle: rgba(0, 94, 184, 0.1);
    --primary-glow: rgba(0, 94, 184, 0.22);

    /* Clinical accent — NHS Aqua Green */
    --accent: #00a499;
    --accent-soft: rgba(0, 164, 153, 0.12);

    /* Highlight — NHS Warm Yellow (alerts / pending) */
    --highlight: #ffb81c;
    --highlight-soft: rgba(255, 184, 28, 0.16);

    /* Semantic — NHS status colours */
    --success: #007f3b;
    --success-soft: rgba(0, 127, 59, 0.12);
    --warning: #ed8b00;
    --warning-soft: rgba(237, 139, 0, 0.14);
    --danger: #d5281b;
    --focus: #ffeb3b;
    --focus-text: #212b32;

    /* Neutrals — NHS Grey scale + Nord charcoal */
    --text: #212b32;
    --text-secondary: #4c6272;
    --text-muted: #768692;
    --text-inverse: #ffffff;

    --surface: #f0f4f5;
    --surface-elevated: #ffffff;
    --border: #d8dde0;
    --border-light: #f0f4f5;

    --nav-bg: rgba(255, 255, 255, 0.92);
    --footer-bg: #003087;
    --footer-surface: #002f5c;

    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;

    --shadow-xs: 0 1px 2px rgba(33, 43, 50, 0.04);
    --shadow-sm: 0 2px 8px rgba(33, 43, 50, 0.06);
    --shadow-md: 0 8px 28px rgba(33, 43, 50, 0.08);
    --shadow-lg: 0 16px 48px rgba(33, 43, 50, 0.12);
    --shadow-primary: 0 8px 24px var(--primary-glow);

    --transition: 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);

    /* Bootstrap 5 theme bridge — forces all .btn-primary / links to medical palette */
    --bs-primary: #005eb8;
    --bs-primary-rgb: 0, 94, 184;
    --bs-link-color: #005eb8;
    --bs-link-hover-color: #003087;
    --bs-success: #007f3b;
    --bs-danger: #d5281b;
    --bs-warning: #ed8b00;
    --bs-body-color: #212b32;
    --bs-body-bg: #f0f4f5;
    --bs-border-color: #d8dde0;
}

* { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    overflow-x: clip;
    font-family: Tahoma, Arial, sans-serif;
    background: var(--surface);
    background-image:
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(0, 94, 184, 0.08), transparent),
        radial-gradient(ellipse 60% 40% at 100% 0%, rgba(65, 182, 230, 0.06), transparent);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: var(--text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-align: start;
}

/* ── RTL utilities ── */
[dir="rtl"] .icon-arrow {
    flex-shrink: 0;
    transition: transform var(--transition);
}

.feature-link:hover .icon-arrow,
.faq-preview-more:hover .icon-arrow,
.btn-hero-primary:hover .icon-arrow {
    transform: translateX(-3px);
}

.site-main {
    flex: 1;
    min-width: 0;
}

.site-header {
    min-width: 0;
}

::selection {
    background: var(--primary-subtle);
    color: var(--primary-darker);
}

/* ── Scroll animation ── */
[data-animate] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

[data-animate].is-visible {
    opacity: 1;
    transform: translateY(0);
}

[data-animate]:nth-child(2) { transition-delay: 0.08s; }
[data-animate]:nth-child(3) { transition-delay: 0.16s; }

/* ── Skip link ── */
.skip-link {
    position: absolute;
    top: -100%;
    right: 1rem;
    z-index: 1100;
    padding: 0.6rem 1rem;
    background: var(--primary-dark);
    color: #fff;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: top var(--transition);
}

.skip-link:focus {
    top: 0;
    outline: 3px solid var(--focus);
    outline-offset: 0;
    box-shadow: 0 0 0 6px var(--focus-text);
    background: var(--focus);
    color: var(--focus-text);
}

/* ── Navbar ── */
.site-nav {
    position: sticky;
    top: 0;
    z-index: 1030;
    padding-block: 0.35rem;
    transition: box-shadow var(--transition);
    border-top: 4px solid var(--primary);
    background: #fff !important;
}

.site-nav.is-scrolled {
    box-shadow: var(--shadow-sm);
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--text) !important;
    text-decoration: none;
}

.navbar-brand:hover {
    color: var(--text) !important;
}

.brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: var(--primary);
    color: #fff;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.site-nav .nav-link {
    color: var(--text-secondary);
    font-weight: 500;
    font-size: 0.9rem;
    padding: 0.5rem 0.85rem !important;
    transition: color var(--transition);
}

.site-nav .nav-link:hover,
.site-nav .nav-link:focus {
    color: var(--primary);
}

.site-nav .nav-link.active {
    color: var(--primary-dark);
    font-weight: 600;
}

.navbar-brand:focus-visible,
.site-nav .nav-link:focus-visible,
.site-nav .btn:focus-visible,
.btn:focus-visible,
a:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
    box-shadow: 0 0 0 6px var(--focus-text);
}

/* Header action buttons */
.nav-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    padding-bottom: 0.85rem;
}

@media (min-width: 992px) {
    .nav-actions {
        flex-direction: row;
        align-items: center;
        gap: 0.45rem;
        padding-bottom: 0;
        margin-inline-start: 0.5rem;
    }
}

.nav-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 38px;
    padding: 0.45rem 0.95rem;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 10px;
    border-width: 2px;
    border-style: solid;
    white-space: nowrap;
    transition: background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.nav-actions .btn:active {
    transform: translateY(1px);
}

.btn-nav-primary {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(0, 94, 184, 0.28);
}

.btn-nav-primary:hover,
.btn-nav-primary:focus {
    background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(0, 94, 184, 0.34);
}

.btn-nav-outline {
    background: #fff !important;
    border-color: var(--primary) !important;
    color: var(--primary-dark) !important;
}

.btn-nav-outline:hover,
.btn-nav-outline:focus {
    background: var(--primary-subtle) !important;
    border-color: var(--primary-dark) !important;
    color: var(--primary-darker) !important;
}

.btn-nav-ghost {
    background: transparent !important;
    border-color: var(--border) !important;
    color: var(--text-secondary) !important;
    font-weight: 600 !important;
}

.btn-nav-ghost:hover,
.btn-nav-ghost:focus {
    background: var(--surface) !important;
    border-color: var(--text-muted) !important;
    color: var(--text) !important;
}

.nav-actions form {
    display: flex;
}

.nav-actions form .btn {
    width: 100%;
}

@media (min-width: 992px) {
    .nav-actions form .btn {
        width: auto;
    }
}

@media (max-width: 991.98px) {
    .site-nav .navbar-collapse {
        padding-top: 0.75rem;
    }

    .site-nav .nav-link.active {
        background: var(--primary-subtle);
        border-radius: var(--radius-sm);
    }

    .nav-actions {
        margin-top: 0.5rem;
        padding-top: 0.85rem;
        border-top: 1px solid var(--border);
    }
}

/* ── Cards ── */
.card {
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    background: var(--surface-elevated);
}

.card-header-gradient {
    background: linear-gradient(135deg, var(--primary-darker) 0%, var(--primary) 50%, var(--primary-light) 100%);
    color: #fff;
    padding: 1.75rem 1.5rem;
    position: relative;
    overflow: hidden;
}

.card-header-gradient::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 90% 10%, rgba(255,255,255,0.15) 0%, transparent 50%);
    pointer-events: none;
}

.card-header-gradient > * { position: relative; }

.card-header-dark {
    background: linear-gradient(135deg, var(--footer-bg), var(--footer-surface));
    color: #fff;
    padding: 1.25rem 1.5rem;
}

/* ── Buttons (NHS/Nord: solid, high-trust CTAs) ── */
.btn-primary {
    background: var(--primary);
    border: 2px solid transparent;
    border-radius: var(--radius-sm);
    padding: 0.65rem 1.75rem;
    font-weight: 600;
    font-size: 0.92rem;
    color: var(--text-inverse);
    box-shadow: none;
    transition: background var(--transition), box-shadow var(--transition), transform var(--transition);
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--primary-dark);
    border-color: transparent;
    color: var(--text-inverse);
    box-shadow: var(--shadow-primary);
    transform: translateY(-1px);
}

.btn-primary:active {
    background: var(--primary-darker);
    transform: translateY(0);
}

.btn-primary:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
    box-shadow: 0 0 0 6px var(--focus-text);
}

.btn-outline-secondary {
    border-radius: var(--radius-sm);
    border-color: var(--border);
    color: var(--text-secondary);
    font-weight: 500;
    transition: border-color var(--transition), background var(--transition);
}

.btn-outline-secondary:hover {
    background: var(--surface);
    border-color: var(--text-muted);
    color: var(--text);
}

.btn-outline-danger {
    border-radius: var(--radius-sm);
    font-weight: 500;
    border-color: rgba(220, 38, 38, 0.4);
    color: var(--danger);
    background: #fef2f2;
    transition: background var(--transition), border-color var(--transition), color var(--transition);
}

.btn-outline-danger:hover {
    background: #fee2e2;
    border-color: var(--danger);
    color: #991b1b;
}

.btn-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--danger) !important;
    border: 1.5px solid rgba(220, 38, 38, 0.35) !important;
    background: #fef2f2 !important;
    padding: 0.35rem 0.7rem;
    line-height: 1.25;
    transition: background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
    --bs-btn-color: #dc2626;
    --bs-btn-bg: #fef2f2;
    --bs-btn-border-color: rgba(220, 38, 38, 0.35);
    --bs-btn-hover-color: #991b1b;
    --bs-btn-hover-bg: #fee2e2;
    --bs-btn-hover-border-color: #dc2626;
    --bs-btn-active-color: #991b1b;
    --bs-btn-active-bg: #fecaca;
    --bs-btn-active-border-color: #dc2626;
}

.btn.btn-sm.btn-delete {
    padding: 0.3rem 0.65rem;
    font-size: 0.8rem;
}

.btn-delete:hover,
.btn-delete:focus-visible {
    background: #fee2e2 !important;
    border-color: var(--danger) !important;
    color: #991b1b !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.btn-delete .btn-delete-icon {
    flex-shrink: 0;
    opacity: 0.9;
}

.btn-outline-primary {
    border-radius: var(--radius-sm);
    border-color: var(--primary);
    color: var(--primary-dark);
    font-weight: 500;
    transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.btn-outline-primary:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

/* ── Forms ── */
/* Forms — minimal borders, soft contrast */
.form-label {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 0.4rem;
}

.form-label.small,
.form-label.text-muted,
.small.text-muted.form-label {
    color: var(--text-secondary) !important;
    font-weight: 600;
    font-size: 0.88rem;
}

.form-control,
.form-select {
    border-radius: 8px;
    padding: 0.65rem 0.85rem;
    border: 1px solid #d8dde0;
    background: #ffffff;
    color: var(--text);
    font-size: 0.95rem;
    min-height: 2.6rem;
    box-shadow: none;
    transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.form-control-sm,
.form-select-sm {
    min-height: 2.2rem;
    font-size: 0.9rem;
    padding: 0.35rem 0.6rem;
    border-width: 1px;
    border-radius: 6px;
}

.form-control::placeholder {
    color: #aeb7bd;
    opacity: 1;
}

.form-control:hover,
.form-select:hover {
    border-color: #aeb7bd;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: 0 0 0 3px var(--primary-subtle);
    background: #fff;
}

.form-text,
.admin-section-hint {
    color: var(--text-muted);
    font-size: 0.88rem;
}

/* ── Alerts ── */
.alert {
    border-radius: var(--radius);
    border: none;
    font-size: 0.9rem;
}

.alert-danger {
    background: rgba(213, 40, 27, 0.08);
    color: #8a1510;
    border-inline-start: 4px solid var(--danger);
}

.alert-success {
    background: var(--success-soft);
    color: #004e24;
    border-inline-start: 4px solid var(--success);
}

/* ── Hero (NHS clinical light) ── */
.hero {
    background:
        linear-gradient(180deg, #ffffff 0%, #e8f4fc 55%, var(--surface) 100%);
    color: var(--text);
    padding: 5rem 0 6rem;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
}

.hero-home {
    padding: clamp(3rem, 6vw, 4.5rem) 0 clamp(4rem, 7vw, 5rem);
    overflow-x: clip;
}

.hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    pointer-events: none;
    z-index: 0;
}

.hero-glow--1 {
    width: 480px;
    height: 480px;
    top: -20%;
    inset-inline-end: -5%;
    background: rgba(0, 94, 184, 0.14);
}

.hero-glow--2 {
    width: 360px;
    height: 360px;
    bottom: -10%;
    inset-inline-start: -8%;
    background: rgba(0, 164, 153, 0.12);
}

.hero-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(0, 94, 184, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 184, 0.05) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(ellipse 75% 65% at 50% 35%, black 15%, transparent 78%);
    -webkit-mask-image: radial-gradient(ellipse 75% 65% at 50% 35%, black 15%, transparent 78%);
    pointer-events: none;
}

.hero::before {
    content: '';
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--primary-dark), var(--primary) 50%, var(--accent));
    z-index: 2;
}

.hero::after {
    display: none;
}

.hero .container { position: relative; z-index: 1; }

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--primary-subtle);
    border: 1px solid rgba(0, 94, 184, 0.2);
    color: var(--primary-dark);
    padding: 0.4rem 1.1rem;
    border-radius: 50px;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 1.25rem;
    letter-spacing: 0.02em;
}

.hero-badge-dot {
    width: 7px;
    height: 7px;
    background: var(--success);
    border-radius: 50%;
    animation: pulse 2s ease infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(0.85); }
}

.hero h1,
.hero-title {
    font-size: clamp(1.85rem, 4.5vw, 3rem);
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.hero-content {
    text-align: start;
    max-width: 540px;
}

.hero-content-col {
    display: flex;
    justify-content: flex-start;
}

@media (min-width: 992px) {
    .hero-content-col {
        padding-inline-end: 1.5rem;
    }
}

.hero-visual-col {
    display: flex;
    justify-content: center;
    min-width: 0;
    overflow-x: clip;
}

@media (min-width: 992px) {
    .hero-visual-col {
        justify-content: flex-end;
    }
}

.hero-highlight {
    color: var(--primary);
    background: none;
    -webkit-text-fill-color: var(--primary);
}

.hero-lead {
    color: var(--text-secondary);
    opacity: 1;
    font-size: 1.08rem;
    max-width: 480px;
    line-height: 1.8;
    font-weight: 400;
}

.hero-home .hero-content {
    margin-inline: auto;
    text-align: center;
    max-width: 640px;
}

.hero-home .hero-lead {
    margin-inline: auto;
}

.hero-visual {
    position: relative;
    max-width: min(420px, 100%);
    margin-inline: auto;
    padding: 1.75rem 0 0.5rem;
    overflow-x: clip;
    z-index: 2;
}

.hero-visual-caption {
    margin: 1.25rem 0 0;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.72);
    letter-spacing: 0.01em;
}

.hero-icon-hub {
    position: relative;
    width: min(360px, 100%);
    height: min(360px, 100%);
    margin-inline: auto;
    padding-bottom: 2.75rem;
}

.hero-icon-hub__aura {
    position: absolute;
    inset: -6%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(65, 182, 230, 0.14) 0%, transparent 62%);
    pointer-events: none;
    animation: hubAuraBreath 6s ease-in-out infinite;
}

@keyframes hubAuraBreath {
    0%, 100% { opacity: 0.7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.04); }
}

.hero-icon-hub__glow {
    position: absolute;
    inset: 10%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(65, 182, 230, 0.32) 0%, transparent 68%);
    pointer-events: none;
}

.hero-icon-hub__track {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    animation: hubTrackSpin 48s linear infinite reverse;
}

@keyframes hubTrackSpin {
    to { transform: rotate(360deg); }
}

.hero-icon-hub__ring {
    position: absolute;
    inset: 14%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    pointer-events: none;
}

.hero-icon-hub__ring::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    background: conic-gradient(from 210deg, transparent, rgba(65, 182, 230, 0.55), rgba(255, 255, 255, 0.2) 18%, transparent 35%);
    mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 0.5px));
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 0.5px));
    animation: hubRingSpin 18s linear infinite;
}

@keyframes hubRingSpin {
    to { transform: rotate(360deg); }
}

.hero-icon-hub__center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 96px;
    height: 96px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(155deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.06));
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.04), 0 20px 48px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    pointer-events: none;
    z-index: 1;
    animation: hubCenterPulse 4s ease-in-out infinite;
}

.hero-icon-hub__center-ring {
    position: absolute;
    inset: -14px;
    border-radius: 50%;
    border: 1px dashed rgba(255, 255, 255, 0.18);
    animation: hubCenterRingSpin 24s linear infinite;
}

@keyframes hubCenterRingSpin {
    to { transform: rotate(-360deg); }
}

.hero-icon-hub__center-icon {
    display: flex;
    line-height: 0;
}

.hero-icon-hub__center-label {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    opacity: 0.88;
    line-height: 1;
}

@keyframes hubCenterPulse {
    0%, 100% { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.04), 0 20px 48px rgba(0, 0, 0, 0.24); }
    50% { box-shadow: 0 0 0 14px rgba(65, 182, 230, 0.14), 0 24px 56px rgba(0, 0, 0, 0.28); }
}

.hero-icon-hub__callout {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    min-width: 160px;
    padding: 0.55rem 1rem;
    background: rgba(15, 23, 42, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
    z-index: 5;
}

.hero-icon-hub__callout-step {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--primary-light);
    letter-spacing: 0.03em;
}

.hero-icon-hub__callout-text {
    font-size: 0.78rem;
    font-weight: 700;
    color: #f8fafc;
    white-space: nowrap;
}

.hero-icon-orbit {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hero-icon-orbit__item {
    --icon-accent: rgba(65, 182, 230, 0.85);
    --icon-accent-soft: rgba(65, 182, 230, 0.18);
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    z-index: 2;
    transform: rotate(var(--angle)) translateY(min(-132px, -39vw)) rotate(calc(-1 * var(--angle)));
    animation: hubItemIn 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) backwards;
    animation-delay: var(--delay, 0s);
}

.hero-icon-orbit__item.is-accent-teal { --icon-accent: #41b6e6; --icon-accent-soft: rgba(65, 182, 230, 0.2); }
.hero-icon-orbit__item.is-accent-sky { --icon-accent: #38bdf8; --icon-accent-soft: rgba(56, 189, 248, 0.2); }
.hero-icon-orbit__item.is-accent-emerald { --icon-accent: #00a499; --icon-accent-soft: rgba(0, 164, 153, 0.2); }
.hero-icon-orbit__item.is-accent-amber { --icon-accent: #fbbf24; --icon-accent-soft: rgba(251, 191, 36, 0.2); }
.hero-icon-orbit__item.is-accent-indigo { --icon-accent: #3559c7; --icon-accent-soft: rgba(53, 89, 199, 0.2); }

@keyframes hubItemIn {
    from {
        opacity: 0;
        transform: rotate(var(--angle)) translateY(min(-100px, -30vw)) rotate(calc(-1 * var(--angle))) scale(0.6);
    }
    to {
        opacity: 1;
        transform: rotate(var(--angle)) translateY(min(-132px, -39vw)) rotate(calc(-1 * var(--angle))) scale(1);
    }
}

.hero-icon-orbit__item:has(.hero-icon-btn:hover),
.hero-icon-orbit__item:has(.hero-icon-btn:focus-visible),
.hero-icon-orbit__item:has(.hero-icon-btn.is-tip-open),
.hero-icon-orbit__item.is-active {
    z-index: 30;
}

.hero-icon-orbit__item.is-active .hero-icon-btn {
    transform: scale(1.12);
    background: var(--icon-accent-soft);
    border-color: var(--icon-accent);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.12) inset, 0 0 24px var(--icon-accent-soft);
}

.hero-icon-orbit__item.is-active .hero-icon-btn__step {
    background: var(--icon-accent);
    color: #0f172a;
    border-color: transparent;
}

.hero-icon-orbit__item.is-active .hero-icon-btn__icon {
    color: var(--icon-accent);
}

.hero-icon-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: -29px 0 0 -29px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
    transition: transform 0.28s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, color 0.28s ease;
}

.hero-icon-btn__step {
    position: absolute;
    top: -7px;
    inset-inline-end: -7px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.88);
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease;
    z-index: 2;
}

.hero-icon-btn__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    transition: color 0.28s ease;
}

.hero-icon-btn:hover,
.hero-icon-btn:focus-visible {
    transform: scale(1.1);
    background: var(--icon-accent-soft);
    border-color: var(--icon-accent);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 0 20px var(--icon-accent-soft);
    outline: none;
}

.hero-icon-btn:hover .hero-icon-btn__icon,
.hero-icon-btn:focus-visible .hero-icon-btn__icon {
    color: var(--icon-accent);
}

.hero-icon-btn:hover .hero-icon-btn__step,
.hero-icon-btn:focus-visible .hero-icon-btn__step {
    background: var(--icon-accent);
    color: #0f172a;
    border-color: transparent;
}

.hero-icon-btn:active {
    transform: scale(1.04);
}

.hero-icon-tip {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    padding: 0.45rem 0.8rem;
    background: rgba(15, 23, 42, 0.94);
    color: #f8fafc;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    z-index: 20;
}

.hero-icon-tip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: rgba(15, 23, 42, 0.94);
}

.hero-icon-btn:hover .hero-icon-tip,
.hero-icon-btn:focus-visible .hero-icon-tip,
.hero-icon-btn.is-tip-open .hero-icon-tip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.hero-icon-orbit__item.is-tip-below .hero-icon-tip {
    bottom: auto;
    top: calc(100% + 10px);
    transform: translateX(-50%) translateY(-6px);
}

.hero-icon-orbit__item.is-tip-below .hero-icon-btn:hover .hero-icon-tip,
.hero-icon-orbit__item.is-tip-below .hero-icon-btn:focus-visible .hero-icon-tip,
.hero-icon-orbit__item.is-tip-below .hero-icon-btn.is-tip-open .hero-icon-tip {
    transform: translateX(-50%) translateY(0);
}

.hero-icon-orbit__item.is-tip-below .hero-icon-tip::after {
    top: auto;
    bottom: 100%;
    border-top-color: transparent;
    border-bottom-color: rgba(15, 23, 42, 0.94);
}

.hero-visual-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(48px);
    pointer-events: none;
    z-index: 0;
}

.hero-visual-orb--1 {
    width: 220px;
    height: 220px;
    top: 10%;
    inset-inline-end: -5%;
    background: rgba(65, 182, 230, 0.55);
    animation: orbPulse 5s ease-in-out infinite;
}

.hero-visual-orb--2 {
    width: 160px;
    height: 160px;
    bottom: 8%;
    inset-inline-start: -8%;
    background: rgba(99, 102, 241, 0.35);
    animation: orbPulse 6s ease-in-out 1s infinite reverse;
}

@keyframes orbPulse {
    0%, 100% { opacity: 0.7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.12); }
}

.hero-visual-ring {
    position: absolute;
    inset: 12% 8%;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    animation: ringSpin 24s linear infinite;
}

.hero-visual-ring::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0%, rgba(65, 182, 230, 0.5) 25%, transparent 50%);
    mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
}

@keyframes ringSpin {
    to { transform: rotate(360deg); }
}

/* Floating cards */
.hero-float {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.95rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 16px;
    box-shadow:
        0 4px 24px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.1) inset;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.hero-float--sms {
    top: 2%;
    inset-inline-end: -2%;
    max-width: 230px;
    animation: floatCard 5s ease-in-out infinite, fadeSlideIn 0.7s ease 0.2s both;
}

.hero-float--speed {
    bottom: 14%;
    inset-inline-start: -6%;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    padding: 0.85rem 1.1rem;
    background: linear-gradient(135deg, #003087 0%, #41b6e6 100%);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    animation: floatCard 6s ease-in-out 0.8s infinite reverse, fadeSlideIn 0.7s ease 0.5s both;
}

@keyframes floatCard {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes fadeSlideIn {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

.hero-float-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.hero-float-icon--sms {
    background: linear-gradient(135deg, #d6ebf8, #a8d4f0);
    color: var(--primary-darker);
}

.hero-float-text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.hero-float-text strong {
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--text);
}

.hero-float-text span {
    font-size: 0.68rem;
    color: var(--text-muted);
    line-height: 1.4;
}

.hero-float-speed-num {
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.03em;
}

.hero-float-speed-label {
    font-size: 0.68rem;
    font-weight: 600;
    opacity: 0.9;
    white-space: nowrap;
}

/* Phone mockup */
.hero-phone {
    position: relative;
    z-index: 2;
    margin: 3.5rem auto 0;
    width: min(280px, 78vw);
    animation: phoneFloat 7s ease-in-out infinite;
    transform-style: preserve-3d;
    transform: rotateY(-12deg) rotateX(6deg);
}

@keyframes phoneFloat {
    0%, 100% { transform: rotateY(-12deg) rotateX(6deg) translateY(0); }
    50% { transform: rotateY(-10deg) rotateX(4deg) translateY(-14px); }
}

.hero-phone-shell {
    position: relative;
    padding: 10px;
    border-radius: 36px;
    background: linear-gradient(145deg, #1e293b 0%, #0f172a 50%, #334155 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.1),
        0 30px 60px rgba(0, 0, 0, 0.45),
        0 0 80px rgba(65, 182, 230, 0.15);
}

.hero-phone-shell::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 36px;
    padding: 1px;
    background: linear-gradient(160deg, rgba(255,255,255,0.35), transparent 40%, rgba(65,182,230,0.4));
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    -webkit-mask-composite: xor;
    pointer-events: none;
}

.hero-phone-notch {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    width: 72px;
    height: 22px;
    background: #0f172a;
    border-radius: 0 0 14px 14px;
    z-index: 3;
}

.hero-phone-screen {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: 2.5rem 1rem 1.25rem;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    min-height: 380px;
}

.hero-phone-screen::before {
    content: '';
    position: absolute;
    top: -40%;
    inset-inline-end: -30%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(65, 182, 230, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.phone-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 0.85rem;
    position: relative;
    z-index: 1;
}

.phone-status-icons {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    opacity: 0.7;
}

.phone-app-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-secondary);
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.phone-app-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 8px var(--primary-glow);
    animation: pulse 2s ease infinite;
}

.phone-success {
    text-align: center;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.phone-success-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #007f3b, #00a499);
    color: #fff;
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.4);
    animation: successPop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s both;
}

@keyframes successPop {
    from { transform: scale(0); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.phone-success-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--text);
}

.phone-ticket {
    position: relative;
    z-index: 1;
    padding: 1rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-md);
}

.phone-ticket::before,
.phone-ticket::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    background: #f1f5f9;
    border-radius: 50%;
    border: 1px solid var(--border);
}

.phone-ticket::before { inset-inline-start: -8px; }
.phone-ticket::after { inset-inline-end: -8px; }

.phone-ticket-row {
    display: flex;
    align-items: stretch;
    margin-bottom: 0.85rem;
}

.phone-ticket-cell {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    text-align: center;
}

.phone-ticket-cell small {
    font-size: 0.62rem;
    color: var(--text-muted);
    font-weight: 500;
}

.phone-ticket-cell strong {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text);
    line-height: 1.2;
}

.phone-ticket-cell span {
    font-size: 0.62rem;
    color: var(--primary);
    font-weight: 600;
}

.phone-ticket-cell--time strong {
    font-size: 1.15rem;
    color: var(--primary-darker);
}

.phone-ticket-sep {
    width: 1px;
    margin: 0 0.5rem;
    background: repeating-linear-gradient(
        to bottom,
        var(--border) 0,
        var(--border) 4px,
        transparent 4px,
        transparent 8px
    );
}

.phone-ticket-code-wrap {
    text-align: center;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--border);
}

.phone-ticket-code-wrap small {
    display: block;
    font-size: 0.62rem;
    color: var(--text-muted);
    margin-bottom: 0.35rem;
}

.phone-ticket-code-wrap code {
    display: block;
    font-family: ui-monospace, 'Cascadia Code', monospace;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    color: var(--primary-darker);
    background: linear-gradient(135deg, var(--primary-subtle), rgba(65, 182, 230, 0.15));
    padding: 0.4rem 0.75rem;
    border-radius: 10px;
}

.phone-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-top: 1rem;
    position: relative;
    z-index: 1;
}

.phone-progress-step {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--border);
    flex-shrink: 0;
}

.phone-progress-step--done {
    background: var(--success);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.2);
}

.phone-progress-step--active {
    background: var(--primary);
    box-shadow: 0 0 0 4px var(--primary-glow);
    animation: pulse 2s ease infinite;
}

.phone-progress-line {
    width: 36px;
    height: 2px;
    background: var(--border);
}

.phone-progress-line--done {
    background: linear-gradient(90deg, var(--success), var(--primary));
}

.phone-progress-label {
    margin: 0.45rem 0 0;
    text-align: center;
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--text-muted);
    position: relative;
    z-index: 1;
}

.hero-secondary-link {
    margin-top: 1.25rem;
    font-size: 0.88rem;
    opacity: 0.85;
}

.hero-secondary-link a {
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 255, 255, 0.4);
    transition: text-decoration-color var(--transition);
}

.hero-secondary-link a:hover {
    text-decoration-color: #fff;
}

.hero-cta {
    margin-top: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.hero-cta .btn {
    padding: 0.85rem 2rem;
    font-weight: 700;
    border-radius: var(--radius);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.95rem;
}

.btn-hero-primary {
    background: var(--primary);
    color: #fff;
    border: 2px solid var(--primary);
    box-shadow: var(--shadow-primary);
}

.btn-hero-primary:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px var(--primary-glow);
}

.btn-hero-outline {
    border: 2px solid var(--primary);
    color: var(--primary-dark);
    background: #fff;
}

.btn-hero-outline:hover {
    background: var(--primary-subtle);
    color: var(--primary-darker);
    border-color: var(--primary-dark);
    transform: translateY(-2px);
}

.hero-stats {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 2.25rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--border);
    flex-wrap: wrap;
}

.hero-stat-divider {
    width: 1px;
    height: 36px;
    background: var(--border);
}

.hero-stat-value {
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--primary-dark);
}

.hero-stat-label {
    font-size: 0.78rem;
    color: var(--text-muted);
    opacity: 1;
    margin-top: 0.15rem;
}

/* Trust bar */
.trust-bar {
    position: relative;
    z-index: 5;
    margin-top: -3.25rem;
    padding-bottom: 0.5rem;
}

.trust-bar-card {
    background: var(--surface-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    padding: 1.35rem 1.5rem;
}

.trust-bar-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.65rem 1.25rem;
    position: relative;
}

.trust-item:not(:last-child)::after {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 52px;
    background: linear-gradient(180deg, transparent, var(--border) 20%, var(--border) 80%, transparent);
}

[dir="rtl"] .trust-item:not(:last-child)::after {
    inset-inline-start: auto;
    inset-inline-end: 0;
}

.trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    flex-shrink: 0;
    transition: transform var(--transition);
}

.trust-item:hover .trust-icon {
    transform: scale(1.06);
}

.trust-icon.teal { background: var(--primary-subtle); color: var(--primary-dark); }
.trust-icon.emerald { background: var(--success-soft); color: var(--success); }
.trust-icon.amber { background: var(--highlight-soft); color: var(--warning); }
.trust-icon.slate { background: rgba(76, 98, 114, 0.12); color: var(--text-secondary); }

.trust-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.trust-label {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.35;
}

.trust-desc {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-muted);
    line-height: 1.45;
}

.home-content {
    margin-top: 0;
    position: relative;
    z-index: 2;
    padding-top: 3.5rem;
    padding-bottom: 2rem;
}

.home-section-header {
    margin-bottom: 2.5rem;
}

.home-section-title {
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    font-weight: 800;
    color: var(--text);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
}

.home-section-desc {
    color: var(--text-muted);
    font-size: 0.95rem;
    max-width: 480px;
    margin: 0 auto;
}

/* ── Feature cards ── */
.feature-card {
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: 2rem 1.75rem;
    height: 100%;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(0, 94, 184, 0.15);
}

.feature-icon {
    width: 54px;
    height: 54px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.15rem;
    transition: transform var(--transition);
}

.feature-card:hover .feature-icon {
    transform: scale(1.05);
}

.feature-icon.teal { background: var(--primary-subtle); color: var(--primary-dark); }
.feature-icon.emerald { background: var(--success-soft); color: var(--success); }
.feature-icon.amber { background: var(--highlight-soft); color: var(--warning); }

.feature-card h5,
.feature-title {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--text);
    margin-bottom: 0.5rem;
}

.feature-desc {
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.75;
    margin-bottom: 1rem;
}

.feature-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--primary-dark);
    text-decoration: none;
    transition: gap var(--transition), color var(--transition);
}

.feature-link:hover {
    color: var(--primary-darker);
    gap: 0.55rem;
}

.feature-card--linked {
    display: flex;
    flex-direction: column;
}

.feature-card--linked .feature-link {
    margin-top: auto;
}

.home-features .col-md-4:nth-child(1) [data-animate] { transition-delay: 0s; }
.home-features .col-md-4:nth-child(2) [data-animate] { transition-delay: 0.1s; }
.home-features .col-md-4:nth-child(3) [data-animate] { transition-delay: 0.2s; }

.section-label {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--primary);
    background: var(--primary-subtle);
    padding: 0.3rem 0.85rem;
    border-radius: 50px;
    margin-bottom: 0.75rem;
}

/* ── Steps & CTA ── */
.step-number {
    width: 44px;
    height: 44px;
    background: var(--primary);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    flex-shrink: 0;
    box-shadow: var(--shadow-primary);
}

.steps-card {
    border: 1px solid var(--border-light);
    background: var(--surface-elevated);
}

.steps-card .card-body {
    padding: 2.5rem 2rem !important;
}

/* Steps timeline */
.steps-section {
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-xl);
    padding: 2.5rem 2rem;
    box-shadow: var(--shadow-md);
}

.steps-timeline {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    position: relative;
}

.steps-timeline::before {
    content: '';
    position: absolute;
    top: 52px;
    right: 16%;
    left: 16%;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-subtle), var(--primary-light), var(--primary-subtle));
    z-index: 0;
}

.step-item {
    position: relative;
    z-index: 1;
}

.step-card {
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: 1.75rem 1.5rem;
    text-align: center;
    height: 100%;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.step-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(0, 94, 184, 0.2);
}

.step-card .step-number {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
}

.step-card {
    position: relative;
    padding-top: 2rem;
}

.step-icon {
    width: 52px;
    height: 52px;
    margin: 0.5rem auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-subtle);
    color: var(--primary-dark);
    border-radius: 14px;
}

.step-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--text);
}

.step-desc {
    font-size: 0.88rem;
    color: var(--text-muted);
    line-height: 1.75;
    margin: 0;
}

/* FAQ preview */
.faq-preview-card {
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: 2rem;
    height: 100%;
    box-shadow: var(--shadow-sm);
}

.faq-preview-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.faq-preview-item {
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--surface);
}

.faq-preview-item summary {
    padding: 0.85rem 1.1rem;
    font-weight: 600;
    font-size: 0.92rem;
    color: var(--text);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background var(--transition);
}

.faq-preview-item summary::-webkit-details-marker {
    display: none;
}

.faq-preview-item summary::after {
    content: '+';
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--primary);
    transition: transform var(--transition);
}

.faq-preview-item[open] summary::after {
    transform: rotate(45deg);
}

.faq-preview-item summary:hover {
    background: var(--primary-subtle);
}

.faq-preview-item p {
    padding: 0 1.1rem 1rem;
    margin: 0;
    font-size: 0.88rem;
    color: var(--text-muted);
    line-height: 1.75;
}

.faq-preview-more {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 1.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--primary-dark);
    text-decoration: none;
    transition: gap var(--transition);
}

.faq-preview-more:hover {
    gap: 0.55rem;
    color: var(--primary-darker);
}

/* Contact preview */
.contact-preview-card {
    background: linear-gradient(160deg, var(--primary-darker) 0%, var(--primary) 100%);
    color: #fff;
    border-radius: var(--radius-lg);
    padding: 2rem;
    height: 100%;
    box-shadow: var(--shadow-lg);
    position: relative;
    overflow: hidden;
}

.contact-preview-card::before {
    content: '';
    position: absolute;
    top: -40%;
    left: -20%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, transparent 70%);
    pointer-events: none;
}

.contact-preview-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    margin-bottom: 1.25rem;
}

.contact-preview-card .text-muted {
    color: rgba(255, 255, 255, 0.75) !important;
}

.contact-preview-list li {
    font-size: 0.92rem;
    padding: 0.35rem 0;
    opacity: 0.9;
}

.contact-preview-card .btn-outline-primary {
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.contact-preview-card .btn-outline-primary:hover {
    background: #fff;
    color: var(--primary-dark);
    border-color: #fff;
}

.cta-banner {
    background: linear-gradient(135deg, var(--surface-elevated), #e8f4fc);
    border: 1px solid rgba(0, 94, 184, 0.15);
    border-radius: var(--radius-lg);
    padding: 2rem 2.25rem;
    margin-bottom: 2rem;
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
}

.cta-banner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, var(--primary-subtle) 0%, transparent 70%);
    pointer-events: none;
}

.cta-banner--final {
    background: linear-gradient(135deg, var(--primary-darker) 0%, var(--primary-dark) 50%, var(--primary) 100%);
    border: none;
    color: #fff;
    padding: 0;
}

.cta-banner--final::before {
    background: radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
    width: 100%;
    height: 100%;
}

.cta-banner-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 2.5rem 2.75rem;
    position: relative;
    z-index: 1;
}

.cta-banner-title {
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
    font-weight: 800;
    margin-bottom: 0.35rem;
    letter-spacing: -0.02em;
}

.cta-banner-desc {
    margin: 0;
    opacity: 0.85;
    font-size: 0.92rem;
}

.cta-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.cta-banner--final .btn-primary {
    background: #fff;
    color: var(--primary-dark);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.cta-banner--final .btn-primary:hover {
    background: #e8f4fc;
    color: var(--primary-darker);
}

.cta-banner--final .btn-outline-secondary {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.cta-banner--final .btn-outline-secondary:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
}

/* ── Success state ── */
.success-state .success-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.25rem;
    background: var(--success-soft);
    color: var(--success);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: scaleIn 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 0 0 8px rgba(0, 127, 59, 0.1);
}

@keyframes scaleIn {
    from { transform: scale(0.4); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

/* ── Status badges (NHS contrast) ── */
.status-badge {
    display: inline-block;
    padding: 0.28rem 0.7rem;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: 0;
    line-height: 1.4;
    border: 1px solid transparent;
}

.badge-pending { background: #fff8e1; color: #6b5300; border-color: transparent; }
.badge-completed { background: #e8f5ee; color: #0b5c32; border-color: transparent; }
.badge-cancelled { background: #fdeceb; color: #9b1c14; border-color: transparent; }
.badge-default { background: #f0f4f5; color: #4c6272; border-color: transparent; }

/* ── Admin stats ── */
.stat-card {
    background: var(--surface-elevated);
    border-radius: var(--radius);
    padding: 1.35rem 1.25rem;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border-light);
    border-right: 4px solid var(--primary);
    transition: transform var(--transition), box-shadow var(--transition);
}

.stat-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.stat-card.stat-pending { border-right-color: var(--warning); }
.stat-card.stat-today { border-right-color: #8b5cf6; }
.stat-card.stat-total { border-right-color: var(--primary); }
.stat-card.stat-completed { border-right-color: var(--success); }
.stat-card.stat-cancelled { border-right-color: var(--danger); }

.stat-card .stat-value {
    font-size: 1.85rem;
    font-weight: 900;
    color: var(--text);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.stat-card .stat-label {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 0.3rem;
    font-weight: 500;
}

/* ── About page ── */
.about-hero {
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: 2.75rem;
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
}

.about-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 120px;
    background: linear-gradient(135deg, var(--primary-subtle), transparent);
    border-radius: 0 0 0 100%;
}

.stat-box {
    text-align: center;
    padding: 1.75rem 1.5rem;
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.stat-box:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(0, 94, 184, 0.2);
}

.stat-box .stat-num {
    font-size: 2.1rem;
    font-weight: 900;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.02em;
}

.info-list li {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--border-light);
}

.info-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* ── Admin table (NHS: aligned columns + contrast) ── */
.admin-table-card {
    margin-bottom: 1.25rem;
}

.admin-table-card > .table-responsive {
    -webkit-overflow-scrolling: touch;
}

.admin-table-card > .table-responsive > .table {
    margin-bottom: 0;
}

.admin-table-card .card-footer {
    padding: 0.85rem 1rem;
    background: #f0f4f5;
    border-top: 1px solid #d8dde0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

.admin-table,
.admin-table-card .table.admin-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    color: var(--text);
    --admin-cell-pad-y: 0.7rem;
    --admin-cell-pad-x: 0.85rem;
}

.admin-table thead th,
.admin-table tbody td,
.admin-table-card .table.admin-table thead th,
.admin-table-card .table.admin-table tbody td,
.admin-table.table > :not(caption) > * > * {
    padding: var(--admin-cell-pad-y) var(--admin-cell-pad-x) !important;
    text-align: start !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #eef2f4;
    color: var(--text);
    font-size: 0.92rem;
    line-height: 1.45;
    unicode-bidi: isolate;
    box-shadow: none !important;
}

/* Prevent Bootstrap/RTL dir=ltr cells from shifting under headers */
.admin-table td[dir="ltr"],
.admin-table th[dir="ltr"] {
    direction: inherit;
    text-align: start !important;
}

.admin-table thead th,
.admin-table-card .table.admin-table thead th {
    background: #f8fafb;
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--text-muted);
    border-bottom: 1px solid #e5ebef;
    white-space: nowrap;
}

.admin-table tbody tr:nth-child(even) {
    background: transparent;
}

.admin-table tbody tr:hover {
    background: #f7fafb;
}

/* Table inputs: quieter than page forms */
.admin-table .form-control,
.admin-table .form-select,
.admin-table .form-control-sm {
    border-color: #e5ebef;
    background: #fbfcfd;
}

.admin-table .form-control:hover,
.admin-table .form-select:hover {
    border-color: #d0d7dd;
    background: #fff;
}

.admin-table .form-control:focus,
.admin-table .form-select:focus {
    border-color: var(--primary);
    background: #fff;
    box-shadow: 0 0 0 2px var(--primary-subtle);
}

/* Keep LTR values under RTL headers: never flip the cell direction */
.admin-table .cell-ltr {
    display: inline-block;
    direction: ltr;
    unicode-bidi: embed;
    text-align: start;
    font-variant-numeric: tabular-nums;
}

.admin-table .font-monospace,
.admin-table .cell-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.admin-table .form-control,
.admin-table .form-select,
.admin-table .form-control-sm {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-color: #e5ebef;
}

.admin-table-check,
.admin-table th.admin-table-check {
    width: 2.75rem;
}

.admin-table-check input {
    margin: 0;
    display: block;
}

.admin-row-form {
    display: none !important;
}

.admin-table--editable {
    table-layout: fixed;
    width: 100%;
    min-width: 40rem;
}

.admin-table--editable .admin-col-name { width: auto; }
.admin-table--editable .admin-col-num { width: 7rem; }
.admin-table--editable .admin-col-check { width: 4.5rem; }
.admin-table--editable .admin-col-actions { width: 12.5rem; }

.admin-table .admin-td-check {
    text-align: start !important;
}

.admin-table .admin-td-check .form-check-input {
    margin: 0;
    float: none;
    position: static;
    display: inline-block;
    vertical-align: middle;
}

.admin-table .admin-td-actions,
.admin-table th.admin-col-actions,
.admin-table td.admin-table-actions {
    width: 12.5rem;
    white-space: nowrap;
}

.admin-table-actions,
.admin-td-actions {
    display: table-cell;
}

.admin-table-actions-group {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    flex-wrap: nowrap;
    width: 100%;
}

.admin-table-actions .d-flex {
    gap: 0.4rem !important;
    justify-content: flex-start !important;
}

.admin-table-actions form,
.admin-delete-form,
.admin-td-actions .admin-delete-form {
    margin: 0;
    display: inline-flex;
    flex: 0 0 auto;
}

.admin-td-actions .btn,
.admin-table-actions-group .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.admin-table--scroll {
    min-width: 52rem;
}

.admin-list-group .list-group-item.d-flex {
    gap: 0.75rem 1rem;
    padding: 0.95rem 1.1rem;
    color: #212b32;
}

.desc-cell {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.status-form select { min-width: 110px; }

.font-monospace { font-family: ui-monospace, monospace; font-size: 0.85rem; }

/* Admin create / edit forms */
.admin-form .form-label {
    display: block;
}

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem 1.25rem;
}

.admin-form-grid .admin-form-full {
    grid-column: 1 / -1;
}

.admin-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.5rem;
    padding-top: 1.15rem;
    border-top: 1px solid #eef2f4;
}

.admin-form-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    color: #212b32;
}

.admin-form-meta strong {
    color: #003087;
}

@media (max-width: 767.98px) {
    .admin-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-table,
    .admin-table-card .table.admin-table {
        table-layout: auto;
    }
}

/* ── Footer ── */
.site-footer {
    background: var(--footer-bg);
    color: #a8c0d8;
    padding: 3.5rem 0 1.75rem;
    margin-top: 4rem;
    position: relative;
}

.site-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-darker), var(--primary), var(--primary-light));
}

.footer-brand {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.footer-brand .brand-icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
}

.footer-title {
    color: var(--text-inverse);
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.footer-text {
    font-size: 0.88rem;
    line-height: 1.85;
    color: #a8c0d8;
}

.footer-links li { margin-bottom: 0.55rem; }

.footer-links a {
    color: #a8c0d8;
    text-decoration: none;
    font-size: 0.88rem;
    transition: color var(--transition), padding-right var(--transition);
    display: inline-block;
}

.footer-links a:hover {
    color: #ffffff;
    padding-right: 4px;
}

.footer-divider {
    border-color: var(--footer-surface);
    margin: 2.25rem 0 1.25rem;
    opacity: 0.6;
}

.footer-copy {
    font-size: 0.82rem;
    color: #8aa8c4;
}

/* ── Page header ── */
.page-hero {
    background: var(--primary-dark);
    color: #fff;
    padding: 2.5rem 0 4.5rem;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
    border-bottom: 4px solid var(--primary);
}

.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 90% 0%, rgba(65, 182, 230, 0.18) 0%, transparent 45%);
    pointer-events: none;
}

.page-hero::after {
    display: none;
}

.page-hero .container { position: relative; z-index: 1; }

.page-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.28rem 0.85rem;
    margin-bottom: 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.page-hero h1 {
    font-size: clamp(1.55rem, 3.2vw, 2.1rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 0.55rem;
}

.page-hero p {
    opacity: 0.9;
    margin: 0 auto;
    max-width: 36rem;
    font-size: 0.98rem;
    line-height: 1.75;
}

.page-hero-compact {
    padding: 1.75rem 0 2rem;
    margin-bottom: 0;
}

.page-hero-compact::after { display: none; }

.page-shell {
    position: relative;
    z-index: 2;
    margin-top: -2.25rem;
    padding-bottom: 3.5rem;
}

.user-panel.page-shell {
    margin-top: 1.5rem;
}

/* ── User panel ── */
.panel-hero {
    margin-bottom: 0;
}

.panel-welcome {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
}

.panel-welcome-user {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.panel-avatar {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.18);
    border: 2px solid rgba(255, 255, 255, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
}

.panel-avatar-lg {
    width: 60px;
    height: 60px;
    font-size: 1.25rem;
    border-radius: 18px;
}

.panel-welcome-greeting {
    font-size: 0.85rem;
    opacity: 0.8;
    margin-bottom: 0.15rem;
}

.panel-welcome-name {
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 0.25rem;
}

.panel-welcome-meta {
    font-size: 0.88rem;
    opacity: 0.85;
    word-break: break-word;
}

.panel-meta-sep {
    margin: 0 0.35rem;
    opacity: 0.5;
}

.panel-welcome-email {
    font-size: 0.82rem;
}

.panel-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.btn-panel-action {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
    font-size: 0.88rem;
    padding: 0.5rem 1rem;
    border-radius: var(--radius-sm);
    white-space: nowrap;
}

.user-panel {
    margin-top: 1.5rem;
    position: relative;
    z-index: 2;
}

.panel-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.9rem 1.15rem;
    border-radius: var(--radius);
    margin-bottom: 1.25rem;
    font-size: 0.92rem;
    font-weight: 500;
}

.panel-alert svg {
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.panel-alert-success {
    background: var(--success-soft);
    color: #065f46;
    border: 1px solid rgba(5, 150, 105, 0.2);
}

.panel-alert-danger {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid rgba(220, 38, 38, 0.15);
}

.panel-stats {
    margin-bottom: 0.5rem;
}

.panel-stat-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1.1rem 1.15rem;
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    box-shadow: var(--shadow-xs);
    text-decoration: none;
    color: inherit;
    height: 100%;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.panel-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: rgba(0, 94, 184, 0.25);
    color: inherit;
}

.panel-stat-card.is-active {
    border-color: var(--primary);
    box-shadow: var(--shadow-primary);
    background: linear-gradient(135deg, #e8f4fc, #fff);
}

.panel-stat-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.panel-stat-total .panel-stat-icon { background: var(--primary-subtle); color: var(--primary-dark); }
.panel-stat-upcoming .panel-stat-icon { background: var(--warning-soft); color: var(--warning); }
.panel-stat-completed .panel-stat-icon { background: var(--success-soft); color: var(--success); }
.panel-stat-cancelled .panel-stat-icon { background: #fee2e2; color: var(--danger); }

.panel-stat-value {
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--text);
}

.panel-stat-label {
    font-size: 0.8rem;
    color: var(--text-muted);
    font-weight: 500;
    margin-top: 0.1rem;
}

.panel-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.panel-section-title {
    font-weight: 800;
    color: var(--text);
    letter-spacing: -0.02em;
}

.user-panel-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.15rem;
    scrollbar-width: none;
}

.user-panel-tabs::-webkit-scrollbar {
    display: none;
}

.user-panel-tab {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.05rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--surface-elevated);
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.user-panel-tab:hover {
    color: var(--primary-dark);
    border-color: rgba(0, 94, 184, 0.35);
    background: #e8f4fc;
}

.user-panel-tab.active {
    color: #fff;
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: 0 4px 14px var(--primary-glow);
}

.panel-appointments {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.panel-appointment-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.25rem;
    align-items: start;
    padding: 1.25rem 1.35rem;
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    box-shadow: var(--shadow-xs);
    transition: box-shadow var(--transition), border-color var(--transition);
}

.panel-appointment-card:hover {
    box-shadow: var(--shadow-sm);
    border-color: rgba(0, 94, 184, 0.18);
}

.panel-appointment-card.is-pending {
    border-right: 3px solid var(--accent);
}

.panel-appointment-date-block {
    flex-shrink: 0;
    width: 72px;
    text-align: center;
    padding: 0.65rem 0.5rem;
    background: linear-gradient(160deg, #e8f4fc, #ecfdf5);
    border: 1px solid rgba(0, 94, 184, 0.15);
    border-radius: var(--radius-sm);
}

.panel-appointment-weekday {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--primary-dark);
    margin-bottom: 0.15rem;
}

.panel-appointment-day {
    display: block;
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1.1;
    color: var(--text);
    letter-spacing: -0.03em;
}

.panel-appointment-month {
    display: block;
    font-size: 0.72rem;
    color: var(--text-muted);
    margin-top: 0.1rem;
    font-weight: 500;
}

.panel-appointment-content {
    min-width: 0;
}

.panel-appointment-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.panel-appointment-time {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--text);
}

.panel-appointment-time svg {
    color: var(--primary);
    flex-shrink: 0;
}

.panel-appointment-date-text {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 0.2rem;
}

.panel-appointment-details {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.65rem 1.25rem;
}

.panel-detail-item {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.panel-detail-item.panel-detail-full {
    grid-column: 1 / -1;
}

.panel-detail-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: none;
}

.panel-detail-value {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text-secondary);
    word-break: break-word;
}

.panel-appointment-actions {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-items: stretch;
    min-width: 108px;
}

.panel-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.45rem 0.75rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--surface-elevated);
    color: var(--text-secondary);
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--transition), color var(--transition), border-color var(--transition);
    white-space: nowrap;
}

.panel-action-btn:hover {
    background: #f8fafc;
    border-color: var(--border);
    color: var(--text);
}

.panel-action-primary {
    color: var(--primary-dark);
    border-color: rgba(0, 94, 184, 0.3);
    background: #e8f4fc;
}

.panel-action-primary:hover {
    background: var(--primary-subtle);
    color: var(--primary-darker);
}

.panel-action-danger {
    color: var(--danger);
    border-color: rgba(220, 38, 38, 0.2);
    background: #fef2f2;
}

.panel-action-danger:hover {
    background: #fee2e2;
    color: #991b1b;
}

.panel-empty-state {
    text-align: center;
    padding: 3.5rem 1.5rem;
    background: var(--surface-elevated);
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
}

.panel-empty-icon {
    color: var(--text-muted);
    opacity: 0.45;
    margin-bottom: 1rem;
}

.panel-pagination {
    display: flex;
    justify-content: center;
}

.panel-pagination .pagination {
    margin-bottom: 0;
}

.panel-reschedule-card {
    border: 1px solid rgba(0, 94, 184, 0.25);
    box-shadow: var(--shadow-md);
}

.panel-card-header {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1.1rem 1.35rem;
    background: linear-gradient(135deg, var(--primary-darker), var(--primary));
    color: #fff;
    border-bottom: none;
}

.panel-card-header-light {
    background: var(--surface-elevated);
    color: var(--text);
    border-bottom: 1px solid var(--border-light);
}

.panel-card-header-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
}

.panel-card-header-icon-primary {
    background: var(--primary-subtle);
    color: var(--primary-dark);
}

.panel-card-header-icon-muted {
    background: #f1f5f9;
    color: var(--text-muted);
}

.panel-settings-card {
    border: 1px solid var(--border-light);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

/* Legacy panel classes (admin reuse) */
.user-appointments-list {
    display: flex;
    flex-direction: column;
}

.user-appointment-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border-light);
    transition: background var(--transition);
}

.user-appointment-item:last-child { border-bottom: none; }
.user-appointment-item:hover { background: linear-gradient(135deg, #f8fafc, #e8f4fc); }
.user-appointment-date { font-weight: 700; color: var(--text); font-size: 0.98rem; }
.user-appointment-time { color: var(--text-muted); font-size: 0.88rem; margin-top: 0.15rem; }
.user-appointment-meta dt { font-weight: 600; }
.user-appointment-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.user-panel .card-footer { overflow-x: auto; }

.page-header {
    padding: 2rem 0 1rem;
}

.page-header h1 {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--text);
    letter-spacing: -0.02em;
}

.page-header p {
    color: var(--text-muted);
    margin-bottom: 0;
}

/* ── Time slots ── */
.slots-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-height: 2.75rem;
    padding: 0.75rem;
    border: 1.5px dashed var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.slot-btn {
    border: 1.5px solid var(--border);
    background: var(--surface-elevated);
    color: var(--text-secondary);
    border-radius: var(--radius-sm);
    padding: 0.5rem 1rem;
    font-size: 0.88rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.slot-btn:hover {
    border-color: var(--primary);
    color: var(--primary-dark);
    background: var(--primary-subtle);
    transform: translateY(-1px);
}

.slot-btn.is-selected {
    background: linear-gradient(145deg, var(--primary), var(--primary-dark));
    border-color: transparent;
    color: #fff;
    box-shadow: var(--shadow-primary);
}

.slot-btn.is-unavailable {
    opacity: 0.65;
    cursor: not-allowed;
    background: var(--surface);
    border-style: dashed;
}

.slot-btn.is-unavailable:hover {
    transform: none;
    border-color: var(--border);
    color: var(--text-secondary);
    background: var(--surface);
}

.tracking-code-box {
    display: inline-block;
    background: linear-gradient(135deg, #e8f4fc, #d6ebf8);
    border: 2px dashed var(--primary);
    border-radius: var(--radius);
    padding: 0.85rem 2rem;
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--primary-darker);
}

.tracking-details dt {
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.85rem;
}

.tracking-details dd {
    margin-bottom: 0.85rem;
    color: var(--text);
    font-weight: 500;
}

.tracking-result {
    background: linear-gradient(135deg, #f8fafc, #e8f4fc);
    border: 1px solid rgba(0, 94, 184, 0.12) !important;
    border-radius: var(--radius) !important;
}

/* ── Loading skeleton for slots ── */
.slots-loading {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.slots-loading span {
    width: 72px;
    height: 38px;
    border-radius: var(--radius-sm);
    background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.2s infinite;
}

@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.hp-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ── Rules page ── */
.rules-page {
    margin-top: -1.5rem;
    position: relative;
    z-index: 2;
}

.rules-notice {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: linear-gradient(135deg, #e8f4fc, var(--surface-elevated));
    border: 1px solid rgba(0, 94, 184, 0.18);
    border-radius: var(--radius-lg);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow-sm);
    font-size: 0.92rem;
    color: var(--text-secondary);
    line-height: 1.75;
}

.rules-notice a {
    color: var(--primary-dark);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition);
}

.rules-notice a:hover {
    color: var(--primary-darker);
    text-decoration: underline;
}

.rules-notice-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-subtle);
    color: var(--primary-dark);
    border-radius: 12px;
}

.rules-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rule-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: var(--surface-elevated);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: 1.35rem 1.5rem;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    position: relative;
    overflow: hidden;
}

.rule-item::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--primary), var(--primary-light));
    border-radius: 0 4px 4px 0;
    opacity: 0;
    transition: opacity var(--transition);
}

.rule-item:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: rgba(0, 94, 184, 0.15);
}

.rule-item:hover::before {
    opacity: 1;
}

.rule-number {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--primary), var(--primary-dark));
    color: #fff;
    border-radius: 50%;
    font-size: 0.82rem;
    font-weight: 800;
    box-shadow: var(--shadow-primary);
    margin-top: 0.15rem;
}

.rule-icon {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: var(--primary-subtle);
    color: var(--primary-dark);
}

.rule-icon-cancel {
    background: rgba(220, 38, 38, 0.08);
    color: var(--danger);
}

.rule-icon-shield {
    background: var(--success-soft);
    color: var(--success);
}

.rule-icon-limit {
    background: var(--accent-soft);
    color: var(--accent);
}

.rule-body {
    flex: 1;
    min-width: 0;
}

.rule-title {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.4rem;
    letter-spacing: -0.01em;
}

.rule-text {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.8;
}

.rules-actions {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.legal-content h2 {
    margin-top: 1.25rem;
}

.legal-content h2:first-child {
    margin-top: 0;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    border: none;
}

.faq-accordion .accordion-item {
    border: 1px solid var(--border);
    border-radius: var(--radius) !important;
    overflow: hidden;
    background: var(--surface-elevated);
    box-shadow: var(--shadow-xs);
}

.faq-accordion .accordion-button {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text);
    background: var(--surface-elevated);
    box-shadow: none !important;
    padding: 1.05rem 1.25rem;
}

.faq-accordion .accordion-button:not(.collapsed) {
    background: var(--primary-subtle);
    color: var(--primary-dark);
}

.faq-accordion .accordion-button:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: -3px;
    box-shadow: none !important;
}

.faq-accordion .accordion-button::after {
    filter: none;
}

.faq-accordion .accordion-body {
    padding: 0 1.25rem 1.2rem;
    color: var(--text-secondary);
    font-size: 0.92rem;
    line-height: 1.85;
}

/* ── Shared content cards ── */
.content-card {
    background: var(--surface-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

.content-card-header {
    padding: 1.35rem 1.5rem;
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
    color: #fff;
}

.content-card-header h2,
.content-card-header .h5 {
    margin: 0;
    font-weight: 700;
    font-size: 1.05rem;
}

.content-card-header p {
    margin: 0.35rem 0 0;
    opacity: 0.85;
    font-size: 0.85rem;
}

.content-card-body {
    padding: 1.5rem;
}

.content-card-footer {
    padding: 1rem 1.5rem 1.35rem;
    border-top: 1px solid var(--border-light);
    background: #f7fafb;
}

.form-hint {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 0.35rem;
}

.hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ── Auth pages ── */
.auth-card {
    background: var(--surface-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

.auth-card-brand {
    text-align: center;
    padding: 1.75rem 1.5rem 0.25rem;
}

.auth-card-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--primary-subtle);
    color: var(--primary-dark);
}

.auth-card-brand h2 {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0 0 0.35rem;
    color: var(--text);
}

.auth-card-brand p {
    margin: 0;
    font-size: 0.88rem;
    color: var(--text-muted);
}

.auth-card-body {
    padding: 1.5rem 1.5rem 1.75rem;
}

.auth-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
    padding: 0.35rem;
    margin-bottom: 1.25rem;
    background: var(--surface);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
}

.auth-tabs .nav-item {
    min-width: 0;
}

.auth-tabs .nav-link {
    width: 100%;
    border: none;
    border-radius: 8px;
    color: var(--text-secondary);
    font-weight: 600;
    font-size: 0.88rem;
    padding: 0.65rem 0.75rem;
    background: transparent;
}

.auth-tabs .nav-link:hover {
    color: var(--primary-dark);
}

.auth-tabs .nav-link.active {
    background: var(--surface-elevated);
    color: var(--primary-dark);
    box-shadow: var(--shadow-xs);
}

.auth-subtabs {
    border-bottom: 1px solid var(--border);
    margin-bottom: 1.15rem;
    gap: 0.25rem;
}

.auth-subtabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.88rem;
    padding: 0.65rem 0.9rem;
    background: transparent;
}

.auth-subtabs .nav-link.active {
    color: var(--primary-dark);
    border-bottom-color: var(--primary);
    background: transparent;
}

.auth-footer-link {
    text-align: center;
    font-size: 0.88rem;
    color: var(--text-muted);
    margin: 1rem 0 0;
}

.auth-footer-link a {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

.auth-footer-link a:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

/* ── Track / receipt / waiting ── */
.detail-panel {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: #f7fafb;
    padding: 1.25rem 1.35rem;
}

.detail-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--border);
}

.detail-panel-head h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.detail-grid {
    display: grid;
    gap: 0.85rem;
    margin: 0;
}

.detail-grid > div {
    display: grid;
    grid-template-columns: 7.5rem 1fr;
    gap: 0.75rem;
    align-items: baseline;
}

@media (max-width: 575.98px) {
    .detail-grid > div {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }
}

.detail-grid dt {
    margin: 0;
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 500;
}

.detail-grid dd {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text);
    font-weight: 600;
}

.detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1.15rem;
}

.tracking-code-inline {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: 0.06em;
    color: var(--primary-dark);
}

.receipt-card {
    background: var(--surface-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

.receipt-card-top {
    padding: 1.5rem 1.5rem 1.25rem;
    text-align: center;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: #fff;
}

.receipt-card-top .receipt-label {
    font-size: 0.82rem;
    opacity: 0.85;
    margin-bottom: 0.35rem;
}

.receipt-card-top .receipt-code {
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.receipt-card-body {
    padding: 1.5rem;
}

.receipt-meta {
    display: flex;
    justify-content: center;
    margin-bottom: 1.15rem;
}

/* ── Contact page ── */
.contact-info-card {
    height: 100%;
    background: linear-gradient(165deg, var(--primary-darker) 0%, var(--primary) 100%);
    color: #fff;
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
}

.contact-info-card::before {
    content: '';
    position: absolute;
    inset: auto -20% -30% auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(65, 182, 230, 0.22);
}

.contact-info-card > * { position: relative; z-index: 1; }

.contact-info-card h2 {
    font-size: 1.15rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.contact-info-card > p {
    opacity: 0.88;
    font-size: 0.9rem;
    line-height: 1.7;
    margin-bottom: 1.35rem;
}

.contact-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.contact-info-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.contact-info-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    flex-shrink: 0;
}

.contact-info-list strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    opacity: 0.8;
    margin-bottom: 0.15rem;
}

.contact-info-list span {
    font-size: 0.95rem;
    font-weight: 600;
}

/* ── About enhancements ── */
.about-lead {
    font-size: 1.05rem;
    line-height: 1.9;
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
}

.about-values {
    display: grid;
    gap: 0.75rem;
}

.about-value {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: var(--radius);
    background: var(--surface);
    border: 1px solid var(--border-light);
}

.about-value-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-subtle);
    color: var(--primary-dark);
    flex-shrink: 0;
}

.about-value strong {
    display: block;
    font-size: 0.95rem;
    margin-bottom: 0.2rem;
}

.about-value span {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.6;
}

/* ── Waiting notice ── */
.waitlist-banner {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem 1.15rem;
    margin-bottom: 1.25rem;
    border-radius: var(--radius);
    background: var(--accent-soft);
    border: 1px solid rgba(0, 164, 153, 0.22);
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.7;
}

.waitlist-banner svg {
    flex-shrink: 0;
    color: var(--accent);
    margin-top: 0.15rem;
}

@media print {
    .page-hero,
    .page-hero::after,
    .site-header,
    .site-footer,
    .no-print { display: none !important; }

    .page-shell,
    .receipt-print-wrap {
        margin: 0 !important;
        padding: 0 !important;
    }

    .receipt-card {
        box-shadow: none;
        border-color: #ccc;
    }

    body { background: #fff !important; }
}

/* ── Jalali datepicker ── */
.jalali-datepicker {
    position: relative;
    width: 100%;
}

.jalali-datepicker-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    pointer-events: none;
}

.jalali-datepicker-toggle {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 3rem;
    padding: 0.7rem 0.95rem;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-elevated);
    color: var(--text);
    font-family: inherit;
    font-size: 0.92rem;
    line-height: 1.5;
    cursor: pointer;
    transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.jalali-datepicker-toggle:hover {
    border-color: #cbd5e1;
}

.jalali-datepicker-toggle:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px var(--primary-subtle);
    background: #fff;
}

.jalali-datepicker-toggle::after {
    content: '';
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-inline-start: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.jalali-datepicker-toggle.has-value .jalali-datepicker-value {
    color: var(--text);
}

.jalali-datepicker-panel {
    position: fixed;
    z-index: 1050;
    width: min(320px, calc(100vw - 1.5rem));
    padding: 0.85rem;
    background: var(--surface-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}

.jalali-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.jalali-datepicker-title {
    font-weight: 700;
    color: var(--text);
    text-align: center;
    flex: 1;
}

.jalali-datepicker-nav {
    width: 34px;
    height: 34px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text-secondary);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    transition: background var(--transition), border-color var(--transition);
}

.jalali-datepicker-nav:hover {
    background: var(--primary-subtle);
    border-color: var(--primary-light);
    color: var(--primary-dark);
}

.jalali-datepicker-weekdays,
.jalali-datepicker-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.25rem;
}

.jalali-datepicker-weekday {
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    padding: 0.25rem 0;
}

.jalali-datepicker-day {
    aspect-ratio: 1;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text);
    font-family: inherit;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background var(--transition), color var(--transition);
}

.jalali-datepicker-day:hover:not(:disabled) {
    background: var(--primary-subtle);
    color: var(--primary-dark);
}

.jalali-datepicker-day.is-today {
    box-shadow: inset 0 0 0 1px var(--primary-light);
}

.jalali-datepicker-day.is-selected {
    background: var(--primary);
    color: #fff;
}

.jalali-datepicker-day:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.jalali-datepicker-empty {
    aspect-ratio: 1;
}

/* ── Responsive ── */
@media (max-width: 991px) {
    .steps-timeline {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .steps-timeline::before {
        display: none;
    }

    .hero-visual {
        margin-top: 0.5rem;
        padding: 0.5rem 0 1rem;
    }

    .hero-icon-hub {
        width: min(300px, 100%);
        height: min(300px, 100%);
        padding-bottom: 2.5rem;
    }

    .hero-icon-orbit__item {
        transform: rotate(var(--angle)) translateY(min(-112px, -34vw)) rotate(calc(-1 * var(--angle)));
    }

    @keyframes hubItemIn {
        from {
            opacity: 0;
            transform: rotate(var(--angle)) translateY(min(-85px, -26vw)) rotate(calc(-1 * var(--angle))) scale(0.6);
        }
        to {
            opacity: 1;
            transform: rotate(var(--angle)) translateY(min(-112px, -34vw)) rotate(calc(-1 * var(--angle))) scale(1);
        }
    }

    .hero-icon-btn {
        width: 52px;
        height: 52px;
        margin: -26px 0 0 -26px;
        border-radius: 16px;
    }

    .hero-icon-hub__center {
        width: 80px;
        height: 80px;
    }

    .hero-icon-hub__callout {
        bottom: 0;
        min-width: 140px;
        padding: 0.45rem 0.75rem;
    }

    .hero-visual-caption {
        font-size: 0.76rem;
        margin-top: 1rem;
    }

    .hero-phone {
        transform: none;
        animation: phoneFloatMobile 6s ease-in-out infinite;
    }

    @keyframes phoneFloatMobile {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-10px); }
    }
}

@media (max-width: 768px) {
    .hero,
    .hero-home {
        padding: 2.75rem 0 4rem;
    }

    .hero-stats {
        gap: 1rem;
    }

    .hero-stat-divider {
        display: none;
    }

    .hero-stat {
        flex: 1;
        min-width: calc(33% - 0.75rem);
        text-align: center;
    }

    .hero-stat-value { font-size: 1.2rem; }

    .home-content {
        padding-top: 2.5rem;
    }

    .trust-bar {
        margin-top: -2rem;
    }

    .trust-bar-card {
        padding: 1.15rem 1rem;
    }

    .trust-bar-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem 0;
    }

    .trust-item {
        padding: 0.85rem 0.75rem;
    }

    .trust-item:nth-child(odd)::after {
        display: none;
    }

    .trust-item:nth-child(1)::after,
    .trust-item:nth-child(3)::after {
        display: block;
    }

    .trust-item:nth-child(1),
    .trust-item:nth-child(2) {
        border-bottom: 1px solid var(--border-light);
        padding-bottom: 1rem;
        margin-bottom: 0.35rem;
    }

    .steps-section {
        padding: 2rem 1.25rem;
    }

    .cta-banner-inner {
        padding: 2rem 1.5rem;
        flex-direction: column;
        text-align: center;
    }

    .cta-banner-actions {
        width: 100%;
        justify-content: center;
    }

    .hero-mockup-notif {
        inset-inline-start: 0;
        max-width: 240px;
    }

    .mockup-steps {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .mockup-step-line {
        display: none;
    }

    .admin-table-card .table-responsive {
        overflow-x: visible;
    }

    .admin-table.admin-table--stack {
        min-width: 0 !important;
    }

    .admin-table.admin-table--stack thead {
        display: none;
    }

    .admin-table.admin-table--stack tbody tr {
        display: block;
        padding: 1rem 1.1rem;
        border-bottom: 1px solid var(--border-light);
    }

    .admin-table.admin-table--stack tbody tr:last-child {
        border-bottom: none;
    }

    .admin-table.admin-table--stack tbody tr:hover {
        background: transparent;
    }

    .admin-table.admin-table--stack td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem 1rem;
        padding: 0.45rem 0 !important;
        border: none;
        white-space: normal !important;
        text-align: start !important;
    }

    .admin-table.admin-table--stack td > :not(.form-control):not(.form-check-input):not(.admin-table-actions-group):not(.dropdown) {
        text-align: start;
    }

    .admin-table.admin-table--stack td::before {
        content: attr(data-label);
        font-weight: 700;
        font-size: 0.78rem;
        color: var(--text-secondary);
        flex: 0 0 auto;
        max-width: 40%;
        text-align: start;
        padding-top: 0.1rem;
    }

    .admin-table.admin-table--stack td[data-label=""]::before,
    .admin-table.admin-table--stack td:not([data-label])::before {
        display: none;
    }

    .admin-table.admin-table--stack td[data-label=""] {
        justify-content: flex-start;
        padding-top: 0.65rem;
        border-top: 1px dashed var(--border-light);
        margin-top: 0.35rem;
    }

    .admin-table.admin-table--stack td.admin-table-check {
        justify-content: flex-start;
        border-top: none;
        margin-top: 0;
        padding-bottom: 0.65rem;
    }

    .admin-table.admin-table--stack td.admin-table-check::before {
        display: block;
    }

    .admin-table.admin-table--stack td[colspan] {
        display: block;
        text-align: center !important;
        padding: 1.25rem 0;
    }

    .admin-table.admin-table--stack .admin-table-actions .d-flex {
        flex-direction: column;
        align-items: stretch !important;
        width: 100%;
    }

    .admin-table.admin-table--stack .admin-table-actions .btn,
    .admin-table.admin-table--stack td.admin-table-actions > form .btn,
    .admin-table.admin-table--stack .admin-table-actions-group .btn {
        width: 100%;
    }

    .admin-table.admin-table--stack td.admin-table-actions > form,
    .admin-table.admin-table--stack .admin-table-actions-group .admin-delete-form {
        display: block;
        width: 100%;
    }

    .admin-table.admin-table--stack .admin-table-actions-group {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .admin-table.admin-table--stack td.admin-table-actions {
        flex-wrap: wrap;
        gap: 0.4rem;
    }

    .admin-table.admin-table--stack td input.form-control-sm {
        width: 100% !important;
        max-width: none !important;
    }

    .admin-table.admin-table--stack .desc-cell {
        max-width: none;
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }

    .admin-table,
    .admin-table-card .table {
        font-size: 0.85rem;
    }

    .admin-table th,
    .admin-table td,
    .admin-table-card .table th,
    .admin-table-card .table td {
        padding: 0.65rem 0.55rem;
    }

    .admin-table-actions {
        min-width: 0;
        white-space: normal;
    }

    .admin-table-card .card-footer {
        padding: 0.75rem;
    }

    .admin-list-group .list-group-item.d-flex {
        flex-direction: column;
        align-items: stretch !important;
    }

    .admin-list-group .list-group-item.d-flex form {
        align-self: flex-start;
    }

    .desc-cell { max-width: 100px; }
    .stat-card .stat-value { font-size: 1.45rem; }

    .about-hero { padding: 1.75rem; }
    .cta-banner { padding: 1.5rem; }

    .rule-item {
        padding: 1.15rem 1.2rem;
        gap: 0.85rem;
    }

    .rule-number {
        display: none;
    }

    .rule-icon {
        width: 40px;
        height: 40px;
    }
}

/* ── Admin panel shell (Medical NHS) ── */
.admin-body {
    background: #eef3f6;
    background-image: none;
    display: block;
    min-height: 100vh;
    color: var(--text);
}

.admin-shell {
    display: flex;
    min-height: 100vh;
}

.admin-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1040;
    width: 268px;
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--primary-darker);
    color: #c5d7eb;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: -4px 0 24px rgba(0, 47, 92, 0.18);
    transition: transform var(--transition);
}

.admin-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 1.2rem 1rem 1.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.12);
}

.admin-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
    color: #ffffff;
    min-width: 0;
}

.admin-sidebar-brand:hover {
    color: #fff;
}

.admin-sidebar-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--primary);
    color: #fff;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0, 94, 184, 0.45);
}

.admin-sidebar-brand-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-sidebar-brand-text strong {
    font-size: 0.92rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-sidebar-brand-text small {
    font-size: 0.72rem;
    color: #8fb0d0;
    font-weight: 500;
}

.admin-sidebar-close {
    display: none;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.08);
    color: #e2e8f0;
    cursor: pointer;
    flex-shrink: 0;
}

.admin-sidebar-close:hover {
    background: rgba(255, 255, 255, 0.14);
}

.admin-sidebar-nav {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.75rem 0.65rem 1rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.admin-sidebar-nav::-webkit-scrollbar {
    display: none;
}

.admin-nav-section {
    margin-bottom: 1.1rem;
}

.admin-nav-section-title {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7f9db8;
    padding: 0.35rem 0.75rem 0.5rem;
}

.admin-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.admin-nav-link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.68rem 0.8rem;
    margin-bottom: 0.2rem;
    border-radius: 10px;
    color: #d5e4f2;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    border: 1px solid transparent;
    transition: background var(--transition), color var(--transition), border-color var(--transition);
    cursor: pointer;
}

.admin-nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.admin-nav-link.is-active {
    background: rgba(65, 182, 230, 0.16);
    border-color: rgba(65, 182, 230, 0.35);
    color: #ffffff;
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--primary-light);
}

.admin-nav-link.is-active .admin-nav-icon {
    color: var(--primary-light);
}

.admin-nav-link--muted {
    color: #9db6ce;
}

.admin-nav-link--danger {
    color: #f5b4b0;
}

.admin-nav-link--danger:hover {
    background: rgba(213, 40, 27, 0.16);
    color: #ffd2cf;
}

.admin-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    flex-shrink: 0;
    opacity: 0.9;
}

.admin-sidebar-footer {
    padding: 0.85rem 0.65rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-wrapper {
    flex: 1;
    min-width: 0;
    margin-right: 268px;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1.5rem;
    background: #ffffff;
    border-bottom: 1px solid var(--border);
    border-top: 3px solid var(--primary);
    box-shadow: 0 1px 0 rgba(33, 43, 50, 0.04);
}

.admin-topbar-start {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.admin-sidebar-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-elevated);
    color: var(--text-secondary);
    cursor: pointer;
    flex-shrink: 0;
}

.admin-sidebar-toggle:hover {
    border-color: var(--primary);
    color: var(--primary-dark);
}

.admin-page-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--text);
    margin: 0;
    line-height: 1.3;
}

.admin-page-subtitle {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 0.15rem;
}

.admin-topbar-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.admin-topbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.admin-content {
    flex: 1;
    padding: 1.4rem 1.6rem 2.25rem;
    max-width: 1400px;
    width: 100%;
}

.admin-alert {
    margin-bottom: 1rem;
    border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    border-inline-start: 4px solid transparent;
}

.admin-alert.alert-success {
    border-inline-start-color: var(--success);
}

.admin-alert.alert-danger {
    border-inline-start-color: var(--danger);
}

.admin-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1035;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
}

.admin-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.admin-stat-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 1.2rem 1.25rem;
    border: 1px solid var(--border);
    border-inline-start: 4px solid var(--primary);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.admin-stat-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.admin-stat-card--today { border-inline-start-color: var(--accent); }
.admin-stat-card--pending { border-inline-start-color: var(--warning); }
.admin-stat-card--cancelled { border-inline-start-color: var(--danger); }

.admin-stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    flex-shrink: 0;
}

.admin-stat-icon--total { background: var(--primary-subtle); color: var(--primary-dark); }
.admin-stat-icon--today { background: var(--accent-soft); color: var(--accent); }
.admin-stat-icon--pending { background: var(--warning-soft); color: var(--warning); }
.admin-stat-icon--cancelled { background: rgba(213, 40, 27, 0.1); color: var(--danger); }

.admin-stat-value {
    font-size: 1.65rem;
    font-weight: 900;
    color: var(--text);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.admin-stat-label {
    font-size: 0.8rem;
    color: var(--text-muted);
    font-weight: 500;
    margin-top: 0.15rem;
}

.admin-toolbar {
    background: #ffffff;
    border: 1px solid #e8eef2;
    border-radius: 14px;
    padding: 1.1rem 1.2rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 1px 2px rgba(33, 43, 50, 0.04);
}

.admin-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.admin-filter-tab {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-muted);
    background: var(--surface);
    border: 1px solid var(--border);
    text-decoration: none;
    transition: all var(--transition);
}

.admin-filter-tab:hover {
    color: var(--primary-dark);
    border-color: var(--primary);
    background: var(--primary-subtle);
}

.admin-filter-tab.is-active {
    color: #fff;
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: var(--shadow-primary);
}

.admin-card {
    background: #ffffff;
    border: 1px solid #e8eef2;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(33, 43, 50, 0.04);
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.admin-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #eef2f4;
    background: #fff;
}

.admin-card-header h2 {
    font-size: 0.98rem;
    font-weight: 800;
    margin: 0;
    color: var(--text);
}

.admin-card-header .text-muted {
    color: var(--text-muted) !important;
}

.admin-card-body {
    padding: 1.25rem;
}

.admin-card-footer,
.admin-card .card-footer {
    padding: 0.9rem 1.25rem;
    background: #f7fafc;
    border-top: 1px solid var(--border);
}

.admin-card-body--flush {
    padding: 0;
}

.admin-section-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 0.85rem;
}

.admin-section-hint {
    font-size: 0.9rem;
    color: #4c6272 !important;
    margin: 0 0 1rem;
}

.admin-table-card {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #e8eef2;
    box-shadow: 0 1px 2px rgba(33, 43, 50, 0.04);
}

.admin-table-card > .table-responsive {
    border-radius: 0;
}

.admin-table-actions--compact {
    min-width: 0;
    width: auto;
    text-align: start !important;
}

.admin-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
}

.admin-action-btn:hover {
    color: var(--text);
    border-color: var(--text-muted);
    background: var(--surface);
}

.admin-action-btn svg {
    display: block;
}

.admin-dropdown-menu form {
    margin: 0;
    width: 100%;
}

.admin-dropdown-menu {
    min-width: 11rem;
    border: 1px solid var(--border-light);
    box-shadow: var(--shadow-md);
    border-radius: var(--radius-sm);
    padding: 0.35rem;
}

.admin-dropdown-menu .dropdown-item {
    border-radius: 6px;
    font-size: 0.85rem;
    padding: 0.45rem 0.65rem;
}

.admin-dropdown-menu .dropdown-item.text-danger,
.admin-dropdown-menu .dropdown-item.dropdown-item--danger {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    color: var(--danger);
    font-weight: 600;
    text-align: right;
    border: none;
    background: transparent;
}

.admin-dropdown-menu .dropdown-item.text-danger:hover,
.admin-dropdown-menu .dropdown-item.dropdown-item--danger:hover,
.admin-dropdown-menu .dropdown-item.dropdown-item--danger:focus {
    background: rgba(220, 38, 38, 0.08);
    color: #991b1b;
}

.admin-dropdown-menu .dropdown-item.dropdown-item--danger .btn-delete-icon {
    flex-shrink: 0;
    opacity: 0.9;
}

.admin-list-group .list-group-item.d-flex .admin-delete-form {
    flex-shrink: 0;
}

.admin-bulk-delete {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.admin-empty {
    text-align: center;
    padding: 3rem 1.5rem;
    color: var(--text-muted);
}

.admin-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--surface);
    color: var(--text-muted);
    margin-bottom: 1rem;
}

.admin-settings-section + .admin-settings-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border);
}

.admin-settings-section {
    background: #fbfcfd;
    border: 1px solid #eef2f4;
    border-radius: 12px;
    padding: 1.15rem 1.2rem 1.25rem;
}

.admin-settings-section .admin-section-title {
    margin-bottom: 1rem;
    color: var(--primary-dark);
}

.admin-settings-actions {
    position: sticky;
    bottom: 0.75rem;
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    margin-top: 1.25rem;
    padding: 0.85rem 1rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-md);
}

.admin-list-group .list-group-item {
    border-color: var(--border);
    padding: 0.95rem 1.15rem;
}

.admin-list-group .list-group-item:hover {
    background: #f7fafc;
}

.admin-badge-day {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var(--primary-subtle);
    color: var(--primary-dark);
    font-size: 0.75rem;
    font-weight: 700;
}

.admin-topbar-actions.nav-actions {
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    padding: 0;
    margin: 0;
    border: none;
}

.admin-topbar-actions .btn-nav-primary,
.admin-topbar-actions .btn-nav-outline,
.admin-topbar-actions .btn-nav-ghost {
    min-height: 36px;
    padding: 0.4rem 0.85rem;
    font-size: 0.84rem;
}

.admin-login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    background:
        radial-gradient(circle at 15% 20%, rgba(65, 182, 230, 0.18), transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(0, 94, 184, 0.22), transparent 42%),
        var(--primary-darker);
}

.admin-login-card {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.28);
    padding: 2rem 1.85rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.admin-login-brand {
    text-align: center;
    margin-bottom: 1.75rem;
}

.admin-login-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: var(--radius);
    background: var(--primary-subtle);
    color: var(--primary-dark);
    margin-bottom: 0.85rem;
}

.admin-login-brand h1 {
    font-size: 1.2rem;
    font-weight: 800;
    margin: 0 0 0.25rem;
}

.admin-login-brand p {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin: 0;
}

@media (max-width: 991.98px) {
    .admin-sidebar {
        transform: translateX(100%);
    }

    .admin-sidebar-open .admin-sidebar {
        transform: translateX(0);
    }

    .admin-sidebar-open .admin-overlay {
        display: block;
    }

    .admin-wrapper {
        margin-right: 0;
    }

    .admin-sidebar-toggle,
    .admin-sidebar-close {
        display: inline-flex;
    }

    .admin-content {
        padding: 1rem;
    }

    .admin-topbar {
        padding: 0.75rem 1rem;
    }

    .admin-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .panel-appointment-card {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .panel-appointment-date-block {
        width: auto;
        display: flex;
        align-items: center;
        gap: 0.75rem;
        text-align: start;
        padding: 0.6rem 0.85rem;
    }

    .panel-appointment-weekday,
    .panel-appointment-month {
        display: inline;
        margin: 0;
        font-size: 0.8rem;
    }

    .panel-appointment-day {
        display: inline;
        font-size: 1.25rem;
        margin: 0 0.25rem;
    }

    .panel-appointment-actions {
        flex-direction: row;
        flex-wrap: wrap;
        min-width: 0;
    }

    .panel-action-btn {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: 0;
    }

    .panel-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .panel-welcome {
        flex-direction: column;
        align-items: stretch;
    }

    .panel-quick-actions {
        width: 100%;
    }

    .btn-panel-action {
        flex: 1;
        justify-content: center;
    }

    .panel-stat-value {
        font-size: 1.4rem;
    }
}

@media (max-width: 575.98px) {
    .admin-stats {
        grid-template-columns: 1fr;
    }

    .admin-page-title {
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-animate] {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .hero-visual,
    .hero-mockup,
    .hero-mockup-notif { animation: none; }
    .hero-icon-hub__ring::before,
    .hero-icon-hub__center,
    .hero-icon-hub__aura,
    .hero-icon-hub__track,
    .hero-icon-hub__center-ring { animation: none; }
    .hero-icon-orbit__item { animation: none; }
    .hero-icon-btn:hover,
    .hero-icon-btn:focus-visible,
    .hero-icon-btn.is-tip-open,
    .hero-icon-orbit__item.is-active .hero-icon-btn { transform: none; }
    .hero-badge-dot { animation: none; }
    html { scroll-behavior: auto; }

    .btn-primary:hover,
    .feature-card:hover,
    .slot-btn:hover,
    .rule-item:hover { transform: none; }
}

/* ── Error pages ── */
.error-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.error-page-main {
    width: 100%;
    max-width: 26rem;
}

.error-page-card {
    background: var(--surface-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 2rem 1.5rem 1.75rem;
    text-align: center;
}

.error-page-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    margin-bottom: 1.5rem;
}

.error-page-brand .brand-icon {
    width: 30px;
    height: 30px;
}

.error-page-brand-name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-secondary);
}

.error-page-code {
    font-size: clamp(2.75rem, 12vw, 4rem);
    font-weight: 800;
    line-height: 1;
    color: var(--primary);
    margin: 0 0 0.65rem;
    letter-spacing: -0.03em;
}

.error-page-title {
    font-size: 1.25rem;
    font-weight: 800;
    margin: 0 0 0.55rem;
    color: var(--text);
}

.error-page-message {
    font-size: 0.92rem;
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.75;
}

.error-page-hint {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin: 0.75rem 0 0;
    line-height: 1.65;
}

.error-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: center;
    margin-top: 1.35rem;
}

/* ── Role-specific authentication and CMS extensions ── */
.site-logo { display:inline-block; width:auto; height:42px; max-width:170px; object-fit:contain; }
.site-logo--footer { height:38px; filter:brightness(0) invert(1); }
.cms-content { background:var(--surface-elevated); border:1px solid var(--border); border-radius:var(--radius-lg); padding:clamp(1.2rem,3vw,2.5rem); box-shadow:var(--shadow-sm); }
.cms-content img { max-width:100%; height:auto; border-radius:var(--radius); }
.cms-content h1,.cms-content h2,.cms-content h3 { color:var(--primary-dark); margin-top:1.4em; }
.cms-content a { overflow-wrap:anywhere; }
.role-login { min-height:100vh; display:grid; place-items:center; background:linear-gradient(135deg,var(--surface),#fff); padding:1.25rem; }
.role-login--admin { background:radial-gradient(circle at 20% 10%,rgba(0,94,184,.2),transparent 35%),linear-gradient(135deg,#071a2e,#0b3157); }
.role-login--secretary { background:radial-gradient(circle at 80% 10%,rgba(0,164,153,.2),transparent 35%),linear-gradient(135deg,#effcf8,#dcefe9); }
.role-login-shell { width:100%; max-width:500px; }
.role-login-panel { background:#fff; border:1px solid rgba(255,255,255,.35); border-radius:24px; padding:clamp(1.5rem,5vw,2.6rem); box-shadow:0 24px 80px rgba(0,0,0,.18); }
.role-login-panel--admin { border-top:5px solid var(--primary); }
.role-login-panel--secretary { border-top:5px solid var(--accent); }
.role-login-mark { width:64px; height:64px; display:grid; place-items:center; border-radius:18px; margin:0 auto 1rem; color:var(--primary); background:var(--primary-subtle); }
.role-login-mark img { width:54px; height:54px; object-fit:contain; }
.role-login-kicker { display:block; text-align:center; font-size:.8rem; font-weight:800; color:var(--primary); letter-spacing:.03em; }
.role-login-panel h1 { text-align:center; margin:.35rem 0; font-size:1.65rem; }
.role-login-subtitle { text-align:center; color:var(--text-secondary); margin-bottom:1.5rem; }
.role-login-links { display:flex; justify-content:center; flex-wrap:wrap; gap:.8rem 1rem; margin-top:1.3rem; font-size:.85rem; }
.role-login-links a { color:var(--text-secondary); text-decoration:none; }
.role-login-links a:hover { color:var(--primary); }
.role-entry-hero--patient { padding:3rem 0 2rem; background:linear-gradient(180deg,var(--primary-subtle),transparent); }
.auth-card--patient { border-top:4px solid var(--primary); }
.cms-menu-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto; gap:.75rem; align-items:end; }
.cms-preview-logo { max-width:180px; max-height:80px; object-fit:contain; background:#fff; border:1px solid var(--border); border-radius:12px; padding:.5rem; }
.cms-editor { min-height:420px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; direction:rtl; }
@media(max-width:767.98px){.cms-menu-row{grid-template-columns:1fr}.site-logo{height:34px;max-width:130px}}
.admin-sidebar-brand-icon img { width:30px; height:30px; object-fit:contain; border-radius:7px; }

/* === Clinic Pro single-doctor theme / v3.1 === */
:root{--clinic-surface:#fff;--clinic-soft:#f4f8fb;--clinic-ink:#132238;--clinic-muted:#64748b;--clinic-line:#dfe8f0;--clinic-radius:22px;--clinic-shadow:0 20px 60px rgba(15,40,70,.10)}
.theme-clinic-pro{--clinic-soft:color-mix(in srgb,var(--primary) 5%,#fff);--clinic-radius:22px;background:#f8fbfd}
.theme-calm-care{--clinic-soft:color-mix(in srgb,var(--accent) 8%,#fff);--clinic-ink:#16302d;--clinic-radius:30px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,#fff),#fff 360px)}
.theme-calm-care .doctor-profile-card,.theme-calm-care .booking-form-card,.theme-calm-care .booking-side-card{border-radius:32px}
.theme-calm-care .clinic-hero{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,#fff),#fff 64%)}
.theme-royal-clinic{--clinic-soft:color-mix(in srgb,var(--accent) 7%,#fff);--clinic-ink:#1f2937;--clinic-radius:12px;background:#faf9f6}
.theme-royal-clinic .doctor-profile-card,.theme-royal-clinic .booking-form-card,.theme-royal-clinic .booking-side-card,.theme-royal-clinic .booking-benefit{border-radius:12px}
.theme-royal-clinic .clinic-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,#fff),#fff 62%)}
.theme-royal-clinic .clinic-kicker,.theme-royal-clinic .clinic-hero-title,.theme-royal-clinic .doctor-profile-body h2{letter-spacing:0}
.clinic-hero{position:relative;overflow:hidden;padding:78px 0 88px;background:linear-gradient(135deg,var(--clinic-soft),#fff 60%);border-bottom:1px solid var(--clinic-line)}
.clinic-hero-shape{position:absolute;border-radius:999px;filter:blur(2px);opacity:.5}.clinic-hero-shape--one{width:430px;height:430px;left:-160px;top:-210px;background:rgba(var(--bs-primary-rgb),.13)}.clinic-hero-shape--two{width:280px;height:280px;right:-80px;bottom:-120px;background:color-mix(in srgb,var(--accent) 18%,transparent)}
.clinic-kicker{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid rgba(var(--bs-primary-rgb),.2);background:#fff;border-radius:999px;color:var(--primary-dark);font-size:.84rem;font-weight:800}.clinic-kicker span{width:8px;height:8px;background:#16a34a;border-radius:50%;box-shadow:0 0 0 5px rgba(22,163,74,.12)}
.clinic-hero-title{font-size:clamp(2.25rem,5vw,4.4rem);line-height:1.22;font-weight:900;letter-spacing:-.04em;margin:22px 0 18px;color:var(--clinic-ink)}.clinic-hero-title strong{color:var(--primary);font-weight:950}.clinic-hero-lead{max-width:720px;font-size:1.15rem;line-height:2;color:var(--clinic-muted)}.clinic-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.clinic-trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;color:#475569;font-size:.9rem}.clinic-trust-row span:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;margin-left:7px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900}
.doctor-profile-card{background:#fff;border:1px solid var(--clinic-line);border-radius:30px;box-shadow:var(--clinic-shadow);overflow:hidden}.doctor-profile-media{position:relative;height:290px;background:linear-gradient(160deg,rgba(var(--bs-primary-rgb),.14),#e9f2f8)}.doctor-profile-media img{width:100%;height:100%;object-fit:cover}.doctor-profile-placeholder{height:100%;display:grid;place-items:center;font-size:7rem;font-weight:900;color:var(--primary);background:radial-gradient(circle at 50% 35%,#fff,rgba(var(--bs-primary-rgb),.08))}.doctor-availability{position:absolute;right:18px;bottom:16px;padding:8px 12px;background:#ecfdf3;color:#067647;border:1px solid #abefc6;border-radius:999px;font-size:.78rem;font-weight:800}.doctor-profile-body{padding:24px}.doctor-profile-label{font-size:.76rem;font-weight:800;color:var(--primary);text-transform:uppercase}.doctor-profile-body h2{font-size:1.55rem;font-weight:900;margin:5px 0}.doctor-specialty{color:var(--clinic-muted);font-weight:700}.doctor-code{font-size:.84rem;color:#64748b}.doctor-bio{font-size:.9rem;line-height:1.9;color:#475569}.doctor-hours{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--clinic-line);padding-top:16px;margin-top:16px;font-size:.88rem}.doctor-hours span{color:var(--clinic-muted)}
.booking-benefits-section{margin-top:-34px;position:relative;z-index:2}.booking-benefit{height:100%;display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--clinic-line);border-radius:18px;padding:20px;box-shadow:0 12px 35px rgba(15,40,70,.07)}.booking-benefit-number{display:grid;place-items:center;min-width:38px;height:38px;border-radius:12px;background:var(--primary);color:#fff;font-weight:900}.booking-benefit strong{display:block;color:var(--clinic-ink)}.booking-benefit p{margin:5px 0 0;color:var(--clinic-muted);font-size:.86rem;line-height:1.7}
.clinic-info-section{padding:72px 0}.clinic-panel,.clinic-contact-card{background:#fff;border:1px solid var(--clinic-line);border-radius:var(--clinic-radius);padding:34px;box-shadow:0 10px 36px rgba(15,40,70,.06)}.clinic-panel h2,.clinic-contact-card h2{font-weight:900;color:var(--clinic-ink);margin:10px 0 14px}.clinic-panel>p{color:var(--clinic-muted);line-height:1.9}.clinic-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.clinic-feature-grid div{padding:16px;border-radius:14px;background:var(--clinic-soft);border:1px solid rgba(var(--bs-primary-rgb),.08)}.clinic-feature-grid strong,.clinic-feature-grid span{display:block}.clinic-feature-grid span{font-size:.8rem;color:var(--clinic-muted);margin-top:5px}.clinic-contact-list{list-style:none;padding:0;margin:24px 0}.clinic-contact-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--clinic-line)}.clinic-contact-list span{color:var(--clinic-muted)}.clinic-final-cta{padding:0 0 72px}.clinic-final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 38px;border-radius:26px;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;box-shadow:0 24px 55px rgba(var(--bs-primary-rgb),.24)}.clinic-final-cta h2{margin:5px 0 0;font-weight:900}
.booking-page-head{padding:54px 0 76px;text-align:center;background:linear-gradient(180deg,var(--clinic-soft),#fff)}.booking-page-head h1{font-weight:950;color:var(--clinic-ink)}.booking-page-head p{color:var(--clinic-muted)}.booking-shell{margin-top:-38px;padding-bottom:70px}.booking-stepper{display:grid;grid-template-columns:repeat(3,1fr);max-width:640px;margin:0 auto 24px;background:#fff;border:1px solid var(--clinic-line);border-radius:18px;padding:11px;box-shadow:0 12px 36px rgba(15,40,70,.07)}.booking-stepper div{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;color:#94a3b8}.booking-stepper span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef2f6}.booking-stepper .is-active{color:var(--primary)}.booking-stepper .is-active span{background:var(--primary);color:#fff}.booking-form-card,.booking-side-card,.booking-success-card{background:#fff;border:1px solid var(--clinic-line);border-radius:24px;box-shadow:var(--clinic-shadow)}.booking-form-card{padding:28px}.booking-section-block{padding:0 0 27px;margin-bottom:27px;border-bottom:1px solid var(--clinic-line)}.booking-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:19px}.booking-section-title>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--primary);color:#fff;font-weight:900}.booking-section-title h2{font-size:1.08rem;font-weight:900;margin:0}.booking-section-title p{font-size:.82rem;color:var(--clinic-muted);margin:3px 0 0}.service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-choice-card{position:relative;display:flex;flex-direction:column;gap:5px;padding:18px;border:1.5px solid var(--clinic-line);border-radius:16px;cursor:pointer;transition:.2s;background:#fff}.service-choice-card:hover{border-color:rgba(var(--bs-primary-rgb),.45);transform:translateY(-2px)}.service-choice-card input{position:absolute;opacity:0}.service-choice-card:has(input:checked){border-color:var(--primary);background:rgba(var(--bs-primary-rgb),.055);box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb),.08)}.service-choice-check{position:absolute;left:14px;top:14px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e8eef3;color:transparent}.service-choice-card:has(input:checked) .service-choice-check{background:var(--primary);color:#fff}.service-choice-card strong{color:var(--clinic-ink)}.service-choice-card small{color:var(--clinic-muted)}.patient-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.patient-summary div{padding:14px;border-radius:14px;background:var(--clinic-soft)}.patient-summary span,.patient-summary strong{display:block}.patient-summary span{font-size:.75rem;color:var(--clinic-muted);margin-bottom:4px}.booking-side-card{padding:25px;position:sticky;top:96px}.booking-side-card h3{font-weight:900}.booking-side-card ul{padding:0 18px 0 0;color:var(--clinic-muted);line-height:2}.booking-success-card{max-width:620px;margin:auto;padding:46px;text-align:center}.booking-success-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:2rem;font-weight:900}
.doctor-avatar-preview{width:150px;height:150px;border-radius:26px;overflow:hidden;background:var(--clinic-soft);display:grid;place-items:center;color:var(--primary);font-size:3rem;font-weight:900;border:1px solid var(--clinic-line)}.doctor-avatar-preview img{width:100%;height:100%;object-fit:cover}.update-safety-list{margin:0;padding-right:20px;line-height:2;color:#475569}
.secretary-page-head{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:22px}.secretary-page-head h1{font-weight:950;margin:3px 0}.secretary-page-head p{color:var(--clinic-muted);margin:0}.secretary-eyebrow{color:var(--primary);font-size:.78rem;font-weight:900}.secretary-user-chip{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--clinic-line);border-radius:14px;padding:9px 12px}.secretary-user-chip>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary);color:#fff;font-weight:900}.secretary-user-chip strong,.secretary-user-chip small{display:block}.secretary-user-chip small{color:var(--clinic-muted)}.secretary-filter-card{background:#fff;border:1px solid var(--clinic-line);border-radius:18px;padding:18px;margin-bottom:18px}.secretary-appointments{display:grid;gap:14px}.secretary-appointment-card{display:grid;grid-template-columns:130px 1fr minmax(260px,340px);gap:18px;align-items:stretch;background:#fff;border:1px solid var(--clinic-line);border-radius:20px;padding:18px;box-shadow:0 8px 28px rgba(15,40,70,.05)}.secretary-appointment-card.is-arrived{border-color:#86efac;background:#f7fff9}.secretary-time{display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid var(--clinic-line)}.secretary-time strong{font-size:1.65rem;color:var(--primary)}.secretary-time span{font-size:.78rem;color:var(--clinic-muted)}.secretary-patient-name{display:flex;gap:10px;align-items:center}.secretary-patient-name>strong{font-size:1.05rem}.secretary-patient-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--clinic-muted);font-size:.82rem;margin-top:5px}.reserved-service{display:inline-flex;align-items:center;gap:8px;margin-top:13px;padding:8px 11px;background:var(--clinic-soft);border-radius:11px}.reserved-service span{font-size:.72rem;color:var(--clinic-muted)}.secretary-description{font-size:.82rem;color:#475569;margin:10px 0 0}.secretary-action{border-right:1px solid var(--clinic-line);padding-right:18px}.checkin-options{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:.78rem;margin-bottom:10px}.checkin-form{display:grid;gap:9px}.arrival-state{padding:12px;border-radius:12px;background:#dcfce7;color:#166534;margin-bottom:8px}.arrival-state strong,.arrival-state small{display:block}.secretary-empty{text-align:center;padding:55px;background:#fff;border:1px dashed #cbd5e1;border-radius:20px}.secretary-empty strong,.secretary-empty span{display:block}.secretary-empty span{color:var(--clinic-muted);margin-top:6px}
@media(max-width:991px){.clinic-hero{text-align:center}.clinic-hero-actions,.clinic-trust-row{justify-content:center}.doctor-profile-card{max-width:500px;margin:auto}.secretary-appointment-card{grid-template-columns:100px 1fr}.secretary-action{grid-column:1/-1;border-right:0;border-top:1px solid var(--clinic-line);padding:14px 0 0}.clinic-final-cta-inner{flex-direction:column;text-align:center}}
@media(max-width:700px){.clinic-hero{padding:54px 0 70px}.clinic-hero-title{font-size:2.35rem}.clinic-feature-grid,.service-choice-grid,.patient-summary{grid-template-columns:1fr}.booking-form-card{padding:18px}.booking-stepper strong{display:none}.secretary-page-head{align-items:flex-start;flex-direction:column}.secretary-appointment-card{grid-template-columns:1fr}.secretary-time{align-items:flex-start;border-left:0;border-bottom:1px solid var(--clinic-line);padding-bottom:10px}.clinic-final-cta-inner{padding:28px 20px}}


/* ── Professional theme gallery & identity-first experience (v3.3) ── */
.theme-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.theme-preset-card{position:relative;display:grid;grid-template-columns:116px 1fr auto;align-items:center;gap:14px;padding:12px;border:2px solid #e2e8f0;border-radius:18px;background:#fff;cursor:pointer;transition:.2s ease}.theme-preset-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.08)}.theme-preset-card.is-selected{border-color:var(--preview-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--preview-primary) 13%,transparent)}.theme-preset-card input{position:absolute;opacity:0}.theme-preset-preview{position:relative;display:block;height:76px;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--preview-primary) 12%,#fff),#fff);border:1px solid color-mix(in srgb,var(--preview-primary) 18%,#e2e8f0)}.theme-preset-preview:before{content:'';display:block;height:14px;background:var(--preview-header);border-bottom:2px solid var(--preview-primary)}.theme-preset-preview i{position:absolute;right:10px;top:25px;width:53px;height:9px;border-radius:8px;background:var(--preview-primary);box-shadow:0 15px 0 color-mix(in srgb,var(--preview-primary) 20%,#fff)}.theme-preset-preview b{position:absolute;left:10px;top:24px;width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,var(--preview-secondary),var(--preview-primary))}.theme-preset-preview em{position:absolute;inset:auto 0 0;height:10px;background:var(--preview-footer)}.theme-preset-copy{display:grid;gap:4px}.theme-preset-copy strong{font-size:.94rem;color:#0f172a}.theme-preset-copy small{font-size:.78rem;color:#64748b;line-height:1.7}.theme-preset-check{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e2e8f0;color:#fff}.theme-preset-card.is-selected .theme-preset-check{background:var(--preview-primary)}

/* All public pages: stronger visual hierarchy */
.site-nav{backdrop-filter:blur(18px);background:color-mix(in srgb,var(--nav-bg) 92%,transparent)!important}.site-logo{max-height:46px;max-width:190px}.clinic-hero{min-height:610px;display:flex;align-items:center}.clinic-hero-title{max-width:820px}.doctor-profile-card{box-shadow:0 28px 70px rgba(15,23,42,.14);border:1px solid color-mix(in srgb,var(--primary) 16%,#e2e8f0)}.doctor-profile-media{min-height:285px}.booking-benefit,.clinic-panel,.clinic-contact-card,.booking-form-card,.booking-side-card,.auth-card{box-shadow:0 18px 45px rgba(15,23,42,.07)}.booking-section-block{border-radius:20px}.patient-summary--identity{grid-template-columns:repeat(3,1fr)}.identity-input{letter-spacing:.04em;font-variant-numeric:tabular-nums}.form-control,.form-select{min-height:48px;border-radius:12px;border-color:#cbd5e1}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-subtle)}

/* Presets */
.theme-clinic-pro{--clinic-soft:#eef8ff;--clinic-ink:#0c2d48;--clinic-muted:#526779;--clinic-radius:24px;background:linear-gradient(180deg,#f7fcff,#eef5f8)}.theme-clinic-pro .clinic-hero{background:radial-gradient(circle at 8% 10%,rgba(14,165,233,.18),transparent 30%),linear-gradient(135deg,#edf9ff,#fff 65%)}
.theme-calm-care{--clinic-soft:#ecfdf8;--clinic-ink:#163b35;--clinic-muted:#53736c;--clinic-radius:32px;background:#f5fffc}.theme-calm-care .clinic-hero{background:radial-gradient(circle at 90% 20%,rgba(20,184,166,.18),transparent 35%),linear-gradient(145deg,#eafff8,#fff)}.theme-calm-care .btn-primary{border-radius:999px}.theme-calm-care .doctor-profile-card,.theme-calm-care .booking-form-card{border-radius:34px}
.theme-royal-clinic{--clinic-soft:#fff9eb;--clinic-ink:#17243a;--clinic-muted:#6b665a;--clinic-radius:14px;background:#fbfaf6}.theme-royal-clinic .site-nav{border-top-color:#b8892d}.theme-royal-clinic .clinic-hero{background:linear-gradient(120deg,#fffaf0 0%,#fff 55%,#eef2f8 100%)}.theme-royal-clinic .doctor-profile-card{border-top:5px solid #b8892d}.theme-royal-clinic .btn-primary{text-transform:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.theme-modern-violet{--clinic-soft:#f5f3ff;--clinic-ink:#2e1065;--clinic-muted:#665c7d;--clinic-radius:26px;background:linear-gradient(180deg,#faf9ff,#f4f7ff)}.theme-modern-violet .clinic-hero{background:radial-gradient(circle at 15% 15%,rgba(124,58,237,.18),transparent 34%),radial-gradient(circle at 85% 70%,rgba(8,145,178,.13),transparent 35%),#fff}.theme-modern-violet .brand-icon,.theme-modern-violet .btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent))}.theme-modern-violet .doctor-profile-card{transform:rotate(-1deg)}
.theme-warm-sand{--clinic-soft:#fff7ed;--clinic-ink:#431407;--clinic-muted:#76594c;--clinic-radius:22px;background:#fffaf3}.theme-warm-sand .clinic-hero{background:radial-gradient(circle at 80% 20%,rgba(251,146,60,.2),transparent 35%),linear-gradient(145deg,#fff7ed,#fffbf5)}.theme-warm-sand .doctor-profile-card,.theme-warm-sand .booking-benefit{border-color:#fed7aa}.theme-warm-sand .site-nav{border-top-width:0;border-bottom:1px solid #fed7aa!important}
.theme-rose-health{--clinic-soft:#fff1f4;--clinic-ink:#4c0519;--clinic-muted:#805565;--clinic-radius:28px;background:#fff9fb}.theme-rose-health .clinic-hero{background:radial-gradient(circle at 10% 20%,rgba(244,63,94,.16),transparent 34%),linear-gradient(140deg,#fff1f5,#fff 65%)}.theme-rose-health .doctor-profile-card{border-radius:40px 14px 40px 14px}.theme-rose-health .clinic-kicker span{background:linear-gradient(135deg,var(--primary),var(--accent))}
.theme-midnight-medical{--text:#e5eef8;--text-secondary:#b8c6d9;--text-muted:#8ea1b8;--surface:#07101f;--surface-elevated:#111c2e;--border:#26364e;--border-light:#1e2d43;--clinic-soft:#101e32;--clinic-ink:#f8fafc;--clinic-muted:#a8b8cc;--clinic-line:#26364e;background:#07101f;color:#e5eef8}.theme-midnight-medical .site-nav{background:rgba(15,23,42,.94)!important;border-color:var(--primary)}.theme-midnight-medical .navbar-brand,.theme-midnight-medical .site-nav .nav-link{color:#e5eef8!important}.theme-midnight-medical .clinic-hero{background:radial-gradient(circle at 10% 10%,rgba(6,182,212,.2),transparent 35%),radial-gradient(circle at 90% 70%,rgba(34,197,94,.11),transparent 35%),#0b1527}.theme-midnight-medical .doctor-profile-card,.theme-midnight-medical .booking-form-card,.theme-midnight-medical .booking-side-card,.theme-midnight-medical .booking-benefit,.theme-midnight-medical .clinic-panel,.theme-midnight-medical .auth-card{background:#111c2e;color:#e5eef8;border-color:#26364e}.theme-midnight-medical .form-control,.theme-midnight-medical .form-select{background:#0b1527;border-color:#334155;color:#f8fafc}.theme-midnight-medical .form-control::placeholder{color:#71839a}.theme-midnight-medical .page-hero,.theme-midnight-medical .role-entry-hero{background:linear-gradient(135deg,#0b1527,#14233a)}

@media(max-width:900px){.theme-preset-grid{grid-template-columns:1fr}.patient-summary--identity{grid-template-columns:1fr 1fr}.clinic-hero{min-height:auto}}
@media(max-width:575px){.theme-preset-card{grid-template-columns:95px 1fr auto}.patient-summary--identity{grid-template-columns:1fr}.clinic-hero-title{font-size:2.1rem}}

/* Service pricing and insurance — v3.4 */
.service-pricing{display:grid;gap:9px;padding:13px 14px;border:1px solid var(--clinic-line,#e2e8f0);border-radius:14px;background:var(--clinic-soft,#f8fafc);color:var(--clinic-ink,#16324f)}
.service-pricing-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.service-pricing-label{font-size:.78rem;color:var(--clinic-muted,#64748b)}
.service-pricing-row strong{font-size:.88rem;white-space:nowrap}
.service-pricing-row--insured{padding-top:9px;border-top:1px dashed var(--clinic-line,#dbe3eb)}
.service-pricing-row--insurance-status{justify-content:flex-start}
.service-insurance-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2}
.service-insurance-badge.is-covered{background:rgba(22,163,74,.11);color:#15803d;border:1px solid rgba(22,163,74,.18)}
.service-insurance-badge.is-not-covered{background:rgba(100,116,139,.1);color:#64748b;border:1px solid rgba(100,116,139,.15)}
.service-pricing--compact{gap:6px;padding:9px 10px;border-radius:11px}
.service-pricing--compact .service-pricing-row{gap:8px}
.service-pricing--compact .service-pricing-label,.service-pricing--compact .service-insurance-badge{font-size:.68rem}
.service-pricing--compact .service-pricing-row strong{font-size:.76rem}
.service-choice-card .service-pricing{margin-top:7px;width:100%;background:rgba(255,255,255,.72)}
.service-choice-card:has(input:checked) .service-pricing{background:rgba(var(--bs-primary-rgb),.045)}
.service-price-disclaimer{margin:13px 2px 0;font-size:.74rem;line-height:1.8;color:var(--clinic-muted,#64748b)}
.panel-detail-full .service-pricing{width:100%}
.secretary-service-pricing{margin-top:9px;max-width:470px}
.receipt-pricing{margin-top:18px}
.receipt-price-note{font-size:.72rem;line-height:1.8;color:var(--clinic-muted,#64748b);margin:8px 2px 0}
.service-insurance-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:16px;padding:15px;border:1px solid var(--admin-line,#dce5ed);border-radius:14px;background:var(--admin-soft,#f8fafc)}
.service-insurance-toggle{display:flex;align-items:flex-start;gap:11px;margin:0;cursor:pointer}
.service-insurance-toggle .form-check-input{margin-top:4px;flex:0 0 auto}
.service-insurance-toggle span{display:grid;gap:3px}
.service-insurance-toggle small{font-size:.75rem;color:#64748b;font-weight:400}
.service-insured-cost-field{min-width:0}
.service-table-insurance-toggle{display:grid;justify-items:center;gap:6px;font-size:.72rem;color:#64748b;cursor:pointer;white-space:nowrap}
.admin-service-table{min-width:1060px}
.admin-service-table td{vertical-align:middle}
.admin-service-table .service-money-input{min-width:135px}
@media(max-width:767.98px){.service-choice-grid{grid-template-columns:1fr}.service-insurance-box{grid-template-columns:1fr}.service-pricing-row{align-items:flex-start}.service-pricing-row strong{white-space:normal;text-align:left}}
@media print{.service-pricing{break-inside:avoid;border-color:#bbb;background:#fff}.service-insurance-badge{border:1px solid #bbb!important;background:#fff!important;color:#111!important}}

/* Services management cards + patients — v3.5 */
.service-admin-summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;border:1px solid #dce7ef;border-radius:18px;background:linear-gradient(135deg,#fff,#f5f9fc);box-shadow:0 10px 28px rgba(15,40,70,.05)}
.service-admin-summary-copy{display:flex;align-items:center;gap:14px;min-width:0}.service-admin-summary-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;background:var(--primary);color:#fff;font-size:1.35rem;font-weight:900;box-shadow:0 9px 22px rgba(var(--bs-primary-rgb),.22)}.service-admin-summary h2{margin:0 0 5px;font-size:1.08rem;font-weight:900;color:#172b3e}.service-admin-summary p{margin:0;font-size:.82rem;line-height:1.8;color:#64748b}.service-admin-summary-stats{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.service-admin-summary-stats span{display:grid;min-width:82px;padding:9px 12px;border:1px solid #e3ebf1;border-radius:12px;background:#fff;text-align:center;color:#64748b;font-size:.7rem}.service-admin-summary-stats strong{display:block;color:#132d46;font-size:1rem}
.service-create-panel{overflow:hidden}.service-create-summary{display:flex;align-items:center;gap:12px;padding:18px 20px;cursor:pointer;list-style:none;background:#fff;user-select:none}.service-create-summary::-webkit-details-marker{display:none}.service-create-summary-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary-subtle);color:var(--primary);font-size:1.25rem;font-weight:900}.service-create-summary>span:nth-child(2){display:grid;gap:3px;flex:1}.service-create-summary strong{font-size:.98rem;color:#172b3e}.service-create-summary small{font-size:.76rem;color:#64748b}.service-create-chevron{font-size:1.35rem;color:#64748b;transition:transform .2s ease}.service-create-panel[open] .service-create-chevron{transform:rotate(180deg)}.service-create-body{border-top:1px solid #e7edf2;background:#fbfdfe}
.service-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.service-management-card{overflow:hidden;border:1px solid #dce6ee;border-radius:19px;background:#fff;box-shadow:0 12px 34px rgba(15,40,70,.06);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.service-management-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 30%,#dce6ee);box-shadow:0 17px 42px rgba(15,40,70,.09)}.service-management-card.is-inactive{opacity:.78;background:#fafbfc}.service-management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:17px 18px;border-bottom:1px solid #e7edf2;background:linear-gradient(135deg,#fff,#f7fafc)}.service-management-title{display:flex;align-items:center;gap:11px;min-width:0}.service-management-number{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#eaf4fb;color:var(--primary);font-size:.78rem;font-weight:900}.service-management-title h3{margin:0 0 4px;font-size:.98rem;font-weight:900;color:#172b3e;overflow-wrap:anywhere}.service-management-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#64748b;font-size:.72rem}.service-management-meta .dot{color:#c3cdd6}.service-management-badges{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.service-status-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:850}.service-status-pill.is-active{background:#ecfdf3;color:#15803d;border:1px solid #bbf7d0}.service-status-pill.is-inactive{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.service-editor-form{padding:18px}.service-editor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(125px,.55fr) minmax(0,1fr);gap:14px;align-items:end}.service-editor-grid--create{grid-template-columns:minmax(220px,1.4fr) minmax(145px,.55fr) minmax(210px,1fr) minmax(100px,.42fr)}.service-field{min-width:0}.service-field--wide{grid-column:1/-1}.service-field--compact{max-width:150px}.service-editor-form .form-label{margin-bottom:6px;font-size:.75rem;font-weight:800;color:#526579}.service-editor-form .form-control,.service-editor-form .input-group-text{min-height:43px;border-radius:10px}.service-editor-form .input-group>.form-control{border-start-end-radius:10px;border-end-end-radius:10px}.service-editor-form .input-group>.input-group-text{border-start-start-radius:10px;border-end-start-radius:10px;background:#f3f7fa;color:#607286;font-size:.72rem}.service-insurance-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.8fr);gap:13px;align-items:center;padding:13px 14px;border:1px solid #dfe8ef;border-radius:14px;background:#f7fafc}.service-switch-row{display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer}.service-switch-row .form-check-input{flex:0 0 auto;margin:3px 0 0;width:1.15rem;height:1.15rem}.service-switch-copy{display:grid;gap:2px}.service-switch-copy strong{font-size:.78rem;color:#263c50}.service-switch-copy small{font-size:.68rem;line-height:1.65;color:#718096}.service-insured-inline{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:8px}.service-insured-inline[hidden]{display:none!important}.service-insured-inline .form-label{white-space:nowrap}.service-active-row{padding-top:2px}.service-switch-row--active{padding:11px 13px;border:1px dashed #d8e4ec;border-radius:12px;background:#fcfdfe}.service-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:15px;border-top:1px solid #edf1f4}.service-editor-actions--create{justify-content:flex-start}.service-editor-actions .btn{min-width:112px}.service-empty-state{grid-column:1/-1}
.admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.admin-metric-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #dfe8ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,40,70,.045)}.admin-metric-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;font-size:1rem;font-weight:900}.admin-metric-icon.is-primary{background:#e9f4fc;color:#0864ad}.admin-metric-icon.is-success{background:#ecfdf3;color:#15803d}.admin-metric-icon.is-info{background:#ecfeff;color:#0e7490}.admin-metric-icon.is-warning{background:#fff7ed;color:#c2410c}.admin-metric-card div{display:grid;gap:1px}.admin-metric-card small{font-size:.7rem;color:#64748b}.admin-metric-card strong{font-size:1.2rem;color:#172b3e}
.patient-filter-card{overflow:visible}.patient-filter-form{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(150px,.65fr) minmax(175px,.72fr) auto;gap:13px;align-items:end}.patient-search-field{min-width:0}.admin-search-control{position:relative}.admin-search-control>span{position:absolute;z-index:2;right:14px;top:50%;transform:translateY(-50%);color:#789;pointer-events:none;font-size:1.15rem}.admin-search-control .form-control{padding-right:42px}.patient-filter-actions{display:flex;gap:7px}.patient-filter-actions .btn{min-height:48px;white-space:nowrap}.admin-count-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#edf5fb;color:#285b80;font-size:.72rem;font-weight:800}.patient-list-card .admin-card-header{align-items:center}.patient-table{min-width:980px}.patient-identity-cell{display:flex;align-items:center;gap:10px;min-width:170px}.patient-avatar,.patient-profile-avatar{display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--primary) 65%,#4ba3d6));color:#fff;font-weight:900;box-shadow:0 6px 15px rgba(var(--bs-primary-rgb),.2)}.patient-avatar{width:38px;height:38px;flex:0 0 38px}.patient-identity-cell>div{display:grid;gap:2px}.patient-identity-cell strong{font-size:.84rem;color:#20364a}.patient-identity-cell small{font-size:.66rem;color:#7a8a99}.patient-contact-value{font-size:.82rem;font-variant-numeric:tabular-nums}.patient-appointment-count{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:10px;background:#edf5fb;color:#285b80;font-size:.78rem;font-weight:900}.patient-view-btn{white-space:nowrap}
.patient-profile-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:17px}.patient-profile-card{padding:22px}.patient-profile-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #e7edf2}.patient-profile-avatar{width:62px;height:62px;flex:0 0 62px;font-size:1.35rem}.patient-profile-eyebrow{display:block;margin-bottom:3px;color:var(--primary);font-size:.7rem;font-weight:850}.patient-profile-head h2{margin:0 0 2px;font-size:1.22rem;font-weight:900;color:#172b3e}.patient-profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:18px 0 0}.patient-profile-details>div{padding:11px 12px;border:1px solid #e5ecf2;border-radius:12px;background:#f9fbfc}.patient-profile-details dt{margin-bottom:4px;font-size:.68rem;color:#718096;font-weight:700}.patient-profile-details dd{margin:0;font-size:.82rem;color:#23394d;font-weight:800}.patient-stat-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.patient-stat-box{display:grid;align-content:center;min-height:110px;padding:17px;border:1px solid #dfe8ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,40,70,.045)}.patient-stat-box small{font-size:.7rem;color:#64748b}.patient-stat-box strong{font-size:1.45rem;color:#172b3e}.patient-stat-box.is-pending{border-color:#fde7ad;background:#fffcf2}.patient-stat-box.is-completed{border-color:#c9efd8;background:#f4fcf7}.patient-stat-box.is-cancelled{border-color:#f4d0d0;background:#fff8f8}
@media(max-width:1199.98px){.service-management-grid{grid-template-columns:1fr}.service-editor-grid--create{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-filter-form{grid-template-columns:1fr 1fr}.patient-search-field{grid-column:1/-1}.patient-filter-actions{justify-content:flex-end}.patient-profile-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.service-admin-summary{align-items:flex-start;flex-direction:column;padding:16px}.service-admin-summary-stats{width:100%}.service-admin-summary-stats span{flex:1}.service-management-head{flex-direction:column}.service-management-badges{justify-content:flex-start}.service-editor-grid,.service-editor-grid--create{grid-template-columns:1fr}.service-field--compact{max-width:none}.service-insurance-panel{grid-template-columns:1fr}.service-insured-inline{grid-template-columns:1fr}.service-editor-actions{justify-content:stretch}.service-editor-actions .btn{flex:1;min-width:0}.admin-metric-grid{grid-template-columns:1fr 1fr}.patient-filter-form{grid-template-columns:1fr}.patient-search-field{grid-column:auto}.patient-filter-actions{justify-content:stretch}.patient-filter-actions .btn{flex:1}.patient-profile-details{grid-template-columns:1fr}.patient-stat-panel{grid-template-columns:1fr 1fr}.patient-table{min-width:0}}
@media(max-width:479.98px){.admin-metric-grid,.patient-stat-panel{grid-template-columns:1fr}.service-admin-summary-copy{align-items:flex-start}.service-editor-actions{flex-direction:column}.service-editor-actions .btn{width:100%}}

/* Patient account management v3.6 */
.patient-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:260px}.patient-row-actions form{margin:0}.patient-editor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:18px;align-items:start}.patient-editor-card{overflow:hidden}.patient-editor-form{display:grid;gap:20px}.patient-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.patient-password-panel{padding:18px;border:1px solid #dfe8ef;border-radius:16px;background:#f8fbfd}.patient-password-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.patient-password-heading strong,.patient-password-heading small{display:block}.patient-password-heading strong{color:#18364e;font-size:.92rem}.patient-password-heading small{margin-top:3px;color:#718096;font-size:.72rem}.patient-password-heading>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e8f3fa;font-size:1.2rem}.patient-verification-choice{padding:3px}.patient-switch-card{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid #bfe1cc;border-radius:16px;background:#f5fcf7;cursor:pointer}.patient-switch-card .form-check-input{width:2.5rem;height:1.3rem}.patient-switch-card strong,.patient-switch-card small{display:block}.patient-switch-card strong{color:#1f5132;font-size:.88rem}.patient-switch-card small{margin-top:4px;color:#577263;font-size:.72rem;line-height:1.8}.patient-editor-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.patient-editor-actions .btn{min-width:135px}.patient-editor-aside{display:grid;gap:15px;position:sticky;top:92px}.patient-security-note,.patient-verification-admin-card{padding:20px}.patient-security-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#dcfce7;color:#15803d;font-size:1.25rem;font-weight:900}.patient-security-note h3{margin:14px 0 7px;color:#19364d;font-size:1rem;font-weight:900}.patient-security-note p,.patient-security-note li{color:#66788a;font-size:.76rem;line-height:1.9}.patient-security-note ul{margin:10px 0 0;padding-right:18px}.patient-verification-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.patient-verification-admin-head span,.patient-verification-admin-head strong{display:block}.patient-verification-admin-head>div>span{color:#718096;font-size:.7rem}.patient-verification-admin-head strong{margin-top:3px;color:#18364e;font-size:.94rem}.patient-verification-admin-card>p{margin:13px 0;color:#66788a;font-size:.74rem;line-height:1.8}.patient-profile-verification{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #dfe8ef;border-radius:14px;background:#f8fbfd}.patient-profile-verification>div{display:grid;gap:5px}.patient-profile-verification small{color:#718096;font-size:.7rem}.patient-profile-verification form{margin:0}
@media(max-width:1100px){.patient-editor-layout{grid-template-columns:1fr}.patient-editor-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.patient-editor-grid{grid-template-columns:1fr}.patient-editor-aside{grid-template-columns:1fr}.patient-editor-actions{flex-direction:column-reverse}.patient-editor-actions .btn{width:100%}.patient-profile-verification{align-items:stretch;flex-direction:column}.patient-profile-verification .btn{width:100%}.patient-row-actions{min-width:0;justify-content:flex-end}}

/* v3.8 weekly reception schedule */
.doctor-schedule-card{margin-top:18px;padding-top:18px;border-top:1px solid var(--clinic-line)}
.doctor-schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:.84rem;font-weight:800;color:var(--clinic-muted)}
.reception-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:900;white-space:nowrap}
.reception-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent)}
.reception-status--open{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.reception-status--upcoming{background:#fffaeb;color:#b54708;border:1px solid #fedf89}
.reception-status--closed{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
.doctor-schedule-list{display:grid;gap:8px}
.doctor-schedule-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--clinic-line);border-radius:12px;background:var(--clinic-soft);font-size:.84rem}
.doctor-schedule-row span{color:var(--clinic-muted);font-weight:700}
.doctor-schedule-row strong{font-weight:900;color:var(--clinic-ink);white-space:nowrap}
.doctor-schedule-empty{padding:12px;border-radius:12px;background:#fff5f5;color:#b42318;text-align:center;font-size:.82rem;font-weight:800}
.clinic-contact-list .clinic-contact-schedule{align-items:flex-start}
.clinic-contact-schedule-list{min-width:210px;display:grid;gap:8px}
.clinic-contact-schedule-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:var(--clinic-soft);font-size:.8rem}
.clinic-contact-schedule-list>div span{font-weight:700}
.clinic-contact-schedule-list>div strong{white-space:nowrap;color:var(--clinic-ink)}
@media(max-width:575.98px){.doctor-schedule-heading{align-items:flex-start;flex-direction:column}.doctor-schedule-row{align-items:flex-start;flex-direction:column;gap:4px}.clinic-contact-list .clinic-contact-schedule{display:block}.clinic-contact-schedule-list{min-width:0;margin-top:10px}.clinic-contact-schedule-list>div{align-items:flex-start;flex-direction:column;gap:3px}}

/* Enterprise clinic v4.0: verified patient reviews */
.clinic-reviews-section{padding:clamp(3.5rem,7vw,6rem) 0;background:linear-gradient(180deg,var(--clinic-soft,#f6fafc),#fff)}
.clinic-section-heading{max-width:700px;margin:0 auto 2rem}.clinic-section-heading h2{margin:.45rem 0 .65rem;color:var(--clinic-ink,#18364d);font-weight:950}.clinic-section-heading p{margin:0;color:var(--clinic-muted,#66788a)}
.clinic-review-card{display:flex;flex-direction:column;gap:1rem;padding:1.35rem;border:1px solid var(--clinic-line,#dfe8ef);border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(15,40,70,.06)}
.clinic-review-stars{direction:ltr;display:flex;gap:3px;color:#d8dee5;font-size:1.1rem}.clinic-review-stars .is-active{color:#f5a524}.clinic-review-card>p{flex:1;margin:0;color:var(--clinic-ink,#23394d);line-height:2}.clinic-review-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:.85rem;border-top:1px solid var(--clinic-line,#edf1f5);font-size:.76rem}.clinic-review-card footer strong{color:var(--clinic-ink,#18364d)}.clinic-review-card footer span{color:var(--clinic-muted,#718096)}

/* Mandatory phone verification + secretary reception — v4.1 */
.phone-verification-card .auth-card-icon{font-size:1.35rem;box-shadow:0 10px 28px rgba(15,118,110,.18)}
.phone-verification-card .patient-summary{margin-top:0}
.secretary-body .admin-card{overflow:hidden}
.secretary-body .slots-grid{min-height:54px}
.secretary-body .slot-btn{min-width:76px}
.secretary-filter-card .badge{white-space:normal;line-height:1.7}
.secretary-appointment-card .badge{white-space:normal}
@media(max-width:575px){
  .secretary-body nav .navbar-brand{width:100%;font-size:1rem}
  .secretary-body nav .d-flex{width:100%}
  .secretary-body nav .btn{flex:1}
  .secretary-page-head h1{font-size:1.55rem}
  .secretary-filter-card{padding:14px}
  .secretary-appointment-card{padding:14px;border-radius:16px}
  .checkin-options{grid-template-columns:1fr}
  .phone-verification-card .auth-card-body{padding:20px 16px}
}

/* ======================================================================
   Clinic Flow 4.2 — modern public website, mobile booking & staff approval
   ====================================================================== */
:root{
  --flow-primary:#146cda;
  --flow-primary-dark:#0b4fa8;
  --flow-primary-soft:#eaf3ff;
  --flow-cyan:#13a8a8;
  --flow-ink:#112d42;
  --flow-muted:#667b8d;
  --flow-line:#dce7ef;
  --flow-surface:#f5f8fb;
  --flow-card:#fff;
  --flow-shadow:0 22px 60px rgba(31,72,104,.11);
  --flow-shadow-sm:0 10px 32px rgba(31,72,104,.08);
  --flow-radius:24px;
}
.public-shell{background:var(--flow-surface);color:var(--flow-ink)}
.public-shell svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.clinic-flow-main{overflow:hidden}
.clinic-flow-topbar{background:#0c314d;color:#dceaf4;font-size:.73rem}
.clinic-flow-topbar__content{min-height:36px;display:flex;align-items:center;gap:24px}
.clinic-flow-topbar__content span,.clinic-flow-topbar__content a{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none}
.clinic-flow-topbar__content a{margin-right:auto;color:#fff;font-weight:800}
.clinic-flow-topbar__content svg{width:15px;height:15px;color:#7fd7d5}
.clinic-flow-nav{position:sticky;top:0;border:0!important;padding:.7rem 0;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(18,45,66,.08)}
.clinic-flow-nav.is-scrolled{box-shadow:0 10px 34px rgba(22,55,78,.10)}
.clinic-flow-brand{gap:11px;text-decoration:none}
.clinic-flow-brand__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,var(--flow-primary),var(--flow-cyan));color:#fff;box-shadow:0 9px 22px rgba(20,108,218,.23)}
.clinic-flow-brand__icon svg{width:25px;height:25px;stroke-width:2}
.clinic-flow-brand__text{display:grid;line-height:1.25}
.clinic-flow-brand__text strong{color:var(--flow-ink);font-size:.98rem;font-weight:950}
.clinic-flow-brand__text small{color:var(--flow-muted);font-size:.66rem;font-weight:600}
.clinic-flow-menu{gap:5px}
.clinic-flow-menu .nav-link{position:relative;color:#3e5668!important;font-weight:750;font-size:.83rem;padding:.7rem .85rem!important;border-radius:12px}
.clinic-flow-menu .nav-link:hover,.clinic-flow-menu .nav-link.active{color:var(--flow-primary)!important;background:var(--flow-primary-soft)}
.clinic-flow-actions{display:flex;align-items:center;gap:9px}
.btn-clinic-account,.btn-clinic-book{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px;border-radius:13px;font-size:.8rem;font-weight:850;padding-inline:16px}
.btn-clinic-account{background:#fff;border:1px solid var(--flow-line);color:var(--flow-ink)}
.btn-clinic-account:hover{background:#f5f9fc;color:var(--flow-primary);border-color:#bdd2e2}
.btn-clinic-book{box-shadow:0 9px 23px rgba(20,108,218,.2)}
.btn-clinic-account svg,.btn-clinic-book svg{width:18px;height:18px}
.clinic-flow-toggler{width:44px;height:42px;padding:9px;border:1px solid var(--flow-line);border-radius:12px;display:none;flex-direction:column;justify-content:center;gap:4px}
.clinic-flow-toggler span{height:2px;width:100%;border-radius:4px;background:var(--flow-ink)}
.clinic-flow-footer{margin-top:0;padding:64px 0 22px;background:#0c314d;color:#c7d7e3}
.clinic-flow-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:44px}
.clinic-flow-footer .footer-title{color:#fff;font-weight:900;font-size:.95rem;margin-bottom:16px}
.clinic-flow-footer .footer-text{max-width:370px;color:#b8cbd8;line-height:2}
.clinic-flow-footer .footer-links{display:grid;gap:10px}
.clinic-flow-footer .footer-links a{color:#c7d7e3;text-decoration:none;font-size:.8rem}
.clinic-flow-footer .footer-links a:hover{color:#fff}
.clinic-flow-contact-list li{display:grid;gap:2px}
.clinic-flow-contact-list li span{color:#7fa0b5;font-size:.68rem}
.clinic-flow-contact-list li b{font-size:.78rem;color:#e9f4fa;overflow-wrap:anywhere}
.clinic-mobile-nav{display:none}

/* Home */
.flow-home-hero{position:relative;padding:clamp(60px,8vw,112px) 0 92px;background:linear-gradient(135deg,#eff7ff 0%,#f9fcff 48%,#eaf8f7 100%);isolation:isolate}
.flow-home-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(20,108,218,.08) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to left,transparent,black 38%,transparent)}
.flow-home-hero__glow{position:absolute;border-radius:50%;filter:blur(4px);opacity:.65;z-index:-1}
.flow-home-hero__glow--one{width:320px;height:320px;right:-120px;top:50px;background:rgba(20,108,218,.13)}
.flow-home-hero__glow--two{width:260px;height:260px;left:3%;bottom:-80px;background:rgba(19,168,168,.14)}
.flow-home-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:center;gap:clamp(45px,7vw,90px)}
.flow-home-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(20,108,218,.18);border-radius:999px;background:rgba(255,255,255,.78);color:var(--flow-primary);font-size:.75rem;font-weight:900}
.flow-home-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--flow-cyan);box-shadow:0 0 0 5px rgba(19,168,168,.12)}
.flow-home-hero__content h1{max-width:760px;margin:20px 0 17px;font-size:clamp(2.45rem,5.5vw,4.65rem);line-height:1.32;letter-spacing:-.055em;font-weight:950;color:#102f47}
.flow-home-hero__content h1 em{font-style:normal;color:var(--flow-primary)}
.flow-home-hero__content>p{max-width:680px;margin:0;color:#587184;font-size:clamp(.94rem,1.5vw,1.1rem);line-height:2.05}
.flow-home-hero__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:29px}
.flow-home-hero__actions .btn{min-height:54px;border-radius:16px;display:inline-flex;align-items:center;gap:12px;font-weight:900;padding-inline:23px}
.flow-home-hero__actions svg{width:19px;height:19px}
.flow-home-trust{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:34px}
.flow-home-trust>div{display:flex;align-items:center;gap:9px;padding:8px 10px 8px 14px;background:rgba(255,255,255,.72);border:1px solid rgba(194,214,229,.85);border-radius:15px}
.flow-home-trust>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--flow-primary-soft);color:var(--flow-primary);font-size:.7rem;font-weight:950}
.flow-home-trust p{display:grid;margin:0;line-height:1.4}.flow-home-trust strong{font-size:.72rem}.flow-home-trust small{font-size:.61rem;color:var(--flow-muted)}
.flow-home-doctor{position:relative;max-width:500px;margin-inline:auto;width:100%}
.flow-home-doctor__card{overflow:hidden;border:1px solid rgba(190,211,226,.86);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:var(--flow-shadow)}
.flow-home-doctor__media{position:relative;height:245px;background:linear-gradient(145deg,#d9ebfb,#e1f5f3);overflow:hidden}
.flow-home-doctor__media img{width:100%;height:100%;object-fit:cover;object-position:center top}
.flow-home-doctor__media>span:not(.flow-home-doctor__status){display:grid;place-items:center;width:100%;height:100%;font-size:6rem;font-weight:950;color:var(--flow-primary)}
.flow-home-doctor__status{position:absolute;right:18px;bottom:16px;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(20,50,70,.14);font-size:.7rem;font-weight:850}
.flow-home-doctor__status i{width:8px;height:8px;border-radius:50%;background:#16a46c;box-shadow:0 0 0 5px rgba(22,164,108,.12)}
.flow-home-doctor__body{padding:22px 24px 25px}.flow-home-doctor__body>small{color:var(--flow-primary);font-weight:900;font-size:.68rem}.flow-home-doctor__body h2{margin:4px 0 1px;font-size:1.35rem;font-weight:950}.flow-home-doctor__body>p{color:var(--flow-muted);font-size:.8rem}.flow-home-doctor__code{display:inline-block;padding:5px 9px;border-radius:9px;background:#f4f8fb;color:#61798a;font-size:.68rem}
.flow-home-doctor__schedule{margin-top:17px;padding:13px;border:1px solid var(--flow-line);border-radius:16px;background:#f9fbfd}.flow-home-doctor__schedule-title,.flow-home-doctor__schedule>div:not(.flow-home-doctor__schedule-title){display:flex;align-items:center;justify-content:space-between;gap:12px}.flow-home-doctor__schedule-title{padding-bottom:9px;margin-bottom:7px;border-bottom:1px solid #e5edf3;font-size:.74rem;font-weight:900}.flow-home-doctor__schedule-title a{color:var(--flow-primary);font-size:.65rem;text-decoration:none}.flow-home-doctor__schedule>div:not(.flow-home-doctor__schedule-title){padding:4px 2px;color:#526b7d;font-size:.69rem}.flow-home-doctor__schedule strong{color:var(--flow-ink)}
.flow-home-floating-card{position:absolute;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(194,214,229,.8);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(31,72,104,.13);backdrop-filter:blur(10px)}
.flow-home-floating-card svg{width:30px;height:30px;padding:6px;border-radius:9px;color:var(--flow-primary);background:var(--flow-primary-soft)}.flow-home-floating-card span{display:grid}.flow-home-floating-card strong{font-size:.7rem}.flow-home-floating-card small{font-size:.6rem;color:var(--flow-muted)}.flow-home-floating-card--secure{right:-34px;top:90px}.flow-home-floating-card--sms{left:-38px;bottom:75px}
.flow-home-quick{position:relative;margin-top:-36px;z-index:3}.flow-home-quick__grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--flow-line);border-radius:22px;background:#fff;box-shadow:var(--flow-shadow-sm);overflow:hidden}.flow-home-quick__grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px 20px;text-decoration:none;color:var(--flow-ink);border-left:1px solid var(--flow-line)}.flow-home-quick__grid>a:last-child{border-left:0}.flow-home-quick__grid>a:hover{background:#f8fbfd}.flow-home-quick__icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:var(--flow-primary-soft);color:var(--flow-primary)}.flow-home-quick__icon svg{width:22px;height:22px}.flow-home-quick__grid div{display:grid}.flow-home-quick__grid strong{font-size:.82rem}.flow-home-quick__grid small{font-size:.68rem;color:var(--flow-muted)}.flow-home-quick__grid>a>b{font-size:1.5rem;color:#8ba0ae}
.flow-home-process,.flow-home-info,.flow-home-reviews{padding:clamp(68px,8vw,110px) 0}.flow-section-heading{max-width:760px;margin-bottom:38px}.flow-section-heading.text-center{margin-inline:auto}.flow-section-heading>span{color:var(--flow-primary);font-size:.72rem;font-weight:950}.flow-section-heading h2{margin:8px 0 10px;font-size:clamp(1.7rem,3vw,2.55rem);font-weight:950;letter-spacing:-.035em}.flow-section-heading p{margin:0;color:var(--flow-muted);line-height:2}
.flow-home-process__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.flow-home-process__grid article{position:relative;padding:28px;border:1px solid var(--flow-line);border-radius:23px;background:#fff;box-shadow:0 8px 30px rgba(31,72,104,.05)}.flow-home-process__grid article>span{position:absolute;left:22px;top:19px;color:#d6e2ea;font-size:1.65rem;font-weight:950}.flow-home-process__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,var(--flow-primary-soft),#edfafa);color:var(--flow-primary)}.flow-home-process__icon svg{width:27px;height:27px}.flow-home-process__grid h3{font-size:1.02rem;font-weight:950;margin:19px 0 8px}.flow-home-process__grid p{margin:0;color:var(--flow-muted);font-size:.78rem;line-height:1.9}
.flow-home-info{background:#fff}.flow-home-info__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.7fr);gap:55px;align-items:center}.flow-home-info__eyebrow{color:var(--flow-primary);font-size:.72rem;font-weight:950}.flow-home-info__content h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:950;line-height:1.5;margin:9px 0 12px}.flow-home-info__content>p{color:var(--flow-muted);line-height:2.1}.flow-home-features{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:25px 0}.flow-home-features>div{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--flow-line);border-radius:15px;background:#fbfdfe}.flow-home-features svg{width:34px;height:34px;padding:7px;border-radius:10px;background:var(--flow-primary-soft);color:var(--flow-primary)}.flow-home-features span{display:grid}.flow-home-features strong{font-size:.76rem}.flow-home-features small{color:var(--flow-muted);font-size:.63rem}.flow-home-info__content>.btn{border-radius:15px;font-weight:900}
.flow-home-contact{padding:27px;border-radius:26px;background:linear-gradient(145deg,#103b5a,#0c314d);color:#e9f4fa;box-shadow:var(--flow-shadow)}.flow-home-contact>span{font-size:.69rem;color:#7ed7d4;font-weight:900}.flow-home-contact h3{font-size:1.45rem;font-weight:950;margin:5px 0 19px;color:#fff}.flow-home-contact__row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.10)}.flow-home-contact__row svg{width:39px;height:39px;padding:9px;border-radius:12px;background:rgba(255,255,255,.09);color:#7ed7d4}.flow-home-contact__row div{display:grid}.flow-home-contact__row small{color:#91adbd;font-size:.64rem}.flow-home-contact__row strong{font-size:.8rem}.flow-home-contact__schedule{display:grid;gap:7px;margin:16px 0}.flow-home-contact__schedule>div{display:flex;justify-content:space-between;gap:15px;font-size:.69rem}.flow-home-contact__schedule span{color:#9cb4c3}.flow-home-contact .btn{border-color:#80bfeb;color:#fff}.flow-home-contact .btn:hover{background:#fff;color:var(--flow-primary)}
.flow-home-reviews{background:linear-gradient(180deg,#f5f9fc,#edf5fb)}.flow-home-reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.flow-review-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--flow-line);border-radius:22px;background:#fff;box-shadow:0 9px 28px rgba(31,72,104,.05)}.flow-review-card__stars{direction:ltr;color:#d7e0e7}.flow-review-card__stars .is-active{color:#f4a528}.flow-review-card>p{flex:1;margin:15px 0 21px;color:#3f586a;line-height:2}.flow-review-card footer{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid #edf1f4}.flow-review-card footer>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--flow-primary-soft);color:var(--flow-primary);font-weight:950}.flow-review-card footer div{display:grid}.flow-review-card footer strong{font-size:.72rem}.flow-review-card footer small{font-size:.62rem;color:var(--flow-muted)}
.flow-home-cta{padding:0 0 80px;background:#edf5fb}.flow-home-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:35px 40px;border-radius:28px;background:linear-gradient(120deg,var(--flow-primary-dark),var(--flow-primary) 65%,var(--flow-cyan));color:#fff;box-shadow:0 22px 54px rgba(20,108,218,.25)}.flow-home-cta__inner span{font-size:.72rem;color:#bde7ff}.flow-home-cta__inner h2{font-size:clamp(1.45rem,3vw,2.3rem);font-weight:950;margin:5px 0}.flow-home-cta__inner p{margin:0;color:#d9efff}.flow-home-cta__inner .btn{border-radius:15px;font-weight:900;white-space:nowrap}

/* Modern booking flow */
.booking-modern-hero{position:relative;padding:45px 0 72px;background:linear-gradient(125deg,#0c314d,#145f99 62%,#13a8a8);color:#fff;overflow:hidden}.booking-modern-hero:before,.booking-modern-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.booking-modern-hero:before{width:300px;height:300px;left:-80px;top:-180px}.booking-modern-hero:after{width:240px;height:240px;right:5%;bottom:-190px}.booking-modern-hero__inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:35px}.booking-modern-kicker{font-size:.72rem;font-weight:900;color:#90e5e2}.booking-modern-hero h1{font-size:clamp(1.75rem,3.7vw,3.05rem);font-weight:950;margin:8px 0 7px}.booking-modern-hero p{max-width:710px;margin:0;color:#d6e8f3;line-height:1.9}.booking-modern-security{display:grid;gap:8px;min-width:210px}.booking-modern-security span{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800}.booking-modern-security svg{width:20px;height:20px;color:#91e9e5}
.booking-modern-shell{position:relative;margin-top:-38px;padding-bottom:80px;z-index:2}.booking-flow{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.booking-flow__main{min-width:0}.booking-progress{display:flex;align-items:center;justify-content:center;padding:14px 20px;margin-bottom:16px;border:1px solid var(--flow-line);border-radius:19px;background:rgba(255,255,255,.97);box-shadow:var(--flow-shadow-sm)}.booking-progress>i{width:70px;height:2px;margin-inline:12px;background:#dce6ed}.booking-progress__item{display:flex;align-items:center;gap:9px;color:#8b9ca8}.booking-progress__item>span{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#edf2f5;font-weight:950}.booking-progress__item>div{display:grid;line-height:1.35}.booking-progress__item strong{font-size:.73rem}.booking-progress__item small{font-size:.59rem}.booking-progress__item.is-active{color:var(--flow-primary)}.booking-progress__item.is-active>span,.booking-progress__item.is-complete>span{background:var(--flow-primary);color:#fff;box-shadow:0 6px 17px rgba(20,108,218,.2)}
.booking-errors{border-radius:16px}.booking-modern-form{display:grid;gap:16px}.booking-step-card{padding:24px;border:1px solid var(--flow-line);border-radius:23px;background:#fff;box-shadow:0 11px 36px rgba(31,72,104,.06);scroll-margin-top:100px}.booking-step-card__header{display:flex;align-items:flex-start;gap:13px;padding-bottom:18px;margin-bottom:19px;border-bottom:1px solid #eaf0f4}.booking-step-number{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:13px;background:var(--flow-primary-soft);color:var(--flow-primary);font-weight:950}.booking-step-card__header h2{font-size:1rem;font-weight:950;margin:0 0 3px}.booking-step-card__header p{margin:0;color:var(--flow-muted);font-size:.72rem;line-height:1.7}
.booking-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.booking-service-option{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:15px;border:1.5px solid var(--flow-line);border-radius:17px;background:#fff;cursor:pointer;transition:.2s ease}.booking-service-option:hover{border-color:#9fc2df;transform:translateY(-1px)}.booking-service-option:has(input:checked){border-color:var(--flow-primary);background:#f4f9ff;box-shadow:0 0 0 4px rgba(20,108,218,.08)}.booking-service-option input{position:absolute;opacity:0;pointer-events:none}.booking-service-option__selector{flex:0 0 20px;width:20px;height:20px;border:2px solid #b8c8d4;border-radius:50%;box-shadow:inset 0 0 0 4px #fff}.booking-service-option:has(input:checked) .booking-service-option__selector{border-color:var(--flow-primary);background:var(--flow-primary)}.booking-service-option__content{display:grid;min-width:0;flex:1}.booking-service-option__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.booking-service-option__top strong{font-size:.82rem;overflow-wrap:anywhere}.booking-service-option__top em{font-style:normal;white-space:nowrap;padding:4px 7px;border-radius:8px;background:#eef3f6;color:#64798a;font-size:.61rem}.booking-service-option__price{margin-top:6px;color:var(--flow-muted);font-size:.67rem}.booking-service-option__price .service-pricing{margin:0!important}.booking-fine-print{margin:12px 2px 0;color:#7b8e9c;font-size:.64rem}
.booking-time-layout{display:grid;grid-template-columns:minmax(220px,.68fr) minmax(0,1.32fr);gap:20px}.booking-date-field,.booking-time-field{min-width:0}.booking-date-field .form-label,.booking-time-field .form-label{font-weight:900;font-size:.76rem}.booking-date-field>small{display:block;margin-top:7px;color:var(--flow-muted);font-size:.62rem}.booking-input-icon{position:relative}.booking-input-icon svg{position:absolute;z-index:2;right:15px;top:50%;transform:translateY(-50%);width:21px;height:21px;color:var(--flow-primary);pointer-events:none}.booking-input-icon .form-control{padding-right:47px;min-height:54px;border-radius:14px;border-color:var(--flow-line);font-weight:800}.booking-time-field__label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.booking-time-field__label span{color:var(--flow-muted);font-size:.6rem}.booking-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:112px;align-content:start}.booking-slot-grid .slot-btn{min-width:0;min-height:46px;padding:7px;border:1px solid var(--flow-line);border-radius:12px;background:#f9fbfd;color:var(--flow-ink);font-weight:900;font-size:.76rem;transition:.18s ease}.booking-slot-grid .slot-btn:hover{border-color:var(--flow-primary);color:var(--flow-primary);background:var(--flow-primary-soft)}.booking-slot-grid .slot-btn.is-selected{border-color:var(--flow-primary);background:var(--flow-primary);color:#fff;box-shadow:0 7px 18px rgba(20,108,218,.22)}.booking-slot-grid .slot-btn.is-unavailable{opacity:.55}.booking-slot-placeholder{grid-column:1/-1;display:grid;place-items:center;min-height:108px;padding:18px;border:1px dashed #c9d8e3;border-radius:14px;color:#8193a0;text-align:center}.booking-slot-placeholder span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#edf3f7;font-size:.65rem;font-weight:900}.booking-slot-placeholder p{margin:7px 0 0;font-size:.68rem}.booking-slot-grid>p{grid-column:1/-1;padding:16px;margin:0;border:1px dashed var(--flow-line);border-radius:13px;text-align:center}
.booking-patient-card{display:grid;grid-template-columns:auto repeat(3,1fr);align-items:center;gap:14px;padding:14px;border:1px solid var(--flow-line);border-radius:17px;background:#f8fbfd}.booking-patient-card__avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,var(--flow-primary),var(--flow-cyan));color:#fff;font-size:1.15rem;font-weight:950}.booking-patient-card>div:not(.booking-patient-card__avatar){display:grid;min-width:0}.booking-patient-card span{color:var(--flow-muted);font-size:.61rem}.booking-patient-card strong{font-size:.75rem;overflow-wrap:anywhere}.booking-description-field{margin-top:18px}.booking-description-field label{font-weight:900;font-size:.76rem}.booking-description-field label span,.booking-description-field small{color:var(--flow-muted);font-size:.61rem;font-weight:500}.booking-description-field textarea{border-radius:14px;border-color:var(--flow-line);resize:vertical}.booking-terms{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:12px;border-radius:13px;background:#f7fafc;color:#50697b;font-size:.69rem;line-height:1.8}.booking-terms .form-check-input{flex:0 0 auto;margin-top:5px}
.booking-submit-dock{position:sticky;bottom:14px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 13px 12px 17px;border:1px solid rgba(190,211,226,.9);border-radius:19px;background:rgba(255,255,255,.94);box-shadow:0 14px 38px rgba(31,72,104,.16);backdrop-filter:blur(15px)}.booking-submit-dock__summary{display:grid;min-width:0}.booking-submit-dock__summary span{font-size:.6rem;color:var(--flow-muted)}.booking-submit-dock__summary strong{font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:215px;min-height:50px;border-radius:14px;font-weight:950}.booking-submit-button svg{width:19px;height:19px}
.booking-flow__aside{position:sticky;top:105px}.booking-summary-card{padding:20px;border:1px solid var(--flow-line);border-radius:23px;background:#fff;box-shadow:var(--flow-shadow-sm)}.booking-summary-card__doctor{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid #eaf0f4}.booking-summary-card__avatar{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:linear-gradient(145deg,#ddecfa,#e0f6f4);color:var(--flow-primary);font-size:1.3rem;font-weight:950}.booking-summary-card__doctor div{display:grid}.booking-summary-card__doctor small{color:var(--flow-muted);font-size:.59rem}.booking-summary-card__doctor strong{font-size:.84rem}.booking-summary-card__doctor span{color:var(--flow-muted);font-size:.65rem}.booking-summary-card__rows{display:grid;gap:10px;padding:16px 0;border-bottom:1px solid #eaf0f4}.booking-summary-card__rows>div{display:flex;justify-content:space-between;gap:15px}.booking-summary-card__rows span{color:var(--flow-muted);font-size:.67rem}.booking-summary-card__rows strong{font-size:.7rem;text-align:left}.booking-summary-card__notice{display:flex;gap:10px;margin:15px 0;padding:12px;border-radius:14px;background:#eff7ff;color:#2e526d}.booking-summary-card__notice svg{flex:0 0 22px;width:22px;height:22px;color:var(--flow-primary)}.booking-summary-card__notice p{display:grid;margin:0;font-size:.64rem;line-height:1.7}.booking-summary-card__notice strong{font-size:.7rem}.booking-summary-card__tips{display:grid;gap:8px;margin:0 0 16px;padding:0;list-style:none;color:var(--flow-muted);font-size:.65rem}.booking-summary-card__tips li{position:relative;padding-right:14px}.booking-summary-card__tips li:before{content:"";position:absolute;right:1px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--flow-cyan)}.booking-summary-card .btn{border-radius:13px;font-weight:850}
.booking-result-card{max-width:720px;margin:0 auto;padding:40px;text-align:center;border:1px solid var(--flow-line);border-radius:28px;background:#fff;box-shadow:var(--flow-shadow)}.booking-result-card__icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 16px;border-radius:23px;background:#e7f8ef;color:#138353;font-size:2rem;font-weight:950}.booking-result-card__eyebrow{color:var(--flow-primary);font-size:.7rem;font-weight:950}.booking-result-card h2{margin:6px 0 9px;font-size:1.75rem;font-weight:950}.booking-result-card__lead{max-width:580px;margin:0 auto;color:var(--flow-muted);line-height:2}.booking-result-code{display:grid;max-width:350px;margin:22px auto 13px;padding:14px;border:1px dashed #aac5d8;border-radius:15px;background:#f7fbfd}.booking-result-code span{font-size:.62rem;color:var(--flow-muted)}.booking-result-code strong{font-size:1.25rem;letter-spacing:.1em}.booking-result-status{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--flow-muted);font-size:.68rem}.booking-result-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:23px}.booking-result-actions .btn{border-radius:13px;font-weight:850}
.panel-alert-info{border-color:#b9daf4!important;background:#edf7ff!important;color:#285b7e!important}

/* Secretary & approval states */
.secretary-confirmation-state{display:grid;gap:5px;margin-top:12px;padding:10px 12px;border:1px solid var(--clinic-line,#dfe8ef);border-radius:12px;background:#fafcfd}.secretary-confirmation-state>div{display:flex;align-items:center;gap:9px}.secretary-confirmation-state>div>span{color:var(--clinic-muted,#718096);font-size:.69rem}.secretary-confirmation-state small{color:#64748b;font-size:.67rem}.secretary-confirmation-state p{margin:0;color:#334155;font-size:.72rem}.secretary-confirmation-form{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid #bfdbfe;border-radius:13px;background:#f0f7ff}.secretary-confirmation-form .form-label{margin:0;color:#164e7a;font-size:.72rem;font-weight:900}.secretary-confirmation-actions{display:flex;gap:7px;flex-wrap:wrap}.secretary-confirmation-actions .btn{flex:1;min-width:110px}

@media(max-width:1199.98px){
  .flow-home-hero__grid{grid-template-columns:minmax(0,1fr) 390px;gap:45px}.flow-home-floating-card--secure{right:-10px}.flow-home-floating-card--sms{left:-12px}
  .booking-flow{grid-template-columns:minmax(0,1fr) 305px}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:991.98px){
  .clinic-flow-topbar{display:none}.clinic-flow-nav{padding:.55rem 0}.clinic-flow-toggler{display:flex}.clinic-flow-nav .navbar-collapse{margin-top:10px;padding:15px;border:1px solid var(--flow-line);border-radius:18px;background:#fff;box-shadow:var(--flow-shadow-sm)}.clinic-flow-menu{gap:3px}.clinic-flow-actions{display:grid;grid-template-columns:1fr 1fr}.clinic-flow-actions .btn{width:100%}
  .clinic-flow-footer__grid{grid-template-columns:repeat(2,1fr)}
  .flow-home-hero__grid{grid-template-columns:1fr;text-align:center}.flow-home-hero__content>p{margin-inline:auto}.flow-home-hero__actions,.flow-home-trust{justify-content:center}.flow-home-doctor{margin-top:12px}.flow-home-floating-card--secure{right:0}.flow-home-floating-card--sms{left:0}.flow-home-quick__grid{grid-template-columns:1fr}.flow-home-quick__grid>a{border-left:0;border-bottom:1px solid var(--flow-line)}.flow-home-quick__grid>a:last-child{border-bottom:0}.flow-home-info__grid{grid-template-columns:1fr}.flow-home-contact{max-width:620px;width:100%;margin:auto}.flow-home-reviews__grid{grid-template-columns:repeat(2,1fr)}
  .booking-modern-hero{padding-bottom:62px}.booking-modern-hero__inner{align-items:flex-start}.booking-modern-security{display:none}.booking-flow{grid-template-columns:1fr}.booking-flow__aside{position:static;order:-1}.booking-summary-card{display:none}.booking-service-list{grid-template-columns:1fr}.booking-time-layout{grid-template-columns:1fr}.booking-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-submit-dock{bottom:82px}
}
@media(max-width:767.98px){
  body.public-shell{padding-bottom:74px}.clinic-flow-footer{padding-bottom:35px}.clinic-flow-brand__text small{display:none}.clinic-flow-brand__icon{width:40px;height:40px}.clinic-flow-nav .container{padding-inline:14px}
  .clinic-mobile-nav{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:1050;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;min-height:62px;padding:6px 5px;border:1px solid rgba(189,208,221,.9);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(15,47,70,.22);backdrop-filter:blur(16px)}.clinic-mobile-nav>a{display:grid;place-items:center;gap:2px;min-width:0;color:#758894;text-decoration:none;font-size:.57rem;font-weight:800}.clinic-mobile-nav>a>svg{width:20px;height:20px}.clinic-mobile-nav>a.is-active{color:var(--flow-primary)}.clinic-mobile-nav__booking{position:relative}.clinic-mobile-nav__plus{display:grid;place-items:center;width:46px;height:46px;margin-top:-23px;border:5px solid #fff;border-radius:17px;background:linear-gradient(145deg,var(--flow-primary),var(--flow-cyan));color:#fff;box-shadow:0 8px 20px rgba(20,108,218,.28)}.clinic-mobile-nav__plus svg{width:23px;height:23px}.clinic-mobile-nav__booking>b{font-size:.58rem}
  .flow-home-hero{padding:48px 0 68px}.flow-home-hero__content h1{font-size:clamp(2.1rem,10vw,3.25rem)}.flow-home-hero__actions{display:grid;grid-template-columns:1fr;width:100%}.flow-home-hero__actions .btn{width:100%}.flow-home-trust{display:grid;grid-template-columns:1fr;width:100%}.flow-home-trust>div{text-align:right}.flow-home-doctor__media{height:215px}.flow-home-floating-card{position:static;margin-top:10px;text-align:right}.flow-home-doctor{display:grid}.flow-home-doctor__card{order:1}.flow-home-floating-card--secure{order:2}.flow-home-floating-card--sms{order:3}.flow-home-quick{margin-top:-25px}.flow-home-process,.flow-home-info,.flow-home-reviews{padding:62px 0}.flow-home-process__grid,.flow-home-reviews__grid{grid-template-columns:1fr}.flow-home-features{grid-template-columns:1fr}.flow-home-cta{padding-bottom:45px}.flow-home-cta__inner{align-items:stretch;flex-direction:column;padding:27px 22px;text-align:center}.flow-home-cta__inner .btn{width:100%}
  .booking-modern-hero{padding:34px 0 55px;text-align:center}.booking-modern-hero h1{font-size:1.8rem}.booking-modern-hero p{font-size:.78rem}.booking-modern-shell{width:100%;max-width:none;margin-top:-28px;padding-inline:10px;padding-bottom:38px}.booking-progress{justify-content:space-between;padding:10px 9px;border-radius:16px}.booking-progress>i{flex:1;width:auto;min-width:8px;margin-inline:5px}.booking-progress__item{gap:5px}.booking-progress__item>span{width:31px;height:31px;border-radius:10px}.booking-progress__item>div{display:none}.booking-step-card{padding:16px 13px;border-radius:18px}.booking-step-card__header{gap:10px;padding-bottom:14px;margin-bottom:15px}.booking-step-number{flex-basis:35px;height:35px;border-radius:11px}.booking-step-card__header h2{font-size:.89rem;line-height:1.55}.booking-step-card__header p{font-size:.65rem}.booking-service-option{padding:13px 11px;border-radius:14px}.booking-service-option__top{align-items:flex-start;flex-direction:column}.booking-service-option__top em{align-self:flex-start}.booking-time-layout{gap:18px}.booking-input-icon .form-control{font-size:.83rem}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:105px}.booking-slot-grid .slot-btn{min-height:44px;font-size:.72rem}.booking-patient-card{grid-template-columns:auto 1fr 1fr;padding:12px;gap:10px}.booking-patient-card__avatar{grid-row:1/3;width:43px;height:43px}.booking-patient-card>div:last-child{grid-column:2/4}.booking-terms{font-size:.64rem}.booking-submit-dock{position:fixed;right:8px;left:8px;bottom:80px;padding:8px;border-radius:17px}.booking-submit-dock__summary{display:none}.booking-submit-button{width:100%;min-width:0;min-height:48px}.booking-result-card{padding:27px 16px;border-radius:22px}.booking-result-card h2{font-size:1.45rem}.booking-result-actions{display:grid}.booking-result-actions>*{width:100%}.booking-result-actions form .btn{width:100%}
  .secretary-confirmation-actions{display:grid;grid-template-columns:1fr 1fr}.secretary-confirmation-actions .btn{width:100%;min-width:0}
}
@media(max-width:430px){
  .clinic-flow-brand__text strong{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clinic-flow-nav .navbar-toggler{margin-right:auto}.flow-home-hero__content h1{font-size:2rem}.flow-home-doctor__body{padding:19px 17px}.flow-home-doctor__schedule>div:not(.flow-home-doctor__schedule-title){align-items:flex-start;flex-direction:column}.flow-home-quick__grid>a{padding:15px}.flow-section-heading h2{font-size:1.65rem}.flow-home-process__grid article{padding:22px}.flow-home-info__content h2{font-size:1.7rem}.clinic-flow-footer__grid{grid-template-columns:1fr;gap:29px}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-patient-card{grid-template-columns:auto 1fr}.booking-patient-card__avatar{grid-row:1/4}.booking-patient-card>div:last-child{grid-column:2}.booking-time-field__label{align-items:flex-start;flex-direction:column}.booking-result-status{align-items:stretch;flex-direction:column}
}

/* ======================================================================
   Doctor Site 4.3 — profile-led public UI, mobile drawer, tabbed SMS,
   section-based page builder and mobile-safe Jalali datepicker
   ====================================================================== */
:root{
  --doctor-primary:var(--flow-primary,#146cda);
  --doctor-primary-dark:var(--flow-primary-dark,#0b4fa8);
  --doctor-accent:var(--flow-cyan,#13a8a8);
  --doctor-ink:#102d43;
  --doctor-muted:#607789;
  --doctor-line:#dbe7ef;
  --doctor-soft:#f3f8fc;
  --doctor-surface:#fff;
  --doctor-radius:24px;
  --doctor-shadow:0 24px 70px rgba(23,62,91,.12);
}
body.doctor-site-shell{padding-bottom:0;background:#f7fafc;color:var(--doctor-ink)}
.doctor-site-shell svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.doctor-site-main{overflow:hidden;min-height:45vh}
.doctor-site-header{position:relative;z-index:1030;background:#fff}
.doctor-site-topbar{background:#0a304b;color:#dcebf4;font-size:.72rem}
.doctor-site-topbar__content{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.doctor-site-topbar__content>div,.doctor-site-topbar__links{display:flex;align-items:center;gap:18px}
.doctor-site-topbar__links a{display:inline-flex;align-items:center;gap:6px;color:#eaf5fb;text-decoration:none;font-weight:750}
.doctor-site-topbar__links svg{width:15px;height:15px;color:#71d3cb}
.doctor-site-live-dot{display:inline-block;width:8px;height:8px;margin-left:7px;border-radius:50%;background:#35d39a;box-shadow:0 0 0 5px rgba(53,211,154,.13)}
.doctor-site-nav{position:sticky;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(211,225,235,.88);backdrop-filter:blur(18px)}
.doctor-site-nav__inner{min-height:78px;display:flex;align-items:center;gap:30px}
.doctor-site-brand{display:inline-flex;align-items:center;gap:11px;min-width:210px;color:inherit;text-decoration:none}
.doctor-site-brand:hover{color:inherit}
.doctor-site-brand__mark{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border-radius:16px;background:linear-gradient(145deg,var(--doctor-primary),var(--doctor-accent));color:#fff;box-shadow:0 10px 24px rgba(20,108,218,.23)}
.doctor-site-brand__mark svg{width:26px;height:26px;stroke-width:2}
.doctor-site-brand>span:last-child{display:grid;line-height:1.25}
.doctor-site-brand strong{font-size:.98rem;font-weight:950;color:var(--doctor-ink)}
.doctor-site-brand small{font-size:.64rem;color:var(--doctor-muted);font-weight:650}
.doctor-site-desktop-menu{flex:1}
.doctor-site-desktop-menu ul{display:flex;align-items:center;justify-content:center;gap:3px;margin:0;padding:0;list-style:none}
.doctor-site-desktop-menu a{display:block;padding:10px 13px;border-radius:12px;color:#40596b;text-decoration:none;font-size:.78rem;font-weight:800}
.doctor-site-desktop-menu a:hover,.doctor-site-desktop-menu a.active{background:#edf5ff;color:var(--doctor-primary)}
.doctor-site-nav__actions{display:flex;align-items:center;gap:9px;margin-right:auto}
.doctor-site-account{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid var(--doctor-line);border-radius:13px;color:var(--doctor-ink);text-decoration:none;font-size:.74rem;font-weight:850;background:#fff}
.doctor-site-account svg{width:18px;height:18px;color:var(--doctor-primary)}
.doctor-site-book-button{min-height:43px;padding-inline:18px;border-radius:13px;font-size:.75rem;font-weight:900;box-shadow:0 9px 22px rgba(20,108,218,.2)}
.doctor-mobile-menu-button{display:none;width:44px;height:43px;padding:10px;border:1px solid var(--doctor-line);border-radius:13px;background:#fff}
.doctor-mobile-menu-button span{display:block;height:2px;margin:4px 0;border-radius:99px;background:var(--doctor-ink)}
.doctor-mobile-drawer-backdrop{position:fixed;inset:0;z-index:1070;background:rgba(4,24,38,.58);backdrop-filter:blur(3px)}
.doctor-mobile-drawer{position:fixed;z-index:1080;top:0;right:0;width:min(88vw,390px);height:100dvh;overflow:auto;background:#fff;box-shadow:-20px 0 70px rgba(8,35,54,.24);transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility .28s ease}
.doctor-mobile-drawer.is-open{transform:translateX(0);visibility:visible}
.doctor-mobile-drawer-open{overflow:hidden}
.doctor-mobile-drawer__header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--doctor-line);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.doctor-mobile-drawer__header .doctor-site-brand{min-width:0}
.doctor-mobile-drawer__header>button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--doctor-line);border-radius:12px;background:#f8fbfd;color:#40596b;font-size:1.5rem}
.doctor-mobile-drawer__body{padding:17px}
.doctor-mobile-drawer__booking{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;border-radius:18px;background:linear-gradient(135deg,var(--doctor-primary),#2482e6);color:#fff;text-decoration:none;box-shadow:0 15px 30px rgba(20,108,218,.23)}
.doctor-mobile-drawer__booking>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.18)}
.doctor-mobile-drawer__booking svg{width:23px;height:23px}.doctor-mobile-drawer__booking div{display:grid}.doctor-mobile-drawer__booking strong{font-size:.84rem}.doctor-mobile-drawer__booking small{font-size:.63rem;color:#ddecff}.doctor-mobile-drawer__booking>b{font-size:1.2rem}
.doctor-mobile-drawer__nav{display:grid;gap:7px;margin-top:19px}
.doctor-mobile-drawer__nav a{display:flex;align-items:center;gap:11px;padding:10px;border-radius:14px;color:#334f62;text-decoration:none;font-size:.78rem;font-weight:850}
.doctor-mobile-drawer__nav a:hover,.doctor-mobile-drawer__nav a.active{background:#eef6ff;color:var(--doctor-primary)}
.doctor-mobile-drawer__nav a>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#f1f6f9;color:var(--doctor-primary);font-weight:950}
.doctor-mobile-drawer__account{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;padding-top:17px;border-top:1px solid var(--doctor-line)}
.doctor-mobile-drawer__account a{padding:10px;border:1px solid var(--doctor-line);border-radius:12px;text-align:center;color:var(--doctor-ink);text-decoration:none;font-size:.7rem;font-weight:850}
.doctor-mobile-drawer__contact{display:grid;gap:9px;padding:14px;border-radius:16px;background:#f3f8fb}
.doctor-mobile-drawer__contact a,.doctor-mobile-drawer__contact>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:inherit;text-decoration:none}
.doctor-mobile-drawer__contact small{font-size:.62rem;color:var(--doctor-muted)}.doctor-mobile-drawer__contact strong{font-size:.72rem}

/* Profile-led home */
.doctor-site-hero{position:relative;padding:clamp(62px,8vw,112px) 0 82px;background:linear-gradient(135deg,#eef7ff 0%,#fbfdff 50%,#eaf9f7 100%);isolation:isolate}
.doctor-site-hero__mesh{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(20,108,218,.09) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent)}
.doctor-site-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:clamp(44px,7vw,96px)}
.doctor-site-eyebrow,.doctor-section-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(20,108,218,.18);border-radius:999px;background:rgba(255,255,255,.78);color:var(--doctor-primary);font-size:.7rem;font-weight:950}
.doctor-site-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--doctor-accent);box-shadow:0 0 0 5px rgba(19,168,168,.13)}
.doctor-site-hero__copy h1{max-width:760px;margin:20px 0 16px;font-size:clamp(2.5rem,5.5vw,4.65rem);line-height:1.28;letter-spacing:-.055em;font-weight:950;color:#102e45}
.doctor-site-hero__copy>p{max-width:680px;margin:0;color:#587184;font-size:clamp(.9rem,1.5vw,1.07rem);line-height:2.05}
.doctor-site-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:27px}
.doctor-site-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:53px;padding-inline:22px;border-radius:15px;font-size:.8rem;font-weight:900}
.doctor-site-trust-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:31px}
.doctor-site-trust-list>div{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid rgba(194,214,229,.83);border-radius:14px;background:rgba(255,255,255,.72)}
.doctor-site-check{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:9px;background:#e6f7ef;color:#178253;font-weight:950}
.doctor-site-trust-list p{display:grid;margin:0;line-height:1.45}.doctor-site-trust-list strong{font-size:.66rem}.doctor-site-trust-list small{font-size:.56rem;color:var(--doctor-muted)}
.doctor-profile-stage{position:relative;max-width:500px;margin:auto}
.doctor-profile-stage__halo{position:absolute;inset:10% -10%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(20,108,218,.18),transparent 68%);filter:blur(12px)}
.doctor-profile-showcase{overflow:hidden;border:1px solid rgba(190,211,226,.9);border-radius:31px;background:rgba(255,255,255,.96);box-shadow:var(--doctor-shadow)}
.doctor-profile-showcase__verified{display:flex;align-items:center;gap:6px;padding:12px 18px;border-bottom:1px solid #e7eef3;color:var(--doctor-primary);font-size:.65rem;font-weight:900}.doctor-profile-showcase__verified svg{width:18px;height:18px}
.doctor-profile-showcase__media{position:relative;height:270px;overflow:hidden;background:linear-gradient(145deg,#dcecff,#e4f8f5)}
.doctor-profile-showcase__media img{width:100%;height:100%;object-fit:cover;object-position:center top}.doctor-profile-showcase__media>span{display:grid;place-items:center;width:100%;height:100%;font-size:7rem;font-weight:950;color:var(--doctor-primary)}
.doctor-profile-showcase__availability{position:absolute;right:17px;bottom:15px;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 9px 23px rgba(20,50,70,.13);font-size:.66rem;font-weight:900}.doctor-profile-showcase__availability i{width:8px;height:8px;border-radius:50%;background:#f59e0b}.doctor-profile-showcase__availability.is-open i{background:#16a46c;box-shadow:0 0 0 5px rgba(22,164,108,.12)}
.doctor-profile-showcase__body{padding:21px 23px 24px}.doctor-profile-showcase__body>span{color:var(--doctor-primary);font-size:.65rem;font-weight:900}.doctor-profile-showcase__body h2{margin:4px 0 2px;font-size:1.45rem;font-weight:950}.doctor-profile-showcase__body>p{margin:0;color:var(--doctor-muted);font-size:.78rem}.doctor-profile-showcase__license{display:inline-flex;margin-top:9px;padding:5px 9px;border-radius:9px;background:#f2f7fa;color:#5f7788;font-size:.64rem}.doctor-profile-showcase__rating{display:flex;align-items:center;gap:10px;margin-top:15px;padding:11px;border:1px solid var(--doctor-line);border-radius:14px}.doctor-profile-showcase__rating>span{color:#f6b81a;letter-spacing:.08em}.doctor-profile-showcase__rating>div{display:grid}.doctor-profile-showcase__rating strong{font-size:.68rem}.doctor-profile-showcase__rating small{font-size:.58rem;color:var(--doctor-muted)}
.doctor-profile-showcase__next{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-top:12px;padding:12px;border-radius:14px;background:#eef6ff}.doctor-profile-showcase__next>div{display:grid}.doctor-profile-showcase__next small{font-size:.58rem;color:var(--doctor-muted)}.doctor-profile-showcase__next strong{font-size:.72rem}.doctor-profile-showcase__next a{padding:8px 11px;border-radius:10px;background:var(--doctor-primary);color:#fff;text-decoration:none;font-size:.65rem;font-weight:900}
.doctor-profile-floating{position:absolute;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(194,214,229,.84);border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 13px 30px rgba(31,72,104,.14);backdrop-filter:blur(10px)}.doctor-profile-floating svg{width:31px;height:31px;padding:6px;border-radius:9px;background:#edf5ff;color:var(--doctor-primary)}.doctor-profile-floating span{display:grid}.doctor-profile-floating strong{font-size:.65rem}.doctor-profile-floating small{font-size:.55rem;color:var(--doctor-muted)}.doctor-profile-floating--schedule{right:-38px;top:118px}.doctor-profile-floating--secure{left:-42px;bottom:72px}
.doctor-trust-strip{padding:28px 0;background:#fff;border-block:1px solid var(--doctor-line)}.doctor-trust-strip__heading{display:none}.doctor-trust-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}.doctor-trust-strip__grid article{display:flex;align-items:center;gap:13px;padding:12px 22px;border-left:1px solid var(--doctor-line)}.doctor-trust-strip__grid article:last-child{border-left:0}.doctor-trust-strip__grid>article>strong{color:var(--doctor-primary);font-size:1.35rem;font-weight:950}.doctor-trust-strip__grid article div{display:grid}.doctor-trust-strip__grid h3{margin:0;font-size:.7rem;font-weight:950}.doctor-trust-strip__grid p{margin:2px 0 0;color:var(--doctor-muted);font-size:.58rem}
.doctor-about-section,.doctor-services-section,.doctor-steps-section,.doctor-reviews-section,.doctor-faq-section,.doctor-contact-section{padding:clamp(62px,8vw,105px) 0}.doctor-about-section{background:#f7fafc}.doctor-about-section__grid{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(42px,7vw,85px)}.doctor-about-section__media{position:relative}.doctor-about-section__image{height:470px;overflow:hidden;border-radius:28px;background:linear-gradient(145deg,#dcecff,#e4f8f5);box-shadow:var(--doctor-shadow)}.doctor-about-section__image img{width:100%;height:100%;object-fit:cover;object-position:center top}.doctor-about-section__image>span{display:grid;place-items:center;width:100%;height:100%;font-size:8rem;color:var(--doctor-primary);font-weight:950}.doctor-about-section__card{position:absolute;right:28px;left:-25px;bottom:-28px;padding:15px;border:1px solid var(--doctor-line);border-radius:18px;background:#fff;box-shadow:0 15px 35px rgba(23,62,91,.15)}.doctor-about-section__card>span{display:block;margin-bottom:8px;color:var(--doctor-primary);font-size:.65rem;font-weight:950}.doctor-about-section__card>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.65rem}.doctor-about-section__content h2{margin:17px 0 6px;font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:950}.doctor-about-section__content h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:1rem}.doctor-about-section__content h3 small{color:var(--doctor-primary);font-size:.7rem}.doctor-about-section__bio{color:var(--doctor-muted);line-height:2.05}.doctor-about-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.doctor-about-feature-grid>div{display:flex;gap:9px;padding:11px;border:1px solid var(--doctor-line);border-radius:14px;background:#fff}.doctor-about-feature-grid>div>span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#e7f8ef;color:#178253}.doctor-about-feature-grid p{display:grid;margin:0}.doctor-about-feature-grid strong{font-size:.67rem}.doctor-about-feature-grid small{font-size:.57rem;color:var(--doctor-muted)}
.doctor-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.doctor-section-heading>div>span{color:var(--doctor-primary);font-size:.67rem;font-weight:950}.doctor-section-heading h2{max-width:720px;margin:5px 0 7px;font-size:clamp(1.65rem,3.2vw,2.65rem);font-weight:950}.doctor-section-heading p{max-width:700px;margin:0;color:var(--doctor-muted);line-height:1.9}.doctor-section-heading>a{color:var(--doctor-primary);text-decoration:none;font-size:.72rem;font-weight:900}.doctor-section-heading--center{justify-content:center;text-align:center}.doctor-section-heading--center p{margin-inline:auto}
.doctor-services-section{background:#fff}.doctor-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.doctor-service-card{display:flex;flex-direction:column;min-height:260px;padding:21px;border:1px solid var(--doctor-line);border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(31,72,104,.055);transition:.2s ease}.doctor-service-card:hover{transform:translateY(-4px);border-color:#b9d4e8;box-shadow:0 18px 42px rgba(31,72,104,.11)}.doctor-service-card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#eaf4ff;color:var(--doctor-primary)}.doctor-service-card__icon svg{width:26px;height:26px}.doctor-service-card__top{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-top:16px}.doctor-service-card h3{margin:0;font-size:.9rem;font-weight:950}.doctor-service-card__top>span{padding:4px 7px;border-radius:8px;background:#f1f6f9;color:var(--doctor-muted);font-size:.58rem}.doctor-service-card>p{flex:1;margin:10px 0;color:var(--doctor-muted);font-size:.68rem;line-height:1.9}.doctor-service-card__footer{display:flex;align-items:end;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #edf2f5}.doctor-service-card__footer>a{color:var(--doctor-primary);text-decoration:none;font-size:.65rem;font-weight:900}.doctor-empty-block{grid-column:1/-1;padding:35px;border:1px dashed var(--doctor-line);border-radius:20px;text-align:center;color:var(--doctor-muted)}
.doctor-steps-section{background:#f1f7fb}.doctor-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;counter-reset:steps}.doctor-steps-grid article{position:relative;padding:25px;border:1px solid var(--doctor-line);border-radius:22px;background:#fff;text-align:center}.doctor-steps-grid article>span{position:absolute;top:15px;left:17px;color:#d4e2ec;font-size:1.45rem;font-weight:950}.doctor-steps-grid__icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:19px;background:linear-gradient(145deg,var(--doctor-primary),#2a86e7);color:#fff;box-shadow:0 10px 22px rgba(20,108,218,.2)}.doctor-steps-grid__icon svg{width:30px;height:30px}.doctor-steps-grid h3{font-size:.84rem;font-weight:950}.doctor-steps-grid p{margin:8px 0 0;color:var(--doctor-muted);font-size:.66rem;line-height:1.9}
.doctor-reviews-section{background:#fff}.doctor-reviews-score{display:grid;text-align:left}.doctor-reviews-score strong{font-size:1.45rem}.doctor-reviews-score span{color:#f5b819;letter-spacing:.08em}.doctor-reviews-score small{font-size:.58rem;color:var(--doctor-muted)}.doctor-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.doctor-reviews-grid article{padding:21px;border:1px solid var(--doctor-line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(31,72,104,.055)}.doctor-review-stars{color:#cbd5dc}.doctor-review-stars span.is-active{color:#f4b819}.doctor-reviews-grid article>p{min-height:75px;margin:12px 0;color:#40596b;line-height:1.9;font-size:.69rem}.doctor-reviews-grid footer{display:flex;align-items:center;gap:9px;padding-top:12px;border-top:1px solid #edf2f5}.doctor-reviews-grid footer>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf4ff;color:var(--doctor-primary);font-weight:950}.doctor-reviews-grid footer div{display:grid}.doctor-reviews-grid footer strong{font-size:.65rem}.doctor-reviews-grid footer small{font-size:.56rem;color:var(--doctor-muted)}
.doctor-faq-section{background:#f7fafc}.doctor-faq-section__grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:55px;align-items:start}.doctor-faq-section__intro h2{margin:15px 0 9px;font-size:2.2rem;font-weight:950}.doctor-faq-section__intro p{color:var(--doctor-muted);line-height:2}.doctor-faq-list{display:grid;gap:9px}.doctor-faq-list--wide{max-width:850px;margin:auto}.doctor-faq-item{overflow:hidden;border:1px solid var(--doctor-line);border-radius:16px;background:#fff}.doctor-faq-item>button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:16px 17px;border:0;background:transparent;color:var(--doctor-ink);text-align:right;font-size:.76rem;font-weight:900}.doctor-faq-item>button b{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:10px;background:#edf4f8;color:var(--doctor-primary);font-size:1.1rem;transition:.2s}.doctor-faq-item>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.doctor-faq-item>div>p{min-height:0;overflow:hidden;margin:0;padding:0 17px;color:var(--doctor-muted);font-size:.68rem;line-height:2}.doctor-faq-item.is-open{border-color:#b9d5e9;box-shadow:0 10px 28px rgba(31,72,104,.08)}.doctor-faq-item.is-open>div{grid-template-rows:1fr}.doctor-faq-item.is-open>div>p{padding-bottom:17px}.doctor-faq-item.is-open>button b{transform:rotate(45deg);background:var(--doctor-primary);color:#fff}
.doctor-contact-section{background:#fff}.doctor-contact-card{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#0b4f83,#0b766f);color:#fff;box-shadow:var(--doctor-shadow)}.doctor-contact-card__content{padding:38px}.doctor-contact-card__content>span{color:#aee8df;font-size:.68rem;font-weight:950}.doctor-contact-card__content h2{margin:7px 0;font-size:2rem;font-weight:950}.doctor-contact-card__content>p{max-width:600px;color:#d3e9ef;line-height:2}.doctor-contact-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:21px 0}.doctor-contact-details>a,.doctor-contact-details>div{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}.doctor-contact-details svg{width:28px;height:28px;padding:5px;border-radius:9px;background:rgba(255,255,255,.12)}.doctor-contact-details span{display:grid}.doctor-contact-details small{font-size:.57rem;color:#c8e4ea}.doctor-contact-details strong{font-size:.72rem}.doctor-contact-address{display:grid;margin-bottom:16px}.doctor-contact-address b{font-size:.63rem}.doctor-contact-address span{color:#d2e7ed;font-size:.68rem}.doctor-contact-card__schedule{padding:31px;background:rgba(4,32,49,.25)}.doctor-contact-card__schedule-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:13px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.18)}.doctor-contact-card__schedule-head span{font-weight:900}.doctor-contact-card__schedule-head b{padding:5px 8px;border-radius:9px;background:rgba(255,255,255,.13);font-size:.58rem}.doctor-contact-card__schedule>div:not(.doctor-contact-card__schedule-head){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;color:#dcecf0;font-size:.68rem}.doctor-contact-card__schedule strong{color:#fff}
.doctor-cta-section{padding:0 0 70px;background:#fff}.doctor-cta-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 40px;border-radius:25px;background:linear-gradient(135deg,#0b4f83,#0b766f);color:#fff}.doctor-cta-card>div:first-child>span{color:#aee8df;font-size:.67rem;font-weight:950}.doctor-cta-card h2{max-width:720px;margin:6px 0;font-size:2rem;font-weight:950}.doctor-cta-card p{margin:0;color:#d4e9ef}.doctor-cta-card .doctor-site-actions{margin:0;flex:0 0 auto}
[data-animate]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}[data-animate].is-visible{opacity:1;transform:none}

/* Footer */
.doctor-site-footer{padding:65px 0 20px;background:#082e48;color:#c9dce7}.doctor-site-footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}.doctor-site-footer .doctor-site-brand strong{color:#fff}.doctor-site-footer .doctor-site-brand small{color:#9fb9c8}.doctor-site-footer__brand>p{max-width:370px;margin:16px 0;color:#abc2d0;line-height:2}.doctor-site-footer h5{margin-bottom:17px;color:#fff;font-size:.83rem;font-weight:950}.doctor-site-footer ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.doctor-site-footer li a{color:#c6dae5;text-decoration:none;font-size:.7rem}.doctor-site-footer li a:hover{color:#fff}.doctor-site-footer__contact{display:grid;gap:12px}.doctor-site-footer__contact>div{display:grid}.doctor-site-footer__contact small{color:#88a8ba;font-size:.58rem}.doctor-site-footer__contact strong{font-size:.69rem;color:#e9f4f9;overflow-wrap:anywhere}.doctor-site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.doctor-site-footer__bottom p{margin:0;font-size:.62rem}.doctor-site-footer__bottom div{display:flex;gap:13px}.doctor-site-footer__bottom a{color:#bed4df;text-decoration:none;font-size:.62rem}

/* Booking date and mobile date sheet */
.booking-input-icon.is-jalali-ready>svg{display:none}
.booking-input-icon.is-jalali-ready .jalali-datepicker-toggle{min-height:54px;padding:0 16px;border-radius:14px;border-color:var(--flow-line);background:#fff;font-weight:850;font-size:.82rem}
.booking-input-icon.is-jalali-ready .jalali-datepicker-toggle::after{width:21px;height:21px;order:-1;margin-inline:0 .65rem 0 0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23146cda' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")}
.booking-input-icon.is-jalali-ready .jalali-datepicker-value{flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jalali-datepicker-backdrop{position:fixed;inset:0;z-index:1090;border:0;background:rgba(4,24,38,.56);backdrop-filter:blur(3px)}
.jalali-datepicker-panel{z-index:1100}
.jalali-datepicker-panel.is-mobile-sheet{max-height:min(82dvh,620px);overflow:auto;padding:17px 14px max(18px,env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;box-shadow:0 -24px 70px rgba(8,35,54,.28);animation:jalali-sheet-in .22s ease}
.jalali-datepicker-panel.is-mobile-sheet:before{content:"انتخاب تاریخ مراجعه";display:block;padding:2px 3px 13px;margin-bottom:11px;border-bottom:1px solid var(--doctor-line);font-size:.8rem;font-weight:950;color:var(--doctor-ink)}
.jalali-datepicker-panel.is-mobile-sheet .jalali-datepicker-header{padding:0 2px}.jalali-datepicker-panel.is-mobile-sheet .jalali-datepicker-day{min-height:42px;font-size:.84rem}.jalali-datepicker-open{overflow:hidden}
@keyframes jalali-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* SMS tabbed settings */
.sms-header-status{display:flex;gap:8px;flex-wrap:wrap}.sms-header-status span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;background:#f1f5f8;color:#718396;font-size:.6rem;font-weight:850}.sms-header-status i{width:7px;height:7px;border-radius:50%;background:#a9b5bf}.sms-header-status span.is-on{background:#e7f8ef;color:#187b52}.sms-header-status span.is-on i{background:#17a66a}
.sms-tabs{display:flex;gap:7px;overflow-x:auto;padding:5px;margin:21px 0 15px;border:1px solid var(--doctor-line);border-radius:16px;background:#f4f8fb;scrollbar-width:thin}.sms-tabs button{display:inline-flex;align-items:center;gap:7px;min-width:max-content;padding:10px 13px;border:0;border-radius:12px;background:transparent;color:#607789;font-size:.68rem;font-weight:900}.sms-tabs button>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#fff;border:1px solid #e1eaf0;color:var(--doctor-primary)}.sms-tabs button>b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:7px;background:#e5edf2;font-size:.55rem}.sms-tabs button.is-active{background:#fff;color:var(--doctor-primary);box-shadow:0 7px 18px rgba(31,72,104,.1)}.sms-tabs button.is-active>span{background:var(--doctor-primary);border-color:var(--doctor-primary);color:#fff}
.sms-tab-panel{padding:17px;border:1px solid var(--doctor-line);border-radius:18px;background:#fff}.sms-tab-panel[hidden]{display:none!important}.sms-master-switches--panel{display:grid;grid-template-columns:1fr 1fr;margin-bottom:13px}.sms-recipient-head--tab{padding:0 0 16px;margin-bottom:7px;border-bottom:1px solid var(--doctor-line)}.sms-event-list--tab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sms-event-list--tab .sms-event-row{display:grid;grid-template-columns:1fr;gap:11px;padding:13px;border:1px solid var(--doctor-line);border-radius:15px;background:#fafcfd}.sms-event-list--tab .sms-event-row.is-enabled{border-color:#bcd9ee;background:#f7fbff}.sms-event-list--tab .sms-pattern-field label{display:block;margin-bottom:5px;color:#657a8b;font-size:.59rem;font-weight:850}.sms-email-grid--tab{grid-template-columns:repeat(3,1fr)}

/* Section-based page builder */
.page-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.page-directory-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px;border:1px solid var(--admin-line,#dce6ed);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,72,104,.055)}.page-directory-card.is-disabled{opacity:.68}.page-directory-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eaf4ff;color:var(--doctor-primary);font-weight:950;font-size:1.05rem}.page-directory-card__top{display:flex;align-items:center;gap:8px}.page-directory-card h2{margin:0;font-size:.85rem;font-weight:950}.page-directory-card p{margin:5px 0;color:#718396;font-size:.62rem;line-height:1.7}.page-directory-card__meta{display:flex;gap:7px;flex-wrap:wrap}.page-directory-card__meta span,.page-directory-card__meta code{padding:3px 6px;border-radius:7px;background:#f1f5f8;color:#667b8d;font-size:.55rem}.page-directory-card>.btn{font-size:.65rem;font-weight:900}
.page-builder-intro .admin-card-body{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-builder-intro__main{display:flex;align-items:center;gap:13px}.page-builder-badge{padding:8px 10px;border-radius:11px;background:#eaf4ff;color:var(--doctor-primary);font-size:.6rem;font-weight:950}.page-builder-intro h2{margin:0;font-size:1.05rem;font-weight:950}.page-builder-intro p{margin:4px 0 0;color:#718396;font-size:.65rem}.page-builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin-top:17px}.page-builder-sections{display:grid;gap:11px}.page-section-card{display:grid;grid-template-columns:24px 38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--admin-line,#dce6ed);border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(31,72,104,.05)}.page-section-card.is-disabled{opacity:.63;background:#f8fafb}.page-section-card__handle{color:#b0bec8;font-weight:950}.page-section-card__order{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f1f6f9;color:var(--doctor-primary);font-size:.66rem;font-weight:950}.page-section-card__title{display:flex;align-items:center;gap:7px}.page-section-card__title>span{color:var(--doctor-primary);font-size:.58rem;font-weight:950}.page-section-card__title>b{padding:3px 6px;border-radius:6px;background:#f4e9e9;color:#a14343;font-size:.5rem}.page-section-card h3{margin:3px 0;font-size:.77rem;font-weight:950}.page-section-card p{margin:0;color:#718396;font-size:.58rem}.page-section-card__meta{display:flex;gap:7px;margin-top:7px}.page-section-card__meta>*{padding:3px 6px;border-radius:6px;background:#f2f6f8;color:#718396;font-size:.5rem}.page-section-card__actions{display:flex;align-items:center;gap:6px}.page-section-card__actions form{margin:0}.page-section-card__actions .btn{font-size:.56rem}.page-builder-sidebar{position:sticky;top:18px;align-self:start}.page-builder-system-note{display:grid;gap:5px;margin-bottom:15px;padding:11px;border:1px solid #c8deee;border-radius:12px;background:#f2f8fc}.page-builder-system-note strong{font-size:.65rem}.page-builder-system-note span{color:#657a8b;font-size:.57rem;line-height:1.7}.page-builder-add-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px}.page-builder-add-modal[hidden]{display:none}.page-builder-add-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(5,25,39,.62);backdrop-filter:blur(4px)}.page-builder-add-modal__dialog{position:relative;width:min(850px,100%);max-height:85vh;overflow:auto;border-radius:22px;background:#fff;box-shadow:0 25px 80px rgba(8,35,54,.3)}.page-builder-add-modal__dialog>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid var(--doctor-line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.page-builder-add-modal__dialog header span{color:var(--doctor-primary);font-size:.58rem;font-weight:950}.page-builder-add-modal__dialog h2{margin:3px 0 0;font-size:1rem;font-weight:950}.page-builder-add-modal__dialog header>button{width:39px;height:39px;border:1px solid var(--doctor-line);border-radius:12px;background:#f7fafc;font-size:1.35rem}.page-builder-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px}.page-builder-type-grid a{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--doctor-line);border-radius:15px;color:inherit;text-decoration:none}.page-builder-type-grid a:hover{border-color:#b8d4e7;background:#f4f9fd}.page-builder-type-grid a>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf4ff;color:var(--doctor-primary);font-weight:950}.page-builder-type-grid a div{display:grid}.page-builder-type-grid strong{font-size:.67rem}.page-builder-type-grid small{font-size:.56rem;color:#718396;line-height:1.7}.page-builder-modal-open{overflow:hidden}
.section-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.section-editor-main{display:grid;gap:16px}.section-editor-card .admin-card-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-editor-card .admin-card-header h2{margin:3px 0}.section-items-editor[hidden]{display:none!important}.section-item-list{display:grid;gap:10px}.section-item-row{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:start;gap:9px;padding:12px;border:1px solid var(--doctor-line);border-radius:15px;background:#fafcfd}.section-item-row__number{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eaf4ff;color:var(--doctor-primary);font-size:.6rem;font-weight:950}.section-item-row__fields{display:grid;grid-template-columns:140px minmax(170px,1fr);gap:9px}.section-item-row__wide{grid-column:1/-1}.section-item-row__fields label{font-size:.55rem}.section-item-row__remove{display:grid;place-items:center;width:32px;height:32px;border:1px solid #efd0d0;border-radius:10px;background:#fff5f5;color:#b84646;font-size:1.1rem}.section-editor-sidebar{position:sticky;top:18px;align-self:start}.section-editor-tokens{display:flex;gap:5px;flex-wrap:wrap;padding-top:11px;border-top:1px solid var(--doctor-line)}.section-editor-tokens strong{width:100%;font-size:.58rem}.section-editor-tokens code{padding:3px 5px;border-radius:6px;background:#f1f5f8;font-size:.49rem}

/* Generic sectioned pages */
.modern-page-hero{position:relative;padding:70px 0;background:linear-gradient(135deg,#eef7ff,#f9fcff 55%,#eaf9f7)}.modern-page-hero h1{margin:12px 0 7px;font-size:clamp(2rem,4vw,3.3rem);font-weight:950}.modern-page-hero p{max-width:720px;margin-inline:auto;color:var(--doctor-muted);line-height:2}.sectioned-content-block{padding:60px 0}.sectioned-content-card{padding:30px;border:1px solid var(--doctor-line);border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(31,72,104,.07)}.sectioned-content-card h2{margin:12px 0;font-size:1.6rem;font-weight:950}.sectioned-content-lead{color:var(--doctor-muted);font-size:.8rem;line-height:2}.sectioned-feature-section{padding:65px 0;background:#f5f9fc}.sectioned-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sectioned-feature-grid article{padding:20px;border:1px solid var(--doctor-line);border-radius:18px;background:#fff}.sectioned-feature-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf4ff;color:var(--doctor-primary);font-weight:950}.sectioned-feature-grid h3{margin:13px 0 6px;font-size:.78rem;font-weight:950}.sectioned-feature-grid p{margin:0;color:var(--doctor-muted);font-size:.65rem;line-height:1.9}.contact-modern-shell{padding-top:55px;padding-bottom:75px}.contact-modern-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px}.contact-modern-info,.contact-modern-form{padding:27px;border:1px solid var(--doctor-line);border-radius:22px;background:#fff}.contact-modern-info{background:linear-gradient(145deg,#0c4c7c,#0a716a);color:#fff}.contact-modern-info .doctor-section-eyebrow{color:#b3ebe3;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08)}.contact-modern-info h2{margin:15px 0 8px;font-size:1.6rem;font-weight:950}.contact-modern-info>p{color:#d3e7ed;line-height:2}.contact-modern-info__items{display:grid;gap:9px;margin-top:18px}.contact-modern-info__items>a,.contact-modern-info__items>div{display:grid;padding:11px;border:1px solid rgba(255,255,255,.17);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}.contact-modern-info__items small{font-size:.56rem;color:#c2dce4}.contact-modern-info__items strong{font-size:.69rem}.contact-modern-form header>span{color:var(--doctor-primary);font-size:.6rem;font-weight:950}.contact-modern-form h2{margin:4px 0;font-size:1.3rem;font-weight:950}.contact-modern-form header>p{color:var(--doctor-muted);font-size:.68rem}

@media(max-width:1199.98px){
  .doctor-site-desktop-menu a{padding-inline:9px}.doctor-profile-floating--schedule{right:-8px}.doctor-profile-floating--secure{left:-10px}.doctor-services-grid{grid-template-columns:repeat(2,1fr)}
  .page-builder-grid,.section-editor-layout{grid-template-columns:minmax(0,1fr) 290px}
}
@media(max-width:991.98px){
  .doctor-site-desktop-menu,.doctor-site-book-button{display:none}.doctor-mobile-menu-button{display:block}.doctor-site-account span{display:none}.doctor-site-account{width:43px;height:43px;padding:0;justify-content:center}.doctor-site-nav__inner{min-height:68px}.doctor-site-hero__grid{grid-template-columns:1fr;text-align:center}.doctor-site-hero__copy>p{margin-inline:auto}.doctor-site-actions,.doctor-site-trust-list{justify-content:center}.doctor-site-trust-list{max-width:720px;margin-inline:auto;margin-top:28px}.doctor-profile-stage{margin-top:20px}.doctor-profile-floating--schedule{right:0}.doctor-profile-floating--secure{left:0}.doctor-about-section__grid{grid-template-columns:1fr}.doctor-about-section__media{max-width:570px;margin:auto;width:100%}.doctor-about-section__content{text-align:center}.doctor-about-feature-grid{text-align:right}.doctor-services-grid,.doctor-reviews-grid{grid-template-columns:repeat(2,1fr)}.doctor-faq-section__grid{grid-template-columns:1fr}.doctor-faq-section__intro{text-align:center}.doctor-contact-card{grid-template-columns:1fr}.doctor-cta-card{align-items:stretch;flex-direction:column;text-align:center}.doctor-cta-card .doctor-site-actions{justify-content:center}.doctor-site-footer__grid{grid-template-columns:repeat(2,1fr)}
  .page-directory-grid{grid-template-columns:1fr}.page-builder-grid,.section-editor-layout{grid-template-columns:1fr}.page-builder-sidebar,.section-editor-sidebar{position:static}.page-section-card{grid-template-columns:24px 38px minmax(0,1fr)}.page-section-card__actions{grid-column:2/-1;justify-content:flex-end}.contact-modern-grid{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  body.doctor-site-shell{padding-bottom:0}.doctor-site-topbar{display:none}.doctor-site-nav__inner{padding-inline:12px}.doctor-site-brand{min-width:0}.doctor-site-brand__mark{width:40px;height:40px;flex-basis:40px}.doctor-site-brand small{display:none}.doctor-site-nav__actions{gap:7px}.doctor-site-hero{padding:48px 0 62px}.doctor-site-hero__copy h1{font-size:clamp(2rem,10vw,3rem)}.doctor-site-hero__copy>p{font-size:.78rem}.doctor-site-actions{display:grid;grid-template-columns:1fr;width:100%}.doctor-site-actions .btn{width:100%}.doctor-site-trust-list{grid-template-columns:1fr;text-align:right}.doctor-profile-showcase__media{height:230px}.doctor-profile-floating{position:static;margin-top:9px;text-align:right}.doctor-profile-stage{display:grid}.doctor-profile-showcase{order:1}.doctor-profile-floating--schedule{order:2}.doctor-profile-floating--secure{order:3}.doctor-trust-strip__grid{grid-template-columns:1fr 1fr}.doctor-trust-strip__grid article{border-left:0;border-bottom:1px solid var(--doctor-line);padding:12px}.doctor-about-section,.doctor-services-section,.doctor-steps-section,.doctor-reviews-section,.doctor-faq-section,.doctor-contact-section{padding:62px 0}.doctor-about-section__image{height:390px}.doctor-about-section__card{right:12px;left:12px;bottom:-22px}.doctor-about-section__content{margin-top:18px}.doctor-about-feature-grid,.doctor-services-grid,.doctor-steps-grid,.doctor-reviews-grid,.sectioned-feature-grid{grid-template-columns:1fr}.doctor-section-heading{align-items:flex-start;flex-direction:column}.doctor-section-heading>a{align-self:flex-start}.doctor-reviews-score{text-align:right}.doctor-contact-card__content,.doctor-contact-card__schedule{padding:24px 18px}.doctor-contact-details{grid-template-columns:1fr}.doctor-cta-card{padding:27px 19px}.doctor-cta-card h2{font-size:1.55rem}.doctor-site-footer{padding-top:50px}.doctor-site-footer__grid{grid-template-columns:1fr;gap:28px}.doctor-site-footer__bottom{align-items:flex-start;flex-direction:column}
  .sms-tabs{margin-inline:-5px}.sms-event-list--tab,.sms-email-grid--tab,.sms-master-switches--panel{grid-template-columns:1fr}.sms-tab-panel{padding:12px}.sms-event-list--tab .sms-event-row{padding:11px}
  .page-builder-intro .admin-card-body,.page-builder-intro__main{align-items:flex-start;flex-direction:column}.page-builder-intro .btn{width:100%}.page-section-card{grid-template-columns:32px minmax(0,1fr);padding:12px}.page-section-card__handle{display:none}.page-section-card__order{grid-row:1}.page-section-card__content{grid-column:2}.page-section-card__actions{grid-column:1/-1;justify-content:stretch;flex-wrap:wrap}.page-section-card__actions>.btn{flex:1}.page-builder-type-grid{grid-template-columns:1fr}.section-item-row{grid-template-columns:30px minmax(0,1fr) 30px}.section-item-row__fields{grid-template-columns:1fr}.section-item-row__wide{grid-column:auto}.section-editor-card .admin-card-header{align-items:flex-start;flex-direction:column}.sectioned-content-block{padding:42px 0}.sectioned-content-card{padding:20px 16px}.contact-modern-shell{padding-inline:10px}.contact-modern-info,.contact-modern-form{padding:21px 15px}
  .booking-time-layout{display:block}.booking-date-field{margin-bottom:18px}.booking-input-icon.is-jalali-ready .jalali-datepicker-toggle{font-size:.78rem}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-submit-dock{bottom:max(8px,env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .doctor-site-brand strong{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doctor-site-account{display:none}.doctor-site-trust-list>div{padding:9px}.doctor-profile-showcase__body{padding:19px 16px}.doctor-profile-showcase__next{align-items:flex-start;flex-direction:column}.doctor-profile-showcase__next a{width:100%;text-align:center}.doctor-trust-strip__grid{grid-template-columns:1fr}.doctor-about-section__image{height:340px}.doctor-about-feature-grid{grid-template-columns:1fr}.doctor-contact-card__schedule>div:not(.doctor-contact-card__schedule-head){align-items:flex-start;flex-direction:column}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-directory-card{grid-template-columns:auto 1fr}.page-directory-card>.btn{grid-column:1/-1}.page-directory-card__meta{gap:4px}
}
@media(prefers-reduced-motion:reduce){[data-animate]{opacity:1;transform:none;transition:none}.doctor-mobile-drawer,.jalali-datepicker-panel.is-mobile-sheet{transition:none;animation:none}}

/* ======================================================================
   Secretary Workspace 4.3.2 — resilient, clear and production-like UI
   ====================================================================== */
.secretary-app,
.secretary-login-page{
  --sec-primary:#0f6cbd;
  --sec-primary-dark:#0a4f8c;
  --sec-primary-soft:#eaf4ff;
  --sec-success:#16865b;
  --sec-success-soft:#eaf8f1;
  --sec-warning:#a15c08;
  --sec-warning-soft:#fff7e6;
  --sec-danger:#b42318;
  --sec-danger-soft:#fff1f0;
  --sec-ink:#172b3a;
  --sec-muted:#66788a;
  --sec-line:#dce6ee;
  --sec-soft:#f5f8fb;
  --sec-card:#fff;
  --sec-shadow:0 12px 34px rgba(24,52,75,.08);
  --sec-shadow-lg:0 28px 80px rgba(19,50,74,.14);
  color:var(--sec-ink);
}
.secretary-app{min-height:100vh;background:var(--sec-soft)}
.secretary-app svg,.secretary-login-page svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.secretary-topbar{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.96);border-bottom:1px solid var(--sec-line);backdrop-filter:blur(16px)}
.secretary-topbar__inner{width:min(1440px,100%);min-height:72px;margin:auto;padding:0 24px;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(220px,1fr);align-items:center;gap:24px}
.secretary-brand{display:inline-flex;align-items:center;gap:11px;color:var(--sec-ink);text-decoration:none;justify-self:start;min-width:0}
.secretary-brand img{width:42px;height:42px;object-fit:contain;border-radius:11px}
.secretary-brand__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--sec-primary),#21a0d7);color:#fff;box-shadow:0 8px 22px rgba(15,108,189,.24)}
.secretary-brand__mark svg{width:24px;height:24px}
.secretary-brand>span:last-child{min-width:0}.secretary-brand strong,.secretary-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.secretary-brand strong{font-size:.96rem;font-weight:950}.secretary-brand small{margin-top:2px;color:var(--sec-muted);font-size:.67rem}
.secretary-nav{display:flex;align-items:center;gap:5px;padding:5px;border-radius:14px;background:#f1f5f8}
.secretary-nav a{display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;color:#506678;text-decoration:none;font-size:.78rem;font-weight:850;transition:.18s ease}
.secretary-nav a svg{width:18px;height:18px}.secretary-nav a:hover{color:var(--sec-primary);background:#fff}.secretary-nav a.is-active{color:var(--sec-primary-dark);background:#fff;box-shadow:0 4px 14px rgba(28,63,88,.09)}
.secretary-account{justify-self:end;display:flex;align-items:center;gap:12px}.secretary-account__identity{display:flex;align-items:center;gap:9px}.secretary-account__identity>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--sec-primary-soft);color:var(--sec-primary);font-weight:950}.secretary-account__identity strong,.secretary-account__identity small{display:block}.secretary-account__identity strong{font-size:.78rem}.secretary-account__identity small{font-size:.65rem;color:var(--sec-muted);margin-top:2px}.secretary-account form{margin:0}
.secretary-logout{display:flex;align-items:center;gap:6px;border:1px solid var(--sec-line);border-radius:10px;padding:8px 10px;background:#fff;color:#66788a;font-size:.72rem;font-weight:800}.secretary-logout:hover{border-color:#f4b6b1;color:var(--sec-danger);background:var(--sec-danger-soft)}.secretary-logout svg{width:17px;height:17px}
.secretary-main{padding:30px 0 50px}.secretary-container{width:min(1400px,calc(100% - 40px));margin:auto}
.secretary-alert{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px;padding:14px 16px;border:1px solid;border-radius:14px;font-size:.82rem;line-height:1.8}.secretary-alert>span{flex:0 0 auto;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-weight:950}.secretary-alert ul{margin:5px 0 0;padding-right:18px}.secretary-alert--success{color:#17633f;background:var(--sec-success-soft);border-color:#bfe7d2}.secretary-alert--success>span{color:#fff;background:var(--sec-success)}.secretary-alert--danger{color:#84231c;background:var(--sec-danger-soft);border-color:#f2c1bd}.secretary-alert--danger>span{color:#fff;background:var(--sec-danger)}
.secretary-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.secretary-page-header h1{margin:7px 0 7px;color:var(--sec-ink);font-size:clamp(1.55rem,2.3vw,2.05rem);font-weight:950;letter-spacing:-.035em}.secretary-page-header p{margin:0;color:var(--sec-muted);font-size:.84rem}.secretary-breadcrumb{display:flex;align-items:center;gap:7px;color:#8998a6;font-size:.7rem}.secretary-breadcrumb a{color:var(--sec-primary);text-decoration:none}.secretary-breadcrumb strong{color:#65798a}.secretary-primary-action{display:flex;align-items:center;gap:8px;min-width:160px;justify-content:center;box-shadow:0 10px 24px rgba(15,108,189,.2)}.secretary-primary-action svg{width:19px;height:19px}
.secretary-system-state{display:flex;align-items:flex-start;gap:13px;margin-bottom:16px;padding:16px 18px;border:1px solid;border-radius:16px;box-shadow:0 7px 22px rgba(28,55,75,.04)}.secretary-system-state__icon{flex:0 0 auto;display:grid;place-items:center;width:31px;height:31px;border-radius:10px;font-weight:950}.secretary-system-state strong{display:block;font-size:.87rem}.secretary-system-state p{margin:5px 0 0;font-size:.76rem;line-height:1.8}.secretary-system-state ul{margin:7px 0 0;padding-right:18px;font-size:.72rem;line-height:1.9}.secretary-system-state--danger{border-color:#efc2bf;background:#fff7f6;color:#83271f}.secretary-system-state--danger .secretary-system-state__icon{background:#fee4e2;color:var(--sec-danger)}.secretary-system-state--warning{border-color:#f0d4a7;background:#fffaf0;color:#7a4a0c}.secretary-system-state--warning .secretary-system-state__icon{background:#fff0cc;color:var(--sec-warning)}
.secretary-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.secretary-stat-grid article{display:flex;align-items:center;gap:13px;min-height:92px;padding:17px 18px;border:1px solid var(--sec-line);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(27,58,81,.045)}.secretary-stat-grid small,.secretary-stat-grid strong{display:block}.secretary-stat-grid small{color:var(--sec-muted);font-size:.68rem;font-weight:750}.secretary-stat-grid strong{margin-top:4px;color:var(--sec-ink);font-size:1.45rem;font-weight:950}.secretary-stat-icon{display:grid;place-items:center;flex:0 0 auto;width:43px;height:43px;border-radius:13px}.secretary-stat-icon svg{width:22px;height:22px}.secretary-stat-icon--blue{color:#1769aa;background:#e7f2fc}.secretary-stat-icon--amber{color:#a35f0b;background:#fff1d9}.secretary-stat-icon--green{color:#147a50;background:#e3f7ed}.secretary-stat-icon--violet{color:#7254b3;background:#f0eafd}
.secretary-shift-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:14px 17px;border:1px solid;border-radius:16px;background:#fff}.secretary-shift-strip>div:first-child{display:flex;align-items:center;gap:11px}.secretary-shift-strip__dot{display:block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 5px currentColor}.secretary-shift-strip p,.secretary-shift-strip strong,.secretary-shift-strip small{display:block;margin:0}.secretary-shift-strip strong{font-size:.79rem}.secretary-shift-strip small{margin-top:3px;font-size:.68rem;opacity:.78}.secretary-shift-strip.is-active{color:#176a46;border-color:#bce5cf;background:#f7fcf9}.secretary-shift-strip.is-warning{color:#8b520a;border-color:#ead0a4;background:#fffaf1}.secretary-shift-list{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.secretary-shift-list span{display:flex;gap:6px;padding:6px 9px;border:1px solid currentColor;border-radius:999px;background:rgba(255,255,255,.65);font-size:.65rem}.secretary-shift-list b{font-weight:950}
.secretary-toolbar{margin-bottom:18px;padding:15px 16px;border:1px solid var(--sec-line);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(27,58,81,.045)}.secretary-toolbar form{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(260px,1.35fr) auto auto;align-items:end;gap:11px}.secretary-toolbar__field label{display:block;margin:0 0 6px;color:#4e6577;font-size:.69rem;font-weight:850}.secretary-toolbar__field>div{position:relative}.secretary-toolbar__field svg{position:absolute;top:50%;right:12px;z-index:1;width:18px;height:18px;color:#8091a0;transform:translateY(-50%);pointer-events:none}.secretary-toolbar__field input{height:43px;padding-right:39px;border-color:var(--sec-line);border-radius:11px;font-size:.79rem}.secretary-toolbar .btn{height:43px;border-radius:11px;white-space:nowrap;font-size:.75rem;font-weight:850}
.secretary-appointments{display:grid;gap:14px}.secretary-appointment-card{display:grid;grid-template-columns:132px minmax(0,1fr) minmax(255px,315px);gap:0;overflow:hidden;border:1px solid var(--sec-line);border-radius:19px;background:#fff;box-shadow:var(--sec-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.secretary-appointment-card:hover{transform:translateY(-2px);border-color:#c7d8e5;box-shadow:0 16px 42px rgba(24,52,75,.11)}.secretary-appointment-card.is-arrived{border-color:#a9dfc4}.secretary-appointment-card__time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:20px 15px;border-left:1px solid var(--sec-line);background:linear-gradient(180deg,#f9fbfd,#f4f8fb);text-align:center}.secretary-appointment-card__time span{color:var(--sec-muted);font-size:.63rem;font-weight:800}.secretary-appointment-card__time strong{margin:6px 0 3px;color:var(--sec-primary);font-size:1.65rem;font-weight:950;letter-spacing:.02em}.secretary-appointment-card__time small{color:#728597;font-size:.67rem}.secretary-appointment-card.is-arrived .secretary-appointment-card__time{background:linear-gradient(180deg,#f6fcf8,#edf9f3)}.secretary-appointment-card.is-arrived .secretary-appointment-card__time strong{color:var(--sec-success)}
.secretary-appointment-card__main{padding:19px 20px}.secretary-patient-heading{display:flex;align-items:center;gap:11px}.secretary-patient-avatar{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:#e9f3fb;color:var(--sec-primary);font-size:1rem;font-weight:950}.secretary-patient-heading h2{margin:0 0 5px;color:var(--sec-ink);font-size:1rem;font-weight:950}.secretary-patient-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.secretary-patient-badges .status-badge{font-size:.61rem}.secretary-source-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:.59rem;font-weight:850}.secretary-source-badge.is-online{color:#1769aa;background:#eaf4fc}.secretary-source-badge.is-walkin{color:#965b0b;background:#fff2d9}.secretary-patient-meta{display:flex;align-items:center;gap:9px 15px;flex-wrap:wrap;margin-top:13px;color:#617587;font-size:.68rem}.secretary-patient-meta span{display:inline-flex;align-items:center;gap:5px}.secretary-patient-meta svg{width:15px;height:15px;color:#8da0af}.secretary-patient-meta b{color:#314b5f;font-weight:850}.secretary-service-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;padding:10px 12px;border:1px solid #e2eaf0;border-radius:12px;background:#f8fafc}.secretary-service-row span{display:flex;align-items:center;gap:6px;color:var(--sec-muted);font-size:.66rem}.secretary-service-row span svg{width:16px;height:16px;color:var(--sec-primary)}.secretary-service-row strong{color:#29465c;font-size:.76rem}.secretary-service-pricing{margin-top:8px;max-width:none}.secretary-service-pricing.service-pricing--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.secretary-confirmation-state{margin-top:10px}.secretary-confirmation-form{margin-top:9px}.secretary-patient-note{margin-top:10px;padding:10px 12px;border-radius:11px;background:#fff9ed;color:#73501c}.secretary-patient-note strong{display:block;font-size:.67rem}.secretary-patient-note p{margin:4px 0 0;font-size:.7rem;line-height:1.8}
.secretary-appointment-card__action{padding:18px;border-right:1px solid var(--sec-line);background:#fbfcfd}.secretary-action-title{margin-bottom:10px}.secretary-action-title strong,.secretary-action-title small{display:block}.secretary-action-title strong{color:#29465c;font-size:.79rem}.secretary-action-title small{margin-top:2px;color:var(--sec-muted);font-size:.64rem}.checkin-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.checkin-options label{display:flex;align-items:center;gap:7px;min-height:36px;margin:0;padding:7px 8px;border:1px solid #dfe8ee;border-radius:9px;background:#fff;color:#52697b;font-size:.66rem;cursor:pointer}.checkin-options label:has(input:checked){border-color:#a7d7bf;background:#f1faf5;color:#176342}.checkin-options label.is-disabled{opacity:.5;cursor:not-allowed}.checkin-options input{margin:0}.checkin-form textarea{margin-bottom:9px;border-radius:10px}.checkin-form .btn{font-size:.74rem;font-weight:900}.arrival-state{display:flex;align-items:center;gap:10px;margin-bottom:9px;padding:12px;border:1px solid #bfe4d0;border-radius:12px;background:#edf9f3;color:#176342}.arrival-state>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sec-success);color:#fff;font-weight:950}.arrival-state strong,.arrival-state small{display:block}.arrival-state strong{font-size:.75rem}.arrival-state small{margin-top:3px;font-size:.62rem}.secretary-action-disabled{display:grid;gap:4px;place-items:center;min-height:125px;padding:15px;border:1px dashed #cbd7df;border-radius:13px;background:#fff;text-align:center;color:#677b8c}.secretary-action-disabled>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff1df;color:#9a5c0a;font-weight:950}.secretary-action-disabled strong{font-size:.74rem}.secretary-action-disabled small{font-size:.64rem}
.secretary-empty{display:grid;place-items:center;min-height:330px;padding:45px 20px;border:1px dashed #c7d5df;border-radius:20px;background:#fff;text-align:center}.secretary-empty>span{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#eef5fa;color:var(--sec-primary)}.secretary-empty svg{width:30px;height:30px}.secretary-empty h2{margin:15px 0 6px;color:var(--sec-ink);font-size:1.05rem;font-weight:950}.secretary-empty p{max-width:430px;margin:0 0 16px;color:var(--sec-muted);font-size:.76rem}.secretary-empty .btn{min-width:150px}.secretary-pagination{margin-top:20px}
.secretary-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.secretary-form-card,.secretary-summary-card,.secretary-info-card{border:1px solid var(--sec-line);border-radius:19px;background:#fff;box-shadow:var(--sec-shadow)}.secretary-form-card{overflow:hidden}.secretary-form-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--sec-line);background:linear-gradient(180deg,#fff,#fbfcfd)}.secretary-form-card__head span:first-child{color:var(--sec-primary);font-size:.68rem;font-weight:900}.secretary-form-card__head h2{margin:5px 0 4px;color:var(--sec-ink);font-size:1.05rem;font-weight:950}.secretary-form-card__head p{margin:0;color:var(--sec-muted);font-size:.69rem}.secretary-form-card__step{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:var(--sec-primary-soft);color:var(--sec-primary);font-size:.65rem;font-weight:900}.secretary-booking-form{padding:22px}.secretary-booking-form fieldset{margin:0 0 22px;padding:0;border:0}.secretary-booking-form fieldset:last-of-type{margin-bottom:15px}.secretary-booking-form legend{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:13px;padding:0}.secretary-booking-form legend>span{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:10px;background:var(--sec-primary);color:#fff;font-size:.72rem;font-weight:950}.secretary-booking-form legend strong,.secretary-booking-form legend small{display:block}.secretary-booking-form legend strong{color:#29465c;font-size:.82rem}.secretary-booking-form legend small{margin-top:2px;color:var(--sec-muted);font-size:.64rem}.secretary-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.secretary-field--wide{grid-column:1/-1}.secretary-field .form-label{margin-bottom:6px;color:#405b6f;font-size:.7rem;font-weight:850}.secretary-field .form-label b{color:var(--sec-danger)}.secretary-field .form-label small{color:var(--sec-muted);font-weight:500}.secretary-field .form-control,.secretary-field .form-select{min-height:45px;border-color:var(--sec-line);border-radius:11px;font-size:.78rem}.secretary-field textarea.form-control{min-height:100px}.secretary-field .form-control:focus,.secretary-field .form-select:focus{border-color:#8fc3e9;box-shadow:0 0 0 3px rgba(15,108,189,.1)}.secretary-field-error{display:block;margin-top:6px;color:var(--sec-danger);font-size:.66rem}.secretary-slots-panel{min-height:66px;padding:11px;border:1px solid var(--sec-line);border-radius:12px;background:#f8fafc}.secretary-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.secretary-form-actions .btn{min-width:150px;border-radius:12px;font-size:.78rem;font-weight:900}.secretary-form-actions .btn-primary{display:flex;align-items:center;justify-content:center;gap:12px}.secretary-form-actions .btn-primary b{font-size:1rem}.secretary-form-disabled-note{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff5e8;color:#82500e;font-size:.68rem;text-align:center}
.secretary-booking-aside{position:sticky;top:92px;display:grid;gap:14px}.secretary-summary-card{padding:20px}.secretary-summary-card__icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:var(--sec-primary-soft);color:var(--sec-primary)}.secretary-summary-card__icon svg{width:23px;height:23px}.secretary-summary-card h2{margin:13px 0 14px;color:var(--sec-ink);font-size:.94rem;font-weight:950}.secretary-summary-card ol{display:grid;gap:13px;margin:0;padding:0;list-style:none}.secretary-summary-card li{display:flex;align-items:flex-start;gap:9px}.secretary-summary-card li>span{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:#eef3f7;color:#587086;font-size:.65rem;font-weight:950}.secretary-summary-card p,.secretary-summary-card strong,.secretary-summary-card small{display:block;margin:0}.secretary-summary-card strong{color:#365166;font-size:.72rem}.secretary-summary-card small{margin-top:3px;color:var(--sec-muted);font-size:.63rem;line-height:1.7}.secretary-info-card{padding:17px 18px;background:linear-gradient(145deg,#153b55,#0f567e);color:#fff}.secretary-info-card div span,.secretary-info-card div strong{display:block}.secretary-info-card div span{font-size:.64rem;opacity:.72}.secretary-info-card div strong{margin-top:5px;font-size:.78rem;line-height:1.8}.secretary-info-card p{margin:13px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.16);font-size:.65rem;line-height:1.9;opacity:.82}

/* Secretary login */
.secretary-login-page{min-height:100vh;padding:24px;background:radial-gradient(circle at 85% 5%,rgba(25,137,190,.18),transparent 30%),radial-gradient(circle at 10% 90%,rgba(27,132,92,.13),transparent 28%),#eef4f8}
.secretary-login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.7fr);width:min(1120px,100%);min-height:min(720px,calc(100vh - 48px));margin:auto;overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:#fff;box-shadow:var(--sec-shadow-lg)}
.secretary-login-intro{position:relative;display:flex;flex-direction:column;padding:38px 42px;color:#fff;background:linear-gradient(145deg,#123f5e 0%,#0d668b 55%,#14866e 130%);overflow:hidden}.secretary-login-intro:before,.secretary-login-intro:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.secretary-login-intro:before{width:430px;height:430px;left:-190px;bottom:-210px}.secretary-login-intro:after{width:300px;height:300px;right:-140px;top:-150px}.secretary-login-brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.secretary-login-brand>span{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.15)}.secretary-login-brand img{width:45px;height:45px;object-fit:contain;border-radius:13px;background:#fff;padding:4px}.secretary-login-brand svg{width:25px;height:25px}.secretary-login-brand strong,.secretary-login-brand small{display:block}.secretary-login-brand strong{font-size:.96rem}.secretary-login-brand small{margin-top:2px;font-size:.65rem;opacity:.72}.secretary-login-intro__content{position:relative;z-index:1;margin:auto 0}.secretary-login-kicker{display:block;color:#bde9f4;font-size:.68rem;font-weight:900;letter-spacing:.02em}.secretary-login-intro h1{max-width:520px;margin:10px 0 11px;font-size:clamp(2rem,4vw,3rem);font-weight:950;line-height:1.35;letter-spacing:-.045em}.secretary-login-intro__content>p{max-width:570px;margin:0;color:rgba(255,255,255,.76);font-size:.82rem;line-height:2}.secretary-login-features{display:grid;gap:11px;margin-top:28px}.secretary-login-features>div{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.07);backdrop-filter:blur(5px)}.secretary-login-features>div>span{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:10px;background:rgba(255,255,255,.13);font-size:.7rem;font-weight:950}.secretary-login-features p,.secretary-login-features strong,.secretary-login-features small{display:block;margin:0}.secretary-login-features strong{font-size:.75rem}.secretary-login-features small{margin-top:3px;font-size:.63rem;opacity:.67}.secretary-login-intro__footer{position:relative;z-index:1;margin:25px 0 0;color:rgba(255,255,255,.62);font-size:.64rem}
.secretary-login-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,55px)}.secretary-login-card__head{text-align:center}.secretary-login-card__icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 13px;border-radius:18px;background:var(--sec-primary-soft);color:var(--sec-primary)}.secretary-login-card__icon svg{width:29px;height:29px}.secretary-login-card__head .secretary-login-kicker{color:var(--sec-primary)}.secretary-login-card h2{margin:6px 0 5px;color:var(--sec-ink);font-size:1.5rem;font-weight:950}.secretary-login-card__head p{margin:0 0 20px;color:var(--sec-muted);font-size:.72rem}.secretary-login-notice{margin-bottom:13px;padding:11px 12px;border:1px solid;border-radius:11px;font-size:.68rem;line-height:1.8}.secretary-login-notice strong,.secretary-login-notice span{display:block}.secretary-login-notice ul{margin:0;padding-right:16px}.secretary-login-notice--warning{color:#78500f;background:#fff8e9;border-color:#edd5a7}.secretary-login-notice--danger{color:#84231c;background:#fff3f2;border-color:#efc6c2}.secretary-login-notice--success{color:#17633f;background:#edf9f3;border-color:#bfe5d1}.secretary-login-form{display:grid;gap:14px}.secretary-login-form .form-label{margin-bottom:6px;color:#405b6f;font-size:.7rem;font-weight:850}.secretary-input-wrap{position:relative}.secretary-input-wrap>span{position:absolute;top:50%;right:13px;z-index:1;display:grid;place-items:center;color:#8294a3;transform:translateY(-50%)}.secretary-input-wrap svg{width:19px;height:19px}.secretary-input-wrap input{min-height:49px;padding-right:42px;border-color:var(--sec-line);border-radius:12px;font-size:.79rem}.secretary-input-wrap input:focus{border-color:#8fc3e9;box-shadow:0 0 0 3px rgba(15,108,189,.1)}.secretary-login-submit{display:flex;align-items:center;justify-content:center;gap:14px;min-height:50px;margin-top:3px;border-radius:12px;font-size:.79rem;font-weight:950;box-shadow:0 11px 25px rgba(15,108,189,.21)}.secretary-login-submit span{font-size:1rem}.secretary-login-help{margin-top:19px;padding-top:17px;border-top:1px solid var(--sec-line);text-align:center}.secretary-login-help p{margin:0 0 10px;color:var(--sec-muted);font-size:.64rem;line-height:1.8}.secretary-login-help>div{display:flex;justify-content:center;gap:8px 14px;flex-wrap:wrap}.secretary-login-help a{color:#5c7183;text-decoration:none;font-size:.66rem;font-weight:750}.secretary-login-help a:hover{color:var(--sec-primary)}

@media(max-width:1100px){
  .secretary-topbar__inner{grid-template-columns:1fr auto}.secretary-nav{order:3;grid-column:1/-1;justify-content:center;margin-bottom:8px}.secretary-topbar__inner{padding-top:9px}.secretary-account{grid-column:2}.secretary-main{padding-top:24px}
  .secretary-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.secretary-booking-layout{grid-template-columns:1fr}.secretary-booking-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .secretary-login-shell{grid-template-columns:1fr 440px}.secretary-login-intro{padding:32px}.secretary-login-intro h1{font-size:2.15rem}
}
@media(max-width:900px){
  .secretary-appointment-card{grid-template-columns:110px minmax(0,1fr)}.secretary-appointment-card__action{grid-column:1/-1;border-right:0;border-top:1px solid var(--sec-line)}.secretary-appointment-card__time{border-left:1px solid var(--sec-line)}
  .secretary-toolbar form{grid-template-columns:1fr 1.4fr auto}.secretary-toolbar form>a{grid-column:1/-1}.secretary-shift-strip{align-items:flex-start;flex-direction:column}.secretary-shift-list{justify-content:flex-start}
  .secretary-login-shell{grid-template-columns:1fr;max-width:560px}.secretary-login-intro{display:none}.secretary-login-card{min-height:680px}
}
@media(max-width:700px){
  .secretary-topbar__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 14px}.secretary-brand{max-width:60%}.secretary-account__identity{display:none}.secretary-nav{order:3;width:100%;margin:0}.secretary-nav a{flex:1;justify-content:center}.secretary-main{padding:20px 0 40px}.secretary-container{width:min(100% - 24px,1400px)}
  .secretary-page-header{align-items:stretch;flex-direction:column}.secretary-page-header .btn{width:100%}.secretary-stat-grid{grid-template-columns:1fr 1fr;gap:9px}.secretary-stat-grid article{min-height:80px;padding:13px}.secretary-stat-icon{width:36px;height:36px}.secretary-stat-grid strong{font-size:1.18rem}.secretary-toolbar form{grid-template-columns:1fr}.secretary-toolbar form>a{grid-column:auto}.secretary-toolbar .btn{width:100%}
  .secretary-appointment-card{grid-template-columns:1fr}.secretary-appointment-card__time{align-items:flex-start;min-height:auto;padding:13px 16px;border-left:0;border-bottom:1px solid var(--sec-line);text-align:right}.secretary-appointment-card__time strong{font-size:1.35rem}.secretary-appointment-card__main,.secretary-appointment-card__action{padding:15px}.secretary-service-row{align-items:flex-start;flex-direction:column;gap:5px}.secretary-service-pricing.service-pricing--compact{grid-template-columns:1fr}.checkin-options{grid-template-columns:1fr 1fr}.secretary-confirmation-actions{grid-template-columns:1fr 1fr}
  .secretary-booking-aside{grid-template-columns:1fr}.secretary-form-card__head{padding:17px}.secretary-booking-form{padding:16px}.secretary-form-grid{grid-template-columns:1fr}.secretary-field--wide{grid-column:auto}.secretary-form-actions{flex-direction:column-reverse}.secretary-form-actions .btn{width:100%}
  .secretary-login-page{padding:12px}.secretary-login-shell{min-height:calc(100vh - 24px);border-radius:20px}.secretary-login-card{min-height:auto;padding:30px 20px}
}
@media(max-width:430px){
  .secretary-stat-grid{grid-template-columns:1fr}.secretary-patient-meta{align-items:flex-start;flex-direction:column;gap:7px}.checkin-options{grid-template-columns:1fr}.secretary-patient-heading{align-items:flex-start}.secretary-patient-badges{margin-top:2px}.secretary-account{gap:5px}.secretary-logout span{display:none}.secretary-brand small{display:none}
}


/* Secretary experience v4.3.3 — lighter rendering and clearer actions */
.secretary-topbar{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.secretary-appointment-card{content-visibility:auto;contain-intrinsic-size:310px;box-shadow:0 5px 18px rgba(24,52,75,.055);transition:border-color .16s ease,box-shadow .16s ease}
.secretary-appointment-card:hover{transform:none;border-color:#bfd1de;box-shadow:0 9px 24px rgba(24,52,75,.08)}
.secretary-appointment-card__time{background:#f7fafc}
.secretary-appointment-card__action{background:#f9fbfc}
.secretary-patient-meta .secretary-phone-link{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 9px;border:1px solid #cfe1ed;border-radius:9px;background:#f2f8fc;color:#17669d;text-decoration:none;transition:border-color .16s ease,background-color .16s ease}
.secretary-patient-meta .secretary-phone-link:hover{border-color:#91bdd8;background:#eaf5fb;color:#0d527f}
.secretary-patient-meta .secretary-phone-link svg{display:block;flex:0 0 auto;width:17px;height:17px;overflow:visible;color:currentColor;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.secretary-patient-meta .secretary-phone-link b{color:currentColor}.secretary-patient-meta .secretary-phone-link small{padding-right:2px;color:#648195;font-size:.58rem;font-weight:800}
.checkin-options{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-options label{justify-content:flex-start;min-width:0}
@media(prefers-reduced-motion:reduce){.secretary-appointment-card,.secretary-patient-meta .secretary-phone-link{transition:none}}
@media(max-width:430px){.secretary-patient-meta .secretary-phone-link{width:100%;justify-content:flex-start}.secretary-patient-meta .secretary-phone-link small{margin-right:auto}.checkin-options{grid-template-columns:1fr}}

/* ======================================================================
   Public Medical Experience 4.3.5 — blended clinical landing page
   ====================================================================== */
.medical-hero-v435{
  position:relative;
  overflow:hidden;
  padding:clamp(58px,7vw,98px) 0 0;
  background:linear-gradient(132deg,#f5fbff 0%,#fff 48%,#f0fbf7 100%);
  border-bottom:1px solid #e0ebf1;
}
.medical-hero-v435::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(circle at 12% 20%,rgba(39,154,196,.11) 0 2px,transparent 2.5px),radial-gradient(circle at 88% 72%,rgba(91,193,145,.12) 0 2px,transparent 2.5px);
  background-size:38px 38px,46px 46px;
  mask-image:linear-gradient(90deg,#000,transparent 42%,transparent 58%,#000);
}
.medical-hero-v435__orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}
.medical-hero-v435__orb--one{width:310px;height:310px;top:-150px;right:-85px;background:rgba(83,185,224,.12)}
.medical-hero-v435__orb--two{width:260px;height:260px;left:-90px;bottom:35px;background:rgba(113,204,152,.12)}
.medical-hero-v435__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);align-items:center;gap:clamp(45px,7vw,96px);padding-bottom:70px}
.medical-hero-v435__copy{max-width:760px}
.medical-hero-v435__eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #cae1ee;border-radius:999px;background:rgba(255,255,255,.88);color:#176d9b;font-size:.66rem;font-weight:950;box-shadow:0 8px 22px rgba(24,71,101,.055)}
.medical-hero-v435__eyebrow i{width:8px;height:8px;border-radius:50%;background:#31b978;box-shadow:0 0 0 5px rgba(49,185,120,.12)}
.medical-hero-v435 h1{max-width:800px;margin:20px 0 15px;color:#122b3e;font-size:clamp(2.45rem,5vw,4.45rem);font-weight:950;line-height:1.26;letter-spacing:-.055em}
.medical-hero-v435__copy>p{max-width:690px;margin:0;color:#617889;font-size:clamp(.88rem,1.25vw,1.03rem);line-height:2.12}
.medical-hero-v435__actions{display:flex;align-items:center;gap:11px;margin-top:27px}
.medical-hero-v435__actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:53px;padding-inline:21px;border-radius:14px;font-size:.77rem;font-weight:950}
.medical-hero-v435__actions .btn-primary{border-color:#1674b7;background:linear-gradient(135deg,#1678bd,#215fc9);box-shadow:0 15px 31px rgba(21,105,181,.22)}
.medical-hero-v435__actions .btn-light{border:1px solid #d3e1e9;background:#fff;color:#294d63}
.medical-hero-v435__actions svg{width:18px;height:18px}
.medical-hero-v435__proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:29px}
.medical-hero-v435__proof>div{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid #dbe8ef;border-radius:14px;background:rgba(255,255,255,.78)}
.medical-hero-v435__proof>div>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:#e9f6fb;color:#176c9b}
.medical-hero-v435__proof>div:nth-child(2)>span{background:#eaf8f1;color:#188258}
.medical-hero-v435__proof svg{width:19px;height:19px}
.medical-hero-v435__proof p,.medical-hero-v435__proof strong,.medical-hero-v435__proof small{display:block;min-width:0;margin:0}
.medical-hero-v435__proof strong{overflow:hidden;color:#2d5065;font-size:.67rem;font-weight:950;white-space:nowrap;text-overflow:ellipsis}
.medical-hero-v435__proof small{overflow:hidden;margin-top:2px;color:#7d909d;font-size:.55rem;white-space:nowrap;text-overflow:ellipsis}
.medical-hero-v435__visual{position:relative;isolation:isolate;max-width:510px;width:100%;margin-inline:auto;padding:22px 26px 8px}
.medical-hero-v435__shape{position:absolute;z-index:-1;inset:4% 3% 11%;border-radius:42% 58% 31% 69% / 51% 34% 66% 49%;background:linear-gradient(145deg,#bfeff3,#bce8dc 55%,#f6db9d);transform:rotate(-4deg)}
.medical-hero-v435__doctor{overflow:hidden;border:1px solid rgba(202,222,233,.9);border-radius:34px 34px 25px 25px;background:#fff;box-shadow:0 30px 80px rgba(23,63,91,.16)}
.medical-hero-v435__photo{display:grid;place-items:center;height:clamp(300px,34vw,420px);overflow:hidden;background:linear-gradient(150deg,#e3f3f8,#edf9f3)}
.medical-hero-v435__photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.medical-hero-v435__photo>span{display:grid;place-items:center;width:145px;height:145px;border-radius:44px;background:#fff;color:#1772aa;font-size:4.2rem;font-weight:950;box-shadow:0 18px 44px rgba(27,82,116,.13)}
.medical-hero-v435__doctor-info{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px;padding:18px 20px 20px}
.medical-hero-v435__doctor-info small,.medical-hero-v435__doctor-info h2,.medical-hero-v435__doctor-info p{display:block;margin:0}
.medical-hero-v435__doctor-info small{color:#1980af;font-size:.58rem;font-weight:950}
.medical-hero-v435__doctor-info h2{margin-top:3px;color:#17374c;font-size:1.15rem;font-weight:950}
.medical-hero-v435__doctor-info p{margin-top:2px;color:#708593;font-size:.68rem}
.medical-hero-v435__doctor-info>a{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;background:#eaf5ff;color:#176ea5;text-decoration:none}
.medical-hero-v435__doctor-info>a:hover{background:#176ea5;color:#fff}
.medical-hero-v435__doctor-info svg{width:21px;height:21px}
.medical-hero-v435__floating{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(208,225,235,.95);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 18px 43px rgba(22,66,94,.13);backdrop-filter:blur(10px)}
.medical-hero-v435__floating p,.medical-hero-v435__floating strong,.medical-hero-v435__floating small{display:block;margin:0}
.medical-hero-v435__floating strong{color:#294c62;font-size:.64rem;font-weight:950}.medical-hero-v435__floating small{margin-top:2px;color:#7e909d;font-size:.52rem}
.medical-hero-v435__floating--rating{top:68px;right:-20px}.medical-hero-v435__floating--rating>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#fff4d6;color:#e2a000;font-size:1rem}
.medical-hero-v435__floating--availability{left:-24px;bottom:82px}.medical-hero-v435__floating--availability>i{width:11px;height:11px;border-radius:50%;background:#28ba77;box-shadow:0 0 0 6px rgba(40,186,119,.12)}
.medical-hero-v435__features{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:-43px;padding:0 12px}
.medical-hero-v435__features article{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:17px 15px;border:1px solid #dce7ed;border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(22,61,86,.085)}
.medical-hero-v435__feature-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:14px;background:#e8f6ff;color:#1974ac}
.medical-hero-v435__feature-icon--2{background:#fff0e8;color:#cf6841}.medical-hero-v435__feature-icon--3{background:#edf8ef;color:#238757}.medical-hero-v435__feature-icon--4{background:#fff8df;color:#bd8d17}
.medical-hero-v435__feature-icon svg{width:21px;height:21px}
.medical-hero-v435__features h3{margin:2px 0 4px;color:#27485d;font-size:.69rem;font-weight:950}.medical-hero-v435__features p{margin:0;color:#768a98;font-size:.57rem;line-height:1.75}
.medical-trust-band-v435{padding:82px 0 32px;background:#0e3e72;color:#fff}
.medical-trust-band-v435__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.medical-trust-band-v435 article{display:flex;align-items:center;justify-content:center;gap:12px;min-height:76px;padding:10px 28px;border-left:1px solid rgba(255,255,255,.15)}
.medical-trust-band-v435 article:last-child{border-left:0}.medical-trust-band-v435 article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.12);color:#a9e9dd}
.medical-trust-band-v435 svg{width:22px;height:22px}.medical-trust-band-v435 p,.medical-trust-band-v435 strong,.medical-trust-band-v435 small{display:block;margin:0}.medical-trust-band-v435 strong{font-size:.72rem;font-weight:950}.medical-trust-band-v435 small{margin-top:3px;color:#c7d9ea;font-size:.57rem}
.medical-services-v435{padding-top:82px;background:linear-gradient(#fff,#f8fbfd)}
.medical-services-v435 .doctor-service-card:nth-child(4n+1){background:#f5fbff}.medical-services-v435 .doctor-service-card:nth-child(4n+2){background:#fff9ef}.medical-services-v435 .doctor-service-card:nth-child(4n+3){background:#f4fbf6}.medical-services-v435 .doctor-service-card:nth-child(4n){background:#fff6f4}
.medical-services-v435 .doctor-service-card{border-color:#e1e9ee;box-shadow:none}.medical-services-v435 .doctor-service-card:hover{border-color:#a9c7d9;box-shadow:0 12px 32px rgba(26,70,98,.08)}

/* Floating mobile dock restored in 4.3.5 */
.doctor-mobile-dock{display:none}
@media(max-width:767.98px){
  body.doctor-site-shell{padding-bottom:84px}
  .doctor-site-footer{padding-bottom:34px}
  .doctor-mobile-dock{position:fixed;z-index:1060;right:8px;left:8px;bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;min-height:65px;padding:6px 5px;border:1px solid rgba(196,214,226,.95);border-radius:21px;background:rgba(255,255,255,.97);box-shadow:0 18px 50px rgba(13,43,63,.22);backdrop-filter:blur(17px)}
  .doctor-mobile-dock>a{display:grid;place-items:center;gap:3px;min-width:0;padding:4px 2px;color:#738793;text-decoration:none;font-size:.56rem;font-weight:850}
  .doctor-mobile-dock>a>svg{width:20px;height:20px}.doctor-mobile-dock>a.is-active{color:#176fa8}
  .doctor-mobile-dock__booking{position:relative;color:#176fa8!important}
  .doctor-mobile-dock__booking>b{display:grid;place-items:center;width:49px;height:49px;margin-top:-27px;border:5px solid #fff;border-radius:17px;background:linear-gradient(145deg,#1778bd,#24a88b);color:#fff;box-shadow:0 10px 24px rgba(24,113,167,.28)}
  .doctor-mobile-dock__booking b svg{width:24px;height:24px}.doctor-mobile-dock__booking>span{font-weight:950}
  .booking-submit-dock{bottom:83px!important}
  .medical-hero-v435{padding-top:40px}
  .medical-hero-v435__grid{grid-template-columns:1fr;gap:35px;padding-bottom:54px;text-align:right}
  .medical-hero-v435 h1{font-size:clamp(2.05rem,10vw,3rem);line-height:1.38}
  .medical-hero-v435__copy>p{font-size:.79rem;line-height:2}
  .medical-hero-v435__actions{display:grid;grid-template-columns:1fr}.medical-hero-v435__actions .btn{width:100%}
  .medical-hero-v435__proof{grid-template-columns:1fr}.medical-hero-v435__proof strong,.medical-hero-v435__proof small{white-space:normal}
  .medical-hero-v435__visual{max-width:470px;padding-inline:15px}.medical-hero-v435__photo{height:330px}.medical-hero-v435__floating{position:static;margin-top:9px}.medical-hero-v435__floating--rating{margin-right:10px}.medical-hero-v435__floating--availability{margin-left:10px}
  .medical-hero-v435__features{grid-template-columns:1fr;margin-bottom:-35px;padding:0}.medical-hero-v435__features article{padding:14px}
  .medical-trust-band-v435{padding-top:70px}.medical-trust-band-v435__grid{grid-template-columns:1fr}.medical-trust-band-v435 article{justify-content:flex-start;border-left:0;border-bottom:1px solid rgba(255,255,255,.13);padding-inline:12px}.medical-trust-band-v435 article:last-child{border-bottom:0}
}
@media(min-width:768px) and (max-width:1050px){
  .medical-hero-v435__grid{grid-template-columns:1fr;text-align:right}.medical-hero-v435__copy{max-width:850px}.medical-hero-v435__visual{max-width:580px}.medical-hero-v435__features{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:430px){
  .medical-hero-v435__photo{height:285px}.medical-hero-v435__doctor{border-radius:25px}.medical-hero-v435__doctor-info{padding:15px}.medical-hero-v435__doctor-info h2{font-size:1rem}
  .doctor-mobile-dock{right:5px;left:5px}.doctor-mobile-dock>a{font-size:.52rem}.doctor-mobile-dock__booking>b{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){.medical-hero-v435__doctor-info>a,.doctor-service-card{transition:none}}

/* Secretary monthly reservation calendar 4.3.5 */
.secretary-month-calendar{overflow:hidden;margin:18px 0;border:1px solid var(--sec-line,#dce6ee);border-radius:22px;background:#fff;box-shadow:0 10px 32px rgba(24,52,75,.065)}
.secretary-month-calendar__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;border-bottom:1px solid var(--sec-line,#dce6ee);background:linear-gradient(120deg,#f6fbff,#f8fdfb)}
.secretary-month-calendar__eyebrow{display:block;margin-bottom:3px;color:#1370ae;font-size:.58rem;font-weight:950}.secretary-month-calendar__head h2{margin:0;color:#17364a;font-size:1.05rem;font-weight:950}.secretary-month-calendar__head p{margin:4px 0 0;color:#718391;font-size:.62rem}
.secretary-month-calendar__head nav{display:flex;align-items:center;gap:7px}.secretary-month-calendar__head nav a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:39px;padding:8px 10px;border:1px solid #d8e4eb;border-radius:11px;background:#fff;color:#456276;text-decoration:none;font-size:.61rem;font-weight:900}.secretary-month-calendar__head nav a:hover{border-color:#9ec4dc;color:#126ba4}.secretary-month-calendar__head nav a.is-today{border-color:#b9dcef;background:#eef8ff;color:#126ba4}.secretary-month-calendar__head nav svg{width:16px;height:16px}
.secretary-month-calendar__weekdays,.secretary-month-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.secretary-month-calendar__weekdays{padding:9px 12px 7px;border-bottom:1px solid #edf1f4;background:#fbfcfd}.secretary-month-calendar__weekdays span{padding:5px;color:#728493;text-align:center;font-size:.57rem;font-weight:900}.secretary-month-calendar__weekdays span:last-child{color:#b64d55}
.secretary-month-calendar__grid{gap:1px;padding:1px;background:#e8eef2}.secretary-month-calendar__grid>a,.secretary-month-calendar__grid>span{position:relative;display:grid;align-content:space-between;min-height:82px;padding:9px;background:#fff;color:#3b5669;text-decoration:none}.secretary-month-calendar__grid>a:hover{z-index:1;background:#f3f9fd;box-shadow:inset 0 0 0 2px #acd1e8}.secretary-month-calendar__grid>a>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-size:.64rem;font-weight:950}.secretary-month-calendar__grid>a>b{justify-self:end;display:grid;place-items:center;min-width:27px;height:24px;padding:0 6px;border-radius:8px;background:#e8f4ff;color:#126aa3;font-size:.56rem;font-weight:950}.secretary-month-calendar__grid>a>small{justify-self:end;color:#a0adb6;font-size:.49rem}.secretary-month-calendar__grid>a.has-appointments{background:#fbfdff}.secretary-month-calendar__grid>a.has-appointments>span{background:#eef7ff;color:#126ba4}.secretary-month-calendar__grid>a.is-today>span{box-shadow:inset 0 0 0 1.5px #28a875}.secretary-month-calendar__grid>a.is-selected{z-index:2;background:#eaf5ff;box-shadow:inset 0 0 0 2px #1775b4}.secretary-month-calendar__grid>a.is-selected>span{background:#1775b4;color:#fff}.secretary-month-calendar__grid>.is-empty{background:#f7f9fa}
.secretary-month-calendar>footer{display:flex;align-items:center;gap:14px;padding:11px 15px;border-top:1px solid #e9eef2;background:#fbfcfd;color:#718392;font-size:.55rem}.secretary-month-calendar>footer span{display:inline-flex;align-items:center;gap:5px}.secretary-month-calendar>footer i{display:inline-block;width:10px;height:10px;border-radius:3px}.secretary-month-calendar>footer i.is-selected{background:#1775b4}.secretary-month-calendar>footer i.has-appointments{background:#b9ddf3}.secretary-month-calendar>footer>a{margin-right:auto;color:#126ba4;text-decoration:none;font-weight:950}
@media(max-width:767.98px){.secretary-month-calendar__head{align-items:stretch;flex-direction:column;padding:16px}.secretary-month-calendar__head nav{display:grid;grid-template-columns:1fr auto 1fr}.secretary-month-calendar__weekdays{padding-inline:4px}.secretary-month-calendar__weekdays span{padding-inline:1px;font-size:.48rem}.secretary-month-calendar__grid>a,.secretary-month-calendar__grid>span{min-height:62px;padding:6px}.secretary-month-calendar__grid>a>span{width:24px;height:24px;font-size:.58rem}.secretary-month-calendar__grid>a>b{min-width:22px;height:20px;padding-inline:4px;font-size:.49rem}.secretary-month-calendar__grid>a>small{display:none}.secretary-month-calendar>footer{flex-wrap:wrap}.secretary-month-calendar>footer>a{width:100%;margin:0;text-align:center}}

/* ======================================================================
   Public experience 4.3.6 — calm medical product landing
   ====================================================================== */
body.doctor-site-shell{
  --doctor-436-navy:#092f4a;
  --doctor-436-blue:#136fb0;
  --doctor-436-blue-deep:#0b568e;
  --doctor-436-mint:#2bb79f;
  --doctor-436-mint-soft:#dff7f0;
  --doctor-436-sky:#eaf5ff;
  --doctor-436-cream:#fff8e9;
  --doctor-436-ink:#17364b;
  --doctor-436-muted:#6f8492;
  --doctor-436-line:#dbe7ee;
  background:#fff;
}
.doctor-site-header{position:relative;z-index:1040;background:#fff}
.doctor-site-nav{border-bottom:1px solid rgba(218,231,239,.92);background:rgba(255,255,255,.96);box-shadow:0 7px 28px rgba(18,58,84,.045);backdrop-filter:blur(15px)}
.doctor-site-nav__inner{min-height:84px}
.doctor-site-desktop-menu a{position:relative;padding-inline:15px;border-radius:11px}
.doctor-site-desktop-menu a.active::after{content:"";position:absolute;right:15px;left:15px;bottom:3px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--doctor-436-blue),var(--doctor-436-mint))}
.doctor-site-account{border-color:#d6e4ec;background:#fbfdff}
.doctor-site-book-button{border:0;background:linear-gradient(135deg,var(--doctor-436-blue),#245ec3);box-shadow:0 12px 28px rgba(18,104,170,.21)}

.medical-home-v436{position:relative;isolation:isolate;overflow:hidden;padding:72px 0 0;background:linear-gradient(180deg,#fbfdff 0%,#f6fbff 58%,#fff 100%)}
.medical-home-v436__wash{position:absolute;z-index:-3;inset:0;background:radial-gradient(circle at 81% 25%,rgba(51,190,173,.18),transparent 31%),radial-gradient(circle at 13% 9%,rgba(76,151,224,.15),transparent 26%)}
.medical-home-v436__dot-grid{position:absolute;z-index:-2;top:38px;left:4%;width:180px;height:180px;opacity:.28;background-image:radial-gradient(#6da8ca 1.2px,transparent 1.2px);background-size:15px 15px;mask-image:linear-gradient(135deg,#000,transparent 76%)}
.medical-home-v436__hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:clamp(52px,7vw,105px);min-height:615px;padding-bottom:64px}
.medical-home-v436__copy{position:relative;z-index:3;max-width:760px}
.medical-home-v436__eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #cfe3ee;border-radius:999px;background:rgba(255,255,255,.9);color:#166896;font-size:.69rem;font-weight:950;box-shadow:0 10px 28px rgba(19,74,105,.06)}
.medical-home-v436__eyebrow i{width:9px;height:9px;border-radius:50%;background:#2db785;box-shadow:0 0 0 6px rgba(45,183,133,.12)}
.medical-home-v436__copy h1{max-width:790px;margin:22px 0 16px;color:var(--doctor-436-navy);font-size:clamp(2.75rem,5.2vw,4.85rem);font-weight:950;line-height:1.24;letter-spacing:-.055em;text-wrap:balance}
.medical-home-v436__copy>p{max-width:690px;margin:0;color:#5f7787;font-size:clamp(.9rem,1.25vw,1.07rem);line-height:2.15}
.medical-home-v436__actions{display:flex;align-items:center;gap:12px;margin-top:30px}
.medical-home-v436__primary,.medical-home-v436__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:56px;border-radius:16px;text-decoration:none;font-size:.79rem;font-weight:950;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.medical-home-v436__primary{gap:18px;padding:6px 8px 6px 22px;background:linear-gradient(135deg,var(--doctor-436-blue),#255ec5);color:#fff;box-shadow:0 16px 34px rgba(17,103,173,.24)}
.medical-home-v436__primary b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.15)}
.medical-home-v436__primary svg,.medical-home-v436__secondary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.medical-home-v436__secondary{gap:9px;padding:0 19px;border:1px solid #cfdee7;background:rgba(255,255,255,.92);color:#294f68}
.medical-home-v436__primary:hover,.medical-home-v436__secondary:hover{transform:translateY(-2px)}
.medical-home-v436__primary:hover{color:#fff;box-shadow:0 20px 42px rgba(17,103,173,.29)}
.medical-home-v436__secondary:hover{border-color:#9fc5dc;background:#fff;color:#12699f}
.medical-home-v436__signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-width:590px;margin-top:28px}
.medical-home-v436__signals>div{display:flex;align-items:center;gap:11px;min-width:0;padding:12px 13px;border:1px solid #dce7ed;border-radius:16px;background:rgba(255,255,255,.75)}
.medical-home-v436__signals>div>span{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:13px;background:var(--doctor-436-sky);color:var(--doctor-436-blue)}
.medical-home-v436__signals>div:nth-child(2)>span{background:var(--doctor-436-mint-soft);color:#16836d}
.medical-home-v436__signals svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.medical-home-v436__signals p,.medical-home-v436__signals strong,.medical-home-v436__signals small{display:block;min-width:0;margin:0}
.medical-home-v436__signals strong{color:#294b61;font-size:.7rem;font-weight:950}.medical-home-v436__signals small{margin-top:2px;color:#7b8d99;font-size:.58rem}

.medical-home-v436__visual{position:relative;isolation:isolate;width:100%;max-width:570px;min-height:535px;margin-inline:auto;padding:27px 34px 48px}
.medical-home-v436__visual-backdrop{position:absolute;z-index:-2;inset:5% 2% 5% 4%;border-radius:48% 52% 43% 57% / 52% 37% 63% 48%;background:linear-gradient(145deg,#a9e8df 0%,#a9d7f3 48%,#f6dda1 100%);transform:rotate(-3deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.medical-home-v436__visual-backdrop::before{content:"";position:absolute;inset:28px;border:1px dashed rgba(255,255,255,.52);border-radius:inherit}
.medical-home-v436__cross{position:absolute;z-index:-1;color:rgba(21,104,157,.18);font-size:3.4rem;font-weight:300;line-height:1}.medical-home-v436__cross--one{top:42px;left:1px}.medical-home-v436__cross--two{right:6px;bottom:78px;color:rgba(28,147,122,.2);font-size:2.6rem}
.medical-home-v436__doctor-card{overflow:hidden;width:100%;border:1px solid rgba(205,223,233,.94);border-radius:38px 38px 28px 28px;background:#fff;box-shadow:0 35px 90px rgba(18,60,88,.2)}
.medical-home-v436__doctor-photo{position:relative;display:grid;place-items:center;height:390px;overflow:hidden;background:linear-gradient(155deg,#e3f4f7,#eef9f4)}
.medical-home-v436__doctor-photo::after{content:"";position:absolute;right:13%;left:13%;bottom:-25px;height:85px;border-radius:50%;background:rgba(20,94,143,.12);filter:blur(25px)}
.medical-home-v436__doctor-photo img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center top}
.medical-home-v436__doctor-photo>span{position:relative;z-index:2;display:grid;place-items:center;width:160px;height:160px;border-radius:48px;background:rgba(255,255,255,.92);color:var(--doctor-436-blue);font-size:4.4rem;font-weight:950;box-shadow:0 22px 56px rgba(24,82,115,.14)}
.medical-home-v436__photo-glow{position:absolute;top:-80px;left:-70px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.58);filter:blur(4px)}
.medical-home-v436__doctor-card>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;padding:19px 21px 21px}
.medical-home-v436__doctor-card small,.medical-home-v436__doctor-card h2,.medical-home-v436__doctor-card p{display:block;margin:0}.medical-home-v436__doctor-card small{color:#1782ab;font-size:.6rem;font-weight:950}.medical-home-v436__doctor-card h2{margin-top:3px;color:#18394e;font-size:1.2rem;font-weight:950}.medical-home-v436__doctor-card p{margin-top:2px;color:#728692;font-size:.69rem}
.medical-home-v436__doctor-card>footer>a{display:grid;place-items:center;width:49px;height:49px;border-radius:16px;background:#eaf5ff;color:#166fa9;text-decoration:none;transition:.2s ease}.medical-home-v436__doctor-card>footer>a:hover{background:#166fa9;color:#fff}.medical-home-v436__doctor-card>footer svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.medical-home-v436__float{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;max-width:230px;padding:11px 13px;border:1px solid rgba(210,225,234,.95);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 18px 48px rgba(19,62,88,.14);backdrop-filter:blur(12px)}
.medical-home-v436__float>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#edf7ff;color:#1471aa}.medical-home-v436__float svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.medical-home-v436__float div,.medical-home-v436__float strong,.medical-home-v436__float small{display:block;min-width:0;margin:0}.medical-home-v436__float strong{color:#2a4a5f;font-size:.65rem;font-weight:950;line-height:1.55}.medical-home-v436__float small{margin-top:2px;color:#81919b;font-size:.53rem;line-height:1.55}
.medical-home-v436__float--status{top:86px;right:-27px}.medical-home-v436__status-icon{background:#e9f8f1!important}.medical-home-v436__status-icon i{width:10px;height:10px;border-radius:50%;background:#25b778;box-shadow:0 0 0 6px rgba(37,183,120,.13)}
.medical-home-v436__float--appointment{left:-22px;bottom:117px}.medical-home-v436__float--rating{right:-5px;bottom:23px}.medical-home-v436__float--rating>b{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#fff3ce;color:#e3a200;font-size:1.05rem}
.medical-home-v436__quickbar{position:relative;z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;margin-bottom:-42px;border:1px solid #d8e5ec;border-radius:22px;background:#fff;box-shadow:0 22px 60px rgba(20,63,89,.13)}
.medical-home-v436__quickbar>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:92px;padding:15px 19px;border-left:1px solid #e3ebf0;color:inherit;text-decoration:none;transition:background .18s ease}.medical-home-v436__quickbar>a:last-child{border-left:0}.medical-home-v436__quickbar>a:hover{background:#f7fbfe}
.medical-home-v436__quickbar>a>span{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#eaf5ff;color:#176fa9}.medical-home-v436__quickbar>a:nth-child(2)>span{background:#e8f8f2;color:#19826c}.medical-home-v436__quickbar>a:nth-child(3)>span{background:#fff5df;color:#a87208}.medical-home-v436__quickbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.medical-home-v436__quickbar p,.medical-home-v436__quickbar strong,.medical-home-v436__quickbar small{display:block;min-width:0;margin:0}.medical-home-v436__quickbar strong{color:#284b61;font-size:.72rem;font-weight:950}.medical-home-v436__quickbar small{margin-top:3px;color:#7b8e9b;font-size:.58rem}.medical-home-v436__quickbar>a>b{color:#6c8493;font-size:1.15rem}

.medical-journey-v436{padding:112px 0 92px;background:#fff}
.medical-journey-v436>div>header{max-width:690px;margin:0 auto 35px;text-align:center}.medical-journey-v436>div>header>span{display:inline-block;color:#1773a9;font-size:.66rem;font-weight:950}.medical-journey-v436 h2{margin:7px 0 8px;color:#14354b;font-size:clamp(1.55rem,3vw,2.4rem);font-weight:950;line-height:1.45}.medical-journey-v436>div>header p{margin:0;color:#718692;font-size:.76rem;line-height:2}
.medical-journey-v436__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.medical-journey-v436__grid article{position:relative;overflow:hidden;min-height:250px;padding:25px;border:1px solid #dce7ed;border-radius:24px;background:#f8fbfd;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.medical-journey-v436__grid article:nth-child(2){background:#f3fbf8}.medical-journey-v436__grid article:nth-child(3){background:#fffaf0}.medical-journey-v436__grid article:hover{transform:translateY(-5px);border-color:#b8d3e3;box-shadow:0 18px 44px rgba(24,66,91,.09)}
.medical-journey-v436__grid article>span{position:absolute;left:18px;top:7px;color:rgba(21,81,119,.09);font-size:4.6rem;font-weight:950;line-height:1}.medical-journey-v436__icon{display:grid;place-items:center;width:53px;height:53px;margin-bottom:28px;border-radius:18px;background:#dff1ff;color:#176fa9}.medical-journey-v436__grid article:nth-child(2) .medical-journey-v436__icon{background:#ddf5ed;color:#16806a}.medical-journey-v436__grid article:nth-child(3) .medical-journey-v436__icon{background:#fff0cc;color:#a9760e}.medical-journey-v436__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.medical-journey-v436__grid h3{margin:0 0 8px;color:#27495f;font-size:.9rem;font-weight:950}.medical-journey-v436__grid p{margin:0;color:#708592;font-size:.69rem;line-height:1.95}

/* Walk-in booking with explicit insured / self-pay mode */
.secretary-booking-layout--v436{grid-template-columns:minmax(0,1fr) 310px;gap:22px}
.secretary-form-card--v436{border-radius:23px;box-shadow:0 16px 45px rgba(22,59,83,.08)}
.secretary-form-card--v436 .secretary-form-card__head{padding:23px 25px;background:linear-gradient(135deg,#f7fbff,#f5fbf9)}
.walkin-insurance-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:13px}
.walkin-insurance-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:15px;border:1px solid #d9e5ec;border-radius:17px;background:#fbfcfd;cursor:pointer;transition:.18s ease}
.walkin-insurance-option:hover{border-color:#a9cce1;background:#f8fcff}.walkin-insurance-option:has(input:checked){border-color:#66aeda;background:#edf8ff;box-shadow:0 0 0 3px rgba(19,112,176,.07)}.walkin-insurance-option.is-disabled{opacity:.58;cursor:not-allowed}.walkin-insurance-option input{position:absolute;opacity:0;pointer-events:none}.walkin-insurance-option__icon{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:#eef3f6;color:#617887;font-size:1rem;font-weight:950}.walkin-insurance-option:has(input[value="insured"]:checked) .walkin-insurance-option__icon{background:#dcf4eb;color:#177b64}.walkin-insurance-option:has(input[value="none"]:checked) .walkin-insurance-option__icon{background:#e4f1fb;color:#176caa}.walkin-insurance-option>span:nth-child(3),.walkin-insurance-option strong,.walkin-insurance-option small{display:block;min-width:0}.walkin-insurance-option strong{color:#2d4a5f;font-size:.76rem}.walkin-insurance-option small{margin-top:4px;color:#718593;font-size:.62rem;line-height:1.7}.walkin-insurance-option>i{display:grid;place-items:center;width:22px;height:22px;border:2px solid #bfccd4;border-radius:50%}.walkin-insurance-option:has(input:checked)>i{border:6px solid #1775b3}.walkin-insurance-details{margin-top:4px;padding:14px;border:1px solid #dce8ee;border-radius:16px;background:#f8fbfd}.secretary-field .form-text{display:block;margin-top:6px;color:#7a8c98;font-size:.6rem}

@media(max-width:1199.98px){
  .medical-home-v436__hero{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:45px}.medical-home-v436__copy h1{font-size:clamp(2.5rem,5vw,4rem)}.medical-home-v436__visual{padding-inline:24px}.medical-home-v436__float--status{right:-5px}.medical-home-v436__float--appointment{left:-5px}
}
@media(max-width:991.98px){
  .doctor-site-nav__inner{min-height:72px}.medical-home-v436{padding-top:48px}.medical-home-v436__hero{grid-template-columns:1fr;gap:42px;min-height:auto}.medical-home-v436__copy{max-width:820px}.medical-home-v436__visual{max-width:590px}.medical-home-v436__quickbar{grid-template-columns:1fr 1fr}.medical-home-v436__quickbar>a:nth-child(2){border-left:0}.medical-home-v436__quickbar>a:last-child{grid-column:1/-1;border-top:1px solid #e3ebf0}.secretary-booking-layout--v436{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .medical-home-v436{padding-top:32px}.medical-home-v436__dot-grid{display:none}.medical-home-v436__hero{gap:34px;padding-bottom:32px}.medical-home-v436__copy h1{margin-top:17px;font-size:clamp(2.12rem,10.7vw,3.05rem);line-height:1.38}.medical-home-v436__copy>p{font-size:.79rem;line-height:2}.medical-home-v436__actions{display:grid;grid-template-columns:1fr;margin-top:23px}.medical-home-v436__primary,.medical-home-v436__secondary{width:100%;min-height:53px}.medical-home-v436__signals{grid-template-columns:1fr;margin-top:18px}.medical-home-v436__visual{min-height:0;padding:13px 15px 5px}.medical-home-v436__doctor-card{border-radius:29px 29px 23px 23px}.medical-home-v436__doctor-photo{height:330px}.medical-home-v436__doctor-card>footer{padding:16px}.medical-home-v436__doctor-card h2{font-size:1.02rem}.medical-home-v436__float{position:static;width:calc(100% - 16px);max-width:none;margin:8px auto 0}.medical-home-v436__float--status{margin-top:-20px}.medical-home-v436__visual-backdrop{inset:2% 0 30%}.medical-home-v436__cross{display:none}.medical-home-v436__quickbar{grid-template-columns:1fr;margin-bottom:-33px}.medical-home-v436__quickbar>a,.medical-home-v436__quickbar>a:nth-child(2),.medical-home-v436__quickbar>a:last-child{grid-column:auto;min-height:78px;border-left:0;border-top:1px solid #e3ebf0;padding:12px 14px}.medical-home-v436__quickbar>a:first-child{border-top:0}.medical-home-v436__quickbar>a>span{width:41px;height:41px}.medical-journey-v436{padding:82px 0 68px}.medical-journey-v436__grid{grid-template-columns:1fr}.medical-journey-v436__grid article{min-height:205px}.walkin-insurance-options{grid-template-columns:1fr}
}
@media(max-width:430px){
  .medical-home-v436__eyebrow{font-size:.61rem}.medical-home-v436__doctor-photo{height:282px}.medical-home-v436__doctor-photo>span{width:125px;height:125px;border-radius:38px;font-size:3.4rem}.medical-home-v436__doctor-card>footer>a{width:44px;height:44px}.medical-home-v436__quickbar strong{font-size:.68rem}.medical-home-v436__quickbar small{font-size:.54rem}
}
@media(prefers-reduced-motion:reduce){.medical-home-v436__primary,.medical-home-v436__secondary,.medical-home-v436__doctor-card>footer>a,.medical-journey-v436__grid article,.walkin-insurance-option{transition:none}}
