:root{--rose:#f3d8cf;--rose-2:#e8bdae;--cream:#f8f1e8;--sand:#c0b3a0;--brown:#8e7564;--brown-dark:#5d4d43;--ink:#443d38;--muted:#8e8077;--line:#eadfd7;--white:#fff;--success:#47745e;--warning:#9a6b2f;--danger:#a44f4f;--info:#526f8a;--shadow:0 12px 35px rgba(93,77,67,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#faf8f6}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#fbf7f4,#f7efe8)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,#f3d8cf 0,transparent 32%),radial-gradient(circle at 85% 80%,#e8ded3 0,transparent 35%),#f9f5f1}.auth-card{width:min(440px,100%);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(93,77,67,.18)}.setup-card{width:min(680px,100%)}.brand-lockup{display:flex;gap:12px;align-items:center}.brand-lockup.center{justify-content:center;text-align:left;margin-bottom:28px}.brand-lockup h1,.brand-lockup b{font-family:Georgia,serif;margin:0;font-size:30px;color:var(--brown-dark)}.brand-lockup p,.brand-lockup span{margin:3px 0 0;color:var(--muted);font-size:12px}.brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,var(--brown),#b69583);color:#fff;display:grid;place-items:center;font:700 30px Georgia;box-shadow:0 10px 24px rgba(142,117,100,.3)}.brand-mark.small{width:40px;height:40px;border-radius:13px;font-size:22px}.auth-intro{margin-bottom:20px}.auth-intro h2{margin:0 0 6px}.auth-intro p{margin:0;color:var(--muted)}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#665b54}input,select,textarea{width:100%;border:1px solid #ddcfc6;background:#fff;border-radius:12px;padding:11px 12px;color:var(--ink);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--rose-2);box-shadow:0 0 0 4px rgba(232,189,174,.2)}textarea{min-height:92px;resize:vertical}.stack-form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:span 2}.form-error{color:var(--danger);min-height:18px}.primary,.secondary,.ghost,.danger-btn,.success-btn{border:0;border-radius:12px;padding:11px 15px;font-weight:750;transition:.2s}.primary{background:var(--brown);color:#fff;box-shadow:0 8px 20px rgba(142,117,100,.22)}.primary:hover{background:#765f51;transform:translateY(-1px)}.secondary{background:#fff;color:var(--brown-dark);border:1px solid var(--line)}.secondary:hover{background:var(--cream)}.ghost{background:transparent;color:var(--brown-dark)}.ghost:hover{background:var(--cream)}.danger-btn{background:#fae8e8;color:var(--danger)}.success-btn{background:#e4f1e9;color:var(--success)}.full{width:100%}.icon-btn{border:0;background:transparent;border-radius:10px;padding:8px 10px;color:var(--brown-dark);font-size:20px}.icon-btn:hover{background:var(--cream)}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.94);border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;z-index:20;backdrop-filter:blur(12px)}aside>.brand-lockup{padding:0 8px 22px}aside>.brand-lockup b{font-size:24px}nav{display:grid;gap:5px;overflow:auto}nav button{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:12px;color:#6d6159;font-weight:700;display:flex;gap:10px;align-items:center}nav button span{width:24px;text-align:center;font-size:13px}nav button:hover,nav button.active{background:linear-gradient(90deg,#f7e6df,#fbf3ef);color:#755a4c}.sidebar-footer{margin-top:auto}.clinic-card{background:var(--cream);border:1px solid #efe2d8;border-radius:16px;padding:14px;margin-bottom:6px}.clinic-card span,.clinic-card small{display:block;color:var(--muted);font-size:10px}.clinic-card b{display:block;font-size:12px;margin:4px 0}main{min-width:0;padding:28px 30px 50px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h1{font-family:Georgia,serif;font-size:32px;margin:0;color:var(--brown-dark)}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:9px}.page-content{min-height:300px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric-card,.panel,.kanban-column{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.metric-card{padding:18px}.metric-card .label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.metric-card strong{display:block;font-size:27px;margin-top:9px;color:var(--brown-dark)}.metric-card small{display:block;margin-top:8px;color:var(--muted)}.metric-card.positive{border-top:4px solid #8fb6a0}.metric-card.warning{border-top:4px solid #d5ae73}.metric-card.negative{border-top:4px solid #cf9292}.panel{padding:20px}.panel h2,.panel h3{margin:0 0 14px;color:var(--brown-dark)}.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mt{margin-top:16px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px}.toolbar .push{margin-left:auto}.toolbar input,.toolbar select{width:auto;min-width:150px}.table-wrap{overflow:auto;border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:12px 11px;border-bottom:1px solid #eee5df;text-align:left;font-size:12px;vertical-align:top}.table th{position:sticky;top:0;background:#fbf8f5;color:#7a6c63;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.table tr:hover td{background:#fdf9f7}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.table-actions button{padding:6px 9px;font-size:11px}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800;text-transform:capitalize;background:#f2e6df;color:#745f52}.badge.success{background:#e1efe6;color:var(--success)}.badge.warning{background:#f7eddb;color:var(--warning)}.badge.danger{background:#f7e3e3;color:var(--danger)}.badge.info{background:#e6edf3;color:var(--info)}.muted{color:var(--muted)}.empty{text-align:center;padding:40px;color:var(--muted)}.progress{height:10px;background:#eee3dc;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--rose-2),var(--brown));border-radius:99px}.agenda-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.calendar-title{text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:7px;overflow:auto}.weekday{font-size:11px;text-align:center;color:var(--muted);font-weight:800;padding:7px}.calendar-day{min-height:125px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:8px;transition:.2s}.calendar-day:hover{border-color:var(--rose-2)}.calendar-day.out{opacity:.45;background:#faf8f6}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--rose-2)}.calendar-day .day-number{font-size:11px;font-weight:800;margin-bottom:5px}.calendar-event{border-left:4px solid var(--brown);background:#f8ece7;border-radius:7px;padding:5px 6px;margin-top:5px;font-size:10px;cursor:pointer;line-height:1.35}.calendar-event:hover{filter:brightness(.98);transform:translateY(-1px)}.calendar-event b{display:block;font-size:10px}.agenda-list{display:grid;gap:8px}.appointment-row{display:grid;grid-template-columns:75px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-left:5px solid var(--brown);border-radius:13px;background:#fff}.appointment-row .time{font-weight:800;color:var(--brown-dark)}.appointment-row p{margin:2px 0;font-size:12px}.quick-list{display:grid;gap:8px}.quick-item{padding:11px;border-radius:12px;background:#fbf6f2;border:1px solid #f0e4dc}.quick-item b{font-size:12px}.quick-item p{font-size:11px;margin:4px 0;color:var(--muted)}.kanban{display:grid;grid-template-columns:repeat(7,minmax(235px,1fr));gap:12px;overflow:auto;padding-bottom:8px}.kanban-column{padding:12px;min-height:420px;background:#fdfaf8}.kanban-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.kanban-head b{font-size:12px}.kanban-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:9px;box-shadow:0 5px 14px rgba(93,77,67,.06);cursor:pointer}.kanban-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.kanban-card h4{margin:0 0 6px;font-size:12px}.kanban-card p{margin:3px 0;font-size:10px;color:var(--muted)}.modal{border:0;border-radius:24px;padding:0;width:min(850px,96vw);max-height:94vh;box-shadow:0 35px 100px rgba(45,35,30,.34);background:#fff}.modal::backdrop{background:rgba(54,45,40,.5);backdrop-filter:blur(3px)}.modal form{padding:0}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;color:var(--brown-dark)}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.modal-head .icon-btn{font-size:25px}.modal #modalBody{padding:20px 24px;max-height:66vh;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:15px 24px 20px;border-top:1px solid var(--line)}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow:auto}.tabs button{border:0;background:transparent;padding:10px 12px;font-size:12px;font-weight:800;color:var(--muted);border-bottom:3px solid transparent}.tabs button.active{color:var(--brown);border-color:var(--rose-2)}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail{background:#fbf7f4;border:1px solid var(--line);border-radius:12px;padding:10px}.detail span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase}.detail b{font-size:12px}.timeline{border-left:2px solid var(--rose-2);padding-left:14px;display:grid;gap:12px}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--brown);left:-19px;top:4px}.timeline-item b{font-size:12px}.timeline-item p{font-size:11px;color:var(--muted);margin:4px 0}.toast{position:fixed;right:20px;top:20px;z-index:100;background:var(--brown-dark);color:white;padding:13px 16px;border-radius:13px;box-shadow:var(--shadow);max-width:360px}.toast.error{background:var(--danger)}.toast.success{background:var(--success)}.mobile-only{display:none}.print-only{display:none}
@media(max-width:1180px){.cards{grid-template-columns:repeat(2,1fr)}.agenda-shell{grid-template-columns:1fr}.agenda-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:900px){.app-shell{grid-template-columns:84px minmax(0,1fr)}aside{padding:18px 10px}.brand-lockup>div:last-child,.clinic-card,.sidebar-footer .ghost{display:none}nav button{font-size:0;justify-content:center}nav button span{font-size:15px}main{padding:24px 18px}.top-actions .secondary{display:none}.grid-2,.grid-3{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.mobile-only{display:block}.app-shell{display:block}aside{position:fixed;left:-280px;width:260px;transition:.25s;box-shadow:20px 0 40px rgba(0,0,0,.15)}aside.open{left:0}.brand-lockup>div:last-child,.clinic-card,.sidebar-footer .ghost{display:block}nav button{font-size:12px;justify-content:flex-start}nav button span{font-size:13px}main{padding:18px 12px 80px}.topbar{align-items:flex-start}.topbar h1{font-size:26px}.top-actions{position:fixed;bottom:14px;right:14px;z-index:15}.top-actions .primary{border-radius:99px;box-shadow:0 10px 30px rgba(93,77,67,.3)}.cards{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:14px}.metric-card strong{font-size:21px}.calendar-grid{grid-template-columns:repeat(7,115px)}.agenda-side{grid-template-columns:1fr}.form-grid,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.modal{width:100vw;max-height:100vh;border-radius:20px 20px 0 0;margin:auto 0 0}.modal #modalBody{max-height:72vh}.appointment-row{grid-template-columns:60px 1fr}.appointment-row>:last-child{grid-column:2}.toolbar .push{margin-left:0}.toolbar input,.toolbar select{flex:1;min-width:120px}}
@media print{aside,.topbar,.toolbar button,.no-print{display:none!important}.app-shell{display:block}main{padding:0}.panel,.metric-card{box-shadow:none}.print-only{display:block}}
.version-chip{display:inline-flex;align-items:center;justify-content:center;margin:8px 0 10px;padding:6px 10px;border-radius:999px;background:var(--cream);border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em}.detail small{display:block;margin-top:5px;color:var(--muted);font-size:10px}input[readonly]{background:#f7f3f0;color:#6f625a}button:disabled{opacity:.55;cursor:not-allowed}

.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.product-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.product-image{height:185px;background:linear-gradient(135deg,#fbf2ed,#f5ebe5);display:grid;place-items:center;overflow:hidden;color:var(--brown);font-weight:900;letter-spacing:.12em}.product-image img{width:100%;height:100%;object-fit:contain}.product-body{padding:16px}.product-body h3{margin:10px 0 4px;font-size:17px;color:var(--brown-dark)}.product-body p{margin:0 0 10px;color:var(--muted);font-size:12px}.product-body strong{display:block;font-size:22px;color:var(--brown-dark);margin:7px 0}.product-body small{display:block;color:var(--muted);margin:5px 0}.product-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.check-item{display:flex;align-items:center;gap:7px;background:#fbf6f2;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:11px}.check-item input{width:auto}.kit-editor{border-top:1px solid var(--line);padding-top:12px}.kit-row,.sale-item-row,.sale-payment-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,.7fr) minmax(120px,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}.sale-payment-row{grid-template-columns:minmax(170px,1.5fr) minmax(120px,1fr) 80px minmax(120px,1fr) auto}.sale-total{display:flex;justify-content:space-between;align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px}.sale-total strong{font-size:22px;color:var(--brown-dark)}.warning-box{background:#fff7e8;border:1px solid #efd9af;border-radius:14px;padding:14px;margin-bottom:14px}.warning-box p{margin:5px 0 0;color:#745f52;font-size:12px}
@media(max-width:680px){.product-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr 1fr}.kit-row,.sale-item-row,.sale-payment-row{grid-template-columns:1fr 1fr}.kit-row button,.sale-item-row button,.sale-payment-row button{grid-column:2}.product-image{height:155px}}

/* Meraki v2.2.1 — responsividade, legibilidade e monitoramento */
html{min-width:320px;overflow-x:hidden}body{overflow-x:hidden}.app-shell{width:100%;max-width:100vw}.page-content{min-width:0}.topbar>div:first-of-type{min-width:0}.topbar h1{font-size:clamp(27px,2.2vw,34px);line-height:1.12}.topbar p{line-height:1.45}.panel,.metric-card{min-width:0}.panel h2,.panel h3,.metric-card strong{overflow-wrap:anywhere}.cards{grid-template-columns:repeat(4,minmax(210px,1fr))}.grid-2{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr)}

.appointment-row{grid-template-columns:minmax(76px,88px) minmax(0,1fr) auto;align-items:center;min-width:0;padding:13px 14px;gap:14px}.appointment-time{display:flex;flex-direction:column;gap:3px;min-width:0}.appointment-time b{font-size:14px;line-height:1.1;color:var(--brown-dark);white-space:nowrap}.appointment-time small{display:block;font-size:10px;line-height:1.2;color:var(--muted);white-space:nowrap}.appointment-main{display:flex;flex-direction:column;gap:4px;min-width:0}.appointment-main strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.appointment-main span{font-size:11px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.appointment-status{justify-self:end;max-width:130px;text-align:center;white-space:normal}.agenda-list{min-width:0}.agenda-list .appointment-row:hover{border-color:#ddc7bb;box-shadow:0 8px 20px rgba(93,77,67,.07)}

.module-error{border-top:4px solid var(--danger)}.module-error-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.module-error-head h2{margin:10px 0 5px}.module-error-head p{margin:0;color:var(--muted)}.diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.diagnostic-card{min-width:0;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fbf8f5}.diagnostic-card.ok{border-color:#cfe3d6;background:#f4faf6}.diagnostic-card.failed{border-color:#e8bcbc;background:#fff7f7}.diagnostic-card>span{display:block;font-size:9px;text-transform:uppercase;font-weight:900;color:var(--muted);margin-bottom:4px}.diagnostic-card b,.diagnostic-card code,.diagnostic-card p,.diagnostic-card small{display:block;overflow-wrap:anywhere}.diagnostic-card code{font-size:10px;margin:5px 0;color:var(--brown)}.diagnostic-card p{font-size:11px;margin:8px 0 0;color:var(--muted)}.system-note{margin:14px 0;border:1px solid var(--line);border-radius:14px;padding:13px;background:#f7f3f0}.system-note pre{white-space:pre-wrap;word-break:break-word;font-size:10px;max-height:180px;overflow:auto;margin:8px 0 0}

.monitor-metrics{grid-template-columns:repeat(4,minmax(190px,1fr))}.monitor-subtitle{margin:4px 0 0}.live-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--success);font-size:11px;font-weight:800;white-space:nowrap}.live-indicator i{width:9px;height:9px;border-radius:50%;background:#3a9b68;box-shadow:0 0 0 5px rgba(58,155,104,.12);animation:livePulse 1.8s infinite}.live-indicator.offline{color:var(--warning)}.live-indicator.offline i{background:#c28a3c;box-shadow:0 0 0 5px rgba(194,138,60,.12)}@keyframes livePulse{50%{transform:scale(.72);opacity:.65}}.alert-list{display:grid;gap:9px}.alert-card{border-left:4px solid var(--info);background:#f7fafc;border-radius:12px;padding:12px}.alert-card.warning{border-color:#d5ae73;background:#fffaf0}.alert-card.error,.alert-card.critical{border-color:#c86e6e;background:#fff6f6}.alert-card.info{border-color:#7ba58d;background:#f4faf6}.alert-card b{font-size:12px}.alert-card p{font-size:11px;line-height:1.45;margin:4px 0 0;color:var(--muted)}.monitor-details{grid-template-columns:repeat(3,minmax(0,1fr))}.log-console{border:1px solid #ddd1c8;border-radius:15px;background:#2f2a27;color:#f5eee8;max-height:540px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.log-row{display:grid;grid-template-columns:145px 72px 110px minmax(220px,1fr) auto;gap:10px;align-items:start;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px}.log-row:last-child{border-bottom:0}.log-row time{color:#cbbcb2;white-space:nowrap}.log-row b{color:#f0c9bb;overflow-wrap:anywhere}.log-row p{margin:0;color:#f6f1ed;line-height:1.4;overflow-wrap:anywhere}.log-row code{font-size:9px;color:#b7aaa2;overflow-wrap:anywhere}.log-row.level-warning{background:rgba(211,166,94,.08)}.log-row.level-error,.log-row.level-critical{background:rgba(204,94,94,.12)}

.table-wrap{max-width:100%;overscroll-behavior-inline:contain}.table td,.table th{overflow-wrap:anywhere}.product-card,.product-body,.product-meta{min-width:0}.product-body h3,.product-body p,.product-body small{overflow-wrap:anywhere}.toolbar>h3,.toolbar>div{min-width:0}

@media(max-width:1350px){.cards,.monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr)}}
@media(max-width:1050px){.app-shell{grid-template-columns:220px minmax(0,1fr)}aside{padding:20px 12px}main{padding:24px 20px 40px}.grid-2{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-wrap:wrap}.top-actions{margin-left:auto}.log-row{grid-template-columns:125px 65px 90px minmax(180px,1fr)}.log-row code{grid-column:4}}
@media(max-width:900px){.app-shell{grid-template-columns:76px minmax(0,1fr)}main{padding:22px 16px 40px}.cards,.monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:16px}.metric-card strong{font-size:clamp(21px,4vw,27px)}.diagnostic-grid{grid-template-columns:1fr 1fr}.monitor-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.topbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px}.topbar>div:first-of-type{grid-column:2}.top-actions{grid-column:1/-1;position:static;width:100%;display:grid;grid-template-columns:1fr 1fr;margin:2px 0 0}.top-actions .secondary{display:block}.top-actions button{width:100%}.cards,.monitor-metrics{grid-template-columns:1fr}.metric-card{min-height:auto}.appointment-row{grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start}.appointment-status{grid-column:2;justify-self:start;max-width:100%}.diagnostic-grid{grid-template-columns:1fr}.module-error-head{display:grid}.module-error-head button{width:100%}.monitor-details{grid-template-columns:1fr 1fr}.log-console{max-height:500px}.log-row{grid-template-columns:1fr auto;gap:5px 8px}.log-row time{grid-column:1}.log-row>.badge{grid-column:2;grid-row:1}.log-row b{grid-column:1/-1}.log-row p{grid-column:1/-1}.log-row code{grid-column:1/-1}.toolbar{align-items:stretch}.toolbar>*{max-width:100%}.toolbar input,.toolbar select,.toolbar button{width:100%;min-width:0}.toolbar .push{margin-left:0}.product-grid{grid-template-columns:1fr}.tabs{scrollbar-width:thin}.tabs button{white-space:nowrap}}
@media(max-width:430px){main{padding:16px 10px 70px}.topbar h1{font-size:25px}.top-actions{grid-template-columns:1fr}.form-grid,.detail-grid,.monitor-details,.check-grid{grid-template-columns:1fr}.appointment-row{grid-template-columns:1fr}.appointment-time{flex-direction:row;align-items:center;gap:8px}.appointment-main,.appointment-status{grid-column:1}.panel{padding:15px}.metric-card{padding:14px}.metric-card .label{align-items:flex-start;gap:8px}.metric-card .label span:last-child{text-align:right}.calendar-grid{grid-template-columns:repeat(7,108px)}.kit-row,.sale-item-row,.sale-payment-row{grid-template-columns:1fr}.kit-row button,.sale-item-row button,.sale-payment-row button{grid-column:1}}


/* v2.2.2 — carregamento resiliente dos módulos */
.loading-spinner {
  width: 28px;
  height: 28px;
  display: inline-block;
  border: 3px solid rgba(142, 117, 100, .22);
  border-top-color: #8e7564;
  border-radius: 50%;
  animation: meraki-spin .8s linear infinite;
}
@keyframes meraki-spin { to { transform: rotate(360deg); } }
.module-load-error { min-height: 220px; }
.module-load-error p { max-width: 720px; margin-inline: auto; overflow-wrap: anywhere; }
.error-reference code { user-select: all; }
.toolbar.centered { justify-content: center; }


/* Meraki v2.3.0 — identidade visual, lixeira e gestão de cadastros */
:root{
  --clinic-primary:var(--brown);
  --clinic-secondary:#D9A99A;
  --clinic-accent:#C0B3A0;
  --clinic-background:#F8F5F2;
}
body{background:var(--clinic-background)}
.brand-logo{max-width:230px;max-height:90px;object-fit:contain}
.sidebar-logo{width:46px;height:46px;object-fit:contain;border-radius:13px}
.sidebar-brand{min-width:0}
.sidebar-brand>div:last-child{min-width:0}
.sidebar-brand b{overflow-wrap:anywhere}
.auth-brand{position:relative;z-index:2}
.auth-screen{position:relative;overflow:hidden}
.login-backdrop{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.14;filter:saturate(.8)}
.auth-card{position:relative;z-index:1}
.identity-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}
.identity-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;min-height:140px;display:grid;place-items:center;text-align:center}
.identity-card img{max-width:100%;max-height:100px;object-fit:contain}
.upload-label{border:1px dashed var(--clinic-primary);border-radius:14px;padding:12px;cursor:pointer;background:#fffaf7}
.upload-label input{display:block;margin-top:8px}
.color-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}
.color-grid input[type=color]{width:100%;height:48px;padding:3px}
.custom-field-grid{display:grid;gap:10px}
.custom-field-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,.8fr) 90px auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px}
.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.audit-json{white-space:pre-wrap;word-break:break-word;font-size:10px;background:#f7f3f0;border-radius:10px;padding:9px;max-height:220px;overflow:auto}
.trash-actions{display:flex;gap:6px;flex-wrap:wrap}
.toast{display:flex;align-items:center;gap:12px;max-width:min(92vw,560px)}
.toast-action{border:1px solid rgba(255,255,255,.5);background:transparent;color:inherit;border-radius:9px;padding:6px 10px;font-weight:800;cursor:pointer}
.duplicate-warning{border:1px solid #d8b87e;background:#fff9ed;border-radius:14px;padding:13px}
.duplicate-list{display:grid;gap:8px;margin-top:10px}
.duplicate-item{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #eadbc3;background:white;border-radius:10px;padding:9px}
.patient-custom-fields{border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.patient-action-bar{display:flex;gap:8px;flex-wrap:wrap}
.history-actions{display:flex;gap:8px;flex-wrap:wrap}
.delete-confirm-word{font-weight:900;letter-spacing:.08em}
.branding-mini-logo{max-height:36px;max-width:150px;object-fit:contain}
@media(max-width:900px){
 .identity-preview{grid-template-columns:1fr 1fr}
 .color-grid{grid-template-columns:1fr 1fr}
 .custom-field-row{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .identity-preview,.color-grid,.audit-diff{grid-template-columns:1fr}
 .custom-field-row{grid-template-columns:1fr}
 .patient-action-bar>*{width:100%}
}


/* Meraki v2.4.0 — menu recolhível, paleta clínica e agenda extraordinária */
:root{--clinic-primary:#5F5149;--clinic-secondary:#E7DED7;--clinic-accent:#B98C73;--clinic-background:#F7F7F5}
body{background:var(--clinic-background)}
.app-shell{transition:grid-template-columns .24s ease}
aside{background:var(--clinic-primary);border-right-color:rgba(255,255,255,.1);color:#fff;transition:width .24s ease,padding .24s ease}
.sidebar-brand-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;min-width:0}
.sidebar-brand-row .brand-lockup{flex:1;padding:0;min-width:0}
.sidebar-brand-row b,.sidebar-brand-row span,aside .brand-lockup b,aside .brand-lockup span{color:#fff}
.sidebar-toggle{width:32px;height:32px;flex:0 0 32px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:22px;line-height:1}
.sidebar-toggle:hover{background:rgba(255,255,255,.2)}
nav button{color:#e8e0d8;overflow:hidden;white-space:nowrap}
nav button:hover{background:rgba(255,255,255,.11);color:#fff}
nav button.active{background:var(--clinic-accent);color:#fff;box-shadow:0 8px 18px rgba(25,15,8,.18)}
nav button>span:first-child{flex:0 0 24px}
.nav-label{width:auto!important;text-align:left!important;font-size:12px!important;overflow:hidden;text-overflow:ellipsis}
.clinic-card{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16)}
.clinic-card span,.clinic-card small,.clinic-card b,.sidebar-footer .ghost,.version-chip{color:#fff}
.sidebar-footer .ghost:hover{background:rgba(255,255,255,.1)}
.brand-lockup.has-logo{background:var(--clinic-primary);border-radius:16px;padding:10px 12px}
.auth-brand.has-logo{background:var(--clinic-primary);padding:16px;border-radius:20px}
.auth-brand.has-logo h1,.auth-brand.has-logo p{color:#fff}
.sidebar-brand.has-logo{padding:7px 8px;background:rgba(255,255,255,.08)}
.identity-card{background:var(--clinic-primary)}
.identity-card b,.identity-card p{color:#fff}
.app-shell.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}
.app-shell.sidebar-collapsed aside{padding-inline:10px}
.app-shell.sidebar-collapsed .sidebar-brand-row{justify-content:center;flex-wrap:wrap}
.app-shell.sidebar-collapsed .sidebar-brand{justify-content:center;padding:4px;background:transparent}
.app-shell.sidebar-collapsed .sidebar-brand>div:last-child,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .clinic-card,.app-shell.sidebar-collapsed .logout-label{display:none}
.app-shell.sidebar-collapsed nav button{justify-content:center;padding-inline:8px}
.app-shell.sidebar-collapsed .sidebar-toggle{order:2}
.app-shell.sidebar-collapsed .sidebar-footer .ghost{display:grid;place-items:center}
.schedule-reference{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,var(--clinic-primary),#3c2512);color:#fff;border-radius:17px;padding:14px 17px;margin-bottom:15px}
.schedule-reference p,.schedule-reference span{margin:3px 0 0;color:#eee4dc;font-size:11px}
.calendar-day-head,.agenda-day-title,.schedule-warning-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.calendar-day-head small{font-size:8px;color:var(--muted)}
.calendar-day.closed-day{background:#f3eee9}.calendar-day.special-day{box-shadow:inset 0 0 0 2px var(--clinic-accent)}
.day-special-label{display:block;font-size:8px;color:var(--clinic-primary);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.extraordinary-event{background:#fff4ed!important;border-color:var(--clinic-accent)!important}
.extraordinary-badge{background:#f3d7c8!important;color:#7d402c!important;text-transform:none!important;white-space:nowrap}
.extraordinary-reason{display:block;color:#8a513b;margin-top:5px}
.appointment-status-stack{display:grid;gap:5px;justify-items:end}
.schedule-warning,.extraordinary-current,.danger-summary{border:1px solid #d9a27e;background:#fff7ef;border-radius:15px;padding:14px;margin-bottom:15px}
.schedule-warning ul{margin:10px 0 12px;padding-left:20px;font-size:12px}.schedule-warning li{margin:5px 0}
.extraordinary-current{display:grid;gap:5px}.extraordinary-current small{color:var(--muted)}
.danger-summary{border-color:#df9b9b;background:#fff3f3}.danger-summary p{margin:6px 0 0;color:#745858}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}
.hours-grid{display:grid;gap:9px}.hours-row{display:grid;grid-template-columns:125px 92px repeat(4,minmax(105px,1fr)) 130px 95px minmax(150px,1fr);gap:8px;align-items:end;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fff}.hours-row>b{align-self:center}.hours-row label{font-size:9px}.hours-row input{padding:8px}.hours-note{min-width:140px}.compact-check{align-self:center;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:6px!important}.compact-check input{width:auto}.schedule-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
@media(max-width:1180px){.hours-row{grid-template-columns:120px repeat(4,minmax(100px,1fr));}.hours-row .compact-check,.hours-row .hours-note{grid-column:auto}.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app-shell:not(.sidebar-collapsed){grid-template-columns:220px minmax(0,1fr)}.hours-row{grid-template-columns:1fr 1fr 1fr}.hours-row>b{grid-column:1/-1}.schedule-reference{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.app-shell,.app-shell.sidebar-collapsed{display:block}.sidebar-toggle{display:none}.nav-label,.app-shell.sidebar-collapsed .nav-label{display:inline!important}.sidebar-brand>div:last-child,.app-shell.sidebar-collapsed .sidebar-brand>div:last-child{display:block}.app-shell.sidebar-collapsed .clinic-card{display:block}.hours-row{grid-template-columns:1fr 1fr}.impact-grid{grid-template-columns:1fr}.appointment-status-stack{justify-items:start}.schedule-reference{padding:12px}.identity-card{min-height:110px}}
@media(max-width:430px){.hours-row{grid-template-columns:1fr}.hours-row>*{grid-column:1}.agenda-day-title{display:grid}.schedule-warning-head{display:grid}}

@media(min-width:681px) and (max-width:900px){
 .app-shell:not(.sidebar-collapsed) .sidebar-brand>div:last-child,.app-shell:not(.sidebar-collapsed) .clinic-card,.app-shell:not(.sidebar-collapsed) .sidebar-footer .ghost{display:block}
 .app-shell:not(.sidebar-collapsed) nav button{font-size:12px;justify-content:flex-start}
 .app-shell:not(.sidebar-collapsed) nav button>span:first-child{font-size:13px}
}

/* v2.4.0 — ajuste do nome da clínica quando ainda não há logo enviada */
.sidebar-brand b{display:block;max-width:145px;font-size:18px!important;line-height:1.12;overflow-wrap:break-word;word-break:normal}
.sidebar-brand span{display:block;font-size:10px;line-height:1.25;margin-top:5px}
.sidebar-brand .brand-mark{flex:0 0 auto}
.sidebar-logo{max-width:165px;max-height:64px;object-fit:contain}
.app-shell.sidebar-collapsed .sidebar-logo{max-width:44px;max-height:44px}
@media(max-width:900px) and (min-width:681px){.app-shell:not(.sidebar-collapsed) .sidebar-brand b{max-width:112px;font-size:16px!important}}


/* Meraki v2.5.0 — design system responsivo completo */
:root{
 --ui-radius-sm:10px;--ui-radius:16px;--ui-radius-lg:22px;
 --ui-shadow-sm:0 5px 18px rgba(67,51,39,.06);--ui-shadow:0 16px 44px rgba(67,51,39,.10);
 --ui-space:clamp(12px,1.3vw,20px);--ui-sidebar:264px;--ui-sidebar-mini:82px;
 --ui-topbar:78px;--ui-content:1560px;
}
html{scroll-behavior:smooth}body{background:var(--clinic-background);overflow-x:hidden;color:#342f2b}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--clinic-accent) 35%,transparent);outline-offset:2px}
.app-shell{grid-template-columns:var(--ui-sidebar) minmax(0,1fr);background:var(--clinic-background)}
.app-shell.sidebar-collapsed{grid-template-columns:var(--ui-sidebar-mini) minmax(0,1fr)}
aside{padding:18px 14px;background:linear-gradient(180deg,var(--clinic-primary),color-mix(in srgb,var(--clinic-primary) 82%,#22160e));box-shadow:8px 0 30px rgba(40,26,16,.10)}
.sidebar-brand-row{min-height:62px;margin-bottom:8px}.sidebar-brand{padding:7px 8px!important}.sidebar-logo{width:auto!important;max-width:176px!important;max-height:52px!important;border-radius:0!important}.sidebar-toggle{border-radius:50%;width:34px;height:34px;flex-basis:34px}
#nav{gap:3px;padding:7px 0}#nav button{min-height:45px;padding:10px 12px;border-radius:12px;font-weight:650;letter-spacing:.005em}#nav button>span:first-child{font-size:16px}#nav button.active{box-shadow:inset 3px 0 0 rgba(255,255,255,.72),0 8px 18px rgba(24,13,7,.12)}
.sidebar-footer{padding-top:10px}.clinic-card{border-radius:14px;padding:12px}.version-chip{text-align:center;font-size:10px;opacity:.72;padding:5px}
main{padding:20px clamp(16px,2.1vw,34px) 52px;max-width:100%;min-width:0}.page-content{max-width:var(--ui-content);margin-inline:auto;min-width:0}
.topbar{position:sticky;top:0;z-index:14;display:grid;grid-template-columns:minmax(210px,.8fr) minmax(280px,1.3fr) auto;align-items:center;gap:14px;margin:-20px calc(clamp(16px,2.1vw,34px)*-1) 22px;padding:15px clamp(16px,2.1vw,34px);background:color-mix(in srgb,var(--clinic-background) 86%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--clinic-secondary) 45%,transparent)}
.topbar-heading{display:flex;align-items:center;gap:10px;min-width:0}.topbar-heading>div{min-width:0}.topbar h1{font-size:clamp(24px,2.2vw,32px);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search{position:relative;display:flex;align-items:center;min-width:0;background:#fff;border:1px solid color-mix(in srgb,var(--clinic-secondary) 62%,#fff);border-radius:14px;box-shadow:var(--ui-shadow-sm);padding:0 10px}.global-search>span{font-size:20px;color:var(--clinic-primary)}.global-search input{border:0;box-shadow:none;background:transparent;padding:11px 9px;min-width:0}.global-search input:focus{box-shadow:none}.global-search kbd{font-size:9px;color:#8b7e74;background:#f4f0ec;border:1px solid #e4dcd5;border-radius:6px;padding:3px 6px;white-space:nowrap}
.global-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 60px rgba(48,35,26,.19);padding:7px;max-height:min(520px,70vh);overflow:auto}.global-search-item{width:100%;border:0;background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;padding:10px;border-radius:11px;color:var(--ink)}.global-search-item:hover{background:#f8f3ef}.global-search-item>span{width:32px;height:32px;border-radius:10px;background:#f0e6df;display:grid;place-items:center;color:var(--clinic-primary);font-weight:800}.global-search-item div{min-width:0}.global-search-item b,.global-search-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-item b{font-size:12px}.global-search-item small{font-size:10px;color:var(--muted);margin-top:3px}.global-search-item em{font-size:9px;font-style:normal;color:var(--muted)}.search-loading,.search-empty{padding:24px;text-align:center;color:var(--muted);font-size:12px}
.top-actions{justify-content:flex-end;align-items:center;flex-wrap:nowrap}.top-actions button{white-space:nowrap}.icon-action{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--clinic-primary);font-weight:900}
.primary,.secondary,.ghost,.danger-btn,.success-btn{min-height:40px;border-radius:11px;padding:9px 14px}.primary{background:var(--clinic-primary);box-shadow:0 8px 20px color-mix(in srgb,var(--clinic-primary) 24%,transparent)}.primary:hover{background:color-mix(in srgb,var(--clinic-primary) 88%,#000)}
.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-space)}.metric-card,.panel,.kanban-column{border-color:color-mix(in srgb,var(--clinic-secondary) 46%,#fff);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);background:rgba(255,255,255,.97)}.metric-card{padding:clamp(15px,1.4vw,21px);min-width:0}.metric-card strong{font-size:clamp(23px,2vw,30px);overflow-wrap:anywhere}.panel{padding:clamp(16px,1.6vw,24px);min-width:0}.grid-2{grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr)}.grid-3{gap:var(--ui-space)}
.toolbar{background:color-mix(in srgb,var(--clinic-background) 66%,#fff);border:1px solid color-mix(in srgb,var(--clinic-secondary) 38%,#fff);padding:10px;border-radius:14px;gap:8px}.toolbar:empty{display:none}.toolbar input,.toolbar select{background:#fff;min-height:40px}.toolbar .push{margin-left:auto}
.table-wrap{border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.table{min-width:760px}.table th{top:0;background:#f7f3ef;color:#6c5c50;padding:11px}.table td{padding:12px 11px}.table-actions{gap:5px}.table-actions button,.table-actions a{min-height:32px;padding:6px 9px;font-size:10px;text-decoration:none;display:inline-flex;align-items:center}
.agenda-shell{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:var(--ui-space)}.calendar-header{background:#f9f5f2;border:1px solid var(--line);border-radius:14px;padding:9px}.calendar-grid{gap:6px}.calendar-day{min-height:132px;border-radius:12px;padding:8px}.calendar-event{padding:6px;border-radius:8px}.appointment-row{grid-template-columns:84px minmax(0,1fr) auto;gap:14px;padding:14px;border-radius:14px}.appointment-row .time{display:grid;gap:4px}.agenda-day-title{padding:6px 2px}.agenda-day-title h3{text-transform:capitalize}
.kanban{gap:10px}.kanban-column{border-radius:16px;min-height:360px}.kanban-card{border-radius:12px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--ui-space)}.product-card{border-radius:18px;overflow:hidden}
.modal{width:min(920px,calc(100vw - 32px));border-radius:22px;max-height:92dvh}.modal-head{padding:18px 22px}.modal #modalBody{padding:18px 22px;max-height:calc(92dvh - 150px)}.modal-actions{position:sticky;bottom:0;background:#fff;padding:13px 22px;z-index:3}.form-grid{gap:13px}.form-grid label{min-width:0}.detail{min-width:0;border-radius:13px}.tabs{gap:3px}.tabs button{border-radius:10px 10px 0 0}
.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-action-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;text-align:left;display:grid;grid-template-columns:42px 1fr;gap:4px 12px;align-items:center}.quick-action-card:hover{border-color:var(--clinic-accent);box-shadow:var(--ui-shadow-sm)}.quick-action-card>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f2e6df;color:var(--clinic-primary);font-weight:900}.quick-action-card b{font-size:13px}.quick-action-card small{color:var(--muted)}
.page-skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.skeleton-card,.skeleton-wide{height:132px;border-radius:20px;background:linear-gradient(90deg,#eee7e1 25%,#f8f4f1 45%,#eee7e1 65%);background-size:300% 100%;animation:skeleton 1.25s infinite}.skeleton-wide{grid-column:1/-1;height:340px}@keyframes skeleton{to{background-position:-200% 0}}
.wizard-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:18px}.wizard-nav button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px;color:var(--muted);font-size:11px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:7px}.wizard-nav button span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#eee7e1}.wizard-nav button.active{border-color:var(--clinic-accent);color:var(--clinic-primary);background:#fff8f4}.wizard-nav button.active span{background:var(--clinic-primary);color:#fff}.appointment-step{display:block;border:1px solid var(--line);background:#fcfaf8;border-radius:17px;padding:16px;margin-bottom:14px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading small{text-transform:uppercase;letter-spacing:.08em;color:var(--clinic-accent);font-weight:850}.section-heading h3{margin:2px 0 0;color:var(--clinic-primary)}.quick-patient-panel{border:1px solid color-mix(in srgb,var(--clinic-accent) 55%,#fff);background:#fff;border-radius:16px;padding:15px;margin-top:14px}.quick-patient-message{margin-top:10px}.modal-inline-actions{display:flex;justify-content:flex-end;margin-top:12px}.appointment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}.appointment-summary>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px}.appointment-summary span,.appointment-summary b{display:block}.appointment-summary span{font-size:9px;color:var(--muted);text-transform:uppercase}.appointment-summary b{margin-top:4px;font-size:12px}.wizard-controls{display:none}.appointment-action-dock{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}
.mobile-bottom-nav,.mobile-fab{display:none}.sidebar-backdrop{position:fixed;inset:0;border:0;background:rgba(34,24,18,.45);z-index:19}.mobile-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mobile-more-grid button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 8px;display:grid;place-items:center;gap:7px}.mobile-more-grid span{font-size:21px;color:var(--clinic-primary)}
.density-compact .panel{padding:14px}.density-compact .metric-card{padding:13px}.density-compact .table th,.density-compact .table td{padding:8px 9px}.density-compact #nav button{min-height:38px;padding-block:7px}.density-compact .toolbar{padding:7px}.density-compact input,.density-compact select,.density-compact textarea{padding:8px 10px}
@media(max-width:1280px){.topbar{grid-template-columns:minmax(200px,.8fr) minmax(240px,1fr) auto}.desktop-action{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.agenda-shell{grid-template-columns:1fr}.agenda-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:980px){:root{--ui-sidebar:220px}.topbar{grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);}.top-actions{grid-column:1/-1;justify-content:flex-start}.top-actions #newBtn{margin-left:auto}.global-search kbd{display:none}.monitor-metrics,.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 body.app-active{padding-bottom:74px}.app-shell,.app-shell.sidebar-collapsed{display:block}.app-shell main{padding:12px 10px 30px}aside{position:fixed;left:0;top:0;bottom:0;width:min(86vw,310px);height:100dvh;transform:translateX(-105%);transition:transform .24s ease;z-index:20;padding:16px 13px}.app-shell aside.open{transform:translateX(0)}.menu-open{overflow:hidden}.sidebar-toggle{display:none}.sidebar-brand>div:last-child,.app-shell.sidebar-collapsed .sidebar-brand>div:last-child,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .clinic-card,.app-shell.sidebar-collapsed .logout-label{display:block!important}.app-shell.sidebar-collapsed nav button{justify-content:flex-start;padding-inline:12px}
 .topbar{position:sticky;top:0;margin:-12px -10px 14px;padding:10px;grid-template-columns:1fr auto;gap:9px;background:color-mix(in srgb,var(--clinic-background) 94%,transparent)}.topbar-heading{grid-column:1}.topbar-heading .mobile-only{display:block}.topbar h1{font-size:23px}.topbar p{font-size:11px}.global-search{grid-column:1/-1;grid-row:2}.global-search input{padding:10px 7px}.top-actions{grid-column:2;grid-row:1;display:flex}.top-actions .desktop-action,.top-actions #densityToggle{display:none}.top-actions #newBtn{display:none!important}
 .app-active .mobile-bottom-nav{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:25;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px max(5px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));box-shadow:0 -8px 25px rgba(54,38,26,.08)}.mobile-bottom-nav button{border:0;background:transparent;color:#8b7d72;padding:5px 2px;border-radius:10px;display:grid;place-items:center;gap:2px;min-width:0}.mobile-bottom-nav button span{font-size:17px;font-weight:800}.mobile-bottom-nav button small{font-size:9px;white-space:nowrap}.mobile-bottom-nav button.active{color:var(--clinic-primary);background:#f2e8e1}
 .app-active .mobile-fab{display:grid;position:fixed;right:16px;bottom:84px;z-index:24;width:54px;height:54px;border-radius:50%;border:4px solid var(--clinic-background);background:var(--clinic-primary);color:#fff;font-size:28px;place-items:center;box-shadow:0 12px 28px rgba(52,36,26,.28)}
 .cards{grid-template-columns:1fr 1fr;gap:9px}.metric-card{border-radius:16px;padding:13px}.metric-card strong{font-size:21px}.panel{border-radius:17px;padding:14px}.toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.toolbar>*{width:100%!important;min-width:0!important}.toolbar .push{margin-left:0;grid-column:1/-1}.agenda-side{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(7,104px)}
 .responsive-table{min-width:0!important}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tbody{display:grid;gap:10px}.responsive-table tr{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px;box-shadow:var(--ui-shadow-sm)}.responsive-table td{border:0!important;padding:7px 4px!important;display:grid;grid-template-columns:minmax(90px,35%) minmax(0,1fr);gap:8px;align-items:start;text-align:right}.responsive-table td::before{content:attr(data-label);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left}.responsive-table td:only-child{display:block;text-align:center}.responsive-table td .table-actions{justify-content:flex-end}.table-wrap{overflow:visible;border:0;background:transparent}.table{min-width:0}
 .modal{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}.modal form{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.modal #modalBody{max-height:none;padding:14px;overflow:auto}.modal-head{padding:14px 16px}.modal-actions{padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -5px 18px rgba(45,32,24,.08)}.modal-actions button{flex:1}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.detail-grid{grid-template-columns:1fr 1fr}.quick-action-grid{grid-template-columns:1fr}.wizard-nav{grid-template-columns:repeat(4,1fr);position:sticky;top:-14px;z-index:4;background:#fff;padding:8px 0}.wizard-nav button{font-size:0;padding:7px}.wizard-nav button span{font-size:11px}.appointment-step{display:none;padding:13px}.appointment-step.active{display:block}.wizard-controls{display:flex;justify-content:space-between;gap:9px;position:sticky;bottom:-14px;background:#fff;padding:10px 0 4px;z-index:4}.wizard-controls button{flex:1}.appointment-wizard-modal .modal-actions button[type="submit"]{display:none}.appointment-wizard-modal .modal-actions button[type="submit"].mobile-submit-visible{display:block}.appointment-summary{grid-template-columns:1fr}.appointment-action-dock{display:grid;grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start}.section-heading #toggleQuickPatient{white-space:nowrap}.mobile-more-grid{grid-template-columns:repeat(3,1fr)}
 .kanban{grid-template-columns:repeat(7,82vw)}.product-grid{grid-template-columns:1fr}.hours-row,.custom-field-row,.kit-row,.sale-item-row,.sale-payment-row{grid-template-columns:1fr!important}.hours-row>*{grid-column:1!important}.monitor-details,.diagnostic-grid,.monitor-metrics{grid-template-columns:1fr}.log-row{grid-template-columns:1fr auto}.identity-preview,.color-grid{grid-template-columns:1fr}
}
@media(max-width:430px){.cards{grid-template-columns:1fr}.topbar h1{font-size:21px}.topbar p{max-width:230px}.toolbar{grid-template-columns:1fr}.toolbar .push{grid-column:1}.responsive-table td{grid-template-columns:1fr;text-align:left}.responsive-table td::before{margin-bottom:2px}.responsive-table td .table-actions{justify-content:flex-start}.detail-grid{grid-template-columns:1fr}.appointment-action-dock,.mobile-more-grid{grid-template-columns:1fr 1fr}.section-heading{display:grid}.section-heading #toggleQuickPatient{width:100%}.quick-patient-panel{padding:12px}.modal-head h2{font-size:20px}}
@media print{.mobile-bottom-nav,.mobile-fab,.global-search,.sidebar-backdrop{display:none!important}}


:root{--clinic-menu:#F5F3F1;--clinic-menu-active:#DED6CF;--clinic-menu-text:#2E2A27;--clinic-menu-active-text:#221F1D}#sidebar{background:linear-gradient(180deg,var(--clinic-menu),color-mix(in srgb,var(--clinic-menu) 88%, #000 12%));border-right:1px solid rgba(255,255,255,.08);color:var(--clinic-menu-text)}#sidebar nav{gap:14px;padding-right:2px}#sidebar .nav-section{display:grid;gap:6px}#sidebar .nav-section-title{padding:0 12px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.56)}#sidebar nav button{color:var(--clinic-menu-text)}#sidebar nav button:hover{background:rgba(255,255,255,.08);color:var(--clinic-menu-text)}#sidebar nav button.active{background:var(--clinic-menu-active);color:var(--clinic-menu-active-text);box-shadow:inset 3px 0 0 rgba(255,255,255,.85)}#sidebar .nav-parent{justify-content:flex-start}#sidebar .nav-parent .nav-caret{margin-left:auto;width:auto;font-size:11px;opacity:.72;transition:transform .2s ease}#sidebar .nav-group.open>.nav-parent .nav-caret{transform:rotate(180deg)}#sidebar .nav-group.active-group>.nav-parent{background:rgba(255,255,255,.06)}#sidebar .nav-submenu{display:grid;gap:4px;padding-left:14px;margin-top:-2px}#sidebar .nav-group:not(.open) .nav-submenu{display:none}#sidebar .nav-submenu button{padding:9px 12px;border-radius:10px;font-weight:600;font-size:11px;color:var(--clinic-menu-text);opacity:.84}#sidebar .nav-submenu button span:first-child{font-size:9px;opacity:.9}#sidebar .nav-submenu button.active{background:rgba(255,255,255,.16);box-shadow:inset 2px 0 0 rgba(255,255,255,.85)}#sidebar .sidebar-brand-row{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}#sidebar .brand-lockup.has-logo,.sidebar-brand.has-logo{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.08)}#sidebar .clinic-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}#sidebar .version-chip{display:inline-flex;justify-content:center;align-items:center;background:rgba(255,255,255,.12);border-radius:999px;padding:6px 10px;color:var(--clinic-menu-text)}#sidebar #logout{margin-top:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--clinic-menu-text)}#sidebar #logout:hover{background:rgba(255,255,255,.1)}.app-shell.sidebar-collapsed #sidebar .nav-section-title,.app-shell.sidebar-collapsed #sidebar .nav-caret,.app-shell.sidebar-collapsed #sidebar .nav-submenu{display:none!important}.app-shell.sidebar-collapsed #sidebar .nav-group{display:contents}.app-shell.sidebar-collapsed #sidebar nav{gap:6px}.app-shell.sidebar-collapsed #sidebar nav button{justify-content:center}.app-shell.sidebar-collapsed #sidebar .sidebar-footer{display:grid;justify-items:center}.app-shell.sidebar-collapsed #sidebar .version-chip{margin-top:8px}.app-shell.sidebar-collapsed #sidebar .clinic-card{display:none!important}@media(max-width:680px){#sidebar{width:min(88vw,320px);padding:16px 14px 26px}#sidebar .nav-section-title{padding-inline:10px}#sidebar .nav-submenu{padding-left:10px}#sidebar .sidebar-brand-row{margin-bottom:12px}.mobile-bottom-nav{background:rgba(255,255,255,.98)}.app-shell aside.open{box-shadow:20px 0 48px rgba(23,16,12,.28)}}
/* v2.5.2 — cores independentes das letras do menu */
#sidebar,
#sidebar .sidebar-brand b,
#sidebar .sidebar-brand span,
#sidebar .clinic-card,
#sidebar .clinic-card b,
#sidebar .clinic-card span,
#sidebar .clinic-card small,
#sidebar .version-chip,
#sidebar #logout {
  color: var(--clinic-menu-text);
}
#sidebar .nav-section-title,
#sidebar .nav-parent .nav-caret {
  color: var(--clinic-menu-text);
  opacity: .62;
}
#sidebar nav button,
#sidebar .nav-submenu button {
  color: var(--clinic-menu-text);
}
#sidebar nav button.active,
#sidebar .nav-submenu button.active {
  color: var(--clinic-menu-active-text);
}


/* Meraki v2.5.3 — menu simplificado e Configurações centralizadas */
#sidebar #nav{display:grid;gap:6px;padding:8px 0}#sidebar #nav>button,#sidebar #nav>.nav-group>.nav-parent{min-height:44px}#sidebar .settings-nav-group{display:grid;gap:5px}#sidebar .settings-nav-group>.nav-parent{width:100%}#sidebar .settings-nav-group.active-group>.nav-parent{background:rgba(255,255,255,.10)}#sidebar .settings-nav-group .nav-submenu{display:grid;gap:3px;margin:0 0 2px 10px;padding:6px 0 4px 10px;border-left:1px solid color-mix(in srgb,var(--clinic-menu-text) 24%,transparent)}#sidebar .settings-nav-group:not(.open) .nav-submenu{display:none}#sidebar .settings-nav-group .nav-submenu button{min-height:36px;padding:8px 10px;font-size:11px;border-radius:9px}#sidebar .settings-nav-group .nav-submenu button>span:first-child{width:14px;font-size:9px}.app-shell.sidebar-collapsed #sidebar .settings-nav-group .nav-submenu{display:none!important}.app-shell.sidebar-collapsed #sidebar .settings-nav-group{display:block}.app-shell.sidebar-collapsed #sidebar .settings-nav-group>.nav-parent{justify-content:center}.app-shell.sidebar-collapsed #sidebar .settings-nav-group>.nav-parent .nav-caret{display:none}.menu-theme-preview{max-width:360px;padding:14px;border-radius:18px;background:var(--clinic-menu);color:var(--clinic-menu-text);box-shadow:var(--ui-shadow-sm)}.menu-preview-brand{display:flex;gap:10px;align-items:center;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--clinic-menu-text) 18%,transparent)}.menu-preview-brand div{display:grid}.menu-preview-brand small{opacity:.7}.menu-preview-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-weight:800}.menu-preview-item{display:flex;gap:9px;align-items:center;padding:9px 10px;border-radius:10px;color:var(--clinic-menu-text)}.menu-preview-item.active{background:var(--clinic-menu-active);color:var(--clinic-menu-active-text)}@media(max-width:680px){#sidebar .settings-nav-group .nav-submenu{margin-left:8px;padding-left:8px}.menu-theme-preview{max-width:none}}

/* v2.6.0 — padrão de campos e botões */
button,.primary,.secondary,.ghost,.danger-btn,.success-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.15}button:disabled{opacity:.48;cursor:not-allowed;transform:none!important}input,select,textarea{min-height:44px;border-radius:12px;border:1px solid #d9cec7;background:#fff;transition:border-color .18s,box-shadow .18s,background .18s}textarea{min-height:100px}input:hover,select:hover,textarea:hover{border-color:#c5b4aa}input:focus,select:focus,textarea:focus{border-color:var(--clinic-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--clinic-primary) 16%,transparent)}input[type=checkbox],input[type=radio]{width:19px;height:19px;min-height:0;accent-color:var(--clinic-primary)}.field-with-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.input-action{min-height:44px;border:1px solid var(--clinic-secondary);background:var(--cream);color:var(--brown-dark);border-radius:12px;padding:0 13px;font-weight:800}.settings-split{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px}.settings-list{display:grid;align-content:start;gap:7px}.settings-list-item{display:grid!important;text-align:left!important;justify-content:stretch!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important}.settings-list-item.active{background:var(--cream)!important;box-shadow:inset 3px 0 0 var(--clinic-primary)!important}.anamnesis-history{display:grid;gap:10px}.anamnesis-record{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.anamnesis-record p{margin:4px 0 0;color:var(--muted);font-size:11px}.anamnesis-form-section{border:1px solid var(--line);border-radius:16px;padding:14px;margin:14px 0;background:#fff}.anamnesis-form-section h3{margin:0 0 12px}.form-grid label{align-content:start}.form-grid label>input,.form-grid label>select,.form-grid label>textarea{margin-top:1px}@media(max-width:680px){button,.primary,.secondary,.danger-btn,.success-btn{min-height:46px}.field-with-action{grid-template-columns:1fr}.settings-split{grid-template-columns:1fr}.anamnesis-record{align-items:flex-start;flex-direction:column}}


/* v2.6.1 — menu inspirado na organização da Hostinger */
:root{--ui-sidebar:270px;--ui-sidebar-mini:76px}
.app-shell{grid-template-columns:var(--ui-sidebar) minmax(0,1fr)}
#sidebar{padding:14px 12px 16px;background:var(--clinic-menu);box-shadow:1px 0 0 rgba(0,0,0,.06);overflow:hidden}
#sidebar .sidebar-brand-row{position:relative;min-height:72px;margin:0 0 10px;padding:6px 42px 12px 6px;border-bottom:1px solid color-mix(in srgb,var(--clinic-menu-text) 16%,transparent);align-items:center}
#sidebar .sidebar-brand{min-width:0;width:100%;gap:10px;background:transparent!important;border:0!important;padding:0!important}
#sidebar .sidebar-brand.has-logo>div:last-child{display:none}
#sidebar .sidebar-logo{display:block;width:auto!important;height:auto!important;max-width:176px!important;max-height:58px!important;object-fit:contain!important;object-position:left center;border-radius:0!important}
#sidebar .sidebar-brand:not(.has-logo) .brand-mark{width:44px;height:44px;border-radius:12px;box-shadow:none}
#sidebar .sidebar-brand b{max-width:155px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:15px!important;line-height:1.22;font-weight:750;letter-spacing:-.01em;color:var(--clinic-menu-text)!important}
#sidebar .sidebar-brand span{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:10px;line-height:1.2;color:var(--clinic-menu-text)!important;opacity:.72}
#sidebar .sidebar-toggle{position:absolute;right:2px;top:50%;transform:translateY(-60%);width:34px;height:34px;border-radius:11px;border:1px solid color-mix(in srgb,var(--clinic-menu-text) 25%,transparent);background:color-mix(in srgb,var(--clinic-menu-text) 8%,transparent);color:var(--clinic-menu-text)}
#sidebar #nav{gap:4px;padding:4px 0 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--clinic-menu-text) 36%,transparent) transparent}
#sidebar #nav>button,#sidebar .settings-nav-group>.nav-parent{min-height:43px;padding:10px 12px;border-radius:11px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:12px;font-weight:650;letter-spacing:0;gap:10px}
#sidebar #nav button>span:first-child{flex:0 0 24px;width:24px;display:grid;place-items:center;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:800}
#sidebar #nav button.active{box-shadow:none;background:var(--clinic-menu-active);color:var(--clinic-menu-active-text);font-weight:750}
#sidebar .settings-nav-group .nav-submenu{margin:4px 0 4px 14px;padding:2px 0 2px 10px;border-left:1px solid color-mix(in srgb,var(--clinic-menu-text) 24%,transparent);gap:2px;max-height:min(430px,48vh);overflow:auto}
#sidebar .settings-nav-group .nav-submenu button{min-height:36px;padding:8px 9px;border-radius:9px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:11px;font-weight:560;gap:6px}
#sidebar .settings-nav-group .nav-submenu button>span:first-child{font-size:8px;flex-basis:14px;width:14px}
#sidebar .sidebar-footer{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--clinic-menu-text) 14%,transparent)}
#sidebar .clinic-card{padding:10px 11px;margin:0 0 8px;border-radius:11px;background:color-mix(in srgb,var(--clinic-menu-text) 7%,transparent);border:1px solid color-mix(in srgb,var(--clinic-menu-text) 12%,transparent)}
#sidebar .clinic-card span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;opacity:.65}
#sidebar .clinic-card b{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:11px;line-height:1.35;font-weight:700;margin:4px 0 2px}
#sidebar .clinic-card small{font-size:9px;opacity:.72}
#sidebar .version-chip{justify-self:start;padding:4px 8px;font-family:Inter,system-ui,sans-serif;font-size:9px;background:transparent;border:1px solid color-mix(in srgb,var(--clinic-menu-text) 22%,transparent)}
#sidebar #logout{min-height:42px;border-radius:11px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:700}
.app-shell.sidebar-collapsed{grid-template-columns:var(--ui-sidebar-mini) minmax(0,1fr)}
.app-shell.sidebar-collapsed #sidebar{padding-inline:10px}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand-row{height:70px;min-height:70px;padding:6px 0 12px;justify-content:center;overflow:visible}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand{width:48px;height:48px;justify-content:center;overflow:hidden}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand.has-logo{display:flex!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-logo{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;object-fit:contain!important;object-position:center!important}
.app-shell.sidebar-collapsed #sidebar .brand-mark{width:44px;height:44px}
.app-shell.sidebar-collapsed #sidebar .sidebar-toggle{right:-2px;top:34px;width:28px;height:28px;border-radius:9px;background:var(--clinic-menu-active);color:var(--clinic-menu-active-text);z-index:2}
.app-shell.sidebar-collapsed #sidebar #nav{gap:5px;padding-top:6px}
.app-shell.sidebar-collapsed #sidebar #nav>button,.app-shell.sidebar-collapsed #sidebar .settings-nav-group>.nav-parent{width:52px;height:46px;min-height:46px;margin-inline:auto;padding:0;justify-content:center;border-radius:12px}
.app-shell.sidebar-collapsed #sidebar #nav button>span:first-child{font-size:16px}
.app-shell.sidebar-collapsed #sidebar .settings-nav-group{display:contents}
.app-shell.sidebar-collapsed #sidebar .settings-nav-group .nav-submenu,.app-shell.sidebar-collapsed #sidebar .nav-caret{display:none!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-footer{display:grid;gap:8px;justify-items:center}
.app-shell.sidebar-collapsed #sidebar .clinic-card,.app-shell.sidebar-collapsed #sidebar .logout-label{display:none!important}
.app-shell.sidebar-collapsed #sidebar #logout{width:52px;height:46px;padding:0;display:grid;place-items:center}
.app-shell.sidebar-collapsed #sidebar .version-chip{justify-self:center;font-size:8px;padding:4px 6px}

/* imagens e cards de produtos */
.product-grid{align-items:stretch;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.product-card{display:flex;flex-direction:column;min-height:510px;background:#fff}
.product-image{height:220px;padding:18px;background:#fbf8f5;border-bottom:1px solid var(--line);overflow:hidden}
.product-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center!important}
.product-body{display:flex;flex:1;flex-direction:column;padding:16px}
.product-body h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:42px;font-size:16px;line-height:1.3}
.product-body .table-actions{margin-top:auto;padding-top:10px}
.product-image-upload{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fbf9f7}
.product-image-preview{height:220px;display:grid;place-items:center;margin:8px 0 12px;padding:14px;border:1px dashed var(--line);border-radius:13px;background:#fff;color:var(--muted)}
.product-image-preview img{width:100%;height:100%;object-fit:contain}
.file-selection-note{padding:10px 12px;border-radius:10px;background:var(--cream);color:var(--muted);font-size:11px}

@media(max-width:900px) and (min-width:681px){
  .app-shell:not(.sidebar-collapsed){grid-template-columns:240px minmax(0,1fr)}
  #sidebar .sidebar-logo{max-width:142px!important}
}
@media(max-width:680px){
  #sidebar{width:min(88vw,320px);padding:12px 11px 18px}
  #sidebar .sidebar-brand-row{min-height:66px;padding-right:6px}
  #sidebar .sidebar-toggle{display:none}
  #sidebar .sidebar-logo{max-width:190px!important;max-height:54px!important}
  #sidebar .settings-nav-group .nav-submenu{max-height:none}
  .product-card{min-height:0}
  .product-image{height:210px}
}
#sidebar #nav::-webkit-scrollbar{width:6px}
#sidebar #nav::-webkit-scrollbar-track{background:transparent}
#sidebar #nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--clinic-menu-text) 30%,transparent);border-radius:999px}


/* Meraki v2.6.2 — tema clean inspirado no ChatGPT */
:root{
  --clinic-primary:#5F5149;
  --clinic-secondary:#E7DED7;
  --clinic-accent:#B98C73;
  --clinic-background:#F7F7F5;
  --clinic-menu:#F5F3F1;
  --clinic-menu-active:#DED6CF;
  --clinic-menu-text:#2E2A27;
  --clinic-menu-active-text:#221F1D;
  --ink:#242424;
  --muted:#6F6F6F;
  --line:#E5E5E2;
  --cream:#F5F3F1;
  --brown:#5F5149;
  --brown-dark:#2E2A27;
  --rose-2:#E7DED7;
  --sand:#B98C73;
  --shadow:0 8px 24px rgba(0,0,0,.055);
}
html,body{background:var(--clinic-background)!important;color:var(--ink)}
body{background-image:none!important}
main{background:var(--clinic-background)}
.topbar{background:color-mix(in srgb,var(--clinic-background) 96%,#fff)!important}
.topbar h1,.panel h2,.panel h3,.metric-card strong,.product-body h3,.product-body strong{color:#242424!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important}
.metric-card,.panel,.kanban-column,.product-card,.quick-item,.appointment-row,.calendar-day,.detail,.anamnesis-record,.anamnesis-form-section{background:#fff!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important}
.toolbar{background:#F1F1EF!important;border-color:var(--line)!important}
.table-wrap{border-color:var(--line)!important;box-shadow:none!important}
.table th{background:#F5F3F1!important;color:#5F5F5F!important}
.table tr:hover td{background:#FAFAF9!important}
input,select,textarea{background:#fff!important;border-color:#D9D9D6!important;color:#242424!important}
input:focus,select:focus,textarea:focus{border-color:#8A7A71!important;box-shadow:0 0 0 3px rgba(95,81,73,.11)!important}
.primary{background:#2E2A27!important;color:#fff!important;box-shadow:none!important}
.primary:hover{background:#221F1D!important}
.secondary,.ghost{background:#fff!important;color:#2E2A27!important;border:1px solid #DADAD7!important}
.secondary:hover,.ghost:hover{background:#F1F1EF!important}
.success-btn{background:#E8F3EC!important;color:#25603D!important;border:1px solid #CFE4D7!important}
.danger-btn{background:#FCEBEB!important;color:#A13F3F!important;border:1px solid #F2D5D5!important}
.badge{background:#EFEFEC!important;color:#454545!important}
.badge.success{background:#E7F2EB!important;color:#2E6B45!important}
.badge.warning{background:#FFF4D9!important;color:#815B19!important}
.badge.danger{background:#FBE8E8!important;color:#9A3F3F!important}

/* Menu aberto: somente o nome. Menu fechado: somente a logo. */
#sidebar{
  background:var(--clinic-menu)!important;
  color:var(--clinic-menu-text)!important;
  border-right:1px solid #E2E2DF!important;
  box-shadow:none!important;
  padding:12px 10px 14px!important;
}
#sidebar .sidebar-brand-row{
  min-height:58px!important;
  padding:4px 38px 10px 8px!important;
  margin:0 0 6px!important;
  border-bottom:1px solid #E1E1DE!important;
}
#sidebar .sidebar-brand{background:transparent!important;border:0!important;padding:0!important;gap:0!important}
#sidebar .sidebar-brand.has-logo .sidebar-logo,
#sidebar .sidebar-brand:not(.has-logo) .brand-mark{display:none!important}
#sidebar .sidebar-brand>div:last-child{display:block!important;min-width:0!important}
#sidebar .sidebar-brand b{display:block!important;max-width:190px!important;font-size:15px!important;line-height:1.3!important;font-weight:650!important;color:var(--clinic-menu-text)!important;white-space:normal!important;overflow-wrap:anywhere!important}
#sidebar .sidebar-brand-subtitle{display:none!important}
#sidebar .sidebar-toggle{right:2px!important;top:26px!important;width:30px!important;height:30px!important;border:1px solid #D7D7D3!important;background:transparent!important;color:#555!important;border-radius:9px!important;transform:none!important}
#sidebar .sidebar-toggle:hover{background:#E8E8E5!important}
#sidebar #nav{gap:2px!important;padding:4px 0 8px!important;scrollbar-color:#C8C8C4 transparent!important}
#sidebar #nav>button,#sidebar .settings-nav-group>.nav-parent{min-height:42px!important;padding:9px 10px!important;border-radius:9px!important;color:var(--clinic-menu-text)!important;font-size:12px!important;font-weight:520!important}
#sidebar #nav button:hover,#sidebar .settings-nav-group>.nav-parent:hover{background:#EAEAE7!important;color:#221F1D!important}
#sidebar #nav button.active{background:var(--clinic-menu-active)!important;color:var(--clinic-menu-active-text)!important;box-shadow:none!important;font-weight:620!important}
#sidebar .settings-nav-group.active-group>.nav-parent{background:#EDEDE9!important}
#sidebar .settings-nav-group .nav-submenu{border-left:1px solid #D7D7D3!important;margin-left:18px!important;padding-left:8px!important}
#sidebar .settings-nav-group .nav-submenu button{color:#4A4A4A!important;opacity:1!important}
#sidebar .settings-nav-group .nav-submenu button:hover{background:#EAEAE7!important}
#sidebar .clinic-card{background:transparent!important;border:0!important;border-top:1px solid #E1E1DE!important;border-radius:0!important;padding:12px 8px 6px!important;margin:0!important;color:#2E2A27!important}
#sidebar .clinic-card span,#sidebar .clinic-card b,#sidebar .clinic-card small{color:#2E2A27!important}
#sidebar .clinic-card span{opacity:.58!important}
#sidebar .version-chip{background:transparent!important;border:0!important;color:#777!important;padding:4px 8px!important}
#sidebar #logout{background:transparent!important;border:0!important;color:#2E2A27!important;justify-content:flex-start!important;padding:9px 10px!important}
#sidebar #logout:hover{background:#EAEAE7!important}

.app-shell.sidebar-collapsed #sidebar{padding-inline:8px!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand-row{height:54px!important;min-height:54px!important;padding:2px 0 8px!important;justify-content:center!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand{width:42px!important;height:42px!important;display:grid!important;place-items:center!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand>div:last-child{display:none!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand.has-logo .sidebar-logo{display:block!important;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;object-position:center!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-brand:not(.has-logo) .brand-mark{display:grid!important;width:36px!important;height:36px!important;border-radius:10px!important;background:#2E2A27!important;color:#fff!important;box-shadow:none!important}
.app-shell.sidebar-collapsed #sidebar .sidebar-toggle{right:-2px!important;top:14px!important;width:26px!important;height:26px!important;background:#fff!important}
.app-shell.sidebar-collapsed #sidebar #nav>button,.app-shell.sidebar-collapsed #sidebar .settings-nav-group>.nav-parent{width:46px!important;height:44px!important;min-height:44px!important;border-radius:10px!important}
.app-shell.sidebar-collapsed #sidebar .version-chip{display:none!important}
.app-shell.sidebar-collapsed #sidebar #logout{width:46px!important;height:44px!important;justify-content:center!important;padding:0!important}

/* Comissões: ações sempre visíveis no celular */
.commission-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
.commission-actions button{visibility:visible!important;opacity:1!important}
@media(max-width:760px){
  #sidebar .sidebar-brand.has-logo .sidebar-logo,#sidebar .sidebar-brand:not(.has-logo) .brand-mark{display:none!important}
  #sidebar .sidebar-brand>div:last-child{display:block!important}
  #sidebar .sidebar-brand b{font-size:15px!important;max-width:230px!important}
  .commission-table td:last-child{display:block!important;text-align:left!important;padding-top:10px!important;border-top:1px solid var(--line)!important;margin-top:4px!important}
  .commission-table td:last-child::before{display:block!important;margin-bottom:8px!important}
  .commission-table .commission-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;justify-content:stretch!important}
  .commission-table .commission-actions button{display:flex!important;width:100%!important;min-height:44px!important;font-size:11px!important}
  .modal-actions{background:#fff!important;border-top:1px solid var(--line)!important}
}
@media(max-width:430px){
  .commission-table .commission-actions{grid-template-columns:1fr!important}
}


/* Meraki v2.6.3 — menu claro, neutro e rigorosamente alinhado */
:root {
  --clinic-menu:#F5F3F1;
  --clinic-menu-active:#DED6CF;
  --clinic-menu-text:#2E2A27;
  --clinic-menu-active-text:#221F1D;
  --menu-hover:#ECE8E4;
  --menu-icon:#6B625C;
  --menu-border:#E4DFDA;
  --menu-accent:#8E7A6B;
}

#sidebar {
  background:var(--clinic-menu)!important;
  border-right:1px solid var(--menu-border)!important;
  box-shadow:none!important;
  padding:12px 10px 14px!important;
}

#sidebar .sidebar-brand-row {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 32px!important;
  align-items:center!important;
  column-gap:8px!important;
  min-height:58px!important;
  padding:4px 2px 10px 10px!important;
  margin:0 0 8px!important;
  border-bottom:1px solid var(--menu-border)!important;
}

#sidebar .sidebar-brand {
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
}

#sidebar .sidebar-brand>div:last-child {
  display:block!important;
  width:100%!important;
  min-width:0!important;
}

#sidebar .sidebar-brand b {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
  color:var(--clinic-menu-text)!important;
}

#sidebar .sidebar-brand-subtitle,
#sidebar .sidebar-brand.has-logo .sidebar-logo,
#sidebar .sidebar-brand:not(.has-logo) .brand-mark {
  display:none!important;
}

#sidebar .sidebar-toggle {
  position:static!important;
  transform:none!important;
  justify-self:end!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--menu-border)!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--menu-icon)!important;
}

#sidebar .sidebar-toggle:hover {
  background:var(--menu-hover)!important;
  color:var(--clinic-menu-text)!important;
}

#sidebar #nav {
  display:grid!important;
  align-content:start!important;
  gap:3px!important;
  padding:2px 0 8px!important;
}

#sidebar #nav>button,
#sidebar .settings-nav-group>.nav-parent,
#sidebar .settings-nav-group .nav-submenu button {
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) 18px!important;
  align-items:center!important;
  column-gap:8px!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:9px!important;
  text-align:left!important;
  color:var(--clinic-menu-text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:540!important;
}

#sidebar #nav button>span:first-child,
#sidebar .settings-nav-group>.nav-parent>span:first-child {
  grid-column:1!important;
  width:28px!important;
  min-width:28px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  color:var(--menu-icon)!important;
  font-size:15px!important;
  line-height:1!important;
  text-align:center!important;
}

#sidebar #nav .nav-label {
  grid-column:2!important;
  width:auto!important;
  min-width:0!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  margin:0!important;
  text-align:left!important;
}

#sidebar .nav-caret {
  grid-column:3!important;
  justify-self:center!important;
  width:18px!important;
  margin:0!important;
  color:var(--menu-icon)!important;
  font-size:10px!important;
}

#sidebar #nav>button:not(.nav-parent)::after {
  content:"";
  grid-column:3;
  width:18px;
}

#sidebar #nav button:hover,
#sidebar .settings-nav-group>.nav-parent:hover,
#sidebar .settings-nav-group .nav-submenu button:hover {
  background:var(--menu-hover)!important;
  color:var(--clinic-menu-text)!important;
}

#sidebar #nav button.active {
  position:relative!important;
  background:var(--clinic-menu-active)!important;
  color:var(--clinic-menu-active-text)!important;
  box-shadow:none!important;
  font-weight:650!important;
}

#sidebar #nav button.active::before {
  content:"";
  position:absolute;
  left:3px;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:999px;
  background:var(--menu-accent);
}

#sidebar #nav button.active>span:first-child {
  color:var(--clinic-menu-active-text)!important;
}

#sidebar .settings-nav-group.active-group>.nav-parent {
  background:var(--menu-hover)!important;
}

#sidebar .settings-nav-group .nav-submenu {
  display:grid!important;
  gap:2px!important;
  margin:3px 0 5px 20px!important;
  padding:3px 0 3px 8px!important;
  border-left:1px solid var(--menu-border)!important;
  max-height:min(430px,48vh)!important;
  overflow:auto!important;
}

#sidebar .settings-nav-group:not(.open) .nav-submenu {
  display:none!important;
}

#sidebar .settings-nav-group .nav-submenu button {
  grid-template-columns:16px minmax(0,1fr) 0!important;
  min-height:35px!important;
  padding:7px 8px!important;
  font-size:11px!important;
  font-weight:500!important;
}

#sidebar .settings-nav-group .nav-submenu button>span:first-child {
  width:16px!important;
  min-width:16px!important;
  font-size:8px!important;
}

#sidebar .settings-nav-group .nav-submenu button::after {
  display:none!important;
}

#sidebar .sidebar-footer {
  padding-top:9px!important;
  border-top:1px solid var(--menu-border)!important;
}

#sidebar .clinic-card {
  padding:9px 10px!important;
  margin:0 0 4px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
}

#sidebar .clinic-card span,
#sidebar .clinic-card b,
#sidebar .clinic-card small,
#sidebar #logout {
  color:var(--clinic-menu-text)!important;
}

#sidebar #logout {
  min-height:40px!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:8px!important;
  padding:8px 10px!important;
  text-align:left!important;
  border-radius:9px!important;
}

#sidebar #logout:hover {
  background:var(--menu-hover)!important;
}

#sidebar #logout .logout-icon {
  width:28px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--menu-icon)!important;
}

/* Menu recolhido: logo e ícones perfeitamente centralizados. */
.app-shell.sidebar-collapsed #sidebar {
  padding-inline:8px!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-brand-row {
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center!important;
  height:56px!important;
  min-height:56px!important;
  padding:2px 0 9px!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-brand {
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-brand>div:last-child {
  display:none!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-brand.has-logo .sidebar-logo {
  display:block!important;
  width:40px!important;
  height:40px!important;
  max-width:40px!important;
  max-height:40px!important;
  object-fit:contain!important;
  object-position:center!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-brand:not(.has-logo) .brand-mark {
  display:grid!important;
  width:36px!important;
  height:36px!important;
  border-radius:10px!important;
  background:var(--clinic-menu-text)!important;
  color:#fff!important;
  box-shadow:none!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-toggle {
  position:absolute!important;
  right:-2px!important;
  top:14px!important;
  width:26px!important;
  height:26px!important;
  background:#fff!important;
}

.app-shell.sidebar-collapsed #sidebar #nav>button,
.app-shell.sidebar-collapsed #sidebar .settings-nav-group>.nav-parent {
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center!important;
  width:46px!important;
  height:44px!important;
  min-height:44px!important;
  margin-inline:auto!important;
  padding:0!important;
}

.app-shell.sidebar-collapsed #sidebar #nav button>span:first-child,
.app-shell.sidebar-collapsed #sidebar .settings-nav-group>.nav-parent>span:first-child {
  grid-column:1!important;
  width:46px!important;
  min-width:46px!important;
  height:44px!important;
  font-size:16px!important;
}

.app-shell.sidebar-collapsed #sidebar #nav .nav-label,
.app-shell.sidebar-collapsed #sidebar .nav-caret,
.app-shell.sidebar-collapsed #sidebar #nav button::after,
.app-shell.sidebar-collapsed #sidebar .settings-nav-group .nav-submenu {
  display:none!important;
}

.app-shell.sidebar-collapsed #sidebar #nav button.active::before {
  left:1px!important;
  top:10px!important;
  bottom:10px!important;
}

.app-shell.sidebar-collapsed #sidebar #logout {
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center!important;
  width:46px!important;
  height:44px!important;
  padding:0!important;
  margin-inline:auto!important;
}

.app-shell.sidebar-collapsed #sidebar #logout .logout-icon {
  width:46px!important;
  height:44px!important;
}

@media(max-width:680px) {
  #sidebar {
    width:min(88vw,310px)!important;
    padding:12px 10px 20px!important;
  }

  #sidebar .sidebar-brand-row {
    grid-template-columns:minmax(0,1fr)!important;
    padding:4px 10px 10px!important;
  }

  #sidebar .sidebar-toggle {
    display:none!important;
  }

  #sidebar #nav>button,
  #sidebar .settings-nav-group>.nav-parent {
    min-height:46px!important;
    font-size:13px!important;
  }
}


/* v2.6.4 - etapas, mensagens, orçamentos e ajuda */
.appointment-step{display:none!important}
.appointment-step.active{display:block!important}
.wizard-nav button{cursor:pointer}
.wizard-nav button.completed{border-color:var(--clinic-secondary);background:#f8f6f3;color:var(--clinic-primary)}
.wizard-nav button.completed span{background:var(--clinic-secondary);color:var(--clinic-primary)}
.appointment-wizard-modal .modal-actions button[type="submit"]{display:none!important}
.appointment-wizard-modal .modal-actions button[type="submit"].wizard-submit-visible{display:inline-flex!important}
.message-context{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--cream);margin-bottom:14px}.message-context span{color:var(--muted)}
.message-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}.communication-history{display:grid;gap:9px}.communication-history.compact{max-height:260px;overflow:auto}.communication-card,.quote-card{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.communication-card p,.quote-card p{margin:5px 0;color:var(--muted);white-space:pre-wrap}.communication-card small{color:var(--muted)}
.quote-item-row{display:grid;grid-template-columns:125px 180px minmax(180px,1fr) 90px 130px 42px;gap:8px;align-items:center;margin-bottom:8px}.quote-item-row input,.quote-item-row select{min-width:0}.quote-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:16px;border-top:1px solid var(--line);font-size:17px}.quote-total b{font-size:22px;color:var(--clinic-primary)}.quote-list{display:grid;gap:10px}
.help-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,var(--clinic-background))}.help-hero h2{margin:0}.help-hero p{margin:6px 0 0;color:var(--muted)}.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.help-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.help-card h3{margin:0 0 8px}.help-card p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:900px){.quote-item-row{grid-template-columns:1fr 1fr}.quote-item-name{grid-column:1/-1}.help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.wizard-nav button{font-size:9px!important}.wizard-nav button span{font-size:10px!important}.message-actions{display:grid;grid-template-columns:1fr}.quote-item-row{grid-template-columns:1fr}.quote-item-name{grid-column:auto}.communication-card,.quote-card,.help-hero{flex-direction:column}.help-grid{grid-template-columns:1fr}.appointment-wizard-modal .modal-actions{position:sticky;bottom:0;z-index:8}.appointment-wizard-modal .modal-actions button{min-height:46px}}

/* Meraki 3.0 — Núcleo clínico integrado */
.nav-v3{gap:2px!important;padding-bottom:16px!important}
#sidebar .nav-v3 .nav-section-title{display:block;padding:14px 11px 5px;font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#8a817b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-shell.sidebar-collapsed #sidebar .nav-v3 .nav-section-title{height:1px;padding:0;margin:7px 10px;background:var(--menu-border);font-size:0}
#sidebar .nav-v3>button{grid-template-columns:28px minmax(0,1fr) 0!important}
#sidebar .nav-v3>button::after{display:none!important}

.reception-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.reception-summary>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;box-shadow:0 4px 16px rgba(38,31,27,.04)}
.reception-summary span{display:block;color:var(--muted);font-size:11px}.reception-summary b{display:block;font-size:25px;margin-top:5px;color:var(--brown-dark)}
.reception-list{display:grid;gap:10px}.reception-card{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(190px,auto);align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-left:4px solid #c8bdb5;border-radius:16px;padding:14px;box-shadow:0 5px 18px rgba(44,35,30,.05)}
.reception-card.flow-confirmado{border-left-color:#6f96ba}.reception-card.flow-chegou{border-left-color:#d5a45d}.reception-card.flow-em_atendimento{border-left-color:#9b7bb7}.reception-card.flow-finalizado,.reception-card.flow-pago{border-left-color:#6f9b7f}.reception-card.flow-cancelado,.reception-card.flow-faltou{border-left-color:#c77d7d}
.reception-time{display:grid;justify-items:center;padding-right:12px;border-right:1px solid var(--line)}.reception-time b{font-size:21px}.reception-time small{color:var(--muted)}
.reception-main h3{margin:0 0 4px}.reception-main p,.reception-main small{margin:0;color:var(--muted)}.reception-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.reception-actions select{width:auto;min-width:170px}
.clinical-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.clinical-flags>span:not(.badge){background:#f4f1ee;border-radius:999px;padding:5px 8px;font-size:10px;color:var(--muted)}

.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.record-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px}.record-card>.primary{grid-column:1/-1;width:100%}.record-card h3{margin:2px 0 5px}.record-card p,.record-card small{margin:0;color:var(--muted)}.record-avatar{width:44px;height:44px;border-radius:14px;background:var(--clinic-secondary);display:grid;place-items:center;font-size:18px;font-weight:800;color:var(--brown-dark)}

.waitlist-grid,.page-list,.clinical-record-list,.resource-list{display:grid;gap:10px}.waitlist-card,.clinical-record-card,.resource-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.waitlist-card h3,.clinical-record-card h3{margin:7px 0 3px}.waitlist-card p,.waitlist-card small,.clinical-record-card p,.clinical-record-card small,.resource-card p,.resource-card small{margin:3px 0;color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.package-card{display:flex;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px}.package-card h3{margin:8px 0 4px}.package-card p,.package-card small{color:var(--muted);margin:4px 0}.package-card>div:last-child{text-align:right}
.resource-card{justify-content:flex-start}.resource-card>div:nth-child(2){flex:1}.resource-color,.resource-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:grid;place-items:center}.resource-icon{background:#f0ece8;color:var(--brown-dark);font-weight:800}

.progress-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.progress-photo-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.progress-photo-card>a{display:grid;height:220px;background:#f3f1ef}.progress-photo-card img{width:100%;height:100%;object-fit:contain}.progress-photo-card>div{display:grid;gap:6px;padding:12px}.progress-photo-card b,.progress-photo-card small{display:block}.progress-photo-card small{color:var(--muted)}
.share-link-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.link-button{border:0;background:transparent;color:var(--clinic-primary);font-weight:700;padding:0;text-align:left}
.schedule-warning-head.hard{background:#fbeaea;border-color:#e1a5a5}.schedule-warning-head.hard b{color:#9a3d3d}
select[multiple]{min-height:88px;padding:7px}select[multiple] option{padding:7px;border-radius:6px;margin:2px 0}

@media(max-width:1100px){.record-grid,.package-grid,.progress-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.reception-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reception-card{grid-template-columns:58px minmax(0,1fr)}.reception-actions{grid-column:1/-1;justify-content:stretch}.reception-actions>*{flex:1;min-width:120px}.record-grid,.package-grid,.progress-photo-grid{grid-template-columns:1fr}.waitlist-card,.clinical-record-card,.resource-card,.package-card{align-items:flex-start;flex-direction:column}.package-card>div:last-child{text-align:left;width:100%}.progress-photo-card>a{height:260px}}
@media(max-width:480px){.reception-summary{grid-template-columns:1fr 1fr}.reception-card{grid-template-columns:1fr}.reception-time{display:flex;justify-content:flex-start;gap:8px;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px}.reception-actions{display:grid;grid-template-columns:1fr 1fr}.reception-actions select{grid-column:1/-1;width:100%}.share-link-box{grid-template-columns:1fr}}


/* Meraki v3.0.1 — correção de títulos e altura do menu */
#sidebar {
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
}

#sidebar .sidebar-brand-row {
  grid-row:1!important;
  flex:0 0 auto!important;
}

#sidebar #nav.nav-v3 {
  grid-row:2!important;
  display:grid!important;
  grid-auto-flow:row!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  overflow-anchor:none!important;
  padding-top:4px!important;
  padding-bottom:16px!important;
}

#sidebar .nav-v3>button {
  flex:0 0 auto!important;
  min-height:42px!important;
}

#sidebar .nav-v3 .nav-section-title {
  display:flex!important;
  align-items:flex-end!important;
  flex:0 0 30px!important;
  min-height:30px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 11px 5px!important;
  position:relative!important;
  z-index:2!important;
  visibility:visible!important;
  opacity:1!important;
  line-height:1.2!important;
  background:var(--clinic-menu)!important;
  color:#756D67!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#sidebar .sidebar-footer {
  grid-row:3!important;
  align-self:end!important;
  flex:0 0 auto!important;
  min-height:0!important;
  margin-top:0!important;
  background:var(--clinic-menu)!important;
}

/* No menu recolhido, os títulos viram separadores discretos. */
.app-shell.sidebar-collapsed #sidebar .nav-v3 .nav-section-title {
  display:block!important;
  flex-basis:1px!important;
  min-height:1px!important;
  height:1px!important;
  margin:7px 10px!important;
  padding:0!important;
  background:var(--menu-border)!important;
  color:transparent!important;
  font-size:0!important;
  overflow:hidden!important;
}

/* Evita que o primeiro título fique recortado quando o navegador restaura rolagem. */
#sidebar #nav.nav-v3 > .nav-section-title:first-of-type {
  scroll-margin-top:8px!important;
}

@media (max-height:760px) and (min-width:681px) {
  #sidebar .sidebar-brand-row {
    min-height:50px!important;
    padding-top:2px!important;
    padding-bottom:7px!important;
    margin-bottom:4px!important;
  }

  #sidebar #nav.nav-v3>button {
    min-height:38px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }

  #sidebar .nav-v3 .nav-section-title {
    flex-basis:25px!important;
    min-height:25px!important;
    padding-top:7px!important;
    padding-bottom:3px!important;
  }

  #sidebar .clinic-card {
    padding-top:6px!important;
    padding-bottom:6px!important;
  }

  #sidebar #logout {
    min-height:36px!important;
  }
}

