/* Nobat Yar unified booking stylesheet 1.0.7.
 * Generated by build-booking-css.js. Edit source layers, then rebuild.
 * Source order is deliberate: foundation -> booking -> QA -> final rules.
 */

/* source: assets/css/np-design-system.css */
:root {
    --np-primary: #0D6B78;
    --np-primary-strong: #074E59;
    --np-accent: #25B89A;
    --np-accent-soft: #E8F8F4;
    --np-surface: #FFFFFF;
    --np-bg: #F4F8F9;
    --np-ink: #172A33;
    --np-muted: #71838B;
    --np-border: #DDE8EB;
    --np-success: #16866D;
    --np-warning: #C47B22;
    --np-danger: #C84D5B;
    --np-radius-sm: 12px;
    --np-radius: 18px;
    --np-radius-lg: 26px;
    --np-shadow: 0 18px 55px rgba(18, 52, 62, .10);
    --np-shadow-soft: 0 8px 28px rgba(18, 52, 62, .07);
    --np-space-1: 6px;
    --np-space-2: 10px;
    --np-space-3: 14px;
    --np-space-4: 20px;
    --np-space-5: 28px;
    --np-space-6: 36px;
}

.np-app,
.np-admin-wrap {
    box-sizing: border-box;
    color: var(--np-ink);
    font-family:var(--np-font-family,Vazirmatn,IRANSansX,Dana,Peyda,"Segoe UI",Tahoma,Arial,sans-serif);
    line-height: 1.8;
}

.np-app *,
.np-admin-wrap * {
    box-sizing: border-box;
}

.np-booking-shell {
    width: 100%;
    padding: 24px 12px;
    background:
        radial-gradient(circle at 85% 12%, rgba(37,184,154,.12), transparent 28%),
        radial-gradient(circle at 14% 80%, rgba(13,107,120,.08), transparent 24%),
        var(--np-bg);
    border-radius: var(--np-radius-lg);
}

.np-booking-card {
    width: min(100%, 960px);
    margin: 0 auto;
    overflow: hidden;
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(13,107,120,.09);
    border-radius: var(--np-radius-lg);
    box-shadow: var(--np-shadow);
}

.np-booking-hero {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
    padding: 28px 32px;
    background: linear-gradient(135deg, rgba(13,107,120,.08), rgba(37,184,154,.04));
    border-bottom: 1px solid var(--np-border);
}

.np-brand-mark {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border-radius: 20px 8px 20px 20px;
    color: #fff;
    background: linear-gradient(145deg, var(--np-primary), var(--np-accent));
    box-shadow: 0 12px 28px rgba(13,107,120,.24);
    font-size: 30px;
    font-weight: 900;
}

.np-eyebrow {
    display: inline-block;
    color: var(--np-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: -.1px;
}

.np-hero-copy h2,
.np-section-heading h3,
.np-otp-card h3,
.np-payment-summary h3,
.np-admin-wrap h1,
.np-admin-wrap h2 {
    margin: 4px 0 0;
    color: var(--np-ink);
    line-height: 1.4;
}

.np-hero-copy h2 { font-size: 24px; }
.np-hero-copy p,
.np-section-heading p,
.np-payment-summary p,
.np-admin-header p,
.np-admin-card p {
    margin: 6px 0 0;
    color: var(--np-muted);
}

.np-price-chip {
    min-width: 160px;
    padding: 12px 16px;
    border-radius: 16px;
    background: var(--np-surface);
    box-shadow: var(--np-shadow-soft);
    border: 1px solid rgba(13,107,120,.08);
}
.np-price-chip span,
.np-payment-amount span {
    display: block;
    font-size: 11px;
    color: var(--np-muted);
}
.np-price-chip strong,
.np-payment-amount strong {
    display: block;
    margin-top: 2px;
    color: var(--np-primary-strong);
    font-size: 17px;
}

.np-stepper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 18px 32px 0;
    background: var(--np-surface);
}

.np-step {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: var(--np-muted);
    font: inherit;
    padding: 8px 4px 16px;
}
.np-step::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    height: 2px;
    background: var(--np-border);
}
.np-step span {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #EDF3F5;
    font-size: 11px;
    font-weight: 800;
}
.np-step b { font-size: 12px; }
.np-step.is-active { color: var(--np-primary); }
.np-step.is-active span {
    background: var(--np-primary);
    color: #fff;
}
.np-step.is-active::after { background: var(--np-accent); }

.np-panel {
    display: none;
    padding: 30px 32px;
}
.np-panel.is-active {
    display: block;
    animation: npFade .22s ease-out;
}

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

.np-section-heading,
.np-payment-summary,
.np-action-row,
.np-slot-meta,
.np-admin-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.np-link-button {
    border: 0;
    padding: 8px 0;
    background: transparent;
    color: var(--np-primary);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.np-date-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}
.np-date-card {
    min-height: 98px;
    border: 1px solid var(--np-border);
    border-radius: 16px;
    background: var(--np-surface);
    color: var(--np-ink);
    cursor: pointer;
    transition: .18s ease;
    font: inherit;
}
.np-date-card:hover:not(:disabled) {
    transform: translateY(-2px);
    border-color: rgba(13,107,120,.42);
}
.np-date-card span,
.np-date-card small { display: block; color: var(--np-muted); font-size: 11px; }
.np-date-card strong { display: block; margin: 1px 0; font-size: 22px; }
.np-date-card.is-selected {
    border-color: var(--np-primary);
    background: linear-gradient(145deg, var(--np-primary), #16808D);
    color: #fff;
    box-shadow: 0 10px 26px rgba(13,107,120,.2);
}
.np-date-card.is-selected span,
.np-date-card.is-selected small { color: rgba(255,255,255,.78); }
.np-date-card.is-disabled { opacity: .48; cursor: not-allowed; }

.np-slot-block {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid var(--np-border);
    border-radius: var(--np-radius);
    background: #FBFDFD;
}
.np-slot-meta { margin-bottom: 14px; font-size: 12px; font-weight: 700; }
.np-legend { color: var(--np-muted); font-weight: 500; }
.np-legend i {
    width: 8px; height: 8px; display: inline-block; margin-left: 5px;
    border-radius: 50%; background: var(--np-accent);
}
.np-slot-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.np-slot {
    min-height: 44px;
    border: 1px solid var(--np-border);
    border-radius: 13px;
    background: var(--np-surface);
    color: var(--np-ink);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: .16s ease;
}
.np-slot:hover:not(:disabled) { border-color: var(--np-accent); color: var(--np-primary); }
.np-slot.is-selected {
    border-color: var(--np-primary);
    background: var(--np-accent-soft);
    color: var(--np-primary-strong);
    box-shadow: inset 0 0 0 1px rgba(13,107,120,.12);
}
.np-slot.is-booked, .np-slot.is-blocked {
    opacity: 1;
    cursor: not-allowed;
    background: #fff5f6;
    border-color: #f5c2c7;
    color: #b02a37;
}

.np-action-row {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--np-border);
}
.np-selection-summary { color: var(--np-muted); font-size: 12px; }

.np-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 18px;
    border-radius: 13px;
    border: 1px solid transparent;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
    transition: .18s ease;
}
.np-button-primary {
    color: #fff !important;
    background: linear-gradient(145deg, var(--np-primary), #137F8C);
    box-shadow: 0 10px 22px rgba(13,107,120,.20);
}
.np-button-primary:hover { transform: translateY(-1px); box-shadow: 0 13px 27px rgba(13,107,120,.24); }
.np-button-ghost { color: var(--np-primary); background: #F5FAFA; border-color: var(--np-border); }

.np-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}
.np-field { display: block; margin-bottom: 14px; }
.np-field > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 800; }
.np-field em { font-style: normal; color: var(--np-muted); font-weight: 500; }
.np-field-wide { grid-column: 1 / -1; }
.np-field input,
.np-field textarea,
.np-field select {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--np-border);
    border-radius: 12px;
    outline: none;
    background: var(--np-surface);
    color: var(--np-ink);
    font: inherit;
    transition: .16s ease;
}
.np-field textarea { resize: vertical; }
.np-field input:focus,
.np-field textarea:focus,
.np-field select:focus {
    border-color: var(--np-primary);
    box-shadow: 0 0 0 3px rgba(13,107,120,.09);
}
.np-field small { display: block; margin-top: 5px; color: var(--np-muted); font-size: 10px; }

.np-otp-card {
    max-width: 520px;
    margin: 0 auto;
    padding: 28px;
    text-align: center;
    border-radius: var(--np-radius);
    border: 1px solid var(--np-border);
    background: linear-gradient(180deg, #FBFEFE, #F5FAFA);
}
.np-otp-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: var(--np-accent-soft);
    color: var(--np-primary);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 4px;
}
.np-otp-card p { color: var(--np-muted); font-size: 12px; }
.np-otp-inputs {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 18px 0 8px;
}
.np-otp-inputs input {
    width: 48px;
    height: 52px;
    border: 1px solid var(--np-border);
    border-radius: 13px;
    text-align: center;
    font: 800 20px/1 sans-serif;
    outline: none;
}
.np-otp-inputs input:focus {
    border-color: var(--np-primary);
    box-shadow: 0 0 0 3px rgba(13,107,120,.08);
}

.np-payment-amount {
    min-width: 180px;
    padding: 16px;
    text-align: center;
    border: 1px solid rgba(13,107,120,.12);
    border-radius: 16px;
    background: var(--np-accent-soft);
}
.np-security-note {
    display: grid;
    gap: 4px;
    margin-top: 22px;
    padding: 16px 18px;
    border: 1px solid #D7EEE8;
    border-radius: 15px;
    background: #F0FBF8;
}
.np-security-note b { color: var(--np-success); font-size: 12px; }
.np-security-note span { color: #55736A; font-size: 11px; }

.np-foundation-note {
    padding: 12px 24px;
    color: #7D6A3D;
    background: #FFF9E9;
    border-top: 1px solid #F3E8C6;
    font-size: 11px;
    text-align: center;
}

.np-toast {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 99999;
    max-width: 340px;
    padding: 12px 16px;
    border-radius: 13px;
    background: var(--np-ink);
    color: #fff;
    box-shadow: var(--np-shadow);
    font-size: 12px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: .2s ease;
}
.np-toast.is-visible { opacity: 1; transform: translateY(0); }

.np-admin-wrap {
    max-width: 1180px;
    margin-top: 24px;
}
.np-admin-header {
    padding: 24px 26px;
    border: 1px solid var(--np-border);
    border-radius: var(--np-radius-lg);
    background: linear-gradient(135deg, #FFFFFF, #F2FAF8);
    box-shadow: var(--np-shadow-soft);
}
.np-admin-wrap h1 { font-size: 30px; }
.np-admin-badge {
    padding: 8px 13px;
    border-radius: 999px;
    color: var(--np-primary);
    background: var(--np-accent-soft);
    font-size: 11px;
    font-weight: 900;
}
.np-admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px,1fr));
    gap: 14px;
    margin-top: 16px;
}
.np-admin-stat,
.np-admin-card {
    padding: 20px;
    border: 1px solid var(--np-border);
    border-radius: var(--np-radius);
    background: var(--np-surface);
    box-shadow: var(--np-shadow-soft);
}
.np-admin-stat span,
.np-admin-stat small { display: block; color: var(--np-muted); }
.np-admin-stat span { font-size: 11px; font-weight: 700; }
.np-admin-stat strong { display: block; margin: 5px 0; font-size: 26px; color: var(--np-primary); }
.np-admin-stat small { font-size: 10px; }
.np-admin-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 16px;
    margin-top: 16px;
}
.np-flow-list { margin: 16px 18px 0 0; }
.np-flow-list li { margin: 7px 0; }
.np-color-field input[type="color"] { height: 48px; padding: 4px; }

