.q-container{background:var(--bg-cream);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding-top:60px}.q-card{background:#fff;width:430px;padding:32px;border-radius:16px;box-shadow:0 4px 20px #0000000f;text-align:left}.q-title{text-align:center;font-size:26px;font-weight:700;color:var(--green-dark)}.q-subtitle{text-align:center;margin-top:4px;font-size:18px;font-weight:600;color:var(--green-dark)}.q-desc{text-align:center;margin-bottom:24px;color:var(--gray-text)}.q-progress{width:100%;height:4px;background:#eaeaea;border-radius:4px;overflow:hidden;margin-bottom:8px}.q-progress-fill{height:100%;background:var(--green);transition:.3s ease}.q-step-label{font-size:13px;color:var(--gray-text);margin-bottom:18px}.q-question{font-size:17px;font-weight:600;margin-bottom:14px}.q-required{color:red}.q-options{display:flex;flex-direction:column;gap:12px}.q-option{padding:14px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.2s}.q-option.selected{border-color:var(--green);background:#e8f7ef}.q-option input{transform:scale(1.2)}.q-nav{margin-top:30px;display:flex;justify-content:space-between}.q-prev{background:transparent;border:none;color:var(--green-dark);cursor:pointer}.q-next,.q-complete{background:var(--green);color:#fff;padding:10px 22px;border-radius:8px;border:none;cursor:pointer;opacity:.7;transition:.2s}.q-next.active,.q-complete{opacity:1}.q-links{text-align:center;margin-top:20px;font-size:14px}.q-links a{color:var(--green)}.q-powered{margin-top:20px;text-align:center;font-size:13px;color:#aaa}.q-input,.q-textarea{width:100%;padding:14px;border-radius:12px;border:1px solid var(--border);font-size:16px;outline:none}.q-input:focus,.q-textarea:focus{border-color:var(--green)}.q-textarea{min-height:90px;resize:vertical}.name-row{display:flex;gap:16px;margin-top:20px}.q-label{font-size:14px;margin-bottom:6px;display:block;color:var(--green-dark)}.q-error{color:red;font-size:14px;margin-bottom:12px;text-align:center}.appointment-wrapper{max-width:1100px;margin:40px auto;padding:20px;font-family:Inter,sans-serif;color:#1d2e28}.app-title{text-align:center;font-size:28px;font-weight:700;margin-bottom:30px;color:#1d2e28}.progress-box{background:#f4f7f2;padding:20px;border-radius:10px;margin-bottom:25px}.progress-top{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px}.step-number{background:#d9e7df;padding:3px 10px;border-radius:8px;font-weight:600;color:#1d2e28}.progress-bar{width:100%;height:8px;background:#d7e2da;border-radius:8px;margin-bottom:10px;overflow:hidden}.progress-fill{height:100%;width:100%;background:#0b8a5f;border-radius:8px}.progress-labels{display:flex;justify-content:space-between;font-size:13px}.verified{font-weight:700;color:#0b8a5f}.program-box{background:#e8f8f0;padding:20px;border-radius:10px;border-left:6px solid #0b8a5f;display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.program-left strong{font-size:18px}.green-tag{display:inline-block;background:#0b8a5f;color:#fff;font-size:12px;padding:3px 8px;border-radius:6px;margin-top:5px}.program-price{font-size:20px;font-weight:700;color:#0b8a5f}.promotion-box{margin-top:-7px;margin-bottom:25px;padding:18px 20px;border:1px solid #b8d9c8;border-left:6px solid #0b8a5f;border-radius:10px;background:#f4fbf7}.promotion-box p{margin:5px 0 0;color:#52635c}.promotion-entry{display:flex;gap:10px;margin-top:14px}.promotion-entry input{flex:1;min-width:0;padding:11px 12px;border:1px solid #b7c9be;border-radius:8px;text-transform:uppercase}.promotion-entry button{padding:11px 16px;border:0;border-radius:8px;background:#0b8a5f;color:#fff;cursor:pointer}.promotion-entry button:disabled{cursor:not-allowed;opacity:.6}.promotion-box .promotion-success{color:#08784f;font-weight:600}.promotion-box .promotion-error{color:#b22222;font-weight:600}.section-header{background:#eaf1ee;padding:18px;border-radius:10px;margin-bottom:25px}.section-header h3{margin:0;font-size:20px}.section-header p{margin-top:5px;color:#55655f;font-size:14px}.medicare-card{flex:1 1 100%;min-width:0;padding:24px;border:1px solid #bcd9cd;border-left:6px solid #0b8a5f;border-radius:14px;background:linear-gradient(135deg,#f8fcfa,#eef8f3);box-shadow:0 10px 28px #19483614}.medicare-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.medicare-card h3{margin:6px 0;color:#183d30}.medicare-card p{margin:0;color:#587068}.medicare-step,.medicare-complete{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.medicare-step{color:#0b7955;background:#dff3e9}.medicare-complete{color:#fff;background:#0b8a5f}.medicare-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.medicare-choice button{padding:13px 16px;border:1px solid #b9cec5;border-radius:10px;color:#274a3d;background:#fff;font:inherit;font-weight:700;cursor:pointer}.medicare-choice button.selected{border-color:#0b8a5f;color:#07583e;background:#dff3e9;box-shadow:0 0 0 2px #0b8a5f1f}.medicare-choice button:disabled,.medicare-save:disabled{cursor:wait;opacity:.65}.medicare-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid #d3e4dc}.medicare-fields label{display:grid;gap:7px;color:#294b3e;font-size:13px;font-weight:700}.medicare-fields .q-input{width:100%;margin:0;min-height:44px}.medicare-save{min-height:44px;padding:11px 18px;border:0;border-radius:9px;color:#fff;background:#0b8a5f;font-weight:700;cursor:pointer}.medicare-loading,.medicare-message,.medicare-error{margin-top:14px!important;font-weight:600}.medicare-message{color:#08724f!important}.medicare-error{color:#b42318!important}.booking-locked{display:flex;align-items:center;gap:16px;padding:22px 24px;border:1px dashed #abc8bb;border-radius:12px;color:#315447;background:#f7faf8}.booking-locked>span{font-size:24px}.booking-locked p{margin:4px 0 0;color:#667a72}.appointment-grid{display:grid;grid-template-columns:30% 68%;gap:2%}.provider-box{background:#f7faf7;padding:20px;border-radius:10px;border:1px solid #e1e7e1;height:fit-content}.provider-box h4{margin:0 0 5px}.provider-box p{margin:0 0 10px;font-size:14px;color:#61736b}.provider-select{width:100%;padding:12px;border-radius:8px;font-size:14px;border:1px solid #c9d5cd;background:#fff}.calendar-box{background:#f7faf7;padding:20px;border-radius:10px;border:1px solid #e1e7e1}.calendar-box h4{margin:0 0 15px}.placeholder-msg{padding:20px;text-align:center;color:#8b9b95}.calendar-list{display:flex;flex-direction:column;gap:20px}.slot-row{background:#fff;border:1px solid #e2ebe4;border-radius:10px;padding:15px}.slot-date{font-weight:600;margin-bottom:10px;font-size:15px}.slot-times{display:flex;flex-wrap:wrap;gap:10px}.time-btn{padding:8px 14px;border-radius:8px;border:1px solid #c7d6cd;background:#f4f7f2;cursor:pointer;font-size:14px;transition:.2s ease}.time-btn:hover{background:#0b8a5f;color:#fff;border-color:#0b8a5f}.no-slots{font-size:13px;color:#8a9a92}@media (max-width: 900px){.appointment-grid,.medicare-fields{grid-template-columns:1fr}.promotion-entry{flex-direction:column}}@media (max-width: 560px){.medicare-card{padding:18px}.medicare-card-header{flex-direction:column}.medicare-choice{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-box{background:#fff;width:400px;max-width:90%;padding:25px;border-radius:12px;box-shadow:0 15px 40px #0003;position:relative}.modal-box.small{width:350px}.modal-close{background:transparent;font-size:24px;border:none;cursor:pointer;position:absolute;right:15px;top:10px}.modal-section{margin-bottom:15px}.btn-primary,.btn-secondary{padding:10px 16px;border-radius:8px;cursor:pointer;border:none;font-size:14px}.btn-primary{background:#0b8a5f;color:#fff}.btn-secondary{background:#e1e7e1;color:#1d2e28}.modal-footer{display:flex;justify-content:flex-end;gap:10px}:root{--booking-ink: #17382f;--booking-muted: #61756e;--booking-green: #0c6b4d;--booking-green-dark: #07553d;--booking-sage: #e8f1ed;--booking-soft: #f6f9f7;--booking-border: #d9e3de;--booking-danger: #dc4f49}.appointment-page{min-height:100vh;color:var(--booking-ink);background:radial-gradient(circle at 82% 8%,rgba(190,216,204,.32),transparent 28%),#f4f7f5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.booking-header{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:14px max(28px,calc((100vw - 1240px)/2));border-bottom:1px solid rgba(23,56,47,.1);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.booking-logo{display:block;width:min(240px,48vw);height:58px;object-fit:contain;object-position:left center}.logout-button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 15px;border:1px solid #ef7772;border-radius:9px;color:#c73e38;background:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:.16s ease}.logout-button:hover{color:#fff;background:var(--booking-danger);transform:translateY(-1px)}.appointment-wrapper{max-width:1240px;margin:28px auto 0;padding:0 24px 34px}.booking-surface{padding:26px;border:1px solid rgba(23,56,47,.09);border-radius:16px;background:#fff;box-shadow:0 18px 55px #193d311f}.progress-box{margin:0 0 18px;padding:0 12px 17px;border-bottom:1px solid var(--booking-border);border-radius:0;background:transparent}.progress-top{margin-bottom:12px;color:#334f46;font-size:13px;font-weight:700}.step-number{padding:5px 11px;border-radius:999px;color:#24483c;background:var(--booking-sage)}.progress-bar{height:5px;margin-bottom:12px;background:#e6ede9}.progress-fill{background:linear-gradient(90deg,#0d7352,#306f5a)}.progress-labels{color:var(--booking-muted);font-size:12px}.progress-complete,.progress-current{display:inline-flex;align-items:center;gap:7px}.progress-complete b{display:grid;width:18px;height:18px;place-items:center;border:1px solid var(--booking-green);border-radius:50%;color:var(--booking-green);font-size:11px}.progress-current{color:var(--booking-ink);font-weight:800}.program-box{min-height:74px;margin:0 0 10px;padding:14px 18px;border:1px solid var(--booking-border);border-radius:10px;background:linear-gradient(90deg,#f8faf9,#f3f7f5)}.program-left{display:flex;align-items:center;gap:13px}.program-left>div{display:grid;gap:2px}.program-left small{color:var(--booking-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.program-left strong{font-size:16px}.program-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:50%;color:#fff;background:#75a995;font-size:25px;font-weight:300}.program-price{font-size:21px;color:var(--booking-green-dark)}.promotion-box{margin:0 0 10px;padding:17px 18px;border:1px solid var(--booking-border);border-radius:10px;background:#fff}.promotion-box>div:first-child strong{font-size:14px}.promotion-box p{margin-top:3px;font-size:13px}.promotion-entry{margin-top:12px}.promotion-entry input,.provider-select,.calendar-box .q-input,.medicare-fields .q-input{min-height:44px;border:1px solid #cbd8d2!important;border-radius:8px!important;color:var(--booking-ink);background:#fff;font:inherit;font-size:14px!important;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.promotion-entry input:focus,.provider-select:focus,.calendar-box .q-input:focus,.medicare-fields .q-input:focus{border-color:#4b9378!important;box-shadow:0 0 0 3px #4b937821}.promotion-entry button,.medicare-save{min-width:122px;border-radius:8px;background:#79aa97;font:inherit;font-size:13px;font-weight:750}.promotion-entry button:not(:disabled):hover,.medicare-save:not(:disabled):hover{background:var(--booking-green)}.booking-context{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 10px}.medicare-card{padding:18px;border:1px solid var(--booking-border);border-radius:10px;background:#fff;box-shadow:none}.medicare-card-header{align-items:center}.medicare-card h3{margin:3px 0;font-size:19px}.medicare-card p{font-size:13px}.medicare-step{padding:0;color:var(--booking-muted);background:transparent;font-size:11px}.medicare-complete{position:relative;padding:5px 10px 5px 28px;color:#1d5b46;background:var(--booking-sage)}.medicare-complete:before{content:"✓";position:absolute;left:8px;top:50%;display:grid;width:15px;height:15px;place-items:center;border-radius:50%;color:#fff;background:var(--booking-green);font-size:9px;transform:translateY(-50%)}.medicare-choice{margin-top:15px}.medicare-choice button{position:relative;min-height:46px;border-radius:8px;font-size:14px}.medicare-choice button.selected{border-color:var(--booking-green);color:#fff;background:linear-gradient(100deg,var(--booking-green-dark),#167554);box-shadow:none}.medicare-choice button.selected:after{content:"✓";position:absolute;right:14px;top:50%;display:grid;width:21px;height:21px;place-items:center;border-radius:50%;color:var(--booking-green-dark);background:#fff;font-size:12px;transform:translateY(-50%)}.medicare-fields{padding-top:14px}.medicare-message{position:relative;padding-left:25px;font-size:13px}.medicare-message:before{content:"✓";position:absolute;left:0;display:grid;width:18px;height:18px;place-items:center;border-radius:50%;color:#fff;background:var(--booking-green);font-size:10px}.appointment-grid{grid-template-columns:minmax(250px,32%) 1fr;gap:0;overflow:hidden;border:1px solid var(--booking-border);border-radius:10px;background:#fff}.provider-box,.calendar-box{min-height:170px;padding:18px;border:0;border-radius:0;background:#fff}.provider-box{border-right:1px solid var(--booking-border)}.provider-box h4,.calendar-box h4{margin:0 0 6px;color:var(--booking-ink);font-size:15px}.provider-box p{margin-bottom:13px;font-size:12px}.provider-select{padding:10px 12px}.calendar-box>div:first-of-type{margin-bottom:12px!important}.calendar-box label{color:var(--booking-muted);font-size:12px}.placeholder-msg{margin:8px 0 0;padding:16px;border:1px dashed #d2ddd8;border-radius:8px;color:#70847c;background:var(--booking-soft);font-size:12px}.slot-row{padding:13px;border-color:var(--booking-border);background:var(--booking-soft)}.time-btn{border-color:#b7cec4;color:var(--booking-green-dark);background:#fff;font-weight:700}.booking-locked{border-style:solid;border-color:var(--booking-border);background:var(--booking-soft)}.booking-privacy{margin:16px 0 0;color:#6f807a;text-align:center;font-size:12px}@media (max-width: 900px){.booking-header{min-height:76px}.appointment-wrapper{margin-top:18px}.booking-surface{padding:18px}.appointment-grid{grid-template-columns:1fr}.provider-box{border-right:0;border-bottom:1px solid var(--booking-border)}}@media (max-width: 560px){.booking-header{padding:12px 18px}.booking-logo{width:175px;height:48px}.logout-button span{display:none}.appointment-wrapper{padding:0 12px 24px}.booking-surface{padding:14px;border-radius:12px}.program-box{align-items:flex-start}.program-price{margin-left:10px}.progress-labels{gap:8px}.progress-complete b{display:none}}.modal-overlay{padding:24px;overflow-y:auto;background:#102820a3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modal-fade-in .16s ease-out}.modal-box{width:min(640px,100%);max-width:100%;max-height:calc(100vh - 48px);padding:0;overflow-y:auto;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:#fff;box-shadow:0 30px 90px #08201847;animation:modal-rise-in .2s ease-out}.confirm-modal-header,.payment-modal-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:24px 26px 20px;border-bottom:1px solid var(--booking-border)}.confirm-title-group{display:flex;align-items:center;gap:13px}.confirm-title-icon,.payment-shield{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#0d7352,#07553d);box-shadow:0 8px 18px #0c6b4d2e;font-size:18px;font-weight:800}.modal-overline{display:block;margin-bottom:3px;color:#6b7e76;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.modal-header h2{margin:0;color:var(--booking-ink);font-size:22px;line-height:1.2}.modal-close{position:static;display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;padding:0;border-radius:9px;color:#49645a;background:var(--booking-soft);font-size:22px;line-height:1;transition:.15s ease}.modal-close:hover{color:#fff;background:var(--booking-green)}.provider-summary{display:flex;align-items:center;gap:13px;margin:22px 26px 14px;padding:15px 16px;border:1px solid var(--booking-border);border-radius:11px;background:linear-gradient(90deg,#f7faf8,#fff)}.doctor-avatar{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:50%;color:#fff;background:#74a692;font-size:13px;font-weight:800;letter-spacing:.04em}.doctor-role{margin-bottom:2px;color:var(--booking-muted);font-size:11px;font-weight:700}.doctor-name{color:var(--booking-ink);font-size:15px;font-weight:800}.provider-confirmed{margin-left:auto;padding:5px 9px;border-radius:999px;color:#176047;background:var(--booking-sage);font-size:11px;font-weight:800}.appointment-detail-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;margin:0 26px 18px;overflow:hidden;border:1px solid var(--booking-border);border-radius:11px}.appointment-detail-grid>div{display:grid;align-content:start;gap:4px;min-height:86px;padding:14px 15px;border-right:1px solid var(--booking-border)}.appointment-detail-grid>div:last-child{border-right:0}.appointment-detail-grid span,.appointment-detail-grid small{color:var(--booking-muted);font-size:11px;font-weight:650}.appointment-detail-grid strong{color:var(--booking-ink);font-size:13px;line-height:1.35}.modal-form-section{padding:0 26px 19px}.modal-label{display:block;margin-bottom:7px;color:var(--booking-ink);font-size:13px;font-weight:800}.modal-textarea{display:block;width:100%;min-height:82px;padding:11px 12px;resize:vertical;border:1px solid #cbd8d2;border-radius:9px;color:var(--booking-ink);background:#fff;font:inherit;font-size:13px;line-height:1.45;outline:none}.modal-textarea:focus{border-color:#4b9378;box-shadow:0 0 0 3px #4b937821}.modal-helper{display:block;margin-top:6px;color:#71827b;font-size:11px;line-height:1.4}.checkout-summary{margin:0 26px 16px;padding:15px 16px 13px;border:1px solid #c7ddd3;border-radius:11px;background:#f3f8f5}.checkout-line{display:flex;justify-content:space-between;gap:24px;padding-bottom:10px;color:#526b61;font-size:12px}.checkout-line strong{flex:0 0 auto;color:var(--booking-ink)}.checkout-total{padding:11px 0 0;border-top:1px solid #d5e4dd;color:var(--booking-ink);font-weight:800}.checkout-total strong{color:var(--booking-green-dark);font-size:17px}.checkout-summary>p{display:flex;align-items:center;gap:7px;margin:11px 0 0;color:#688077;font-size:11px}.confirmation-note{margin:0 26px 20px;padding-left:12px;border-left:3px solid #78a993;color:#5f746c;font-size:12px;line-height:1.5}.modal-footer{padding:17px 26px 22px;border-top:1px solid var(--booking-border);background:#fbfcfb}.modal-footer .btn-primary,.modal-footer .btn-secondary{min-height:43px;padding:10px 18px;border-radius:9px;font:inherit;font-size:13px;font-weight:800}.modal-footer .btn-secondary{border:1px solid #cbd8d2;color:#39564b;background:#fff}.modal-footer .btn-primary{background:var(--booking-green);box-shadow:0 7px 16px #0c6b4d29}.confirm-continue{display:inline-flex;align-items:center;gap:9px}.modal-box.small.secure-payment-modal{position:relative;width:min(450px,100%);padding-top:18px}.payment-shield{margin:0 auto -20px}.payment-modal-header{padding-top:32px;text-align:center}.payment-modal-header>div:first-child{flex:1;padding-left:36px}.payment-total-card{margin:22px 24px 14px;padding:20px;border-radius:12px;color:#fff;text-align:center;background:linear-gradient(135deg,#0a5d43,#127756)}.payment-total-card>span{display:block;font-size:11px;font-weight:700;opacity:.78;text-transform:uppercase;letter-spacing:.07em}.payment-total-card>strong{display:block;margin:5px 0;font-size:30px}.payment-total-card strong small{font-size:13px}.payment-total-card p{margin:0;font-size:12px;opacity:.85}.payment-banner{display:flex;align-items:center;gap:11px;margin:0 24px 18px;padding:13px 14px;border:1px solid var(--booking-border);border-radius:10px;color:#4d685e;background:var(--booking-soft)}.payment-banner>span{color:var(--booking-green);font-size:20px}.payment-banner strong{display:block;color:var(--booking-ink);font-size:12px}.payment-banner p{margin:2px 0 0;font-size:11px}.payment-error{margin:0 24px 16px;padding:11px 12px;border-radius:8px;color:#9d2925;background:#fff0ef;font-size:12px}.pay-button{flex:1;justify-content:center}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-rise-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 620px){.modal-overlay{padding:12px;align-items:flex-start}.modal-box{max-height:calc(100vh - 24px);border-radius:14px}.confirm-modal-header,.payment-modal-header{padding:18px}.modal-header h2{font-size:19px}.provider-summary{margin:16px 18px 12px}.appointment-detail-grid{grid-template-columns:1fr;margin:0 18px 15px}.appointment-detail-grid>div{min-height:auto;border-right:0;border-bottom:1px solid var(--booking-border)}.appointment-detail-grid>div:last-child{border-bottom:0}.modal-form-section{padding:0 18px 16px}.checkout-summary{margin:0 18px 14px}.confirmation-note{margin:0 18px 16px}.modal-footer{padding:14px 18px 18px}.modal-footer .btn-primary,.modal-footer .btn-secondary{flex:1}}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal-box{animation:none}}.login-container{max-width:420px;margin:60px auto;padding:20px;font-family:Inter,sans-serif}.login-card{background:#f7faf7;border:1px solid #d9e5dd;padding:30px;border-radius:12px}.login-title{font-size:24px;font-weight:700;margin-bottom:5px;text-align:center}.login-subtitle{text-align:center;color:#667b72;margin-bottom:20px}.login-error{background:#ffe6e6;color:#c30000;padding:10px;border-radius:8px;margin-bottom:12px;text-align:center}.login-label{display:block;font-size:14px;margin-bottom:5px;color:#1d2e28}.login-input{width:100%;padding:12px;border:1px solid #c7d6cd;border-radius:8px;margin-bottom:15px;font-size:14px}.login-btn{width:100%;padding:12px;background:#0b8a5f;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;margin-top:5px}.login-btn:hover{background:#08744e}.login-footer{text-align:center;margin-top:20px;font-size:14px}.login-footer a{color:#0b8a5f;font-weight:600}.admin-login-page{display:grid;grid-template-columns:minmax(390px,.9fr) minmax(500px,1.1fr);min-height:100vh;overflow:hidden;background:#fff;color:#153c32;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-login-brand{position:relative;display:flex;min-height:100vh;flex-direction:column;padding:clamp(32px,5vw,68px);overflow:hidden;background:linear-gradient(150deg,#0c4a3b,#052b23 72%,#04241d);color:#fff}.admin-login-brand:before,.admin-login-brand:after{position:absolute;border:1px solid rgba(94,219,167,.14);border-radius:50%;content:"";pointer-events:none}.admin-login-brand:before{right:-180px;bottom:-170px;width:480px;height:480px}.admin-login-brand:after{right:-92px;bottom:-82px;width:300px;height:300px}.admin-login-brand-logo,.admin-login-mobile-logo{display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.75);border-radius:15px;background:#fffffff5;box-shadow:0 12px 30px #0319133d}.admin-login-brand-logo{position:relative;z-index:1;width:230px;min-height:67px;padding:8px 14px}.admin-login-brand-logo img,.admin-login-mobile-logo img{display:block;width:100%;height:auto}.admin-login-brand-copy{position:relative;z-index:1;max-width:520px;margin:auto 0;padding:70px 0}.admin-login-brand-copy h1,.admin-login-brand-copy p{margin:0}.admin-login-brand-copy h1{max-width:470px;color:#fff;font-size:clamp(40px,4.5vw,62px);font-weight:760;letter-spacing:-.05em;line-height:1.03}.admin-login-brand-copy p{max-width:460px;margin-top:22px;color:#e8f8f2ba;font-size:16px;line-height:1.75}.admin-login-security-note{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:#e8f8f2ad;font-size:12px;font-weight:600}.admin-login-security-note .admin-login-icon{color:#60d5a4}.admin-login-form-side{display:flex;min-width:0;align-items:center;justify-content:center;padding:48px clamp(32px,7vw,110px);background:radial-gradient(circle at 88% 10%,rgba(209,241,228,.5),transparent 27%),#fff}.admin-login-mobile-logo{display:none}.admin-login-card{width:min(100%,440px)}.admin-login-heading{margin-bottom:38px}.admin-login-heading h2,.admin-login-heading p{margin:0}.admin-login-heading h2{color:#143c31;font-size:clamp(34px,3.4vw,44px);font-weight:760;letter-spacing:-.045em;line-height:1.1}.admin-login-heading p{margin-top:10px;color:#6f807a;font-size:15px;line-height:1.6}.admin-login-error{display:flex;align-items:flex-start;gap:9px;margin-bottom:20px;padding:12px 14px;border:1px solid #f1cac5;border-radius:10px;background:#fff4f2;color:#a13e33;font-size:13px;line-height:1.45}.admin-login-error .admin-login-icon{flex:0 0 18px;width:18px;height:18px}.admin-login-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;color:#36544b;font-size:13px;font-weight:680}.admin-login-input-wrap{display:flex;align-items:center;min-height:54px;padding:0 15px;border:1px solid #d7e3de;border-radius:11px;background:#fff;color:#82908b;box-shadow:0 4px 13px #193f3309;transition:border-color .16s ease,box-shadow .16s ease}.admin-login-input-wrap:focus-within{border-color:#299e75;box-shadow:0 0 0 4px #1d9f711c;color:#247d60}.admin-login-input-wrap input{width:100%;min-width:0;padding:0 11px;border:0;outline:0;background:transparent;color:#1d3e34;font:inherit;font-size:14px;font-weight:500}.admin-login-input-wrap input::placeholder{color:#9ba7a3}.admin-login-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-password-toggle{display:grid;flex:0 0 36px;width:36px;height:36px;padding:0;place-items:center;border:0;border-radius:8px;background:transparent;color:#71837c;cursor:pointer}.admin-password-toggle:hover{background:#eef7f3;color:#167657}.admin-password-toggle .admin-login-icon{width:19px;height:19px}.admin-password-toggle:focus-visible,.admin-login-submit:focus-visible{outline:3px solid rgba(31,164,117,.3);outline-offset:2px}.admin-login-submit{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;gap:10px;margin-top:9px;padding:0 20px;border:0;border-radius:11px;background:#11865f;color:#fff;font:inherit;font-size:14px;font-weight:720;cursor:pointer;box-shadow:0 12px 25px #11865f33;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.admin-login-submit:hover:not(:disabled){background:#0d7552;box-shadow:0 15px 30px #11865f40;transform:translateY(-1px)}.admin-login-submit:disabled{cursor:wait;opacity:.7}.admin-login-submit .admin-login-icon{width:18px;height:18px}.admin-login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:admin-login-spin .7s linear infinite}.admin-login-footnote{margin:22px 0 0;color:#8a9893;font-size:11px;text-align:center}@keyframes admin-login-spin{to{transform:rotate(360deg)}}@media (max-width: 920px){.admin-login-page{grid-template-columns:minmax(320px,.8fr) minmax(430px,1.2fr)}.admin-login-brand{padding:38px}.admin-login-brand-copy h1{font-size:42px}}@media (max-width: 760px){.admin-login-page{display:flex;min-height:100svh;flex-direction:column;overflow:auto;background:#f5f9f7}.admin-login-brand{display:none}.admin-login-form-side{width:100%;min-height:100svh;flex-direction:column;padding:32px 22px;background:radial-gradient(circle at 90% 8%,rgba(206,239,225,.65),transparent 31%),#f5f9f7}.admin-login-mobile-logo{display:flex;width:200px;min-height:60px;margin-bottom:38px;padding:8px 13px}.admin-login-card{max-width:430px;padding:28px 24px;border:1px solid #dfe9e5;border-radius:18px;background:#fff;box-shadow:0 18px 45px #113c2f1a}.admin-login-heading{margin-bottom:30px}.admin-login-heading h2{font-size:34px}}@media (max-width: 380px){.admin-login-form-side{padding:24px 14px}.admin-login-card{padding:24px 18px}}@media (prefers-reduced-motion: reduce){.admin-login-submit,.admin-login-input-wrap{transition:none}.admin-login-spinner{animation-duration:1.4s}}:root{--admin-forest-950: #062c24;--admin-forest-900: #083b30;--admin-forest-800: #0c4a3b;--admin-green-600: #11865f;--admin-green-500: #18a374;--admin-mint-100: #e5f5ef;--admin-canvas: #f4f8f6;--admin-surface: #ffffff;--admin-ink: #143b31;--admin-muted: #667972;--admin-border: #dfe9e5}*{box-sizing:border-box}body{min-width:320px}.admin-shell{display:flex;min-height:100vh;width:100%;background:var(--admin-canvas);color:var(--admin-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-sidebar{position:sticky;top:0;display:flex;flex:0 0 260px;flex-direction:column;height:100vh;padding:28px 18px 22px;overflow-y:auto;background:linear-gradient(165deg,var(--admin-forest-800) 0%,var(--admin-forest-950) 100%);color:#fff}.admin-brand{display:flex;align-items:center;min-height:58px}.admin-brand-logo-wrap{display:flex;width:100%;min-height:58px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:14px;background:#fffffff5;box-shadow:0 10px 24px #03191338}.admin-brand-logo{display:block;width:198px;height:auto}.admin-nav{display:flex;flex-direction:column;gap:7px;margin-top:46px}.admin-nav-link,.admin-logout{display:flex;align-items:center;gap:13px;min-height:48px;padding:0 14px;border:0;border-radius:11px;color:#ffffffc7;background:transparent;font:inherit;font-size:14px;font-weight:590;text-align:left;text-decoration:none;transition:color .16s ease,background .16s ease,transform .16s ease}.admin-nav-link:hover,.admin-logout:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.admin-nav-link.active{color:#fff;background:#19ae773d;box-shadow:inset 3px 0 #35d69b}.admin-nav-icon{flex:0 0 21px;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-logout{width:100%;margin-top:auto;cursor:pointer}.admin-logout:focus-visible,.admin-nav-link:focus-visible{outline:3px solid rgba(80,222,169,.6);outline-offset:2px}.admin-content{flex:1;min-width:0;overflow-x:hidden;padding:36px clamp(24px,3.5vw,54px) 54px}@media (max-width: 900px){.admin-sidebar{flex-basis:82px;align-items:center;padding-inline:12px}.admin-brand{padding:0}.admin-nav-link span,.admin-logout span{display:none}.admin-brand-logo-wrap{width:50px;min-height:50px;border-radius:13px}.admin-brand-logo{width:230px;max-width:none;transform:translate(82px)}.admin-nav-link,.admin-logout{justify-content:center;width:50px;padding:0}}@media (max-width: 620px){.admin-shell{display:block;padding-bottom:76px}.admin-sidebar{position:fixed;z-index:50;top:auto;right:0;bottom:0;left:0;display:block;width:100%;height:68px;padding:8px 10px;overflow:visible;background:var(--admin-forest-950)}.admin-brand,.admin-logout,.admin-nav-link:nth-child(n+5){display:none}.admin-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0}.admin-nav-link{flex-direction:column;gap:2px;width:auto;min-height:52px;padding:5px 2px;border-radius:9px;font-size:10px}.admin-nav-link span{display:block}.admin-nav-link.active{box-shadow:inset 0 -2px #35d69b}.admin-nav-icon{width:20px;height:20px}.admin-content{padding:24px 16px 36px}}.dashboard-page{width:min(100%,1420px);margin:0 auto;color:var(--admin-ink)}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.dashboard-header h1,.dashboard-header p,.section-heading h2,.section-heading p{margin:0}.dashboard-header h1{color:#123a30;font-size:clamp(30px,3vw,42px);font-weight:760;letter-spacing:-.04em;line-height:1.12}.dashboard-header p{margin-top:8px;color:var(--admin-muted);font-size:15px}.dashboard-date{display:flex;align-items:center;gap:9px;padding-bottom:4px;color:#526b63;font-size:13px;font-weight:650}.dashboard-date-dot{width:8px;height:8px;border-radius:999px;background:#20a977;box-shadow:0 0 0 4px #dcf3ea}.dashboard-filters{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(190px,.75fr) auto;gap:14px;padding:18px;border:1px solid rgba(205,220,214,.85);border-radius:16px;background:#fffffff0;box-shadow:0 10px 30px #1641340e}.filter-control{display:flex;align-items:center;gap:11px;min-height:50px;padding:0 15px;border:1px solid #d8e3df;border-radius:10px;background:#fff;color:#73817c;transition:border-color .16s ease,box-shadow .16s ease}.filter-control:focus-within{border-color:#2ba87c;box-shadow:0 0 0 3px #1d9f711f}.filter-control input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#223d35;font:inherit;font-size:14px}.filter-control input::placeholder{color:#899690}.dashboard-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.filter-clear{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 21px;border:1px solid #1a5747;border-radius:10px;background:#fff;color:#174a3d;font:inherit;font-size:14px;font-weight:680;cursor:pointer;transition:color .16s ease,background .16s ease,transform .16s ease}.filter-clear:hover{border-color:#174a3d;background:#eff8f4;transform:translateY(-1px)}.filter-clear:focus-visible,.metric-card-action:focus-visible,.patient-link:focus-visible,.modal-header button:focus-visible{outline:3px solid rgba(30,166,118,.28);outline-offset:2px}.metric-grid,.summary-grid{display:grid;gap:16px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.metric-card{position:relative;display:flex;align-items:center;gap:15px;min-width:0;min-height:112px;padding:20px;overflow:hidden;border:1px solid rgba(211,224,219,.9);border-radius:16px;background:#fff;color:var(--admin-ink);font:inherit;text-align:left;box-shadow:0 9px 24px #15433511}.metric-icon{display:grid;flex:0 0 50px;width:50px;height:50px;place-items:center;border-radius:50%;background:#e7f6f0;color:#126c51}.metric-icon .dashboard-icon{width:25px;height:25px}.metric-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.metric-title{color:#62746e;font-size:13px;font-weight:590;line-height:1.3}.metric-copy strong{color:#173a31;font-size:clamp(24px,2.2vw,31px);font-weight:750;letter-spacing:-.035em;line-height:1.1}.metric-card-action{width:100%;cursor:pointer;transition:border-color .17s ease,box-shadow .17s ease,transform .17s ease}.metric-card-action:hover{border-color:#95ceba;box-shadow:0 14px 30px #1543351a;transform:translateY(-2px)}.metric-card-action>.dashboard-icon{width:17px;margin-left:auto;color:#7ca397}.metric-card-wide{min-height:126px;padding:24px 26px}.metric-card-wide .metric-icon{width:56px;height:56px;flex-basis:56px}.metric-card-wide .metric-title{color:#47645b;font-size:14px}.metric-card-wide .metric-copy strong{font-size:clamp(28px,2.6vw,38px)}.metric-card-accent{border-color:transparent;background:linear-gradient(120deg,#128477,#43aa68);box-shadow:0 13px 30px #0f7c5b33}.metric-card-accent:after{position:absolute;right:-45px;bottom:-75px;width:210px;height:210px;border:1px solid rgba(255,255,255,.18);border-radius:50%;content:""}.metric-card-accent .metric-icon{position:relative;z-index:1;background:#ffffffeb;color:#168870}.metric-card-accent .metric-title,.metric-card-accent .metric-copy strong{position:relative;z-index:1;color:#fff}.recent-section{margin-top:31px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.section-heading h2{color:#153c32;font-size:23px;font-weight:730;letter-spacing:-.025em}.section-heading p{margin-top:4px;color:#73837d;font-size:13px}.section-heading>span{padding-bottom:2px;color:#61756d;font-size:12px;font-weight:650}.table-panel{overflow:hidden;border:1px solid #dbe6e1;border-radius:16px;background:#fff;box-shadow:0 10px 28px #1543350f}.table-scroll{width:100%;overflow-x:auto}.dashboard-table{width:100%;min-width:740px;border-collapse:collapse;color:#334c44;font-size:13px;text-align:left}.dashboard-table th{height:50px;padding:0 18px;border-bottom:1px solid #dfe8e4;background:#fbfdfc;color:#4f645c;font-size:11px;font-weight:740;letter-spacing:.06em;text-transform:uppercase}.dashboard-table td{height:60px;padding:8px 18px;border-bottom:1px solid #edf2ef;color:#41574f;vertical-align:middle}.dashboard-table tbody tr:last-child td{border-bottom:0}.dashboard-table tbody tr{transition:background .14s ease}.dashboard-table tbody tr:hover{background:#f8fcfa}.patient-link{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#0c7958;font:inherit;font-weight:680;cursor:pointer}.patient-link:hover{color:#075f45}.patient-avatar,.patient-profile-avatar{display:grid;place-items:center;border-radius:50%;background:#e4f4ee;color:#137456;font-weight:760}.patient-avatar{width:34px;height:34px;font-size:11px}.status-badge,.promotion-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:11px;font-weight:690;line-height:1;text-transform:capitalize}.status-badge{padding:7px 10px}.status-badge>span{width:6px;height:6px;border-radius:50%}.status-badge.paid{background:#e6f7ec;color:#267342}.status-badge.paid>span{background:#39a65b}.status-badge.pending{background:#fff3dc;color:#906115}.status-badge.pending>span{background:#e4a630}.promotion-badge{padding:7px 10px;background:#fff2cc;color:#815d12}.promotion-badge .dashboard-icon{width:13px;height:13px}.empty-value{color:#9ca9a4}.empty-table{height:110px!important;color:#7d8d87!important;text-align:center}.modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#041e178f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dashboard-modal{width:min(100%,570px);max-height:min(84vh,800px);overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:#fff;box-shadow:0 28px 80px #031c1547}.dashboard-modal-wide{width:min(100%,980px)}.modal-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 24px;border-bottom:1px solid #e5ece9}.modal-header h2{margin:0;color:#173e33;font-size:21px;font-weight:740;letter-spacing:-.02em}.modal-header button{display:grid;width:36px;height:36px;padding:0;place-items:center;border:0;border-radius:9px;background:#edf5f2;color:#47655b;cursor:pointer}.modal-header button:hover{background:#e1efea}.modal-header .dashboard-icon{width:18px}.modal-body{max-height:calc(min(84vh,800px) - 72px);padding:24px;overflow-y:auto}.dashboard-modal-wide .modal-body{padding:0}.modal-table{min-width:800px}.patient-profile-heading{display:flex;align-items:center;gap:15px;padding-bottom:22px;border-bottom:1px solid #e6eeeb}.patient-profile-avatar{width:54px;height:54px;font-size:17px}.patient-profile-heading h3,.patient-profile-heading p{margin:0}.patient-profile-heading h3{color:#173e33;font-size:18px}.patient-profile-heading p{margin-top:4px;color:#74837e;font-size:13px}.profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.profile-details>div{display:flex;min-height:70px;flex-direction:column;justify-content:center;padding:13px 15px;border:1px solid #e2ebe7;border-radius:11px;background:#f8fbfa}.profile-details span{color:#7a8a84;font-size:11px;font-weight:650;text-transform:uppercase}.profile-details strong{margin-top:4px;color:#2e4a41;font-size:13px}.modal-section{margin-top:24px}.modal-section h3{margin:0 0 12px;color:#26473d;font-size:15px}.answer-row{display:flex;flex-direction:column;gap:3px;padding:11px 0;border-bottom:1px solid #edf2f0;font-size:13px}.answer-row strong{color:#405a51}.answer-row span,.empty-copy{color:#71817b}.appointment-list{display:flex;flex-direction:column;gap:8px}.appointment-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border-radius:10px;background:#f5faf8;color:#496159;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 780px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.dashboard-filters{grid-template-columns:1fr 1fr}.filter-control:first-child{grid-column:1 / -1}.summary-grid{grid-template-columns:1fr}}@media (max-width: 560px){.dashboard-header h1{font-size:30px}.dashboard-filters,.metric-grid{grid-template-columns:1fr}.filter-control:first-child{grid-column:auto}.metric-card{min-height:100px}.section-heading{align-items:flex-start;flex-direction:column;gap:7px}.profile-details{grid-template-columns:1fr}.modal-overlay{align-items:flex-end;padding:0}.dashboard-modal{max-height:92vh;border-radius:20px 20px 0 0}}@media (prefers-reduced-motion: reduce){.metric-card-action,.admin-nav-link,.admin-logout,.filter-clear{transition:none}}.appointments-page{width:100%;min-width:0;color:var(--admin-ink)}.appointments-header h1,.appointments-header p{margin:0}.appointments-header h1{color:#123a30;font-size:clamp(30px,3vw,42px);font-weight:760;letter-spacing:-.04em;line-height:1.12}.appointments-header p{margin-top:8px;color:var(--admin-muted);font-size:15px}.appointments-filter-bar{display:flex;align-items:flex-end;gap:12px;margin:26px 0 20px;padding:16px;border:1px solid var(--admin-border);border-radius:16px;background:#fffffff0;box-shadow:0 10px 30px #1641340e}.appointments-date-filter{display:flex;min-width:220px;flex-direction:column;gap:7px}.appointments-date-filter span{color:#50665f;font-size:12px;font-weight:700}.appointments-date-filter input{min-height:44px;padding:0 12px;border:1px solid #d8e3df;border-radius:10px;outline:none;background:#fff;color:#29463d;font:inherit;font-size:14px}.appointments-date-filter input:focus{border-color:#2ba87c;box-shadow:0 0 0 3px #1d9f711f}.appointments-range-button{min-height:44px;padding:0 17px;border:0;border-radius:10px;background:#11865f;color:#fff;font:inherit;font-size:13px;font-weight:680;cursor:pointer;transition:background .16s ease,transform .16s ease}.appointments-range-button:hover{background:#0d7250;transform:translateY(-1px)}.appointments-range-button:focus-visible{outline:3px solid rgba(30,166,118,.28);outline-offset:2px}.appointments-table-panel{width:100%;min-width:0;overflow:hidden;border:1px solid #dbe6e1;border-radius:16px;background:#fff;box-shadow:0 10px 28px #1543350f}.appointments-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#a9c8bc #edf4f1;scrollbar-width:thin}.appointments-table-scroll::-webkit-scrollbar{height:10px}.appointments-table-scroll::-webkit-scrollbar-track{background:#edf4f1}.appointments-table-scroll::-webkit-scrollbar-thumb{border:2px solid #edf4f1;border-radius:999px;background:#a9c8bc}.appointments-table{width:max-content;min-width:100%;border-collapse:collapse;color:#334c44;font-size:13px;text-align:left}.appointments-table th{position:sticky;top:0;z-index:1;min-width:88px;padding:14px 12px!important;border-bottom:1px solid #dfe8e4;background:#fbfdfc;color:#4f645c;font-size:11px;font-weight:740;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.appointments-table td{max-width:220px;padding:12px!important;border-bottom:1px solid #edf2ef;color:#41574f;vertical-align:middle}.appointments-table tbody tr:last-child td{border-bottom:0}.appointments-table tbody tr:hover{background:#f8fcfa}.appointments-table td:nth-child(4){min-width:210px}.appointments-table td:nth-child(14),.appointments-table th:nth-child(14){min-width:155px}@media (max-width: 620px){.appointments-header h1{font-size:30px}.appointments-filter-bar{align-items:stretch;flex-direction:column}.appointments-date-filter{min-width:0}}@media (prefers-reduced-motion: reduce){.appointments-range-button{transition:none}}:root{--bg-hero: #f5efe4;--bg-cream: #f5efe4;--bg-cream-alt: #f3ecdd;--bg-light: #ffffff;--green: #2f4734;--green-text: #294334;--green-dark: #1f3226;--gold: #c3a368;--gold-dark: #a2874f;--gray-text: #5c6d63;--muted-text: #7f8a84;--value-card-bg: #f3ebdd;--faq-panel-bg: #f4f6f8;--footer-bg: #16352a;--footer-text: #e5f0eb;--emergency-bg: #8c2f2f;--emergency-text: #fbe9e9;--container-width: 1200px;--radius-card: 10px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;background:var(--bg-cream);color:var(--green-text)}.section{width:100%;display:flex;justify-content:center;padding:80px 16px}.section--cream{background:var(--bg-cream)}.section--cream-alt{background:var(--bg-cream-alt)}.section--white{background:#fff}.container{width:100%;max-width:var(--container-width);margin:0 auto}.section-title{font-size:34px;font-weight:700;text-align:center;margin:0 0 20px;color:var(--green-text)}.section-subtitle{max-width:720px;margin:0 auto;text-align:center;font-size:17px;color:var(--gray-text)}.btn{border-radius:8px;padding:12px 26px;font-size:16px;font-weight:600;border:none;cursor:pointer;font-family:inherit}.btn--green{background:var(--green);color:#fff}.btn--green:hover{background:var(--green-dark)}.btn--outline-green{background:#fff;border:1px solid var(--green);color:var(--green)}.btn--outline-green:hover{background:var(--green);color:#fff}.btn--gold{background:var(--gold);color:#fff}.btn--gold:hover{background:var(--gold-dark)}.navbar{width:100%;background:#fff;border-bottom:1px solid #e7e1d6;position:sticky;top:0;z-index:1000;display:flex;justify-content:center}.navbar-inner{width:100%;max-width:var(--container-width);padding:16px 18px;display:flex;align-items:center;justify-content:space-between}.navbar-left{display:flex;align-items:center;gap:12px}.brand-name{font-weight:700;font-size:20px;color:var(--green-text)}.brand-tagline{font-size:13px;color:var(--muted-text)}.navbar-links{display:flex;align-items:center;gap:28px}.navbar-links button{background:transparent;border:none;font-size:15px;font-weight:500;color:var(--green-text);cursor:pointer;padding:0}.navbar-links button:hover{color:var(--gold-dark)}.navbar-book-btn{padding:10px 20px;border-radius:8px;background:var(--gold);color:#fff;font-weight:600;border:none;cursor:pointer}.hero{background:var(--bg-hero);padding:100px 16px 70px;display:flex;justify-content:center}.hero-container{max-width:var(--container-width);text-align:center}.hero-heading{font-size:48px;font-weight:700;margin:0;color:var(--green-text)}.hero-heading span{color:var(--gold)}.hero-subtext{margin:24px auto 32px;max-width:720px;font-size:18px;color:var(--gray-text)}.hero-cta{padding:14px 30px}.howitworks{background:#fff}.howitworks-title{text-align:center;font-size:28px;font-weight:700;margin-bottom:34px;color:var(--green-text)}.howitworks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px 32px}.how-card{text-align:left}.how-icon{width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:22px}.how-card h3{margin:0 0 8px;font-size:18px;color:var(--green-text)}.how-card p{margin:0;font-size:15px;color:var(--gray-text)}.howitworks-bottom-cta{text-align:center;margin-top:40px}.whowehelp-section{background:var(--bg-cream-alt)}.whowehelp-header{text-align:center}.whowehelp-title{font-size:30px;font-weight:700;margin-bottom:16px;color:var(--green-text)}.whowehelp-subtext{max-width:720px;margin:0 auto 24px;font-size:17px;color:var(--gray-text)}.whowehelp-small{font-size:15px;color:var(--gray-text)}.whowehelp-values{margin-top:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.whowehelp-value{display:flex;align-items:center;gap:12px;background:var(--value-card-bg);padding:18px 20px;border-radius:var(--radius-card)}.whowehelp-value-icon{width:28px;height:28px;border-radius:999px;background:var(--green);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.whowehelp-value span{font-size:15px;color:var(--green-text)}.whowehelp-banner{margin-top:40px;background:var(--value-card-bg);padding:26px 24px;border-radius:var(--radius-card);text-align:center;font-size:16px;font-weight:500;color:var(--green-text)}.whowehelp-banner .btn{margin-top:16px}.pricing-section{background:var(--bg-cream)}.pricing-title{text-align:center;font-size:30px;font-weight:700;margin:0 0 20px;color:var(--green-text)}.pricing-subtitle{font-size:20px;font-weight:600;margin:30px 0 12px;color:var(--green-text);text-align:left}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.pricing-card{background:#fff;border-radius:var(--radius-card);padding:26px 24px;box-shadow:0 1px 4px #0000000f}.pricing-card h4{margin:0 0 10px;font-size:18px;color:var(--green-text)}.price-amount{font-size:32px;font-weight:700;margin:4px 0 10px;color:var(--green-text)}.pricing-desc{font-size:14px;color:var(--gray-text);margin-bottom:18px}.pricing-card .btn{font-size:14px}.pricing-footnote{margin-top:14px;font-size:13px;color:var(--muted-text)}.aboutdoctor-section{background:var(--bg-cream-alt);padding:90px 16px;display:flex;justify-content:center}.aboutdoctor-container{max-width:var(--container-width);width:100%;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr);gap:60px;align-items:start}.aboutdoctor-left h2{font-size:30px;font-weight:700;margin:0 0 20px;color:var(--green-text)}.aboutdoctor-left p{font-size:16px;line-height:1.6;color:var(--gray-text);margin:0 0 18px}.aboutdoctor-approach h4{margin:8px 0 10px;font-size:17px;color:var(--green-text)}.aboutdoctor-approach ul{list-style:none;padding-left:0;margin:0 0 16px}.aboutdoctor-approach li{position:relative;padding-left:16px;margin-bottom:6px;font-size:15px;color:var(--green-text)}.aboutdoctor-approach li:before{content:"•";position:absolute;left:0}.aboutdoctor-btn{background:var(--green);color:#fff;padding:12px 26px;border-radius:8px;border:none;font-weight:600;cursor:pointer;margin-top:6px}.aboutdoctor-right{text-align:center}.aboutdoctor-photo-wrapper{width:190px;height:190px;border-radius:50%;overflow:hidden;margin:0 auto 18px;border:4px solid #ffffff;box-shadow:0 2px 6px #0000002e}.aboutdoctor-photo{width:100%;height:100%;object-fit:cover}.aboutdoctor-name{margin:0;font-weight:700;font-size:18px;color:var(--green-text)}.aboutdoctor-role{margin:4px 0 18px;font-size:14px;color:var(--gray-text)}.aboutdoctor-quote{max-width:360px;margin:0 auto;background:#fff;padding:14px 18px;border-radius:6px;font-size:14px;color:var(--gray-text);box-shadow:0 1px 4px #0000000f}.faq-section{background:var(--bg-cream);padding:80px 16px;display:flex;justify-content:center}.faq-inner{max-width:var(--container-width);width:100%}.faq-title{text-align:center;font-size:30px;font-weight:700;margin-bottom:30px;color:var(--green-text)}.faq-panel{background:var(--faq-panel-bg);border-radius:10px;padding:26px 30px}.faq-item{border-bottom:1px solid #dde2e9;padding:14px 0;cursor:pointer}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;align-items:center;justify-content:space-between;font-size:15px;color:var(--green-text)}.faq-toggle{font-size:20px;font-weight:500}.faq-answer{margin-top:8px;font-size:14px;color:var(--gray-text)}.disclaimer-section{background:#fff;padding:70px 16px 60px;display:flex;justify-content:center}.disclaimer-inner{max-width:900px;width:100%}.disclaimer-card{background:var(--bg-cream-alt);padding:28px 26px;border-radius:10px;text-align:left;box-shadow:0 1px 4px #0000000a}.disclaimer-title{text-align:center;font-size:20px;font-weight:700;color:var(--green-text);margin-bottom:16px}.disclaimer-text{font-size:14px;color:var(--gray-text);line-height:1.6}.footer{background:var(--footer-bg);color:var(--footer-text);padding:40px 16px 24px;margin-top:0}.footer-container{max-width:var(--container-width);margin:0 auto}.footer-top{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:40px;padding-bottom:30px;border-bottom:1px solid rgba(229,240,235,.25)}.footer-logo-block p{font-size:14px;margin:10px 0 0}.footer-heading{font-size:14px;font-weight:700;margin-bottom:10px}.footer-links,.footer-legal{font-size:14px}.footer-links a,.footer-legal a{display:block;text-decoration:none;color:var(--footer-text);margin-bottom:6px}.footer-links a:hover,.footer-legal a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-top:20px;font-size:13px}.footer-emergency{background:var(--emergency-bg);color:var(--emergency-text);padding:12px 16px;border-radius:6px;max-width:420px}@media (max-width: 900px){.navbar-inner{flex-direction:column;align-items:flex-start;gap:10px}.navbar-links{flex-wrap:wrap;gap:14px}.aboutdoctor-container,.whowehelp-values,.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}@media (max-width: 640px){.hero-heading{font-size:34px}.section{padding:60px 14px}.hero{padding-top:80px}}.section.section-cream{background:var(--bg-cream)}.section.section-light{background:var(--bg-cream-alt)}.section.section-white{background:#fff}.section-sub{max-width:720px;margin:0 auto 18px;text-align:center;font-size:17px;color:var(--gray-text)}.section-sub.section-sub-small{font-size:15px}.btn-outline{background:#fff;border:1px solid var(--green);color:var(--green)}.btn-outline:hover,.btn-secondary{background:var(--green);color:#fff}.btn-secondary:hover{background:var(--green-dark)}.booking-container{max-width:900px;margin:0 auto;text-align:center}.booking-title{font-size:34px;margin-bottom:8px;font-weight:700;color:var(--green-dark)}.booking-subtitle{font-size:18px;color:var(--gray-text);margin-bottom:32px}.booking-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-content:center;margin-top:20px}.booking-card{background:#fff;border:1px solid var(--border);padding:28px;border-radius:12px;text-align:left;box-shadow:0 2px 6px #0000000f}.booking-card-title{font-size:20px;font-weight:700;margin-bottom:6px;color:var(--green-dark)}.booking-card-price{font-size:28px;font-weight:700;color:var(--green);margin:6px 0 12px}.booking-card-desc{font-size:15px;color:var(--gray-text);line-height:1.5;margin-bottom:20px}.booking-btn{width:100%;font-size:15px}.booking-links{margin-top:30px;text-align:center}.booking-links a{color:var(--green);font-weight:600;text-decoration:none}.booking-links a:hover{text-decoration:underline}.disclaimer-box{margin-top:40px;padding:30px;background:#f8f4ec;border-radius:10px;border-left:5px solid #0b8a5f;max-width:800px;margin-left:auto;margin-right:auto}.disclaimer-title{text-align:center;font-size:24px;margin-bottom:15px;color:#0b8a5f}.disclaimer-content p{margin-bottom:12px;line-height:1.6;color:#444}