@media (max-width:680px) {
  #sidebar {
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    height:100dvh!important;
  }

  #sidebar #nav.nav-v3 {
    min-height:0!important;
    overflow-y:auto!important;
    padding-bottom:20px!important;
  }

  #sidebar .nav-v3 .nav-section-title {
    min-height:29px!important;
    flex-basis:29px!important;
  }
}


/* Meraki v3.1.0 — interface profissional inspirada em plataformas clínicas */
:root {
  --clinic-primary:#118CFF;
  --clinic-secondary:#EAF4FF;
  --clinic-accent:#FF8A3D;
  --clinic-background:#F3F6F9;
  --clinic-menu:#FFFFFF;
  --clinic-menu-active:#EEF3F7;
  --clinic-menu-text:#1F2937;
  --clinic-menu-active-text:#0F172A;
  --medical-blue:#118CFF;
  --medical-blue-dark:#0877DC;
  --medical-bg:#F3F6F9;
  --medical-surface:#FFFFFF;
  --medical-border:#DCE4EC;
  --medical-text:#172033;
  --medical-muted:#667085;
  --medical-shadow:0 8px 26px rgba(31,50,73,.08);
  --workspace-sidebar:286px;
  --workspace-topbar:82px;
}

html,body {
  width:100%;
  height:100%;
}