@media (max-width: 760px) {
    .np-booking-shell { padding: 0; border-radius: 0; }
    .np-booking-card { border-radius: 0; box-shadow: none; border-left: 0; border-right: 0; }
    .np-booking-hero { grid-template-columns: auto 1fr; padding: 22px 18px; }
    .np-price-chip { grid-column: 1 / -1; width: 100%; }
    .np-stepper { padding: 14px 12px 0; }
    .np-step b { display: none; }
    .np-panel { padding: 24px 18px; }
    .np-section-heading { align-items: flex-start; }
    .np-date-strip { display: flex; overflow-x: auto; padding-bottom: 5px; scroll-snap-type: x proximity; }
    .np-date-card { flex: 0 0 88px; scroll-snap-align: start; }
    .np-slot-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .np-form-grid { grid-template-columns: 1fr; }
    .np-field-wide { grid-column: auto; }
    .np-action-row { align-items: stretch; flex-direction: column-reverse; }
    .np-action-row .np-button { width: 100%; }
    .np-payment-summary { align-items: stretch; flex-direction: column; }
    .np-payment-amount { width: 100%; }
    .np-otp-inputs input { width: 42px; height: 48px; }
    .np-admin-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .np-admin-grid { grid-template-columns: 1fr; }
    .np-admin-header { align-items: flex-start; flex-direction: column; }
}
.np-inline-error{min-height:22px;margin-top:10px;color:var(--np-danger);font-size:12px;font-weight:700}.np-skeleton,.np-empty{grid-column:1/-1;padding:22px;text-align:center;border:1px dashed var(--np-border);border-radius:14px;color:var(--np-muted);background:#fbfdfd}.np-countdown{display:block;color:var(--np-muted);font-size:11px;margin-top:8px}.np-track-otp{margin-top:22px;padding-top:20px;border-top:1px solid var(--np-border)}.np-appointment-card{padding:20px;border:1px solid #d7eee8;border-radius:18px;background:#f0fbf8}.np-appointment-card h3{margin:4px 0}.np-appointment-card p{color:var(--np-muted)}.np-appointment-card>strong{color:var(--np-primary);font-size:20px}.np-upload-box{margin-top:20px;padding:20px;border:1px solid var(--np-border);border-radius:18px;background:#fff}.np-upload-box input[type=file]{display:block;width:100%;margin:12px 0}.np-files-list{display:grid;gap:10px;margin-top:16px}.np-file-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--np-border);border-radius:14px;background:#fbfdfd}.np-file-row strong,.np-file-row small{display:block}.np-file-row small{color:var(--np-muted);font-size:10px}.np-file-row>div:last-child{display:flex;gap:12px;align-items:center}.np-danger-link{color:var(--np-danger)!important}.np-date-card.is-disabled{opacity:.42}.np-step{cursor:default}.np-step:disabled{cursor:default}


.np-heading-actions{display:flex;align-items:center;gap:16px}.np-calendar-modal[hidden]{display:none}.np-calendar-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px}.np-calendar-backdrop{position:absolute;inset:0;background:rgba(13,31,38,.52);backdrop-filter:blur(4px)}.np-calendar-sheet{position:relative;width:min(100%,520px);max-height:min(720px,92vh);overflow:auto;padding:22px;border:1px solid rgba(255,255,255,.5);border-radius:26px;background:var(--np-surface);box-shadow:0 28px 90px rgba(8,34,42,.25)}.np-calendar-header{display:grid;grid-template-columns:44px 1fr 44px 36px;align-items:center;gap:8px;text-align:center}.np-calendar-header h3{margin:2px 0;font-size:20px}.np-calendar-nav,.np-calendar-close{width:40px;height:40px;border:1px solid var(--np-border);border-radius:13px;background:#f7fbfb;color:var(--np-primary);font:800 24px/1 inherit;cursor:pointer}.np-calendar-nav:disabled{opacity:.28;cursor:not-allowed}.np-calendar-close{width:34px;height:34px;border:0;background:#f1f5f6;color:var(--np-muted);font-size:20px}.np-calendar-weekdays,.np-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.np-calendar-weekdays{margin-top:20px;color:var(--np-muted);font-size:11px;text-align:center}.np-calendar-weekdays span{padding:6px}.np-calendar-grid{margin-top:6px}.np-calendar-grid .np-skeleton,.np-calendar-grid .np-empty{grid-column:1/-1}.np-calendar-blank{min-height:58px}.np-calendar-day{min-height:62px;padding:6px 3px;border:1px solid var(--np-border);border-radius:14px;background:#fff;color:var(--np-ink);font:inherit;cursor:pointer;transition:.16s ease}.np-calendar-day strong,.np-calendar-day small{display:block}.np-calendar-day strong{font-size:16px}.np-calendar-day small{margin-top:1px;color:var(--np-muted);font-size:9px}.np-calendar-day.is-bookable:hover{border-color:var(--np-accent);transform:translateY(-1px)}.np-calendar-day.is-today{box-shadow:inset 0 0 0 1px var(--np-primary)}.np-calendar-day.is-selected{border-color:var(--np-primary);background:var(--np-accent-soft);color:var(--np-primary-strong)}.np-calendar-day.is-disabled{opacity:.42;background:#f3f6f7;cursor:not-allowed}.np-calendar-footer{display:flex;justify-content:center;gap:20px;margin-top:16px;color:var(--np-muted);font-size:10px}.np-calendar-footer span{display:flex;align-items:center;gap:5px}.np-calendar-footer i{width:8px;height:8px;border-radius:50%}.np-calendar-footer .is-free{background:var(--np-accent)}.np-calendar-footer .is-off{background:#bcc8cc}.np-modal-open{overflow:hidden}@media(max-width:600px){.np-calendar-modal{align-items:end;padding:0}.np-calendar-sheet{width:100%;max-height:88vh;border-radius:26px 26px 0 0;padding:18px}.np-calendar-day{min-height:56px}.np-heading-actions{gap:10px;flex-wrap:wrap}.np-calendar-header{grid-template-columns:40px 1fr 40px 32px}}
.np-doctor-specialty{margin-top:2px;color:var(--np-primary);font-size:12px;font-weight:800}.np-upload-box{margin-top:18px;padding:18px;border:1px dashed var(--np-border);border-radius:var(--np-radius);background:#fbfdfd}.np-upload-box h3{margin-top:0}.np-upload-box p{color:var(--np-muted);font-size:12px}.np-appointment-card{padding:18px;border:1px solid var(--np-border);border-radius:var(--np-radius);background:linear-gradient(135deg,#fff,#f5fbfa)}.np-files-list{display:grid;gap:10px;margin-top:15px}

.np-selected-files{display:grid;gap:10px;margin:12px 0 16px}.np-selected-file-row{display:grid;grid-template-columns:minmax(140px,.65fr) minmax(220px,1.35fr);gap:14px;align-items:end;padding:12px 14px;border:1px solid var(--np-border);border-radius:14px;background:#fbfdfd}.np-selected-file-row strong,.np-selected-file-row small{display:block}.np-selected-file-row small{color:var(--np-muted);font-size:10px}.np-selected-file-row label span{display:block;margin-bottom:5px;font-size:11px;font-weight:800}.np-selected-file-row label em{font-style:normal;color:var(--np-muted);font-weight:500}.np-selected-file-row input{width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--np-border);border-radius:11px;background:var(--np-surface);font:inherit}.np-selected-file-row input:focus{outline:none;border-color:var(--np-primary);box-shadow:0 0 0 3px rgba(13,107,120,.09)}
@media(max-width:640px){.np-selected-file-row{grid-template-columns:1fr}}
.np-trust-strip{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--np-border);background:#fbfdfd}.np-trust-strip span{position:relative;padding-inline-start:15px;color:#60747b;font-size:10px;font-weight:700}.np-trust-strip span:before{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--np-accent);transform:translateY(-50%);box-shadow:0 0 0 4px rgba(37,184,154,.1)}.np-clinic-meta{display:flex;gap:18px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--np-border);background:#fafcfc}.np-clinic-meta span{display:flex;align-items:center;gap:7px;min-width:0}.np-clinic-meta b{color:var(--np-muted);font-size:9px}.np-clinic-meta i{font-style:normal;color:var(--np-ink);font-size:10px}.np-doctor-specialty{display:inline-flex;margin-top:4px;padding:3px 8px;border-radius:999px;background:var(--np-accent-soft);color:var(--np-primary);font-size:10px;font-weight:800}@media(max-width:650px){.np-trust-strip{justify-content:flex-start;padding-inline:16px}.np-trust-strip span{flex:1 1 100%}.np-clinic-meta{padding-inline:16px}}
/* Patient-first flow */
.np-auth-intro{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--np-border);border-radius:17px;background:linear-gradient(135deg,#f4fbf9,#fff)}.np-auth-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:linear-gradient(145deg,var(--np-primary),var(--np-accent));color:#fff;font-weight:950}.np-auth-intro h3{margin:0;font-size:16px}.np-auth-intro p{margin:3px 0 0;color:var(--np-muted);font-size:11px}.np-auth-field{margin-top:18px}.np-waitlist-box{margin-top:14px;padding:14px;border:1px solid #efd79d;border-radius:14px;background:#fffaf0}.np-waitlist-box p{margin:0 0 9px;color:#745e2d;font-size:11px}.np-patient-portal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;padding:15px;border:1px solid var(--np-border);border-radius:17px;background:linear-gradient(135deg,#fff,#f1faf8)}.np-patient-portal-head h3{margin:2px 0}.np-patient-portal-head p{margin:0;color:var(--np-muted);font-size:11px}.np-patient-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:4px;margin:0 0 15px}.np-patient-tabs button{white-space:nowrap;min-height:39px;padding:7px 13px;border:1px solid var(--np-border);border-radius:11px;background:#fff;color:var(--np-muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.np-patient-tabs button.is-active{background:var(--np-primary);border-color:var(--np-primary);color:#fff}.np-patient-tab-panel{display:none}.np-patient-tab-panel.is-active{display:block}.np-patient-appointments,.np-patient-documents,.np-waitlist-list{display:grid;gap:10px}.np-patient-appointment{padding:15px;border:1px solid var(--np-border);border-radius:16px;background:#fbfdfd}.np-patient-appointment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.np-patient-appointment h4{margin:0;font-size:14px}.np-patient-appointment small{color:var(--np-muted)}.np-patient-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.np-patient-document{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--np-border);border-radius:14px;background:#fff}.np-patient-document strong,.np-patient-document small{display:block}.np-patient-document small{color:var(--np-muted);font-size:10px}.np-reschedule-modal[hidden]{display:none}.np-reschedule-modal{position:fixed;inset:0;z-index:100002;display:grid;place-items:center;padding:18px}.np-reschedule-backdrop{position:absolute;inset:0;background:rgba(9,31,38,.54);backdrop-filter:blur(4px)}.np-reschedule-card{position:relative;width:min(100%,620px);max-height:90vh;overflow:auto;padding:20px;border-radius:22px;background:#fff;box-shadow:0 25px 80px rgba(5,30,36,.28)}
@media(max-width:600px){.np-auth-intro{align-items:flex-start}.np-patient-portal-head{align-items:flex-start}.np-patient-document{align-items:flex-start;flex-direction:column}.np-reschedule-modal{align-items:end;padding:0}.np-reschedule-card{width:100%;max-height:88vh;border-radius:22px 22px 0 0}}

/* Accessibility baseline for patient-facing booking and tracking. */
.np-app a:focus-visible,.np-app button:focus-visible,.np-app input:focus-visible,.np-app select:focus-visible,.np-app textarea:focus-visible,.np-app summary:focus-visible{outline:3px solid rgba(13,107,120,.28)!important;outline-offset:2px!important}.np-app button,.np-app .np-button,.np-app .np-link-button{min-height:44px}.np-app .np-inline-error[role=alert]:empty{min-height:0}.np-app [role=tab][aria-selected=true]{background:var(--np-primary);color:#fff;border-color:var(--np-primary)}
@media(prefers-reduced-motion:reduce){.np-app *,.np-app *::before,.np-app *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* Emergency booking route: anti-bot field stays outside the visual and accessibility flow. */
.np-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.np-badge-warning{background:#fff3d6;color:#8a5a00;border:1px solid #f0d38b}
.np-warning-text{color:#8a5a00!important;font-weight:700}

/* 1.0 booking-flow hardening: keep the patient inside one compact column on phones. */
.np-booking-shell,.np-booking-card,.np-booking-card .np-panel{max-width:100%;overflow-x:hidden}
.np-date-card.is-full,.np-date-card:disabled{cursor:not-allowed}
@media(max-width:760px){
  .np-booking-card{width:100%;min-width:0}
  .np-booking-hero{gap:12px}
  .np-panel{padding:20px 14px 88px}
  .np-section-heading{gap:10px;flex-wrap:wrap}
  .np-date-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;padding-bottom:0;margin-top:15px}
  .np-date-card{min-width:0;min-height:82px;padding:7px 4px;scroll-snap-align:none}
  .np-date-card strong{font-size:19px}
  .np-slot-block{padding:14px;margin-top:16px}
  .np-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .np-booking-card .np-panel.is-active>.np-action-row{position:sticky;z-index:40;bottom:0;margin:20px -14px -88px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--np-border);box-shadow:0 -10px 25px rgba(18,52,62,.08)}
  .np-booking-card .np-form-grid{gap:10px}
  .np-booking-card .np-field{margin-bottom:9px}
  .np-booking-card .np-field input,.np-booking-card .np-field textarea,.np-booking-card .np-field select{min-width:0}
  .np-booking-card .np-stepper{overflow:hidden}
  .np-booking-card .np-step{min-width:0;padding-inline:2px}
}
@media(max-width:390px){.np-date-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.np-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 0.14.1 patient portal tab wrapping */
.np-patient-tabs{display:flex;flex-wrap:wrap;overflow:visible;max-width:100%;gap:7px}
.np-patient-tabs button{flex:1 1 130px;min-width:0;white-space:normal;text-align:center}
@media(max-width:560px){.np-patient-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.np-patient-tabs button{width:100%;min-height:44px}}

/* 0.15 patient booking polish: clearer hierarchy, validation and device-safe layout. */
.np-stepper-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.np-stepper-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.np-booking-card .np-panel{min-width:0}
.np-booking-card .np-section-heading h3,.np-booking-card .np-auth-intro h3,.np-booking-card .np-payment-summary h3{font-weight:900;letter-spacing:-.2px}
.np-booking-card .np-section-heading p,.np-booking-card .np-auth-intro p,.np-booking-card .np-payment-summary p{font-size:13px;line-height:1.9}
.np-booking-card .np-field>span{font-size:13px;font-weight:900;color:#243b44}
.np-booking-card .np-field input,.np-booking-card .np-field textarea,.np-booking-card .np-field select{min-height:50px;padding:11px 14px;border-radius:14px;border-color:#cfdee2;background:#fff;font-size:14px;font-weight:650}
.np-booking-card .np-field textarea{min-height:96px;line-height:1.9}
.np-booking-card .np-field small{font-size:11px;line-height:1.8}
.np-booking-card .np-field input.is-invalid,.np-booking-card .np-field textarea.is-invalid,.np-booking-card .np-field select.is-invalid,.np-booking-card [aria-invalid=true]{border-color:var(--np-danger)!important;box-shadow:0 0 0 3px rgba(200,77,91,.10)!important;background:#fffafa}
.np-booking-card .np-inline-error:not(:empty){margin-top:10px;padding:10px 12px;border:1px solid rgba(200,77,91,.24);border-radius:12px;background:#fff6f7;color:#a73543;font-size:12px;font-weight:800}
.np-booking-card .np-date-card,.np-booking-card .np-slot{font-weight:800}
.np-booking-card .np-date-card{box-shadow:0 5px 15px rgba(18,52,62,.04)}
.np-booking-card .np-slot{min-height:48px;background:linear-gradient(180deg,#fff,#fbfdfd)}
.np-booking-card .np-slot.is-selected{background:linear-gradient(145deg,#e5f8f2,#f3fbf9);box-shadow:0 6px 16px rgba(13,107,120,.10),inset 0 0 0 1px rgba(13,107,120,.12)}
.np-booking-card .np-consent{display:flex;align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;border:1px solid var(--np-border);border-radius:14px;background:#fbfdfd;font-size:12px;line-height:1.9}
.np-booking-card .np-consent input{margin-top:5px;flex:0 0 auto}
.np-booking-card .np-selection-summary{font-size:12px;font-weight:750;line-height:1.8}
.np-booking-card .np-button{min-height:48px;padding:10px 20px;font-size:13px}
@media(max-width:900px){
 .np-booking-shell{padding:16px 8px;border-radius:20px}
 .np-booking-card{border-radius:20px}
 .np-booking-hero{padding:22px 20px;grid-template-columns:auto 1fr}.np-booking-hero>.np-price-chip,.np-booking-hero>.np-doctor-photo{grid-column:1/-1;justify-self:stretch}.np-booking-hero>.np-price-chip{min-width:0;text-align:center}
 .np-stepper{padding-inline:18px}
 .np-panel{padding-inline:20px}
 .np-date-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:600px){
 .np-booking-shell{padding:0;background:var(--np-bg);border-radius:0}
 .np-booking-card{border-radius:0;border-inline:0;box-shadow:none}
 .np-booking-hero{padding:17px 14px;grid-template-columns:46px minmax(0,1fr);gap:11px}.np-brand-mark{width:46px;height:46px;border-radius:15px 7px 15px 15px;font-size:23px}.np-hero-copy h2{font-size:19px}.np-hero-copy p{font-size:11px;line-height:1.75}
 .np-trust-strip{padding:8px 12px;gap:5px}.np-trust-strip span{flex:1 1 auto;font-size:9px}
 .np-stepper{padding:9px 8px 0;gap:2px}.np-step{gap:3px;padding:7px 1px 10px;flex-direction:column}.np-step span{width:25px;height:25px}.np-step b{font-size:10px;line-height:1.35}
 .np-panel{padding:18px 12px 86px}
 .np-form-grid{grid-template-columns:1fr;margin-top:16px}.np-field-wide{grid-column:auto}
 .np-date-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.np-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .np-booking-card .np-action-row{gap:8px;flex-wrap:wrap}.np-booking-card .np-action-row .np-selection-summary{flex:1 1 100%}.np-booking-card .np-action-row .np-button{flex:1 1 120px}
 .np-booking-card .np-panel.is-active>.np-action-row{margin:18px -12px -86px;padding-inline:12px}
 .np-payment-summary{align-items:stretch;flex-direction:column}.np-payment-amount{min-width:0;width:100%}
}
@media(max-width:380px){
 .np-step b{font-size:9px}.np-step span{width:23px;height:23px;font-size:10px}
 .np-date-strip,.np-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 0.15 final patient-facing visual polish and responsive hardening. */
.np-booking-card{isolation:isolate;background:linear-gradient(180deg,#fff 0%,#fcfefe 100%)}
.np-booking-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(13,107,120,.105),rgba(37,184,154,.055) 55%,rgba(255,255,255,.9))}
.np-booking-hero::after{content:"";position:absolute;inset:auto -55px -75px auto;width:180px;height:180px;border-radius:50%;background:rgba(37,184,154,.065);pointer-events:none}
.np-hero-copy,.np-price-chip,.np-doctor-photo,.np-brand-mark{position:relative;z-index:1}
.np-trust-strip{display:flex;flex-wrap:wrap;gap:8px;padding:11px 30px;background:#fbfdfd;border-bottom:1px solid var(--np-border)}
.np-trust-strip span{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid rgba(13,107,120,.10);border-radius:999px;background:#fff;color:#526970;font-size:11px;font-weight:800}
.np-panel{background:#fff}
.np-auth-intro,.np-section-heading,.np-payment-summary{padding-bottom:16px;border-bottom:1px solid #edf3f4}
.np-booking-card .np-field input,.np-booking-card .np-field textarea,.np-booking-card .np-field select{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.np-booking-card .np-field input:hover,.np-booking-card .np-field textarea:hover,.np-booking-card .np-field select:hover{border-color:#b7cdd2}
.np-booking-card .np-field input:focus,.np-booking-card .np-field textarea:focus,.np-booking-card .np-field select:focus{outline:0;border-color:var(--np-primary);box-shadow:0 0 0 4px rgba(13,107,120,.09);background:#fff}
.np-date-strip,.np-slot-grid{min-width:0}
.np-date-card,.np-slot{min-width:0;overflow:hidden;text-overflow:ellipsis}
.np-date-card:not(:disabled):hover,.np-slot:not(:disabled):hover{transform:translateY(-1px);border-color:rgba(13,107,120,.34);box-shadow:0 7px 18px rgba(18,52,62,.07)}
.np-date-card:disabled,.np-slot:disabled{opacity:.56;filter:saturate(.65);box-shadow:none}
.np-booking-review{margin-top:16px;border:1px solid var(--np-border);border-radius:16px;background:#fbfdfd;overflow:hidden}
.np-booking-card .np-action-row{min-width:0}
.np-booking-card .np-action-row .np-button{font-weight:900}
.np-booking-card .np-button-primary{box-shadow:0 8px 20px rgba(13,107,120,.15)}
@media(max-width:900px){
 .np-booking-card,.np-booking-shell,.np-panel,.np-booking-hero,.np-trust-strip{max-width:100%;min-width:0}
 .np-trust-strip{padding-inline:18px}
}
 @media(max-width:600px){
 .np-trust-strip{padding:8px 10px;justify-content:center}.np-trust-strip span{justify-content:center;flex:1 1 calc(50% - 8px);min-width:0;text-align:center;white-space:normal;line-height:1.5}
 .np-auth-intro,.np-section-heading,.np-payment-summary{padding-bottom:12px}
 .np-booking-card .np-field>span{font-size:12.5px}.np-booking-card .np-field input,.np-booking-card .np-field textarea,.np-booking-card .np-field select{font-size:16px;min-height:50px} /* avoids mobile browser zoom */
 .np-date-card,.np-slot{touch-action:manipulation}
}
@media print{
 body{background:#fff!important;color:#000!important}
 #wpadminbar,#adminmenumain,#adminmenuback,#adminmenuwrap,.np-toolbar,.np-page-tabs,.np-admin-header,.np-row-actions,.np-print-btn,.notice,.np-pagination,header,footer,nav{display:none!important}
 .np-admin-wrap{margin:0!important;padding:0!important;width:100%!important}
 .np-admin-card{border:none!important;box-shadow:none!important;padding:0!important}
 .widefat{border:1px solid #000!important;width:100%!important;font-size:12px!important}
 .widefat th,.widefat td{border:1px solid #ddd!important;padding:6px 8px!important;color:#000!important}
}

/* source: assets/css/booking-0.17.0.css */
/* Nobat Yar 0.17 patient booking UI — isolated, responsive and theme-resistant. */
.np-app.np-booking-shell{
  width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:clamp(10px,2.2vw,28px)!important;
  overflow-x:clip!important;border-radius:28px!important;background:
  radial-gradient(circle at 91% 4%,rgba(37,184,154,.16),transparent 28%),
  radial-gradient(circle at 4% 93%,rgba(13,107,120,.11),transparent 30%),linear-gradient(180deg,#f7fbfb 0%,#eef6f6 100%)!important;
}
.np-app.np-booking-shell,.np-app.np-booking-shell *{box-sizing:border-box!important}
.np-booking-shell .np-booking-card{
  width:min(100%,1080px)!important;max-width:100%!important;min-width:0!important;margin:0 auto!important;overflow:hidden!important;
  border:1px solid rgba(13,107,120,.12)!important;border-radius:28px!important;background:#fff!important;
  box-shadow:0 24px 80px rgba(13,55,65,.12),0 3px 12px rgba(13,55,65,.04)!important;
}
.np-booking-shell .np-booking-hero{
  position:relative!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;
  gap:20px!important;min-width:0!important;padding:30px 32px!important;overflow:hidden!important;border-bottom:1px solid #e4eff0!important;
  background:linear-gradient(132deg,rgba(13,107,120,.105),rgba(37,184,154,.06) 50%,rgba(255,255,255,.96))!important;
}
.np-booking-shell .np-booking-hero:before{content:"";position:absolute;width:220px;height:220px;left:-85px;top:-120px;border-radius:50%;background:rgba(37,184,154,.09);pointer-events:none}
.np-booking-shell .np-brand-mark{flex:none;width:64px!important;height:64px!important;border-radius:20px 8px 20px 20px!important;overflow:hidden!important;box-shadow:0 13px 32px rgba(13,107,120,.22)!important}
.np-booking-shell .np-brand-mark img,.np-booking-shell .np-doctor-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.np-booking-shell .np-hero-copy{min-width:0!important}.np-booking-shell .np-hero-copy h2{margin:3px 0 0!important;font-size:clamp(21px,2.5vw,28px)!important;font-weight:950!important;line-height:1.45!important;overflow-wrap:anywhere}
.np-booking-shell .np-hero-copy p{max-width:620px!important;margin:7px 0 0!important;font-size:13px!important;line-height:1.9!important;color:#63777e!important}
.np-booking-shell .np-eyebrow{font-size:11.5px!important;font-weight:900!important}.np-booking-shell .np-doctor-specialty{margin-top:5px!important;padding:4px 10px!important;border:1px solid rgba(13,107,120,.1)!important}
.np-booking-shell .np-price-chip,.np-booking-shell .np-doctor-photo{position:relative!important;z-index:1!important;max-width:190px!important;min-width:150px!important;border:1px solid rgba(13,107,120,.11)!important;border-radius:18px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 8px 26px rgba(13,55,65,.08)!important}
.np-booking-shell .np-doctor-photo{width:76px!important;height:76px!important;min-width:76px!important;overflow:hidden!important;border-radius:22px!important}
.np-booking-shell .np-trust-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:11px 24px!important;background:#fbfdfd!important}
.np-booking-shell .np-trust-strip span{min-width:0!important;justify-content:center!important;text-align:center!important;white-space:normal!important;line-height:1.55!important}
.np-booking-shell .np-stepper{width:100%!important;max-width:100%!important;min-width:0!important;gap:4px!important;padding:17px 26px 0!important;overflow:hidden!important}
.np-booking-shell .np-step{min-width:0!important;padding:8px 2px 14px!important}.np-booking-shell .np-step b{min-width:0!important;font-size:11px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.np-booking-shell .np-panel{min-width:0!important;max-width:100%!important;padding:28px 30px 30px!important;background:#fff!important;overflow:visible!important}
.np-booking-shell .np-section-heading,.np-booking-shell .np-auth-intro,.np-booking-shell .np-payment-summary{min-width:0!important;align-items:flex-start!important;gap:16px!important;padding-bottom:16px!important}
.np-booking-shell .np-section-heading>div,.np-booking-shell .np-auth-intro>div,.np-booking-shell .np-payment-summary>div{min-width:0!important}
.np-booking-shell .np-section-heading h3,.np-booking-shell .np-auth-intro h3,.np-booking-shell .np-payment-summary h3{font-size:clamp(18px,2vw,22px)!important;font-weight:950!important;line-height:1.55!important}
.np-booking-shell .np-section-heading p,.np-booking-shell .np-auth-intro p,.np-booking-shell .np-payment-summary p{font-size:12.5px!important;line-height:1.95!important}
.np-booking-shell .np-heading-actions{flex:none!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important}.np-booking-shell .np-link-button{min-height:40px!important;padding:7px 11px!important;border:1px solid #dce9eb!important;border-radius:11px!important;background:#f8fbfb!important}
.np-booking-shell .np-date-strip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;min-width:0!important;width:100%!important;margin-top:18px!important;overflow:visible!important}
.np-booking-shell .np-date-card{position:relative!important;width:100%!important;min-width:0!important;min-height:104px!important;padding:10px 7px!important;overflow:hidden!important;border:1px solid #dce8ea!important;border-radius:17px!important;background:linear-gradient(180deg,#fff,#fbfdfd)!important;box-shadow:0 5px 16px rgba(19,57,66,.045)!important}
.np-booking-shell .np-date-card strong{font-size:23px!important;font-weight:950!important}.np-booking-shell .np-date-card span{font-size:11.5px!important;font-weight:850!important}.np-booking-shell .np-date-card small{min-height:31px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-top:2px!important;font-size:9.5px!important;line-height:1.55!important;white-space:normal!important;overflow-wrap:anywhere!important}
.np-booking-shell .np-date-card:not(:disabled):hover{transform:translateY(-2px)!important;border-color:rgba(13,107,120,.42)!important;box-shadow:0 10px 22px rgba(13,74,83,.09)!important}
.np-booking-shell .np-date-card.is-selected{border-color:var(--np-primary)!important;background:linear-gradient(145deg,var(--np-primary),#178795)!important;color:#fff!important;box-shadow:0 12px 28px rgba(13,107,120,.22)!important}
.np-booking-shell .np-date-card.is-disabled{opacity:1!important;filter:none!important;background:#f5f7f8!important;color:#829299!important;box-shadow:none!important}
.np-booking-shell .np-date-card.is-status-leave,.np-booking-shell .np-date-card.is-status-closed{background:#fff5f6!important;border-color:#f5c2c7!important;color:#b02a37!important}
.np-booking-shell .np-date-card.is-status-capacity_full,.np-booking-shell .np-date-card.is-status-fully_booked{background:#fff5f6!important;border-color:#f5c2c7!important;color:#b02a37!important;cursor:pointer!important}
.np-booking-shell .np-date-card.is-status-blocked,.np-booking-shell .np-date-card.is-status-stopped{background:#fff5f6!important;border-color:#f5c2c7!important;color:#b02a37!important}
.np-booking-shell .np-slot-block{min-width:0!important;margin-top:20px!important;padding:18px!important;border:1px solid #dce8ea!important;border-radius:20px!important;background:linear-gradient(180deg,#fbfefe,#f7fbfb)!important}
.np-booking-shell .np-slot-meta{align-items:flex-start!important;gap:10px!important;margin-bottom:14px!important}.np-booking-shell .np-slot-legends{display:flex!important;flex-wrap:wrap!important;gap:8px 12px!important;justify-content:flex-end!important}.np-booking-shell .np-legend{display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:10px!important}.np-booking-shell .np-legend.is-blocked i,.np-booking-shell .np-legend.is-booked i{background:#dc3545!important}
.np-booking-shell .np-slot-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;min-width:0!important;width:100%!important}
.np-booking-shell .np-slot{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:1px!important;width:100%!important;min-width:0!important;min-height:54px!important;padding:7px 4px!important;border:1px solid #d9e6e8!important;border-radius:14px!important;background:#fff!important;color:#263f47!important;font-weight:900!important;line-height:1.25!important;overflow:hidden!important}
.np-booking-shell .np-slot>span{font-size:13px!important}.np-booking-shell .np-slot>small{font-size:8.5px!important;font-weight:800!important;line-height:1.2!important}.np-booking-shell .np-slot.is-unavailable{opacity:1!important;filter:none!important;cursor:not-allowed!important;box-shadow:none!important;text-decoration:none!important}.np-booking-shell .np-slot.is-blocked,.np-booking-shell .np-slot.is-booked{border-color:#f5c2c7!important;background:#fff5f6!important;color:#b02a37!important}.np-booking-shell .np-slot.is-blocked>small,.np-booking-shell .np-slot.is-booked>small{color:#dc3545!important;font-weight:900!important}.np-booking-shell .np-slot.is-past{background:#f3f6f7!important;color:#8a999f!important}
.np-booking-shell .np-day-status-empty{display:flex!important;flex-direction:column!important;gap:4px!important}.np-booking-shell .np-day-status-empty strong{color:#425d65!important;font-size:13px!important}.np-booking-shell .np-day-status-empty span{font-size:10.5px!important}
.np-booking-shell .np-waitlist-box{margin-top:13px!important;padding:14px!important;border:1px solid #ead9b8!important;border-radius:14px!important;background:#fffaf1!important}.np-booking-shell .np-waitlist-box p{margin:0 0 10px!important;color:#745a25!important;font-size:11px!important;line-height:1.8!important}
.np-booking-shell .np-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 16px!important;min-width:0!important;width:100%!important}.np-booking-shell .np-field{min-width:0!important;max-width:100%!important;margin-bottom:0!important}.np-booking-shell .np-field-wide{grid-column:1/-1!important}
.np-booking-shell .np-field input,.np-booking-shell .np-field textarea,.np-booking-shell .np-field select{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:52px!important;margin:0!important;padding:12px 14px!important;border:1px solid #cfdee1!important;border-radius:14px!important;background:#fff!important;color:#213a42!important;font:inherit!important;font-size:14px!important;font-weight:650!important;line-height:1.55!important;box-shadow:0 1px 2px rgba(13,55,65,.025)!important;appearance:auto}
.np-booking-shell .np-field textarea{min-height:105px!important;resize:vertical!important}.np-booking-shell .np-field input:focus,.np-booking-shell .np-field textarea:focus,.np-booking-shell .np-field select:focus{outline:none!important;border-color:var(--np-primary)!important;box-shadow:0 0 0 4px rgba(13,107,120,.10)!important}.np-booking-shell .np-field input.is-invalid,.np-booking-shell [aria-invalid=true]{border-color:var(--np-danger)!important;box-shadow:0 0 0 4px rgba(200,77,91,.09)!important}
.np-booking-shell .np-consent{min-width:0!important}.np-booking-shell .np-action-row{position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important;margin:24px 0 0!important;padding:18px 0 0!important;border-top:1px solid #e8eff1!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}.np-booking-shell .np-action-row .np-selection-summary{min-width:0!important;overflow-wrap:anywhere!important}.np-booking-shell .np-button{min-height:48px!important;border-radius:14px!important;padding:10px 20px!important;font-size:12.5px!important;font-weight:950!important;white-space:normal!important}.np-booking-shell .np-button:disabled{opacity:.48!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
.np-booking-shell .np-otp-inputs{max-width:100%!important;gap:8px!important}.np-booking-shell .np-otp-inputs input{width:50px!important;max-width:16vw!important;min-width:0!important;height:54px!important;border-radius:14px!important;font-size:21px!important}.np-booking-shell .np-payment-amount{flex:none!important;min-width:160px!important;max-width:100%!important}.np-booking-shell .np-booking-review{min-width:0!important;overflow:hidden!important}.np-booking-shell .np-inline-error:not(:empty){overflow-wrap:anywhere!important}
.np-booking-shell .np-calendar-sheet{width:min(100%,560px)!important;max-width:calc(100vw - 24px)!important}.np-booking-shell .np-calendar-day{min-width:0!important;overflow:hidden!important}.np-booking-shell .np-calendar-day small{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important}.np-booking-shell .np-calendar-day.is-status-leave,.np-booking-shell .np-calendar-day.is-status-closed{background:#f7f5f2!important}.np-booking-shell .np-calendar-day.is-status-capacity_full,.np-booking-shell .np-calendar-day.is-status-fully_booked,.np-booking-shell .np-calendar-day.is-waitlist{background:#fff8ed!important;border-color:#edd7b4!important;opacity:1!important}.np-booking-shell .np-calendar-day.is-status-blocked,.np-booking-shell .np-calendar-day.is-status-stopped{background:#fff5f6!important}.np-booking-shell .np-calendar-footer{flex-wrap:wrap!important}.np-booking-shell .np-calendar-footer .is-full{background:#d19b43!important}
.np-booking-shell .np-clinic-meta{min-width:0!important}.np-booking-shell .np-clinic-meta span{max-width:100%!important;overflow-wrap:anywhere!important}
@media(max-width:900px){
 .np-app.np-booking-shell{padding:10px!important;border-radius:20px!important}.np-booking-shell .np-booking-card{border-radius:22px!important}.np-booking-shell .np-booking-hero{grid-template-columns:auto minmax(0,1fr)!important;padding:22px 20px!important}.np-booking-shell .np-booking-hero>.np-price-chip,.np-booking-shell .np-booking-hero>.np-doctor-photo{grid-column:1/-1!important;justify-self:stretch!important;max-width:none!important;width:100%!important;height:auto!important;min-width:0!important;text-align:center!important}.np-booking-shell .np-doctor-photo{height:110px!important}.np-booking-shell .np-date-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}.np-booking-shell .np-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.np-booking-shell .np-panel{padding:24px 20px!important}
}
@media(max-width:640px){
 .np-app.np-booking-shell{padding:0!important;border-radius:0!important;background:#f4f8f9!important}.np-booking-shell .np-booking-card{border-inline:0!important;border-radius:0!important;box-shadow:none!important}.np-booking-shell .np-booking-hero{grid-template-columns:50px minmax(0,1fr)!important;gap:11px!important;padding:17px 14px!important}.np-booking-shell .np-brand-mark{width:50px!important;height:50px!important;border-radius:16px 7px 16px 16px!important}.np-booking-shell .np-booking-hero>.np-price-chip,.np-booking-shell .np-booking-hero>.np-doctor-photo{grid-column:1/-1!important;margin-top:2px!important}.np-booking-shell .np-doctor-photo{height:92px!important}.np-booking-shell .np-trust-strip{grid-template-columns:1fr!important;gap:6px!important;padding:8px 12px!important}.np-booking-shell .np-trust-strip span{min-height:27px!important;font-size:9.5px!important}.np-booking-shell .np-stepper{padding:10px 7px 0!important;gap:1px!important}.np-booking-shell .np-step{gap:3px!important;flex-direction:column!important;padding:7px 1px 10px!important}.np-booking-shell .np-step span{width:25px!important;height:25px!important}.np-booking-shell .np-step b{font-size:9.5px!important;white-space:normal!important;line-height:1.25!important;text-align:center!important}.np-booking-shell .np-panel{padding:20px 12px 22px!important;overflow:visible!important}.np-booking-shell .np-section-heading,.np-booking-shell .np-payment-summary{flex-direction:column!important;align-items:stretch!important}.np-booking-shell .np-heading-actions{width:100%!important}.np-booking-shell .np-heading-actions .np-link-button{flex:1 1 120px!important;text-align:center!important}.np-booking-shell .np-date-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.np-booking-shell .np-date-card{min-height:92px!important;padding:8px 4px!important}.np-booking-shell .np-date-card strong{font-size:20px!important}.np-booking-shell .np-date-card small{font-size:8.7px!important}.np-booking-shell .np-slot-block{padding:13px!important;border-radius:16px!important}.np-booking-shell .np-slot-meta{flex-direction:column!important}.np-booking-shell .np-slot-legends{justify-content:flex-start!important}.np-booking-shell .np-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.np-booking-shell .np-slot{min-height:52px!important;padding-inline:2px!important}.np-booking-shell .np-form-grid{grid-template-columns:1fr!important;gap:12px!important}.np-booking-shell .np-field-wide{grid-column:auto!important}.np-booking-shell .np-field input,.np-booking-shell .np-field textarea,.np-booking-shell .np-field select{font-size:16px!important}.np-booking-shell .np-action-row{position:static!important;bottom:auto!important;flex-direction:column-reverse!important;align-items:stretch!important;margin:20px 0 0!important;padding:15px 0 0!important}.np-booking-shell .np-action-row .np-button{width:100%!important;flex:none!important}.np-booking-shell .np-action-row .np-selection-summary{width:100%!important;text-align:center!important}.np-booking-shell .np-payment-amount{width:100%!important;min-width:0!important}.np-booking-shell .np-otp-card{padding:22px 12px!important}.np-booking-shell .np-calendar-modal{padding:0!important;align-items:end!important}.np-booking-shell .np-calendar-sheet{width:100%!important;max-width:100%!important;border-radius:24px 24px 0 0!important;padding:16px 12px!important}.np-booking-shell .np-calendar-grid,.np-booking-shell .np-calendar-weekdays{gap:4px!important}.np-booking-shell .np-calendar-day{min-height:58px!important;padding:5px 1px!important;border-radius:11px!important}.np-booking-shell .np-calendar-day small{font-size:7.7px!important}.np-booking-shell .np-clinic-meta{padding:12px!important}
}

/* Fresh calendar paging, deterministic step scrolling, and narrow-screen review safety. */
.np-booking-shell .np-panel{scroll-margin-top:72px!important;outline:0!important}
.np-booking-shell .np-day-pager{display:grid!important;grid-template-columns:minmax(92px,auto) minmax(0,1fr) minmax(92px,auto)!important;align-items:center!important;gap:10px!important;margin:12px 0 0!important}
.np-booking-shell .np-day-pager>span{min-width:0!important;text-align:center!important;color:#61777e!important;font-size:11px!important;font-weight:850!important;overflow-wrap:anywhere!important}
.np-booking-shell .np-day-pager .np-link-button{width:100%!important;padding:8px 10px!important}
.np-booking-shell .np-calendar-day.is-status-leave,
.np-booking-shell .np-calendar-day.is-status-closed,
.np-booking-shell .np-calendar-day.is-status-blocked,
.np-booking-shell .np-calendar-day.is-status-stopped,
.np-booking-shell .np-calendar-day.is-status-no_availability,
.np-booking-shell .np-calendar-day.is-status-capacity_full,
.np-booking-shell .np-calendar-day.is-status-fully_booked{background:#fff1f2!important;border-color:#efb3ba!important;color:#aa2636!important;opacity:1!important}
.np-booking-shell .np-date-card.is-status-no_availability{background:#fff5f6!important;border-color:#f5c2c7!important;color:#b02a37!important}
.np-booking-shell .np-booking-review{display:grid!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
.np-booking-shell .np-booking-review>div{display:grid!important;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr)!important;align-items:start!important;gap:12px!important;width:100%!important;max-width:100%!important;padding:13px 15px!important;border-bottom:1px solid #e5edef!important}
.np-booking-shell .np-booking-review>div:last-child{border-bottom:0!important}
.np-booking-shell .np-booking-review span,.np-booking-shell .np-booking-review strong{display:block!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.np-booking-shell .np-booking-review span{color:#6c8087!important;font-size:11px!important}
.np-booking-shell .np-booking-review strong{color:#243f47!important;font-size:12px!important;line-height:1.9!important}
.np-booking-shell .np-payment-summary,.np-booking-shell .np-payment-summary>*{max-width:100%!important}.np-booking-shell .np-payment-amount strong{white-space:normal!important;overflow-wrap:anywhere!important}
@media(max-width:640px){.np-booking-shell .np-day-pager{grid-template-columns:1fr 1fr!important}.np-booking-shell .np-day-pager>span{grid-column:1/-1!important;grid-row:1!important}.np-booking-shell .np-day-pager>button{grid-row:2!important}.np-booking-shell .np-booking-review>div{grid-template-columns:1fr!important;gap:3px!important;padding:12px!important}}
@media(max-width:390px){.np-booking-shell .np-date-strip,.np-booking-shell .np-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.np-booking-shell .np-hero-copy h2{font-size:18px!important}.np-booking-shell .np-step b{font-size:8.8px!important}.np-booking-shell .np-otp-inputs{gap:5px!important}.np-booking-shell .np-otp-inputs input{height:50px!important}}

/* 0.16 hero polish: keep doctor identity and price visible together. */
.np-booking-shell .np-hero-side{position:relative!important;z-index:1!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;min-width:0!important}
.np-booking-shell .np-hero-side .np-doctor-photo{flex:0 0 76px!important}
.np-booking-shell .np-hero-side .np-price-chip{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:3px!important;min-height:76px!important;padding:11px 14px!important}
.np-booking-shell .np-hero-side .np-price-chip span{font-size:10px!important;color:#607982!important}
.np-booking-shell .np-hero-side .np-price-chip strong{font-size:14px!important;color:var(--np-primary)!important;white-space:nowrap!important}
@media(max-width:820px){.np-booking-shell .np-hero-side{grid-column:1/-1!important;justify-content:stretch!important;width:100%!important}.np-booking-shell .np-hero-side .np-price-chip{flex:1 1 auto!important;max-width:none!important}.np-booking-shell .np-hero-side .np-doctor-photo{width:76px!important;height:76px!important}}
@media(max-width:640px){.np-booking-shell .np-hero-side{gap:8px!important}.np-booking-shell .np-hero-side .np-doctor-photo{width:64px!important;height:64px!important;flex-basis:64px!important;border-radius:18px!important}.np-booking-shell .np-hero-side .np-price-chip{min-height:64px!important;text-align:right!important}.np-booking-shell .np-hero-side .np-price-chip strong{font-size:13px!important}}

/* Nobat Yar 0.17 — centered patient details, medical uploads, and stronger overflow isolation. */
.np-app.np-booking-shell{overflow-x:hidden!important;font-family:var(--np-font-family,Vazirmatn,IRANSansX,Dana,Peyda,Tahoma,Arial,sans-serif)!important}
.np-booking-shell .np-booking-card,.np-booking-shell .np-panel,.np-booking-shell .np-panel>*{max-inline-size:100%!important}
.np-booking-shell .np-panel[data-step="4"],.np-booking-shell .np-panel[data-step="5"]{width:min(100%,840px)!important;margin-inline:auto!important;padding-inline:clamp(18px,4vw,42px)!important}
.np-booking-shell .np-panel[data-step="4"].is-active,.np-booking-shell .np-panel[data-step="5"].is-active{display:block!important}
.np-booking-shell .np-form-grid,.np-booking-shell .np-field,.np-booking-shell .np-field input,.np-booking-shell .np-field textarea,.np-booking-shell .np-field select{min-width:0!important;max-width:100%!important;width:100%!important}
.np-booking-shell .np-medical-upload-card{display:grid!important;gap:14px!important;width:100%!important;min-width:0!important;margin:18px 0!important;padding:17px!important;border:1px solid color-mix(in srgb,var(--np-primary) 18%,#dce8ea)!important;border-radius:19px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--np-primary) 5%,#fff),#fff)!important;box-shadow:0 8px 24px rgba(19,57,66,.05)!important}
.np-booking-shell .np-medical-upload-copy{display:flex!important;align-items:flex-start!important;gap:11px!important;min-width:0!important}.np-booking-shell .np-medical-upload-copy>div{min-width:0!important}.np-booking-shell .np-medical-upload-copy strong{display:block!important;font-size:13px!important;font-weight:950!important;color:#24434b!important}.np-booking-shell .np-medical-upload-copy strong em{font-size:9px!important;font-style:normal!important;color:#71838b!important}.np-booking-shell .np-medical-upload-copy p{margin:4px 0 0!important;font-size:10.5px!important;line-height:1.85!important;color:#6b7f87!important;overflow-wrap:anywhere!important}
.np-booking-shell .np-medical-upload-icon{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:12px!important;background:linear-gradient(145deg,var(--np-primary),var(--np-accent))!important;color:#fff!important;font-size:21px!important;font-weight:600!important;box-shadow:0 8px 18px color-mix(in srgb,var(--np-primary) 24%,transparent)!important}
.np-booking-shell .np-file-drop{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important;min-width:0!important;min-height:92px!important;padding:15px!important;border:1.5px dashed color-mix(in srgb,var(--np-primary) 33%,#cbdadd)!important;border-radius:16px!important;background:#fbfefe!important;text-align:center!important;cursor:pointer!important;transition:.18s ease!important}.np-booking-shell .np-file-drop:hover{border-color:var(--np-primary)!important;background:color-mix(in srgb,var(--np-primary) 4%,#fff)!important;transform:translateY(-1px)!important}.np-booking-shell .np-file-drop input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important}.np-booking-shell .np-file-drop span{font-size:12px!important;font-weight:900!important;color:var(--np-primary)!important}.np-booking-shell .np-file-drop small{font-size:9.5px!important;line-height:1.7!important;color:#72868d!important}
.np-booking-shell .np-booking-selected-files{display:grid!important;gap:7px!important;min-width:0!important}.np-booking-shell .np-booking-file-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important;padding:9px 11px!important;border:1px solid #e1eaec!important;border-radius:12px!important;background:#fff!important}.np-booking-shell .np-booking-file-row>span{display:block!important;min-width:0!important}.np-booking-shell .np-booking-file-row strong,.np-booking-shell .np-booking-file-row small{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.np-booking-shell .np-booking-file-row strong{font-size:10.5px!important;color:#34515a!important}.np-booking-shell .np-booking-file-row small{font-size:9px!important;color:#7a8c92!important}.np-booking-shell .np-file-remove{display:grid!important;place-items:center!important;flex:0 0 30px!important;width:30px!important;height:30px!important;padding:0!important;border:1px solid #ecd6d9!important;border-radius:9px!important;background:#fff7f8!important;color:#b65461!important;font:700 18px/1 Arial,sans-serif!important;cursor:pointer!important}
.np-booking-shell .np-upload-status{min-height:0!important;font-size:10px!important;line-height:1.8!important;color:#427268!important;overflow-wrap:anywhere!important}.np-booking-shell .np-upload-status:empty{display:none!important}
.np-booking-shell .np-booking-review{min-width:0!important}.np-booking-shell .np-booking-review>div{min-width:0!important;overflow-wrap:anywhere!important}
.np-booking-shell .np-action-row{max-width:100%!important;min-width:0!important;gap:10px!important}.np-booking-shell .np-action-row .np-button{min-width:0!important;max-width:100%!important}
@media(max-width:640px){.np-booking-shell .np-panel[data-step="4"],.np-booking-shell .np-panel[data-step="5"]{width:100%!important;padding:20px 14px 22px!important}.np-booking-shell .np-medical-upload-card{padding:13px!important;border-radius:16px!important}.np-booking-shell .np-file-drop{min-height:82px!important}.np-booking-shell .np-action-row{display:grid!important;grid-template-columns:1fr!important}.np-booking-shell .np-action-row .np-button{width:100%!important}.np-booking-shell .np-consent{align-items:flex-start!important}}

/* 0.17 no-OTP parity: keep patient details/review/success centered and compact too. */
.np-booking-shell .np-panel[data-nootp-step="2"],
.np-booking-shell .np-panel[data-nootp-step="3"],
.np-booking-shell .np-panel[data-nootp-step="4"]{
  width:min(100%,840px)!important;
  margin-inline:auto!important;
  padding-inline:clamp(18px,4vw,42px)!important;
}
.np-booking-shell .np-panel[data-nootp-step="2"].is-active,
.np-booking-shell .np-panel[data-nootp-step="3"].is-active,
.np-booking-shell .np-panel[data-nootp-step="4"].is-active{display:block!important}
.np-booking-shell .np-booking-success{max-width:680px!important;margin-inline:auto!important}
.np-booking-shell .np-booking-success>p{margin:10px auto 18px!important;max-width:560px!important;line-height:2!important;color:#60757c!important}
.np-booking-shell .np-booking-success .np-booking-review{margin-top:18px!important;text-align:right!important}
@media(max-width:640px){
  .np-booking-shell .np-panel[data-nootp-step="2"],
  .np-booking-shell .np-panel[data-nootp-step="3"],
  .np-booking-shell .np-panel[data-nootp-step="4"]{width:100%!important;padding:20px 14px 22px!important}
}

.np-booking-shell .np-booking-file-row[data-state="error"]{border-color:#efb7bd!important;background:#fff8f8!important}
.np-booking-shell .np-booking-file-row[data-state="success"]{border-color:#a8dccd!important;background:#f5fffb!important}
.np-booking-shell .np-file-retry{flex:0 0 auto!important;min-height:30px!important;padding:5px 10px!important;font-size:10px!important}
.np-booking-shell .np-upload-progress{height:10px!important;overflow:hidden!important;border-radius:999px!important;background:#e7eff1!important;box-shadow:inset 0 0 0 1px rgba(13,107,120,.08)!important}.np-booking-shell .np-upload-progress[hidden]{display:none!important}.np-booking-shell .np-upload-progress>span{display:block!important;width:0;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,var(--np-primary,#0d6b78),var(--np-accent,#25b89a),#59d9bd)!important;background-size:180% 100%!important;box-shadow:0 0 12px color-mix(in srgb,var(--np-accent,#25b89a) 55%,transparent)!important;transition:width .2s ease!important;animation:np-upload-shine 1.15s linear infinite!important}.np-booking-shell .np-upload-files-button{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;min-height:52px!important;margin-top:10px!important;border:0!important;border-radius:15px!important;background:linear-gradient(135deg,var(--np-primary,#0d6b78),var(--np-accent,#25b89a))!important;color:#fff!important;font-weight:850!important;font-size:15px!important;box-shadow:0 10px 24px color-mix(in srgb,var(--np-primary,#0d6b78) 28%,transparent)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}.np-booking-shell .np-upload-files-button::before{content:'⇧';display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.18);font-size:21px;line-height:1}.np-booking-shell .np-upload-files-button:hover:not(:disabled),.np-booking-shell .np-upload-files-button:focus-visible:not(:disabled){transform:translateY(-2px)!important;filter:saturate(1.08)!important;box-shadow:0 14px 30px color-mix(in srgb,var(--np-primary,#0d6b78) 35%,transparent)!important}.np-booking-shell .np-upload-files-button:disabled{opacity:.5!important;cursor:not-allowed!important;box-shadow:none!important}.np-booking-shell[data-np-uploading="1"] .np-upload-files-button::before,.np-booking-shell[data-np-uploading="1"] .np-upload-progress>span{animation:np-upload-spin .85s linear infinite!important}@keyframes np-upload-shine{to{background-position:180% 0}}@keyframes np-upload-spin{to{transform:rotate(360deg)}}
.np-booking-shell[data-np-uploading="1"] .np-upload-progress>span{animation:np-upload-shine 1.15s linear infinite!important;transform:none!important}

/* Elementor may place the shortcode in a narrow desktop column. Viewport media
   queries cannot see that constraint, so the booking component owns a named
   inline-size container and adapts to its actual rendered width. */
.np-app.np-booking-shell{container-name:np-booking;container-type:inline-size}
@container np-booking (max-width:900px){
 .np-booking-shell .np-booking-hero{grid-template-columns:auto minmax(0,1fr)!important;padding:22px 20px!important}
 .np-booking-shell .np-hero-side{grid-column:1/-1!important;justify-content:stretch!important;width:100%!important}
 .np-booking-shell .np-hero-side .np-price-chip{flex:1 1 auto!important;max-width:none!important}
 .np-booking-shell .np-date-strip,.np-booking-shell .np-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .np-booking-shell .np-panel{padding:24px 20px!important}
}
@container np-booking (max-width:640px){
 .np-booking-shell .np-booking-hero{grid-template-columns:50px minmax(0,1fr)!important;gap:11px!important;padding:17px 14px!important}
 .np-booking-shell .np-brand-mark{width:50px!important;height:50px!important}
 .np-booking-shell .np-hero-side{grid-column:1/-1!important;width:100%!important}
 .np-booking-shell .np-trust-strip{grid-template-columns:1fr!important;padding:8px 12px!important}
 .np-booking-shell .np-stepper{padding:10px 7px 0!important;gap:1px!important}
 .np-booking-shell .np-step{gap:3px!important;flex-direction:column!important;padding:7px 1px 10px!important}
 .np-booking-shell .np-step b{font-size:9.5px!important;white-space:normal!important;text-align:center!important}
 .np-booking-shell .np-panel,.np-booking-shell .np-panel[data-step="4"],.np-booking-shell .np-panel[data-step="5"],.np-booking-shell .np-panel[data-nootp-step]{width:100%!important;padding:20px 14px 22px!important}
 .np-booking-shell .np-section-heading,.np-booking-shell .np-payment-summary{flex-direction:column!important;align-items:stretch!important}
 .np-booking-shell .np-date-strip,.np-booking-shell .np-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
 .np-booking-shell .np-form-grid{grid-template-columns:1fr!important}
 .np-booking-shell .np-field-wide{grid-column:auto!important}
 .np-booking-shell .np-action-row{position:static!important;right:auto!important;left:auto!important;bottom:auto!important;display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin:20px 0 0!important;padding:15px 0 0!important}
 .np-booking-shell .np-action-row .np-button{width:100%!important;min-width:0!important}
 .np-booking-shell .np-selection-summary{width:100%!important;white-space:normal!important;overflow:visible!important;text-align:center!important}
 .np-booking-shell .np-payment-amount{width:100%!important;min-width:0!important}
}
@container np-booking (max-width:430px){
 .np-booking-shell .np-date-strip,.np-booking-shell .np-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .np-booking-shell .np-step b{font-size:8px!important}
}

/* source: assets/css/booking-enhancements-1.0.2.css */
/* Nobat Yar 1.0.2 — responsive step focus, selected-slot clarity and upload fallback UI. */
.np-booking-shell .np-slot.is-selected:not(:disabled){
  border-color:var(--np-primary)!important;
  background:linear-gradient(145deg,var(--np-primary),#178795)!important;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(13,107,120,.25),inset 0 0 0 1px rgba(255,255,255,.16)!important;
  transform:translateY(-1px)!important;
}
.np-booking-shell .np-slot.is-selected:not(:disabled)>span,
.np-booking-shell .np-slot.is-selected:not(:disabled)>small{color:#fff!important}
.np-booking-shell .np-slot.is-selected:not(:disabled):focus-visible{outline:3px solid rgba(37,184,154,.28)!important;outline-offset:2px!important}

.np-booking-shell .np-upload-fallback{display:grid;gap:9px;margin:16px 0 4px;padding:14px 15px;border:1px solid #ead4a6;border-radius:15px;background:#fffaf0;color:#6d5524}
.np-booking-shell .np-upload-fallback[hidden]{display:none!important}
.np-booking-shell .np-upload-fallback strong{font-size:12.5px;font-weight:950;color:#725520}
.np-booking-shell .np-upload-fallback p{margin:0;font-size:11px;line-height:1.9;color:#806a3c}
.np-booking-shell .np-upload-fallback .np-button{justify-self:start}
.np-booking-shell .np-upload-fallback.is-accepted{border-color:#b9ded4;background:#f1fbf8;color:#2d6d60}
.np-booking-shell .np-upload-fallback.is-accepted strong,.np-booking-shell .np-upload-fallback.is-accepted p{color:#2d6d60}

/* Additional QA fixes: keep mobile controls stable and make disabled states readable. */
.np-booking-shell .np-date-card:disabled,
.np-booking-shell .np-slot:disabled{
  visibility:visible!important;
  pointer-events:none!important;
}
.np-booking-shell .np-date-card.is-status-stopped,
.np-booking-shell .np-date-card.is-status-closed,
.np-booking-shell .np-date-card.is-status-blocked{
  opacity:1!important;
  filter:none!important;
}
.np-booking-shell .np-slot-grid{
  overflow:visible!important;
}

@media(max-width:700px){
  .np-booking-shell.np-step-engaged .np-booking-hero{grid-template-columns:38px minmax(0,1fr)!important;gap:8px!important;padding:9px 11px!important;min-height:58px!important}
  .np-booking-shell.np-step-engaged .np-brand-mark{width:38px!important;height:38px!important;border-radius:12px 6px 12px 12px!important;box-shadow:0 6px 16px rgba(13,107,120,.15)!important}
  .np-booking-shell.np-step-engaged .np-hero-copy h2{margin:0!important;font-size:16px!important;line-height:1.35!important}
  .np-booking-shell.np-step-engaged .np-hero-copy .np-eyebrow{font-size:9px!important}
  .np-booking-shell.np-step-engaged .np-hero-copy p,
  .np-booking-shell.np-step-engaged .np-doctor-specialty,
  .np-booking-shell.np-step-engaged .np-hero-side,
  .np-booking-shell.np-step-engaged .np-trust-strip{display:none!important}
  .np-booking-shell.np-step-engaged .np-stepper{padding:6px 6px 0!important}
  .np-booking-shell.np-step-engaged .np-step{padding:5px 1px 7px!important}
  .np-booking-shell.np-step-engaged .np-step span{width:23px!important;height:23px!important;font-size:10px!important}
  .np-booking-shell.np-step-engaged .np-step b{font-size:8.8px!important;line-height:1.2!important}
  .np-booking-shell.np-step-engaged .np-panel{padding-top:14px!important}
  .np-booking-shell .np-panel.is-active{scroll-margin-top:12px!important}
  .np-booking-shell .np-upload-fallback .np-button{width:100%!important;justify-self:stretch}
}

@media(max-width:390px){
  .np-booking-shell.np-step-engaged .np-step b{font-size:8px!important}
  .np-booking-shell.np-step-engaged .np-booking-hero{grid-template-columns:34px minmax(0,1fr)!important}
  .np-booking-shell.np-step-engaged .np-brand-mark{width:34px!important;height:34px!important}
}

/* source: assets/css/field-qa-ui-1.0.3.css */
/* Nobat Yar 1.0.3 field-QA UI/UX hardening. Loaded after theme/plugin styles. */

/* Use the website's own typography instead of forcing bundled font names. */
.np-app.np-booking-shell,
.np-app.np-booking-shell *,
.np-admin-portal-page .np-portal,
.np-admin-portal-page .np-portal *,
.np-admin-portal-page .np-admin-wrap,
.np-admin-portal-page .np-admin-wrap *{
  --np-font-family:inherit!important;
  font-family:inherit!important;
}

/* Booking surface: quieter, clearer hierarchy and stronger interactive states. */
.np-app.np-booking-shell{
  background:linear-gradient(180deg,#f7fbfb 0%,#eef6f7 100%)!important;
}
.np-app.np-booking-shell .np-booking-card{
  border:1px solid rgba(13,107,120,.13)!important;
  box-shadow:0 24px 70px rgba(18,57,66,.11)!important;
}
.np-app.np-booking-shell .np-booking-hero{
  background:linear-gradient(135deg,rgba(13,107,120,.11),rgba(37,184,154,.055) 58%,#fff 100%)!important;
}
.np-app.np-booking-shell .np-step span{
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}
.np-app.np-booking-shell .np-step.is-active span{transform:scale(1.03)!important}

/* Theme collision fix: date numbers/labels never disappear on hover/focus. */
.np-app.np-booking-shell .np-date-card,
.np-app.np-booking-shell .np-date-card:hover,
.np-app.np-booking-shell .np-date-card:focus,
.np-app.np-booking-shell .np-date-card:active{
  text-decoration:none!important;
}
.np-app.np-booking-shell .np-date-card:not(.is-selected):not(.is-status-leave):not(.is-status-closed):not(.is-status-stopped):not(.is-status-blocked):not(.is-status-capacity_full):not(.is-status-fully_booked),
.np-app.np-booking-shell .np-date-card:not(.is-selected):not(.is-status-leave):not(.is-status-closed):not(.is-status-stopped):not(.is-status-blocked):not(.is-status-capacity_full):not(.is-status-fully_booked):hover,
.np-app.np-booking-shell .np-date-card:not(.is-selected):not(.is-status-leave):not(.is-status-closed):not(.is-status-stopped):not(.is-status-blocked):not(.is-status-capacity_full):not(.is-status-fully_booked):focus{
  color:#263f47!important;
  background:linear-gradient(180deg,#fff,#f9fcfc)!important;
}
.np-app.np-booking-shell .np-date-card strong,
.np-app.np-booking-shell .np-date-card span,
.np-app.np-booking-shell .np-date-card small,
.np-app.np-booking-shell .np-date-card:hover strong,
.np-app.np-booking-shell .np-date-card:hover span,
.np-app.np-booking-shell .np-date-card:hover small,
.np-app.np-booking-shell .np-date-card:focus strong,
.np-app.np-booking-shell .np-date-card:focus span,
.np-app.np-booking-shell .np-date-card:focus small{color:inherit!important}
.np-app.np-booking-shell .np-date-card.is-selected,
.np-app.np-booking-shell .np-date-card.is-selected:hover,
.np-app.np-booking-shell .np-date-card.is-selected:focus{
  color:#fff!important;
  border-color:var(--np-primary)!important;
  background:linear-gradient(145deg,var(--np-primary),#16808d)!important;
  box-shadow:0 12px 28px rgba(13,107,120,.22)!important;
}

/* Closed, leave, capacity-full and break days stay visible but look fully booked. */
.np-app.np-booking-shell .np-date-card.is-status-leave,
.np-app.np-booking-shell .np-date-card.is-status-closed,
.np-app.np-booking-shell .np-date-card.is-status-stopped,
.np-app.np-booking-shell .np-date-card.is-status-blocked,
.np-app.np-booking-shell .np-date-card.is-status-no_availability,
.np-app.np-booking-shell .np-date-card.is-status-capacity_full,
.np-app.np-booking-shell .np-date-card.is-status-fully_booked,
.np-app.np-booking-shell .np-calendar-day.is-status-leave,
.np-app.np-booking-shell .np-calendar-day.is-status-closed,
.np-app.np-booking-shell .np-calendar-day.is-status-stopped,
.np-app.np-booking-shell .np-calendar-day.is-status-blocked,
.np-app.np-booking-shell .np-calendar-day.is-status-no_availability,
.np-app.np-booking-shell .np-calendar-day.is-status-capacity_full,
.np-app.np-booking-shell .np-calendar-day.is-status-fully_booked{
  opacity:1!important;
  filter:none!important;
  color:#a91f32!important;
  border-color:#efb9c1!important;
  background:linear-gradient(180deg,#fff4f5,#ffedef)!important;
  box-shadow:none!important;
}

/* Selected appointment time is fully filled instead of border-only. */
.np-app.np-booking-shell .np-slot.is-selected,
.np-app.np-booking-shell .np-slot.is-selected:hover,
.np-app.np-booking-shell .np-slot[aria-pressed="true"]{
  color:#fff!important;
  border-color:var(--np-primary)!important;
  background:linear-gradient(145deg,var(--np-primary),#178795)!important;
  box-shadow:0 10px 24px rgba(13,107,120,.24)!important;
  transform:translateY(-1px)!important;
}
.np-app.np-booking-shell .np-slot.is-selected span,
.np-app.np-booking-shell .np-slot.is-selected small,
.np-app.np-booking-shell .np-slot[aria-pressed="true"] span,
.np-app.np-booking-shell .np-slot[aria-pressed="true"] small{color:#fff!important}

/* Previous/next day buttons remain visible after click, hover and keyboard focus. */
.np-app.np-booking-shell .np-day-pager .np-link-button,
.np-app.np-booking-shell .np-day-pager .np-link-button:visited,
.np-app.np-booking-shell .np-day-pager .np-link-button:hover,
.np-app.np-booking-shell .np-day-pager .np-link-button:focus,
.np-app.np-booking-shell .np-day-pager .np-link-button:active{
  color:var(--np-primary)!important;
  border:1px solid #cfe0e3!important;
  background:#f7fbfb!important;
  box-shadow:none!important;
  outline:none!important;
}
.np-app.np-booking-shell .np-day-pager .np-link-button:hover,
.np-app.np-booking-shell .np-day-pager .np-link-button:focus-visible{
  color:#fff!important;
  border-color:var(--np-primary)!important;
  background:var(--np-primary)!important;
}
.np-app.np-booking-shell .np-day-pager .np-link-button:disabled{
  opacity:.48!important;
  color:#60757c!important;
  border-color:#dbe6e8!important;
  background:#eef3f4!important;
}

.np-app.np-booking-shell button:focus-visible,
.np-admin-portal-page .np-portal button:focus-visible,
.np-admin-portal-page .np-portal a:focus-visible{
  outline:3px solid rgba(37,184,154,.28)!important;
  outline-offset:2px!important;
}

/* Upload recovery is explicit and non-alarming. */
.np-upload-fallback{
  display:grid!important;
  gap:7px!important;
  margin-top:12px!important;
  padding:14px 15px!important;
  border:1px solid #efd19a!important;
  border-radius:15px!important;
  background:#fffaf0!important;
}
.np-upload-fallback[hidden]{display:none!important}
.np-upload-fallback strong{color:#725015!important;font-size:12px!important}
.np-upload-fallback p{margin:0!important;color:#7a6846!important;font-size:10.5px!important;line-height:1.8!important}
.np-upload-fallback.is-accepted{border-color:#bfe3d7!important;background:#effaf6!important}
.np-upload-fallback.is-accepted strong,.np-upload-fallback.is-accepted p{color:#286b5c!important}

/* Compact mobile flow: active form starts much closer to top. */
@media(max-width:700px){
  .np-app.np-booking-shell .np-booking-hero{grid-template-columns:42px minmax(0,1fr)!important;gap:9px!important;padding:11px 12px!important}
  .np-app.np-booking-shell .np-brand-mark{width:42px!important;height:42px!important;border-radius:14px 6px 14px 14px!important}
  .np-app.np-booking-shell .np-hero-copy p{display:none!important}
  .np-app.np-booking-shell .np-doctor-specialty{margin-top:2px!important}
  .np-app.np-booking-shell .np-hero-side{grid-column:1/-1!important;gap:7px!important}
  .np-app.np-booking-shell .np-hero-side .np-doctor-photo{width:52px!important;height:52px!important;flex-basis:52px!important}
  .np-app.np-booking-shell .np-hero-side .np-price-chip{min-height:52px!important;padding:7px 10px!important}
  .np-app.np-booking-shell .np-trust-strip{display:none!important}
  .np-app.np-booking-shell.np-step-engaged .np-booking-hero{display:grid!important}
  .np-app.np-booking-shell.np-step-engaged .np-stepper{padding-top:6px!important}
  .np-app.np-booking-shell .np-panel{padding-top:14px!important;scroll-margin-top:8px!important}
}

/* Admin portal polish and calendar hardening. */
.np-admin-portal-page .np-portal-content .np-admin-card,
.np-admin-portal-page .np-portal-content .np-admin-header{
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.np-admin-portal-page .np-portal-content .np-page-tab,
.np-admin-portal-page .np-portal-content .button,
.np-admin-portal-page .np-portal-content button{
  -webkit-tap-highlight-color:transparent!important;
}
.np-admin-portal-page .np-jalali-picker{z-index:100000!important}
.np-admin-portal-page .np-jalali-picker-card{border:1px solid rgba(13,107,120,.13)!important;box-shadow:0 28px 90px rgba(5,30,36,.30)!important}
.np-admin-portal-page .np-jalali-picker-head button,
.np-admin-portal-page .np-jalali-picker-head button:hover,
.np-admin-portal-page .np-jalali-picker-head button:focus,
.np-admin-portal-page .np-jalali-picker-head button:active{
  color:var(--np-primary)!important;
  background:#f5faf9!important;
  border-color:#d7e5e6!important;
}
.np-admin-portal-page .np-cal-day,
.np-admin-portal-page .np-cal-day:hover,
.np-admin-portal-page .np-cal-day:focus,
.np-admin-portal-page .np-cal-day:active{
  color:#233e46!important;
  background:#fff!important;
}
.np-admin-portal-page .np-cal-day:hover,
.np-admin-portal-page .np-cal-day:focus-visible{border-color:var(--np-primary)!important;background:#edf9f6!important;color:var(--np-primary)!important}
.np-admin-portal-page .np-cal-day.is-selected,
.np-admin-portal-page .np-cal-day.is-selected:hover{border-color:var(--np-primary)!important;background:var(--np-primary)!important;color:#fff!important}
.np-jalali-picker-x{
  position:absolute!important;top:10px!important;left:10px!important;z-index:2!important;
  width:34px!important;height:34px!important;padding:0!important;border:1px solid #e0e8ea!important;border-radius:10px!important;
  background:#fff!important;color:#576d74!important;font-size:21px!important;line-height:1!important;cursor:pointer!important;
}

/* Patient note appears directly under the patient's identity. */
.np-patient-note-preview{
  display:grid!important;gap:3px!important;margin-top:8px!important;padding:8px 10px!important;
  border:1px solid #d8e9e5!important;border-radius:11px!important;background:#f2faf7!important;
}
.np-patient-note-preview b{color:#176b5b!important;font-size:9px!important}
.np-patient-note-preview span{color:#405d56!important;font-size:9px!important;line-height:1.75!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}

/* Diagnostics panel, injected into the Health/Settings page. */
.np-diagnostics-panel{
  margin-top:16px!important;padding:20px!important;border:1px solid rgba(13,107,120,.15)!important;border-radius:20px!important;
  background:linear-gradient(145deg,#fff,#f5fbfa)!important;box-shadow:0 12px 34px rgba(20,58,66,.06)!important;
}
.np-diagnostics-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important}
.np-diagnostics-head h2{margin:2px 0 0!important;font-size:18px!important}
.np-diagnostics-head p{max-width:760px!important;margin:5px 0 0!important;color:#657a80!important;font-size:10.5px!important;line-height:1.9!important}
.np-diagnostics-status{display:flex!important;align-items:center!important;gap:8px!important;padding:8px 11px!important;border-radius:999px!important;background:#eef4f5!important;color:#60747b!important;font-size:9px!important;font-weight:850!important}
.np-diagnostics-status i{width:8px!important;height:8px!important;border-radius:50%!important;background:#98a8ad!important}
.np-diagnostics-status.is-active{background:#eaf8f3!important;color:#1c6d5c!important}.np-diagnostics-status.is-active i{background:#24a884!important;box-shadow:0 0 0 5px rgba(36,168,132,.10)!important}
.np-diagnostics-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin:16px 0!important}
.np-diagnostics-grid article{padding:12px!important;border:1px solid #e0e9eb!important;border-radius:13px!important;background:#fff!important}
.np-diagnostics-grid strong,.np-diagnostics-grid span{display:block!important}.np-diagnostics-grid strong{font-size:10px!important}.np-diagnostics-grid span{margin-top:3px!important;color:#71838a!important;font-size:8.5px!important;line-height:1.7!important}
.np-diagnostics-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-top:12px!important}.np-diagnostics-actions form{margin:0!important}
.np-diagnostics-note{margin-top:12px!important;padding:10px 12px!important;border-radius:12px!important;background:#f7f9fa!important;color:#687b82!important;font-size:9px!important;line-height:1.8!important}
@media(max-width:760px){.np-diagnostics-grid{grid-template-columns:1fr!important}.np-diagnostics-panel{padding:15px 12px!important}.np-diagnostics-actions,.np-diagnostics-actions form,.np-diagnostics-actions button{width:100%!important}}

/* source: assets/css/nobat-yar-ui-1.0.4.css */
/* Nobat Yar 1.0.4 — calm medical SaaS visual layer.
 * Loaded last, deliberately scoped to Nobat Yar surfaces and inheriting site typography. */
:root{
  --np-ui-radius-xs:10px;
  --np-ui-radius-sm:13px;
  --np-ui-radius:17px;
  --np-ui-radius-lg:24px;
  --np-ui-border:color-mix(in srgb,var(--np-primary) 14%,#dce6e8);
  --np-ui-muted:#6b7f86;
  --np-ui-soft:#f6f9fa;
  --np-ui-shadow:0 18px 56px rgba(25,52,60,.09);
  --np-ui-danger:#b4233b;
  --np-ui-danger-bg:#fff1f3;
  --np-ui-success:#16866d;
  --np-ui-success-bg:#edf9f5;
  --np-ui-warning:#9a6815;
  --np-ui-warning-bg:#fff8e9;
  --np-ui-motion:180ms cubic-bezier(.2,.7,.2,1);
}
.np-app,.np-app *,
.np-admin-portal-page .np-portal,.np-admin-portal-page .np-portal *{
  font-family:inherit!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.np-app,.np-portal{accent-color:var(--np-primary)}
.np-app button,.np-portal button,.np-app a,.np-portal a,.np-app input,.np-portal input,.np-app textarea,.np-portal textarea,.np-app select,.np-portal select{transition:border-color var(--np-ui-motion),background var(--np-ui-motion),color var(--np-ui-motion),box-shadow var(--np-ui-motion),transform var(--np-ui-motion),opacity var(--np-ui-motion)}
.np-app :focus-visible,.np-portal :focus-visible{outline:3px solid color-mix(in srgb,var(--np-accent) 28%,transparent)!important;outline-offset:2px!important}

/* Booking shell */
.np-booking-shell{padding:clamp(10px,2vw,26px)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--np-primary) 4%,#fff),#f5f8f9)!important;color:var(--np-ink)!important}
.np-booking-shell .np-booking-card{width:min(100%,1040px)!important;margin-inline:auto!important;border:1px solid var(--np-ui-border)!important;border-radius:var(--np-ui-radius-lg)!important;background:#fff!important;box-shadow:var(--np-ui-shadow)!important;overflow:hidden!important}
.np-booking-shell .np-booking-hero{position:relative!important;isolation:isolate!important;padding:clamp(17px,3vw,30px)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--np-primary) 9%,#fff),#fff 54%,color-mix(in srgb,var(--np-accent) 6%,#fff))!important;border-bottom:1px solid var(--np-ui-border)!important}
.np-booking-shell .np-booking-hero:after{content:"";position:absolute;inset:auto -55px -80px auto;width:190px;height:190px;border-radius:50%;background:color-mix(in srgb,var(--np-accent) 8%,transparent);z-index:-1;filter:blur(4px)}
.np-booking-shell .np-brand-mark{box-shadow:none!important;border:1px solid color-mix(in srgb,var(--np-primary) 18%,transparent)!important;background:var(--np-primary)!important;color:#fff!important}
.np-booking-shell .np-hero-copy h2{letter-spacing:-.02em!important;margin-block:4px!important}
.np-booking-shell .np-hero-copy p{color:var(--np-ui-muted)!important;max-width:620px!important}
.np-booking-shell .np-price-chip{border:1px solid color-mix(in srgb,var(--np-primary) 14%,#e5ecee)!important;border-radius:var(--np-ui-radius)!important;background:rgba(255,255,255,.88)!important;box-shadow:0 8px 26px rgba(20,55,63,.06)!important}
.np-booking-shell .np-price-chip span{color:var(--np-ui-muted)!important}.np-booking-shell .np-price-chip strong{color:var(--np-primary)!important}
.np-booking-shell .np-trust-strip{gap:8px!important;padding:10px 18px!important;background:#fbfdfd!important;border-bottom:1px solid #edf1f2!important}
.np-booking-shell .np-trust-strip span{display:inline-flex!important;align-items:center!important;gap:6px!important;color:#60757c!important}.np-booking-shell .np-trust-strip span:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--np-ui-success-bg);color:var(--np-ui-success);font-size:10px;font-weight:900}

/* Real wizard progress */
.np-booking-shell .np-stepper{position:relative!important;display:grid!important;gap:0!important;margin:0!important;padding:18px clamp(15px,4vw,36px) 14px!important;background:#fff!important;border-bottom:1px solid #edf1f2!important}
.np-booking-shell .np-stepper:before{content:"";position:absolute;top:35px;right:calc(10% + 20px);left:calc(10% + 20px);height:2px;background:#e7edef;z-index:0}
.np-booking-shell .np-step{position:relative!important;z-index:1!important;min-width:0!important;padding:0 4px!important;border:0!important;background:transparent!important;color:#8a999e!important;box-shadow:none!important}
.np-booking-shell .np-step span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;margin-inline:auto!important;border:2px solid #e2e9eb!important;border-radius:50%!important;background:#fff!important;color:#71848a!important;font-weight:900!important;box-shadow:0 0 0 5px #fff!important}
.np-booking-shell .np-step b{display:block!important;margin-top:7px!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.np-booking-shell .np-step.is-active{color:var(--np-primary)!important}.np-booking-shell .np-step.is-active span{border-color:var(--np-primary)!important;background:var(--np-primary)!important;color:#fff!important;transform:scale(1.06)!important}
.np-booking-shell .np-step.is-complete span,.np-booking-shell .np-step[data-ui-complete="1"] span{border-color:var(--np-ui-success)!important;background:var(--np-ui-success-bg)!important;color:var(--np-ui-success)!important}

/* Panels and headings */
.np-booking-shell .np-panel{padding:clamp(18px,4vw,34px)!important;background:#fff!important;animation:npUiPanelIn var(--np-ui-motion) both}
@keyframes npUiPanelIn{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.np-booking-shell .np-section-heading{gap:14px!important;margin-bottom:18px!important}.np-booking-shell .np-section-heading h3{margin:2px 0 4px!important;letter-spacing:-.015em!important}.np-booking-shell .np-section-heading p{color:var(--np-ui-muted)!important;margin:0!important}
.np-booking-shell .np-eyebrow{color:var(--np-primary)!important;letter-spacing:0!important;font-weight:850!important}

/* Form controls */
.np-booking-shell .np-field,.np-portal .np-field{gap:7px!important}.np-booking-shell .np-field>span,.np-portal .np-field>span{font-weight:800!important;color:#344e56!important}
.np-booking-shell input:not([type=checkbox]):not([type=radio]):not([type=file]),.np-booking-shell textarea,.np-booking-shell select,
.np-portal input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),.np-portal textarea,.np-portal select{min-height:48px!important;border:1px solid #d8e2e4!important;border-radius:var(--np-ui-radius-sm)!important;background:#fff!important;color:#263f47!important;box-shadow:0 1px 0 rgba(20,50,57,.02)!important}
.np-booking-shell textarea,.np-portal textarea{min-height:92px!important;resize:vertical!important}
.np-booking-shell input:hover,.np-booking-shell textarea:hover,.np-booking-shell select:hover,.np-portal input:hover,.np-portal textarea:hover,.np-portal select:hover{border-color:#bacdd1!important}
.np-booking-shell input:focus,.np-booking-shell textarea:focus,.np-booking-shell select:focus,.np-portal input:focus,.np-portal textarea:focus,.np-portal select:focus{border-color:var(--np-primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--np-primary) 9%,transparent)!important;outline:0!important}
.np-booking-shell .np-inline-error:not(:empty){margin-top:12px!important;padding:11px 13px!important;border:1px solid #f1c2ca!important;border-radius:var(--np-ui-radius-sm)!important;background:var(--np-ui-danger-bg)!important;color:var(--np-ui-danger)!important;font-weight:700!important}

/* Buttons and stable hover states */
.np-booking-shell .np-button,.np-portal .np-button,.np-portal .button{min-height:44px!important;border-radius:var(--np-ui-radius-sm)!important;font-weight:850!important;text-decoration:none!important}
.np-booking-shell .np-button-primary,.np-portal .np-button-primary,.np-portal .button-primary{border-color:var(--np-primary)!important;background:var(--np-primary)!important;color:#fff!important;box-shadow:0 8px 20px color-mix(in srgb,var(--np-primary) 16%,transparent)!important}
.np-booking-shell .np-button-primary:hover,.np-booking-shell .np-button-primary:focus,.np-portal .np-button-primary:hover,.np-portal .button-primary:hover{filter:brightness(.96)!important;color:#fff!important;transform:translateY(-1px)!important}
.np-booking-shell .np-button-ghost,.np-portal .np-button-ghost{border:1px solid #d9e4e6!important;background:#fff!important;color:var(--np-primary)!important}.np-booking-shell .np-button-ghost:hover,.np-booking-shell .np-button-ghost:focus,.np-portal .np-button-ghost:hover{border-color:var(--np-primary)!important;background:color-mix(in srgb,var(--np-primary) 5%,#fff)!important;color:var(--np-primary)!important}
.np-booking-shell button:disabled,.np-portal button:disabled{opacity:.48!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
.np-booking-shell .is-busy,.np-portal .is-busy{position:relative!important;pointer-events:none!important;color:transparent!important}.np-booking-shell .is-busy:after,.np-portal .is-busy:after{content:"";position:absolute;inset:50% auto auto 50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:npUiSpin .65s linear infinite;color:#fff!important}.np-button-ghost.is-busy:after{color:var(--np-primary)!important}@keyframes npUiSpin{to{transform:rotate(360deg)}}

/* Date cards */
.np-booking-shell .np-date-strip{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;gap:9px!important;overflow:visible!important;padding:2px!important}
.np-booking-shell .np-date-card{min-height:104px!important;padding:11px 8px!important;border:1px solid #dde7e9!important;border-radius:var(--np-ui-radius)!important;background:#fff!important;color:#314a52!important;box-shadow:none!important;overflow:hidden!important}
.np-booking-shell .np-date-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--np-primary) 42%,#dce5e7)!important;background:color-mix(in srgb,var(--np-primary) 3%,#fff)!important;transform:translateY(-2px)!important;box-shadow:0 9px 24px rgba(30,61,69,.07)!important}
.np-booking-shell .np-date-card strong{font-size:22px!important;line-height:1.15!important}.np-booking-shell .np-date-card small{font-size:10px!important;line-height:1.5!important}
.np-booking-shell .np-date-card.is-selected{background:var(--np-primary)!important;border-color:var(--np-primary)!important;color:#fff!important;box-shadow:0 12px 28px color-mix(in srgb,var(--np-primary) 24%,transparent)!important}
.np-booking-shell .np-date-card[class*="is-status-"]:disabled{cursor:not-allowed!important}
.np-booking-shell .np-date-card.is-status-leave,.np-booking-shell .np-date-card.is-status-closed,.np-booking-shell .np-date-card.is-status-stopped,.np-booking-shell .np-date-card.is-status-blocked,.np-booking-shell .np-date-card.is-status-no_availability,.np-booking-shell .np-date-card.is-status-capacity_full,.np-booking-shell .np-date-card.is-status-fully_booked{background:var(--np-ui-danger-bg)!important;border-color:#f0c2c9!important;color:var(--np-ui-danger)!important}
.np-booking-shell .np-day-pager{margin-top:12px!important;padding:8px!important;border-radius:14px!important;background:#f8fafb!important}.np-booking-shell .np-day-pager .np-link-button{min-height:38px!important;padding:7px 12px!important;border-radius:10px!important;background:#fff!important;color:var(--np-primary)!important;border:1px solid #dbe5e7!important}.np-booking-shell .np-day-pager .np-link-button:hover,.np-booking-shell .np-day-pager .np-link-button:focus{background:var(--np-primary)!important;color:#fff!important;border-color:var(--np-primary)!important}

/* Appointment time chips */
.np-booking-shell .np-slot-block{margin-top:18px!important;padding:16px!important;border:1px solid #e1e9eb!important;border-radius:var(--np-ui-radius-lg)!important;background:#fbfdfd!important}
.np-booking-shell .np-slot-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important;gap:9px!important;margin-top:12px!important}
.np-booking-shell .np-slot{min-height:47px!important;border:1px solid #d6e2e4!important;border-radius:13px!important;background:#fff!important;color:#314a52!important;font-weight:850!important;box-shadow:none!important}
.np-booking-shell .np-slot:hover:not(:disabled){border-color:var(--np-primary)!important;color:var(--np-primary)!important;background:color-mix(in srgb,var(--np-primary) 4%,#fff)!important;transform:translateY(-1px)!important}
.np-booking-shell .np-slot.is-selected,.np-booking-shell .np-slot[aria-pressed="true"]{background:var(--np-primary)!important;border-color:var(--np-primary)!important;color:#fff!important;box-shadow:0 9px 22px color-mix(in srgb,var(--np-primary) 22%,transparent)!important}
.np-booking-shell .np-slot:disabled,.np-booking-shell .np-slot.is-booked,.np-booking-shell .np-slot.is-blocked{opacity:1!important;background:#f3f5f6!important;border-color:#e3e8e9!important;color:#8b989c!important;text-decoration:none!important}
.np-booking-shell .np-selection-summary{display:inline-flex!important;align-items:center!important;min-height:40px!important;padding:8px 11px!important;border-radius:12px!important;background:#f4f8f8!important;color:#516a72!important}

/* Upload area and file feedback */
.np-booking-shell .np-medical-upload-card{margin-top:18px!important;padding:17px!important;border:1px solid #dfe9eb!important;border-radius:var(--np-ui-radius-lg)!important;background:#fafcfc!important}
.np-booking-shell .np-file-drop{display:grid!important;place-items:center!important;gap:5px!important;min-height:132px!important;margin-top:13px!important;padding:18px!important;border:1.5px dashed #b9cdd1!important;border-radius:var(--np-ui-radius)!important;background:#fff!important;text-align:center!important;cursor:pointer!important}.np-booking-shell .np-file-drop:hover,.np-booking-shell .np-file-drop:focus-within{border-color:var(--np-primary)!important;background:color-mix(in srgb,var(--np-primary) 3%,#fff)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--np-primary) 6%,transparent)!important}.np-booking-shell .np-file-drop span{color:var(--np-primary)!important;font-weight:900!important}.np-booking-shell .np-file-drop small{color:var(--np-ui-muted)!important}
.np-booking-shell .np-ui-file-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:8px;padding:9px 10px;border:1px solid #e0e8ea;border-radius:12px;background:#fff}.np-ui-file-card .np-ui-file-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eff7f6;color:var(--np-primary);font-weight:900}.np-ui-file-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.np-ui-file-card small{color:var(--np-ui-muted);font-size:9px}.np-ui-file-card .np-ui-file-state{color:var(--np-ui-success);font-size:9px;font-weight:850}
.np-booking-shell .np-upload-status:not(:empty){margin-top:10px;padding:9px 11px;border-radius:11px;background:#f3f8f8;color:#536c73;font-weight:700}

/* Consent, payment review and success */
.np-booking-shell .np-consent{margin-top:14px!important;padding:13px 14px!important;border:1px solid #e0e8ea!important;border-radius:14px!important;background:#fbfcfd!important}.np-booking-shell .np-consent input{width:19px!important;height:19px!important;flex:0 0 19px!important}
.np-booking-shell .np-payment-summary{padding:16px!important;border-radius:var(--np-ui-radius)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--np-primary) 6%,#fff),#fff)!important;border:1px solid var(--np-ui-border)!important}.np-booking-shell .np-payment-amount{padding:11px 14px!important;border-radius:13px!important;background:#fff!important;border:1px solid #e0e8ea!important}.np-booking-shell .np-payment-amount strong{color:var(--np-primary)!important}
.np-booking-shell .np-booking-review{display:grid!important;gap:9px!important;margin-top:14px!important}.np-booking-shell .np-booking-review>div,.np-booking-shell .np-booking-review>article,.np-booking-shell .np-booking-review>span{border-radius:13px!important}
.np-booking-shell .np-booking-success{padding:24px!important;border:1px solid #cfe8df!important;border-radius:var(--np-ui-radius-lg)!important;background:linear-gradient(180deg,#f1faf7,#fff)!important}.np-booking-shell .np-booking-success .np-otp-icon{background:var(--np-ui-success)!important;color:#fff!important;box-shadow:0 0 0 9px color-mix(in srgb,var(--np-ui-success) 10%,transparent)!important}.np-ui-copy{display:inline-flex!important;align-items:center!important;gap:5px!important;margin-inline-start:6px!important;padding:4px 7px!important;border:1px solid #d6e3e5!important;border-radius:8px!important;background:#fff!important;color:var(--np-primary)!important;font-size:9px!important;font-weight:800!important}

/* Calendar / bottom sheet */
.np-booking-shell .np-calendar-modal,.np-admin-portal-page .np-jalali-picker{backdrop-filter:blur(3px)}
.np-booking-shell .np-calendar-sheet,.np-admin-portal-page .np-jalali-picker-card{border:1px solid #dce6e8!important;border-radius:22px!important;background:#fff!important;box-shadow:0 28px 90px rgba(16,40,48,.24)!important;overflow:hidden!important}
.np-booking-shell .np-calendar-header,.np-admin-portal-page .np-jalali-picker-head{background:#fbfdfd!important;border-bottom:1px solid #e9eff0!important}.np-booking-shell .np-calendar-day{border-radius:11px!important}.np-booking-shell .np-calendar-day:hover:not(:disabled){background:color-mix(in srgb,var(--np-primary) 6%,#fff)!important;color:var(--np-primary)!important}.np-booking-shell .np-calendar-close{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:10px!important;background:#fff!important;color:#516970!important;border:1px solid #dfe7e9!important}

/* Skeleton, toast and empty states */
.np-app .np-skeleton,.np-portal .np-skeleton{position:relative!important;overflow:hidden!important;border-radius:12px!important;background:#edf2f3!important;color:#8a999d!important}.np-app .np-skeleton:after,.np-portal .np-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:npUiShimmer 1.25s infinite}@keyframes npUiShimmer{to{transform:translateX(-100%)}}
.np-app .np-empty,.np-app .np-empty-state,.np-portal .np-empty-state,.np-portal .np-ui-empty{padding:22px!important;border:1px dashed #d9e3e5!important;border-radius:var(--np-ui-radius)!important;background:#fafcfc!important;color:#6d8086!important;text-align:center!important}.np-ui-empty:before{content:"—";display:grid;place-items:center;width:38px;height:38px;margin:0 auto 8px;border-radius:12px;background:#eef4f5;color:#7b8d92;font-size:20px}
.np-app .np-toast,.np-portal .np-toast{position:fixed!important;right:auto!important;left:18px!important;bottom:18px!important;z-index:100100!important;max-width:min(420px,calc(100vw - 36px))!important;border-radius:14px!important;box-shadow:0 16px 50px rgba(18,43,50,.18)!important}

/* Admin portal */
.np-admin-portal-page{background:#f5f7f8!important}.np-admin-portal-page .np-portal{background:#f5f7f8!important;color:#263f47!important}.np-admin-portal-page .np-portal-sidebar{border-left:1px solid #e1e8ea!important;background:#fff!important;box-shadow:none!important}.np-admin-portal-page .np-portal-brand{border-bottom:1px solid #edf1f2!important}.np-admin-portal-page .np-portal-logo{background:var(--np-primary)!important;color:#fff!important;border-radius:14px 6px 14px 14px!important}.np-admin-portal-page .np-portal-nav-item{margin:2px 8px!important;border-radius:12px!important;color:#526970!important}.np-admin-portal-page .np-portal-nav-item:hover{background:#f3f7f8!important;color:var(--np-primary)!important;transform:translateX(-1px)!important}.np-admin-portal-page .np-portal-nav-item.is-active{background:color-mix(in srgb,var(--np-primary) 9%,#fff)!important;color:var(--np-primary)!important;font-weight:900!important;box-shadow:inset -3px 0 0 var(--np-primary)!important}.np-admin-portal-page .np-portal-topbar{border-bottom:1px solid #e5ebed!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(12px)!important}.np-admin-portal-page .np-portal-content{padding:clamp(14px,2.5vw,28px)!important}.np-admin-portal-page .np-admin-header{margin-bottom:16px!important;padding:0!important}.np-admin-portal-page .np-admin-header h1{letter-spacing:-.025em!important}.np-admin-portal-page .np-admin-card{border:1px solid #e0e8ea!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 30px rgba(20,52,60,.045)!important}.np-admin-portal-page .np-card-heading{gap:12px!important}.np-admin-portal-page .np-card-heading h2{letter-spacing:-.015em!important}.np-admin-portal-page .np-page-tabs{padding:5px!important;border:1px solid #e1e8ea!important;border-radius:14px!important;background:#f5f8f8!important;gap:4px!important}.np-admin-portal-page .np-page-tab{min-height:40px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#657a81!important}.np-admin-portal-page .np-page-tab:hover{background:#fff!important;color:var(--np-primary)!important}.np-admin-portal-page .np-page-tab.is-active{background:#fff!important;color:var(--np-primary)!important;box-shadow:0 2px 9px rgba(23,54,62,.08)!important;font-weight:900!important}
.np-admin-portal-page .np-table-wrap{border:1px solid #e3e9eb!important;border-radius:15px!important;overflow:auto!important;background:#fff!important}.np-admin-portal-page table{border:0!important}.np-admin-portal-page table thead th{background:#f7f9fa!important;color:#5d737a!important;font-size:10px!important;font-weight:900!important}.np-admin-portal-page table tbody td{border-color:#edf1f2!important;vertical-align:middle!important}.np-admin-portal-page table tbody tr:hover{background:#fbfdfd!important}
.np-admin-portal-page .np-status,.np-admin-portal-page .np-soft-badge{border-radius:999px!important;padding:5px 8px!important;font-weight:850!important}

/* Dashboard metrics */
.np-admin-portal-page .np-stat-grid,.np-admin-portal-page .np-dashboard-stats,.np-admin-portal-page .np-ui-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.np-admin-portal-page .np-stat-card,.np-admin-portal-page .np-dashboard-stat,.np-admin-portal-page .np-ui-kpi{position:relative!important;min-width:0!important;padding:16px!important;border:1px solid #e0e8ea!important;border-radius:18px!important;background:#fff!important;box-shadow:0 7px 24px rgba(20,52,60,.04)!important;overflow:hidden!important}.np-admin-portal-page .np-stat-card:after,.np-admin-portal-page .np-ui-kpi:after{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:var(--np-primary);opacity:.65}.np-admin-portal-page .np-stat-card small,.np-admin-portal-page .np-ui-kpi small{color:#71838a!important}.np-admin-portal-page .np-stat-card strong,.np-admin-portal-page .np-ui-kpi strong{font-size:clamp(21px,2.5vw,29px)!important;color:#263f47!important}

/* Weekly schedule and date-specific management */
.np-admin-portal-page .np-week-day,.np-admin-portal-page .np-schedule-day,.np-admin-portal-page [data-weekday-row]{border:1px solid #e0e8ea!important;border-radius:17px!important;background:#fff!important;box-shadow:none!important}.np-admin-portal-page .np-week-day.is-disabled,.np-admin-portal-page .np-schedule-day.is-disabled,.np-admin-portal-page [data-weekday-row].is-disabled{opacity:.6!important;background:#f7f8f9!important}.np-admin-portal-page .np-calendar-trigger{min-height:40px!important;border-radius:11px!important;border:1px solid #d5e1e3!important;background:#fff!important;color:var(--np-primary)!important;font-weight:800!important}.np-admin-portal-page .np-calendar-trigger:hover{border-color:var(--np-primary)!important;background:color-mix(in srgb,var(--np-primary) 4%,#fff)!important}

/* Diagnostics v2 */
.np-diagnostics-v2{margin-top:18px!important;padding:20px!important;border:1px solid color-mix(in srgb,var(--np-primary) 15%,#dce6e8)!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--np-primary) 3%,#fff))!important;box-shadow:0 10px 32px rgba(22,54,62,.05)!important}.np-diagnostics-v2 .np-diagnostics-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important}.np-diagnostics-v2 .np-diagnostics-head h2{margin:3px 0!important}.np-diagnostics-v2 .np-diagnostics-head p{margin:4px 0 0!important;color:var(--np-ui-muted)!important}.np-diagnostics-state{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:7px 10px!important;border-radius:999px!important;background:#eef3f4!important;color:#61757b!important;font-size:10px!important;font-weight:850!important}.np-diagnostics-state i{width:8px;height:8px;border-radius:50%;background:#99a7ab}.np-diagnostics-state.is-active{background:var(--np-ui-success-bg)!important;color:var(--np-ui-success)!important}.np-diagnostics-state.is-active i{background:var(--np-ui-success);box-shadow:0 0 0 5px color-mix(in srgb,var(--np-ui-success) 10%,transparent)}.np-diagnostics-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin:15px 0!important}.np-diagnostics-metrics span{padding:11px!important;border:1px solid #e1e8ea!important;border-radius:13px!important;background:#fff!important}.np-diagnostics-metrics small,.np-diagnostics-metrics strong{display:block!important}.np-diagnostics-metrics small{color:#71838a!important;font-size:9px!important}.np-diagnostics-metrics strong{margin-top:3px!important;font-size:10px!important;overflow-wrap:anywhere!important}.np-diagnostics-actions{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important}.np-diagnostics-actions form{margin:0!important}.np-diagnostics-privacy{margin:12px 0 0!important;padding:10px 12px!important;border-radius:12px!important;background:#f6f8f9!important;color:#687b81!important;font-size:9px!important;line-height:1.8!important}

/* Responsive data tables become readable cards. JS adds data-label attributes. */
@media(max-width:760px){
  .np-booking-shell{padding:0!important;background:#fff!important}.np-booking-shell .np-booking-card{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:100dvh!important}.np-booking-shell .np-booking-hero{padding:12px!important}.np-booking-shell.np-step-engaged .np-booking-hero{display:none!important}.np-booking-shell .np-trust-strip{display:none!important}.np-booking-shell .np-stepper{position:sticky!important;top:0!important;z-index:100!important;padding:9px 8px 8px!important;box-shadow:0 7px 22px rgba(25,52,60,.07)!important}.np-booking-shell .np-stepper:before{top:24px!important;right:calc(10% + 13px)!important;left:calc(10% + 13px)!important}.np-booking-shell .np-step span{width:28px!important;height:28px!important;font-size:10px!important;box-shadow:0 0 0 3px #fff!important}.np-booking-shell .np-step b{font-size:8.5px!important;margin-top:4px!important}.np-booking-shell .np-panel{padding:16px 12px 92px!important;scroll-margin-top:56px!important}.np-booking-shell .np-date-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.np-booking-shell .np-date-card{min-height:92px!important;border-radius:14px!important}.np-booking-shell .np-slot-block{padding:12px!important;border-radius:17px!important}.np-booking-shell .np-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.np-booking-shell .np-action-row{position:fixed!important;right:0!important;left:0!important;bottom:0!important;z-index:99!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;margin:0!important;padding:10px 12px max(10px,env(safe-area-inset-bottom))!important;border-top:1px solid #e1e8ea!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)!important;box-shadow:0 -8px 26px rgba(22,50,57,.07)!important}.np-booking-shell .np-action-row>.np-button:only-child,.np-booking-shell .np-action-row>.np-button:last-child{min-width:128px!important}.np-booking-shell .np-selection-summary{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.np-booking-shell .np-calendar-sheet{position:fixed!important;right:0!important;left:0!important;bottom:0!important;max-height:88dvh!important;border-radius:22px 22px 0 0!important}.np-app .np-toast{left:10px!important;right:10px!important;bottom:78px!important;max-width:none!important}

  .np-admin-portal-page .np-portal-content{padding:12px!important}.np-admin-portal-page .np-admin-card{border-radius:16px!important;padding:13px!important}.np-admin-portal-page .np-stat-grid,.np-admin-portal-page .np-dashboard-stats,.np-admin-portal-page .np-ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.np-diagnostics-metrics{grid-template-columns:1fr!important}.np-diagnostics-actions,.np-diagnostics-actions form,.np-diagnostics-actions button{width:100%!important}
  .np-admin-portal-page table.np-ui-responsive-table thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.np-admin-portal-page table.np-ui-responsive-table,.np-admin-portal-page table.np-ui-responsive-table tbody,.np-admin-portal-page table.np-ui-responsive-table tr,.np-admin-portal-page table.np-ui-responsive-table td{display:block!important;width:100%!important}.np-admin-portal-page table.np-ui-responsive-table tbody{display:grid!important;gap:10px!important}.np-admin-portal-page table.np-ui-responsive-table tr{padding:10px 11px!important;border:1px solid #e0e8ea!important;border-radius:14px!important;background:#fff!important}.np-admin-portal-page table.np-ui-responsive-table td{display:grid!important;grid-template-columns:minmax(86px,35%) minmax(0,1fr)!important;gap:8px!important;padding:8px 2px!important;border:0!important;border-bottom:1px dashed #e8edef!important}.np-admin-portal-page table.np-ui-responsive-table td:last-child{border-bottom:0!important}.np-admin-portal-page table.np-ui-responsive-table td:before{content:attr(data-label);color:#71838a;font-size:9px;font-weight:850!important}.np-admin-portal-page .np-row-actions-panel{max-width:calc(100vw - 48px)!important}
}
@media(max-width:430px){.np-booking-shell .np-date-strip,.np-booking-shell .np-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.np-admin-portal-page .np-stat-grid,.np-admin-portal-page .np-dashboard-stats,.np-admin-portal-page .np-ui-kpi-grid{grid-template-columns:1fr!important}.np-booking-shell .np-action-row{grid-template-columns:1fr!important}.np-booking-shell .np-action-row .np-selection-summary{display:none!important}.np-booking-shell .np-action-row .np-button{width:100%!important}}
@media(prefers-reduced-motion:reduce){.np-app *,.np-portal *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* source: assets/css/nobat-yar-ui-polish-1.0.4.css */
/* Nobat Yar 1.0.4 — final visual polish. Loaded after the main 1.0.4 UI layer. */
.np-booking-shell .np-stepper{grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important}
.np-booking-shell .np-step{width:100%!important}
.np-site-font-note{display:grid;gap:3px;padding:12px 14px;border:1px solid #dce7e9;border-radius:13px;background:#f7fafb;color:#536b72}.np-site-font-note strong{color:#2e4a52;font-size:12px}.np-site-font-note small{color:#72848a;line-height:1.8}

/* Patient note should look like clinical context, not a debug appendage. */
.np-patient-note-preview{display:grid;gap:3px;max-width:320px;margin-top:8px;padding:9px 10px;border:1px solid #d9e7e5;border-radius:11px;background:#f3faf8;color:#405e59;line-height:1.75}.np-patient-note-preview b{font-size:9px;color:#16735f}.np-patient-note-preview span{font-size:10px;overflow-wrap:anywhere;white-space:normal}

/* Dashboard and payment KPIs */
.np-admin-portal-page .np-admin-stat-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:11px!important}.np-admin-portal-page .np-admin-stat{position:relative!important;min-width:0!important;padding:15px 16px!important;border:1px solid #e0e8ea!important;border-radius:17px!important;background:#fff!important;box-shadow:0 7px 24px rgba(20,52,60,.04)!important;overflow:hidden!important}.np-admin-portal-page .np-admin-stat:after{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:var(--np-primary);opacity:.58}.np-admin-portal-page .np-admin-stat>span{display:block;color:#677c82!important;font-size:10px!important;font-weight:800!important}.np-admin-portal-page .np-admin-stat>strong{display:block;margin:5px 0 2px;color:#243e46!important;font-size:clamp(22px,2.8vw,30px)!important;line-height:1.25!important}.np-admin-portal-page .np-admin-stat>small{display:block;color:#829197!important;font-size:9px!important;line-height:1.7!important}.np-admin-portal-page .np-stat-clinic:after{background:#96701f}.np-admin-portal-page .np-dashboard-hero{align-items:center!important}.np-admin-portal-page .np-dashboard-primary-grid{gap:14px!important}.np-admin-portal-page .np-next-appointment{gap:9px!important}.np-admin-portal-page .np-next-appointment>div{padding:13px!important;border:1px solid #e2e9eb!important;border-radius:13px!important;background:#fafcfc!important}

/* Payment manual review is intentionally visually distinct from failure. */
.np-admin-callout.np-health-warning{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:0 0 14px!important;padding:12px 14px!important;border:1px solid #eed7a5!important;border-radius:14px!important;background:#fff9ed!important;color:#6e571d!important}.np-admin-callout.np-health-warning strong{font-weight:900!important}.np-admin-callout.np-health-warning span{flex:1 1 260px!important;color:#7f692d!important}.np-pay-verify_review,.np-payment-state.np-pay-verify_review{border:1px solid #e8cf94!important;background:#fff7e4!important;color:#866318!important}.np-pay-verify_pending,.np-payment-state.np-pay-verify_pending{border:1px solid #c8ddeb!important;background:#f0f7fb!important;color:#35677f!important}.np-warning-text{color:#9b6c12!important}

/* Weekly schedule becomes a real set of day cards. */
.np-admin-portal-page .np-workday-list{display:grid!important;gap:11px!important}.np-admin-portal-page .np-workday-card{overflow:hidden!important;border:1px solid #e0e8ea!important;border-radius:18px!important;background:#f8fafb!important;box-shadow:none!important;transition:background var(--np-ui-motion),border-color var(--np-ui-motion),box-shadow var(--np-ui-motion),opacity var(--np-ui-motion)!important}.np-admin-portal-page .np-workday-card.is-enabled{border-color:color-mix(in srgb,var(--np-primary) 25%,#dce6e8)!important;background:#fff!important;box-shadow:0 7px 22px rgba(20,52,60,.04)!important}.np-admin-portal-page .np-workday-main{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:15px!important}.np-admin-portal-page .np-day-toggle{display:flex!important;align-items:center!important;gap:9px!important;min-width:110px!important}.np-admin-portal-page .np-day-toggle>span{position:relative!important;width:38px!important;height:22px!important;border-radius:999px!important;background:#dce4e6!important;box-shadow:inset 0 0 0 1px #d2dcde!important}.np-admin-portal-page .np-day-toggle>span:after{content:"";position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(20,50,57,.18);transition:transform var(--np-ui-motion)!important}.np-admin-portal-page .np-day-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important}.np-admin-portal-page .np-day-toggle input:checked+span{background:var(--np-primary)!important;box-shadow:none!important}.np-admin-portal-page .np-day-toggle input:checked+span:after{transform:translateX(-16px)!important}.np-admin-portal-page .np-day-toggle strong{color:#415b63!important}.np-admin-portal-page .np-work-hours{display:flex!important;align-items:end!important;gap:8px!important;flex-wrap:wrap!important}.np-admin-portal-page .np-work-hours label{display:grid!important;gap:4px!important}.np-admin-portal-page .np-work-hours label span{font-size:9px!important;color:#76888e!important;font-weight:800!important}.np-admin-portal-page .np-work-hours i{padding-bottom:12px!important;color:#8b999d!important;font-style:normal!important}.np-admin-portal-page .np-break-area{padding:13px 15px 15px!important;border-top:1px solid #edf1f2!important;background:#fbfdfd!important}.np-admin-portal-page .np-break-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:9px!important}.np-admin-portal-page .np-break-title small{display:block;margin-top:2px;color:#87969a!important;font-size:8.5px!important}.np-admin-portal-page .np-mini-button{min-height:34px!important;padding:5px 9px!important;border:1px solid #d6e3e5!important;border-radius:9px!important;background:#fff!important;color:var(--np-primary)!important;font-weight:850!important}.np-admin-portal-page .np-mini-button:hover{border-color:var(--np-primary)!important;background:color-mix(in srgb,var(--np-primary) 4%,#fff)!important}.np-admin-portal-page .np-break-list{display:grid!important;gap:7px!important;margin-top:10px!important}.np-admin-portal-page .np-break-row{display:grid!important;grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr) 34px!important;align-items:center!important;gap:7px!important;padding:8px!important;border:1px solid #e1e9ea!important;border-radius:11px!important;background:#fff!important}.np-admin-portal-page .np-break-row>button{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border:0!important;border-radius:9px!important;background:#fff0f2!important;color:#b4233b!important;font-size:18px!important}.np-admin-portal-page .np-empty-break{margin:9px 0 0!important;padding:8px!important;border-radius:10px!important;background:#f3f6f7!important;color:#819095!important;font-size:9px!important;text-align:center!important}

/* Month overview and special dates */
.np-admin-portal-page .np-month-grid{gap:7px!important}.np-admin-portal-page .np-month-day{min-height:112px!important;padding:9px!important;border:1px solid #e0e8ea!important;border-radius:14px!important;background:#fff!important;color:#314a52!important;text-decoration:none!important;box-shadow:none!important}.np-admin-portal-page .np-month-day:hover{border-color:color-mix(in srgb,var(--np-primary) 35%,#dce5e7)!important;box-shadow:0 8px 22px rgba(20,52,60,.07)!important;transform:translateY(-1px)!important}.np-admin-portal-page .np-month-day.is-today{box-shadow:inset 0 0 0 2px var(--np-primary)!important}.np-admin-portal-page .np-month-day.is-closed,.np-admin-portal-page .np-month-day.np-day-status-closed,.np-admin-portal-page .np-month-day.np-day-status-leave,.np-admin-portal-page .np-month-day.np-day-status-capacity_full,.np-admin-portal-page .np-month-day.np-day-status-stopped{border-color:#efc9cf!important;background:#fff4f5!important;color:#9f3145!important}.np-admin-portal-page .np-month-day-stats{display:grid!important;gap:2px!important;margin-top:8px!important}.np-admin-portal-page .np-month-day-stats span,.np-admin-portal-page .np-month-day-stats small{font-size:8.5px!important;color:inherit!important;opacity:.78}.np-admin-portal-page .np-month-day-stats b{font-size:9px!important;color:inherit!important}.np-admin-portal-page .np-exception-list{display:grid!important;gap:9px!important;margin-top:18px!important}.np-admin-portal-page .np-exception-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 13px!important;border:1px solid #e0e8ea!important;border-radius:14px!important;background:#fff!important}.np-admin-portal-page .np-exception-card>div{min-width:0!important}.np-admin-portal-page .np-exception-card strong{display:block!important;color:#304c54!important}.np-admin-portal-page .np-exception-card small{display:block!important;margin-top:2px!important;color:#71858b!important}

/* Modern switches and form sections throughout settings. */
.np-admin-portal-page .np-switch-card{border:1px solid #e0e8ea!important;border-radius:14px!important;background:#fbfcfd!important}.np-admin-portal-page .np-switch-card:hover{border-color:#cbdadd!important;background:#fff!important}.np-admin-portal-page .np-form-section{border:1px solid #e1e9eb!important;border-radius:16px!important;background:#fafcfc!important}.np-admin-portal-page fieldset.np-provider-fields{border:1px solid #dfe7e9!important;border-radius:16px!important;background:#fbfcfd!important}.np-admin-portal-page fieldset.np-provider-fields legend{padding-inline:7px!important;color:#405b63!important;font-weight:900!important}

/* Upload and patient-facing states */
.np-booking-shell .np-upload-physical-fallback{margin-top:10px!important;padding-top:10px!important;border-top:1px dashed #dce5e7!important}.np-booking-shell .np-upload-physical-fallback button{background:#fff!important;border:1px solid #e2c87d!important;color:#81631d!important;box-shadow:none!important}.np-booking-shell .np-upload-physical-fallback button:hover{background:#fff9e9!important;border-color:#d3b25b!important;color:#705515!important}.np-booking-shell [data-error]:empty,.np-booking-shell [data-nootp-error]:empty{display:none!important}

/* Compact, readable responsive refinements. */
@media(max-width:760px){
 .np-admin-portal-page .np-workday-main{align-items:stretch!important;flex-direction:column!important}.np-admin-portal-page .np-work-hours{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:end!important}.np-admin-portal-page .np-work-hours select{width:100%!important}.np-admin-portal-page .np-break-title{align-items:flex-start!important}.np-admin-portal-page .np-break-row{grid-template-columns:1fr auto 1fr 32px!important}.np-admin-portal-page .np-month-weekdays{font-size:8px!important}.np-admin-portal-page .np-month-grid{gap:4px!important}.np-admin-portal-page .np-month-day{min-height:88px!important;padding:6px!important;border-radius:10px!important}.np-admin-portal-page .np-month-day>div:first-child small{display:none!important}.np-admin-portal-page .np-month-day-stats span,.np-admin-portal-page .np-month-day-stats small{display:none!important}.np-admin-portal-page .np-month-day-stats b{font-size:7.5px!important;line-height:1.45!important}.np-admin-portal-page .np-exception-card{align-items:flex-start!important;flex-direction:column!important}.np-patient-note-preview{max-width:none!important}.np-booking-shell .np-stepper{grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important}
}
@media(max-width:430px){.np-admin-portal-page .np-break-row{grid-template-columns:1fr 26px 1fr!important}.np-admin-portal-page .np-break-row>button{grid-column:1/-1!important;width:100%!important;height:30px!important}.np-admin-portal-page .np-month-day{min-height:74px!important}.np-admin-portal-page .np-month-day-stats{margin-top:4px!important}.np-admin-portal-page .np-month-day-stats b{font-size:7px!important}}

/* source: assets/css/final-mobile-qa-1.0.6.css */
/* Nobat Yar final field-QA patch: mobile booking stability and readability. */

/* Doctor-facing/patient notes: keep clinical context readable. */
.np-appointment-clinical{display:block!important;max-width:360px!important;margin-top:8px!important;padding:0!important;border:1px solid #d9e6e7!important;border-radius:12px!important;background:#f8fbfb!important;overflow:hidden!important}
.np-appointment-clinical>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:9px 11px!important;color:#31545b!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important;list-style:none!important}
.np-appointment-clinical>summary::-webkit-details-marker{display:none}.np-appointment-clinical>summary:after{content:'⌄';font-size:14px;transition:transform .16s ease}.np-appointment-clinical[open]>summary:after{transform:rotate(180deg)}
.np-patient-note-preview{background:#f2faf7!important;border-color:#d8e9e5!important}.np-patient-note-text{max-height:190px;padding:11px 13px;border-top:1px solid #d8e9e5;color:#405d56;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere}
.np-booking-shell textarea[data-note]{min-height:132px!important;resize:vertical!important;line-height:1.9!important}
.np-appointment-files{background:#f7fbfd!important}.np-appointment-file-list{display:grid;gap:6px;padding:0 9px 9px;border-top:1px solid #d9e6eb}.np-appointment-file-link{display:grid;gap:2px;margin-top:8px;padding:9px 10px;border:1px solid #e1eaed;border-radius:9px;background:#fff;color:var(--np-primary)!important;text-decoration:none!important;overflow-wrap:anywhere}.np-appointment-file-link strong{font-size:11px}.np-appointment-file-link small{color:#71858b;font-size:9px;font-weight:700}.np-appointment-file-link:hover{border-color:color-mix(in srgb,var(--np-primary) 30%,#dbe8ec);box-shadow:0 5px 14px rgba(22,66,76,.06)}
.np-appointment-files-state{font-size:12px;line-height:1.8;color:#50666e}.np-appointment-files[data-state="loading"]{background:#f7fbff;border-color:#d7e7f7}.np-appointment-files[data-state="error"]{background:#fff8f7;border-color:#efcfca}.np-appointment-files[data-state="error"] .np-appointment-files-state{color:#8a3f36}.np-appointment-files-retry{justify-self:start;border:1px solid color-mix(in srgb,var(--np-primary) 36%,#d7e4e8);border-radius:9px;background:#fff;color:var(--np-primary);font:inherit;font-size:12px;font-weight:800;padding:7px 11px;cursor:pointer}.np-appointment-files-retry:hover,.np-appointment-files-retry:focus-visible{background:color-mix(in srgb,var(--np-primary) 8%,#fff);outline:2px solid color-mix(in srgb,var(--np-primary) 32%,transparent);outline-offset:2px}

/* Scheduling actions and time controls use the product blue treatment. */
.np-admin-portal-page .np-workday-card .np-button-primary,
.np-admin-portal-page .np-workday-card button[type="submit"],
.np-admin-portal-page .np-mini-button{border-color:color-mix(in srgb,var(--np-primary) 32%,#d7e4e8)!important;color:var(--np-primary)!important}
.np-admin-portal-page .np-day-toggle input:checked+span{background:var(--np-primary)!important}
.np-admin-portal-page .np-time-select{border:1px solid color-mix(in srgb,var(--np-primary) 28%,#cad9df)!important;background:#fff!important;color:#183f55!important;box-shadow:none!important}
.np-admin-portal-page .np-time-select:hover{border-color:color-mix(in srgb,var(--np-primary) 58%,#cad9df)!important}
.np-admin-portal-page .np-time-select:focus{border-color:var(--np-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--np-primary) 16%,transparent)!important;outline:none!important}

/* SMS operations: distinguish gateway acceptance from handset delivery. */
.np-sms-cron-health{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:14px 16px;border:1px solid #dce7e9;border-radius:15px;background:#f7fbfb}.np-sms-cron-health strong{display:block;color:#244b53}.np-sms-cron-health p{margin:4px 0 0;color:#637980;font-size:11px;line-height:1.8}.np-sms-cron-health.is-healthy{border-color:#cce8dc;background:#f3fbf7}.np-sms-cron-health.is-healthy strong{color:#28705d}.np-sms-cron-health.is-warning{border-color:#edd8aa;background:#fffaf0}.np-sms-cron-health.is-warning strong{color:#805f1e}.np-sms-monitor-stats .is-delivered{border-color:#cce8dc!important;background:#f3fbf7!important;color:#28705d!important}.np-delivery-state{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#eef4f5;color:#47636b;font-size:10px;font-weight:850;white-space:nowrap}.np-delivery-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#8aa0a6}.np-delivery-state.is-delivered{background:#edf9f4;color:#24705a}.np-delivery-state.is-delivered:before{background:#31a57f}.np-delivery-state.is-undelivered,.np-delivery-state.is-failed{background:#fff0f0;color:#a1434b}.np-delivery-state.is-undelivered:before,.np-delivery-state.is-failed:before{background:#d45c66}.np-delivery-state.is-accepted,.np-delivery-state.is-pending{background:#eef7ff;color:#28658b}.np-delivery-state.is-accepted:before,.np-delivery-state.is-pending:before{background:#438fbe}.np-sms-monitor td code{display:block;max-width:180px;overflow-wrap:anywhere;white-space:normal}

/* Sidebar/settings group buttons keep readable contrast in all states. */
.np-admin-portal-page .np-portal-nav-group-toggle{background:#f4f8fb!important;color:#244b61!important;border-color:#d8e5ec!important}
.np-admin-portal-page .np-portal-nav-group-toggle:hover,.np-admin-portal-page .np-portal-nav-group-toggle:focus-visible{background:color-mix(in srgb,var(--np-primary) 10%,#fff)!important;color:var(--np-primary)!important;border-color:color-mix(in srgb,var(--np-primary) 35%,#d8e5ec)!important}
.np-admin-portal-page .np-portal-nav-group-toggle[aria-expanded="true"],.np-admin-portal-page .np-portal-nav-group.is-open>.np-portal-nav-group-toggle{background:var(--np-primary)!important;color:#fff!important;border-color:var(--np-primary)!important}

/* Settings cards: remove low-contrast danger/red surfaces unless the control is truly destructive. */
.np-admin-portal-page .np-form-section,
.np-admin-portal-page .np-switch-card,
.np-admin-portal-page fieldset.np-provider-fields{border-color:#dfe8eb!important;background:#fbfdfd!important;color:#314b53!important}

/* Mobile booking: reserve stable space and avoid layout jumps while validation/loading changes. */
.np-booking-shell .np-inline-error{min-height:24px!important}
.np-booking-shell .np-upload-status{min-height:24px!important}
.np-booking-shell .np-action-row{min-height:52px!important}
.np-booking-shell .np-button{touch-action:manipulation!important}
.np-booking-shell .np-button.is-busy{pointer-events:none!important}
.np-booking-shell .np-panel{scroll-margin-top:12px!important}

@media(max-width:700px){
 html:has(.np-booking-shell){scroll-behavior:auto!important}
 .np-booking-shell{overflow-anchor:none!important;contain:layout style!important}
 .np-booking-shell .np-booking-card{overflow:clip!important}
 .np-booking-shell .np-panel{overflow-anchor:none!important;scroll-margin-top:8px!important}
 .np-booking-shell input,.np-booking-shell textarea,.np-booking-shell select{font-size:16px!important}
 .np-booking-shell textarea[data-note]{min-height:140px!important}
 .np-booking-shell .np-action-row{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important}
 .np-booking-shell .np-action-row .np-button{width:100%!important;min-height:50px!important}
 .np-booking-shell .np-action-row .np-selection-summary{width:100%!important;min-width:0!important}
 .np-booking-shell .np-consent{align-items:flex-start!important;line-height:1.9!important}
 .np-booking-shell .np-consent span{font-size:12px!important;line-height:1.9!important}
 .np-booking-shell .np-slot-grid,.np-booking-shell .np-date-strip{overflow-anchor:none!important}
 .np-booking-shell .np-calendar-sheet{max-height:min(88dvh,760px)!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
 .np-appointment-files{max-width:none}
}

@media(max-width:430px){
 .np-booking-shell .np-booking-card{border-radius:16px!important}
 .np-booking-shell .np-panel{padding-inline:14px!important}
 .np-booking-shell .np-action-row{padding-bottom:max(4px,env(safe-area-inset-bottom))!important}
}

/*
 * Keep post-OTP booking actions in the normal document flow. The older UI layer
 * applies a fixed footer only after np-step-engaged is added; that footer covers
 * date/time controls and is the source of the post-login layout break.
 */
@media(max-width:760px){
 .np-app.np-booking-shell.np-step-engaged .np-booking-hero{display:grid!important}
 .np-booking-shell .np-panel{padding-bottom:22px!important}
 .np-booking-shell .np-action-row{position:static!important;right:auto!important;left:auto!important;bottom:auto!important;z-index:auto!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important;margin:20px 0 0!important;padding:15px 0 max(4px,env(safe-area-inset-bottom))!important;border-top:1px solid #edf1f2!important;background:transparent!important;backdrop-filter:none!important;box-shadow:none!important}
 .np-booking-shell .np-action-row>.np-button:only-child,.np-booking-shell .np-action-row>.np-button:last-child{min-width:0!important;width:100%!important}
 .np-booking-shell .np-action-row .np-selection-summary{width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
 .np-app .np-toast{bottom:16px!important}
}

/* source: assets/css/consultation-type-1.0.4.css */
.np-consultation-selector{border:0;margin:22px 0 0;padding:0}.np-consultation-selector legend{margin:0 0 7px;font-size:1.02rem;font-weight:850;color:#173f48}.np-consultation-hint{margin:0 0 14px;color:#6b7c82;font-size:.9rem;line-height:1.8}.np-consultation-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.np-consultation-option{position:relative;display:block;min-width:0;height:100%;cursor:pointer}.np-consultation-option input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.np-consultation-option-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;width:100%;height:100%;min-height:112px;padding:17px 16px;border:1px solid #dce6e8;border-radius:18px;background:linear-gradient(145deg,#fff,#fbfdfd);box-shadow:0 7px 22px rgba(21,61,70,.045);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.np-consultation-option-card:after{content:"";position:absolute;inset-inline-end:-28px;inset-block-end:-34px;width:92px;height:92px;border-radius:50%;background:rgba(13,107,120,.035);pointer-events:none}.np-consultation-option-card>span{min-width:0}.np-consultation-option-card i{position:relative;z-index:1;width:52px;height:52px;display:grid;place-items:center;border:1px solid #dbe9e8;border-radius:16px;background:#eef7f6;color:#0d6b78;font-style:normal;font-size:25px;font-weight:800;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.np-consultation-option input[value="in_person"]+.np-consultation-option-card i{background:#edf7f5;color:#167461}.np-consultation-option input[value="text"]+.np-consultation-option-card i{background:#eef4fb;color:#356b9f}.np-consultation-option input[value="phone"]+.np-consultation-option-card i{background:#f4f0fb;color:#7158a2}.np-consultation-option-card strong{display:block;margin:0;color:#1d3d45;font-size:.98rem;font-weight:850;line-height:1.55}.np-consultation-option-card small{display:block;min-height:3.2em;margin-top:5px;color:#6a7b81;font-size:.78rem;line-height:1.6}.np-consultation-option:hover .np-consultation-option-card{transform:translateY(-2px);border-color:#c8dcdf;box-shadow:0 12px 30px rgba(21,61,70,.075);background:#fff}.np-consultation-option input:focus-visible+.np-consultation-option-card{outline:3px solid rgba(13,107,120,.16);outline-offset:3px}.np-consultation-option input:checked+.np-consultation-option-card{border-color:#0d6b78;background:linear-gradient(145deg,#fff,#f4fbfa);box-shadow:0 0 0 3px rgba(13,107,120,.10),0 12px 30px rgba(21,61,70,.08);transform:translateY(-1px)}.np-consultation-option input:checked+.np-consultation-option-card:before{content:"✓";position:absolute;inset-inline-start:9px;inset-block-start:9px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#0d6b78;color:#fff;font-size:12px;font-weight:900;box-shadow:0 4px 10px rgba(13,107,120,.2)}.np-consultation-option input:checked+.np-consultation-option-card strong{color:#0d5f6b}.np-consultation-selector+.np-field{margin-top:14px}.np-booking-review [data-consultation-review]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #e3ebed;border-radius:12px;background:#f7fafb;margin-top:8px}.np-booking-review [data-consultation-review] strong{color:#173f48}.np-booking-review [data-consultation-review] span{color:#708087}.np-booking-review [data-consultation-review] strong,.np-booking-review [data-consultation-review] span{font-size:.82rem}@media(max-width:900px){.np-consultation-options{gap:10px}.np-consultation-option-card{grid-template-columns:46px minmax(0,1fr);min-height:104px;padding:14px 13px;gap:11px}.np-consultation-option-card i{width:46px;height:46px;border-radius:14px;font-size:22px}}@media(max-width:700px){.np-consultation-options{grid-template-columns:1fr}.np-consultation-option-card{grid-template-columns:48px minmax(0,1fr);min-height:88px}.np-consultation-option-card i{width:48px;height:48px}.np-consultation-option-card small{min-height:0}}@media(prefers-reduced-motion:reduce){.np-consultation-option-card{transition:none}.np-consultation-option:hover .np-consultation-option-card,.np-consultation-option input:checked+.np-consultation-option-card{transform:none}}

/* source: assets/css/field-qa-round2.css */
.np-date-card.is-acceptance-ended,.np-date-card.is-status-stopped,.np-calendar-day.is-acceptance-ended,.np-calendar-day.is-status-stopped,.np-month-day.is-acceptance-ended{background:#fff1f2!important;border-color:#dc2626!important;color:#991b1b!important;box-shadow:0 0 0 1px rgba(220,38,38,.08) inset!important}.np-date-card.is-acceptance-ended small,.np-date-card.is-status-stopped small,.np-calendar-day.is-acceptance-ended small,.np-calendar-day.is-status-stopped small,.np-month-day.is-acceptance-ended .np-month-day-stats b,.np-month-day.is-acceptance-ended small{color:#b91c1c!important;font-weight:800!important}.np-danger-button{background:#dc2626!important;border-color:#b91c1c!important;color:#fff!important}.np-danger-button:hover,.np-danger-button:focus{background:#b91c1c!important;color:#fff!important}.np-doc-count{display:inline-flex;align-items:center;gap:4px;margin:0 0 6px 6px;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:700;font-size:12px}.np-round2-reminders{margin-top:18px;padding-top:18px;border-top:1px solid #e5e7eb}[data-nootp-files-status][data-state="success"],[data-booking-files-status][data-state="success"]{color:#15803d;font-weight:700}[data-nootp-files-status][data-state="error"],[data-booking-files-status][data-state="error"]{color:#b91c1c;font-weight:700}

/* Canonical booking surface rules. These are the final owner of layout state. */
.np-app.np-booking-shell .np-booking-card>.np-booking-hero{grid-template-columns:minmax(0,1fr) auto!important}
.np-app.np-booking-shell .np-booking-card>.np-booking-hero>.np-brand-mark{display:none!important}
@media(max-width:700px){.np-app.np-booking-shell .np-booking-card>.np-booking-hero{grid-template-columns:1fr!important}.np-app.np-booking-shell .np-booking-card>.np-booking-hero>.np-hero-side{width:100%!important;max-width:none!important}}
@container np-booking (max-width:700px){.np-app.np-booking-shell .np-booking-card>.np-booking-hero{grid-template-columns:1fr!important}.np-app.np-booking-shell .np-booking-card>.np-booking-hero>.np-hero-side{width:100%!important;max-width:none!important}}
@media(max-width:760px){.np-app.np-booking-shell.np-step-engaged .np-booking-hero{display:grid!important}.np-booking-shell .np-action-row{position:static!important;right:auto!important;left:auto!important;bottom:auto!important;z-index:auto!important;width:100%!important;margin:20px 0 0!important}}
