.app{min-height:65vh;padding:35px 0 70px}.app h1{font-size:40px}.app h2{font-size:25px}.app-message{padding:12px 0;color:#176c69}.app-message.error{color:#ad2635}.app form{max-width:700px;margin:20px 0}.app input:not([type=checkbox]):not([type=radio]),.app textarea{width:100%;font:inherit;border:1px solid #cfd8e0;border-radius:8px;padding:13px;background:white;color:var(--ink)}.app textarea{min-height:120px;resize:vertical}.app label{display:block;margin:18px 0 8px;font-size:13px;font-weight:600}.app .button{margin-top:22px}.app .button:disabled{opacity:.6;cursor:wait}.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px}.plan-option{padding:18px;border:1px solid #cfd8e0;border-radius:12px;cursor:pointer;line-height:1.6}.plan-option:has(input:checked){border-color:#008d9b;background:#ebfaf6}.plan-option input{margin-right:8px}.plan-option small{display:block;font-weight:normal;color:var(--muted);margin-top:10px}.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard form{margin:0;max-width:none}.dashboard section{padding:22px;border:1px solid #dde6e4;background:white;border-radius:16px}.dashboard section form{padding:0;border:0}.dashboard .wide{grid-column:1/-1}.list-row{padding:13px 0;border-top:1px solid #e5ebe9;font-size:14px;line-height:1.7}.muted{color:var(--muted)}.account-summary{background:#edf7f4;padding:20px;border-radius:12px;margin:20px 0 30px;line-height:1.8}.day-options{display:flex;gap:12px;flex-wrap:wrap}.day-options label{display:flex;gap:5px;align-items:center;font-weight:normal}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.public-services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.public-services article{background:white;border:1px solid #dce5e4;padding:24px;border-radius:15px}.public-services h3{margin-top:0}.plain-button{background:transparent;border:0;color:#184984;text-decoration:underline;cursor:pointer;padding:10px}.empty{padding:18px 0;color:var(--muted);font-size:14px}@media(max-width:700px){.plans,.dashboard,.public-services{grid-template-columns:1fr}.dashboard .wide{grid-column:auto}.two-fields{grid-template-columns:1fr}.app h1{font-size:32px}}
.assistant-widget{margin-top:32px;padding:25px;border:1px solid #cce4dd;background:#f1faf7;border-radius:16px}.assistant-widget form{max-width:none;margin:20px 0 0;background:white}.assistant-suggestions{display:flex;gap:8px;flex-wrap:wrap}.chat-suggestion{border:1px solid #afcfc4;background:white;color:var(--navy);border-radius:18px;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}.chat-log{max-height:360px;overflow:auto;margin-top:20px}.chat-log p{padding:14px;border-radius:12px;white-space:pre-wrap;font-size:14px}.chat-customer{background:var(--navy);color:white;margin-left:35px}.chat-answer{background:white;color:var(--ink);margin-right:35px;border:1px solid #dbe8e3}.chat-log>a{display:block;margin-bottom:15px}
.professional-logo{display:block;width:180px;height:180px;object-fit:contain;margin:20px auto}.login-identity{text-align:center}.login-identity h2{margin:12px 0}.professional-initials{width:100px;height:100px;display:grid;place-items:center;background:var(--navy);color:white;border-radius:20px;font-size:30px;font-weight:bold;margin:20px auto}.app input[type=file]{font-size:14px;max-width:100%}.app [hidden]{display:none!important}
.password-field{display:flex;align-items:stretch;gap:8px}.password-field input{flex:1;min-width:0;width:0}.password-toggle{flex:none;min-height:44px;padding:10px 12px;border:1px solid #cfd8e0;border-radius:8px;background:#eef8f5;color:#081956;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.password-toggle:hover{background:#dff2eb}.password-toggle:focus-visible{outline:3px solid #008bd0;outline-offset:3px}
.app .team-permissions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:20px 0;padding:12px;border:1px solid #dce5e4;border-radius:8px; }
.app .team-permissions label { display:flex;align-items:center;gap:8px;min-height:44px;margin:0; }
.app .team-permissions input[type=checkbox] { flex:none;width:18px;height:18px;margin:0; }
.app:has(#register) .journey-help,.dashboard:has(#team-create)>.journey-help { position:static; }
/* Private earnings and settlement surfaces. */
.receipt-dialog{width:min(560px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid #ccd5db;border-radius:8px;padding:24px;color:#182b45;background:#fff}
.receipt-dialog::backdrop{background:#17263880}
.receipt-dialog input,.receipt-dialog select{width:100%;min-width:0;padding:12px;border:1px solid #ccd5db;border-radius:4px;margin:6px 0 16px}
.receipt-dialog input[type=checkbox]{width:auto;margin:0 8px 0 0}
.receipt-dialog fieldset{border:0;padding:0;min-width:0}
.receipt-check{display:flex;align-items:center;margin:16px 0}
.receipt-table{overflow:auto;max-width:100%}.receipt-table table{width:100%;border-collapse:collapse;font-size:14px}.receipt-table th,.receipt-table td{text-align:left;padding:12px;border-bottom:1px solid #dde3e7;white-space:nowrap}.receipt-table th{background:#edf3f4}
.receipt-total{font-size:22px;font-weight:700;color:#12694d}
.earnings-summary{display:flex;flex-wrap:wrap;gap:32px;padding:24px 0;border-block:1px solid #dde3e7}.earnings-summary dt{color:#526271}.earnings-summary dd{font-size:28px;font-weight:700;margin:8px 0;color:#12694d}
.receipt-filter{max-width:440px}.dashboard>section{min-width:0}
.app .dashboard>section{border:0;border-radius:0;background:transparent;padding:20px 0}
.app .dashboard>.journey-help{position:static}
.app .dashboard .receipt-filter{max-width:440px;padding:0;border:0;background:transparent}
.receipt-dialog form{padding:0;border:0;border-radius:0;background:transparent;max-width:none}
.app .dashboard .receipt-total{font-size:22px;color:#12694d}
.public-contact{display:flex;flex-wrap:wrap;gap:18px;grid-column:1/-1;font-style:normal}
.install-professional{min-height:44px;white-space:normal;max-width:100%;margin-left:12px}
@media(max-width:600px){header:has(.install-professional){flex-wrap:wrap}.install-professional{margin:8px 0 0 auto}}

.customer-section{max-width:650px;margin:24px auto;padding:clamp(20px,4vw,36px);background:#fff;border:1px solid #d4e4e8;border-radius:24px}
.customer-section form{display:grid;gap:10px}.customer-section h2{margin-top:0}.customer-section .plain-button{margin-top:16px}.customer-feedback{line-height:1.5;overflow-wrap:anywhere}.customer-feedback.error{color:#b62335}
.journey-tabs button:disabled{opacity:.4;cursor:not-allowed}.journey-tabs button[hidden],.customer-section[hidden],.identified-customer[hidden]{display:none!important}
a[aria-disabled="true"]{opacity:.4;cursor:not-allowed;pointer-events:none}.identified-customer{padding:18px 22px;border-radius:18px;background:#eaf7f4;margin:18px 0}.customer-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.customer-heading strong,.booking-customer-name{font-size:20px;color:#091952}.identified-customer details{margin-top:12px}.identified-customer summary{cursor:pointer}.identified-customer dl{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:8px 16px}.identified-customer dt{font-weight:bold}.identified-customer dd{margin:0;overflow-wrap:anywhere}.customer-open-bookings article{border-top:1px solid #c9ddd9;padding:10px 0}.customer-open-bookings p{margin:6px 0}@media(max-width:600px){.customer-heading{align-items:flex-start}.identified-customer dl{grid-template-columns:1fr}.identified-customer dd{margin-bottom:8px}}

.biomedical-page .journey-tabs{flex-wrap:wrap;overflow:visible}.biomedical-page .journey-tabs button{flex:0 0 auto}@media(max-width:600px){.biomedical-page .journey-tabs button{padding:10px;font-size:12px}}

.app .customer-heading .customer-exit-button{margin:0;min-width:88px;min-height:44px;padding:12px 20px;flex-shrink:0;text-decoration:none}

.customer-access-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:700px}.app .customer-access-actions .button{margin:0;min-height:48px;padding:12px 10px;font-size:13px;text-align:center;white-space:normal}.app .customer-remember{display:flex;gap:10px;align-items:center;font-weight:400;line-height:1.5}.customer-remember input{width:18px;height:18px;flex-shrink:0}

.professional-page .journey-tabs button{border-radius:10px}.app .compact-summary #logout{margin:0;min-height:44px}

.service-calendar-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr);gap:24px;align-items:start}.service-calendar-layout .public-services{grid-template-columns:1fr}.agenda-calendar{background:white;border:1px solid #dce5e4;border-radius:16px;padding:18px;min-width:0}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.calendar-toolbar h3{margin:0}.calendar-toolbar .plain-button{text-decoration:none;border-radius:10px;min-height:44px}.calendar-toolbar button[aria-pressed=true]{background:#091952;color:white}.agenda-calendar select{width:100%;font:inherit;margin:6px 0 12px;border-radius:10px;padding:10px}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;margin:14px 0}.calendar-legend span{padding:5px;border-radius:5px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dce5e4;border:1px solid #dce5e4}.calendar-weekday{text-align:center;background:white;padding:10px 0;font-size:12px}.calendar-day-cell{border:0;min-height:90px;padding:6px;display:flex;flex-direction:column;gap:5px;text-align:left;cursor:pointer;font:inherit;overflow:hidden}.calendar-day-cell span{font-weight:700}.calendar-day-cell small{font-size:10px;overflow-wrap:anywhere}.calendar-day-cell:disabled{cursor:default;opacity:1}.free{background:#e3f5e9;color:#145c31}.partial{background:#fff2bf;color:#725400}.full{background:#ffe0e0;color:#9c2020}.unavailable,.calendar-blank{background:#f5f6f7;color:#66747e}.calendar-day-cell:focus-visible{outline:3px solid #184984;outline-offset:-3px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px}.calendar-content{overflow-x:auto}.week-column{border:1px solid #e2e8ec;padding:4px;font-size:12px}.week-day-heading{display:block;text-align:center;padding:10px 2px}.week-hour{border-top:1px solid #e2e8ec;min-height:45px;padding:5px 0}.calendar-slot{background:#dcecfb;color:#12375c;border:0;border-left:3px solid #1875cf;border-radius:5px;padding:8px 5px;text-align:left;font:inherit;margin:2px 0;width:100%;cursor:pointer}.agenda-date-row{padding:14px;border:1px solid #dce5e4;border-radius:12px;margin:12px 0}.agenda-date-row input[type=checkbox]{width:auto}.panel-calendar-preview{margin-bottom:28px}.calendar-notice{font-size:13px}.agenda-specific-days p{font-size:14px}
@media(max-width:900px){.service-calendar-layout{grid-template-columns:1fr}.agenda-calendar{padding:12px}.calendar-day-cell{min-height:76px;padding:4px}.calendar-day-cell small{font-size:9px}.calendar-toolbar{font-size:13px}}

.calendar-day-cell small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:600px){.calendar-day-cell{min-height:64px;align-items:center;padding:8px 2px}.calendar-day-cell small{display:none}.calendar-day-cell:after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-top:6px}.calendar-weekday{font-size:10px}.calendar-legend{font-size:10px}}

.week-hour{height:180px;overflow-y:auto}.week-day-status{min-height:36px;font-size:11px;margin:6px 0}.week-hour>small{display:block;color:#66747e;margin-bottom:4px}

.calendar-legend{align-items:stretch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-legend>span{box-sizing:border-box;min-height:48px;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;border-radius:6px;line-height:1.35;border:0;outline:0}.calendar-day-cell.calendar-status-free,.week-day-heading.calendar-status-free{background:#e3f5e9;color:#145c31}.calendar-day-cell.calendar-status-partial,.week-day-heading.calendar-status-partial{background:#fff2bf;color:#725400}.calendar-day-cell.calendar-status-full,.week-day-heading.calendar-status-full{background:#ffe0e0;color:#9c2020}.calendar-day-cell.calendar-status-unavailable,.week-day-heading.calendar-status-unavailable{background:#f5f6f7;color:#66747e}.calendar-day-cell .day-procedure{font-weight:600}.calendar-day-cell .day-availability{display:block;-webkit-line-clamp:unset;overflow:visible}.calendar-day-cell{align-self:stretch;justify-self:stretch;width:100%;height:100%;margin:0;border-radius:0}.calendar-legend>span:nth-child(4){background:#f5f6f7;color:#66747e}
@media(max-width:600px){.calendar-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-legend>span{min-height:44px}.calendar-day-cell .day-availability{font-size:9px;line-height:1.2}.calendar-day-cell:after{display:none}}

.calendar-legend>span{margin:0;width:auto;height:auto;align-self:stretch;gap:0}.calendar-day-cell .day-procedure{line-height:1.3}

.slot-grid .slot-button.slot-status-available{background:#e3f5e9;border-color:#9bccac;color:#145c31}.slot-grid .slot-button.slot-status-reserved{background:#ffe0e0;border-color:#e9abab;color:#9c2020}.slot-grid .slot-button.slot-status-unavailable{background:#f0f2f4;border-color:#d4dbe0;color:#66747e}.slot-grid .slot-button:disabled{opacity:1;cursor:not-allowed}.slot-grid .slot-button[aria-pressed=true]{background:#fff2bf;border-color:#d6b555;color:#725400}.slot-state{font-weight:700}.slot-legend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;font-size:12px}.slot-legend span{padding:8px 12px;border-radius:6px}.slot-legend span:nth-child(1){background:#e3f5e9;color:#145c31}.slot-legend span:nth-child(2){background:#ffe0e0;color:#9c2020}.slot-legend span:nth-child(3){background:#f0f2f4;color:#66747e}

.week-day-heading{width:100%;border:0;font:inherit;font-weight:700;cursor:pointer}.week-day-heading:disabled{cursor:default;opacity:1}

.day-slots-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 12px}.day-slots-heading h3{margin:0}.day-timezone{font-size:13px;color:#65708b;white-space:nowrap}

.slot-main-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.slot-main-row .slot-procedure{text-align:left;min-width:0;overflow-wrap:anywhere}.slot-main-row strong{text-align:right;white-space:nowrap;margin-left:auto}.slot-grid .slot-button{width:100%}

.app .plain-button,.app .text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 18px;border:1px solid #c9dfda;border-radius:10px;background:#e8f5f1;color:#12385b;font:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;vertical-align:middle}.app .plain-button:hover,.app .text-link:hover{background:#d9eee7;border-color:#9fc7ba}.app .plain-button:disabled{opacity:.55;cursor:not-allowed}.app .booking-back{width:fit-content;max-width:100%;min-width:0}.app .text-link{overflow-wrap:anywhere}.app .calendar-toolbar button[aria-pressed=true]{background:#091952;border-color:#091952;color:white}

.dashboard .agenda-editor{padding:20px;border:1px solid #c9dfda;border-radius:14px;background:#f1faf7;margin:18px 0}.agenda-editor fieldset label{display:flex;align-items:center;gap:10px}.agenda-editor .agenda-edit-status{color:#ad2635}.dashboard [data-edit-calendar]{margin-left:12px}

.agenda-management-actions{margin:18px 0 24px}.agenda-management-back{margin:12px 0 24px}.agenda-edit-context{padding:16px;background:white;border-radius:10px;line-height:1.8}.agenda-management-list .list-row{display:flow-root;padding:18px 0}.agenda-management-list [data-edit-calendar]{float:right}.dashboard .agenda-editor{margin-top:0}.agenda-management-list[hidden],.agenda-management-actions[hidden],.panel-calendar-preview[hidden]{display:none}

.agenda-management-list .list-row h3{margin:0 0 8px}.agenda-management-list .list-row p{margin:6px 0;overflow-wrap:anywhere}.agenda-management-back,.agenda-editor [data-cancel-edit]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #c9dfda;border-radius:10px;background:#eaf7f3;color:#12375c;padding:10px 16px;font:inherit;text-decoration:none}.agenda-management-back[hidden]{display:none}

.agenda-weekly-card{border:1px solid #cbded9;border-radius:14px;padding:18px;background:#f1faf7}.agenda-weekly-card[hidden],.agenda-pick-calendar[hidden]{display:none}.agenda-pick-calendar{margin:16px 0}.agenda-pick-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.agenda-pick-weekday{text-align:center;font-size:12px}.agenda-pick-day{border:1px solid #d5e2df;border-radius:10px;padding:10px 6px;min-height:120px;background:#fff;min-width:0}.agenda-pick-day.is-selected{background:#e6f6ef;border-color:#64b39d}.agenda-pick-day label{display:flex;align-items:center;gap:6px;margin:0}.agenda-pick-day input[type=checkbox],.agenda-check input[type=checkbox]{width:20px;height:20px;margin:0;flex-shrink:0}.agenda-pick-day small{display:block;font-size:11px;overflow-wrap:anywhere;margin-top:6px}.agenda-pick-day .plain-button{padding:7px 3px;margin:6px 0 0;font-size:11px;min-height:44px;width:100%;white-space:normal}.agenda-check{display:flex;align-items:center;gap:10px;margin:12px 0}.agenda-day-dialog{width:min(520px,calc(100vw - 28px));max-height:85vh;overflow:auto;box-sizing:border-box;border:1px solid #cbded9;border-radius:18px;padding:24px;color:#101f50}.agenda-day-dialog::backdrop{background:rgba(8,25,66,.5)}.agenda-day-dialog input[type=time]{width:100%;box-sizing:border-box;font:inherit;border:1px solid #cbded9;border-radius:10px;padding:12px}.agenda-day-error{color:#a32232}.agenda-day-dialog .plain-button{min-height:44px;border-radius:10px;background:#eaf7f3;border:1px solid #c9dfda;text-decoration:none;padding:10px 16px}.agenda-picked-summary{font-weight:600}
@media(max-width:600px){.agenda-pick-grid{gap:3px}.agenda-pick-day{padding:8px 3px;min-height:110px}.agenda-pick-day label{gap:2px;flex-wrap:wrap}.agenda-pick-day small{font-size:10px}.agenda-pick-day .plain-button{font-size:10px}.agenda-day-dialog{padding:18px}.agenda-day-dialog .two-fields{grid-template-columns:1fr}}

.app .agenda-pick-day label{margin:0;font-size:12px;font-weight:600}.agenda-pick-day .plain-button{border:1px solid #b9dacf;background:#f5fcf8;text-decoration:none;border-radius:8px;overflow-wrap:anywhere}.agenda-pick-calendar{padding:0;border:0}.agenda-day-dialog label:not(.agenda-check){display:block;font-size:14px;font-weight:600;margin:12px 0 8px}.agenda-day-dialog input:not([type=checkbox]){min-width:0}.agenda-day-dialog form{margin:0}.agenda-day-dialog .two-fields{display:block}
@media(max-width:600px){.agenda-pick-day .plain-button{font-size:0}.agenda-pick-day .plain-button::after{content:'Ajustar';font-size:10px}.agenda-pick-day{min-height:94px}.agenda-pick-day small{font-size:10px}.agenda-pick-day label{font-size:11px!important}.agenda-pick-day input[type=checkbox]{width:17px;height:17px}.agenda-pick-day label{flex-wrap:nowrap;gap:2px}}

@media(max-width:600px){.app .agenda-pick-day .plain-button{padding:4px 2px;min-width:0;font-size:0}.app .agenda-pick-day .plain-button::after{content:"⚙";font-size:18px}.app .agenda-pick-day label{min-height:32px}}

.agenda-pick-day.is-blocked{background:#f4e9e9;border-color:#e0b9b9;color:#7d3232}.agenda-pick-day.is-blocked input{cursor:not-allowed}.agenda-delete-button{color:#a41f32!important;border-color:#dca8ae!important}.agenda-cancel-dialog textarea{width:100%;box-sizing:border-box;min-height:170px;font:inherit;padding:12px;border:1px solid #cbded9;border-radius:10px}.agenda-cancel-dialog .step-actions{flex-wrap:wrap}.agenda-cancel-dialog .button.agenda-delete-button{background:#a41f32;color:white!important}.agenda-notifications{margin:16px 0;font-size:14px}.agenda-editor>.agenda-delete-button{display:block;margin-top:28px}.agenda-editor>.plain-button{min-height:44px}

.booking-state-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.booking-state-buttons button[aria-pressed=true]{background:#101d57;color:white;border-color:#101d57}.booking-list-filters{padding:18px!important;border:1px solid #d4e4e0!important;border-radius:12px}.booking-list-filters fieldset{border:0;padding:0;margin:14px 0}.booking-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.booking-state{padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600}.booking-state-open{background:#e3f5e9;color:#145c31}.booking-state-cancelled{background:#ffe0e0;color:#9c2020}.booking-state-completed{background:#e2ebfa;color:#20426c}.booking-result h3{font-size:18px;margin:10px 0}.booking-result p{margin:8px 0}.booking-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px}.agenda-row-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.agenda-management-list .agenda-row-actions [data-edit-calendar]{float:none;margin-left:0}.booking-query-summary{overflow-wrap:anywhere}

.agenda-view-config{padding:20px!important;background:#f3faf7;border:1px solid #d6e5de!important;border-radius:14px}.agenda-view-config input:disabled,.agenda-view-config select:disabled{opacity:1;color:#263c59;background:#f4f6f7}.agenda-view-bookings{margin-top:30px;border-top:1px solid #d6e5de;padding-top:20px}
