.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:#fff;width:100%;max-width:480px;height:100vh;overflow-y:auto;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:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef0f4;position:sticky;top:0;background:#fff;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: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)}.sheet-close:hover{background:#f0f1f4}.sheet-body{padding:20px;flex:1 1 auto}.doctor-info{background:var(--bg-canvas, #FFF6E7);border-radius:12px;padding:14px 16px;margin-bottom:18px}.doctor-info .row1{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.doctor-info .name{font-size:17px;font-weight:var(--fw-extrabold);color:var(--anp-ink);line-height:1.2}.doctor-info .name .star{color:var(--anp-yellow-500, #f1b400);margin-left:4px}.doctor-info .specialty{font-size:12px;color:var(--anp-gray-500);margin-top:4px}.doctor-info .pill{display:inline-flex;align-items:center;background:#2fa57926;color:#1d8856;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;white-space:nowrap}.doctor-info .pill.s-almost-full{background:#f1b4002e;color:#b07d00}.doctor-info .pill.s-full{background:#e369812e;color:#b73d52}.doctor-info .when{margin-top:10px;font-size:13px;color:var(--anp-gray-700);display:flex;align-items:center;gap:6px}.doctor-info .when strong{font-weight:var(--fw-bold);color:var(--anp-ink)}.doctor-info .fee{margin-top:6px;font-size:13px;color:var(--anp-gray-700);display:flex;align-items:center;gap:6px}.doctor-info .fee strong{font-weight:var(--fw-bold);color:var(--anp-ink)}.doctor-info .note{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(0,0,0,.08);font-size:12px;line-height:1.5;color:var(--anp-gray-700);font-style:italic}.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}.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(3,minmax(0,1fr));gap:8px}.slot-btn{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 8px;cursor:pointer;font:inherit;font-size:14px;font-weight:var(--fw-bold);color:var(--anp-ink, #111);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:#f5f6f8;color:#c8ccd2;cursor:not-allowed}.slot-btn.is-selected{background:var(--anp-ocean-500);color:#fff;border-color:transparent}.slot-btn.is-selected:hover{background:var(--anp-ocean-700);color:#fff}.slot-empty{color:var(--anp-gray-500);font-size:14px;text-align:center;padding:24px 12px;background:#f5f6f8;border-radius:8px}.slot-loading{color:var(--anp-gray-500);font-size:14px;text-align:center;padding:24px}.slot-error{color:#b73d52;font-size:13px;background:#c0392b14;padding:12px 14px;border-radius:6px;text-align:center}@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}}.booking-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.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 #c4c8d0!important;background:#fff;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, #FFF6E7);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}}.booking-form .summary{background:var(--bg-canvas, #FFF6E7);padding:10px 14px;border-radius:10px;font-size:13.5px;color:var(--anp-gray-700)}.booking-form .summary strong{color:var(--anp-ink);font-weight:var(--fw-bold)}.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{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{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;font:inherit;font-size:14.5px;background:#fff;color:var(--anp-ink)}.booking-form input:focus,.booking-form textarea: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{width:100%;padding:12px 20px;background:var(--anp-ocean-500);color:#fff;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){background:var(--anp-ocean-700)}.submit-big:disabled{opacity:.5;cursor:not-allowed}.contact-fallback-section{margin-top:24px;display:flex;flex-direction:column;gap:14px}.contact-fallback-message{background:#f1b4001f;border-left:3px solid var(--anp-yellow-500, #f1b400);padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.55}.contact-fallback-message strong{display:block;font-size:15px;margin-bottom:4px}.contact-fallback-message p{margin:0;color:var(--anp-gray-900)}.hold-timer{font-size:12px;color:var(--anp-gray-500);text-align:center;margin-top:4px}.hold-timer.is-warning{color:#b07d00}.confirmation{text-align:center;padding:8px 0}.confirmation h3{font-size:var(--fs-h4);margin:0 0 8px;font-weight:var(--fw-extrabold);color:var(--anp-green-700);display:flex;align-items:center;justify-content:center;gap:8px}.confirmation h3 .success-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex-shrink:0;background:var(--anp-green-500);color:#fff;font-size:13px;line-height:1}.confirmation .lede{color:var(--anp-gray-700);margin:0 0 16px;font-size:var(--fs-body-sm);line-height:var(--lh-normal)}.booking-code{background:var(--bg-canvas, #FFF6E7);padding:18px 16px;border-radius:12px;margin-bottom:18px}.booking-code small{display:block;font-size:var(--fs-micro);font-weight:var(--fw-bold);color:var(--anp-gray-500);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.booking-code .code{font-size:28px;font-weight:var(--fw-extrabold);color:var(--anp-ocean-900);letter-spacing:.04em;font-variant-numeric:tabular-nums}.booking-summary{text-align:left;background:#f7f8fa;border-radius:10px;padding:14px 16px;margin-bottom:18px;font-size:var(--fs-body-sm);line-height:var(--lh-normal);color:var(--anp-gray-700)}.booking-summary strong{color:var(--anp-ink);font-weight:var(--fw-bold)}.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:#fff;color:var(--anp-ink, #111);border:1px solid #e5e7eb;font-weight:var(--fw-bold);font-size:15px;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:#006aff}.contact-btn.zalo .ico{color:#0068ff}.contact-btn.hotline .ico{color:#2fa579}.contact-btn .meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.contact-btn .meta small{font-size:11px;color:var(--anp-gray-500);font-weight:var(--fw-medium)}.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{margin:0 0 10px}.post-booking-notes .notes-foot{margin:12px 0 0}.post-booking-notes .notes-list{list-style:none;margin:0;padding:0;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:#fff;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, #e6f1f8)}.confirmation-actions .download-btn:disabled{opacity:.5;cursor:not-allowed}.confirmation-actions .done-btn{flex:1 1 auto;padding:12px;background:#fff;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, #e6f1f8)}.confirmation-actions .rs-back-btn{flex:1 1 auto;padding:12px;background:#fff;color:var(--anp-gray-700, #4b5563);border:1px solid var(--anp-gray-300, #cfd4dc);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, #f3f4f6);border-color:var(--anp-gray-400, #9ca3af)}.cal-btn{width:100%;padding:13px;margin-bottom:10px;background:var(--anp-green-500);color:#fff;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}.error-box{background:#c0392b14;border-left:3px solid #c0392b;padding:12px 14px;border-radius:6px;margin-bottom:14px;color:#b73d52;font-size:13px;text-align:left}.recovery-panel{background:#f1b4001a;border-left:3px solid var(--anp-yellow-500, #f1b400);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:#fff;border:1px solid var(--anp-yellow-500, #f1b400);border-radius:10px;padding:10px 6px;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(--anp-yellow-500, #f1b400);color:#fff}.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:#f1b4001a;border-left:3px solid var(--anp-yellow-500, #f1b400);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:#fff;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:#fff;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, #e6f1f8)}.age-gate-panel{background:#f1b4001a;border-left:3px solid var(--anp-yellow-500, #f1b400);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:#fff;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;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, #FFF6E7);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:1200px;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;background:#fff;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, #e6f1f8)}@media(max-width:640px){.lookup-btn{font-size:12px;padding:6px 10px}}.today-pill{background:var(--anp-yellow-500, #f1b400);color:var(--anp-ink, #111);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:#fff;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 #eef0f4}.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:#f0f1f4}.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 #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.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:#fff;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:#fff;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:#9a6c00}.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-code{background:var(--bg-canvas, #FFF6E7);border-radius:12px;padding:14px 16px;text-align:center;margin-top:14px}.lk-code small{display:block;font-size:var(--fs-micro);font-weight:var(--fw-bold);color:var(--anp-gray-500);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}.lk-code .code{font-size:25px;font-weight:var(--fw-extrabold);color:var(--anp-ocean-900);letter-spacing:.04em;font-variant-numeric:tabular-nums}.lk-summary{background:#f7f8fa;border-radius:10px;padding:12px 14px;margin-top:14px}.lk-summary .row{color:var(--anp-gray-700)}.lk-summary strong,.lk-muted strong{color:var(--anp-ink);font-weight:var(--fw-bold)}.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:#f1b4001f;color:var(--anp-gray-700)}.lk-muted{margin-top:14px;opacity:.62}.lk-muted .row{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:#c0392b14;color:#b73d52;padding:12px 14px;border-radius:6px;font-size:13px}.lk-actions{margin-top:16px}.lk-cancel{width:100%;background:#fff;color:#b73d52;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:#c0392b0f;border-color:#b73d52}.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:#fff;color:var(--anp-ocean-700, #234b80);border:1px solid var(--anp-ocean-500, #2f5fa0);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, #e6f1f8)}.lk-confirm{background:#ef5b6e14;border-radius:10px;padding:14px}.lk-confirm .q{margin:0 0 4px;font-size:14px;font-weight:var(--fw-extrabold);color:#b73d52}.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:#fff;border:none}.lk-confirm .yes:hover:not(:disabled){background:#d94459}.lk-confirm .yes:disabled{opacity:.6;cursor:default}.lk-confirm .no{background:#fff;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:#fff;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:640px){.page-header h1{font-size:14px}.page-header h1 small{display:none}}main{max-width:1200px;margin:0 auto;padding:20px}.week-nav{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.week-nav .week-label{flex:1 1 auto;font-size:18px;font-weight:var(--fw-bold);color:var(--anp-ocean-900)}.week-nav .week-label small{display:block;font-size:12px;font-weight:var(--fw-medium);color:var(--anp-gray-500);letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.week-nav button{background:#fff;border:1px solid var(--anp-gray-200);color:var(--anp-ocean-900);padding:8px 14px;border-radius:8px;cursor:pointer;font:inherit;font-weight:var(--fw-bold);font-size:14px}.week-nav button:hover:not(:disabled):not(.is-active){border-color:var(--anp-ocean-500);color:var(--anp-ocean-700)}.week-nav button.is-active{background:var(--anp-ocean-500);color:#fff;border-color:transparent}.week-nav button:disabled{opacity:.35;cursor:not-allowed}.week-nav .nav-arrows{display:flex;gap:6px}.week-nav .nav-arrows button{padding:8px 12px;min-width:40px}.prescreen{background:#fff;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:#fff;border:1.5px solid var(--anp-gray-200);border-radius:999px;padding:8px 14px;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:#fff;border-color:transparent}.audience-chip .emoji{font-size:14px}.category-row{display:flex;flex-wrap:wrap;gap:8px}.category-chip{background:#fff;border:1.5px solid var(--anp-gray-200);border-radius:999px;padding:8px 14px;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:#fff;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;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, #e96aa0);color:var(--anp-pink-500, #e96aa0)}.clear-category .x{font-size:14px;line-height:1}.mobile-scroll-hint{display:none}.mobile-scroll-hint[hidden]{display:none!important}@keyframes scroll-hint-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media(max-width:768px){.mobile-scroll-hint:not([hidden]){display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:12px;background:#f1b4001f;border:1px solid rgba(241,180,0,.28);border-radius:10px;font-size:13px;font-weight:var(--fw-medium);color:var(--anp-ink, #111);line-height:1.4;animation:scroll-hint-bounce 1.6s ease-in-out infinite}.mobile-scroll-hint .hint-icon{font-size:18px;flex-shrink:0}.mobile-scroll-hint .hint-text{flex:1 1 auto}.mobile-scroll-hint .hint-arrow{font-size:18px;font-weight:800;color:var(--anp-ocean-500)}@media(prefers-reduced-motion:reduce){.mobile-scroll-hint:not([hidden]){animation:none}}}.schedule{background:var(--bg-canvas-soft, #FFF6E7);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:#fff;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}.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-today{border-color:var(--anp-yellow-500, #f1b400)}.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:#fff}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-col{background:#fff;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, #f1b400);box-shadow:0 4px 12px #f1b40026}.day-col.is-past{background:repeating-linear-gradient(135deg,#f4f5f7,#f4f5f7 6px,#fafbfc 6px 12px);border:1px dashed var(--anp-gray-200)}.day-col.is-past .day-col-header{color:var(--anp-gray-300)}.day-col.is-past .past-label{margin-top:auto;text-align:center;color:var(--anp-gray-300);font-size:12px;padding:24px 0}.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-past .shift-label{color:var(--anp-gray-300)}.shift-block.is-past .doctor-card{opacity:.45;cursor:not-allowed;box-shadow:none}.shift-block.is-past .doctor-card:hover{transform:none;box-shadow:none}.shift-block.is-past .doctor-card .status{visibility:hidden}.doctor-card{display:block;width:100%;background:#d4f1e0;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:#d4f1e0}.doctor-card.kind-adult{background:#d4e8f6}.doctor-card.s-full{opacity:.7}.doctor-card .name{font-size:13px;font-weight:var(--fw-extrabold);color:var(--anp-ink, #111);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:#1d8856}.doctor-card[data-status=available] .status:before{background:#2fa579}.doctor-card[data-status=almost_full] .status{color:#b07d00}.doctor-card[data-status=almost_full] .status:before{background:#f1b400}.doctor-card[data-status=full] .status{color:#b73d52}.doctor-card[data-status=full] .status:before{background:#e36981}.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"}.schedule-loading,.schedule-empty{text-align:center;padding:60px 20px;color:var(--anp-gray-500);font-size:14px}.schedule-error{text-align:center;padding:30px 20px;color:#b73d52;font-size:14px;background:#ffd6dc;border-radius:8px}.schedule-pending{background:#fff;border-radius:14px;padding:36px 24px;text-align:center;border:1px dashed var(--anp-gray-200);display:flex;flex-direction:column;align-items:center;gap:12px}.schedule-pending .pending-icon{font-size:40px;line-height:1}.schedule-pending p{margin:0;max-width:460px;font-size:14px;line-height:1.55;color:var(--anp-gray-700)}.schedule-pending p strong{color:var(--anp-ink);font-weight:var(--fw-bold)}@media(max-width:768px){.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}}@media(min-width:769px){.day-col{min-height:320px}}
