/* Appointment intake v2 · keeps Nuvora identity, improves interaction only. */
.ai2-appointment-form{position:relative;overflow:visible}
.ai2-form-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:2px}
.ai2-form-heading h2{margin:5px 0 4px!important;font:600 22px/1.25 Inter,system-ui,sans-serif!important;color:#29473e}
.ai2-form-heading p:last-child{margin:0;color:#7d8f84;font-size:12px}
.ai2-mode{margin:22px 0 26px}
.ai2-mode-panel{display:grid;gap:14px}
.ai2-patient-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ai2-patient-search{position:relative;min-width:0}
.ai2-searchbox{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 11px;border:1px solid #d8e1d8;border-radius:11px;background:#fff;transition:.18s}
.ai2-searchbox:focus-within{border-color:#b7c3ba;box-shadow:0 0 0 2px rgba(23,63,53,.035)}
.ai2-searchbox svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#6f887a;stroke-width:1.8}
.ai2-searchbox input{min-width:0!important;flex:1!important;height:42px!important;border:0!important;outline:none!important;padding:0!important;background:transparent!important;box-shadow:none!important;font-size:13px!important}.ai2-searchbox input:focus,.ai2-searchbox input:focus-visible{outline:none!important;border:0!important;box-shadow:none!important}
.ai2-searchbox button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#87978e;font-size:20px}
.ai2-searchbox button:hover{background:#eef3ed}
.ai2-patient-results{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:45;padding:7px;border:1px solid #dbe3da;border-radius:15px;background:#fffefa;box-shadow:0 22px 55px rgba(23,63,53,.16);max-height:340px;overflow:auto}
.ai2-patient-option{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:58px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:#274b40;text-align:left}
.ai2-patient-option:hover{background:#f2f6ef}
.ai2-patient-avatar,.ai2-selected-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#1f4d3f;color:#fff;font-size:11px;font-weight:850}
.ai2-patient-option strong{display:block;font-size:12px}.ai2-patient-option small{display:block;margin-top:2px;color:#829189;font-size:10px}
.ai2-patient-option em{padding:6px 8px;border-radius:999px;font-style:normal;font-size:9px;font-weight:800;white-space:nowrap}
.ai2-patient-option em.private{background:#edf4e7;color:#5e795e}.ai2-patient-option em.insurance{background:#f3ead7;color:#8b6c35}.ai2-patient-option em.pending{background:#f3efea;color:#8d8174}
.ai2-search-empty{padding:18px;text-align:center;color:#87968e;font-size:11px}
.ai2-selected-patient{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #d9e4d7;border-radius:15px;background:linear-gradient(135deg,#f2f7ed,#fbfcf8)}
.ai2-selected-patient span,.ai2-readonly-payment span{display:block;color:#a0834c;font-size:9px;font-weight:850;letter-spacing:.1em}
.ai2-selected-patient strong{display:block;margin:3px 0;font-size:13px}.ai2-selected-patient small{color:#7a8b80;font-size:10px}
.ai2-selected-patient em{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dbe3d9;font-style:normal;font-size:10px;font-weight:800}
.ai2-first-panel{margin:0 0 14px}
#ai2-first-professional{margin-bottom:14px}
.ai2-payment-field{margin-bottom:14px}
.ai2-readonly-payment{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #e4dcc9;border-radius:14px;background:linear-gradient(135deg,#fbf7ed,#fffefa)}
.ai2-readonly-payment strong{display:block;margin:4px 0 2px;font-size:13px}.ai2-readonly-payment small{color:#7e8d84;font-size:10px}
.ai2-lock{flex:0 0 auto!important;padding:6px 9px!important;border-radius:999px;background:#f1f2ed;color:#7f8d84!important;font-size:9px!important;letter-spacing:0!important}
#ai2-treatment-field{margin:14px 0}
#ai2-treatment-field small{display:block;margin-top:5px;color:#839188;font-size:10px}
.ai2-date-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.ai2-picker-trigger{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px;border:1px solid #d8e1d8;border-radius:11px;background:#fff;color:#294d41;text-align:left;font-size:13px;font-weight:650}
.ai2-picker-trigger:hover{border-color:#b8c9bc;background:#fcfdf9}.ai2-picker-trigger:focus-visible{outline:none;border-color:#789b86;box-shadow:0 0 0 3px rgba(31,77,63,.08)}
.ai2-picker-trigger svg{width:18px;height:18px;fill:none;stroke:#1f4d3f;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ai2-picker-popover{position:fixed;z-index:9999;filter:drop-shadow(0 22px 42px rgba(23,63,53,.17))}
.ai2-picker-card{overflow:hidden;border:1px solid #dfd8c8;border-radius:20px;background:#fffdf8;color:#173f35}
.ai2-picker-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 17px 13px;border-bottom:1px solid #ece6da;background:linear-gradient(180deg,#fffefa,#fbf8f0)}
.ai2-picker-card>header>div{display:grid;gap:3px;text-align:center;min-width:0;flex:1}.ai2-picker-card>header small,.ai2-time-columns small{color:#ad8b49;font-size:9px;font-weight:850;letter-spacing:.13em}
.ai2-picker-card>header strong{font:400 20px/1.2 Georgia,serif;color:#173f35}
.ai2-picker-nav,.ai2-picker-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #e2ddcf;border-radius:11px;background:#fbfaf5;color:#214d3f;font-size:24px}
.ai2-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:12px 13px 4px;padding:8px 4px;border-radius:11px;background:#f2f5ef}.ai2-cal-week span{text-align:center;color:#45675c;font-size:10px;font-weight:800}
.ai2-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:6px 13px 12px}.ai2-cal-day{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:transparent;color:#234d40;font-size:12px;font-weight:650}.ai2-cal-day:hover{background:#f0f4ee;border-color:#e0e7dd}.ai2-cal-day.outside{color:#a8b0aa}.ai2-cal-day.selected{background:linear-gradient(145deg,#245845,#173f35);border-color:#c6a861;color:#fff;box-shadow:0 0 0 2px #f0ddb0,0 7px 16px rgba(23,63,53,.16)}
.ai2-picker-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-top:1px solid #ece6da;background:#fffdfa}.ai2-picker-card>footer button{min-height:36px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:#315d4e;font-size:11px;font-weight:800}.ai2-picker-card>footer button:hover{background:#f0f4ee}
.ai2-time-selected{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:14px 15px 10px}.ai2-time-selected strong{display:grid;place-items:center;min-height:62px;border:1px solid #d8c28f;border-radius:14px;background:linear-gradient(145deg,#245845,#173f35);color:#fff;font-size:28px}.ai2-time-selected span{color:#ad8b49;font-size:24px;font-weight:800}
.ai2-time-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 14px 10px}.ai2-time-columns section{display:grid;gap:7px}.ai2-time-columns section>small{text-align:center}.ai2-time-list{height:230px;overflow:auto;display:grid;gap:5px;padding:2px 4px;scrollbar-width:thin;scrollbar-color:#b8c6bc transparent}.ai2-time-list button{min-height:40px;border:1px solid #e5e0d4;border-radius:10px;background:#fffdf8;color:#244d40;font-size:13px;font-weight:650}.ai2-time-list button:hover{background:#f1f5ef}.ai2-time-list button.selected{background:#1f4d3f;border-color:#c4a55f;color:#fff;box-shadow:0 0 0 2px #f1dfb3}.ai2-time-card footer{justify-content:flex-start}.ai2-time-card footer .confirm{margin-left:auto;background:#1f4d3f;color:#fff;padding-inline:14px}
.ai2-arrival-modal{max-width:690px}.ai2-arrival-body{display:grid;gap:15px}
.ai2-arrival-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai2-choice-card{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;min-height:98px;padding:14px;border:1px solid #dbe4d9;border-radius:15px;background:#fff;color:#294c41;text-align:left}.ai2-choice-card:hover{background:#f4f7f1}.ai2-choice-card.premium{border-color:#dbc99f;background:linear-gradient(135deg,#fbf6e9,#fffefa)}.ai2-choice-card>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#1f4d3f;color:#fff;font-size:10px;font-weight:850}.ai2-choice-card strong{display:block;font-size:12px}.ai2-choice-card p{margin:4px 0 0;color:#7c8c83;font-size:10px;line-height:1.5}.ai2-choice-card b{font-size:17px;color:#ad8b49}
.ai2-link-ready,.ai2-registration-success{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;padding:15px;border:1px solid #dfd1b4;border-radius:16px;background:linear-gradient(135deg,#fbf6ea,#fffefa)}.ai2-link-icon,.ai2-registration-success>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#1f4d3f;color:#fff;font-size:17px}.ai2-link-ready small,.ai2-registration-success small{display:block;color:#a1844c;font-size:9px;font-weight:850;letter-spacing:.1em}.ai2-link-ready strong,.ai2-registration-success strong{display:block;margin:4px 0;font-size:13px}.ai2-link-ready p,.ai2-registration-success p{margin:0;color:#7b8a81;font-size:10px;line-height:1.5}
.ai2-generated-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;color:#7d8d83;font-size:10px}.ai2-generated-link input{grid-column:1;height:44px;border:1px solid #dbe3da;border-radius:10px;background:#f6f8f4;color:#294c41;padding:0 11px;font-size:11px}.ai2-generated-link button{grid-column:2;grid-row:1/3;align-self:end}
.ai2-link-state{display:flex;gap:10px;align-items:center;padding:12px 13px;border:1px solid #dce5da;border-radius:13px;background:#f5f8f3}.ai2-link-state>span{width:11px;height:11px;border:2px solid #b49a64;border-top-color:transparent;border-radius:50%;animation:ai2spin .8s linear infinite}.ai2-link-state strong{display:block;font-size:11px}.ai2-link-state p{margin:2px 0 0;color:#7b8b81;font-size:9px}
.ai2-registration-ready{border-color:#b9cfba!important;background:#edf6eb!important;color:#41684b!important}
@keyframes ai2spin{to{transform:rotate(360deg)}}
html[data-theme="dark"] .ai2-searchbox,html[data-theme="dark"] .ai2-picker-trigger{background:#0d211a;border-color:#335146;color:#edf1ec}
html[data-theme="dark"] .ai2-searchbox input{color:#edf1ec!important}
html[data-theme="dark"] .ai2-patient-results,html[data-theme="dark"] .ai2-picker-card{background:#0d211a;border-color:#365146;color:#edf1ec}
html[data-theme="dark"] .ai2-patient-option{color:#edf1ec}html[data-theme="dark"] .ai2-patient-option:hover{background:#173126}
html[data-theme="dark"] .ai2-selected-patient,html[data-theme="dark"] .ai2-readonly-payment{background:#10271f;border-color:#294238}
html[data-theme="dark"] .ai2-picker-card>header,html[data-theme="dark"] .ai2-picker-card>footer{background:#10271f;border-color:#294238}
html[data-theme="dark"] .ai2-picker-card>header strong{color:#edf1ec}html[data-theme="dark"] .ai2-cal-week{background:#132d24}html[data-theme="dark"] .ai2-cal-day{color:#e4ebe6}html[data-theme="dark"] .ai2-cal-day.outside{color:#65776e}
html[data-theme="dark"] .ai2-picker-nav,html[data-theme="dark"] .ai2-picker-close,html[data-theme="dark"] .ai2-time-list button{background:#10271f;border-color:#294238;color:#e4ebe6}
html[data-theme="dark"] .ai2-time-list button.selected{background:#2b5f49;border-color:#c8a962}
html[data-theme="dark"] .ai2-choice-card{background:#10271f;border-color:#294238;color:#edf1ec}html[data-theme="dark"] .ai2-choice-card.premium{background:linear-gradient(135deg,#2a271e,#10271f);border-color:#4a4230}
html[data-theme="dark"] .ai2-link-ready,html[data-theme="dark"] .ai2-registration-success,html[data-theme="dark"] .ai2-link-state{background:#10271f;border-color:#294238}
@media(max-width:760px){.ai2-patient-row,.ai2-date-row,.ai2-arrival-choice{grid-template-columns:1fr}.ai2-selected-patient{grid-template-columns:40px 1fr}.ai2-selected-patient em{grid-column:2;justify-self:start}.ai2-readonly-payment{align-items:flex-start;flex-direction:column}.ai2-generated-link{grid-template-columns:1fr}.ai2-generated-link button{grid-column:1;grid-row:auto}.ai2-picker-popover{left:10px!important;right:10px!important;width:auto!important}}
@media(prefers-reduced-motion:reduce){.ai2-link-state>span{animation:none}}