:root{
  --bg:#f5f7f8;--surface:#fff;--surface-2:#f8fafb;--text:#182025;--muted:#67727a;--line:#e3e8eb;--primary:#2367a8;--primary-2:#174c7e;--danger:#b44242;--success:#2d6fa3;--warning:#9a6a17;--shadow:0 10px 30px rgba(22,35,42,.07);--radius:18px;--sidebar:250px
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.08;margin-bottom:.5rem}h2{font-size:1.15rem;margin-bottom:0}h3{font-size:1rem}.muted,small{color:var(--muted)}small{display:block}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:800;color:var(--primary);margin-bottom:.4rem}
.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#102a43;color:#d9e7f3;padding:20px 14px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 22px}.brand strong{display:block;letter-spacing:.05em}.brand small{color:#9db7cd;margin-top:2px}.brand-mark{width:38px;height:38px;border-radius:12px;background:#2d79b8;color:white;display:grid;place-items:center;font-weight:900}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-link{padding:11px 12px;border-radius:12px;color:#bfd2e2;font-weight:650;transition:.18s}.nav-link:hover{background:rgba(255,255,255,.06);color:white}.nav-link.active{background:#1d496c;color:white}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 4px 0}.user-mini{padding:0 8px 12px}.user-mini strong{display:block}.user-mini small{color:#9db7cd}.main{min-width:0}.topbar{height:66px;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.topbar-title{font-weight:800}.content{padding:28px;max-width:1480px;margin:0 auto}.mobile-only{display:none}
kbd{background:#eef2f3;border:1px solid #d8dfe2;border-bottom-width:2px;border-radius:6px;padding:2px 6px;font-size:.72rem;color:#607078}.btn{border:0;border-radius:11px;padding:10px 14px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.16s;min-height:40px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-2)}.btn-secondary{background:#eaf2fa;color:#205b8c}.btn-ghost{background:transparent;color:inherit;border:1px solid var(--line)}.sidebar .btn-ghost{border-color:rgba(255,255,255,.15);color:#d9e7f3}.btn-lg{min-height:48px;padding:13px 17px}.btn-block{width:100%}.danger-text{color:var(--danger)}.text-link{color:var(--primary);font-weight:750}.text-link:hover{text-decoration:underline}.icon-button{border:1px solid var(--line);background:white;border-radius:10px;width:40px;height:40px}
.page-head,.hero-row,.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.page-head{margin-bottom:22px}.hero-row{margin-bottom:24px;align-items:center}.hero-row>div:first-child{max-width:720px}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.section-head{align-items:center;margin-bottom:16px}.section-head .eyebrow{margin-bottom:.25rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-inline{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.stack{display:flex;flex-direction:column;gap:16px}.compact-stack{gap:9px}.narrow{max-width:820px;margin:0 auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.align-start{align-items:start}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.metric>span{display:block;color:var(--muted);font-size:.85rem;font-weight:650}.metric>strong{display:block;font-size:1.65rem;margin:.35rem 0}.metric>small{font-size:.78rem}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px;font-weight:650}.alert.success{background:#eaf3fb;color:#245f91;border:1px solid #cddfed}.alert.danger{background:#fff0ef;color:#8c3434;border:1px solid #f2d2cf}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compact-grid{gap:12px}.field{display:flex;flex-direction:column;gap:7px}.field>span{font-size:.83rem;font-weight:760;color:#36454d}.field input,.field select,.field textarea,.search-bar input,.filter-row select,.command-box input{width:100%;border:1px solid #d7dfe2;background:white;color:var(--text);border-radius:11px;padding:11px 12px;outline:none;transition:.15s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search-bar input:focus,.command-box input:focus{border-color:#6fa4cf;box-shadow:0 0 0 3px rgba(35,103,168,.12)}.field small a{color:var(--primary);font-weight:700}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px}.inline-form{display:flex;gap:10px;align-items:end}.grow{flex:1}.check-card,.module-toggle{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:var(--surface-2)}.check-card input,.module-toggle input{margin-top:3px;width:18px;height:18px}.check-card strong,.module-toggle strong{display:block}.check-card small,.module-toggle small{margin-top:2px}.search-bar{display:flex;gap:10px;margin-bottom:16px}.search-bar input{flex:1}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.filter-grid .form-actions{grid-column:1/-1;justify-content:flex-start}
.table-card{overflow:auto;padding:0}.table-card>.section-head{padding:20px 20px 0}.table-card table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#708089;background:#fbfcfc}td{font-size:.92rem}td strong{display:block}tr:last-child td{border-bottom:0}.empty{padding:28px;text-align:center;color:var(--muted)}.empty.compact{padding:12px}.list{display:flex;flex-direction:column}.list-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.list-row:first-child{padding-top:0}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-row:hover strong{color:var(--primary)}.time-chip{min-width:58px;padding:8px 10px;background:#edf4fa;border-radius:9px;text-align:center;font-weight:800}.mini-card{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px;background:var(--surface-2)}.mini-card:hover{border-color:#b8cde0}.mini-card span{font-size:.88rem}.details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.details div{min-width:0}.details dt{font-size:.75rem;text-transform:uppercase;color:var(--muted);font-weight:750}.details dd{margin:4px 0 0;overflow-wrap:anywhere}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef1f2;color:#48555c;padding:5px 9px;font-size:.74rem;font-weight:800;white-space:nowrap}.badge-agendado{background:#eef3f7;color:#496678}.badge-confirmado{background:#e8f2fb;color:#235b8c}.badge-em_atendimento{background:#fff3d9;color:#855a12}.badge-concluido{background:#e7eef8;color:#2e5f94}.badge-nao_compareceu,.badge-cancelado{background:#f8eceb;color:#934343}.badge-remarcado{background:#f0ecfa;color:#62528b}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.calendar-nav,.filter-row{display:flex;gap:8px;align-items:center}.filter-row select{min-width:170px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:10px;overflow:auto;padding-bottom:8px}.day-column{background:white;border:1px solid var(--line);border-radius:15px;min-height:520px;overflow:hidden}.day-column.today{border-color:#8fb7d8;box-shadow:0 0 0 2px rgba(35,103,168,.09)}.day-column>header{padding:13px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:#fbfcfc}.day-column.today>header{background:#edf5fb}.day-column>header strong{text-transform:capitalize}.day-column>header span{color:var(--muted);font-size:.82rem}.day-items{padding:8px}.appointment-card{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-left:4px solid #7894a3;border-radius:11px;padding:10px;margin-bottom:8px;background:#fff}.appointment-card:hover{box-shadow:0 6px 18px rgba(20,40,45,.08)}.appointment-card.status-confirmado{border-left-color:#4f86b7}.appointment-card.status-em_atendimento{border-left-color:#d2a13b}.appointment-card.status-concluido{border-left-color:#5e7fb5}.appointment-card.status-cancelado,.appointment-card.status-nao_compareceu{border-left-color:#c45b5b;opacity:.78}.appointment-time{font-size:.78rem;font-weight:850;color:var(--primary)}.appointment-card>span,.appointment-card>small{font-size:.78rem}.appointment-card .badge{align-self:flex-start;margin-top:5px}.empty-slot{display:block;text-align:center;border:1px dashed #d6dee0;border-radius:10px;padding:14px;color:#8a969c;font-size:.8rem}.empty-slot:hover{border-color:#8fb7d8;color:var(--primary)}.appointment-preview{border:1px dashed #cfdadd;border-radius:12px;padding:13px;background:#fafcfc;display:flex;justify-content:space-between}.patient-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.patient-strip span{display:block;font-size:.72rem;text-transform:uppercase;color:var(--muted);font-weight:760}.patient-strip strong{display:block;margin-top:3px}.status-actions{display:flex;gap:8px;flex-wrap:wrap}.success-card{border-color:#c9ddec;background:#f8fbfe}.accent-card{border-color:#c8dcec;background:#f8fbfe}.progress{height:8px;background:#e9eeee;border-radius:999px;overflow:hidden;margin:12px 0 8px}.progress span{display:block;height:100%;background:var(--primary);border-radius:999px}.money-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.money-summary>div{background:var(--surface-2);padding:11px;border-radius:11px}.money-summary span{display:block;color:var(--muted);font-size:.75rem}.money-summary strong{display:block;margin-top:2px}.payment-list{display:flex;flex-direction:column;margin-top:12px}.payment-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.payment-list>div:last-child{border-bottom:0}.payment-list span small{margin-top:2px}.note-list{margin-top:16px;border-top:1px solid var(--line)}.clinical-note{padding:14px 0;border-bottom:1px solid var(--line)}.clinical-note:last-child{border-bottom:0}.clinical-note>div{display:flex;justify-content:space-between;gap:12px}.clinical-note p{margin:9px 0 0;line-height:1.5;white-space:normal}.timeline{display:flex;flex-direction:column}.timeline-row{display:flex;gap:11px;padding:9px 0}.timeline-row>span{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#7d9db8;box-shadow:0 0 0 4px #eef3f7}.timeline-row strong{display:block}.timeline-row small{margin-top:2px}.context-card{border:1px solid #c8dcec;background:#f4f8fc;border-radius:14px;padding:14px 16px;margin-bottom:12px}.context-card span,.context-card strong,.context-card small{display:block}.context-card span{font-size:.72rem;text-transform:uppercase;color:var(--muted);font-weight:800}.context-card strong{margin:3px 0}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.plan-card{display:block}.plan-card:hover{border-color:#bfd2e2}.plan-numbers{display:flex;align-items:baseline;gap:8px}.plan-numbers strong{font-size:2rem}.plan-numbers span{color:var(--muted)}.bar-list{display:flex;flex-direction:column;gap:12px}.bar-row{display:grid;grid-template-columns:110px 1fr 90px;gap:10px;align-items:center;font-size:.84rem}.bar-row strong{text-align:right}.bar{height:9px;background:#edf1f2;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#729abb;border-radius:999px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid .wide{grid-column:1/-1}.chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{padding:7px 10px;background:#eef3f7;border-radius:999px;font-size:.8rem;font-weight:700}.details-panel{margin-top:15px;border-top:1px solid var(--line);padding-top:14px}.details-panel summary{font-weight:750;cursor:pointer;margin-bottom:14px}
.command-backdrop{position:fixed;inset:0;background:rgba(14,27,31,.42);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:11vh}.command-backdrop[hidden]{display:none}.command-box{width:min(620px,calc(100vw - 28px));background:white;border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,.22);overflow:hidden}.command-box input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px;font-size:1rem}.command-results{max-height:55vh;overflow:auto;padding:8px}.command-item{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:10px}.command-item:hover,.command-item.active{background:#eef4fa}.command-item strong{display:block}.command-item small{text-align:right}.login-body,.center-page{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at top left,#e2edf6,transparent 35%),var(--bg)}.login-card,.message-card{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.login-brand{padding:0 0 26px}.login-logo-box{width:96px;height:52px;border-radius:12px;background:#102a43;display:grid;place-items:center;padding:7px 10px;flex:0 0 auto}.login-logo{display:block;width:100%;height:100%;object-fit:contain}.login-card h1{margin-bottom:.35rem}.login-card>div:nth-of-type(2) p{color:var(--muted)}.message-card pre{white-space:pre-wrap;max-height:45vh;overflow:auto;background:#f7f8f9;border-radius:10px;padding:10px;font-size:.76rem}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.plan-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(3,1fr)}.patient-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){:root{--sidebar:280px}.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;transform:translateX(-105%);transition:.2s;width:var(--sidebar);box-shadow:20px 0 50px rgba(0,0,0,.18)}.sidebar.open{transform:translateX(0)}.mobile-only{display:inline-grid;place-items:center}.desktop-only{display:none}.topbar{padding:0 16px;justify-content:flex-start;gap:12px}.content{padding:18px 14px}.page-head,.hero-row{align-items:flex-start;flex-direction:column}.two-col,.settings-grid{grid-template-columns:1fr}.settings-grid .wide{grid-column:auto}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.metric-grid,.metric-grid.three{grid-template-columns:repeat(2,1fr)}.plan-grid{grid-template-columns:1fr}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-nav,.filter-row{overflow:auto}.filter-row select{min-width:160px}.week-grid{grid-template-columns:repeat(7,220px)}.day-column{min-height:420px}.patient-strip{grid-template-columns:1fr 1fr}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid .form-actions{grid-column:1/-1}.inline-form{align-items:stretch;flex-direction:column}.bar-row{grid-template-columns:90px 1fr 80px}}
@media(max-width:520px){.metric-grid,.metric-grid.three{grid-template-columns:1fr}.patient-strip{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.filter-grid .form-actions{grid-column:auto}.quick-actions{width:100%}.quick-actions .btn{flex:1}.search-bar{flex-direction:column}.details{grid-template-columns:1fr}.money-summary{grid-template-columns:1fr}.status-actions .btn{flex:1}.bar-row{grid-template-columns:1fr}.bar-row strong{text-align:left}.bar{order:3}.calendar-nav .btn{flex:1}}
.backup-list{display:flex;flex-direction:column;margin-top:12px}.backup-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.backup-list>div:last-child{border-bottom:0}
.cashbox-section{margin-bottom:18px}.cashbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cashbox-grid>div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:13px}.cashbox-grid span{display:block;color:var(--muted);font-size:.78rem}.cashbox-grid strong{display:block;font-size:1.2rem;margin-top:3px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.rank-list{display:flex;flex-direction:column}.rank-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.rank-list>div:last-child{border-bottom:0}.rank-list span{display:flex;align-items:center;gap:9px}.rank-list b{width:24px;height:24px;border-radius:8px;background:#eef3f7;display:grid;place-items:center;font-size:.75rem;color:var(--primary)}
@media(max-width:800px){.cashbox-grid,.report-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,1fr)}}

/* Round 2 · minimalismo e fluxo operacional */
:root{--sidebar:222px;--shadow:none;--radius:14px}
.sidebar{padding:18px 12px}.brand{padding:4px 7px 20px}.brand-mark{width:34px;height:34px;border-radius:10px}.nav-link{padding:10px 11px;border-radius:10px;font-weight:620}.content{padding:34px 36px;max-width:1540px}.card{box-shadow:none}.metric{box-shadow:none}.page-head{margin-bottom:18px}.minimal-head{align-items:end}.minimal-head h1{margin-bottom:.25rem}.back-link{display:inline-block;color:var(--muted);font-size:.82rem;font-weight:700;margin-bottom:10px}.back-link:hover{color:var(--primary)}.compact-page{max-width:720px}.mobile-topbar{display:none}.week-label{margin:0}.agenda-hint{text-align:center;color:var(--muted);font-size:.78rem;margin:9px 0 0}.minimal-toolbar{background:transparent;border:0;padding:0}.calendar-toolbar{margin-bottom:12px}.week-grid{gap:8px}.day-column{min-height:500px;border-radius:12px}.day-column>header{padding:11px 10px}.day-column>header>div{display:flex;flex-direction:column;gap:2px}.day-column>header span{font-size:.76rem}.day-add{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#edf5fb;color:var(--primary);font-size:1.15rem;font-weight:500}.day-add:hover{background:#ddecf8}.day-items{padding:7px}.day-empty{padding:18px 7px;text-align:center;color:#9aa4a9;font-size:.78rem}.appointment-card{border-left-width:3px;border-radius:9px;padding:9px;margin-bottom:7px}.appointment-card:hover{box-shadow:none;border-color:#c7d8e6}.appointment-card .badge{margin-top:3px}.select-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.form-details{border-top:1px solid var(--line);padding-top:12px}.form-details summary{cursor:pointer;color:var(--muted);font-weight:720;font-size:.84rem}.form-details[open] summary{margin-bottom:14px}.appointment-preview{border-style:solid;background:var(--surface-2)}.form-error{padding:10px 12px;border:1px solid #f0d0cc;background:#fff4f2;color:#923e38;border-radius:10px;font-size:.84rem;font-weight:650}

.quick-patient-dialog{width:min(460px,calc(100vw - 28px));border:0;border-radius:16px;padding:0;box-shadow:0 25px 70px rgba(0,0,0,.22)}.quick-patient-dialog::backdrop{background:rgba(13,24,28,.42)}.quick-patient-dialog>form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-head h2{font-size:1.3rem;margin-bottom:4px}.dialog-head p{margin:0}

.appointment-drawer{position:fixed;top:0;right:0;width:min(410px,100vw);height:100vh;background:white;border-left:1px solid var(--line);z-index:90;transform:translateX(102%);transition:transform .2s ease;display:flex;flex-direction:column;box-shadow:-18px 0 45px rgba(18,34,39,.12)}.appointment-drawer.open{transform:translateX(0)}.drawer-backdrop{position:fixed;inset:0;background:rgba(10,20,23,.26);z-index:80}.drawer-backdrop[hidden]{display:none}.drawer-head{height:64px;padding:0 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.drawer-body{padding:22px;overflow:auto;flex:1}.drawer-loading{color:var(--muted);padding:24px 0}.drawer-patient{padding-bottom:20px;border-bottom:1px solid var(--line)}.drawer-patient>span{font-size:.76rem;font-weight:800;color:var(--primary);text-transform:uppercase}.drawer-patient h2{font-size:1.55rem;margin:5px 0}.drawer-patient p{color:var(--muted);margin:0}.drawer-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0}.drawer-info span,.drawer-note span{display:block;color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase}.drawer-info strong{display:block;margin-top:3px;font-size:.9rem}.drawer-note{border-top:1px solid var(--line);padding-top:18px}.drawer-note p{line-height:1.45}.drawer-actions{display:flex;gap:9px;margin-top:24px}.drawer-actions .btn{flex:1}

.patient-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.patient-summary-card{padding:14px 16px}.patient-summary-card span{display:block;color:var(--muted);font-size:.75rem}.patient-summary-card strong{display:block;margin-top:3px;font-size:1.12rem}.patient-plans{margin-bottom:14px}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mini-grid .mini-card{margin:0}.patient-timeline{display:flex;flex-direction:column}.patient-event{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.patient-event:last-child{border-bottom:0;padding-bottom:0}.patient-event:first-child{padding-top:0}.patient-event:hover strong{color:var(--primary)}.event-dot{width:9px;height:9px;border-radius:50%;background:#91a3aa;flex:0 0 auto}.event-dot.atendimento{background:#4f83ad}.event-dot.plano{background:#987944}.event-dot.pagamento{background:#5f7fa1}.patient-event time{color:var(--muted);font-size:.76rem;white-space:nowrap}.patient-more{margin-top:14px}.empty-action{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:34px 20px;color:var(--muted)}.empty-action strong{color:var(--text)}.empty-action .btn{margin-top:8px}

@media(max-width:800px){.content{padding:18px 14px}.mobile-topbar{height:58px;padding:0 14px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20}.mobile-topbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minimal-head{align-items:flex-start}.patient-summary-grid{grid-template-columns:repeat(3,1fr)}.mini-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(7,210px)}.day-column{min-height:390px}}
@media(max-width:520px){.patient-summary-grid{grid-template-columns:1fr 1fr}.patient-summary-grid .patient-summary-card:first-child{grid-column:1/-1}.select-action{grid-template-columns:1fr}.drawer-info-grid{grid-template-columns:1fr}.patient-event{align-items:flex-start}.patient-event time{font-size:.7rem}.quick-patient-dialog>form{padding:18px}}
.minimal-hero{margin-bottom:18px}.minimal-hero h1{margin:0}.home-agenda{max-width:920px}
.appointment-context{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.appointment-context>a,.appointment-context>div{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:white}.appointment-context span,.plan-strip span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;font-weight:760}.appointment-context strong,.plan-strip strong{display:block;margin-top:3px}.appointment-context a:hover{border-color:#b8cde0}.plan-strip{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:16px;padding:12px 14px;border:1px solid #c8dcec;background:#f8fbfe;border-radius:12px;margin-bottom:14px}.plan-strip .progress{margin:0}.appointment-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:16px;align-items:start}.history-details>summary{cursor:pointer;font-weight:760}.history-details[open]>summary{margin-bottom:14px}.status-actions{margin-bottom:4px}
@media(max-width:980px){.appointment-layout{grid-template-columns:1fr}.appointment-context{grid-template-columns:1fr 1fr}.plan-strip{grid-template-columns:1fr}.plan-strip .progress{width:100%}}
@media(max-width:520px){.appointment-context{grid-template-columns:1fr}}
.recurrence-details .check-card{margin:12px 0}.weekday-picker{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.weekday-picker label{cursor:pointer}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{display:grid;place-items:center;min-width:42px;height:36px;border:1px solid var(--line);border-radius:9px;background:white;font-size:.78rem;font-weight:750}.weekday-picker input:checked+span{background:#e8f2fb;border-color:#86afd1;color:var(--primary)}
.progress-native,.bar-progress{width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:#e9eeee;appearance:none}.progress-native::-webkit-progress-bar,.bar-progress::-webkit-progress-bar{background:#e9eeee;border-radius:999px}.progress-native::-webkit-progress-value,.bar-progress::-webkit-progress-value{background:var(--primary);border-radius:999px}.progress-native::-moz-progress-bar,.bar-progress::-moz-progress-bar{background:var(--primary);border-radius:999px}.plan-card .progress-native{margin:12px 0 8px}.bar-progress{height:9px}.one-col{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;max-width:800px}

/* Busca de pacientes e identidade azul clínica */
.patient-combobox{position:relative;min-width:0}.patient-combobox>input[type="search"]{width:100%;border:1px solid #d7dfe2;background:white;color:var(--text);border-radius:11px;padding:11px 12px;outline:none;transition:.15s}.patient-combobox>input[type="search"]:focus{border-color:#6fa4cf;box-shadow:0 0 0 3px rgba(35,103,168,.12)}.patient-combobox>[data-patient-selected]{margin-top:6px;min-height:1em}.patient-results{position:absolute;z-index:70;left:0;right:0;top:48px;background:white;border:1px solid #c9d8e5;border-radius:12px;box-shadow:0 16px 38px rgba(16,42,67,.16);padding:5px;max-height:290px;overflow:auto}.patient-result{display:flex;width:100%;border:0;background:transparent;border-radius:9px;padding:10px 11px;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left;color:var(--text)}.patient-result:hover,.patient-result:focus{background:#edf5fb;outline:none}.patient-result strong{display:block}.patient-result small{text-align:right;max-width:45%}.patient-result-empty{padding:13px 11px;color:var(--muted);font-size:.84rem}.drawer-actions{flex-wrap:wrap}.drawer-actions .btn{flex:1 1 105px}

/* Operação diária: mantém a identidade da Agenda. */
.app-shell>main,.content{min-width:0}.agenda-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.operational-card{border-left:4px solid #7894a3;padding:16px}.operational-main{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.operational-time{min-width:65px}.operational-time strong{font-size:1.25rem}.operational-patient{flex:1;min-width:150px}.operational-patient>strong,.operational-patient>span{display:block}.operational-patient>span{color:var(--muted);font-size:.88rem;margin-top:4px}.operational-state{text-align:right}.operational-state small{margin-top:5px}.agenda-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.agenda-actions form{margin:0}.agenda-actions .text-link{font-size:.8rem;padding:8px 4px}.quick-reschedule>summary,.week-actions>summary{cursor:pointer;font-size:.86rem;padding:9px;font-weight:650;color:var(--primary)}.quick-reschedule[open]{flex-basis:100%;border:1px solid var(--line);padding:10px;border-radius:10px}.quick-reschedule form{max-width:440px}.week-actions .agenda-actions{margin:0;padding-bottom:10px}.week-actions .btn{font-size:.78rem;white-space:normal}.status-aguardando{border-left-color:#27816a}.badge-aguardando{background:#e3f3ed;color:#21624f}.badge-encaixe{background:#f0eafa;color:#64418a;margin-left:4px}.operational-card.status-em_atendimento{border-left-color:#d2a13b}.operational-card.status-concluido{border-left-color:#5e7fb5}.operational-card.status-cancelado,.operational-card.status-nao_compareceu{border-left-color:#c45b5b}.schedule-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.schedule-day{border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.schedule-day input{min-width:0;width:100%}.schedule-day legend input{width:auto}.block-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;flex-wrap:wrap}.calendar-toolbar .filter-row{flex-wrap:wrap;overflow:visible}.calendar-toolbar .field{margin:0}.calendar-toolbar{align-items:end;flex-wrap:wrap}.agenda-actions button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #2367a8;outline-offset:3px}
@media(max-width:600px){.operational-main{gap:12px}.operational-state{width:100%;text-align:left}.operational-card{padding:12px}.agenda-actions .btn{min-height:44px}.calendar-toolbar .filter-row{display:grid;grid-template-columns:1fr;width:100%}.calendar-toolbar select,.calendar-toolbar input{width:100%;min-width:0}.calendar-toolbar .calendar-nav{width:100%}.agenda-tabs .btn{font-size:.83rem}.schedule-days{grid-template-columns:1fr}.quick-reschedule input{min-width:0;max-width:100%}.week-grid{max-width:100%;overscroll-behavior-x:contain}.week-actions .agenda-actions{display:block}.week-actions form{margin:4px}.week-actions .text-link{display:block}}

@media(min-width:601px){.calendar-toolbar .filter-row{flex:0 1 auto}.calendar-toolbar .filter-row>select{width:auto;min-width:150px;max-width:205px}.calendar-toolbar .filter-row>.field{width:150px}.calendar-toolbar .filter-row>.field input{width:100%}.calendar-toolbar .filter-row>button{align-self:flex-end}}
.queue-toolbar .calendar-nav,.queue-toolbar .filter-row>.field{display:none}.queue-toolbar{justify-content:flex-end}.availability-hint{font-size:.84rem;line-height:1.5;margin:4px 0}

.schedule-settings>summary{cursor:pointer;font-weight:700;color:var(--primary);padding:4px}.schedule-settings[open]>summary{margin-bottom:16px}

.agenda-filters>summary{display:none}.agenda-filters{margin-bottom:12px}@media(max-width:600px){.agenda-filters>summary{display:block;cursor:pointer;font-weight:650;color:var(--primary);padding:12px;border:1px solid var(--line);border-radius:10px;background:white}.agenda-filters[open]>summary{margin-bottom:10px}}