body.app-active {
  overflow:hidden!important;
  background:var(--medical-bg)!important;
  color:var(--medical-text)!important;
}

.app-shell {
  display:grid!important;
  grid-template-columns:var(--workspace-sidebar) minmax(0,1fr)!important;
  grid-template-rows:var(--workspace-topbar) minmax(0,1fr)!important;
  width:100%!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  background:var(--medical-bg)!important;
}

.workspace-topbar {
  grid-column:1/-1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:var(--workspace-sidebar) minmax(320px,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  min-width:0!important;
  padding:12px 22px 12px 14px!important;
  background:#fff!important;
  border-bottom:1px solid var(--medical-border)!important;
  box-shadow:0 2px 10px rgba(24,39,58,.04)!important;
  z-index:40!important;
}

.workspace-brand {
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}

.workspace-logo-lockup {
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:15px!important;
}

.topbar-logo {
  width:52px!important;
  height:52px!important;
  max-width:52px!important;
  max-height:52px!important;
  object-fit:contain!important;
}

.topbar-brand-fallback {
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,var(--medical-blue),#68B7FF)!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:21px!important;
  box-shadow:0 8px 18px rgba(17,140,255,.22)!important;
}

.mobile-menu-trigger {
  display:none!important;
}

.workspace-search {
  justify-self:center!important;
  width:min(100%,560px)!important;
  min-width:280px!important;
  height:50px!important;
  margin:0!important;
  border:1px solid var(--medical-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(33,52,73,.06)!important;
}

.workspace-search input {
  font-size:14px!important;
  color:var(--medical-text)!important;
}

.workspace-search kbd {
  border:0!important;
  background:#F2F4F7!important;
  color:#7A8494!important;
}

.workspace-context {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
}

.clinic-selector {
  max-width:300px!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 14px!important;
  border:1px solid var(--medical-border)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--medical-text)!important;
  font-size:13px!important;
  font-weight:650!important;
}

.clinic-selector span:first-child {
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.clinic-selector:hover,
.topbar-icon-button:hover {
  background:#F7FAFC!important;
  border-color:#C9D5E1!important;
}

.topbar-icon-button {
  width:50px!important;
  height:50px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--medical-border)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#25364C!important;
  font-size:19px!important;
}

.profile-avatar {
  width:50px!important;
  height:50px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:3px solid #E7F2FF!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,var(--medical-blue-dark),#1546B8)!important;
  color:#fff!important;
  font-weight:850!important;
  font-size:15px!important;
  box-shadow:0 4px 12px rgba(20,75,169,.2)!important;
}

#sidebar {
  grid-column:1!important;
  grid-row:2!important;
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  padding:14px 13px 12px!important;
  background:#fff!important;
  border-right:1px solid var(--medical-border)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  overflow:hidden!important;
  z-index:25!important;
}

