.slot-list{display:flex;flex-direction:column;gap:12px}.hour-group{display:grid;grid-template-columns:36px 1fr;align-items:start;gap:10px}.hour-group .hour-label{font-size:13px;font-weight:var(--fw-bold);color:var(--anp-gray-500);padding-top:12px;text-align:right;font-variant-numeric:tabular-nums}.hour-group .hour-slots{display:grid;grid-template-columns:repeat(var(--slot-cols, 3),minmax(0,1fr));gap:8px}.slot-btn{background:var(--anp-white);border:1px solid var(--border-soft);border-radius:10px;padding:10px 8px;min-height:var(--hit-min);cursor:pointer;font:inherit;font-size:14px;font-weight:var(--fw-bold);color:var(--anp-ink);transition:border-color .15s ease,color .15s ease,background .15s ease;min-width:0;text-align:center;line-height:1.2;font-variant-numeric:tabular-nums}.slot-btn:hover:not(:disabled):not(.is-selected){border-color:var(--anp-ocean-500);color:var(--anp-ocean-700)}.slot-btn:disabled{background:var(--anp-gray-100);color:var(--anp-gray-500);cursor:not-allowed}.slot-btn.is-selected{background:var(--anp-ocean-500);color:var(--anp-white);border-color:transparent}.slot-btn.is-selected:hover{background:var(--anp-ocean-700);color:var(--anp-white)}@media(max-width:380px){.hour-group{grid-template-columns:30px 1fr;gap:8px}.hour-group .hour-slots{gap:6px}.slot-btn{padding:9px 4px;font-size:13.5px}}.doctor-info{background:var(--bg-canvas);border-radius:12px;padding:12px 14px;margin-bottom:14px}.doctor-info.is-context{background:none;border-radius:0;border-bottom:1px solid var(--border-soft);padding:0 2px var(--space-4)}.doctor-info.is-chosen{background:var(--bg-canvas);border-radius:12px;border-bottom:0;padding:12px 14px;margin-bottom:12px}.doctor-info.is-chosen .name{font-size:var(--fs-body)}.doctor-info.is-chosen .fee{margin-top:4px}.doctor-info .row1{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.doctor-info .row1 .who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.doctor-info .row1 .who .name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doctor-info .name{font-size:var(--fs-h4);font-weight:var(--fw-extrabold);color:var(--anp-ink);line-height:var(--lh-tight)}.doctor-info .name .star{color:var(--anp-yellow-500);margin-left:4px}.doctor-info .pill{display:inline-flex;align-items:center;background:var(--status-success-bg);color:var(--status-success-strong);padding:4px 10px;border-radius:999px;font-size:var(--fs-micro);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);flex-shrink:0;white-space:nowrap}.doctor-info .pill.s-almost-full{background:var(--status-warning-bg);color:var(--status-warning-strong)}.doctor-info .pill.s-full{background:var(--status-danger-bg);color:var(--status-danger-strong)}.doctor-info .when,.doctor-info .specialty-head{font-size:var(--fs-caption);color:var(--anp-gray-700);display:flex;align-items:center;gap:5px;line-height:1.35}.doctor-info .when{margin-top:0}.doctor-info .specialty-head{margin-top:12px}.doctor-info .when strong,.doctor-info .specialty-head strong{font-weight:var(--fw-bold);color:var(--anp-ink)}.doctor-info .row1 .fee{flex:none;margin-top:0;text-align:right;line-height:1.15}.doctor-info .row1 .fee .amt{display:block;font-size:var(--fs-body);font-weight:var(--fw-extrabold);color:var(--anp-ocean-700);white-space:nowrap}.doctor-info .row1 .fee small{display:block;margin-top:1px;font-size:10.5px;font-weight:var(--fw-medium);color:var(--anp-gray-500)}.doctor-info .specialty-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.doctor-info .specialty-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-sunken);border:1px solid var(--border-soft);border-radius:var(--radius-pill);padding:3px 8px;font-size:11.5px;line-height:1.4;font-weight:var(--fw-bold);color:var(--anp-gray-900);white-space:nowrap}.doctor-info .specialty-hint{margin-top:6px;font-size:11.5px;line-height:1.4;color:var(--anp-gray-700)}.doctor-info .specialty-hint a{color:var(--fg-brand);font-weight:var(--fw-bold);text-decoration:none;white-space:nowrap}.doctor-info .specialty-hint a:hover{text-decoration:underline}.doctor-info.is-context:not(.is-chosen) .specialty-hint{display:none}.doctor-info .note{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.08);font-size:11.5px;line-height:1.4;color:var(--anp-gray-700);font-style:italic}.doctor-info .pill.s-reexam{background:var(--status-info-bg);color:var(--status-info-strong)}.step-section h3{font-size:11px;font-weight:var(--fw-bold);color:var(--anp-gray-500);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.booking-form{display:flex;flex-direction:column;gap:12px;margin-top:16px;scroll-margin-top:var(--space-16)}.booking-form .summary{background:var(--bg-canvas);padding:0 14px;border-radius:10px;font-size:13.5px;color:var(--anp-gray-700);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.booking-form .summary strong{color:var(--anp-ink);font-weight:var(--fw-bold)}.booking-form .summary-text{padding:10px 0;min-width:0}.booking-form .form-fields{display:flex;flex-direction:column;gap:12px}.booking-form .form-row-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:480px){.booking-form .form-row-pair{grid-template-columns:1fr;gap:12px}}.booking-form label,.wl-lbl{display:block;font-size:12.5px;font-weight:var(--fw-bold);color:var(--anp-gray-700);margin-bottom:4px;letter-spacing:.01em}.booking-form input,.booking-form textarea,.wl-in{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;font:inherit;font-size:14.5px;background:var(--anp-white);color:var(--anp-ink)}.booking-form input:focus,.booking-form textarea:focus,.wl-in:focus{outline:2px solid var(--anp-ocean-500);outline-offset:1px;border-color:transparent}.booking-form textarea{resize:vertical;min-height:60px;font-family:inherit}.submit-big,.wl-send{width:100%;padding:12px 20px;background:var(--anp-ocean-500);color:var(--anp-white);border:none;border-radius:var(--radius-sm);font:inherit;font-weight:var(--fw-bold);font-size:15.5px;cursor:pointer;margin-top:2px;transition:background .15s ease}.submit-big:hover:not(:disabled),.wl-send:hover:not(:disabled){background:var(--anp-ocean-700)}.submit-big:disabled,.wl-send:disabled{opacity:.5;cursor:not-allowed}a.submit-big{display:block;text-align:center;text-decoration:none;box-sizing:border-box}.booking-form .field-locked{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;font-size:14.5px;background:var(--bg-sunken);color:var(--anp-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.booking-form .field-note{margin:-4px 0 0;font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--anp-gray-500)}.error-box{background:var(--status-danger-bg);border-left:3px solid var(--status-danger);padding:12px 14px;border-radius:6px;margin-bottom:14px;color:var(--status-danger-strong);font-size:13px;text-align:left}.confirmation{text-align:center;padding:4px 0}.conf-hero{margin:0 0 20px}.conf-check{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;margin:0 auto 12px;background:var(--status-success-bg);color:var(--status-success-strong);font-size:26px;line-height:1}.conf-hero .conf-title{font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:normal;margin:0 0 6px;font-weight:var(--fw-extrabold);color:var(--anp-ink)}.conf-check.is-info{background:var(--status-info-bg);color:var(--status-info-strong);font-weight:var(--fw-extrabold)}.conf-sub{color:var(--anp-gray-700);margin:0 auto;max-width:42ch;font-size:var(--fs-body-sm);line-height:var(--lh-normal)}.ticket-zone{text-align:left;background:var(--ticket-bg, var(--bg-canvas));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:0 0 24px;overflow:hidden}.ticket-main{background:var(--ticket-bg, var(--bg-canvas))}.ticket-top{padding:18px 22px 12px;text-align:center}.ticket-label{display:block;font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--anp-gray-500);margin-bottom:4px}.ticket-code{font-size:33px;font-weight:var(--fw-extrabold);color:var(--anp-ocean-900);letter-spacing:.06em;font-variant-numeric:tabular-nums;line-height:1.1}.ticket-perf{height:0;border-top:2px dashed var(--border-medium);margin:0}.ticket-body{padding:16px 22px 18px}.ticket-actions{padding:16px 22px 18px;display:flex;flex-direction:column;gap:10px}.ticket-grid,.ticket-invoice{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:0}.ticket-invoice{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border-medium)}.tcell{min-width:0}.tcell.wide{grid-column:1 / -1}.tcell dt{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--anp-gray-500);margin:0 0 3px}.tcell dd{margin:0;font-size:15px;font-weight:var(--fw-semibold);color:var(--anp-ink);line-height:1.35;overflow-wrap:anywhere}.tcell-muted{color:var(--anp-gray-500);font-weight:var(--fw-medium)}.ticket-zalo{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;padding:11px 13px;background:var(--anp-ocean-50);border-radius:var(--radius-sm);font-size:13px;line-height:1.45;color:var(--anp-ocean-900);text-wrap:wrap}.ticket-zalo .tz-ico{flex:none;font-size:15px;line-height:1.3}.ticket-zalo .tz-text{flex:1 1 auto;min-width:0}.ticket-zalo strong{font-weight:var(--fw-bold)}.post-booking-notes{font-size:var(--fs-body-sm);line-height:var(--lh-normal);color:var(--anp-gray-700);margin-bottom:16px;text-align:left}.post-booking-notes .notes-title{display:flex;gap:8px;align-items:baseline;margin:0 0 10px}.post-booking-notes .notes-title .ico{flex:0 0 1.4em;text-align:center}.post-booking-notes .notes-foot{margin:12px 0 0;padding-left:calc(1.4em + 8px)}.post-booking-notes .notes-list{list-style:none;margin:0;padding-left:calc(1.4em + 8px);display:flex;flex-direction:column;gap:9px}.post-booking-notes .notes-list li{display:flex;gap:8px;align-items:baseline}.post-booking-notes .notes-list .ico{flex:0 0 1.4em;text-align:center}.post-booking-notes strong{color:var(--anp-ink)}.post-booking-notes a{color:var(--anp-ocean-700);text-decoration:underline}.confirmation-actions{display:flex;gap:10px;flex-wrap:wrap}.confirmation-actions .download-btn{flex:1 1 auto;padding:12px;background:var(--anp-white);color:var(--anp-ocean-700);border:1px solid var(--anp-ocean-500);border-radius:var(--radius-sm);font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-body-sm);cursor:pointer}.confirmation-actions .download-btn:hover:not(:disabled){background:var(--anp-ocean-50)}.confirmation-actions .download-btn:disabled{opacity:.5;cursor:not-allowed}.confirmation-actions .done-btn{flex:1 1 auto;padding:12px;background:var(--anp-white);color:var(--anp-ocean-700);border:1px solid var(--anp-ocean-500);border-radius:var(--radius-sm);font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-body-sm);cursor:pointer}.confirmation-actions .done-btn:hover{background:var(--anp-ocean-50)}.confirmation-actions .rs-back-btn{flex:1 1 auto;padding:12px;background:var(--anp-white);color:var(--anp-gray-700);border:1px solid var(--anp-gray-300);border-radius:var(--radius-sm);font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-body-sm);cursor:pointer;transition:background .12s ease,border-color .12s ease}.confirmation-actions .rs-back-btn:hover{background:var(--anp-gray-100);border-color:var(--anp-gray-300)}.cal-btn{width:100%;padding:13px;background:var(--anp-green-500);color:var(--anp-white);border:none;border-radius:var(--radius-sm);font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-body-sm);cursor:pointer}.cal-btn:hover{background:var(--anp-green-700)}.manage-link{display:block;text-align:center;margin-top:12px;font-size:var(--fs-caption);color:var(--anp-ocean-700);text-decoration:underline}.submit-big.is-busy,.done-btn.is-busy{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.submit-big.is-busy:disabled{opacity:1;cursor:progress}.btn-spin{flex:none;width:1em;height:1em;box-sizing:border-box;border-radius:50%;border:2px solid currentColor;border-right-color:transparent}.dob-field{position:relative}.booking-form .dob-field.has-echo input{padding-right:108px}.dob-echo{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;white-space:nowrap;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--status-success-strong)}.dob-echo:empty{display:none}.dob-note{margin:5px 0 0;font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--status-warning-strong)}.conf-greet{margin:0 auto 6px;max-width:34ch;text-wrap:balance;font-size:var(--fs-body);line-height:var(--lh-snug);font-weight:var(--fw-bold);color:var(--anp-ocean-700)}.conf-check{position:relative}.conf-check .icon{display:block}@media(prefers-reduced-motion:no-preference){.slot-btn:active:not(:disabled){transform:scale(.96)}.slot-btn.is-picked{animation:bk-pick var(--dur-med) var(--ease-bounce)}.btn-spin{animation:bk-spin .8s linear infinite}.dob-echo.is-new{animation:bk-echo var(--dur-med) var(--ease-soft)}.confirmation.is-new .conf-check.is-ok{animation:bk-pop var(--dur-med) var(--ease-bounce) both}.confirmation.is-new .conf-check.is-ok path{stroke-dasharray:24;stroke-dashoffset:-24;animation:bk-draw var(--dur-slow) var(--ease-soft) .12s forwards}.confirmation.is-new .conf-check.is-ok:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--status-success);opacity:0;pointer-events:none;animation:bk-ring var(--dur-slow) ease-out .22s}.confirmation.is-new .conf-greet{animation:bk-rise var(--dur-med) var(--ease-soft) .26s both}.confirmation.is-new>:not(.conf-hero){animation:bk-settle var(--dur-med) var(--ease-soft) .16s both}@keyframes bk-pick{0%{transform:scale(.95)}to{transform:none}}@keyframes bk-spin{to{transform:rotate(360deg)}}@keyframes bk-echo{0%{opacity:0;transform:translate(6px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes bk-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@keyframes bk-draw{to{stroke-dashoffset:0}}@keyframes bk-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes bk-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes bk-settle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.booking-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:stretch;justify-content:flex-end}.booking-modal[hidden]{display:none}.booking-overlay{position:absolute;inset:0;background:#00000073;animation:fadeIn .2s ease}.booking-sheet{position:relative;background:var(--anp-white);width:100%;max-width:480px;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;box-shadow:-10px 0 30px #0000001f;animation:slideRight .25s ease;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-header{padding:10px 10px 10px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--anp-gray-100);position:sticky;top:0;background:var(--anp-white);z-index:1}.sheet-header h2{margin:0;font-size:18px;font-weight:var(--fw-extrabold);color:var(--anp-ocean-900)}.sheet-close{background:transparent;border:0;font-size:26px;cursor:pointer;width:var(--hit-min);height:var(--hit-min);line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--anp-gray-700)}.sheet-close:hover{background:var(--anp-gray-100)}.sheet-body{padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));flex:1 1 auto}.slot-empty{color:var(--anp-gray-500);font-size:14px;text-align:center;padding:24px 12px;background:var(--anp-gray-100);border-radius:8px}.slot-loading{color:var(--anp-gray-500);font-size:14px;text-align:center;padding:24px}.slot-error{color:var(--status-danger-strong);font-size:13px;background:var(--status-danger-bg);padding:12px 14px;border-radius:6px;text-align:center}.near-close{background:var(--status-warning-bg);border:1px solid var(--status-warning);border-radius:var(--radius-md);padding:14px 16px;text-align:left}.wl-wrap{margin-top:12px}.wl-form{display:flex;flex-direction:column;gap:12px}.wl-lane{display:flex;gap:var(--space-2)}.wl-lane input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}.wl-lane label{flex:1 1 0;display:flex;align-items:center;justify-content:center;padding:10px var(--space-3);text-align:center;border:1px solid var(--border-soft);border-radius:10px;background:var(--anp-white);color:var(--anp-gray-700);font-size:14.5px;font-weight:var(--fw-bold);cursor:pointer;user-select:none;transition:border-color var(--dur-fast) var(--ease-soft),color var(--dur-fast) var(--ease-soft)}.wl-lane input:checked+label{border-color:var(--anp-ocean-500);background:var(--anp-ocean-50);color:var(--anp-ocean-700)}.wl-lane input:focus-visible+label{outline:2px solid var(--anp-ocean-300);outline-offset:2px}.wl-when:not([hidden]){display:flex;flex-direction:column}.wl-hint{margin:4px 0 0;font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--anp-gray-500)}.wl-err{margin:2px 0 0;font-size:var(--fs-body-sm);color:var(--status-danger-strong)}.wl-done{margin:12px 0 0;padding:12px 14px;background:var(--status-success-bg);border-radius:var(--radius-md);color:var(--status-success-strong);font-size:var(--fs-body);line-height:1.55}.near-close p{margin:0 0 8px;font-size:var(--fs-body-sm);line-height:var(--lh-normal);color:var(--anp-gray-700)}.near-close p:last-child{margin-bottom:0}.near-close strong{font-weight:var(--fw-bold);color:var(--anp-ink)}.near-close .nc-head{font-size:15px;font-weight:var(--fw-bold);color:var(--anp-ink);margin-bottom:8px}.near-close .nc-foot{margin-top:10px;padding-top:9px;border-top:1px dashed var(--status-warning);color:var(--anp-gray-500)}.slot-list>.contact-row,.recovery-panel>.contact-row{margin-bottom:0}.recovery-panel>.near-close{background:none;border:0;padding:0;margin:8px 0 12px}.booking-form label.invoice-toggle,.booking-form label.company-toggle{display:flex!important;align-items:center;gap:10px;cursor:pointer;padding:6px 0;margin:0!important;font-size:14px;color:var(--anp-ink)}.booking-form label.invoice-toggle input[type=checkbox],.booking-form label.company-toggle input[type=checkbox]{width:18px!important;height:18px!important;padding:0!important;border-radius:3px!important;border:1px solid var(--border-medium)!important;background:var(--anp-white);accent-color:var(--anp-ocean-500);cursor:pointer;flex-shrink:0}.booking-form label.invoice-toggle span,.booking-form label.company-toggle span{font-weight:var(--fw-bold);color:var(--anp-ink);font-size:14px}.invoice-section,.company-section{display:flex;flex-direction:column;gap:14px;padding:12px 14px;margin-top:2px;background:var(--bg-canvas);border-radius:10px}.invoice-section[hidden],.company-section[hidden]{display:none}.company-section{background:#00000008;padding:12px;border-radius:8px}.form-row-2-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:480px){.form-row-2-inline{grid-template-columns:1fr}}.no-slots{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.ns-body{display:flex;flex-direction:column;gap:var(--space-2)}.ns-lead{margin:var(--space-2) 0 0;font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--anp-ink);line-height:var(--lh-snug)}.ns-lead:first-child{margin-top:0}.ns-sub{margin:0 0 var(--space-1);font-size:var(--fs-body-sm);line-height:var(--lh-normal);color:var(--anp-gray-700)}.alt-list{display:flex;flex-direction:column;gap:var(--space-2)}.alt-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);width:100%;min-height:var(--hit-min);box-sizing:border-box;padding:10px 10px 10px 14px;text-align:left;background:var(--anp-white);color:var(--anp-ink);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-soft),background var(--dur-fast) var(--ease-soft)}.alt-row:hover{border-color:var(--anp-ocean-500);background:var(--anp-ocean-50)}.alt-row:focus-visible{outline:2px solid var(--anp-ocean-500);outline-offset:2px}.alt-row .ar-main{display:flex;flex-direction:column;gap:2px;min-width:0}.alt-row .ar-name{font-size:var(--fs-body-sm);font-weight:var(--fw-bold);line-height:var(--lh-snug)}.alt-row .ar-sub{font-size:var(--fs-caption);color:var(--anp-gray-700);line-height:var(--lh-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alt-row .ar-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.alt-row .ar-fee{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--anp-ocean-700);white-space:nowrap}.alt-row .ar-tag{padding:1px 8px;border-radius:var(--radius-pill);background:var(--status-warning-bg);color:var(--status-warning-strong);font-size:var(--fs-micro);font-weight:var(--fw-bold);white-space:nowrap}.alt-row .ar-chev{display:inline-flex;color:var(--anp-gray-500)}.ns-wait,.ns-back{align-self:flex-start;min-height:var(--hit-min);display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:0;padding:0 var(--space-1);font:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-bold);color:var(--fg-brand);cursor:pointer;text-align:left}.ns-wait:hover,.ns-back:hover{text-decoration:underline}.ns-wait{margin-top:var(--space-1)}.ns-contact{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-soft)}.ns-contact .nc-link{flex:1 1 auto;justify-content:center;display:inline-flex;align-items:center;gap:6px;min-height:var(--hit-min);padding:0 var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--anp-ink);text-decoration:none;font-size:var(--fs-caption);font-weight:var(--fw-bold);white-space:nowrap}.ns-contact .nc-link:hover{border-color:var(--anp-ocean-500)}.ns-contact .nc-link .icon{color:var(--anp-gray-700)}.hold-timer{font-size:12px;color:var(--anp-gray-500);text-align:center;margin-top:4px}.hold-timer.is-warning{color:var(--status-warning-strong)}.contact-row{display:grid;gap:10px;margin-bottom:16px}.contact-btn{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:10px;text-decoration:none;background:var(--anp-white);color:var(--anp-ink);border:1px solid var(--border-soft);font-weight:var(--fw-bold);font-size:var(--fs-body-sm);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.contact-btn:hover{border-color:var(--anp-ocean-500);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.contact-btn .ico{font-size:22px;flex-shrink:0}.contact-btn.fb .ico{color:var(--social-facebook)}.contact-btn.zalo .ico{color:var(--social-zalo)}.contact-btn.hotline .ico{color:var(--status-success)}.contact-btn .meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.contact-btn .meta small{font-size:var(--fs-micro);color:var(--anp-gray-500);font-weight:var(--fw-medium)}.recovery-panel{background:var(--status-warning-bg);border-left:3px solid var(--anp-yellow-500);padding:14px 16px;border-radius:8px;margin-bottom:14px;text-align:left}.recovery-panel .rec-title{font-size:14px;font-weight:var(--fw-extrabold);color:var(--anp-ink);margin:0 0 4px}.recovery-panel .rec-lede{font-size:13px;color:var(--anp-gray-700);margin:0 0 12px;line-height:1.5}.recovery-panel .rec-alts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.recovery-panel .alt-slot-btn{background:var(--anp-white);border:1px solid var(--status-warning);border-radius:10px;padding:10px 6px;min-height:var(--hit-min);cursor:pointer;font:inherit;font-size:14px;font-weight:var(--fw-bold);color:var(--anp-ink);transition:background .15s ease,color .15s ease,border-color .15s ease;font-variant-numeric:tabular-nums;min-width:0}.recovery-panel .alt-slot-btn:hover:not(:disabled){background:var(--status-warning);color:var(--anp-ink)}.recovery-panel .alt-slot-btn:disabled{opacity:.55;cursor:not-allowed}.recovery-panel .rec-back{background:transparent;border:0;padding:0;font:inherit;font-size:13px;color:var(--anp-ocean-700);cursor:pointer;text-decoration:underline}.recovery-panel .rec-empty{font-size:13px;color:var(--anp-gray-700);margin:0 0 10px}.dup-warn-panel{background:var(--status-warning-bg);border-left:3px solid var(--anp-yellow-500);padding:14px 16px;border-radius:8px;margin-bottom:14px;text-align:left}.dup-warn-panel .dup-title{font-size:14px;color:var(--anp-ink);margin:0 0 8px;line-height:1.5}.dup-warn-panel .dup-title strong{font-weight:var(--fw-extrabold)}.dup-warn-panel .dup-lede{font-size:13px;color:var(--anp-gray-700);margin:0 0 12px;line-height:1.5}.dup-warn-panel .dup-actions{display:flex;flex-direction:column;gap:8px}.dup-warn-panel .dup-confirm{background:var(--anp-ocean-500);color:var(--anp-white);border:0;border-radius:var(--radius-sm);padding:10px 16px;font:inherit;font-size:14px;font-weight:var(--fw-bold);cursor:pointer;transition:background .15s ease}.dup-warn-panel .dup-confirm:hover:not(:disabled){background:var(--anp-ocean-700)}.dup-warn-panel .dup-confirm:disabled{opacity:.55;cursor:not-allowed}.dup-warn-panel .dup-cancel{background:var(--anp-white);color:var(--anp-ocean-700);border:1px solid var(--anp-ocean-500);border-radius:var(--radius-sm);padding:10px 16px;font:inherit;font-size:14px;font-weight:var(--fw-bold);cursor:pointer}.dup-warn-panel .dup-cancel:hover:not(:disabled){background:var(--anp-ocean-50)}.age-gate-panel{background:var(--status-warning-bg);border-left:3px solid var(--anp-yellow-500);padding:14px 16px;border-radius:8px;margin-bottom:14px;text-align:left}.age-gate-panel[hidden]{display:none}.age-gate-panel .ag-title{font-size:13px;color:var(--anp-ink);margin:0 0 12px;line-height:1.5}.age-gate-panel .ag-title strong{font-weight:var(--fw-extrabold)}.age-gate-panel .ag-goto{background:var(--anp-ocean-500);color:var(--anp-white);border:0;border-radius:var(--radius-sm);padding:10px 16px;font:inherit;font-size:14px;font-weight:var(--fw-bold);cursor:pointer;transition:background .15s ease}.age-gate-panel .ag-goto:hover{background:var(--anp-ocean-700)}@media(max-width:768px){.booking-modal{align-items:flex-end;justify-content:stretch}.booking-sheet{max-width:none;max-height:95vh;max-height:calc(100dvh - var(--space-4));height:auto;border-radius:16px 16px 0 0;animation:slideUp .25s ease}}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--bg-canvas);color:var(--anp-gray-900);font-family:var(--font-body, system-ui, sans-serif);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}.page-header{background:#fff6e7eb;backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;z-index:30}.page-header .inner{max-width:var(--container-page);margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px}.page-header .brand{display:flex;align-items:center;gap:12px;text-decoration:none}.page-header .brand img{height:40px;width:auto}.page-header h1{font-size:16px;margin:0;font-weight:var(--fw-extrabold);color:var(--anp-ocean-700);line-height:1.2}.page-header h1 small{display:block;font-size:11px;font-weight:var(--fw-medium);color:var(--anp-gray-500);letter-spacing:.04em;margin-top:2px}.lookup-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--anp-white);color:var(--anp-ocean-700);border:1px solid var(--anp-ocean-500);font:inherit;font-size:13px;font-weight:var(--fw-bold);padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}.lookup-btn:hover{background:var(--anp-ocean-50)}@media(max-width:640px){.lookup-btn{font-size:12px;padding:6px 10px}}.today-pill{background:var(--anp-yellow-500);color:var(--anp-ink);font-size:12px;font-weight:var(--fw-bold);padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.today-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.lookup-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.lookup-modal[hidden]{display:none}.lookup-overlay{position:absolute;inset:0;background:#0006}.lookup-card{position:relative;background:var(--anp-white);width:100%;max-width:440px;border-radius:14px;box-shadow:0 24px 60px #0000002e;overflow:hidden;display:flex;flex-direction:column;max-height:90vh;max-height:calc(100dvh - 40px)}.lookup-head{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--anp-gray-100)}.lookup-head h2{margin:0;font-size:18px;font-weight:var(--fw-extrabold);color:var(--anp-ocean-900)}.lookup-close{background:transparent;border:0;font-size:22px;cursor:pointer;width:32px;height:32px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--anp-gray-700)}.lookup-close:hover{background:var(--anp-gray-100)}.lookup-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.lookup-body label{font-size:13px;font-weight:var(--fw-bold);color:var(--anp-gray-700)}.lookup-body .code-input{display:flex;align-items:stretch;border:1px solid var(--border-soft);border-radius:8px;overflow:hidden;background:var(--anp-white)}.lookup-body .code-input:focus-within{outline:2px solid var(--anp-ocean-500);outline-offset:1px;border-color:transparent}.lookup-body .code-input__prefix{display:flex;align-items:center;padding-left:14px;font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--anp-gray-500);letter-spacing:.04em;user-select:none}.lookup-body .code-input input{flex:1;min-width:0;border:0;background:transparent;padding:12px 14px 12px 2px;font:inherit;font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.18em;font-variant-numeric:tabular-nums}.lookup-body .code-input input:focus{outline:none}.lookup-submit{padding:12px 18px;background:var(--anp-ocean-500);color:var(--anp-white);border:0;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-weight:var(--fw-bold);font-size:15px}.lookup-submit:hover:not(:disabled){background:var(--anp-ocean-700)}.lookup-submit:disabled{opacity:.5;cursor:not-allowed}#lookup-hint p{font-size:var(--fs-body-sm);line-height:var(--lh-normal)}#lookup-result{display:flex;flex-direction:column;gap:8px}#lookup-result:empty{display:none}.lk-card{font-size:var(--fs-body-sm);line-height:var(--lh-normal)}.lk-status{display:flex;align-items:center;gap:10px}.lk-status .lk-badge{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:var(--anp-white);font-weight:var(--fw-bold)}.lk-status .lk-title{font-size:var(--fs-h4);font-weight:var(--fw-extrabold)}.lk-status.is-confirmed .lk-badge{background:var(--anp-green-500)}.lk-status.is-confirmed .lk-title{color:var(--anp-green-700)}.lk-status.is-pending .lk-badge{background:var(--anp-yellow-700)}.lk-status.is-pending .lk-title{color:var(--status-warning-strong)}.lk-status.is-neutral .lk-badge{background:var(--anp-gray-300);color:var(--anp-gray-700)}.lk-status.is-neutral .lk-title{color:var(--anp-gray-700)}.lk-lede{margin:6px 0 0 34px;font-size:var(--fs-caption);color:var(--anp-gray-500)}.lk-card .ticket-zone{margin:14px 0 0}.lk-card .ticket-zone.is-muted .ticket-main{opacity:.6}.lk-note{display:flex;gap:9px;align-items:flex-start;border-radius:10px;padding:12px 14px;margin-top:14px;font-size:13px;line-height:1.5}.lk-note .ico{flex-shrink:0;font-size:16px;line-height:1.35}.lk-note.is-thanks{background:var(--anp-green-100);color:var(--anp-green-700)}.lk-note.is-pending{background:var(--status-warning-bg);color:var(--anp-gray-700)}.lk-past-note{margin-top:14px;font-size:var(--fs-caption);color:var(--anp-gray-500);text-align:center}#lookup-result .lookup-error{background:var(--status-danger-bg);color:var(--status-danger-strong);padding:12px 14px;border-radius:6px;font-size:13px}.lk-cancel{width:100%;background:var(--anp-white);color:var(--status-danger);border:1px solid rgba(183,61,82,.4);font:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-bold);padding:11px;border-radius:10px;cursor:pointer}.lk-cancel:hover:not(:disabled){background:var(--status-danger-bg);border-color:var(--status-danger)}.lk-cancel:disabled{opacity:.6;cursor:default}.lk-action-row{display:flex;gap:10px}.lk-action-row>button{flex:1;width:auto}.lk-reschedule{background:var(--anp-white);color:var(--anp-ocean-700);border:1px solid var(--anp-ocean-500);font:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-bold);padding:11px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .12s ease}.lk-reschedule:hover{background:var(--anp-ocean-50)}.lk-confirm{background:var(--status-danger-bg);border-radius:10px;padding:14px}.lk-confirm .q{margin:0 0 4px;font-size:14px;font-weight:var(--fw-extrabold);color:var(--status-danger-strong)}.lk-confirm .d{margin:0 0 12px;font-size:var(--fs-caption);line-height:1.5;color:var(--anp-gray-700)}.lk-confirm .btns{display:flex;gap:8px}.lk-confirm .btns button{flex:1;font:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-bold);padding:11px;border-radius:10px;cursor:pointer}.lk-confirm .yes{background:var(--anp-coral-500);color:var(--anp-white);border:none}.lk-confirm .yes:hover:not(:disabled){background:var(--status-danger-strong)}.lk-confirm .yes:disabled{opacity:.6;cursor:default}.lk-confirm .no{background:var(--anp-white);color:var(--anp-gray-700);border:1px solid var(--anp-gray-200)}.lk-confirm .no:hover{background:var(--anp-gray-50)}.lk-rebook{width:100%;background:var(--anp-ocean-500);color:var(--anp-white);border:none;font:inherit;font-size:15px;font-weight:var(--fw-bold);padding:12px;border-radius:10px;cursor:pointer}.lk-rebook:hover{background:var(--anp-ocean-700)}.inner{gap:12px;flex-wrap:wrap}@media(max-width:768px){.page-header .inner{row-gap:10px}.page-header h1{flex:1 1 auto}.page-header .lookup-btn{flex:1 1 auto;margin-left:0;justify-content:center}.page-header .today-pill{flex:none}}@media(max-width:640px){.page-header h1{font-size:14px}}main{max-width:var(--container-page);margin:0 auto;padding:20px}.prescreen{background:var(--anp-white);border-radius:14px;padding:16px 18px;margin-bottom:20px;border:1px solid rgba(0,0,0,.04)}.prescreen .label{font-size:14px;font-weight:var(--fw-bold);color:var(--anp-ink);margin-bottom:12px;display:flex;align-items:center;gap:8px}.prescreen .label-secondary{margin-top:16px}.prescreen .label .stethoscope,.prescreen .label .audience-icon{font-size:18px}.audience-row{display:flex;gap:8px;flex-wrap:wrap}.audience-chip{background:var(--anp-white);border:1.5px solid var(--anp-gray-200);border-radius:999px;padding:8px 14px;min-height:var(--hit-min);cursor:pointer;font:inherit;font-size:13px;font-weight:var(--fw-bold);color:var(--anp-gray-900);display:inline-flex;align-items:center;gap:6px;transition:border-color .15s ease,background .15s ease,color .15s ease}.audience-chip:hover:not(.is-active){border-color:var(--anp-ocean-500)}.audience-chip.is-active{background:var(--anp-ocean-500);color:var(--anp-white);border-color:transparent}.audience-chip .emoji{font-size:14px}.category-row{display:flex;flex-wrap:wrap;gap:8px}.filter-bar,.prescreen-scrim,.prescreen-close,.doctor-card .spec-tag,.doctor-card .chev{display:none}.cat-skel{display:inline-block;flex:none;width:var(--w, 110px);height:var(--hit-min);border-radius:var(--radius-pill);background:var(--anp-gray-100);animation:cat-skel-pulse 1.4s ease-in-out infinite}@keyframes cat-skel-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.cat-skel{animation:none}}.category-chip{background:var(--anp-white);border:1.5px solid var(--anp-gray-200);border-radius:999px;padding:8px 14px;min-height:var(--hit-min);cursor:pointer;font:inherit;font-size:13px;font-weight:var(--fw-bold);color:var(--anp-gray-900);display:inline-flex;align-items:center;gap:6px;transition:border-color .15s ease,background .15s ease,opacity .2s ease}.category-chip:hover:not(.is-faded):not(.is-active){border-color:var(--anp-ocean-500)}.category-chip.is-active{background:var(--anp-ocean-500);color:var(--anp-white);border-color:transparent}.category-chip .emoji{font-size:14px}.category-chip.is-faded{opacity:.35;cursor:not-allowed}.category-chip.is-faded:hover{border-color:var(--anp-gray-200)}.clear-category{background:transparent;border:1.5px dashed var(--anp-gray-300);border-radius:999px;padding:8px 14px;min-height:var(--hit-min);cursor:pointer;font:inherit;font-size:13px;font-weight:var(--fw-bold);color:var(--anp-gray-700);display:inline-flex;align-items:center;gap:6px;transition:border-color .15s ease,color .15s ease}.clear-category[hidden]{display:none}.clear-category:hover{border-color:var(--anp-pink-500);color:var(--anp-pink-500)}.clear-category .x{font-size:14px;line-height:1}.filter-none{display:none}.filter-none.is-on{display:block;margin:0 0 12px;padding:10px 14px;background:var(--status-warning-bg);border:1px solid var(--anp-yellow-200);border-radius:10px;font-size:14px;line-height:1.45;color:var(--anp-ink)}.filter-none a{color:var(--anp-ocean-700);font-weight:var(--fw-bold);white-space:nowrap}main>.closure-banner:not([hidden]){margin-bottom:16px}.schedule{background:var(--bg-canvas);border-radius:16px}.day-strip{display:none;overflow-x:auto;gap:8px;padding:4px 0 12px;margin:-4px -4px 8px;scrollbar-width:none}.day-strip::-webkit-scrollbar{display:none}.day-chip{background:var(--anp-white);border:1.5px solid transparent;border-radius:12px;padding:10px 12px;flex:0 0 auto;text-align:center;cursor:pointer;font:inherit;min-width:60px;min-height:var(--hit-min)}.day-chip .label{display:block;font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--anp-gray-500)}.day-chip .num{display:block;font-size:18px;font-weight:var(--fw-extrabold);color:var(--anp-gray-900);margin-top:2px}.day-chip.is-past .num,.day-chip.is-past .label{color:var(--anp-gray-300)}.day-chip.is-soon{border-style:dashed;border-color:var(--anp-gray-300);cursor:default;display:flex;flex-direction:column;justify-content:center;flex-grow:1}.day-chip.is-soon .num{font-size:12px;font-weight:var(--fw-bold);color:var(--anp-gray-500);margin-top:3px}.day-chip.is-soon .when{display:block;margin-top:2px;font-size:11px;font-weight:var(--fw-semibold);color:var(--anp-gray-500);white-space:nowrap}.day-chip.is-today{border-color:var(--anp-yellow-500)}.day-chip.is-today .num{color:var(--anp-ocean-700)}.day-chip.is-selected{background:var(--anp-ocean-500);border-color:transparent}.day-chip.is-selected .label,.day-chip.is-selected .num{color:var(--anp-white)}.day-cap{display:flex;justify-content:center;gap:3px;margin-top:6px;min-height:5px}.cap-dot{width:5px;height:5px;border-radius:50%;background:var(--anp-gray-200)}.cap-dot.cap-available{background:var(--status-success)}.cap-dot.cap-almost_full{background:var(--status-warning)}.cap-dot.cap-none{background:var(--anp-gray-200)}.day-chip.is-selected .cap-dot.cap-none{background:#fff6}.grid{display:grid;grid-template-columns:repeat(var(--dl-cols, 7),minmax(0,1fr));gap:8px}.day-col{background:var(--anp-white);border-radius:12px;padding:12px 10px;border:2px solid transparent;display:flex;flex-direction:column}.day-col.is-today{border-color:var(--anp-yellow-500);box-shadow:0 4px 12px #f1b40026}.col-loading{margin:auto 0;padding:24px 0;text-align:center;color:var(--anp-gray-500);font-size:12px}.col-loading .schedule-retry{margin-top:var(--space-2)}.soon-col{border:2px dashed var(--anp-gray-300);border-radius:12px;background:#ffffff73;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.soon-col .soon-ico{width:52px;height:52px;border-radius:var(--radius-md);background:var(--anp-ocean-50);color:var(--anp-ocean-500);display:flex;align-items:center;justify-content:center}.soon-col .soon-title{font-size:20px;font-weight:var(--fw-extrabold);color:var(--anp-ocean-900)}.soon-col .soon-when{font-size:15px;color:var(--anp-gray-700)}.soon-col .soon-when b{color:var(--anp-ink)}.day-col.is-closed{background:var(--anp-yellow-100);border-color:var(--anp-yellow-500)}.day-col.is-closed .day-col-header{color:var(--anp-amber-700)}.day-col.is-closed .day-col-header .num{color:var(--flag-vn-red)}.closed-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px 6px}.closed-day .cd-title{font-size:13px;font-weight:var(--fw-extrabold);line-height:1.25;color:var(--flag-vn-red)}.closed-day .cd-sub{font-size:11px;font-weight:var(--fw-semibold);line-height:1.35;color:var(--anp-gray-500)}.vn-flag-field{fill:var(--flag-vn-red)}.vn-flag-star{fill:var(--flag-vn-yellow)}.day-cap .vn-flag{display:block}@media(max-width:768px){.closed-day{padding:28px 8px;gap:10px}.closed-day .cd-title{font-size:15px}.closed-day .cd-sub{font-size:12.5px}}.day-col-header{text-align:center;font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--anp-gray-500);margin-bottom:12px}.day-col-header .num{display:block;font-size:22px;font-weight:var(--fw-extrabold);color:var(--anp-gray-900);margin-top:2px;letter-spacing:0}.day-col.is-today .day-col-header .num{color:var(--anp-ocean-700)}.shift-block{margin-bottom:12px}.shift-block:last-child{margin-bottom:0}.shift-label{font-size:11px;font-weight:var(--fw-bold);color:var(--anp-gray-500);margin-bottom:6px;display:flex;align-items:center;gap:4px;letter-spacing:.04em}.shift-label .time{margin-left:auto;font-weight:var(--fw-medium);font-size:10px;color:var(--anp-gray-300)}.shift-block.is-ended .shift-label{opacity:.5}.ended-shift{font-size:12px;font-weight:var(--fw-semibold);line-height:1.3;color:var(--anp-gray-500)}.moved-note{display:none}.doctor-card{display:block;width:100%;background:var(--anp-green-100);border:1px solid transparent;border-radius:8px;padding:8px 10px;margin-bottom:6px;text-align:left;cursor:pointer;font:inherit;transition:transform .15s ease,box-shadow .15s ease}.doctor-card:last-child{margin-bottom:0}.doctor-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.doctor-card.kind-kid{background:var(--anp-green-100)}.doctor-card.kind-adult{background:var(--anp-sky-100)}.doctor-card.s-full{opacity:.7}.doctor-card .name{font-size:13px;font-weight:var(--fw-extrabold);color:var(--anp-ink);line-height:1.2}.doctor-card .status{font-size:11px;font-weight:var(--fw-bold);margin-top:2px;display:inline-flex;align-items:center;gap:4px}.doctor-card .status:before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0}.doctor-card[data-status=available] .status{color:var(--status-success-strong)}.doctor-card[data-status=available] .status:before{background:var(--status-success)}.doctor-card[data-status=almost_full] .status{color:var(--status-warning-strong)}.doctor-card[data-status=almost_full] .status:before{background:var(--status-warning)}.doctor-card[data-status=full] .status{color:var(--status-danger-strong)}.doctor-card[data-status=full] .status:before{background:var(--status-danger)}.doctor-card.is-suggested{box-shadow:0 0 0 2px var(--anp-ocean-500)}.doctor-card.is-faded{opacity:.35;cursor:not-allowed;box-shadow:none}.doctor-card.is-faded:hover{transform:none;box-shadow:none}.empty-shift{color:var(--anp-gray-300);font-size:12px;padding:4px 6px;font-style:italic}.doctor-card[data-status=available] .status:after{content:"Còn lịch"}.doctor-card[data-status=almost_full] .status:after{content:"Sắp hết"}.doctor-card[data-status=full] .status:after{content:"Hết lịch"}.doctor-card[data-status=available] .status{visibility:hidden}.schedule-loading,.schedule-empty{text-align:center;padding:60px 20px;color:var(--anp-gray-500);font-size:14px}.schedule-retry{display:inline-flex;align-items:center;justify-content:center;min-height:var(--hit-min);margin-top:var(--space-3);padding:0 var(--space-5);background:var(--anp-white);color:var(--anp-ocean-700);border:1px solid var(--anp-ocean-500);border-radius:var(--radius-sm);font:inherit;font-weight:var(--fw-bold);font-size:var(--fs-body-sm);cursor:pointer}.schedule-error{text-align:center;padding:30px 20px;color:var(--status-danger-strong);font-size:14px;background:var(--status-danger-bg);border-radius:8px}@media(max-width:768px){.moved-note{display:block;margin:0 0 14px;padding:10px 12px;background:var(--anp-ocean-50);border-radius:10px;font-size:14px;line-height:1.45;color:var(--anp-ocean-900)}.moved-note a{color:var(--anp-ocean-700);font-weight:var(--fw-bold);white-space:nowrap}.soon-col{display:none}.filter-bar{display:flex;gap:6px;background:var(--anp-white);border:1px solid rgba(0,0,0,.04);border-radius:14px;padding:10px;margin-bottom:8px}.filter-pill{flex:0 1 auto;min-width:0;min-height:var(--hit-min);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;border-radius:var(--radius-pill);background:var(--anp-white);border:1.5px solid var(--anp-gray-200);color:var(--anp-gray-900);cursor:pointer;font:inherit;font-size:13px;font-weight:var(--fw-bold);line-height:1}.filter-pill.is-set{background:var(--anp-ocean-50);border-color:var(--anp-ocean-500);color:var(--anp-ocean-700)}.filter-pill.has-value{flex:1 1 auto}.filter-pill .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-pill .pre{font-weight:var(--fw-semibold);color:var(--anp-gray-500)}.filter-pill.is-set .pre{color:var(--anp-ocean-500)}.filter-pill .emoji{font-size:15px;flex:none}.filter-pill .caret{font-size:9px;flex:none;color:var(--anp-gray-500)}.filter-pill.is-set .caret{color:var(--anp-ocean-500)}.prescreen{position:fixed;left:0;right:0;bottom:0;z-index:89;margin:0;border-radius:18px 18px 0 0;max-height:86dvh;overflow-y:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateY(101%);transition:transform .26s cubic-bezier(.32,.72,0,1);box-shadow:0 -8px 30px #0000002e}.prescreen.is-open{transform:translateY(0)}.prescreen-scrim{display:block;position:fixed;inset:0;z-index:88;background:var(--bg-scrim);opacity:0;pointer-events:none;transition:opacity .22s ease}.prescreen-scrim.is-open{opacity:1;pointer-events:auto}.prescreen-close{display:block;width:100%;margin-top:16px;min-height:var(--hit-min);border-radius:var(--radius-sm);background:var(--anp-ocean-500);color:var(--anp-white);border:0;font:inherit;font-size:15px;font-weight:var(--fw-bold);cursor:pointer}@media(prefers-reduced-motion:reduce){.prescreen,.prescreen-scrim{transition:none}}.doctor-card{display:flex;align-items:center;gap:10px;min-height:56px}.doctor-card>.card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.doctor-card[data-status=available] .status{display:none}.doctor-card .chev{display:block;flex:none;font-size:18px;line-height:1;color:var(--anp-gray-500)}.doctor-card .spec-tag.is-on{display:inline-flex;align-items:center;gap:4px;background:#ffffffd9;border-radius:var(--radius-pill);padding:2px 9px 2px 7px;line-height:1.3;font-size:11.5px;font-weight:var(--fw-bold);color:var(--anp-gray-700)}.doctor-card .spec-tag.is-on .icon{color:var(--status-success-strong)}.doctor-card.is-suggested{box-shadow:none}.filter-clear{display:none}.filter-bar.has-category .filter-clear{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--hit-min);height:var(--hit-min);padding:0;border-radius:50%;border:1.5px solid var(--anp-gray-200);background:var(--anp-white);color:var(--anp-gray-700);cursor:pointer}.filter-bar.has-category #filter-pill-audience .pre{display:none}.day-strip{display:flex}.grid{grid-template-columns:1fr;gap:0}.day-col{display:none;padding:16px}.day-col.is-selected{display:flex}.day-col-header{display:none}.doctor-card{padding:12px 14px}.doctor-card .name{font-size:14px}.doctor-card .status{font-size:12px}.shift-label{font-size:12px;margin-bottom:8px}.shift-block{margin-bottom:16px}.shift-block.is-ended{display:flex;align-items:baseline;margin-bottom:12px}.shift-block.is-ended .shift-label{margin-bottom:0}.shift-block.is-ended .shift-label .time{display:none}.shift-block.is-ended .ended-shift{margin-left:auto}}@media(min-width:769px){.grid{grid-template-rows:auto auto auto 1fr;row-gap:0;min-height:320px}.day-col{display:grid;grid-row:span 4;grid-template-rows:subgrid}.soon-col{grid-row:span 4}.closed-day,.col-loading{grid-row:span 3}.shift-block.is-ended{display:flex;flex-direction:column}.shift-block.is-ended .ended-shift{flex:1;padding:8px 10px;border-radius:8px;background:var(--anp-gray-50)}.day-col.is-beyond{display:none}}
