:root{--ink:#173c3c;--gold:#b89a5e;--paper:#f5f1e9;--line:#ded8cb;--danger:#a4463b;--muted:#68736f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#283634;font:15px/1.5 system-ui,sans-serif}header{padding:18px 4vw;background:var(--ink);display:flex;justify-content:space-between;gap:25px}.brand,nav a{color:#fff;text-decoration:none}.brand{font:700 20px Georgia}.brand small{color:#d9c49b;font:11px system-ui;letter-spacing:2px}nav{display:flex;gap:18px;flex-wrap:wrap}main{max-width:1200px;margin:auto;padding:38px 22px;min-height:85vh}main.wide{max-width:1800px}footer{text-align:center;padding:20px;color:var(--muted);font-size:12px}h1,h2{font-family:Georgia;color:var(--ink)}h1{font-size:36px;margin:.2em 0}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.title-actions,.dialog-actions{display:flex;gap:10px;align-items:center}.card,.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px;margin-bottom:18px}.auth{max-width:500px;margin:5vh auto}.btn,button{display:inline-block;background:var(--ink);color:#fff;border:0;border-radius:8px;padding:12px 18px;text-decoration:none;font-weight:700;cursor:pointer}.secondary{background:#e8e4da;color:var(--ink)}.danger{background:var(--danger)}label{display:block;font-weight:650;margin:12px 0}input,select,textarea{width:100%;padding:11px;margin-top:5px;border:1px solid #cbc5b9;border-radius:8px;font:inherit}textarea{resize:vertical}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.metric{text-decoration:none;color:var(--ink)}.metric b{display:block;font:600 30px Georgia}.metric span{color:#6a7672}.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #eee8dd;white-space:nowrap}th{font-size:11px;color:#73807d}td small{display:block}.pill{display:inline-block;background:#e7ece6;border-radius:99px;padding:5px 10px}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.details small,.details b{display:block}.cols{display:grid;grid-template-columns:340px 1fr;gap:18px}.actions{display:flex;gap:10px;flex-wrap:wrap}.alert,.success{padding:12px;border-radius:8px;margin:12px 0}.alert{background:#f7dfdc}.success{background:#dcecdf}.muted{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.kanban{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding:3px 2px 22px}.kanban-column{background:#e9e5dc;border:1px solid #d8d1c3;border-radius:14px;min-width:280px;width:280px;min-height:180px;padding:12px;transition:.15s}.kanban-column.over{outline:3px solid var(--gold);background:#f0eadc}.kanban-head{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 11px;color:var(--ink)}.kanban-head span{background:#fff;border-radius:99px;padding:2px 9px;font-size:12px}.kanban-drop{min-height:110px}.kanban-card{background:#fff;border:1px solid #d9d3c8;border-radius:10px;padding:13px;margin-bottom:10px;box-shadow:0 2px 5px #173c3c10;cursor:grab}.kanban-card.dragging{opacity:.45}.kanban-card a{color:var(--ink);text-decoration:none;font-size:16px}.kanban-card span,.kanban-card small{display:block;margin-top:5px}.kanban-card small{color:var(--muted)}.card-date{color:#735e32;font-weight:700;font-size:13px}dialog{border:0;border-radius:16px;padding:0;max-width:520px;width:calc(100% - 32px);box-shadow:0 20px 70px #0005}dialog::backdrop{background:#102c2c99}dialog form{padding:25px}.dialog-actions{justify-content:flex-end;margin-top:20px}.lead-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:18px}.timeline{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.activity{display:grid;grid-template-columns:12px 1fr;gap:10px;position:relative;padding:0 0 18px}.activity:before{content:"";position:absolute;left:5px;top:12px;bottom:0;border-left:1px solid #d8d1c3}.activity:last-child:before{display:none}.activity-dot{width:11px;height:11px;margin-top:6px;border-radius:50%;background:var(--gold);z-index:1}.activity b,.activity time{display:inline-block}.activity time{color:var(--muted);font-size:12px;margin-left:8px}.activity p{margin:4px 0 0}.log-filters{display:grid;grid-template-columns:1.1fr 1.1fr 1.4fr 1fr 1fr auto;gap:12px;align-items:end}.log-filters label{margin:0}.filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}.log-table td{vertical-align:top}.log-table td:nth-child(4){min-width:280px}.log-table a{color:var(--ink);font-weight:700}.log-table small{color:var(--muted);margin-top:3px;white-space:normal}.log-badge{display:inline-block;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:750;white-space:nowrap}.log-access{background:#e7eceb;color:#315c59}.log-create{background:#dcecdf;color:#28623b}.log-update{background:#e8e4da;color:#685a3e}.log-move{background:#dfe8f3;color:#315a7d}.log-appointment{background:#eee4cf;color:#735e32}.log-comment{background:#e8e0f0;color:#60487a}.log-delete{background:#f7dfdc;color:#8a3932}.log-other{background:#ececec;color:#555}.empty-state{text-align:center!important;color:var(--muted);padding:35px!important}.log-restore{background:#dcecdf;color:#28623b}.restore-btn{background:#397052}.archive-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:12px;align-items:end}.archive-filters label{margin:0}.archive-notice{display:flex;justify-content:space-between;gap:15px;background:#eee4cf;color:#604f2c;border:1px solid #d8c79e;border-radius:12px;padding:13px 16px;margin-bottom:20px}.archive-notice span{color:#735e32}@media(max-width:1000px){.log-filters{grid-template-columns:repeat(3,1fr)}.filter-actions{grid-column:span 3}}@media(max-width:800px){header{flex-direction:column}.title{align-items:flex-start;gap:15px;flex-direction:column}.grid,.details,.cols,.lead-layout,.log-filters,.archive-filters{grid-template-columns:1fr}.filter-actions{grid-column:auto}.metrics{grid-template-columns:repeat(2,1fr)}h1{font-size:30px}.kanban-column{min-width:260px;width:260px}.archive-notice{flex-direction:column}}.outcome-card{width:100%}.outcome-actions{display:flex;gap:10px;flex-wrap:wrap}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}.result-grid .card{margin-bottom:0}.date-format{display:block;color:var(--muted);font-weight:400;margin-top:5px}.final-stage{width:100%}.final-stage p{margin-bottom:0}@media(max-width:800px){.result-grid{grid-template-columns:1fr}.outcome-actions form,.outcome-actions button{width:100%}}.service-picker{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#faf8f3;padding:10px;margin:12px 0 18px}.service-picker fieldset{border:0;border-bottom:1px solid var(--line);padding:8px 4px 12px;margin:0}.service-picker fieldset:last-child{border-bottom:0}.service-picker legend{font-weight:800;color:var(--ink);padding-top:4px}.service-option{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-weight:500;cursor:pointer}.service-option input{width:auto;margin:4px 0 0;flex:none}.service-option small{display:block;color:var(--muted);font-weight:400;line-height:1.45;margin-top:3px}.plan-decision{background:#f0eee4;border-radius:8px!important;margin-top:8px!important;padding:10px!important}.decision-option{margin:4px 0}.service-picker.compact{max-height:360px}.conversion-summary{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.conversion-summary ul{padding-left:20px}.conversion-summary li{margin:7px 0}.conversion-summary li small{color:var(--muted)}.plan-pending{background:#f0eee4;border-left:4px solid var(--gold);border-radius:6px;padding:10px 12px}.service-option.is-disabled{opacity:.46;cursor:not-allowed}.service-option.is-disabled span{text-decoration:none}.new-service h2{margin-top:0}.service-admin-grid{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:14px;align-items:end}.service-admin-grid label{margin:0}.service-admin-grid button{margin-bottom:1px}.money-input{display:flex;align-items:center;border:1px solid #cbc5b9;border-radius:8px;margin-top:5px;background:#fff;overflow:hidden}.money-input span{padding-left:11px;color:var(--muted)}.money-input input{border:0;margin:0}.service-table input{min-width:160px;margin:0}.service-table td:nth-child(2) input{min-width:360px}.service-table .money-input{margin:0;min-width:150px}.active-toggle{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.active-toggle input{width:auto;min-width:0}.service-table tr.inactive{opacity:.58}@media(max-width:900px){.service-admin-grid{grid-template-columns:1fr}.service-admin-grid button{width:100%}.service-table td:nth-child(2) input{min-width:280px}}
.conversion-source{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;background:#f8f6f1;border:1px solid var(--line);border-radius:8px;padding:11px 13px;margin:14px 0}.conversion-source span{font-size:13px}.pending-service-form{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.pending-service-form h3{color:var(--ink);font-family:Georgia;margin:0 0 5px}.pending-service-form .service-picker{max-height:360px}@media(max-width:900px){.conversion-source{grid-template-columns:1fr}}

/* v0.3.0 — avisos centralizados e data brasileira */
.crm-notice{width:min(92vw,440px);padding:28px;border:0;border-radius:22px;box-shadow:0 24px 80px #153e3470;text-align:center;color:var(--text)}
.crm-notice::backdrop{background:rgba(11,31,27,.58);backdrop-filter:blur(3px)}
.crm-notice-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#f5ead2;color:#8c6117;font-size:24px;font-weight:800}
.crm-notice h2{margin:0 0 10px}.crm-notice p{white-space:pre-line;margin:0;color:var(--muted);line-height:1.55}
.crm-notice-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.crm-notice-actions button{min-width:112px}
.br-datetime{display:grid;grid-template-columns:minmax(140px,1fr) minmax(110px,.72fr);gap:10px;margin-top:7px}.br-datetime input{margin-top:0}
@media(max-width:560px){.crm-notice{padding:24px 20px}.br-datetime{grid-template-columns:1fr}.crm-notice-actions{flex-direction:column-reverse}.crm-notice-actions button{width:100%}}

/* v0.4.0 — Agenda própria */
.calendar-title{margin-bottom:12px}.calendar-title p{margin:4px 0;color:var(--muted)}.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:15px 18px}.calendar-toolbar form{min-width:250px}.calendar-toolbar label{margin:0}.calendar-nav{display:flex;gap:8px;flex-wrap:wrap}.calendar-scroll{overflow:auto;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 3px 12px #173c3c0d}.calendar-board{display:grid;grid-template-columns:68px minmax(1050px,1fr);min-width:1118px}.calendar-time header,.calendar-day>header{height:56px;border-bottom:1px solid var(--line);background:#f8f6f1}.calendar-time{border-right:1px solid var(--line)}.calendar-time-body,.calendar-day-body{height:726px;position:relative}.calendar-time-body span{position:absolute;right:9px;transform:translateY(-9px);font-size:11px;color:var(--muted);font-weight:700}.calendar-time-body span:last-child{transform:translateY(-18px)}.calendar-days{display:grid;grid-template-columns:repeat(6,minmax(175px,1fr))}.calendar-day{border-right:1px solid var(--line);min-width:0}.calendar-day:last-child{border-right:0}.calendar-day>header{padding:9px 12px;display:flex;justify-content:space-between;align-items:center}.calendar-day>header b{font-family:Georgia;color:var(--ink);font-size:17px}.calendar-day>header span{font-size:12px;color:var(--muted)}.calendar-day-body{background:repeating-linear-gradient(to bottom,#fff 0,#fff 15.5px,#edf0ed 16.5px);cursor:crosshair}.closed-period{position:absolute;left:0;right:0;z-index:1;background:repeating-linear-gradient(135deg,#edeae3,#edeae3 8px,#e5e1d8 8px,#e5e1d8 16px);color:#8c8980;font-size:11px;font-weight:800;display:grid;place-items:center;pointer-events:none}.closed-period.lunch{top:330px;height:132px}.saturday-early{top:0;height:66px}.saturday-closed{top:330px;height:396px}.calendar-event{position:absolute;z-index:3;left:5px;right:5px;border-radius:8px;padding:6px 8px;color:#fff;box-shadow:0 2px 6px #102c2c33;cursor:grab;overflow:hidden;user-select:none;touch-action:none;border-left:4px solid #ffffffaa}.calendar-event b,.calendar-event span{display:block;line-height:1.25}.calendar-event b{font-size:12px}.calendar-event span{font-size:10px;margin-top:3px;opacity:.92}.calendar-event.is-dragging{opacity:.78;z-index:9;cursor:grabbing}.calendar-resize{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize;background:linear-gradient(transparent,#0002)}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin:15px 2px 0;color:var(--muted);font-size:12px}.calendar-legend span{display:flex;gap:6px;align-items:center}.calendar-legend i{width:11px;height:11px;border-radius:3px}.calendar-dialog{max-width:780px}.calendar-dialog>form{padding:24px}.calendar-dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.calendar-dialog-head h2{margin:2px 0 10px}.calendar-dialog-head small{letter-spacing:1.5px;color:var(--gold);font-weight:800}.icon-button{font-size:22px;padding:6px 13px}.calendar-date-grid{grid-template-columns:1.2fr 1fr 1fr}.dialog-spacer{flex:1}
@media(max-width:900px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar form,.calendar-toolbar>button{width:100%}.calendar-nav .btn{flex:1;text-align:center}.calendar-dialog .grid,.calendar-date-grid{grid-template-columns:1fr}.calendar-event{touch-action:auto}.calendar-title p{font-size:13px}.calendar-dialog .dialog-actions{flex-wrap:wrap}.calendar-dialog .dialog-spacer{display:none}.calendar-dialog .dialog-actions button{flex:1}.calendar-scroll{margin-left:-14px;margin-right:-14px;border-radius:0}}
[hidden]{display:none!important}.calendar-event.is-lunch{background:repeating-linear-gradient(135deg,#6c7472,#6c7472 10px,#7b8381 10px,#7b8381 20px)!important}.calendar-date-grid select{margin-top:5px}

/* v0.4.4 — recuperação estável, expediente e rolagem interna */
body>header{position:sticky;top:0;z-index:50}
.calendar-scroll{max-height:calc(100vh - 230px);overflow:auto;overscroll-behavior:contain}
.calendar-time{position:sticky;left:0;z-index:12;background:#fff}
.calendar-time header,.calendar-day>header{position:sticky;top:0;z-index:10}
.calendar-time header{z-index:13}
.calendar-time-body,.calendar-day-body{height:792px}
.calendar-day-body{background:repeating-linear-gradient(to bottom,#fff 0,#fff 65px,#e2e7e4 65px,#e2e7e4 66px)}
.saturday-closed{top:330px;height:462px}
.saturday-closed-all{top:0;height:792px}

/* v0.4.5 — pesquisa incremental por paciente */
.calendar-search{max-width:980px;margin:0 auto 16px;background:#fff;border:1px solid #d9dfe2;border-radius:999px;box-shadow:0 2px 9px #173c3c18;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;padding:5px 8px 5px 18px}.calendar-search>span{font-size:29px;line-height:1;color:#44514f}.calendar-search input{border:0;margin:0;padding:12px 14px;outline:0;font-size:17px;background:transparent}.calendar-search a{font-size:25px;text-decoration:none;color:#52605d;padding:0 12px}.calendar-search button{border-radius:999px;padding:10px 18px}.calendar-search-results{max-width:1280px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.calendar-search-summary{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8f6f1;border-bottom:1px solid var(--line)}.calendar-search-summary h2{margin:0;font-size:21px}.calendar-search-summary span{color:var(--muted);font-size:12px}.calendar-patient-result{padding:20px;border-bottom:1px solid var(--line)}.calendar-patient-result:last-child{border-bottom:0}.calendar-patient-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.calendar-patient-head h3{font:700 24px Georgia;color:var(--ink);margin:8px 0 2px}.calendar-patient-head p{margin:0;color:var(--muted)}.calendar-archived{display:inline-block;margin-left:7px;background:#eee4cf;color:#735e32;border-radius:99px;padding:5px 10px;font-size:12px}.calendar-patient-meta{display:grid;grid-template-columns:1.2fr 1.2fr .6fr;gap:12px;margin:16px 0}.calendar-patient-meta>span{display:block;background:#f8f6f1;border-radius:9px;padding:10px 12px}.calendar-patient-meta small,.calendar-patient-meta b{display:block}.calendar-patient-meta small{color:var(--muted);font-size:11px;margin-bottom:3px}.calendar-patient-result details{border-top:1px solid #ece8df;padding:10px 2px 0;margin-top:10px}.calendar-patient-result summary{cursor:pointer;color:var(--ink);font-weight:800}.calendar-history-list,.calendar-activity-list{list-style:none;padding:0;margin:10px 0 0}.calendar-history-list li{display:grid;grid-template-columns:165px 180px minmax(0,1fr);gap:12px;padding:8px 10px;border-radius:7px}.calendar-history-list li:nth-child(odd),.calendar-activity-list li:nth-child(odd){background:#faf8f3}.calendar-history-list time,.calendar-activity-list time{color:#735e32;font-size:12px;font-weight:750}.calendar-history-list span{color:var(--muted)}.calendar-history-list .is-cancelled{opacity:.64}.calendar-activity-list li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:8px 10px;border-radius:7px}.calendar-no-history{display:block!important;color:var(--muted)}.calendar-search-empty{text-align:center;padding:55px 20px}.calendar-search-empty h2{margin-bottom:5px}
@media(max-width:800px){.calendar-search{grid-template-columns:auto 1fr auto;padding-left:12px}.calendar-search button{display:none}.calendar-search input{font-size:14px}.calendar-patient-head{flex-direction:column}.calendar-patient-head .btn{width:100%;text-align:center}.calendar-patient-meta{grid-template-columns:1fr}.calendar-history-list li{grid-template-columns:1fr;gap:2px}.calendar-activity-list li{grid-template-columns:1fr;gap:2px}}

/* v0.4.7 — mês abre automaticamente a semana do dia selecionado */
.calendar-view-filters{display:grid;grid-template-columns:minmax(220px,1fr) 140px;gap:12px;min-width:380px}.calendar-month{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:auto;box-shadow:0 3px 12px #173c3c0d}.calendar-month-weekdays,.calendar-month-grid{min-width:980px;display:grid;grid-template-columns:repeat(7,minmax(140px,1fr))}.calendar-month-weekdays{position:sticky;top:0;z-index:5;background:#f8f6f1;border-bottom:1px solid var(--line)}.calendar-month-weekdays span{text-align:center;padding:12px 8px;color:var(--muted);font-size:12px;font-weight:800}.calendar-month-grid{grid-auto-rows:minmax(126px,1fr)}.calendar-month-day{min-width:0;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;overflow:hidden;cursor:pointer;transition:background .15s ease}.calendar-month-day:hover{background:#f5f8f6}.calendar-month-day:nth-child(7n){border-right:0}.calendar-month-day>a{display:grid;place-items:center;width:29px;height:29px;margin:0 0 5px auto;border-radius:50%;color:var(--ink);font-weight:800;text-decoration:none}.calendar-month-day.is-outside{background:#f8f6f1}.calendar-month-day.is-outside:hover{background:#f0eee8}.calendar-month-day.is-outside>a{color:#a2aaa7}.calendar-month-day.is-today>a{background:var(--ink);color:#fff}.calendar-month-event{display:block;width:100%;margin:3px 0;padding:5px 6px;border-radius:5px;background:#f2f4f2;color:#263936;text-align:left;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-month-event i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.calendar-month-event b{font-size:10px}.calendar-month-event.is-block{background:repeating-linear-gradient(135deg,#e3e6e4,#e3e6e4 7px,#d7dcda 7px,#d7dcda 14px);color:#46514f}.calendar-month-more{display:block;color:var(--muted);font-size:10px;font-weight:750;padding:3px 6px}
@media(max-width:1100px){.calendar-toolbar{align-items:stretch;flex-wrap:wrap}.calendar-view-filters{order:3;width:100%;min-width:0}.calendar-toolbar>button{margin-left:auto}}@media(max-width:700px){.calendar-view-filters{grid-template-columns:1fr}.calendar-month{margin-left:-14px;margin-right:-14px;border-radius:0}.calendar-month-grid{grid-auto-rows:minmax(110px,1fr)}}

/* v0.5.4 — dados editáveis do paciente no compromisso */
.calendar-dialog{max-height:92vh;overflow:auto}.calendar-patient-fields{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#faf8f3}.calendar-patient-fields h3{margin:0 0 12px;font-family:Georgia;color:var(--ink);font-size:19px}.calendar-patient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 14px}.calendar-patient-grid label{margin:0}.calendar-patient-grid input,.calendar-patient-grid textarea{background:#fff}.calendar-field-wide{grid-column:1/-1}.calendar-cep-status{display:block;min-height:15px;margin-top:4px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.3}
@media(max-width:900px){.calendar-patient-grid{grid-template-columns:1fr}.calendar-patient-fields{padding:13px}.calendar-field-wide{grid-column:auto}}

/* v0.4.8 — calendário lateral fixo */
.calendar-workspace{display:grid;grid-template-columns:252px minmax(0,1fr);gap:18px;align-items:start}.calendar-agenda-main{min-width:0}.calendar-mini{position:sticky;top:86px;margin:0;padding:14px;border-radius:14px;z-index:20}.calendar-mini-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;text-align:center;margin-bottom:10px}.calendar-mini-head strong{font-family:Georgia;color:var(--ink);font-size:16px}.calendar-mini-head a{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;text-decoration:none;color:var(--ink);font-size:24px;line-height:1}.calendar-mini-head a:hover{background:#e8ece9}.calendar-mini-selects{display:grid;grid-template-columns:1fr 84px;gap:7px;margin-bottom:10px}.calendar-mini-selects select{margin:0;padding:8px 7px;font-size:12px;background:#fff}.calendar-mini-weekdays,.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-mini-weekdays span{padding:5px 0;color:var(--muted);font-size:10px;font-weight:800}.calendar-mini-grid a{position:relative;z-index:1;display:grid;place-items:center;aspect-ratio:1;border-radius:50%;color:#33413e;text-decoration:none;font-size:11px}.calendar-mini-grid a.is-week:before{content:"";position:absolute;inset:3px -3px;background:#e4ece8;z-index:-2;border-radius:0}.calendar-mini-grid a.is-week:nth-child(7n+1):before{border-radius:99px 0 0 99px;left:1px}.calendar-mini-grid a.is-week:nth-child(7n):before{border-radius:0 99px 99px 0;right:1px}.calendar-mini-grid a.is-outside{color:#aab1af}.calendar-mini-grid a.is-today{box-shadow:inset 0 0 0 1.5px var(--ink);font-weight:800}.calendar-mini-grid a.is-selected{background:var(--ink);color:#fff;font-weight:800}.calendar-mini-grid a.is-selected:after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--ink);z-index:-1}.calendar-mini-grid a:hover{background:#dce6e1}.calendar-mini-grid a.is-selected:hover{background:var(--ink)}.calendar-mini-today{display:block;margin-top:11px;padding:8px;border-radius:8px;background:#edf2ef;color:var(--ink);text-align:center;text-decoration:none;font-size:12px;font-weight:800}.calendar-mini-today:hover{background:#e2ebe6}@media(max-width:1100px){.calendar-workspace{grid-template-columns:1fr}.calendar-mini{position:relative;top:auto}.calendar-mini-grid a{aspect-ratio:auto;min-height:34px}.calendar-mini-selects{grid-template-columns:minmax(130px,1fr) 110px}}@media(max-width:700px){.calendar-mini{margin:0 -14px 14px;border-radius:0}.calendar-mini-grid a{min-height:32px}}
.calendar-remove-scope{border-top:1px solid var(--line);padding-top:12px;margin-top:12px!important}
.calendar-recurrence-actions{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.calendar-recurrence-actions[hidden]{display:none!important}
.calendar-recurrence-actions button{white-space:nowrap}
.calendar-recurrence-actions small{color:var(--muted);line-height:1.35}
@media(max-width:800px){.calendar-recurrence-actions{align-items:stretch;flex-direction:column}.calendar-recurrence-actions button{width:100%}}

/* v0.6.0 — cadastro central e ficha do paciente */
.patient-filters{display:grid;grid-template-columns:minmax(300px,1.8fr) minmax(170px,.7fr) minmax(220px,1fr) auto;gap:12px;align-items:end}.patient-filters label{margin:0}.patient-table small,.patient-table .patient-name{display:block}.patient-name{font-size:15px;font-weight:800;color:var(--ink);text-decoration:none}.patient-table small{margin-top:4px;color:var(--muted)}.patient-status{display:inline-block;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}.status-active{background:#dcecdf;color:#28623b}.status-follow_up{background:#eee4cf;color:#735e32}.status-inactive{background:#ececec;color:#626866}.patient-form{max-width:1100px;margin:auto}.patient-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.patient-form-grid label{margin:0}.patient-wide{grid-column:1/-1}.patient-form-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.patient-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.patient-metrics .card{margin:0;padding:16px}.patient-metrics small,.patient-metrics strong{display:block}.patient-metrics small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px}.patient-metrics strong{font:700 24px Georgia;color:var(--ink);margin-top:5px}.patient-detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px;align-items:start}.patient-data h3{margin:20px 0 5px;color:var(--ink)}.patient-data p{margin-top:0}.patient-history{margin-top:18px;overflow:auto}.patient-history h2{margin-top:0}.patient-history tr.is-cancelled{opacity:.62}.patient-history a{color:var(--ink);font-weight:750}.patient-form [data-cep-status]{display:block;min-height:15px;color:var(--muted);font-size:10px;margin-top:4px}
@media(max-width:1000px){.patient-filters{grid-template-columns:1fr 1fr}.patient-detail-layout{grid-template-columns:1fr}.patient-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.patient-filters,.patient-form-grid{grid-template-columns:1fr}.patient-wide{grid-column:auto}.patient-metrics{grid-template-columns:1fr 1fr}.patient-form-actions button{width:100%}}

/* v0.7.0 — programas e jornada do paciente */
.patient-journeys{margin-top:24px}.journey-section-head,.journey-table-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px}.journey-section-head span{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:1.5px}.journey-section-head h2,.journey-table-head h2{margin:4px 0 0}.journey-card{margin:0 0 12px;padding:18px}.journey-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.journey-card h3{font:700 22px Georgia;color:var(--ink);margin:8px 0 4px}.journey-card p{margin:0;color:var(--muted)}.journey-status{display:inline-block;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:800}.journey-status-active,.journey-status-completed{background:#dcecdf;color:#28623b}.journey-status-planned,.journey-status-pending,.journey-status-scheduled{background:#eee4cf;color:#735e32}.journey-status-paused{background:#e4e8ee;color:#475d78}.journey-status-cancelled,.journey-status-not_applicable{background:#ececec;color:#626866}.journey-progress{height:9px;margin:16px 0 14px;border-radius:99px;background:#e6e9e6;overflow:hidden}.journey-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ink),#4f8877)}.journey-progress.large{height:13px}.journey-card-meta{display:grid;grid-template-columns:.6fr .8fr 1.8fr;gap:12px}.journey-card-meta span{padding:10px 12px;border-radius:9px;background:#f8f6f1}.journey-card-meta small,.journey-card-meta b{display:block}.journey-card-meta small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.journey-card-meta b{margin-top:4px;font-size:12px}.journey-empty{text-align:center;padding:35px}.journey-empty h3{margin:0 0 6px}.journey-empty p{margin:0;color:var(--muted)}
.journey-form{max-width:1100px;margin:auto}.journey-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.journey-form-grid label{margin:0}.journey-span-2{grid-column:span 2}.journey-wide{grid-column:1/-1}.journey-professionals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;border:1px solid var(--line);border-radius:10px;padding:14px}.journey-professionals legend{padding:0 7px;font-weight:800;color:var(--ink)}.journey-check{display:flex;align-items:center;gap:8px;margin:0!important;padding:8px;border-radius:7px;background:#faf8f3;font-weight:600}.journey-check input{width:auto;margin:0}.journey-form small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.journey-metrics{display:grid;grid-template-columns:.6fr .8fr 1.7fr 1.2fr;gap:14px;margin-bottom:18px}.journey-metrics .card{margin:0;padding:16px}.journey-metrics small,.journey-metrics strong{display:block}.journey-metrics small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px}.journey-metrics strong{font:700 18px Georgia;color:var(--ink);margin-top:6px}.journey-overview{margin-bottom:22px}.journey-overview h3{margin-bottom:5px}.journey-overview p{margin-top:0}.journey-table{overflow:auto}.journey-table small{display:block;color:var(--muted);margin-top:4px}.journey-table a{color:var(--ink);font-weight:750}.journey-quick-status select{min-width:145px;margin:0;padding:8px}.journey-table-head{margin-top:4px}
@media(max-width:950px){.journey-card-meta,.journey-metrics{grid-template-columns:1fr 1fr}.journey-form-grid,.journey-professionals{grid-template-columns:1fr 1fr}.journey-wide{grid-column:1/-1}}
@media(max-width:650px){.journey-section-head,.journey-table-head,.journey-card-head{align-items:stretch;flex-direction:column}.journey-section-head .btn,.journey-table-head .btn,.journey-card-head .btn{width:100%;text-align:center}.journey-card-meta,.journey-metrics,.journey-form-grid,.journey-professionals{grid-template-columns:1fr}.journey-span-2,.journey-wide{grid-column:auto}}
.journey-value-card{border:1px solid var(--line);border-radius:10px;padding:13px;background:#faf8f3;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px}.journey-value-card span,.journey-value-card small{color:var(--muted)}.journey-value-card strong{font:700 22px Georgia;color:var(--ink)}.journey-value-card small{font-size:10px}.journey-value-card .compact{grid-column:2;grid-row:1/4;padding:9px 12px;font-size:12px}.journey-value-edit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px;border:1px solid #d8c79e;border-radius:10px;background:#f4eddc}.journey-value-edit[hidden]{display:none}.journey-value-edit label{margin:0}.journey-payment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;border:1px solid var(--line);border-radius:10px;padding:14px}.journey-payment legend{padding:0 7px;font-weight:800;color:var(--ink)}.journey-payment-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;margin:0!important;padding:10px;border-radius:7px;background:#faf8f3;cursor:pointer}.journey-payment-option input{width:auto;margin:0;grid-row:1/3}.journey-payment-option b{font-size:12px;color:#735e32}.journey-special-condition{display:flex;gap:8px 18px;align-items:center;margin-top:16px;padding:12px 14px;border-radius:9px;background:#f4eddc;color:#604f2c}.journey-special-condition span{font-size:13px}.service-table textarea{min-width:300px;margin:0}.service-steps-field{grid-column:1/-2}.service-admin-grid{grid-template-columns:1fr 2fr 1fr auto}.service-steps-field textarea{min-height:90px}@media(max-width:950px){.journey-payment,.journey-value-edit{grid-template-columns:1fr 1fr}}@media(max-width:650px){.journey-payment,.journey-value-edit{grid-template-columns:1fr}.journey-value-card{grid-template-columns:1fr}.journey-value-card .compact{grid-column:auto;grid-row:auto;margin-top:8px}.journey-special-condition{align-items:flex-start;flex-direction:column}}
.journey-steps-template{border:1px solid var(--line);border-radius:10px;padding:14px;background:#faf8f3}.journey-steps-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:10px}.journey-steps-heading b,.journey-steps-heading small{display:block}.journey-steps-heading small{margin-top:3px;color:var(--muted)}.journey-steps-template textarea{margin:0;background:#f2f0eb;color:var(--ink);cursor:default}.journey-steps-template textarea:not([readonly]){background:#fff;cursor:text;border-color:var(--gold)}.journey-card-steps{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.journey-card-steps>small{display:block;margin-bottom:8px;color:var(--muted);font-weight:700}.journey-card-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.journey-card-steps li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;background:#faf8f3}.journey-card-steps li>span:first-child{font-size:13px}.journey-card-steps .journey-status{white-space:nowrap}@media(max-width:650px){.journey-steps-heading{align-items:flex-start;flex-direction:column}.journey-card-steps ol{grid-template-columns:1fr}}
.flatpickr-input[readonly]+input{cursor:pointer}
.flatpickr-calendar{font-family:Arial,sans-serif;border-radius:12px;box-shadow:0 12px 30px rgba(19,63,61,.18)}
.flatpickr-months .flatpickr-month,.flatpickr-current-month .flatpickr-monthDropdown-months{background:#143f3d;color:#fff;fill:#fff}
.flatpickr-weekdays{background:#143f3d}
span.flatpickr-weekday{background:#143f3d;color:#fff}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#143f3d;border-color:#143f3d}
.flatpickr-day.today{border-color:#b78a43}
.flatpickr-day.today:hover{background:#b78a43;border-color:#b78a43;color:#fff}

/* Produtos e serviços: usa a largura administrativa e mantém Status/Ação acessíveis. */
.services-page{max-width:1720px;overflow-x:hidden}
.services-page .new-service,.services-page .service-table{width:100%}
.services-page .service-table{padding:16px;overflow:visible}

/* v1.4.51 — status da Jornada e consulta financeira protegida */
.journey-step-status.journey-status-completed,
.journey-step-status.journey-status-not_applicable{background:#ececec;color:#626866}
.journey-step-status.journey-status-scheduled{background:#dcecdf;color:#28623b}
.journey-step-status.journey-status-pending{background:#f3dfbd;color:#7a5420}
.journey-step-status.journey-status-cancelled{background:#f5dddd;color:#962f2f}
.journey-step-status.journey-status-missed{background:#eadff5;color:#6d3c91}
.journey-step-status.journey-status-rescheduled{background:#dce8f5;color:#2d5f91}
.journey-finance-view-locked{position:relative}
.journey-finance-view-locked [data-finance-lock-region]{opacity:.78;pointer-events:none}
.journey-finance-view-note{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid #d9d6cf;border-radius:8px;background:#f2f0eb;color:#626866;font-size:12px}
.journey-special-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;align-items:center}.journey-special-actions button{min-width:150px}.journey-special-close{order:2}
.patient-form-actions.finance-edit-actions{gap:10px;align-items:center}
.journey-payment-mixed-option{border-color:#c7ad77;background:#fbf5e8}
.journey-mixed-payment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-top:14px;padding:16px;border:1px solid #d8c79e;border-radius:12px;background:#fbf7ed}
.journey-mixed-payment[hidden]{display:none}
.journey-mixed-payment-head{grid-column:1/-1}
.journey-mixed-payment-head b,.journey-mixed-payment-head small{display:block}
.journey-mixed-payment-head small{color:var(--muted);font-weight:500}
.journey-mixed-payment label{margin:0}
.finance-plan-value b,.finance-plan-value small{display:block}
.finance-inline-edit{margin-top:7px;min-width:0;width:100%}
.finance-inline-edit>summary{cursor:pointer;color:var(--ink);font-size:12px;font-weight:800;text-decoration:underline}
.finance-inline-edit form{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}
.finance-inline-edit label{margin:0;font-size:12px}
.finance-inline-edit input{margin-top:4px}
.finance-inline-edit small,.finance-inline-message{white-space:normal;line-height:1.35}
.finance-inline-edit button{width:100%}
.finance-inline-message{min-height:16px;color:#2e7450;font-size:11px;font-weight:750}.finance-inline-message.is-error{color:#a12626}
.finance-cancel-shortcut{white-space:nowrap}
#cancelar-programa{scroll-margin-top:22px}
.services-page .service-table table{table-layout:fixed;width:100%;min-width:0}
.services-page .service-table th,.services-page .service-table td{padding:12px 10px;vertical-align:middle}
.services-page .service-table th:nth-child(1){width:17%}
.services-page .service-table th:nth-child(2){width:20%}
.services-page .service-table th:nth-child(3){width:13%}
.services-page .service-table th:nth-child(4){width:10%}
.services-page .service-table th:nth-child(5){width:22%}
.services-page .service-table th:nth-child(6){width:7%}
.services-page .service-table th:nth-child(7){width:11%}
.services-page .service-table input,.services-page .service-table textarea{width:100%;min-width:0}
.services-page .service-table .money-input{width:100%;min-width:0}
.services-page .service-table button{width:100%;padding:10px 8px}
.services-page .active-toggle{justify-content:center}
.services-page .active-toggle input{width:auto}
.services-page .service-admin-grid{grid-template-columns:minmax(180px,1fr) minmax(320px,2fr) minmax(180px,1fr) auto}
.service-row input[readonly],.service-row textarea[readonly]{background:#f7f5f0;border-color:transparent;color:var(--ink);cursor:default}
.service-row .money-input:has(input[readonly]){background:#f7f5f0;border-color:transparent}
.service-row.is-editing{background:#fbf7ea;box-shadow:inset 4px 0 var(--gold)}
.service-row.is-editing input,.service-row.is-editing textarea{background:#fff;border-color:#b89a5e}
.service-edit-form{display:grid;gap:7px}
.duration-input{display:flex;align-items:center;gap:6px}
.duration-input span{font-size:12px;color:var(--muted)}
.duration-input input:placeholder-shown+span{display:none}
@media(max-width:1180px){
 .journey-mixed-payment{grid-template-columns:1fr 1fr}
 .services-page .service-table{padding:12px}
 .services-page .service-table table,.services-page .service-table tbody{display:block;width:100%}
 .services-page .service-table thead{display:none}
 .services-page .service-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:14px 18px;padding:18px 4px;border-bottom:1px solid var(--line)}
 .services-page .service-table tr:last-child{border-bottom:0}
 .services-page .service-table td{display:block;padding:0;border:0;white-space:normal}
 .services-page .service-table td::before{content:attr(data-label);display:block;margin-bottom:5px;color:#73807d;font-size:11px;font-weight:700}
 .services-page .service-table td:nth-child(5){grid-column:1/-1}
 .services-page .service-table td:nth-child(6),.services-page .service-table td:nth-child(7){align-self:end}
 .services-page .active-toggle{justify-content:flex-start;min-height:42px}
 .services-page .service-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .services-page .service-edit-button{grid-column:1/-1}
 .services-page .service-admin-grid{grid-template-columns:1fr 2fr 1fr auto}
}
@media(max-width:650px){.journey-mixed-payment{grid-template-columns:1fr}}
@media(max-width:900px){.services-page .service-admin-grid{grid-template-columns:1fr}.services-page .service-steps-field{grid-column:auto}.services-page .service-admin-grid button{width:100%}}
@media(max-width:650px){.services-page .service-table tr{grid-template-columns:1fr}.services-page .service-table td:nth-child(5){grid-column:auto}}

/* v0.7.5 — integração entre etapas da jornada e Agenda */
.journey-agenda-actions{min-width:155px}.journey-agenda-actions a,.journey-agenda-actions span{display:block}.journey-schedule-link{margin-top:5px;color:#2d7166!important}.journey-removed{font-size:11px}.calendar-journey-notice{margin:0 0 16px;padding:13px 15px;border:1px solid #c9dcd5;border-radius:10px;background:#edf5f2;color:var(--ink)}.calendar-journey-notice b,.calendar-journey-notice span,.calendar-journey-notice small{display:block}.calendar-journey-notice span{margin-top:3px;font-size:13px}.calendar-journey-notice small{margin-top:5px;color:var(--muted)}

/* v0.8.0 — financeiro e controle de pagamentos */
.journey-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.finance-metrics .card{margin:0;padding:16px}
.finance-metrics small,.finance-metrics strong,.finance-program-summary small,.finance-program-summary b{display:block}
.finance-metrics small,.finance-program-summary small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.finance-metrics strong{font:700 22px Georgia;color:var(--ink);margin-top:6px}
.finance-program-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.finance-program-summary>div{padding:12px;border-radius:9px;background:#faf8f3}
.finance-program-summary b{margin-top:5px;color:var(--ink)}
.finance-filters{display:grid;grid-template-columns:minmax(320px,1fr) minmax(180px,.35fr) auto;gap:12px;align-items:end}
.finance-filters label{margin:0}
.finance-table{overflow:auto}
.finance-table table{min-width:1050px}
.finance-table small{display:block;max-width:260px;margin-top:5px;color:var(--muted);line-height:1.35}
.finance-table a{color:var(--ink);font-weight:750}
.finance-status{display:inline-block;padding:5px 10px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}
.finance-status-pending{background:#e5edf1;color:#3c5c6d}
.finance-status-overdue{background:#f4dede;color:#8a3434}
.finance-status-partial{background:#f3ead4;color:#735e32}
.finance-status-paid{background:#dcecdf;color:#28623b}
.finance-status-cancelled{background:#ececec;color:#626866}
.finance-due{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:9px 12px;align-items:center}
.finance-due input{margin:0;min-width:180px}
.finance-due .compact{padding:9px 10px}
.finance-receive summary{cursor:pointer;color:#2d7166;font-weight:800;white-space:nowrap}
.finance-auto-receipt{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:99px;background:#e5f3ea;color:#236844;font-size:11px;font-weight:800;line-height:1.2;text-align:center}
.finance-module-revision{margin:0 0 10px;color:#66716e;font-size:11px;font-weight:800;letter-spacing:.04em;text-align:right}
@media(max-width:700px){.finance-inline-edit{min-width:210px}.finance-inline-edit form,.finance-due{grid-template-columns:1fr}.finance-inline-edit button{width:100%}}
.finance-receive form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}
.finance-receive label{margin:0}
.finance-receive .finance-wide{grid-column:1/-1}
.finance-receive button{grid-column:1/-1}
.finance-payment-rule{display:block!important;max-width:none!important;margin:7px 0 0!important;white-space:normal;color:#735e32!important}
.finance-program-table table{min-width:1650px;table-layout:fixed}
.finance-program-table th:nth-child(1){width:6%}
.finance-program-table th:nth-child(2){width:7%}
.finance-program-table th:nth-child(3){width:20%}
.finance-program-table th:nth-child(4){width:18%}
.finance-program-table th:nth-child(5){width:13%}
.finance-program-table th:nth-child(6){width:9%}
.finance-program-table th:nth-child(7){width:27%}
.finance-program-table td{vertical-align:top}
.finance-program-table td:last-child{white-space:normal}
.finance-reverse{margin-top:7px}
.finance-reverse button{padding:8px 10px}
@media(max-width:900px){.finance-metrics,.finance-program-summary{grid-template-columns:1fr 1fr}.finance-filters{grid-template-columns:1fr 1fr}.finance-filters .filter-actions{grid-column:1/-1}.journey-card-actions{justify-content:flex-start}}
@media(max-width:600px){.finance-metrics,.finance-program-summary,.finance-filters{grid-template-columns:1fr}.finance-filters .filter-actions{grid-column:auto}.journey-card-actions{flex-direction:column}.journey-card-actions .btn{width:100%;text-align:center}.finance-receive form{grid-template-columns:1fr}}

/* v1.4.58 — resumo financeiro consolidado por paciente */
.patient-finance-title{align-items:flex-end}
.patient-finance-total-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.patient-finance-total-metrics .card{min-width:0}
.patient-finance-net{border-color:#9fc6b4!important;background:#f2faf5!important}
.patient-finance-list{display:grid;gap:16px}
.patient-finance-section-title{margin:8px 0 0}
.patient-finance-section-title>span{font-size:10px;font-weight:850;letter-spacing:1.2px;color:#9b7b3c}
.patient-finance-section-title h2{margin:4px 0}
.patient-finance-section-title p{margin:0;color:var(--muted)}
.patient-finance-journey{margin:0;padding:20px}
.patient-finance-journey-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.patient-finance-journey-head h2{margin:8px 0 4px}
.patient-finance-journey-head p{margin:0;color:var(--muted)}
.patient-finance-journey-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.patient-finance-journey-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:18px 0}
.patient-finance-journey-metrics>div{padding:12px;border-radius:9px;background:#f8f6f1}
.patient-finance-journey-metrics small,.patient-finance-journey-metrics b{display:block}
.patient-finance-journey-metrics small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}
.patient-finance-journey-metrics b{margin-top:5px;color:var(--ink);font-size:15px}
.patient-finance-events{margin-top:4px}
.patient-finance-events table{min-width:1050px}
.patient-finance-events small{display:block;margin-top:4px;color:var(--muted)}
.patient-finance-cancellation{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr);gap:18px;margin:0 0 16px;padding:14px;border:1px solid #e8c9c4;border-radius:9px;background:#fff6f4}
.patient-finance-cancellation span,.patient-finance-cancellation b,.patient-finance-cancellation small{display:block}
.patient-finance-cancellation span{font-size:9px;font-weight:850;letter-spacing:1px;color:#9a4138}
.patient-finance-cancellation b{margin:5px 0}
.patient-finance-cancellation small,.patient-finance-cancellation p{color:var(--muted)}
.patient-finance-cancellation p{margin:0}
.patient-finance-pending-refund{margin-bottom:18px}
.patient-finance-empty{text-align:center;padding:42px}
@media(max-width:1250px){.patient-finance-total-metrics,.patient-finance-journey-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.patient-finance-title,.patient-finance-journey-head{align-items:stretch;flex-direction:column}.patient-finance-journey-actions{justify-content:flex-start}.patient-finance-journey-actions .btn{width:100%;text-align:center}.patient-finance-total-metrics,.patient-finance-journey-metrics{grid-template-columns:1fr 1fr}.patient-finance-cancellation{grid-template-columns:1fr}}
.finance-special-summary{margin-bottom:18px}.finance-special-payment{margin-bottom:18px}.finance-special-payment>summary{cursor:pointer;font-size:16px;font-weight:850;color:var(--ink)}.finance-special-payment>p{color:var(--muted);max-width:850px}.finance-special-payment>form:first-of-type{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.finance-special-payment label{margin:0}.finance-special-payment>form:first-of-type button{grid-column:1/-1}.finance-standard-restore{margin-top:10px}.finance-allocation{margin-top:18px}.finance-section-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.finance-section-title span{font-size:10px;letter-spacing:1px;color:#8a713d;font-weight:800}.finance-section-title h2{margin:3px 0}.finance-section-title p{margin:0;color:var(--muted)}.finance-allocation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:14px}.finance-allocation-grid label{display:grid;grid-template-columns:1fr minmax(130px,.55fr);align-items:center;gap:8px;margin:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:#faf8f3}.finance-report-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.finance-report-filters .filter-actions{grid-column:1/-1}.finance-performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.finance-performance-grid .card{margin:0}.finance-performance-grid h2{margin:0 0 12px}.finance-performance-grid table{min-width:520px}
@media(max-width:1050px){.finance-special-payment>form:first-of-type,.finance-allocation-grid{grid-template-columns:1fr 1fr}.finance-report-filters{grid-template-columns:1fr 1fr}.finance-performance-grid{grid-template-columns:1fr}}
@media(max-width:650px){.finance-special-payment>form:first-of-type,.finance-allocation-grid,.finance-report-filters{grid-template-columns:1fr}.finance-section-title{flex-direction:column}.finance-allocation-grid label{grid-template-columns:1fr}.finance-report-filters .filter-actions{grid-column:auto}}

/* v0.9.0 — contas a pagar, despesas e resultado */
.expense-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.expense-metrics .card{margin:0;padding:16px}
.expense-metrics small,.expense-metrics strong{display:block}
.expense-metrics small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.expense-metrics strong{font:700 21px Georgia;color:var(--ink);margin-top:6px}
.expense-positive{border-top:4px solid #397052}.expense-negative{border-top:4px solid #a7463e}
.expense-positive strong{color:#28623b}.expense-negative strong{color:#8a3432}
.expense-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(150px,.7fr)) auto;gap:12px;align-items:end}
.expense-filters label{margin:0}
.expense-layout{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(280px,.7fr);gap:16px;align-items:start}
.expense-layout .card{margin:0}.expense-table{overflow:auto}.expense-table table{min-width:1120px}
.expense-table h2,.expense-category h2{margin:0 0 14px}
.expense-paid-list{margin-top:16px;overflow:auto}.expense-paid-list h2{margin:0 0 14px}.expense-paid-list table{min-width:850px}.expense-paid-list small{display:block;margin-top:4px;color:var(--muted)}
.expense-table small{display:block;margin-top:4px;color:var(--muted)}
.expense-actions{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;min-width:260px}
.expense-actions form{margin:0}.expense-actions .compact{padding:8px 10px}
.expense-pay summary{cursor:pointer;color:#2d7166;font-weight:800;padding:8px 4px}
.expense-pay[open]::before{content:"";position:fixed;inset:0;z-index:90;background:#102c2c99;backdrop-filter:blur(2px)}
.expense-pay form{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:fixed;z-index:91;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;margin:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 24px 80px #102c2c66;white-space:normal}
.expense-pay-head{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.expense-pay-head div{display:grid;gap:3px}.expense-pay-head small{color:#8a713d;font-size:10px;letter-spacing:1px}.expense-pay-head strong{font:700 24px Georgia;color:var(--ink)}.expense-pay-head span{color:var(--muted);font-weight:750}
.expense-pay-close{width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:50%;background:#e8e4da;color:var(--ink);font-size:26px;line-height:1}
.expense-pay label{margin:0}.expense-pay .expense-wide{grid-column:1/-1}.expense-pay-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.expense-pay-actions button{min-width:155px}
.expense-form{max-width:1050px;margin:auto}.expense-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.expense-form-grid label{margin:0}.expense-span-2{grid-column:span 2}.expense-wide{grid-column:1/-1}
.expense-form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}
@media(max-width:1200px){.expense-metrics{grid-template-columns:repeat(3,1fr)}.expense-filters{grid-template-columns:repeat(3,1fr)}.expense-filters .filter-actions{grid-column:1/-1}.expense-layout{grid-template-columns:1fr}}
@media(max-width:700px){.expense-metrics,.expense-filters,.expense-form-grid{grid-template-columns:1fr}.expense-filters .filter-actions,.expense-span-2,.expense-wide{grid-column:auto}.expense-form-actions{flex-direction:column}.expense-form-actions .btn,.expense-form-actions button{width:100%;text-align:center}.expense-pay form{grid-template-columns:1fr;padding:18px}.expense-pay .expense-wide,.expense-pay-head,.expense-pay-actions{grid-column:auto}.expense-pay-actions{flex-direction:column-reverse}.expense-pay-actions button{width:100%}}
/* v1.0.0 — resumos administrativos e balanço familiar */
.summary-period,.family-period{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) auto auto;gap:12px;align-items:end}
.summary-period label,.family-period label{margin:0}.summary-total{grid-template-columns:minmax(260px,420px)}
.family-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.family-form-grid label{margin:0}.family-span-2,.family-wide{grid-column:1/-1}
.family-new summary,.family-pay summary{cursor:pointer;color:var(--ink);font-weight:800}
.family-new>form{padding-top:18px}.family-new>form>button{margin-top:16px}
.family-actions{display:flex;gap:8px;align-items:center}.family-actions form{margin:0}
.family-pay{min-width:230px}.family-pay form{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}
.family-pay label{margin:0}.family-pay small{display:block}.title-actions{flex-wrap:wrap}
@media(max-width:800px){.summary-period,.family-period,.family-form-grid{grid-template-columns:1fr}.family-span-2,.family-wide{grid-column:auto}.summary-period .btn,.summary-period button,.family-period .btn,.family-period button{width:100%;text-align:center}.title-actions{width:100%;align-items:stretch;flex-direction:column}.title-actions .btn{text-align:center}}

/* v1.1.0 — tipografia premium, usuário conectado e separação PF/PJ */
:root{--font-ui:'Inter','Segoe UI',Arial,sans-serif}
body{font-family:var(--font-ui);font-size:14px;line-height:1.52;letter-spacing:-.005em}
body,input,select,textarea,button,.btn{font-family:var(--font-ui)}
h1,h2,h3,.metric b,.calendar-day>header b,.calendar-mini-head strong,.pending-service-form h3,.calendar-patient-fields h3{font-family:var(--font-ui);letter-spacing:-.035em}
h1{font-size:31px;line-height:1.14;font-weight:650;margin:.18em 0 .28em}
h2{font-size:21px;line-height:1.25;font-weight:650}
.brand{font-family:var(--font-ui);font-size:19px;font-weight:700;letter-spacing:-.03em}.brand small{font-family:var(--font-ui);font-weight:500}
header{align-items:center;padding:14px 4vw;gap:18px}.session-user{margin-left:auto;color:#dbe5e1;font-size:12px;white-space:nowrap}.session-user em{color:#fff;font-size:13px;font-weight:600}.session-user:before{content:'●';font-style:normal;color:#c9ad72;font-size:8px;margin-right:7px;vertical-align:1px}
header nav{gap:15px;align-items:center}header nav a{font-size:13px;font-weight:500}
.title>div>span{font-size:11px;letter-spacing:.04em}.title p{max-width:980px;color:var(--muted)}
.card,.metric{border-radius:13px}.btn,button{font-weight:650}
.access-notice{max-width:960px;margin:0 auto 18px}.operational-notice{border-left:4px solid var(--gold);background:#fbfaf6}.operational-notice b{color:var(--ink)}.operational-notice p{margin:.35rem 0 0;color:var(--muted)}
.family-separation{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.family-separation span{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:#fff;padding:6px 10px;color:var(--ink);font-size:11px;font-weight:650}.family-separation span:first-child:before{content:'↗';margin-right:6px;color:var(--gold)}.family-separation span:last-child:before{content:'✓';margin-right:6px;color:#397052}
.family-negative{color:var(--danger)}.family-positive{color:var(--ink)}.family-log td:nth-child(4){white-space:normal;min-width:320px}.family-log .log-badge{font-size:11px}.family-form-grid label,.family-period label{font-weight:600}
.flatpickr-calendar{font-family:var(--font-ui)}
.calendar-date-grid .flatpickr-wrapper{display:block;width:100%}
.calendar-date-grid .flatpickr-wrapper input{width:100%}
.calendar-date-grid .flatpickr-calendar.static{left:0;right:auto;top:calc(100% + 6px);z-index:10000}
@media(max-width:1100px){header{align-items:flex-start;flex-wrap:wrap}.session-user{order:2;margin-left:0}.session-user+nav{order:3;width:100%}}
@media(max-width:800px){h1{font-size:27px}h2{font-size:20px}.session-user{font-size:11px}.session-user em{font-size:12px}}
.finance-status-draft{background:#ece7d9;color:#6a5c39}
.family-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.family-row-actions form{margin:0}
.family-tax-form{min-width:190px}
.family-tax-inline{display:flex;align-items:center;gap:6px}
.family-tax-inline input{margin:0;min-width:78px;padding:8px 10px}
.family-tax-inline span{font-weight:700;color:var(--muted)}
.family-tax-inline .compact{padding:9px 10px}
.family-tax-form small{display:block;margin-top:5px;color:var(--muted);white-space:normal}
button.compact,.btn.compact{padding:9px 12px;font-size:13px;border-radius:8px}
button[disabled],.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}
@media(max-width:800px){.family-row-actions{flex-direction:column;align-items:stretch}.family-tax-form{min-width:0}.family-tax-inline{flex-wrap:wrap}}
.family-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:14px 0 18px}
.family-mini-card{padding:16px 18px}
.family-mini-card small{display:block;color:var(--muted);text-transform:none;letter-spacing:0;margin-bottom:6px;font-size:12px}
.family-mini-card strong{display:block;font-size:28px;line-height:1.1;margin-bottom:4px}
.family-mini-card span{display:block;color:var(--muted);font-size:13px}
.family-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 16px}
.family-filter-bar label{min-width:260px;flex:1}
.family-filter-bar select{width:100%}
.family-log-scroll{max-height:460px;overflow:auto;border-radius:12px}
.family-log-scroll table{margin-bottom:0}
@media(max-width:800px){.family-mini-card strong{font-size:24px}.family-filter-bar label{min-width:0;width:100%}}
.family-filter-total{margin-left:auto;align-self:center;color:var(--ink);white-space:nowrap;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}
.family-log-scroll{max-height:420px;overflow-y:auto;overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.family-log-scroll table{min-width:980px;margin-bottom:0}
.family-log-scroll th{position:sticky;top:0;background:#fff;z-index:2}
@media(max-width:800px){.family-filter-total{margin-left:0;width:100%;text-align:center}.family-log-scroll{max-height:360px}}

/* v1.2.3 — pacote de usabilidade, tabelas e cadastros */
:root{--iti-path-flags-1x:url('assets/flags.webp');--iti-path-flags-2x:url('assets/flags@2x.webp');--iti-path-globe-1x:url('assets/globe.webp');--iti-path-globe-2x:url('assets/globe@2x.webp')}
body>header{justify-content:flex-start!important;column-gap:18px!important}
body>header .brand{flex:0 0 auto}
body>header .session-user{margin-left:0!important;margin-right:34px!important;flex:0 0 auto}
body>header nav{margin-left:auto!important;justify-content:flex-end}
.table{overflow:visible}
.table-scroll{width:100%;overflow:auto;overscroll-behavior:contain;border:1px solid #eee8dd;border-radius:10px;scrollbar-gutter:stable}
.table-scroll table{min-width:max-content;margin:0}
.table-scroll th{position:sticky;top:0;z-index:3;background:#fff;box-shadow:0 1px 0 #eee8dd}
.table-scroll tr:last-child td{border-bottom:0}
.log-table{width:100%}.log-table .table-scroll{min-height:220px}.log-table table{min-width:1420px}.log-table td:nth-child(4){min-width:520px}
.leads-table table,.patient-table table{min-width:1100px}
.pill[data-stage]{font-weight:700;border:1px solid transparent}
.pill[data-stage="novo"]{background:#dce8f5;color:#245783;border-color:#c4d8eb}
.pill[data-stage="aguardando"]{background:#fff0c9;color:#765b16;border-color:#ecd99d}
.pill[data-stage="segundo_contato"]{background:#f5e1c9;color:#81552b;border-color:#e7caa7}
.pill[data-stage="terceiro_contato"]{background:#f0d9d0;color:#873f31;border-color:#e3bfb2}
.pill[data-stage="agendado"]{background:#d6ece9;color:#1d6660;border-color:#b9dcd7}
.pill[data-stage="convertido"]{background:#cfe9d7;color:#1f6538;border-color:#afd7bb}
.pill[data-stage="perdido"]{background:#e4e5e5;color:#555f5d;border-color:#d1d4d3}

/* v1.2.4 — quadro compacto, sem redundâncias e com inclusão por etapa */
.kanban{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;overflow:visible;align-items:start;padding:3px 0 16px}
.kanban-column{display:flex;flex-direction:column;min-width:0;width:auto;min-height:210px;padding:10px}
.kanban-head{gap:8px;padding:3px 2px 9px;font-size:13px}
.kanban-head b{min-width:0;line-height:1.25}
.kanban-drop{flex:1;min-height:82px}
.kanban-card{padding:10px;margin-bottom:8px;overflow-wrap:anywhere}
.kanban-card a{font-size:14px}
.kanban-card span,.kanban-card small{font-size:11px;line-height:1.35}
.kanban-add{display:block;margin-top:3px;padding:9px 7px;border-radius:8px;color:var(--ink);font-size:12px;font-weight:750;text-align:center;text-decoration:none;transition:background .15s,color .15s}
.kanban-add:hover,.kanban-add:focus-visible{background:#fff;color:#0f5551;outline:none}
@media(max-width:1100px){.kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:16px}.kanban-column{min-width:220px;width:220px}}
@media(max-width:800px){.kanban-column{min-width:240px;width:240px}}
.iti{width:100%;margin-top:5px}.iti input{margin-top:0;padding-left:92px!important}.iti__country-container{z-index:8}.iti__dropdown-content{max-width:min(420px,calc(100vw - 32px))}
@media(max-width:1100px){body>header .session-user{order:0!important;margin-right:0!important}body>header nav{order:3!important;width:100%;margin-left:0!important;justify-content:flex-start}}

/* v1.2.7 — conversão única Lead → Paciente e agendamento mais intuitivo */
.kanban{grid-template-columns:repeat(6,minmax(0,1fr))}
.appointment-registration .grid{grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(185px,1fr));align-items:start;gap:16px}
.appointment-registration .grid>label{display:flex;flex-direction:column;height:100%;margin:0;font-size:13px}
.appointment-registration .grid>label>select{min-height:45px}
.appointment-registration .br-datetime{display:grid;grid-template-columns:minmax(155px,1.2fr) minmax(105px,.8fr);gap:8px;margin-top:5px}
.appointment-registration .br-datetime input,.appointment-registration .br-datetime select{min-height:45px;margin-top:0}
.appointment-registration .date-format{min-height:32px;margin-top:6px;font-size:11px;line-height:1.35}
.converted-patient{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:0 0 18px;border:1px solid #afd7bb;border-radius:11px;background:#eef8f1}
.converted-patient div{min-width:0}.converted-patient b,.converted-patient span{display:block}.converted-patient b{color:#1f6538;font-size:16px}.converted-patient span{margin-top:3px;color:var(--muted);font-size:12px}.converted-patient .btn{flex:0 0 auto}
@media(max-width:1250px){.appointment-registration .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.appointment-registration .grid{grid-template-columns:1fr}.appointment-registration .br-datetime{grid-template-columns:1fr}.converted-patient{align-items:stretch;flex-direction:column}.converted-patient .btn{text-align:center}}

/* v1.3.0 — fluxo comercial simplificado e desfecho da consulta */
.kanban{grid-template-columns:repeat(5,minmax(0,1fr))}
.kanban-column[data-stage="novo"]{background:#eaf2fb;border-color:#c8daed}
.kanban-column[data-stage="aguardando"]{background:#fff6da;border-color:#ecdba6}
.kanban-column[data-stage="segundo_contato"]{background:#f9ead8;border-color:#e8caa5}
.kanban-column[data-stage="agendado"]{background:#d9f1e2;border-color:#83c49a}
.kanban-column[data-stage="perdido"]{background:#f5d9d7;border-color:#d88e88}
.kanban-card[data-stage="novo"]{background:#f7fbff;border-left:5px solid #4f88bd}
.kanban-card[data-stage="aguardando"]{background:#fffaf0;border-left:5px solid #d3a93d}
.kanban-card[data-stage="segundo_contato"]{background:#fff7ee;border-left:5px solid #c77832}
.kanban-card[data-stage="agendado"]{background:#f0fbf4;border-left:5px solid #24824b}
.kanban-card[data-stage="perdido"]{background:#fff3f2;border-left:5px solid #bd3e36}
.kanban-column[data-stage="agendado"] .kanban-head{color:#195f37}
.kanban-column[data-stage="perdido"] .kanban-head{color:#982f2a}
.journey-card-warning{border-color:#d5aa45}.journey-card-expired{border-color:#c74b43}.journey-deadline{margin:12px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;font-weight:750}.journey-deadline-warning{background:#fff3cf;color:#775914}.journey-deadline-expired{background:#f8dddd;color:#902e29}.journey-payment-help{grid-column:1/-1;margin:0 0 4px;color:var(--muted);font-size:12px}.journey-payment-confirm{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding-top:8px;border-top:1px solid var(--line)}.journey-payment-confirm output{color:var(--muted);font-size:12px}.finance-locked{border-color:#d8c79e;background:#faf6e9}.finance-locked p{margin-bottom:0;color:var(--muted)}.journey-payment.is-locked{background:#faf6e9;border-color:#d8c79e}.journey-payment.is-locked .journey-payment-option{cursor:not-allowed;opacity:.72}.journey-payment-lock-note{grid-column:1/-1;margin:0;padding:9px 11px;border-radius:7px;background:#eee4cf;color:#604f2c;font-size:12px;font-weight:750}.journey-duration-suggestion{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid #c9dcd5;border-radius:8px;background:#edf5f2;color:var(--ink);font-size:12px}.calendar-program-stage-label small{display:block;margin-top:5px;color:var(--muted);font-weight:400}.calendar-program-stage-label select option:disabled{color:#999}
.service-admin-grid{grid-template-columns:1fr 2fr 1fr 1fr auto}.service-table input[name="duration_months"]{min-width:110px}@media(max-width:900px){.service-admin-grid{grid-template-columns:1fr}.journey-payment-confirm{align-items:stretch;flex-direction:column}}
.program-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.payment-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800;line-height:1}.payment-pending{background:#fbe3e3;color:#a12626;border:1px solid #efb7b7}.payment-confirmed{background:#dff3e7;color:#17653a;border:1px solid #add8be}.distribution-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.distribution-rule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:1px solid var(--line);border-radius:12px;padding:16px}.distribution-rule legend{font-weight:800;padding:0 6px}.distribution-rule small{grid-column:1/-1;color:var(--muted)}.allocation-summary{display:grid;gap:8px;margin-top:16px}.allocation-summary>div{display:flex;justify-content:space-between;gap:20px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.finance-allocation-readonly .finance-section-title{align-items:flex-start}@media(max-width:900px){.distribution-rules-grid,.distribution-rule{grid-template-columns:1fr}.distribution-rule small{grid-column:auto}}

/* v1.4.60 — consolidado administrativo por paciente */
.journey-special-save-message{min-width:220px;color:#26724a;font-size:12px;font-weight:750}.journey-special-save-message.is-error{color:#a12626}
.finance-admin-total-metrics{margin-top:4px}
.finance-admin-journeys{margin:0 0 22px}
.finance-admin-journey-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finance-admin-journey{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:#faf8f3;color:var(--ink);text-decoration:none}
.finance-admin-journey:hover{border-color:#87aa9d;background:#f5faf7}
.finance-admin-journey.is-selected{border:2px solid var(--brand);background:#eef8f3}
.finance-admin-journey span{font-size:9px;font-weight:850;letter-spacing:.8px;text-transform:uppercase;color:#287456}
.finance-admin-journey b{font-size:15px}
.finance-admin-journey small{color:var(--muted)}
.finance-selected-program-title{scroll-margin-top:24px;margin:28px 0 14px}
.finance-selected-allocation-note{display:flex;justify-content:space-between;gap:18px;margin-top:14px;padding:12px 14px;border-radius:9px;background:#f4f1e9}
.finance-selected-allocation-note span{color:var(--muted)}
@media(max-width:850px){.finance-admin-journey-list{grid-template-columns:1fr}.finance-selected-allocation-note{align-items:flex-start;flex-direction:column}}
.distribution-rule-fixed>div{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;background:#f8faf9}.distribution-rule-fixed>div small{grid-column:auto}.distribution-rule-fixed>div b{font-size:18px;color:var(--ink)}.allocation-general-pill{background:#edf2ef;color:#315e50;border:1px solid #c9dbd4}.allocation-special-pill{background:#fff0c9;color:#765b16;border:1px solid #ecd99d}.finance-allocation-special-summary{margin-top:14px}.finance-allocation-override{margin-top:16px;border:1px solid var(--line);border-radius:10px;background:#fbfaf6}.finance-allocation-override>summary{cursor:pointer;padding:14px 16px;color:var(--ink);font-weight:800}.finance-allocation-override>p,.finance-allocation-override>form{margin:0;padding:0 16px 16px}.finance-allocation-override .distribution-rule{margin-bottom:14px}.finance-allocation-lock{margin-top:16px;padding:13px 15px;border:1px solid #d8c79e;border-radius:9px;background:#faf6e9}.finance-allocation-lock p{margin:4px 0 0;color:var(--muted)}
.stage-btn.stage-aguardando{background:#d3a93d;color:#342b13}
.stage-btn.stage-segundo_contato{background:#c77832}
.lead-primary-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.lead-actions{display:grid;gap:14px}
.action-panel{padding:0;overflow:hidden}
.action-panel>summary{display:block;padding:15px 18px;cursor:pointer;font-weight:800;color:var(--ink);list-style:none}
.action-panel>summary::-webkit-details-marker{display:none}
.action-panel>summary.btn{margin:0;border-radius:0;color:#fff}
.action-panel[open]>summary{border-bottom:1px solid var(--line)}
.action-panel form{padding:18px}
.loss-panel>summary{color:var(--danger)}
.appointment-fields{display:grid;grid-template-columns:minmax(340px,1.25fr) minmax(170px,.55fr) minmax(330px,1fr);gap:14px;align-items:start}
.appointment-fields>label{min-width:0;margin:0}
.appointment-fields select{min-width:0;max-width:100%}.appointment-professional select{font-size:14px}
.appointment-program-plan{grid-column:1/-1;border:1px solid var(--line);border-radius:11px;padding:14px 16px;background:#faf8f3}
.appointment-program-plan legend{padding:0 7px;color:var(--ink);font-weight:800}
.appointment-program-plan>p{margin:0 0 10px;color:var(--muted);font-size:12px}
.appointment-program-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.appointment-program-options label{display:flex;align-items:flex-start;gap:9px;margin:0;padding:10px 12px;border:1px solid #d8d1c3;border-radius:9px;background:#fff;cursor:pointer;font-weight:650}
.appointment-program-options label[hidden]{display:none}
.appointment-program-options input{width:auto;margin:3px 0 0;flex:none}
.appointment-program-options span{display:block}
.appointment-program-options small{display:block;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.appointment-program-consultation{grid-column:1/-1;background:#f0eee4!important;border-color:#d8c79e!important}
.appointment-when{grid-row:span 2}
.br-datetime{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.br-datetime>span{display:block;padding:11px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}
.br-datetime>span>b{display:block;margin-bottom:7px;color:var(--ink);font-size:12px}
.br-datetime input,.br-datetime select{width:100%;min-height:44px;margin:0!important;background:#fff}
.lead-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.lead-summary>div{min-width:0}
.lead-summary b{overflow-wrap:anywhere}
.fixed-responsible{padding:10px 12px;border:1px solid #d8c79e;border-radius:9px;background:#f6f0e2}
.fixed-responsible small:after{content:" 🔒";font-size:11px}
.outcome-heading{margin:8px 0 0}
.outcome-heading h2{margin-bottom:3px}.outcome-heading p{margin-top:0;color:var(--muted)}
.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.outcome-grid .card{min-width:0}
.outcome-convert{grid-row:span 2}
.form-help{padding:10px 12px;border-radius:8px;background:#edf2ef;color:var(--muted)}
.log-table{font-size:12px}
.log-table table{min-width:1080px}
.log-table th,.log-table td{padding:9px 8px}
.log-table td:nth-child(1){width:92px}.log-table td:nth-child(2){width:130px}.log-table td:nth-child(3){width:155px}.log-table td:nth-child(4){min-width:360px}.log-table td:nth-child(5){width:125px}
.log-table small{font-size:10px;line-height:1.25}
@media(max-width:1300px){.appointment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-when{grid-row:auto}.outcome-grid{grid-template-columns:1fr}}
@media(max-width:800px){.appointment-fields,.lead-summary,.appointment-program-options{grid-template-columns:1fr}.lead-primary-actions form,.lead-primary-actions button{width:100%}.appointment-program-consultation{grid-column:auto}}

/* v1.4.25 — fluxo integrado Lead > Agenda > Desfecho */
.lead-birth-pair{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;align-items:end}
.lead-birth-pair>label{margin:12px 0}
.lead-age-card,.calendar-age-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:68px;border:1px solid #9fc7ad;border-radius:10px;background:#dcecdf;color:#285d3b;padding:9px 12px;text-align:center}
.lead-age-card small,.calendar-age-card small{display:block;font-size:11px;font-weight:750}
.lead-age-card output,.calendar-age-card output{display:block;font-size:20px;font-weight:850;line-height:1.2}
.appointment-panel .appointment-fields{grid-template-columns:minmax(280px,1fr) minmax(220px,.8fr)}
.appointment-panel .appointment-when{grid-column:1/-1}
.appointment-panel .appointment-professional select{font-size:14px}
.calendar-dialog{max-width:880px}
.calendar-birth-pair{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:9px;align-items:stretch}
.calendar-birth-pair label{margin:0}
.calendar-age-card{min-height:57px;margin-top:0}
.calendar-source-card{border:1px solid #d8d1c3;border-radius:9px;background:#f0eee4;padding:10px 12px;min-height:63px}
.calendar-source-card small,.calendar-source-card output{display:block}
.calendar-source-card small{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.calendar-source-card output{margin-top:5px;color:var(--ink);font-weight:800}
.calendar-outcome-panel{margin:16px 0;padding:0;border:1px solid #a9c1bb;border-radius:11px;background:#f7faf9;overflow:hidden}
.calendar-outcome-panel>summary{cursor:pointer;background:var(--ink);color:#fff;padding:13px 16px;font-weight:800;list-style-position:inside}
.calendar-outcome-panel>p{margin:12px 16px;color:var(--muted);font-size:12px}
.calendar-outcome-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 16px 14px}
.calendar-outcome-choices>label{display:flex;gap:9px;align-items:flex-start;margin:0;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}
.calendar-outcome-choices input{width:auto;margin:4px 0 0;flex:none}
.calendar-outcome-choices span,.calendar-outcome-choices b,.calendar-outcome-choices small{display:block}
.calendar-outcome-choices small{margin-top:3px;color:var(--muted);font-weight:500;line-height:1.35}
.calendar-outcome-fields{margin:0 16px 14px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}
.calendar-outcome-fields[hidden]{display:none}
.calendar-outcome-fields h4{margin:0 0 8px;color:var(--ink)}
.calendar-outcome-fields .service-picker{max-height:310px;margin-bottom:0}
.calendar-outcome-save{display:flex;justify-content:flex-end;padding:0 16px 16px}
.calendar-dialog .dialog-actions{position:sticky;bottom:-24px;z-index:8;margin:18px -24px -24px;padding:14px 24px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -7px 18px #173c3c0d}
.agenda-outcome-notice{border-left:5px solid var(--gold)}
@media(max-width:900px){.lead-birth-pair,.calendar-birth-pair,.calendar-outcome-choices{grid-template-columns:1fr}.lead-age-card,.calendar-age-card{min-height:58px}.appointment-panel .appointment-fields{grid-template-columns:1fr}.appointment-panel .appointment-when{grid-column:auto}.calendar-dialog .dialog-actions{position:static;margin:18px 0 0;padding:14px 0 0;box-shadow:none}.calendar-dialog .dialog-actions button{width:100%;flex:none}}

/* v1.4.2 — consistência entre produto, profissionais e pagamento */
.payment-progress{background:#fff0c9;color:#765b16;border:1px solid #ecd99d}
.payment-cancelled{background:#ece7e7;color:#6c4848;border:1px solid #d5c4c4}
.cancellation-panel{margin-top:18px;border-color:#d7b8b5}
.cancellation-panel>summary{cursor:pointer;color:#9a322c;font-weight:800}
.cancellation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.cancellation-grid label{margin:0}.cancellation-wide{grid-column:1/-1}
.cancellation-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.cancellation-totals span{padding:12px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}
.cancellation-totals b{display:block;margin-top:4px;font-size:18px}
.danger{background:#a33b34}.danger:hover{background:#862e29}
@media(max-width:800px){.cancellation-grid,.cancellation-totals{grid-template-columns:1fr}.cancellation-wide{grid-column:auto}}

/* v1.4.26 — seleção visual dos horários no pré-agendamento */
.appointment-slot-picker{grid-column:1/-1;border:1px solid #cfd8d2;border-radius:12px;padding:15px;background:#f8faf9}
.appointment-slot-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}
.appointment-slot-head label{min-width:240px;margin:0}
.appointment-slot-head label>b{display:block;margin-bottom:6px;color:var(--ink);font-size:13px}
.appointment-slot-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:11px;font-weight:750}
.appointment-slot-legend span{display:flex;align-items:center;gap:5px}
.appointment-slot-legend i{width:12px;height:12px;border-radius:3px}
.appointment-slot-legend .is-available{background:#dcecdf;border:1px solid #76ad89}
.appointment-slot-legend .is-occupied{background:#f7dfdc;border:1px solid #c77770}
.appointment-slot-legend .is-lunch{background:repeating-linear-gradient(135deg,#6c7472,#6c7472 4px,#7b8381 4px,#7b8381 8px)}
.appointment-slot-status{margin:0 0 11px;color:var(--muted);font-size:12px}
.appointment-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.appointment-slot{min-height:68px;padding:10px 12px;border:1px solid transparent;border-radius:9px;text-align:left;color:var(--ink);box-shadow:none}
.appointment-slot b,.appointment-slot span,.appointment-slot small{display:block}
.appointment-slot b{font-size:13px}.appointment-slot span{margin-top:3px;font-size:11px;font-weight:750}.appointment-slot small{margin-top:2px;font-size:9px;line-height:1.25}
.appointment-slot-available{background:#dcecdf;border-color:#92bea1;color:#285d3b}
.appointment-slot-available:hover,.appointment-slot-selected{background:#bfe2ca;border-color:#397b50;box-shadow:0 0 0 3px #397b5022;transform:translateY(-1px)}
.appointment-slot-occupied,.appointment-slot-occupied:disabled{background:#f7dfdc;border-color:#dfaaa5;color:#8a3932;opacity:1;cursor:not-allowed;pointer-events:none}
.appointment-slot-lunch{grid-column:1/-1;background:repeating-linear-gradient(135deg,#6c7472,#6c7472 10px,#7b8381 10px,#7b8381 20px);border-color:#59615f;color:#fff;text-align:center}
.appointment-slot-lunch span,.appointment-slot-lunch small{color:#eef1f0}
@media(max-width:950px){.appointment-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.appointment-slot-head{align-items:stretch;flex-direction:column}.appointment-slot-head label{min-width:0}.appointment-slot-grid{grid-template-columns:1fr}}
.cancellation-item-review{margin:12px 0 18px}.cancellation-item-review td{vertical-align:top;white-space:normal}.cancellation-item-review select{min-width:300px}.cancellation-item-review input{min-width:180px;margin:0}.cancellation-item-review small{display:block;color:var(--muted);margin-top:4px}.cancellation-paid-source,.cancellation-refund-breakdown,.cancellation-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#faf8f3;margin:16px 0}.cancellation-paid-source b,.cancellation-refund-breakdown b{grid-column:1/-1;color:var(--ink)}.cancellation-preview span{display:flex;justify-content:space-between;gap:12px}.cancellation-preview span:nth-child(4){font-weight:800;color:var(--ink)}@media(max-width:900px){.cancellation-paid-source,.cancellation-refund-breakdown,.cancellation-preview{grid-template-columns:1fr}.cancellation-item-review select{min-width:240px}}

/* v1.4.3 — fluxo operacional orientado e responsáveis consistentes */
.operational-flow{margin-bottom:20px;border-color:#c9d8d2;background:linear-gradient(135deg,#fff 0%,#f4f8f6 100%)}
.operational-flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.operational-flow-head small{display:block;margin-bottom:5px;color:var(--olive);font-size:11px;font-weight:850;letter-spacing:.12em}
.operational-flow-head h2{margin:0 0 5px;font-size:20px}.operational-flow-head p{margin:0;color:var(--muted)}
.operational-flow-actions{display:flex;flex:0 0 auto;gap:9px}.operational-flow-actions .btn{white-space:nowrap}.flow-next{background:#315f50}
.operational-flow ol{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:7px;margin:18px 0 0;padding:0;list-style:none}
.operational-flow li{min-width:0;padding:10px 5px 9px;border:1px solid var(--line);border-radius:9px;background:#f2f2f0;text-align:center;color:#777}
.operational-flow li span{display:grid;width:25px;height:25px;margin:0 auto 6px;place-items:center;border-radius:50%;background:#ddd;font-size:10px;font-weight:900}
.operational-flow li b{display:block;overflow:hidden;font-size:10px;line-height:1.2;text-overflow:ellipsis}
.operational-flow li.flow-done{border-color:#b8d7c4;background:#e8f4ec;color:#21603b}.operational-flow li.flow-done span{background:#2f7d4b;color:#fff}
.operational-flow li.flow-current{border:2px solid #3975a8;background:#eaf3fb;color:#245a87;box-shadow:0 4px 12px rgba(36,90,135,.12)}.operational-flow li.flow-current span{background:#3975a8;color:#fff}
.operational-flow li.flow-reached{border-color:#c9aa68;background:#fbf6e9;color:#735e32}.operational-flow li.flow-reached span{background:#b89a5e;color:#fff}
.operational-flow li.flow-clickable{position:relative;padding:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.operational-flow li.flow-clickable>a{display:block;width:100%;height:100%;padding:10px 5px 9px;border-radius:8px;color:inherit;text-decoration:none}.operational-flow li.flow-clickable:not(:has(>a)){padding:10px 5px 9px}.operational-flow li.flow-clickable:hover,.operational-flow li.flow-clickable:focus,.operational-flow li.flow-clickable:focus-within{transform:translateY(-2px);border-color:#73aa87;box-shadow:0 5px 13px rgba(33,96,59,.16);outline:none}.operational-flow li.flow-clickable>a:focus-visible{outline:3px solid #3975a8;outline-offset:2px}.operational-flow li.flow-future{cursor:not-allowed;pointer-events:none}.operational-flow li.flow-future::after{content:"";display:block}
.journey-flow-checkpoint{border-color:#b9d1c8;background:linear-gradient(135deg,#fff,#f3f8f6)}
.journey-flow-checkpoint>small{display:block;margin-bottom:6px;color:var(--olive);font-size:11px;font-weight:850;letter-spacing:.12em}
.journey-flow-checkpoint h2{margin:0 0 7px}.journey-flow-checkpoint>p{margin:0 0 18px;color:var(--muted)}
.log-detail-button{padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-weight:750;text-align:left;text-decoration:underline;cursor:pointer}
.log-detail-button:hover{color:var(--olive)}
@media(max-width:1050px){.operational-flow ol{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){.operational-flow-head{flex-direction:column}.operational-flow-actions{width:100%;flex-direction:column}.operational-flow-actions .btn{text-align:center}.operational-flow ol{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.4.45 — ações finais do compromisso em três posições */
.calendar-dialog .dialog-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.calendar-dialog .dialog-actions #cancelCalendarEvent{justify-self:start}
.calendar-dialog .dialog-actions .dialog-spacer{display:none}
.calendar-dialog .dialog-actions [name="save_destination"][value="agenda"]{grid-column:2;justify-self:center}
.calendar-dialog .dialog-actions #calendarPatientButton{grid-column:3;justify-self:end}
@media(max-width:700px){.calendar-dialog .dialog-actions{grid-template-columns:1fr}.calendar-dialog .dialog-actions #cancelCalendarEvent,.calendar-dialog .dialog-actions [name="save_destination"][value="agenda"],.calendar-dialog .dialog-actions #calendarPatientButton{grid-column:1;justify-self:stretch;width:100%}}

/* v1.4.61 — editores amplos e cancelamento total consolidado */
.finance-program-table table{min-width:1850px}
.finance-program-table th:nth-child(1){width:7%}
.finance-program-table th:nth-child(2){width:8%}
.finance-program-table th:nth-child(3){width:24%}
.finance-program-table th:nth-child(4){width:22%}
.finance-program-table th:nth-child(5){width:14%}
.finance-program-table th:nth-child(6){width:9%}
.finance-program-table th:nth-child(7){width:16%}
.finance-inline-edit form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;min-width:320px}
.finance-inline-edit form>label{grid-column:1}
.finance-inline-edit form>button{grid-column:2;grid-row:1;width:auto;min-width:90px}
.finance-inline-edit form>small,.finance-inline-edit form>.finance-inline-message{grid-column:1/-1}
.finance-inline-edit form.finance-due>input{grid-column:1;min-width:220px}
.finance-inline-edit form.finance-due>button{grid-column:2;grid-row:1}
.finance-net-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.finance-refund-metric{border:1px solid #c96c61!important;background:#f7dfdc!important}
.finance-refund-metric small{color:#8a3932!important}
.finance-refund-metric strong,.finance-refund-metric b{color:#8a2f28!important}
.patient-total-cancellation{margin:18px 0;border-color:#d8aaa4}
.patient-total-cancellation>summary{cursor:pointer;color:#9a322c;font-size:14px;font-weight:850}
.patient-total-cancellation h3{margin:24px 0 9px;color:var(--ink)}
.patient-total-cancellation-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.patient-total-cancellation-head span:first-child{font-size:10px;font-weight:850;letter-spacing:1.2px;color:#9a4138}
.patient-total-cancellation-head h2{margin:5px 0}
.patient-total-cancellation-head p{margin:0;color:var(--muted)}
.patient-cancellation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.patient-cancellation-metrics>div{padding:13px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}
.patient-cancellation-metrics small,.patient-cancellation-metrics b{display:block}
.patient-cancellation-metrics small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.4px}
.patient-cancellation-metrics b{margin-top:5px}
.patient-cancellation-programs table,.patient-cancellation-items table,.patient-cancellation-future table,.patient-cancellation-adjustments table{min-width:1100px}
.patient-cancellation-items select{min-width:340px}
.patient-cancellation-items input{min-width:180px}
.patient-cancellation-future label{margin:0;min-width:210px}
.patient-cancellation-future input{margin-top:5px}
.patient-cancellation-future output{font-weight:800;color:#9a4138}
.patient-cancellation-penalty{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(160px,.5fr) minmax(180px,.5fr) minmax(280px,1.2fr);gap:12px;align-items:end;margin:18px 0;padding:16px;border:1px solid #dbc79b;border-radius:10px;background:#fbf7ed}
.patient-cancellation-penalty label{margin:0}
.patient-cancellation-penalty>div{padding:11px 13px;border-radius:8px;background:#fff}
.patient-cancellation-penalty small,.patient-cancellation-penalty b{display:block}
.patient-cancellation-penalty small{color:var(--muted)}
.patient-cancellation-penalty b{margin-top:5px;font-size:17px}
.patient-cancellation-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;padding:15px;border:2px solid #ddc5c0;border-radius:11px;background:#fff8f6}
.patient-cancellation-preview.is-balanced{border-color:#8dbba6;background:#f4fbf6}
.patient-cancellation-preview>div{padding:9px;border-radius:7px;background:#fff}
.patient-cancellation-preview small,.patient-cancellation-preview b{display:block}
.patient-cancellation-preview small{color:var(--muted);font-size:10px;text-transform:uppercase}
.patient-cancellation-preview b{margin-top:4px}
.patient-cancellation-reason{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.patient-finance-total-cancellation{border-color:#d8aaa4;background:#fff7f5}
#cancelamento-total-paciente{scroll-margin-top:22px}
@media(max-width:1050px){.patient-cancellation-penalty{grid-template-columns:1fr 1fr}.patient-cancellation-preview,.patient-cancellation-metrics,.finance-net-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.finance-inline-edit form,.finance-inline-edit form.finance-due{grid-template-columns:1fr;min-width:260px}.finance-inline-edit form>label,.finance-inline-edit form>button,.finance-inline-edit form>small,.finance-inline-edit form>.finance-inline-message,.finance-inline-edit form.finance-due>input,.finance-inline-edit form.finance-due>button{grid-column:1;grid-row:auto;width:100%}.patient-cancellation-penalty,.patient-cancellation-preview,.patient-cancellation-metrics,.finance-net-metrics{grid-template-columns:1fr}.patient-total-cancellation-head{flex-direction:column}}

/* v1.4.62 — fluxo único de cancelamento e parcelas sem rolagem horizontal */
.finance-program-table{overflow-x:hidden}
.finance-program-table table{width:100%;min-width:0;table-layout:fixed}
.finance-program-table th,.finance-program-table td{white-space:normal;vertical-align:top}
.finance-program-table th:nth-child(1){width:8%}
.finance-program-table th:nth-child(2){width:9%}
.finance-program-table th:nth-child(3){width:20%}
.finance-program-table th:nth-child(4){width:20%}
.finance-program-table th:nth-child(5){width:13%}
.finance-program-table th:nth-child(6){width:10%}
.finance-program-table th:nth-child(7){width:20%}
.finance-program-table .finance-inline-edit form{min-width:0;width:100%;grid-template-columns:minmax(0,1fr)}
.finance-program-table .finance-inline-edit form>label,
.finance-program-table .finance-inline-edit form>input,
.finance-program-table .finance-inline-edit form>button,
.finance-program-table .finance-inline-edit form>small,
.finance-program-table .finance-inline-edit form>.finance-inline-message{grid-column:1;grid-row:auto;width:100%;min-width:0}
.finance-program-table .finance-inline-edit input{min-width:0}
.required-mark{color:var(--danger);font-weight:900}
.automatic-service{display:block;padding:9px 11px;border:1px solid #b9d6c7;border-radius:8px;background:#f1f8f4}
.automatic-service b,.automatic-service small{display:block}
.automatic-service small{margin-top:3px;color:var(--muted)}
.automatic-service.is-unmatched{border-color:#dfaaa5;background:#fff3f1;color:#8a3932}
.patient-cancellation-items{overflow-x:hidden}
.patient-cancellation-items table{width:100%;min-width:0;table-layout:fixed}
.patient-cancellation-items th,.patient-cancellation-items td{white-space:normal;vertical-align:top}
.patient-cancellation-items th:nth-child(1){width:28%}
.patient-cancellation-items th:nth-child(2){width:32%}
.patient-cancellation-items th:nth-child(3){width:17%}
.patient-cancellation-items th:nth-child(4){width:23%}
.patient-cancellation-items input{width:100%;min-width:0}
.patient-cancellation-future{display:grid;gap:11px;margin:12px 0 18px}
.patient-cancellation-installment{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.patient-cancellation-installment-main{display:grid;grid-template-columns:minmax(250px,1.5fr) minmax(120px,.55fr) minmax(130px,.65fr) minmax(150px,.7fr) minmax(140px,.65fr);gap:14px;align-items:center;padding:14px 16px}
.patient-cancellation-installment-main>div{min-width:0}
.patient-cancellation-installment-main small,
.patient-cancellation-installment-main b,
.patient-cancellation-installment-main span{display:block}
.patient-cancellation-installment-main small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.35px}
.patient-cancellation-installment-main b{margin-top:3px}
.patient-cancellation-installment-main output{display:block;margin-top:3px;color:#9a4138;font-weight:850}
.patient-cancellation-installment-edit{border-top:1px solid var(--line);background:#faf8f3}
.patient-cancellation-installment-edit>summary{padding:11px 16px;color:var(--ink);font-weight:800;cursor:pointer}
.patient-cancellation-installment-edit>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 16px 8px}
.patient-cancellation-installment-edit label{margin:0}
.patient-cancellation-installment-edit>small{display:block;padding:0 16px 14px;color:var(--muted)}
@media(max-width:1050px){
 .patient-cancellation-installment-main{grid-template-columns:repeat(2,minmax(0,1fr))}
 .patient-cancellation-installment-main>div:first-child{grid-column:1/-1}
}
@media(max-width:760px){
 .finance-program-table{overflow-x:auto}
 .finance-program-table table{min-width:900px}
 .patient-cancellation-items{overflow-x:auto}
 .patient-cancellation-items table{min-width:780px}
 .patient-cancellation-installment-main,.patient-cancellation-installment-edit>div{grid-template-columns:1fr}
 .patient-cancellation-installment-main>div:first-child{grid-column:auto}
}

/* v1.4.63 — cancelamento sem submissão acidental e sem grade duplicada */
.finance-cancellation-active #parcelas{display:none}
.patient-cancellation-installment-edit>div{
 grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;
 align-items:end
}
.patient-cancellation-installment-edit>div>button{
 width:auto;
 min-width:138px;
 margin:0 0 1px
}
.patient-cancellation-installment-message{
 display:block;
 margin:0 16px 8px;
 color:#397052;
 font-size:12px;
 font-weight:750
}
.patient-cancellation-installment-message.is-pending{color:#9a5d1f}
.patient-cancellation-installment-message.is-error{color:var(--danger)}
.patient-cancellation-installment.is-dirty{
 border-color:#d9b36e;
 box-shadow:0 0 0 2px rgba(217,179,110,.14)
}
.patient-cancellation-penalty em{
 display:block;
 margin-top:4px;
 color:var(--muted);
 font-size:11px;
 font-style:normal;
 line-height:1.3
}
@media(max-width:900px){
 .patient-cancellation-installment-edit>div{grid-template-columns:1fr 1fr}
 .patient-cancellation-installment-edit>div>button{grid-column:1/-1;width:100%}
}
@media(max-width:760px){
 .patient-cancellation-installment-edit>div{grid-template-columns:1fr}
 .patient-cancellation-installment-edit>div>button{grid-column:auto}
}

/* v1.4.37 — largura intermediária única para leitura confortável */
main,main.wide,main.flow-page{max-width:1500px;width:100%}
main.flow-page .operational-flow{width:100%}
main.flow-page .journey-form{max-width:100%;width:100%}
.finance-due-readonly{display:inline-flex;align-items:center;min-width:156px;min-height:42px;padding:10px 12px;border:1px solid #cbc5b9;border-radius:8px;background:#f2f0eb;color:var(--ink);font-weight:700;white-space:nowrap}
.journey-service-reference select{min-width:0}.journey-table-head>div>p{margin:4px 0 0;color:var(--muted);font-size:13px}.journey-table-head [data-order-message]{display:block;min-height:18px;margin-top:5px;color:#397052;font-weight:750}.journey-drag-handle{display:inline-block;margin-right:9px;color:#8b806b;font-size:20px;line-height:1;cursor:grab;vertical-align:middle}.journey-table [data-step-row]{transition:opacity .15s ease,background .15s ease}.journey-table [data-step-row].is-dragging{opacity:.45;background:#f0eadc}.journey-row-actions{display:flex;align-items:center;gap:6px}.journey-row-actions .compact{min-width:34px;padding:7px 9px}.journey-row-actions a{margin-left:4px}

/* v1.4.27 — eventos internos sem cadastro e repetição condicional */
.calendar-random-toggle{display:flex;align-items:flex-start;gap:11px;margin:14px 0;padding:13px 15px;border:1px solid #bfd5cb;border-radius:11px;background:#edf6f1;cursor:pointer}
.calendar-random-toggle[hidden]{display:none!important}
.calendar-random-toggle input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--ink)}
.calendar-random-toggle span,.calendar-random-toggle b,.calendar-random-toggle small{display:block}
.calendar-random-toggle b{color:var(--ink)}
.calendar-random-toggle small{margin-top:2px;color:var(--muted);font-weight:500;line-height:1.35}
.calendar-random-toggle:has(input:checked){border-color:#6e9f8a;background:#dfeee7;box-shadow:inset 4px 0 0 #39705c}
.calendar-dialog select:disabled{background:#efeee9;color:#59635f;opacity:1;cursor:not-allowed}

/* v1.4.28 — remoção centralizada de recorrência */
.calendar-remove-choice{width:min(92vw,520px)}
.calendar-remove-choice-actions{display:grid;gap:10px;margin-top:22px}
.calendar-remove-choice-actions button{width:100%;min-height:48px}
.calendar-remove-series-choice{background:#7f2822}

/* v1.4.34 — quadro limpo com expansão independente por etapa */
.kanban-head-actions{display:flex;align-items:center;gap:5px;flex:none}
.kanban-head-actions>span{display:inline-grid;place-items:center;min-width:28px}
.kanban-expand{display:inline-grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid #cbd4cf;border-radius:50%;background:#fff;color:var(--ink);font-size:19px;font-weight:800;line-height:1;box-shadow:0 1px 3px #173c3c1a}
.kanban-expand:hover,.kanban-expand:focus-visible{background:var(--ink);color:#fff;outline:none}
.kanban-card-extra{display:none}
.kanban-column.is-expanded .kanban-card-extra{display:block}

/* v1.4.38 — quadro Convertido automático e hierarquia dos verdes */
.kanban{grid-template-columns:repeat(6,minmax(0,1fr))}
.kanban-column[data-stage="agendado"]{background:#eaf7ee;border-color:#aed9bd}
.kanban-card[data-stage="agendado"]{background:#f8fcf9;border-left-color:#65a97b}
.kanban-column[data-stage="agendado"] .kanban-head{color:#376f4b}
.kanban-column[data-stage="convertido"]{background:#cfead8;border-color:#4f9a68}
.kanban-card[data-stage="convertido"]{background:#e7f5eb;border-left:5px solid #16723a;cursor:pointer}
.kanban-column[data-stage="convertido"] .kanban-head{color:#155c31}
.kanban-column[data-automatic-stage="true"].over{box-shadow:none}

/* v1.4.42 — agendamento contextual em caixa suspensa sobre a Jornada */
body.journey-scheduler-open{overflow:hidden}
.journey-schedule-popover{position:fixed;inset:0;z-index:1400;display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,4vh,42px) 18px;background:#102f2f70;overflow-y:auto;overscroll-behavior:contain}
.journey-schedule-panel{width:min(1080px,100%);max-height:calc(100dvh - clamp(32px,8vh,84px));margin:0;border-color:#9fc3b5;box-shadow:0 18px 55px #102f2f42;overflow-y:auto}
.journey-schedule-panel:focus{outline:0}
.journey-schedule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.journey-schedule-head small{display:block;color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.11em}
.journey-schedule-head h2{margin:4px 0 3px}.journey-schedule-head p{margin:0;color:var(--muted)}
.journey-schedule-head .compact{display:grid;width:38px;height:38px;padding:0;place-items:center;font-size:22px;line-height:1}
.journey-schedule-form{margin-top:15px}
.journey-schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.journey-schedule-fields label{margin:0}.journey-schedule-fields input[readonly]{background:#f1efe8;color:var(--ink);font-weight:750}
.journey-schedule-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.journey-schedule-actions .btn,.journey-schedule-actions button{min-width:180px;text-align:center}
.journey-schedule-panel .appointment-slot-picker{padding:16px}
@media(max-width:700px){.journey-schedule-popover{padding:0;align-items:stretch}.journey-schedule-panel{width:100%;max-height:100dvh;min-height:100dvh;border:0;border-radius:0}.journey-schedule-fields{grid-template-columns:1fr}.journey-schedule-actions{flex-direction:column-reverse}.journey-schedule-actions .btn,.journey-schedule-actions button{width:100%}}
/* v1.4.44 — pesquisa unificada de Lead/Paciente no compromisso */
.calendar-person-search{position:relative;margin:10px 0 16px;padding:14px 16px;border:1px solid #bad2cc;border-radius:12px;background:#f2f8f6}
.calendar-person-search>label{margin:0}
.calendar-person-search input[type=search]{padding-left:42px;background:#fff}
.calendar-person-search>label:before{content:"⌕";position:absolute;left:30px;top:47px;z-index:2;color:#315c59;font-size:24px;line-height:1}
.calendar-person-search>small{display:block;margin-top:7px;color:var(--muted)}
.calendar-person-search>small.is-selected{color:#17675d;font-weight:750}
.calendar-person-results{position:absolute;z-index:40;left:16px;right:16px;top:86px;max-height:280px;overflow:auto;border:1px solid #9ebbb4;border-radius:10px;background:#fff;box-shadow:0 14px 34px #173c3529}
.calendar-person-results button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border:0;border-bottom:1px solid #e3ebe8;border-radius:0;background:#fff;color:var(--ink);text-align:left}
.calendar-person-results button:hover,.calendar-person-results button:focus{background:#e8f3f0}
.calendar-person-results button span{color:var(--muted);font-size:12px}
.calendar-person-results p{margin:0;padding:14px;color:var(--muted)}
@media(max-width:700px){.calendar-person-results button{align-items:flex-start;flex-direction:column;gap:3px}.calendar-person-search>label:before{top:48px}}

/* v1.4.65 — saídas em vermelho, liberação integral da Agenda e cobrança de bio no cancelamento */
.journey-status-missed{background:#eadff5;color:#6d3c91}

/* v1.4.66 — situações automáticas, cancelamento e reativação autorizada */
.status-cancelled{background:#f7dfdc!important;color:#a23832!important;border:1px solid #e6b6b1}
.patient-filters option.filter-status-active{color:#28623b}.patient-filters option.filter-status-inactive{color:#626866}.patient-filters option.filter-status-cancelled{color:#a23832}
.patient-reactivation summary{cursor:pointer;color:var(--ink);font-weight:800}
.patient-reactivation-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.65fr) auto;gap:14px;align-items:end}
.patient-reactivation-grid label{margin:0}.patient-reactivation-grid button{margin-bottom:1px}
.days-input{display:flex;align-items:center;gap:9px}.days-input input{margin:5px 0 0}.days-input span{white-space:nowrap;color:var(--muted)}
@media(max-width:800px){.patient-reactivation-grid{grid-template-columns:1fr}.patient-reactivation-grid button{width:100%}}

/* v1.4.67 — filtro branco com somente a situação em pílula */
.status-filter-control{position:relative;margin-top:5px}
.status-filter-control select{margin-top:0;background:#fff!important;color:transparent!important;border-color:#cbc5b9!important;font-weight:400!important}
.patient-filters .status-filter-control option{color:#283634}
.status-filter-pill{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:inline-block;border-radius:99px;padding:4px 10px;font-size:13px;font-weight:800;line-height:1.25;pointer-events:none;white-space:nowrap}
.status-filter-all{padding-left:2px;background:transparent;color:#283634;font-weight:600}
.status-filter-active{background:#dcecdf;color:#28623b}
.status-filter-inactive{background:#ececec;color:#626866}
.status-filter-cancelled{background:#f7dfdc;color:#a23832;border:1px solid #e6b6b1}

/* v1.4.68 — filtro de Leads, responsáveis múltiplos e Migração de Programa */
.lead-status-filter .status-filter-pill{background:transparent;color:#283634;border:0;padding-left:2px;font-weight:600}
.lead-status-filter option{color:#283634}
.lead-status-filter .status-filter-perdido{background:#f7dfdc;color:#a23832;border:1px solid #e6b6b1;padding-left:10px;font-weight:800}
.pill[data-stage="perdido"]{background:#f7dfdc;color:#a23832;border-color:#e6b6b1}
.patient-responsibles{font:800 15px/1.35 system-ui,sans-serif!important}
.journey-status-migrated{background:#e5e1f1;color:#5a477b;border:1px solid #cfc5e2}
.payment-migrated{background:#e5e1f1;color:#5a477b;border:1px solid #cfc5e2}
.migration-button{background:#735a92}
.journey-manager-button{background:var(--gold);color:#fff}
.calendar-month-event.is-past,
.calendar-event-search-row.is-past{opacity:.42}
.calendar-month-event.is-past:hover,
.calendar-month-event.is-past:focus-visible,
.calendar-event-search-row.is-past:hover,
.calendar-event-search-row.is-past:focus-visible{opacity:.62}
.calendar-past-shade{position:absolute;z-index:5;top:0;right:0;left:0;height:0;overflow:hidden;background:rgba(238,239,236,.62);pointer-events:none;backdrop-filter:grayscale(.48) saturate(.42);transition:height .2s linear}
.calendar-now-line{position:absolute;z-index:7;right:0;left:0;height:2px;background:#b8443e;box-shadow:0 1px 2px #7f272440;pointer-events:none}
.calendar-now-line::before{position:absolute;top:50%;left:-5px;width:10px;height:10px;border-radius:50%;background:#b8443e;box-shadow:0 0 0 2px #fff;content:"";transform:translateY(-50%)}
.calendar-week-strip-day.is-past-date{background:#efefeb!important}
.calendar-week-strip-day.is-past-date strong,
.calendar-week-strip-day.is-past-date small{opacity:.52!important}
.journey-migrated-notice,.journey-migration-notice{border-left:5px solid #735a92;background:#f7f3fb}
.journey-migrated-notice{margin:2px 0 16px;padding:10px 13px;border-radius:8px;color:#5a477b;font-weight:750}
.journey-migration-notice span{color:#735a92;font-size:11px;font-weight:850;letter-spacing:.7px}.journey-migration-notice h3{margin:4px 0}.journey-migration-notice p{margin:4px 0 8px}.journey-migration-notice a{color:#5a477b;font-weight:800}
.migration-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.migration-summary small,.migration-summary b{display:block}.migration-summary small{color:var(--muted)}.migration-summary b{margin-top:5px;color:var(--ink);font-size:17px}
.migration-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.migration-form-grid label{margin:0}.migration-wide{grid-column:1/-1}
.migration-distribution{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:1px solid var(--line);border-radius:10px;padding:15px}.migration-distribution legend{padding:0 7px;font-weight:850;color:var(--ink)}.migration-distribution small{grid-column:1/-1;color:var(--muted)}
.migration-step-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.migration-step-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#faf9f6}.migration-step-option input{width:auto;margin:4px 0 0}.migration-step-option span,.migration-step-option small{display:block}.migration-step-option small{margin-top:3px;color:var(--muted);font-weight:500}
.migration-calculation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.migration-calculation>div{padding:15px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.migration-calculation small,.migration-calculation b{display:block}.migration-calculation small{color:var(--muted)}.migration-calculation b{margin-top:6px;font-size:18px;color:var(--ink)}
.migration-target-preview,.migration-financial-transition{margin-top:6px;padding:17px;border:1px solid #c9dcd5;border-radius:12px;background:linear-gradient(135deg,#fbfdfc,#f1f8f5)}
.migration-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:13px}.migration-preview-head small{display:block;color:#2d705c;font-size:11px;font-weight:850;letter-spacing:.08em}.migration-preview-head h2{margin:4px 0 0;font-size:19px}.migration-preview-head>strong{padding:7px 11px;border-radius:999px;background:#dceee7;color:#225d4b;font-size:12px;white-space:nowrap}
.migration-target-preview ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.migration-target-preview li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border:1px solid #d8e5e0;border-radius:9px;background:#fff}.migration-target-preview li span,.migration-target-preview li small{display:block}.migration-target-preview li small{margin-top:3px;color:var(--muted)}.migration-target-preview li>strong{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:11px}.migration-step-reused{background:#dcefe7;color:#1d604b}.migration-step-new{background:#f1eee6;color:#6b5b36}
.migration-financial-transition{margin-top:15px}.migration-transition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.migration-transition-grid article{padding:13px;border:1px solid #d8e5e0;border-radius:9px;background:#fff}.migration-transition-grid small,.migration-transition-grid b{display:block}.migration-transition-grid small{color:var(--muted)}.migration-transition-grid b{margin-top:6px;line-height:1.45}
.migration-payment-preview{margin-top:15px;padding:17px;border:1px solid #d8c79e;border-radius:12px;background:linear-gradient(135deg,#fffdf7,#f8f1df)}.migration-payment-preview[hidden]{display:none}.migration-payment-preview .migration-preview-head small{color:#806522}.migration-payment-preview .migration-preview-head>strong{background:#eee1bd;color:#654f18}.migration-payment-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.migration-payment-preview-grid article{padding:13px;border:1px solid #e3d7b8;border-radius:9px;background:#fff}.migration-payment-preview-grid small,.migration-payment-preview-grid b{display:block}.migration-payment-preview-grid small{color:var(--muted)}.migration-payment-preview-grid b{margin-top:6px;line-height:1.45}
@media(max-width:800px){.migration-summary,.migration-form-grid,.migration-step-list,.migration-calculation,.migration-distribution,.migration-transition-grid,.migration-payment-preview-grid{grid-template-columns:1fr}.migration-wide,.migration-distribution small{grid-column:auto}.migration-preview-head,.migration-target-preview li{display:grid}.migration-preview-head>strong,.migration-target-preview li>strong{white-space:normal;justify-self:start}}

/* v1.4.69 — etapas aproveitadas são histórico bloqueado */
.journey-table tr.is-migrated-step{background:#f0f1f1;color:#686e6c}
.journey-table tr.is-migrated-step:hover{background:#eceeee}
.journey-table tr.is-migrated-step b{color:#59605e}
.journey-table tr.is-migrated-step td{border-color:#dfe2e1}
.journey-migrated-step-pill{display:inline-block;border-radius:99px;padding:6px 10px;background:#dfe2e1;color:#59605e;font-size:11px;font-weight:850;white-space:nowrap}
.journey-migrated-step-lock{display:inline-flex;align-items:center;gap:5px;color:#686e6c;font-size:12px;font-weight:800;white-space:nowrap}

/* v1.4.72 — cartões mais quadrados, separados e estáveis como no Google Agenda */
.calendar-event{left:6px;right:6px;border-radius:5px;box-shadow:0 1px 3px #102c2c24;border-left-width:3px}
.calendar-event.is-dragging{will-change:transform,height}

/* v1.4.73 — clique abre cadastro; edição permanece como ação independente */
.calendar-event.is-linked-record{padding-right:27px!important}
.calendar-event-edit{position:absolute;z-index:8;top:2px;right:2px;width:21px;height:21px;padding:0;border:1px solid #ffffffaa;border-radius:3px;background:#102c2c88;color:#fff;font:700 13px/19px system-ui;text-align:center;cursor:pointer}
.calendar-event-edit:hover,.calendar-event-edit:focus-visible{background:#fff;color:var(--ink);outline:none}
.calendar-outcome-feedback{display:flex;flex-direction:column;gap:4px;margin:12px 16px;padding:12px 14px;border-radius:10px;border:1px solid #c9d7d2;background:#f4faf8;color:#173f3b}
.calendar-outcome-feedback.is-blocked{border-color:#d7c9a6;background:#fff9eb;color:#5c4717}
.calendar-outcome-feedback b{font-size:14px}.calendar-outcome-feedback span{font-size:13px;line-height:1.45}

/* v1.4.78 — categoria operacional de Serviços */
.service-category-notice{display:flex;flex-direction:column;gap:4px;border-color:#d8c79e;background:#fff9eb}.service-category-notice span{color:#685a3e}
.services-page .service-table{overflow-x:auto}.services-page .service-table table{min-width:1480px;table-layout:fixed}
.services-page .service-table th:nth-child(1){width:14%}.services-page .service-table th:nth-child(2){width:15%}.services-page .service-table th:nth-child(3){width:19%}.services-page .service-table th:nth-child(4){width:11%}.services-page .service-table th:nth-child(5){width:8%}.services-page .service-table th:nth-child(6){width:17%}.services-page .service-table th:nth-child(7){width:8%}.services-page .service-table th:nth-child(8){width:7%}.services-page .service-table th:nth-child(9){width:8%}
.service-row select:disabled{background:#f7f5f0;border-color:transparent;color:var(--ink);opacity:1;cursor:default}.service-row.is-editing select{background:#fff;border-color:#b89a5e}
.services-page .service-admin-grid{grid-template-columns:minmax(170px,1fr) minmax(220px,1.2fr) minmax(300px,1.8fr) minmax(160px,.8fr) minmax(150px,.7fr) auto}
.service-operational-filter{margin:12px 0 8px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#faf8f3}.service-operational-filter p{margin:0 0 9px!important;color:var(--ink)!important;font-weight:800}.service-operational-filter>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-operational-filter button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:11px 13px}.service-operational-filter button small{display:inline-block;border-radius:99px;padding:2px 7px;background:#fff;color:var(--muted);white-space:nowrap}.service-operational-filter button.is-active{background:var(--ink);color:#fff;box-shadow:0 0 0 2px #b89a5e}.service-operational-filter button.is-pending{grid-column:1/-1;background:#eee4cf;color:#604f2c}.service-operational-filter button.is-pending.is-active{background:#735e32;color:#fff}.service-operational-filter>span{display:block;margin-top:8px;color:var(--muted);font-size:12px}.calendar-outcome-fields .service-picker[hidden]{display:none}.calendar-event.is-calendar-focus,.calendar-month-event.is-calendar-focus{z-index:30!important;outline:4px solid #f1c75b!important;box-shadow:0 0 0 7px #173f3b55,0 8px 22px #0004!important;animation:calendarFocusPulse 1s ease-in-out 2}@keyframes calendarFocusPulse{50%{filter:brightness(1.18);transform:scale(1.025)}}
@media(max-width:900px){.services-page .service-admin-grid{grid-template-columns:1fr}.service-operational-filter>div{grid-template-columns:1fr}.service-operational-filter button.is-pending{grid-column:auto}.services-page .service-table table{min-width:0}}

/* v1.4.79 — largura integral de Serviços e categoria Componente interno */
main.services-page{width:100%;max-width:1880px;padding-left:12px;padding-right:12px}
.services-page .service-table{padding:14px;overflow-x:auto}
.services-page .service-table table{width:100%;min-width:1540px}
.services-page .service-table th:nth-child(1){width:13%}
.services-page .service-table th:nth-child(2){width:14%}
.services-page .service-table th:nth-child(3){width:17%}
.services-page .service-table th:nth-child(4){width:10%}
.services-page .service-table th:nth-child(5){width:7%}
.services-page .service-table th:nth-child(6){width:16%}
.services-page .service-table th:nth-child(7){width:8%}
.services-page .service-table th:nth-child(8){width:6%}
.services-page .service-table th:nth-child(9){width:9%}
.services-page .service-edit-form{min-width:118px}
.services-page .service-edit-form button{white-space:nowrap}
.service-row.is-internal-component{background:#f6f1e5}
.service-cancellation-reference{display:none;margin-top:9px}.service-cancellation-reference.is-visible{display:flex;flex-direction:column;gap:4px}.service-cancellation-reference small{font-size:10px;color:var(--muted);white-space:normal}.service-cancellation-reference select{font-size:11px;padding:7px}.new-service .service-cancellation-reference{align-self:end}
@media(max-width:900px){
 main.services-page{padding-left:14px;padding-right:14px}
 .services-page .service-table table{min-width:0}
 .services-page .service-edit-form{min-width:0}
}

/* v1.4.83 — filtros, status explícito e exclusão protegida de Serviços */
.service-catalog-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(230px,1fr) minmax(190px,.8fr) auto;gap:12px;align-items:end}
.service-catalog-filters label{margin:0}
.service-catalog-filters .filter-actions{display:flex;gap:8px;align-items:center}
.service-catalog-filters .filter-actions .btn,.service-catalog-filters .filter-actions button{white-space:nowrap}
.service-delete-form{margin-top:7px}
.service-delete-form button{width:100%;white-space:nowrap}
.service-delete-protected{display:block;margin-top:7px;padding:7px 8px;border-radius:8px;background:#eee9df;color:#786e61;font-size:11px;font-weight:700;line-height:1.2;text-align:center}
.service-row.is-editing .service-delete-form{display:none}
.service-row.is-editing .service-delete-protected{display:none}
@media(max-width:1050px){.service-catalog-filters{grid-template-columns:1fr 1fr}.service-catalog-filters .filter-actions{grid-column:1/-1}}
@media(max-width:650px){.service-catalog-filters{grid-template-columns:1fr}.service-catalog-filters .filter-actions{grid-column:auto;flex-direction:column;align-items:stretch}.service-catalog-filters .filter-actions .btn,.service-catalog-filters .filter-actions button{width:100%;text-align:center}}

/* v1.4.84 — inativação compatível com homônimos legados e exclusão persistente */

/* v1.4.86 — Central Financeira da Jornada e separação operacional/administrativa */
.finance-hub-title{align-items:flex-start}
.finance-hub-status{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.finance-hub-status>div{min-width:0;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.finance-hub-status small,.finance-hub-status b{display:block}
.finance-hub-status small{margin-bottom:6px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.55px}
.finance-hub-status b{color:var(--ink);font-size:15px;line-height:1.35;white-space:normal}
.finance-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.finance-hub-card{display:flex;min-height:285px;margin:0;flex-direction:column;align-items:flex-start}
.finance-hub-card>div:nth-child(2){flex:1}
.finance-hub-card span{color:#735e32;font-size:10px;font-weight:850;letter-spacing:.8px}
.finance-hub-card h2{margin:7px 0 10px;font-size:23px}
.finance-hub-card p{margin:0 0 18px;color:var(--muted);white-space:normal}
.finance-hub-card .btn{width:100%;margin-top:auto;text-align:center}
.finance-hub-icon{display:grid!important;width:38px;height:38px;margin-bottom:15px;border-radius:50%;place-items:center;background:var(--ink);color:#fff!important;font:700 18px Georgia;letter-spacing:0!important}
.finance-hub-admin{border-color:#d9b9b3;background:#fffdfd}
.finance-hub-admin .finance-hub-icon{background:var(--danger)}
.finance-hub-protected{border-style:dashed;background:#f4f2ed}
.finance-hub-protected .finance-hub-icon{background:#777f7c}
.finance-hub-lock,.finance-hub-disabled{display:block;width:100%;margin-top:auto;padding:11px 12px;border-radius:8px;background:#e8e5df;color:#68706d!important;text-align:center;font-size:11px!important;font-weight:800;letter-spacing:0!important}
.finance-hub-permission-note{margin-top:18px}
.finance-hub-permission-note p{margin:5px 0 0;color:var(--muted)}
.finance-operational-table table{min-width:1080px}
.finance-operational-table td{vertical-align:top}
@media(max-width:1100px){.finance-hub-status{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-hub-grid{grid-template-columns:1fr}}
@media(max-width:650px){.finance-hub-status{grid-template-columns:1fr 1fr}.finance-hub-card{min-height:0}}

/* v1.4.168 — navegação financeira, Logs contextuais e acesso protegido */
.context-anchor{display:block;position:relative;top:-90px;visibility:hidden}
.context-breadcrumb{display:flex;gap:8px;margin:0 0 16px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}
.context-breadcrumb a{color:var(--ink);font-weight:750;text-decoration:none}
.context-breadcrumb a:hover{text-decoration:underline}
.context-breadcrumb span{color:#9b958a}
.context-breadcrumb strong{color:#735e32}
.log-record-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.log-record-actions .log-detail-button{padding:5px 9px;border:1px solid #d5cbb9;background:#f3efe7;color:#654f27;font-size:10px}
.access-denied-page{max-width:760px;margin:8vh auto;text-align:center;padding:42px}
.access-denied-icon{display:grid;width:62px;height:62px;margin:0 auto 16px;border-radius:50%;place-items:center;background:#f3e7cf;color:#8a611d;font-size:27px;font-weight:850}
.access-denied-page h1{margin-bottom:8px}
.access-denied-page p{max-width:560px;margin:0 auto 22px;color:var(--muted)}
.access-denied-page .btn{min-width:180px}
@media(max-width:650px){.context-breadcrumb{font-size:11px}.access-denied-page{margin:3vh auto;padding:30px 20px}}

/* v1.4.87 — leitura visual após cancelamento e parcelas ajustadas */
.finance-cancelled-readonly-banner{display:flex;gap:8px;margin:0 0 18px;padding:15px 17px;border:1px solid #dfc7a8;border-left:5px solid #a7793d;border-radius:12px;background:#fff9ef;flex-direction:column}
.finance-cancelled-readonly-banner b{color:#5e472a;font-size:15px}
.finance-cancelled-readonly-banner span{color:#77664f;font-size:13px;line-height:1.45}
.journey-cancelled-readonly{background:#fbfaf7}
.journey-cancelled-readonly .journey-finance-view-note{border-color:#dfc7a8;background:#fff9ef;color:#6a5233}
.journey-readonly-footer{display:block;width:100%;padding:12px 14px;border-radius:9px;background:#ece9e2;color:#68706d;text-align:center;font-size:12px;font-weight:800}
.finance-operational-metrics .finance-operational-balance{border-color:#d7bb7d;background:#fffaf0;box-shadow:0 8px 22px rgba(130,96,36,.08)}
.finance-operational-metrics .finance-operational-balance small,.finance-operational-metrics .finance-operational-balance strong{color:#705522}
.finance-next-pending{display:flex;gap:10px;margin:-4px 0 16px;padding:13px 16px;border:1px solid #d7bb7d;border-radius:11px;background:#fffaf0;align-items:center;justify-content:space-between}
.finance-next-pending span{color:#866927;font-size:10px;font-weight:850;letter-spacing:.65px}
.finance-next-pending b{color:#5f481d;font-size:15px}
.finance-competence-state{display:inline-flex;max-width:230px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.3;white-space:normal}
.finance-competence-state.is-recognized{background:#e7f4ec;color:#24613c}
.finance-competence-state.is-planned{background:#edf3f5;color:#345f69}
.finance-competence-state.is-cancelled{background:#ece9e4;color:#6f6a62}
.finance-operational-table tr.has-balance:not(.is-cancelled) td{background:#fffcf4}
.finance-operational-table tr.has-balance:not(.is-cancelled) td:first-child{box-shadow:inset 4px 0 #c39a45}
.finance-operational-table tr.is-cancelled td,.finance-program-table tr.is-cancelled td{background:#f7f6f3;color:#86827a}
.finance-operational-table tr.is-cancelled td:not(:first-child),.finance-program-table tr.is-cancelled td:not(:first-child){opacity:.72}
.finance-operational-table tr.is-cancelled b,.finance-program-table tr.is-cancelled b{color:#77736c}
@media(max-width:650px){.finance-next-pending{align-items:flex-start;flex-direction:column}.finance-competence-state{max-width:none}}

/* v1.4.89 — registro retroativo anterior e contadores abaixo da Agenda */
/* v1.4.91 — pesquisa de Leads e Pacientes consultada diretamente no servidor */
.calendar-create-actions{display:flex;gap:9px;align-items:center}
.calendar-create-actions button{white-space:nowrap}
.calendar-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.calendar-counter-card{overflow:hidden;border:1px solid #d9dedb;border-radius:11px;background:#fff}
.calendar-counter-card>header{display:flex;gap:8px;padding:10px 11px;border-bottom:1px solid #e7ebe8;background:#f7f9f8;align-items:flex-start;justify-content:space-between}
.calendar-counter-card>header strong,.calendar-counter-card>header small{display:block}
.calendar-counter-card>header strong{color:var(--ink);font-size:12px}
.calendar-counter-card>header small{margin-top:2px;color:var(--muted);font-size:9px}
.calendar-counter-card>header>span{padding:3px 6px;border-radius:99px;background:#eee7d5;color:#6e5b2c;font-size:8px;font-weight:800;white-space:nowrap}
.calendar-counter-card>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.calendar-counter-card.is-operational>div{grid-template-columns:repeat(2,minmax(0,1fr))}
.calendar-counter-card.is-mixed>div{grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-counter-card article{min-width:0;padding:8px 10px;border-right:1px solid #edf0ee;border-bottom:1px solid #edf0ee}
.calendar-counter-card article:last-child{border-right:0}
.calendar-counter-card article{border-bottom:0}
.calendar-counter-card article small,.calendar-counter-card article b{display:block}
.calendar-counter-card article small{min-height:22px;color:var(--muted);font-size:8px;font-weight:750;line-height:1.25;text-transform:uppercase;letter-spacing:.2px}
.calendar-counter-card article b{margin-top:2px;color:var(--ink);font-size:19px;line-height:1}
.calendar-attendance-panel{margin:16px 0;padding:15px 16px;border:1px solid #c7d8d2;border-radius:11px;background:#f6faf8}
.calendar-attendance-panel[hidden]{display:none}
.calendar-attendance-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}
.calendar-attendance-head h3{margin:0;color:var(--ink);font-size:17px}
.calendar-attendance-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.calendar-attendance-head>span{padding:5px 8px;border-radius:99px;background:#eee7d5;color:#6c592a;font-size:10px;font-weight:800;white-space:nowrap}
.calendar-attendance-head>span.is-ready{background:#dcecdf;color:#28623b}
.calendar-attendance-fields{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(280px,1.3fr);gap:12px;margin-top:13px}
.calendar-attendance-fields label{margin:0}
.calendar-attendance-fields select[aria-disabled=true],.calendar-attendance-fields textarea[readonly]{background:#efeee9;color:#68706d}
.calendar-attendance-panel>[data-attendance-help]{display:block;margin-top:10px;color:#54706a;font-size:11px}
.calendar-retroactive-banner{margin:0 0 14px;padding:13px 14px;border:1px solid #d8bd7b;border-left:5px solid #a77a31;border-radius:9px;background:#fff9e9}
.calendar-retroactive-banner[hidden]{display:none}
.calendar-retroactive-banner b,.calendar-retroactive-banner span{display:block}
.calendar-retroactive-banner b{color:#644b19}
.calendar-retroactive-banner span{margin:3px 0 9px;color:#786538;font-size:12px;line-height:1.4}
.calendar-retroactive-banner label{margin:0;color:#604a20}
.calendar-event.attendance-pending,.calendar-month-event.attendance-pending{outline:2px dashed #d5a541;outline-offset:-2px}
.calendar-event.attendance-confirmed,.calendar-month-event.attendance-confirmed{box-shadow:inset 0 0 0 2px #5a9b70}
.calendar-event.attendance-missed,.calendar-month-event.attendance-missed{filter:saturate(.55);box-shadow:inset 0 0 0 2px #a34c46}
@media(max-width:1100px){.calendar-counter-card article small{min-height:0}.calendar-create-actions{flex-wrap:wrap}}
@media(max-width:760px){.calendar-counters{grid-template-columns:1fr}.calendar-attendance-head,.calendar-attendance-fields{display:grid;grid-template-columns:1fr}.calendar-attendance-head>span{justify-self:start}.calendar-create-actions{width:100%}.calendar-create-actions button{flex:1}}

/* v1.4.92 — consulta auditada, retificação administrativa e leitura visual */
.calendar-retroactive-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 0}
.calendar-retroactive-actions[hidden]{display:none}
.calendar-retroactive-actions button{width:auto}
.calendar-dialog form.is-audited-retroactive input:disabled,
.calendar-dialog form.is-audited-retroactive select:disabled,
.calendar-dialog form.is-audited-retroactive textarea:disabled{border-color:#d5d3cd;background:#f1f0ec;color:#68706d;cursor:not-allowed;opacity:1}
.calendar-rectification-dialog{width:min(620px,calc(100vw - 28px));max-width:620px;border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px rgba(30,48,45,.24)}
.calendar-rectification-dialog::backdrop{background:rgba(24,38,36,.48)}
.calendar-rectification-dialog>form{padding:24px}
.calendar-rectification-dialog .calendar-dialog-head{margin:-2px 0 14px}
.calendar-rectification-dialog .calendar-dialog-head h2{margin:2px 0 0}
.calendar-rectification-dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}

/* v1.4.97 — histórico visível das retificações administrativas */
.calendar-rectification-history{margin:16px 0;padding:18px;border:1px solid #cfdad4;border-radius:12px;background:#f8faf9}
.calendar-rectification-history[hidden]{display:none}
.calendar-rectification-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.calendar-rectification-history-head small,.calendar-history-item header small{display:block;color:#567064;font-size:10px;font-weight:800;letter-spacing:.12em}
.calendar-rectification-history-head h3{margin:3px 0 0;color:#263d35;font-size:17px}
.calendar-rectification-history-head>span{padding:5px 9px;border-radius:999px;background:#e5eeea;color:#456055;font-size:12px;font-weight:700;white-space:nowrap}
.calendar-rectification-history [data-retroactive-history-content]{display:grid;gap:11px}
.calendar-history-original,.calendar-history-item,.calendar-history-effective,.calendar-history-empty{padding:14px;border:1px solid #d8e0dc;border-radius:10px;background:#fff}
.calendar-history-original{border-left:5px solid #899b93}
.calendar-history-item{border-left:5px solid #5c91bb}
.calendar-history-effective{border-left:5px solid #5e9870;background:#f3f8f5}
.calendar-history-original>header,.calendar-history-item>header,.calendar-history-effective>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
/* v1.4.98 — contraste das três faixas escuras do histórico auditado */
.calendar-history-original>header,.calendar-history-item>header,.calendar-history-effective>header{color:#fff}
.calendar-history-original>header b,.calendar-history-item>header b,.calendar-history-effective>header b{color:#fff}
.calendar-history-item>header small{color:#e2cfa8}
.calendar-history-original>header span,.calendar-history-effective>header span,.calendar-history-item time{color:#e2cfa8;font-size:11px;font-style:normal;white-space:nowrap}
.calendar-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.calendar-history-grid>div{display:grid;gap:2px;min-width:0}
.calendar-history-grid small{color:#77817c;font-size:10px;font-weight:700;text-transform:uppercase}
.calendar-history-grid b{color:#2f3b36;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.calendar-history-empty{display:grid;gap:3px;color:#52635b}
@media(max-width:700px){.calendar-rectification-history-head,.calendar-history-original>header,.calendar-history-item>header,.calendar-history-effective>header{align-items:flex-start;flex-direction:column}.calendar-history-grid{grid-template-columns:1fr}}

/* v1.4.94 — cabeçalhos, destaque de data e acesso direto à retificação */
.calendar-day-heading{box-sizing:border-box}
.calendar-retroactive-actions.is-prominent[hidden]{display:flex!important}

/* v1.4.103 — dados obrigatórios antes de um Lead seguir para Agendado */
.appointment-required-data{margin:16px 0;padding:17px;border:1px solid #d9d0bd;border-radius:12px;background:#fbf8f1}
.appointment-required-data h3{margin:0;color:#173f3c;font-size:16px}
.appointment-required-data>p{margin:5px 0 14px;color:#66716d;font-size:12px}
.appointment-required-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.appointment-required-grid label{margin:0}
.appointment-required-grid .iti{width:100%}
@media(max-width:700px){.appointment-required-grid{grid-template-columns:1fr}}

/* v1.4.104 — ação explícita Paciente → Agenda */
.patient-history .patient-agenda-link{padding:8px 12px;white-space:nowrap}
.patient-history th:last-child,.patient-history td:last-child{text-align:right}
.finance-contract-selector{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.7fr);gap:22px;align-items:start;margin:18px 0;padding:20px;border-color:#b8d1c8;background:linear-gradient(135deg,#f5faf8,#eef6f3)}
.finance-contract-selector>div:first-child>span{display:block;margin-bottom:5px;color:#2b6c5a;font-size:10px;font-weight:800;letter-spacing:.08em}
.finance-contract-selector h2{margin:0 0 5px;color:#123f3b;font-size:20px}
.finance-contract-selector p{margin:0;color:#60716d;font-size:13px;line-height:1.45}
.finance-contract-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finance-contract-choice{display:flex;flex-direction:column;gap:5px;min-height:94px;padding:15px 16px;border:1px solid #c9d7d2;border-radius:12px;background:#fff;color:#173f3b;text-decoration:none;box-shadow:0 2px 8px rgba(24,63,59,.04)}
.finance-contract-choice:hover{border-color:#5c907f;transform:translateY(-1px)}
.finance-contract-choice.is-selected{border:2px solid #c89a43;background:#fff8e8;box-shadow:0 0 0 3px rgba(184,154,94,.13)}
.finance-contract-choice span{color:#47786b;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.finance-contract-choice.is-selected span{color:#8a681f}
.finance-contract-choice b{font-size:15px;line-height:1.25}
.finance-contract-choice small{color:#61726d;font-size:12px;line-height:1.35}
.finance-migration-contract-banner{display:flex;flex-direction:column;gap:5px;margin:0 0 16px;padding:15px 18px;border:1px solid #b9d2c8;border-left:5px solid #176b5b;border-radius:12px;background:#eff7f3;color:#173f37}
.finance-migration-contract-banner b{font-size:15px}
.finance-migration-contract-banner span{color:#516c64;font-size:13px;line-height:1.45}
.finance-contract-selector-migration .finance-contract-choice.is-selected{border-color:#c89a43;background:#fff8e8;box-shadow:0 0 0 3px rgba(184,154,94,.13)}
.finance-contract-selector-migration .finance-contract-choice.is-selected span{color:#8a681f}
.finance-migration-contract-banner{border-color:#dcc58f;border-left-color:#b89a5e;background:#fff8e8;color:#5f4b20}
.finance-migration-contract-banner span{color:#756641}
.patient-finance-journey.is-selected-contract{border-color:#c89a43;box-shadow:0 0 0 3px rgba(184,154,94,.13)}
@media(max-width:800px){
 .finance-contract-selector{grid-template-columns:1fr}
 .finance-contract-choice-list{grid-template-columns:1fr}
}

/* v1.4.185 — opções do filtro Situação visíveis e confirmação antes do agendamento pelo Kanban */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.leads-title{margin-bottom:14px}
.lead-unified-search{padding:14px 16px;margin-bottom:18px}
.lead-search-row{display:grid;grid-template-columns:minmax(320px,1fr) auto auto auto;gap:9px;align-items:center}
.lead-search-field{margin:0}
.lead-search-field input{margin:0;border-radius:999px;padding:12px 17px;background:#faf9f6}
.lead-search-row>button,.lead-search-row>.btn{white-space:nowrap}
.lead-advanced-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) minmax(170px,.8fr) auto;gap:11px;align-items:end;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.lead-advanced-filters[hidden]{display:none!important}
.lead-advanced-filters label{margin:0}
.lead-archive-toggle{display:flex!important;align-items:center;gap:9px;min-height:43px;padding:0 8px}
.lead-archive-toggle input{width:auto;margin:0}
.lead-archive-toggle span{white-space:nowrap}
.lead-result-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0 12px}
.lead-result-heading span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em}
.lead-result-heading h2{margin:2px 0 0}
.lead-search-results .card{margin-bottom:0}
.kanban-add{width:100%;border:0;background:transparent}
.lead-create-dialog{max-width:1120px;width:calc(100% - 40px);max-height:92vh}
.lead-create-dialog form{max-height:92vh;overflow:auto;padding:0 26px 26px}
.lead-dialog-heading{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 -26px 18px;padding:22px 26px 17px;background:#fff;border-bottom:1px solid var(--line)}
.lead-dialog-heading span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em}
.lead-dialog-heading h2{margin:2px 0 3px}
.lead-dialog-heading p{margin:0;color:var(--muted)}
.dialog-close{display:grid;place-items:center;width:38px;height:38px;flex:none;padding:0;border-radius:50%;background:#ece8df;color:var(--ink);font-size:25px;line-height:1}
.lead-create-dialog .dialog-actions{position:sticky;bottom:-26px;z-index:3;margin:22px -26px -26px;padding:15px 26px;background:#fff;border-top:1px solid var(--line)}
@media(max-width:1200px){.lead-advanced-filters{grid-template-columns:repeat(3,minmax(170px,1fr))}.lead-advanced-filters .filter-actions{grid-column:auto}}
@media(max-width:800px){.lead-search-row{grid-template-columns:1fr 1fr}.lead-search-field{grid-column:1/-1}.lead-search-row>button,.lead-search-row>.btn{text-align:center}.lead-advanced-filters{grid-template-columns:1fr}.lead-result-heading{align-items:flex-start;flex-direction:column}.lead-create-dialog{width:calc(100% - 18px)}.lead-create-dialog form{padding:0 16px 20px}.lead-dialog-heading{margin:0 -16px 16px;padding:18px 16px 14px}.lead-create-dialog .dialog-actions{bottom:-20px;margin:20px -16px -20px;padding:13px 16px}}