.sidebar-control-row {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:8px!important;
  min-height:58px!important;
  padding:0 4px 10px!important;
  border-bottom:1px solid #EDF1F5!important;
}

.sidebar-module-title {
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  min-height:52px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  background:#F1F4F7!important;
  color:#102A43!important;
  font-size:15px!important;
  font-weight:750!important;
}

.sidebar-module-icon {
  width:42px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--medical-blue)!important;
  font-size:21px!important;
}

.sidebar-toggle {
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--medical-border)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#69798C!important;
  font-size:19px!important;
}

.sidebar-toggle:hover {
  background:#F4F7FA!important;
}

#sidebar #nav.nav-v3 {
  min-height:0!important;
  display:grid!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  gap:4px!important;
  padding:12px 0 18px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:#CBD5E1 transparent!important;
}

#sidebar .nav-section-title {
  min-height:28px!important;
  display:flex!important;
  align-items:flex-end!important;
  margin:0!important;
  padding:10px 12px 4px!important;
  background:transparent!important;
  color:#98A2B3!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

#sidebar #nav>button {
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 12px!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#263548!important;
  font-size:13px!important;
  font-weight:620!important;
  text-align:left!important;
  box-shadow:none!important;
}

#sidebar #nav>button>span:first-child {
  width:42px!important;
  min-width:42px!important;
  display:grid!important;
  place-items:center!important;
  color:#45566C!important;
  font-size:17px!important;
  text-align:center!important;
}

#sidebar #nav .nav-label {
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

#sidebar #nav>button:hover {
  background:#F5F8FB!important;
  color:#0F2942!important;
}

#sidebar #nav>button.active {
  background:var(--clinic-menu-active)!important;
  color:var(--clinic-menu-active-text)!important;
  font-weight:750!important;
  box-shadow:inset 4px 0 0 var(--clinic-primary)!important;
}

#sidebar #nav>button.active>span:first-child {
  color:var(--clinic-primary)!important;
}

#sidebar .sidebar-footer {
  display:grid!important;
  gap:10px!important;
  padding:12px 3px 0!important;
  border-top:1px solid #E8EDF2!important;
  background:#fff!important;
}

.sidebar-user-card {
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  padding:8px!important;
  border-radius:11px!important;
  background:#F8FAFC!important;
}

.sidebar-user-avatar {
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:var(--clinic-primary)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:850!important;
}

.sidebar-user-card b,
.sidebar-user-card small {
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.sidebar-user-card b {
  color:#25364C!important;
  font-size:11px!important;
}

.sidebar-user-card small {
  margin-top:3px!important;
  color:#7D8A9A!important;
  font-size:9px!important;
}

.sidebar-footer-actions {
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
}

.version-chip {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:0 9px!important;
  border:1px solid var(--medical-border)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#7A8796!important;
  font-size:9px!important;
}

.logout-button {
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 12px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#44546A!important;
}

.logout-button:hover {
  background:#F3F6F9!important;
}

.app-shell main {
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:28px 30px 48px!important;
  background:var(--medical-bg)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

.page-heading {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 22px!important;
}

.page-heading h1 {
  margin:0!important;
  color:#111827!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:clamp(27px,2.2vw,38px)!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}

.page-heading p {
  margin:5px 0 0!important;
  color:#697586!important;
  font-size:12px!important;
}

.page-actions {
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
}

.page-actions button {
  min-height:44px!important;
  border-radius:10px!important;
}

.page-actions .primary {
  background:#17202C!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(18,27,39,.18)!important;
}

.page-actions .primary:hover {
  background:#060B12!important;
}

.page-content {
  min-height:300px!important;
}

.metric-card,
.panel,
.kanban-column,
.record-card,
.package-card,
.waitlist-card,
.clinical-record-card,
.resource-card {
  background:#fff!important;
  border:1px solid var(--medical-border)!important;
  border-radius:15px!important;
  box-shadow:var(--medical-shadow)!important;
}

.metric-card {
  min-height:130px!important;
  padding:20px!important;
}

.metric-card .label {
  color:#6B7788!important;
  font-size:11px!important;
}

.metric-card strong {
  margin-top:12px!important;
  color:#101828!important;
  font-size:clamp(26px,2.2vw,34px)!important;
}

.panel {
  padding:22px!important;
}

.panel h2,
.panel h3 {
  color:#1B2737!important;
}

.dashboard-kpis {
  gap:16px!important;
}

.dashboard-main-grid {
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr)!important;
  gap:16px!important;
}

.dashboard-main-grid>.panel:first-child {
  min-height:430px!important;
}

.quick-item {
  background:#fff!important;
  border:1px solid var(--medical-border)!important;
  border-radius:11px!important;
}

.primary {
  background:var(--clinic-primary)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(17,140,255,.2)!important;
}

.primary:hover {
  background:var(--medical-blue-dark)!important;
}

.secondary {
  background:#fff!important;
  color:#25364C!important;
  border:1px solid var(--medical-border)!important;
}

.secondary:hover {
  background:#F6F9FC!important;
  border-color:#C9D5E1!important;
}

input,
select,
textarea {
  border-color:#D5DEE7!important;
  border-radius:10px!important;
}

input:focus,
select:focus,
textarea:focus {
  border-color:var(--clinic-primary)!important;
  box-shadow:0 0 0 3px rgba(17,140,255,.13)!important;
}

.modal {
  border-radius:17px!important;
  box-shadow:0 28px 80px rgba(23,34,49,.28)!important;
}

.table th {
  background:#F7F9FB!important;
  color:#667085!important;
}

.table tr:hover td {
  background:#F8FBFD!important;
}

/* Modo recolhido */
.app-shell.sidebar-collapsed {
  --workspace-sidebar:84px;
  grid-template-columns:84px minmax(0,1fr)!important;
}

.app-shell.sidebar-collapsed .workspace-topbar {
  grid-template-columns:84px minmax(320px,1fr) auto!important;
}

.app-shell.sidebar-collapsed .workspace-logo-lockup {
  width:52px!important;
}

.app-shell.sidebar-collapsed #sidebar {
  padding-inline:9px!important;
}

.app-shell.sidebar-collapsed .sidebar-control-row {
  grid-template-columns:1fr!important;
}

.app-shell.sidebar-collapsed .sidebar-module-title {
  grid-template-columns:1fr!important;
  width:54px!important;
  min-width:54px!important;
  justify-self:center!important;
  padding:0!important;
}

.app-shell.sidebar-collapsed .sidebar-module-label,
.app-shell.sidebar-collapsed .sidebar-toggle,
.app-shell.sidebar-collapsed #sidebar .nav-label,
.app-shell.sidebar-collapsed #sidebar .nav-section-title,
.app-shell.sidebar-collapsed .sidebar-user-card>div:last-child,
.app-shell.sidebar-collapsed .version-chip,
.app-shell.sidebar-collapsed .logout-label {
  display:none!important;
}

.app-shell.sidebar-collapsed #sidebar #nav>button {
  grid-template-columns:1fr!important;
  width:54px!important;
  min-width:54px!important;
  height:50px!important;
  justify-self:center!important;
  padding:0!important;
}

.app-shell.sidebar-collapsed #sidebar #nav>button>span:first-child {
  width:54px!important;
  min-width:54px!important;
  height:50px!important;
}

.app-shell.sidebar-collapsed .sidebar-user-card {
  grid-template-columns:1fr!important;
  justify-items:center!important;
  padding:6px!important;
}

.app-shell.sidebar-collapsed .sidebar-footer-actions {
  grid-template-columns:1fr!important;
}

.app-shell.sidebar-collapsed .logout-button {
  width:54px!important;
  justify-self:center!important;
  padding:0!important;
}

/* Tablet */
@media(max-width:1180px) {
  :root {
    --workspace-sidebar:240px;
  }

  .workspace-topbar {
    grid-template-columns:var(--workspace-sidebar) minmax(260px,1fr) auto!important;
    gap:12px!important;
    padding-right:14px!important;
  }

  .clinic-selector {
    max-width:210px!important;
  }

  .workspace-context {
    gap:5px!important;
  }

  .topbar-icon-button,
  .profile-avatar {
    width:44px!important;
    height:44px!important;
  }

  .app-shell main {
    padding:24px 20px 42px!important;
  }

  .dashboard-main-grid {
    grid-template-columns:1fr!important;
  }
}

@media(max-width:900px) {
  :root {
    --workspace-sidebar:82px;
  }

  .workspace-topbar {
    grid-template-columns:82px minmax(250px,1fr) auto!important;
  }

  .clinic-selector {
    display:none!important;
  }

  #sidebar {
    padding-inline:9px!important;
  }

  .sidebar-module-title {
    grid-template-columns:1fr!important;
    width:54px!important;
    min-width:54px!important;
    justify-self:center!important;
    padding:0!important;
  }

  .sidebar-module-label,
  #sidebar .nav-label,
  #sidebar .nav-section-title,
  .sidebar-user-card>div:last-child,
  .version-chip,
  .logout-label {
    display:none!important;
  }

  #sidebar #nav>button {
    grid-template-columns:1fr!important;
    width:54px!important;
    min-width:54px!important;
    height:50px!important;
    justify-self:center!important;
    padding:0!important;
  }

  #sidebar #nav>button>span:first-child {
    width:54px!important;
    min-width:54px!important;
    height:50px!important;
  }

  .sidebar-footer-actions {
    grid-template-columns:1fr!important;
  }

  .logout-button {
    width:54px!important;
    justify-self:center!important;
  }
}

/* Celular */
@media(max-width:680px) {
  body.app-active {
    overflow:auto!important;
    padding-bottom:72px!important;
  }

  .app-shell,
  .app-shell.sidebar-collapsed {
    display:block!important;
    height:auto!important;
    min-height:100dvh!important;
  }

  .workspace-topbar,
  .app-shell.sidebar-collapsed .workspace-topbar {
    position:sticky!important;
    top:0!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    height:68px!important;
    min-height:68px!important;
    padding:8px 10px!important;
    gap:8px!important;
    z-index:45!important;
  }

  .workspace-brand {
    gap:5px!important;
  }

  .mobile-menu-trigger {
    display:grid!important;
    width:42px!important;
    height:42px!important;
    place-items:center!important;
    padding:0!important;
    font-size:20px!important;
  }

  .workspace-logo-lockup {
    width:42px!important;
    height:42px!important;
  }

  .topbar-logo {
    width:40px!important;
    height:40px!important;
  }

  .topbar-brand-fallback {
    width:40px!important;
    height:40px!important;
  }

  .workspace-search {
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    box-shadow:none!important;
  }

  .workspace-search kbd {
    display:none!important;
  }

  .workspace-context {
    gap:4px!important;
  }

  .workspace-context .clinic-selector,
  .workspace-context #accessBtn,
  .workspace-context #messagesBtn,
  .workspace-context #notificationsBtn,
  .workspace-context #helpBtn {
    display:none!important;
  }

  .profile-avatar {
    width:42px!important;
    height:42px!important;
  }

  #sidebar {
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    width:min(88vw,310px)!important;
    height:100dvh!important;
    display:grid!important;
    transform:translateX(-105%)!important;
    transition:transform .24s ease!important;
    z-index:60!important;
    box-shadow:20px 0 46px rgba(20,34,49,.22)!important;
  }

  #sidebar.open {
    transform:translateX(0)!important;
  }

  #sidebar .sidebar-module-label,
  #sidebar .nav-label,
  #sidebar .nav-section-title,
  #sidebar .sidebar-user-card>div:last-child,
  #sidebar .version-chip,
  #sidebar .logout-label {
    display:block!important;
  }

  #sidebar .sidebar-module-title {
    grid-template-columns:42px minmax(0,1fr)!important;
    width:auto!important;
    min-width:0!important;
    justify-self:stretch!important;
    padding:0 12px!important;
  }

  #sidebar #nav>button {
    grid-template-columns:42px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:48px!important;
    justify-self:stretch!important;
    padding:0 12px!important;
  }

  #sidebar #nav>button>span:first-child {
    width:42px!important;
    min-width:42px!important;
    height:auto!important;
  }

  #sidebar .sidebar-footer-actions {
    grid-template-columns:auto minmax(0,1fr)!important;
  }

  #sidebar .logout-button {
    width:auto!important;
    justify-self:stretch!important;
  }

  .app-shell main {
    display:block!important;
    height:auto!important;
    min-height:calc(100dvh - 68px)!important;
    padding:18px 12px 28px!important;
    overflow:visible!important;
  }

  .page-heading {
    align-items:flex-start!important;
    flex-direction:column!important;
    margin-bottom:16px!important;
  }

  .page-actions {
    width:100%!important;
    display:grid!important;
    grid-template-columns:44px repeat(3,minmax(0,1fr))!important;
  }

  .page-actions button {
    width:100%!important;
    min-width:0!important;
    padding-inline:8px!important;
    font-size:11px!important;
  }

  .dashboard-main-grid {
    grid-template-columns:1fr!important;
  }

  .dashboard-main-grid>.panel:first-child {
    min-height:300px!important;
  }
}

@media(max-width:460px) {
  .workspace-brand .workspace-logo-lockup {
    display:none!important;
  }

  .workspace-topbar,
  .app-shell.sidebar-collapsed .workspace-topbar {
    grid-template-columns:42px minmax(0,1fr) 42px!important;
  }

  .page-actions {
    grid-template-columns:1fr 1fr!important;
  }

  .page-actions #densityToggle {
    display:none!important;
  }
}


/* Meraki v3.1.1 — layout clínico fiel à referência */
:root{
  --summary-sidebar:306px;
  --summary-topbar:90px;
  --summary-blue:#078BFF;
  --summary-bg:#F1F5F8;
  --summary-border:#D8E1E9;
  --summary-text:#111827;
  --summary-muted:#667085;
  --summary-active:#F0F3F6;
}

body.app-active{
  overflow:hidden!important;
  background:var(--summary-bg)!important;
}

.app-shell{
  display:grid!important;
  grid-template-columns:var(--summary-sidebar) minmax(0,1fr)!important;
  grid-template-rows:var(--summary-topbar) minmax(0,1fr)!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  background:var(--summary-bg)!important;
}

/* Barra lateral ocupa toda a altura, igual à referência. */
#sidebar{
  grid-column:1!important;
  grid-row:1/-1!important;
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:90px minmax(0,1fr) auto!important;
  padding:0 14px 12px!important;
  overflow:hidden!important;
  background:#fff!important;
  border-right:1px solid var(--summary-border)!important;
  box-shadow:none!important;
  z-index:50!important;
}

.sidebar-brand-search{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  height:90px!important;
  padding:10px 0!important;
}

.sidebar-logo-button{
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
}

.topbar-logo{
  display:block;
  width:56px!important;
  height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  object-fit:contain!important;
}

.topbar-brand-fallback{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#008CFF,#56B7FF)!important;
  color:#fff!important;
  font-size:21px!important;
  font-weight:900!important;
}

.sidebar-search{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--summary-border)!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(31,50,73,.08)!important;
}

.sidebar-search input{
  width:100%!important;
  height:50px!important;
  padding:0 44px 0 14px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:14px!important;
}

.sidebar-search-icon{
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#111827!important;
  font-size:24px!important;
  pointer-events:none!important;
}

.sidebar-search .global-search-results{
  top:58px!important;
  left:0!important;
  right:0!important;
  width:min(420px,calc(100vw - 28px))!important;
}

.sidebar-toggle{
  width:30px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--summary-border)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#64748B!important;
}

#sidebar #nav.nav-summary{
  display:grid!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  gap:8px!important;
  min-height:0!important;
  padding:6px 0 16px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:#CBD5E1 transparent!important;
}

#sidebar #nav.nav-summary>button{
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#172033!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:600!important;
  text-align:left!important;
  box-shadow:none!important;
}

#sidebar #nav.nav-summary>button>span:first-child{
  width:50px!important;
  min-width:50px!important;
  display:grid!important;
  place-items:center!important;
  color:#1E293B!important;
  font-size:19px!important;
}

#sidebar #nav.nav-summary .nav-label{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

#sidebar #nav.nav-summary>button:hover{
  background:#F6F8FA!important;
}

#sidebar #nav.nav-summary>button.active{
  background:var(--summary-active)!important;
  color:#101828!important;
  box-shadow:none!important;
  font-weight:700!important;
}

#sidebar #nav.nav-summary>button.active>span:first-child{
  color:var(--summary-blue)!important;
}

#sidebar .sidebar-footer{
  display:grid!important;
  gap:8px!important;
  padding:12px 2px 0!important;
  border-top:1px solid #E7EDF2!important;
  background:#fff!important;
}

#sidebar .sidebar-user-card{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  padding:8px!important;
  border-radius:11px!important;
  background:#F8FAFC!important;
}

.sidebar-user-details{
  min-width:0!important;
}

#sidebar .sidebar-user-card b,
#sidebar .sidebar-user-card small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

#sidebar .sidebar-user-card b{
  color:#1E293B!important;
  font-size:11px!important;
}

#sidebar .sidebar-user-card small{
  margin-top:3px!important;
  color:#718096!important;
  font-size:9px!important;
}

#sidebar .sidebar-footer-actions{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
}

#sidebar .logout-button{
  min-height:38px!important;
  justify-content:center!important;
  border-radius:9px!important;
}

/* Cabeçalho começa depois da barra lateral. */
.workspace-topbar{
  grid-column:2!important;
  grid-row:1!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
  height:90px!important;
  padding:14px 24px!important;
  background:#fff!important;
  border-bottom:1px solid var(--summary-border)!important;
  box-shadow:none!important;
  z-index:40!important;
}

.topbar-mobile-actions{
  display:none!important;
}

.workspace-context{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
}

.clinic-selector{
  max-width:310px!important;
  min-height:52px!important;
  padding:0 15px!important;
  border:1px solid var(--summary-border)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:650!important;
}

.topbar-icon-button{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--summary-border)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:20px!important;
}

.topbar-icon-button:hover,
.clinic-selector:hover{
  background:#F8FAFC!important;
  border-color:#BFCBD7!important;
}

.profile-avatar{
  width:52px!important;
  height:52px!important;
  border:3px solid #E7F2FF!important;
  border-radius:50%!important;
  background:#5121B8!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Área principal */
.app-shell main{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:28px 30px 46px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:var(--summary-bg)!important;
}

.page-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 22px!important;
}

.page-heading h1{
  margin:0!important;
  color:#111827!important;
  font-size:clamp(27px,2.2vw,38px)!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}

.page-heading p{
  margin:6px 0 0!important;
  color:#64748B!important;
  font-size:13px!important;
}

.page-actions{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}

.page-actions button{
  min-height:44px!important;
  border-radius:10px!important;
}

.page-content .panel,
.page-content .metric-card,
.module-hub-card,
.module-hub-hero{
  border:1px solid var(--summary-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(31,50,73,.06)!important;
}

/* Central de Atendimento semelhante à referência. */
.clinical-workspace-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(370px,.9fr)!important;
  gap:18px!important;
  align-items:start!important;
}

.service-list-panel{
  min-height:610px!important;
  padding:0!important;
  overflow:hidden!important;
}

.service-list-panel>.toolbar{
  padding:22px!important;
  border-bottom:1px solid var(--summary-border)!important;
}

.segmented-control,
.service-period-tabs{
  display:inline-flex!important;
  align-items:center!important;
}

.segmented-control button,
.service-period-tabs button{
  min-height:42px!important;
  margin-left:-1px!important;
  padding:0 17px!important;
  border:1px solid var(--summary-border)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#475467!important;
}

.segmented-control button:first-child,
.service-period-tabs button:first-child{
  margin-left:0!important;
  border-radius:9px 0 0 9px!important;
}

.segmented-control button:last-child,
.service-period-tabs button:last-child{
  border-radius:0 9px 9px 0!important;
}

.segmented-control button.active,
.service-period-tabs button.active{
  position:relative!important;
  z-index:1!important;
  border-color:var(--summary-blue)!important;
  color:#1D4F7A!important;
  background:#F6FBFF!important;
}

.service-appointment-list{
  min-height:440px!important;
}

.service-appointment-row{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) 52px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:112px!important;
  padding:17px 22px!important;
  border-bottom:1px solid #E8EEF3!important;
}

.service-time b{
  color:#64748B!important;
  font-size:15px!important;
}

.service-patient h3{
  margin:0!important;
  color:#172033!important;
  font-size:15px!important;
}

.service-patient p{
  margin:5px 0!important;
  color:#475467!important;
  font-size:12px!important;
}

.service-patient small{
  color:#98A2B3!important;
}

.service-open-button{
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:11px!important;
  background:var(--summary-blue)!important;
  color:#fff!important;
  font-size:17px!important;
}

.service-panel-footer{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding:16px 22px!important;
}

.clinical-side-column{
  display:grid!important;
  gap:18px!important;
}

.service-overview{
  padding:22px!important;
}

.service-overview h2{
  margin:0!important;
}

.service-period-tabs{
  margin-top:15px!important;
}

.service-stats{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  margin-top:30px!important;
}

.service-stats>div{
  display:grid!important;
  justify-items:center!important;
  gap:8px!important;
  min-width:0!important;
  padding:8px 10px!important;
  border-left:1px solid #E4EAF0!important;
}

.service-stats>div:first-child{
  border-left:0!important;
}

.service-stats b{
  color:#334155!important;
  font-size:29px!important;
  font-weight:500!important;
}

.service-stats span{
  color:#667085!important;
  font-size:11px!important;
  text-align:center!important;
}

.unfinished-panel{
  padding:0!important;
}

.unfinished-panel>button{
  width:100%!important;
  min-height:68px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:0 20px!important;
  border:0!important;
  background:#fff!important;
  color:#344054!important;
  font-weight:750!important;
}

.unfinished-panel i{
  display:inline-grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  margin-right:8px!important;
  border-radius:50%!important;
  background:#FF8900!important;
  color:#fff!important;
  font-style:normal!important;
}

.module-hub-mini-grid,
.module-hub-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}

.module-hub-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:24px!important;
  margin-bottom:18px!important;
}

.module-hub-hero span{
  color:var(--summary-blue)!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
}

.module-hub-hero h2{
  margin:7px 0 4px!important;
  color:#111827!important;
}

.module-hub-hero p{
  margin:0!important;
  color:#667085!important;
}

.module-hub-card{
  width:100%!important;
  min-height:118px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:12px!important;
  padding:18px!important;
  text-align:left!important;
  color:#1F2937!important;
}

.module-hub-card:hover{
  border-color:#B7C8D8!important;
  transform:translateY(-1px)!important;
}

.module-hub-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:#EDF7FF!important;
  color:var(--summary-blue)!important;
  font-size:20px!important;
}

.module-hub-card b{
  display:block!important;
  font-size:14px!important;
}

.module-hub-card p{
  margin:5px 0 0!important;
  color:#667085!important;
  font-size:11px!important;
  line-height:1.45!important;
}

.module-hub-card i{
  color:#98A2B3!important;
  font-size:22px!important;
  font-style:normal!important;
}

/* Desktop recolhido */
.app-shell.sidebar-collapsed{
  --summary-sidebar:88px;
  grid-template-columns:88px minmax(0,1fr)!important;
}

.app-shell.sidebar-collapsed .sidebar-brand-search{
  grid-template-columns:1fr!important;
  justify-items:center!important;
}

.app-shell.sidebar-collapsed .sidebar-search,
.app-shell.sidebar-collapsed .sidebar-toggle,
.app-shell.sidebar-collapsed #sidebar .nav-label,
.app-shell.sidebar-collapsed .sidebar-user-details,
.app-shell.sidebar-collapsed .version-chip,
.app-shell.sidebar-collapsed .logout-label{
  display:none!important;
}

.app-shell.sidebar-collapsed #sidebar{
  padding-inline:10px!important;
}

.app-shell.sidebar-collapsed #sidebar #nav.nav-summary>button{
  grid-template-columns:1fr!important;
  width:58px!important;
  min-width:58px!important;
  height:56px!important;
  justify-self:center!important;
  padding:0!important;
}

.app-shell.sidebar-collapsed #sidebar #nav.nav-summary>button>span:first-child{
  width:58px!important;
  min-width:58px!important;
  height:56px!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-user-card{
  grid-template-columns:1fr!important;
  justify-items:center!important;
}

.app-shell.sidebar-collapsed #sidebar .sidebar-footer-actions{
  grid-template-columns:1fr!important;
}

.app-shell.sidebar-collapsed #sidebar .logout-button{
  width:58px!important;
  justify-self:center!important;
}

/* Tablet: menu compacto automático. */
@media(max-width:1180px) and (min-width:761px){
  :root{--summary-sidebar:88px}

  .app-shell{
    grid-template-columns:88px minmax(0,1fr)!important;
  }

  #sidebar{
    padding-inline:10px!important;
  }

  .sidebar-brand-search{
    grid-template-columns:1fr!important;
    justify-items:center!important;
  }

  .sidebar-search,
  .sidebar-toggle,
  #sidebar .nav-label,
  .sidebar-user-details,
  .version-chip,
  .logout-label{
    display:none!important;
  }

  #sidebar #nav.nav-summary>button{
    grid-template-columns:1fr!important;
    width:58px!important;
    min-width:58px!important;
    height:56px!important;
    justify-self:center!important;
    padding:0!important;
  }

  #sidebar #nav.nav-summary>button>span:first-child{
    width:58px!important;
    min-width:58px!important;
    height:56px!important;
  }

  #sidebar .sidebar-user-card{
    grid-template-columns:1fr!important;
    justify-items:center!important;
  }

  #sidebar .sidebar-footer-actions{
    grid-template-columns:1fr!important;
  }

  #sidebar .logout-button{
    width:58px!important;
    justify-self:center!important;
  }

  .clinic-selector{
    max-width:220px!important;
  }

  .workspace-topbar{
    padding-inline:16px!important;
  }

  .app-shell main{
    padding:24px 20px 40px!important;
  }

  .clinical-workspace-grid{
    grid-template-columns:1fr!important;
  }
}

/* Celular: menu em gaveta e navegação inferior. */
@media(max-width:760px){
  body.app-active{
    overflow:auto!important;
    padding-bottom:72px!important;
  }

  .app-shell,
  .app-shell.sidebar-collapsed{
    display:block!important;
    height:auto!important;
    min-height:100dvh!important;
  }

  #sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    width:min(88vw,320px)!important;
    height:100dvh!important;
    display:grid!important;
    transform:translateX(-105%)!important;
    transition:transform .24s ease!important;
    padding-inline:14px!important;
    z-index:70!important;
    box-shadow:20px 0 48px rgba(20,34,49,.24)!important;
  }

  #sidebar.open{
    transform:translateX(0)!important;
  }

  #sidebar .sidebar-brand-search{
    grid-template-columns:58px minmax(0,1fr)!important;
  }

  #sidebar .sidebar-toggle{
    display:none!important;
  }

  #sidebar .sidebar-search,
  #sidebar .nav-label,
  #sidebar .sidebar-user-details,
  #sidebar .version-chip,
  #sidebar .logout-label{
    display:block!important;
  }

  #sidebar #nav.nav-summary>button{
    grid-template-columns:50px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:56px!important;
    justify-self:stretch!important;
    padding:0 14px!important;
  }

  #sidebar #nav.nav-summary>button>span:first-child{
    width:50px!important;
    min-width:50px!important;
    height:auto!important;
  }

  #sidebar .sidebar-user-card{
    grid-template-columns:40px minmax(0,1fr)!important;
    justify-items:stretch!important;
  }

  #sidebar .sidebar-footer-actions{
    grid-template-columns:auto minmax(0,1fr)!important;
  }

  #sidebar .logout-button{
    width:auto!important;
    justify-self:stretch!important;
  }

  .workspace-topbar{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    height:68px!important;
    min-height:68px!important;
    display:flex!important;
    justify-content:space-between!important;
    padding:8px 10px!important;
    z-index:55!important;
  }

  .topbar-mobile-actions{
    display:flex!important;
    gap:6px!important;
  }

  .mobile-menu-trigger,
  .mobile-search-trigger{
    display:grid!important;
    width:44px!important;
    height:44px!important;
  }

  .workspace-context{
    gap:5px!important;
  }

  .workspace-context .clinic-selector{
    max-width:min(48vw,210px)!important;
    height:44px!important;
    min-height:44px!important;
    padding-inline:10px!important;
    font-size:11px!important;
  }

  .workspace-context #accessBtn,
  .workspace-context #messagesBtn,
  .workspace-context #notificationsBtn,
  .workspace-context #helpBtn{
    display:none!important;
  }

  .profile-avatar{
    width:44px!important;
    height:44px!important;
  }

  .app-shell main{
    display:block!important;
    min-height:calc(100dvh - 68px)!important;
    padding:18px 12px 28px!important;
    overflow:visible!important;
  }

  .page-heading{
    align-items:flex-start!important;
    flex-direction:column!important;
    margin-bottom:16px!important;
  }

  .page-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:44px repeat(3,minmax(0,1fr))!important;
  }

  .page-actions button{
    width:100%!important;
    min-width:0!important;
    padding-inline:7px!important;
    font-size:10px!important;
  }

  .clinical-workspace-grid{
    grid-template-columns:1fr!important;
  }

  .service-list-panel{
    min-height:450px!important;
  }

  .service-appointment-row{
    grid-template-columns:58px minmax(0,1fr) 44px!important;
    min-height:96px!important;
    padding:14px!important;
  }

  .service-stats{
    grid-template-columns:repeat(2,1fr)!important;
    row-gap:18px!important;
  }

  .service-stats>div:nth-child(3){
    border-left:0!important;
  }

  .module-hub-grid,
  .module-hub-mini-grid{
    grid-template-columns:1fr!important;
  }

  .module-hub-hero{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .module-hub-hero button{
    width:100%!important;
  }
}

@media(max-width:440px){
  .workspace-context .clinic-selector{
    display:none!important;
  }

  .page-actions{
    grid-template-columns:1fr 1fr!important;
  }

  .page-actions #densityToggle{
    display:none!important;
  }
}
