:root{--bg:#f4f7f7;--surface:#fff;--surface-soft:#f8fbfa;--ink:#17211f;--muted:#66736f;--line:#dce7e4;--line-strong:#c8d8d4;--brand:#0b625b;--brand-dark:#064a45;--brand-soft:#e5f3f1;--brand-soft-2:#f1faf8;--danger:#b42318;--danger-soft:#fff1f0;--ok:#027a48;--ok-soft:#ecfdf3;--warn:#a15c07;--warn-soft:#fffaeb;--blue:#175cd3;--blue-soft:#eff8ff;--shadow:0 14px 36px rgba(20,40,36,.08);--shadow-soft:0 8px 20px rgba(20,40,36,.06);--radius:20px;--top-h:64px;--role-h:48px;--cmd-h:56px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Nunito Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.material-symbols-rounded{font-family:"Material Symbols Rounded";font-weight:500;font-style:normal;font-size:21px;line-height:1;vertical-align:-5px;font-feature-settings:"liga"}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px;z-index:1000}.skip-link:focus{left:8px}.top{position:sticky;top:0;z-index:90;min-height:var(--top-h);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 22px;background:linear-gradient(180deg,#fff,#fafdfe);border-bottom:1px solid var(--line-strong);box-shadow:0 2px 14px rgba(18,35,32,.05)}.brand{min-width:0;display:flex;align-items:center;gap:12px;color:var(--ink)}.brand:before{content:"";width:36px;height:36px;flex:0 0 auto;border-radius:12px;background:linear-gradient(145deg,var(--brand),var(--brand-dark));box-shadow:0 8px 20px rgba(11,98,91,.22)}.brand b{display:block;font-size:1.08rem;font-weight:950;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:.76rem;font-weight:800}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}.tenant{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:900;background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;padding:7px 11px}.logout{margin:0;display:inline-flex}.notify-link{position:relative}.badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.68rem;font-weight:950;line-height:1}.rolebar{position:sticky;top:var(--top-h);z-index:80;min-height:var(--role-h);display:flex;align-items:flex-end;gap:4px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.rolebar:before{content:"Cargo";align-self:center;margin-right:8px;color:var(--muted);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.role{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 15px;color:var(--muted);border:2px solid transparent;border-bottom:0;border-radius:12px 12px 0 0;background:transparent;font-weight:950;white-space:nowrap}.role:hover{color:var(--brand-dark);background:var(--brand-soft-2)}.role.active,.role.is-active,.role[aria-current=true],.role[aria-current=page]{color:var(--brand-dark);background:var(--brand-soft);border-left-color:var(--brand);border-right-color:var(--brand);border-top-color:var(--brand);border-bottom-color:transparent;box-shadow:none}.role .material-symbols-rounded{font-size:20px}.cmdbar{position:sticky;top:calc(var(--top-h) + var(--role-h));z-index:70;min-height:var(--cmd-h);display:flex;align-items:center;gap:8px;padding:8px 22px;background:rgba(248,251,250,.98);border-top:2px solid var(--brand);border-bottom:1px solid var(--line);box-shadow:0 4px 16px rgba(18,35,32,.04);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.cmdbar:before{content:"Funções";margin-right:4px;color:var(--muted);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.cmd{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.87rem;font-weight:950;white-space:nowrap;box-shadow:0 1px 2px rgba(17,24,39,.03)}.cmd:hover{background:var(--brand-soft-2);border-color:#bfddd8;color:var(--brand-dark)}.cmd.active,.cmd.is-active,.cmd[aria-current=page]{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 7px 18px rgba(11,98,91,.18)}.cmd .material-symbols-rounded{font-size:19px}.primary,.ghost,button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;border:1px solid transparent;padding:9px 13px;font-weight:950;line-height:1.1;white-space:nowrap}.primary,button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.primary:hover,button.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.ghost:hover{background:var(--brand-soft-2);border-color:#bfddd8;color:var(--brand-dark)}.small{min-height:32px;padding:7px 10px;border-radius:10px;font-size:.8rem}button[disabled],.is-disabled{opacity:.55;cursor:not-allowed}main{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:22px 0 86px}.auth{width:min(520px,calc(100% - 28px));margin:42px auto;background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.widebox{width:min(780px,calc(100% - 28px))}.pagehead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow-soft)}.pagehead h1{margin:0 0 4px;font-size:1.72rem;letter-spacing:-.035em}.pagehead p{margin:0;color:var(--muted);font-weight:800}.pagehead-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-soft)}.card h2,.card h3{margin-top:0}.muted,.muted-copy,small{color:var(--muted)}.two,.dash-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.kpis,.stats-grid,.admin-overview-kpis,.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin-bottom:16px}.kpis>div,.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;align-items:flex-start;gap:12px;min-width:0;box-shadow:var(--shadow-soft)}.kpis>div b,.stat-card b{display:block;font-size:1.6rem;line-height:1;font-weight:950;letter-spacing:-.04em}.kpis>div span,.stat-card span{display:block;color:var(--muted);font-weight:900}.stat-card .material-symbols-rounded{width:38px;height:38px;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:0 0 auto}label{display:grid;gap:6px;font-weight:900;color:var(--ink)}input,select,textarea{width:100%;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:14px;padding:11px 12px;outline:0;min-height:42px}textarea{min-height:118px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(11,98,91,.12)}.field-help{font-size:.78rem;color:var(--muted)}.form-row{margin-bottom:13px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}.form-actions .ghost[data-close-panel]{background:#fff}.form-panel{display:block;width:100%;min-width:0}.form-panel>summary{list-style:none;cursor:pointer}.form-panel>summary::-webkit-details-marker{display:none}.form-panel[open]{grid-column:1/-1;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow);margin-top:8px}.form-panel[open]>summary{margin:-2px 0 16px}.form-panel[open] form{width:100%;max-width:none}.form-panel[open] textarea{width:100%}.flash,.billing-banner{border:1px solid var(--line);border-radius:16px;padding:13px 14px;margin:0 0 16px;font-weight:900;background:#fff;box-shadow:var(--shadow-soft)}.flash.ok{border-color:#abefc6;background:var(--ok-soft);color:#05603a}.flash.bad{border-color:#fecdca;background:var(--danger-soft);color:var(--danger)}.flash.info,.billing-banner{border-color:#b2ddff;background:var(--blue-soft);color:#1849a9}.timeline{position:relative;display:grid;gap:12px}.timeline:before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:var(--line)}.titem{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;position:relative}.dot{width:38px;height:38px;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;z-index:1}.titem>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px;box-shadow:var(--shadow-soft)}.titem h3,.titem p{margin-top:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-soft)}tr:last-child td{border-bottom:0}.pill,.chip,.eyebrow{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:6px 9px;color:var(--muted);font-size:.78rem;font-weight:950}.pill.ok{color:var(--ok);background:var(--ok-soft);border-color:#abefc6}.pill.bad{color:var(--danger);background:var(--danger-soft);border-color:#fecdca}.pill.warn{color:var(--warn);background:var(--warn-soft);border-color:#fedf89}.patient-hero,.patient-hero-tabs{background:linear-gradient(135deg,#f8fffd,#fff);border:1px solid var(--line);border-radius:24px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-soft)}.patient-hero h1{margin:0;font-size:1.9rem;letter-spacing:-.04em}.patient-tabs-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.patient-tab-radio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.patient-tab-nav{position:sticky;top:calc(var(--top-h) + var(--role-h) + var(--cmd-h) + 16px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:8px;display:grid;gap:6px;max-height:calc(100vh - 196px);overflow:auto;box-shadow:var(--shadow-soft)}.patient-tab-nav label,.patient-tab-nav [role=tab]{border:0;border-radius:16px;padding:11px;cursor:pointer;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;color:var(--muted);font-weight:950;background:transparent;text-align:left}.patient-tab-nav label:hover,.patient-tab-nav [role=tab]:hover{background:var(--brand-soft-2);color:var(--brand-dark)}.patient-tab-nav label.is-active,.patient-tab-nav [role=tab].is-active,.patient-tab-nav [aria-selected=true]{background:var(--brand-soft);color:var(--brand-dark)}.patient-tab-nav label:focus-visible,.patient-tab-nav [role=tab]:focus-visible{outline:3px solid rgba(11,98,91,.22)}.patient-tab-nav small{display:block;color:var(--muted);font-size:.72rem;font-weight:800}.patient-tab-nav em{min-width:24px;height:24px;border-radius:999px;background:#f1f5f9;color:var(--muted);display:grid;place-items:center;font-style:normal;font-size:.75rem}.patient-tab-panels{min-width:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow-soft)}.patient-panel{display:block}.patient-panel[hidden],.patient-panel:not(.is-active){display:none!important}.patient-panel.is-active{display:block!important}.patient-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.patient-section-title h2{margin:0}.patient-note{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;padding:13px;margin-top:12px}.patient-mini-grid,.patient-summary-cards,.patient-data-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.soft-sep{border:0;border-top:1px solid var(--line);margin:16px 0}.rx-template-preview textarea{min-height:190px}.rx-print{max-width:840px;margin:0 auto;background:#fff;border:1px solid #ddd;border-radius:18px;padding:34px;box-shadow:var(--shadow)}.rx-print-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}.rx-letterhead{text-align:center;border-bottom:2px solid #111827;padding-bottom:18px;margin-bottom:21px}.rx-letterhead h1{margin:0;font-size:1.5rem}.rx-letterhead p{margin:5px 0 0;color:#475467}.rx-patient{display:grid;gap:3px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:13px;margin-bottom:21px}.rx-patient b{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#475467}.rx-patient span{font-weight:950;font-size:1.08rem}.rx-body h2{font-size:1.32rem;margin:0 0 12px}.rx-body pre{white-space:pre-wrap;font:inherit;line-height:1.7;min-height:300px}.rx-sign{text-align:center;margin-top:44px}.rx-sign p{margin-bottom:32px}.rx-sign div{border-top:1px solid #111827;width:min(340px,100%);margin:0 auto;padding-top:8px}.login-wait{background:var(--warn-soft);border:1px solid #fedf89;color:#854d0e;border-radius:14px;padding:12px;margin-top:10px}.wizard,.matrix{display:grid;gap:12px}.wizard-head,.wizard-roles{display:flex;gap:8px;flex-wrap:wrap}.floating-clock{position:fixed;right:16px;bottom:16px;z-index:85;min-width:68px;border:0;border-radius:999px;background:#0b625b;color:#fff;padding:8px 13px;text-align:center;box-shadow:0 10px 26px rgba(6,70,66,.28);font-weight:950;letter-spacing:.04em}.floating-clock b{font-variant-numeric:tabular-nums}@media(max-width:1050px){.two,.dash-two{grid-template-columns:1fr}.patient-tabs-shell{grid-template-columns:1fr}.patient-tab-nav{position:static;display:flex;overflow:auto;max-height:none}.patient-tab-nav label,.patient-tab-nav [role=tab]{min-width:170px}.form-panel[open]{padding:14px}.form-panel[open]>summary{text-align:center}}@media(max-width:760px){:root{--top-h:54px;--role-h:42px;--cmd-h:48px}body{font-size:14px}.top{min-height:var(--top-h);padding:7px 10px;gap:8px}.brand{gap:8px}.brand:before{width:30px;height:30px;border-radius:10px}.brand b{font-size:1rem}.brand small,.tenant{display:none}.top-actions{gap:5px}.top-actions .ghost.small,.top-actions button.small{min-height:30px;padding:6px 8px;font-size:.72rem}.notify-link span:not(.badge):not(.material-symbols-rounded){display:none}.rolebar{min-height:var(--role-h);padding:0 8px;gap:3px}.rolebar:before,.cmdbar:before{display:none}.role{min-height:39px;padding:0 10px;border-radius:10px 10px 0 0;font-size:.75rem}.role .material-symbols-rounded{font-size:18px}.cmdbar{min-height:var(--cmd-h);padding:6px 8px;gap:5px}.cmd{min-width:50px;min-height:38px;padding:5px 8px;border-radius:12px;flex-direction:column;gap:1px;font-size:.62rem;line-height:1.05}.cmd .material-symbols-rounded{font-size:18px}main{width:calc(100% - 16px);padding:12px 0 68px}.pagehead{grid-template-columns:1fr;padding:14px;border-radius:18px;gap:12px}.pagehead h1{font-size:1.35rem}.pagehead p{font-size:.88rem}.pagehead-actions{justify-content:stretch}.pagehead-actions .form-panel,.pagehead-actions>a,.pagehead-actions>button{width:100%}.primary,.ghost,button{min-height:36px;padding:8px 10px}.kpis,.stats-grid,.admin-overview-kpis,.admin-grid,.compact,.patient-mini-grid,.patient-summary-cards,.patient-data-list{grid-template-columns:1fr}.card{padding:14px;border-radius:17px}.kpis>div,.stat-card{padding:12px;border-radius:16px}.kpis>div b,.stat-card b{font-size:1.25rem}.auth{margin:18px auto;padding:18px;border-radius:20px}.patient-hero-tabs,.patient-hero{border-radius:19px;padding:15px}.patient-hero h1{font-size:1.45rem}.patient-tab-nav{border-radius:17px}.patient-tab-nav label,.patient-tab-nav [role=tab]{min-width:144px;grid-template-columns:23px minmax(0,1fr);padding:9px}.patient-tab-nav small,.patient-tab-nav em{display:none}.patient-tab-panels{padding:13px;border-radius:18px}.patient-section-title{display:grid}.form-actions{display:grid;grid-template-columns:1fr}.form-actions button,.form-actions a{width:100%;min-width:0}.timeline:before{left:15px}.titem{grid-template-columns:32px minmax(0,1fr)}.dot{width:30px;height:30px;border-radius:11px}.titem>div{padding:11px}.floating-clock{right:10px;bottom:10px;min-width:62px;padding:7px 11px}.rx-print{padding:18px;border-radius:14px}}@media print{.top,.rolebar,.cmdbar,.floating-clock,.flash,.billing-banner,.skip-link,.no-print{display:none!important}body,body.app{background:#fff!important;color:#000!important}main{width:auto!important;margin:0!important;padding:0!important}.rx-print{box-shadow:none!important;border:0!important;border-radius:0!important;max-width:none!important;padding:0!important}.rx-body pre{min-height:380px}}
.top{background:#ffffff;border-bottom:1px solid #d9e7e3;box-shadow:0 8px 24px rgba(13,42,38,.06);padding:10px 24px}.brand{height:42px}.brand:before{content:"health_metrics";font-family:"Material Symbols Rounded";font-feature-settings:"liga";font-size:25px;color:#fff;display:grid;place-items:center;background:linear-gradient(145deg,#0b625b,#074f4a)}.brand b{font-size:1.12rem}.top-actions{gap:8px}.top-icon{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--brand);display:inline-grid;place-items:center;box-shadow:0 1px 2px rgba(17,24,39,.04)}.top-icon:hover{background:var(--brand-soft);border-color:#b8dcd6;color:var(--brand-dark)}.top-icon .material-symbols-rounded{font-size:22px}.top-icon .badge{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;font-size:.65rem;border:2px solid #fff}.rolebar,.cmdbar{scrollbar-width:none}.rolebar::-webkit-scrollbar,.cmdbar::-webkit-scrollbar{display:none}.rolebar:before,.cmdbar:before{display:none!important;content:none!important}.rolebar{top:var(--top-h);align-items:center;padding:0 24px;background:#f8fbfa;border-bottom:1px solid #dce7e4}.role{min-height:46px;border-radius:0;padding:0 16px;color:#66736f;border-bottom:3px solid transparent}.role:hover{background:transparent;color:#0b625b}.role.active,.role.is-active,.role[aria-current=true],.role[aria-current=page]{background:transparent;color:#064a45;box-shadow:none;border-bottom-color:#0b625b}.cmdbar{top:calc(var(--top-h) + var(--role-h));padding:9px 24px;background:#ffffff;border-bottom:1px solid #dce7e4;box-shadow:0 6px 18px rgba(13,42,38,.05)}.cmd{border-radius:14px;min-height:40px;padding:0 14px}.cmd.active,.cmd.is-active,.cmd[aria-current=page]{box-shadow:0 8px 20px rgba(11,98,91,.2)}.tenant{background:#f8fbfa;border-color:#dce7e4;color:#52615d}.pagehead{border-radius:22px;padding:22px 24px}.pagehead h1{font-size:1.8rem}.card{border-radius:20px}.admin-grid-context{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.admin-tile{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft);color:var(--ink)}.admin-tile:hover{border-color:#b8dcd6;background:#fbfefd}.admin-tile .material-symbols-rounded{grid-row:1/3;width:42px;height:42px;border-radius:15px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:23px}.admin-tile b{font-size:1rem}.admin-tile span{color:var(--muted);font-weight:800;font-size:.88rem}.stat-link{color:var(--ink)}.mini-stat{min-height:84px}.scope-global[data-route="admin_health"] .kpis,.scope-global[data-route="admin_errors"] .kpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.scope-global[data-route="admin_health"] .timeline,.scope-global[data-route="admin_errors"] .timeline{gap:10px}.scope-global[data-route="admin_health"] .titem>div,.scope-global[data-route="admin_errors"] .titem>div{border-radius:16px}.table-wrap table{font-size:.93rem}.table-wrap th{white-space:nowrap}.floating-clock{right:18px;bottom:18px;background:#0b625b;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 30px rgba(6,70,66,.3)}@media(max-width:760px){.top{padding:7px 10px}.brand{height:36px}.brand:before{width:31px;height:31px;font-size:21px}.top-icon{width:32px;height:32px;border-radius:11px}.top-actions .logout .ghost.small{min-width:50px}.rolebar{padding:0 8px}.role{min-height:40px;padding:0 10px;font-size:.76rem}.cmdbar{padding:6px 8px}.cmd{min-width:46px;min-height:38px;border-radius:12px}.cmd span{max-width:72px;overflow:hidden;text-overflow:ellipsis}.admin-tile{grid-template-columns:36px minmax(0,1fr);border-radius:17px;padding:13px}.admin-tile .material-symbols-rounded{width:36px;height:36px;border-radius:13px}.pagehead{padding:15px;border-radius:18px}.pagehead h1{font-size:1.38rem}.floating-clock{right:10px;bottom:10px}}
body[data-route="patient"] main{width:min(1500px,calc(100% - 44px));padding-top:18px}.patient-hero-tabs{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;border-radius:26px;background:linear-gradient(135deg,#f4fbf9,#fff);border-color:#cfe1dc}.patient-hero-tabs h1{font-size:2.05rem;line-height:1.05}.patient-hero-tabs p{margin:.35rem 0 0;color:#53645f;font-weight:850}.patient-tabs-shell{grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:20px;width:100%;align-items:start}.patient-tab-nav{top:calc(var(--top-h) + var(--role-h) + var(--cmd-h) + 18px);border-radius:24px;padding:10px;background:#fff;box-shadow:0 16px 40px rgba(12,45,40,.08);border-color:#d7e6e2}.patient-tab-nav label,.patient-tab-nav [role=tab]{min-height:56px;border-radius:17px;padding:11px 12px;grid-template-columns:34px minmax(0,1fr) auto;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.patient-tab-nav .material-symbols-rounded{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:#f3f8f7;color:#0b625b;font-size:21px}.patient-tab-nav label.is-active,.patient-tab-nav [role=tab].is-active,.patient-tab-nav [aria-selected=true]{background:#e5f3f1;color:#064a45;box-shadow:inset 3px 0 0 #0b625b}.patient-tab-nav label.is-active .material-symbols-rounded,.patient-tab-nav [aria-selected=true] .material-symbols-rounded{background:#0b625b;color:#fff}.patient-tab-nav small{font-size:.73rem;line-height:1.2;margin-top:1px}.patient-tab-nav em{background:#fff;border:1px solid #dce7e4;color:#52615d}.patient-tab-panels{border-radius:26px;padding:24px;background:#fff;min-width:0;border-color:#d7e6e2;box-shadow:0 16px 40px rgba(12,45,40,.07)}.patient-panel{width:100%;min-width:0}.patient-panel.is-active{display:block!important}.patient-panel[hidden]{display:none!important}.patient-section-title{padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid #e3eeeb}.patient-section-title h2{font-size:1.38rem;letter-spacing:-.02em}.patient-section-title p{margin:.25rem 0 0;color:#61706c;font-weight:760}.patient-mini-grid,.patient-summary-cards,.patient-data-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.patient-mini-grid article,.patient-summary-cards article,.patient-data-list>div{background:#f8fbfa;border:1px solid #dfe9e6;border-radius:18px;padding:15px;min-width:0}.patient-summary-cards article{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px}.patient-summary-cards .material-symbols-rounded{width:36px;height:36px;border-radius:13px;background:#e5f3f1;color:#0b625b;display:grid;place-items:center}.patient-data-list span{display:block;color:#66736f;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.045em;margin-bottom:4px}.patient-data-list b{display:block;font-size:1rem;word-break:break-word}.patient-note{border-radius:18px;padding:16px}.patient-panel form,.patient-panel form.compact,.patient-record-form,.prescription-template-form{width:100%;max-width:none;margin:0}.patient-panel form.compact,.form-panel[open] form.compact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.patient-panel form.compact>.field,.form-panel[open] form.compact>.field{grid-column:span 6;margin:0}.patient-panel form.compact>.field.has-textarea,.patient-panel form.compact>.rx-template-preview,.patient-panel form.compact>.form-actions,.form-panel[open] form.compact>.field.has-textarea,.form-panel[open] form.compact>.form-actions{grid-column:1/-1}.rx-template-preview{display:grid;gap:8px;width:100%}.rx-template-preview b{font-weight:950}.rx-template-preview textarea,.patient-record-form textarea,.prescription-template-form textarea{width:100%;min-height:180px}.patient-panel .form-actions{border-top:1px solid #e3eeeb;padding-top:14px;margin-top:4px;justify-content:flex-end}.form-panel[open]{width:100%!important;max-width:none!important;flex:0 0 100%;align-self:stretch;border-radius:22px;background:#fff;padding:20px}.pagehead.has-open-panel{grid-template-columns:1fr}.pagehead.has-open-panel .pagehead-actions{grid-column:1/-1;width:100%;display:block}.pagehead-actions .form-panel[open]{display:block}.form-panel[open]>summary{display:inline-flex;margin:0 0 18px;padding:0;color:#064a45;font-size:1.05rem}.form-panel[open] form{width:100%;max-width:none}.form-panel[open] input,.form-panel[open] select,.form-panel[open] textarea,.patient-panel input,.patient-panel select,.patient-panel textarea{max-width:none}.compact>.form-actions{grid-column:1/-1}.compact>.field.has-textarea{grid-column:1/-1}.card.has-open-panel{display:block}.card.has-open-panel .form-panel[open]{margin:0}.soft-sep{margin:22px 0}.timeline .titem>div{min-width:0}.patient-tab-panels .timeline{gap:13px}@media(max-width:1120px){body[data-route="patient"] main{width:calc(100% - 28px)}.patient-tabs-shell{grid-template-columns:1fr}.patient-tab-nav{position:static;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px;max-height:none}.patient-tab-nav label,.patient-tab-nav [role=tab]{min-width:190px}.patient-tab-nav label.is-active,.patient-tab-nav [aria-selected=true]{box-shadow:inset 0 -3px 0 #0b625b}}@media(max-width:760px){body[data-route="patient"] main{width:calc(100% - 16px);padding-top:12px}.patient-hero-tabs{display:grid;padding:16px;border-radius:20px}.patient-hero-tabs h1{font-size:1.5rem}.patient-tabs-shell{gap:12px}.patient-tab-nav{border-radius:18px}.patient-tab-nav label,.patient-tab-nav [role=tab]{min-width:142px;min-height:48px;grid-template-columns:28px minmax(0,1fr);padding:9px}.patient-tab-nav .material-symbols-rounded{width:28px;height:28px;border-radius:10px;font-size:18px}.patient-tab-nav em,.patient-tab-nav small{display:none}.patient-tab-panels{padding:14px;border-radius:20px}.patient-section-title{display:grid;gap:6px}.patient-panel form.compact,.form-panel[open] form.compact{grid-template-columns:1fr}.patient-panel form.compact>.field,.form-panel[open] form.compact>.field{grid-column:1/-1}.patient-mini-grid,.patient-summary-cards,.patient-data-list{grid-template-columns:1fr}.patient-panel .form-actions,.form-actions{display:grid;grid-template-columns:1fr}.patient-panel .form-actions button,.patient-panel .form-actions a,.form-actions button,.form-actions a{width:100%;min-width:0}.form-panel[open]{padding:15px;border-radius:18px}}

@media(max-width:760px){.cmdbar{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:6px;-webkit-overflow-scrolling:touch}.cmdbar .cmd{flex:0 0 auto;width:max-content;min-width:max-content;max-width:none;padding-left:12px;padding-right:12px}.cmdbar .cmd span{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}.cmdbar .cmd .material-symbols-rounded+span{display:inline}.cmdbar .cmd:only-child{min-width:max-content}}

.rolebar:before,.cmdbar:before{content:none!important;display:none!important}.agenda-card{padding:16px}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.agenda-toolbar strong{font-weight:950;color:var(--ink)}.agenda-day{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);min-height:720px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.agenda-hours{display:grid;grid-template-rows:repeat(10,1fr);background:var(--surface-soft);border-right:1px solid var(--line)}.agenda-hour{position:relative;border-bottom:1px solid var(--line);padding:7px 9px;color:var(--muted);font-size:.78rem;font-weight:950}.agenda-hour:last-child{border-bottom:0}.agenda-lane{position:relative;background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(100%/9 - 1px),var(--line) calc(100%/9 - 1px),var(--line) calc(100%/9));min-width:0}.agenda-event{position:absolute;left:10px;right:10px;min-height:48px;overflow:hidden;border-radius:16px;padding:9px 11px;border:1px solid #b8ddd8;background:linear-gradient(135deg,#e8f6f4,#fff);box-shadow:0 8px 20px rgba(11,98,91,.12);display:flex;flex-direction:column;gap:2px}.agenda-event b{font-size:.75rem;color:var(--brand);font-weight:950}.agenda-event strong{font-size:.95rem;line-height:1.15;color:var(--ink)}.agenda-event span{font-size:.78rem;color:var(--muted);font-weight:800}.agenda-event.block{border-color:#fedf89;background:linear-gradient(135deg,#fffaeb,#fff);box-shadow:0 8px 20px rgba(161,92,7,.12)}.agenda-event.block b{color:var(--warn)}.agenda-event form{margin-top:4px}.agenda-empty{position:absolute;inset:18px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.78)}.patient-edit,.care-edit{margin-top:12px}.care-edit{border-top:1px solid var(--line);padding-top:10px}.care-edit>summary,.patient-edit>summary{cursor:pointer}.care-edit form,.patient-edit form{margin-top:10px}.danger-zone{margin-top:8px}.patient-record-form,.patient-edit form,.care-edit form,.compact{width:100%;max-width:none}.patient-panel textarea,.patient-panel input,.patient-panel select{max-width:none}.badge.warn{background:var(--warn-soft);border:1px solid #fedf89;color:var(--warn);padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:950}.patient-tab-panels{min-width:0}.patient-panel{min-width:0}.patient-panel .timeline .titem>div{min-width:0}@media(max-width:760px){.agenda-toolbar{align-items:stretch;flex-wrap:wrap}.agenda-day{grid-template-columns:54px minmax(620px,1fr);overflow-x:auto;min-height:660px}.agenda-hour{font-size:.7rem;padding:6px}.agenda-event{left:6px;right:6px;padding:8px;border-radius:13px}.agenda-event strong{font-size:.86rem}.agenda-event span{font-size:.72rem}.agenda-card{overflow-x:auto}.pagehead-actions details[open]{width:100%}.pagehead-actions details[open] form{width:100%}}

/* UX refinements: login, consultório, pagehead actions, agenda, timelines and patient list */
body[data-route="login"],body[data-route="signup"]{background:radial-gradient(circle at 18% 8%,rgba(11,98,91,.12),transparent 30%),linear-gradient(145deg,#eef6f4,#f8fbfa 48%,#fff)}
.login-card{width:min(460px,calc(100% - 28px));padding:30px;border-radius:30px;text-align:left}.auth-brandmark{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 14px 30px rgba(11,98,91,.22);margin-bottom:16px}.auth-brandmark .material-symbols-rounded{font-size:27px}.login-card h1,.signup-card h1{margin:.32rem 0 .35rem;font-size:1.85rem;letter-spacing:-.045em;line-height:1.05}.auth-lead,.signup-hero p{color:var(--muted);font-weight:850;margin:.2rem 0 18px}.login-card h1 + .login-form{margin-top:12px}.login-card h1 + .login-lock-panel{margin-top:12px}.login-form{display:grid;gap:12px}.login-form .field{margin:0}.wide{width:100%;min-width:0}.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-weight:850}.signup-card{padding:0;overflow:hidden;border-radius:30px}.signup-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:28px 30px 22px;background:linear-gradient(135deg,#f4fbf9,#fff);border-bottom:1px solid var(--line)}.signup-form{padding:24px 30px 30px;display:grid;grid-template-columns:1fr;gap:18px}.signup-form fieldset{border:1px solid var(--line);border-radius:22px;padding:18px;margin:0;background:#fff}.signup-form legend{display:inline-flex;align-items:center;gap:8px;padding:0 8px;font-weight:950;color:var(--brand-dark)}.signup-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.pagehead-actions .cmdlike,.pagehead-actions>.primary.small,.pagehead-actions>.ghost.small,.action-panel>summary.cmdlike{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.87rem;font-weight:950;white-space:nowrap;box-shadow:0 1px 2px rgba(17,24,39,.03);list-style:none}.pagehead-actions .cmdlike::-webkit-details-marker,.action-panel>summary.cmdlike::-webkit-details-marker{display:none}.pagehead-actions .primary.cmdlike,.pagehead-actions>.primary.small{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 7px 18px rgba(11,98,91,.18)}.pagehead-actions .ghost.cmdlike,.pagehead-actions>.ghost.small{background:#fff;border-color:var(--line);color:var(--ink)}.pagehead-actions .cmdlike .material-symbols-rounded{font-size:19px}.pagehead-actions .cmdlike:hover{background:var(--brand-soft-2);border-color:#bfddd8;color:var(--brand-dark)}.pagehead-actions .primary.cmdlike:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.timeline{gap:8px}.timeline:before{left:16px}.titem{grid-template-columns:34px minmax(0,1fr);gap:9px}.dot{width:32px;height:32px;border-radius:12px}.dot .material-symbols-rounded{font-size:18px}.time-dot{width:44px;margin-left:-6px;border-radius:999px;background:var(--brand);color:#fff;font-size:.76rem;font-weight:950;letter-spacing:-.02em;box-shadow:0 8px 18px rgba(11,98,91,.18)}.titem>div{border-radius:16px;padding:9px 11px}.titem time{display:block;margin-bottom:2px;color:var(--muted);font-size:.73rem;font-weight:950;text-transform:uppercase;letter-spacing:.035em}.titem h3{margin:0 0 2px;font-size:1rem;line-height:1.18}.titem p{margin:0 0 2px;color:var(--ink);font-weight:850}.titem small{display:block;line-height:1.25}.t-actions{margin-top:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.appointment-timeline>div{border-color:#cfe1dc;background:linear-gradient(135deg,#fbfffe,#fff)}.appointment-mini{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:8px}.appointment-mini .ghost.small{margin-left:auto}.audit-mini{display:grid;gap:6px;min-width:220px}.audit-mini.compact-empty{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-soft);padding:7px 9px;color:var(--muted);font-size:.8rem;font-weight:850;min-width:0}.audit-mini.compact-audit>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:7px 9px;background:var(--surface-soft)}.audit-mini.compact-audit .material-symbols-rounded{font-size:17px}.audit-mini p{margin:0}.audit-mini b{display:block;font-size:.82rem}.audit-mini small{font-size:.75rem}.patient-list-card{padding:12px}.patient-compact-list{display:grid;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.patient-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(130px,.8fr) minmax(140px,.8fr) auto;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);min-height:54px}.patient-row:last-child{border-bottom:0}.patient-row-head{min-height:auto;background:var(--surface-soft);color:var(--muted);font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em}.patient-row b{display:block;font-size:.96rem;line-height:1.18}.patient-row small,.patient-row span{display:block;color:var(--muted);font-size:.74rem;font-weight:900}.patient-row strong{display:block;font-size:.9rem;font-weight:950}.patient-row .ghost.small{justify-self:end}.agenda-card{padding:12px}.agenda-day{grid-template-columns:72px minmax(0,1fr);min-height:648px}.agenda-hours{grid-template-rows:repeat(9,1fr)}.agenda-hour{display:flex;align-items:flex-start;justify-content:flex-end;border-bottom:1px solid var(--line);padding:0 10px 0 6px}.agenda-hour time{transform:translateY(-.55em);background:var(--surface-soft);padding:0 2px}.agenda-lane{background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(100%/9 - 1px),var(--line) calc(100%/9 - 1px),var(--line) calc(100%/9))}.agenda-event{left:8px;right:8px;border-radius:13px;padding:7px 9px;min-height:40px;gap:1px}.agenda-event b{font-size:.72rem}.agenda-event strong{font-size:.9rem}.agenda-event span{font-size:.75rem}.agenda-event.block{border-left:4px solid var(--warn);background:#fffbef}.agenda-event.appointment{border-left:4px solid var(--brand)}
@media(max-width:760px){.login-card{margin-top:24px;padding:22px}.auth-footer{display:grid;align-items:stretch}.signup-hero{grid-template-columns:1fr;padding:22px}.signup-form{padding:18px}.signup-form fieldset{padding:15px}.signup-actions{display:grid;grid-template-columns:1fr}.two{grid-template-columns:1fr}.patient-row,.patient-row-head{grid-template-columns:1fr;gap:4px}.patient-row .ghost.small{justify-self:stretch;width:100%;margin-top:4px}.patient-row-head{display:none}.appointment-mini{display:grid}.appointment-mini .ghost.small{margin-left:0;width:100%}.agenda-day{grid-template-columns:54px minmax(620px,1fr);min-height:612px}.agenda-hours{grid-template-rows:repeat(9,1fr)}.agenda-hour{padding-right:6px}.agenda-hour time{font-size:.68rem}}


/* Patient list search + compact non-bold rows + person autosuggest refinements */
.patient-search-bar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px;margin:-4px 0 16px;box-shadow:var(--shadow-soft)}
.patient-search-bar label{gap:5px}.patient-search-bar label>span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.patient-search-bar input[type=search]{min-height:40px;border-radius:13px}.patient-search-bar .ghost.small,.patient-search-bar button{align-self:end}.patient-row:not(.patient-row-head){font-weight:400}.patient-row:not(.patient-row-head) .patient-cell{display:block;color:var(--ink);font-size:.93rem;font-weight:400;line-height:1.2}.patient-row:not(.patient-row-head) .patient-name{letter-spacing:-.01em}.patient-row:not(.patient-row-head) b,.patient-row:not(.patient-row-head) strong{font-weight:400}.patient-row-head span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.patient-row:not(.patient-row-head) .ghost.small span{font-weight:850}@media(max-width:760px){.patient-search-bar{grid-template-columns:1fr;margin-top:-2px}.patient-search-bar .ghost.small,.patient-search-bar button{width:100%;justify-self:stretch}.patient-row:not(.patient-row-head) .patient-cell{font-size:.9rem}.patient-row:not(.patient-row-head) .patient-cell::before{content:attr(data-label);display:block;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px}}

/* Agenda: seleção por médica, ações contextuais e conflito por escopo */
.danger,button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.danger:hover,button.danger:hover{background:#8f1b13;border-color:#8f1b13;color:#fff}.agenda-card{overflow:visible}.agenda-doctor-filter{display:flex;align-items:end;justify-content:flex-end;gap:10px;margin:0 0 14px}.agenda-doctor-filter label{min-width:260px;max-width:360px}.agenda-doctor-filter label>span{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.agenda-day{overflow:visible}.agenda-lane{overflow:visible}.agenda-event{overflow:visible;z-index:1}.agenda-event:has(.agenda-item-actions[open]){z-index:30}.agenda-item-actions{height:100%;min-height:100%}.agenda-item-actions>summary{list-style:none;cursor:pointer;height:100%;display:flex;flex-direction:column;gap:1px;position:relative;padding-right:24px;outline:0}.agenda-item-actions>summary::-webkit-details-marker{display:none}.agenda-item-actions>summary em{position:absolute;right:0;top:0;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.78);color:var(--muted);font-style:normal}.agenda-item-actions[open]>summary em{background:var(--brand);color:#fff}.agenda-action-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);display:grid;gap:10px;background:#fff;border:1px solid var(--line-strong);border-radius:16px;padding:12px;box-shadow:var(--shadow);z-index:35}.agenda-action-title{font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.agenda-edit-form{display:grid;gap:9px}.agenda-edit-form .form-row{margin-bottom:0}.agenda-edit-form textarea{min-height:72px}.agenda-delete-form{justify-content:flex-end}.agenda-action-panel .inline{display:flex;align-items:center;justify-content:flex-end;gap:8px}.agenda-action-panel .form-actions{margin-top:4px}.agenda-event.block .agenda-item-actions[open]>summary em{background:var(--warn);color:#fff}@media(max-width:760px){.agenda-doctor-filter{display:grid;grid-template-columns:1fr}.agenda-doctor-filter label{min-width:0;max-width:none}.agenda-doctor-filter button{width:100%}.agenda-action-panel{min-width:300px}.agenda-edit-form .two{grid-template-columns:1fr}}

/* Business rules UX additions */
.clinic-choice-grid{display:grid;gap:.75rem;margin:1rem 0}.clinic-choice{border:1px solid rgba(9,52,49,.16);background:#fff;border-radius:18px;padding:1rem;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 12px 28px rgba(12,41,38,.08);cursor:pointer;width:100%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.clinic-choice:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(12,41,38,.12);border-color:rgba(11,98,91,.28)}.credential-role{font-size:1.13rem;font-weight:900;color:var(--brand-dark);line-height:1.1}.credential-context{display:flex;flex-direction:column;align-items:flex-end;gap:.12rem;text-align:right;min-width:0;color:var(--ink)}.credential-context>span{font-size:.94rem;font-weight:750;color:var(--ink);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credential-context small{font-size:.82rem;font-weight:700;color:var(--muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clinic-choice-cancel{margin-top:.5rem}@media(max-width:560px){.clinic-choice{align-items:flex-start;flex-direction:column}.credential-context{align-items:flex-start;text-align:left}.credential-context>span,.credential-context small{max-width:100%;white-space:normal}}.permissions-matrix{overflow-x:auto}.perm-table{min-width:780px;border:1px solid rgba(9,52,49,.12);border-radius:18px;overflow:hidden}.perm-head,.perm-row{display:grid;grid-template-columns:170px repeat(12,minmax(120px,1fr));align-items:stretch}.perm-head{background:#f4f8f7;font-weight:800}.perm-head>span,.perm-row>b,.perm-check{padding:.65rem;border-bottom:1px solid rgba(9,52,49,.08);border-right:1px solid rgba(9,52,49,.08)}.perm-head small{display:block;font-size:.68rem}.perm-check{display:flex;align-items:center;gap:.4rem;font-size:.78rem}.perm-check span{display:none}.agenda-delete-form.compact{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(9,52,49,.12)}

/* UX refinements: login lock feedback */
.login-lock-panel{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;margin:0 0 14px;padding:12px 13px 14px;border:1px solid #f5c7c2;border-radius:18px;background:linear-gradient(135deg,#fff8f7,#fff);color:var(--ink);box-shadow:0 8px 20px rgba(180,35,24,.07);overflow:hidden}.login-lock-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--danger)}.login-lock-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:var(--danger-soft);color:var(--danger)}.login-lock-icon .material-symbols-rounded{font-size:22px}.login-lock-icon.ready{background:var(--ok-soft);color:var(--ok)}.login-lock-copy{display:grid;gap:1px;min-width:0}.login-lock-copy strong{font-size:.94rem;font-weight:950;letter-spacing:-.01em}.login-lock-copy span{color:var(--muted);font-size:.84rem;font-weight:850}.login-lock-copy em{display:inline-flex;align-items:center;justify-content:center;min-width:58px;margin:0 2px;padding:2px 7px;border-radius:999px;background:#fff;border:1px solid #f1b9b2;color:var(--danger);font-style:normal;font-weight:950;font-variant-numeric:tabular-nums}.login-lock-meter{grid-column:1/-1;height:5px;border-radius:999px;background:#f9d8d5;overflow:hidden;margin-top:2px}.login-lock-meter i{display:block;height:100%;width:var(--progress,100%);border-radius:inherit;background:var(--danger);transition:width .25s ease}.login-lock-panel.is-ready{border-color:#b7ebca;background:linear-gradient(135deg,#f6fff9,#fff)}.login-lock-panel.is-ready:before{background:var(--ok)}
@media(max-width:760px){.login-lock-panel{grid-template-columns:36px minmax(0,1fr);padding:11px 12px 13px}.login-lock-icon{width:34px;height:34px;border-radius:12px}.login-lock-copy span{font-size:.8rem}}


/* Activity timeline typography: date regular, action emphasized, details smaller */
.activity-timeline .titem time{font-weight:500;text-transform:none;letter-spacing:0;font-size:.78rem;color:var(--muted);}
.activity-timeline .titem h3{font-weight:400;}
.activity-timeline .titem p{font-weight:400;font-size:.82rem;line-height:1.28;color:var(--muted);}

/* rolebar active tab overlap refinement */
.rolebar{
  align-items:flex-end;
  background:#f8fbfa;
  border-bottom:0;
}
.role{
  position:relative;
  min-height:46px;
  margin-bottom:0;
  border:2px solid transparent;
  border-bottom:0;
  border-radius:12px 12px 0 0;
  background:transparent;
}
.role.active,
.role.is-active,
.role[aria-current=true],
.role[aria-current=page]{
  background:var(--bg);
  color:var(--brand-dark);
  border-left-color:var(--brand);
  border-right-color:var(--brand);
  border-top-color:var(--brand);
  border-bottom-color:var(--bg);
  margin-bottom:-2px;
  z-index:3;
  box-shadow:0 2px 0 0 var(--bg);
}
.cmdbar{
  position:sticky;
  top:calc(var(--top-h) + var(--role-h));
  border-top:2px solid var(--brand);
}
@media(max-width:760px){
  .role{
    min-height:40px;
    border-radius:10px 10px 0 0;
  }
  .role.active,
  .role.is-active,
  .role[aria-current=true],
  .role[aria-current=page]{
    margin-bottom:-2px;
  }
}



/* Tasks operational center UX */
.cmd-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:2px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:.68rem;font-weight:950;line-height:1;border:1px solid #b8dcd6}
.cmd.active .cmd-count,.cmd.is-active .cmd-count,.cmd[aria-current=page] .cmd-count{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.34);color:#fff}
.cmd-count.danger{background:var(--danger-soft);border-color:#fecdca;color:var(--danger)}
.cmd.active .cmd-count.danger,.cmd.is-active .cmd-count.danger,.cmd[aria-current=page] .cmd-count.danger{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.42);color:#fff}
.task-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:-4px 0 16px}
.task-overview>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 15px;box-shadow:var(--shadow-soft)}
.task-overview b{display:block;font-size:1.55rem;line-height:1;font-weight:950;letter-spacing:-.04em;color:var(--brand-dark)}
.task-overview span{display:block;margin-top:4px;color:var(--muted);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.task-center{padding:16px}
.task-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;margin-bottom:12px}
.task-search label{gap:6px}
.task-search label>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:950}
.task-search input[type=search]{min-height:42px}
.task-filters{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:2px 0 14px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.task-filter{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:950;white-space:nowrap;box-shadow:0 1px 2px rgba(17,24,39,.03)}
.task-filter:hover{background:var(--brand-soft-2);border-color:#b8dcd6;color:var(--brand-dark)}
.task-filter.active{background:var(--brand);border-color:var(--brand);color:#fff}
.task-filter .material-symbols-rounded{font-size:18px}
.task-filter b{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.68rem;line-height:1}
.task-board{display:grid;gap:16px;margin-top:14px}
.task-group{display:grid;gap:10px}
.task-group>header{display:flex;align-items:end;justify-content:space-between;gap:12px}
.task-group>header h2{margin:0;color:var(--ink);font-size:1.02rem;letter-spacing:-.02em}
.task-group>header p{margin:2px 0 0;color:var(--muted);font-size:.82rem;font-weight:800}
.task-group>header>span{display:inline-grid;place-items:center;min-width:30px;height:26px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:950}
.task-list{display:grid;gap:8px}
.task-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}
.task-card.due-bad{border-color:#fecdca;background:linear-gradient(90deg,var(--danger-soft),#fff 42%)}
.task-card.due-warn{border-color:#fedf89;background:linear-gradient(90deg,var(--warn-soft),#fff 42%)}
.task-card.status-concluida{opacity:.88;background:#fbfefd}
.task-main{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px}
.task-marker{width:36px;height:36px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}
.task-card.due-bad .task-marker{background:var(--danger-soft);color:var(--danger)}
.task-card.due-warn .task-marker{background:var(--warn-soft);color:var(--warn)}
.task-copy{min-width:0}
.task-copy h3{margin:0;color:var(--ink);font-size:.98rem;line-height:1.18;font-weight:950;letter-spacing:-.012em}
.task-copy p{margin:3px 0 0;color:var(--muted);font-size:.85rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.task-chip{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 8px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font-size:.73rem;font-weight:900}
.task-chip .material-symbols-rounded{font-size:16px}
.task-chip.bad{background:var(--danger-soft);border-color:#fecdca;color:var(--danger)}
.task-chip.warn{background:var(--warn-soft);border-color:#fedf89;color:var(--warn)}
.task-chip.soon{background:var(--blue-soft);border-color:#b2ddff;color:var(--blue)}
.task-chip.done{background:var(--ok-soft);border-color:#abefc6;color:var(--ok)}
.task-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.task-actions form{margin:0}
.task-details{border-top:1px solid var(--line);background:rgba(248,251,250,.74)}
.task-details>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;margin:0;padding:9px 12px;color:var(--muted);font-size:.78rem;font-weight:950;cursor:pointer}
.task-details>summary::-webkit-details-marker{display:none}
.task-details[open]>summary .material-symbols-rounded{transform:rotate(180deg)}
.task-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0 12px 12px}
.task-detail-grid>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}
.task-detail-grid b{display:block;margin-bottom:3px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.055em}
.task-detail-grid p{margin:0;color:var(--ink);font-size:.86rem;font-weight:800}
.task-empty{display:grid;gap:6px;text-align:center}
.task-empty small{display:block;font-weight:800}
@media(max-width:760px){
  .task-search{grid-template-columns:1fr}
  .task-main{grid-template-columns:32px minmax(0,1fr);align-items:start}
  .task-marker{width:32px;height:32px;border-radius:11px}
  .task-actions{grid-column:1/-1;justify-content:stretch}
  .task-actions .small,.task-actions a{width:100%}
  .task-copy p{white-space:normal}
  .task-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}


.task-comments{border-top:1px solid var(--line);padding:11px 12px 12px;background:#fff}
.task-comments>b{display:block;margin-bottom:8px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.055em}
.task-comment-list{display:grid;gap:6px;margin-bottom:9px}
.task-comment-list p{margin:0;border:1px solid var(--line);border-radius:12px;padding:8px 9px;background:var(--surface-soft);color:var(--ink);font-size:.84rem;font-weight:800}
.task-comment-list p span{display:block;margin-bottom:2px;color:var(--muted);font-size:.72rem;font-weight:950}
.task-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px}
.task-comment-form input{min-height:36px;border-radius:12px}
@media(max-width:760px){.task-comment-form{grid-template-columns:1fr}.task-comment-form button{width:100%}}

/* Role active tab hard overlap: the bottom edge paints above the CmdBar line */
.rolebar{
  z-index:96;
  overflow:visible;
  align-items:flex-end;
}
.role.active,
.role.is-active,
.role[aria-current=true],
.role[aria-current=page]{
  position:relative;
  z-index:999;
  isolation:isolate;
  background:var(--bg);
  border-left-color:var(--brand);
  border-right-color:var(--brand);
  border-top-color:var(--brand);
  border-bottom:2px solid var(--bg);
  margin-bottom:-2px;
}
.role.active::after,
.role.is-active::after,
.role[aria-current=true]::after,
.role[aria-current=page]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-3px;
  height:4px;
  background:var(--bg);
  z-index:1000;
  pointer-events:none;
}
.cmdbar{z-index:70;border-top:2px solid var(--brand)}

/* Tasks: collective queue and individual responsibility */
.task-create-form .field-help{grid-column:1/-1;margin-top:-6px}
.task-card.can-start{border-color:#b8dcd6;background:linear-gradient(90deg,var(--brand-soft-2),#fff 45%)}
.task-card.status-em_andamento{border-color:#b2ddff;background:linear-gradient(90deg,var(--blue-soft),#fff 45%)}
.task-card.target-role .task-marker{background:var(--brand-soft);color:var(--brand)}
.task-card.target-clinic .task-marker{background:var(--surface-soft);color:var(--brand-dark)}
.task-chip.responsibility{background:#fff;border-color:#cfe2de;color:var(--brand-dark)}
.task-start-form button{box-shadow:0 8px 18px rgba(11,98,91,.14)}
.task-group-start>header h2,.task-group-mine>header h2{color:var(--brand-dark)}
.task-group-progress .task-card{opacity:.92}
@media(max-width:760px){
  .rolebar{overflow-x:auto;overflow-y:visible}
  .role.active::after,.role.is-active::after,.role[aria-current=true]::after,.role[aria-current=page]::after{bottom:-3px;height:4px}
}

/* Task comment management */
.task-comment-list{display:grid;gap:7px;margin-bottom:9px}
.task-comment-item{border:1px solid var(--line);border-radius:12px;padding:8px 9px;background:var(--surface-soft);display:grid;gap:7px;color:var(--ink)}
.task-comment-item span{display:block;margin-bottom:2px;color:var(--muted);font-size:.72rem;font-weight:950}
.task-comment-item p{margin:0;color:var(--ink);font-size:.84rem;font-weight:800;line-height:1.3}
.task-comment-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.task-comment-actions details{display:inline-block}
.task-comment-actions summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:32px;padding:7px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.8rem;font-weight:950}
.task-comment-actions summary::-webkit-details-marker{display:none}
.task-comment-actions details[open]{display:grid;gap:7px;width:100%}
.task-comment-actions details[open] summary{width:max-content}
.task-comment-actions form{margin:0}
.task-comment-actions .task-comment-form{width:100%;grid-template-columns:minmax(0,1fr) auto}
@media(max-width:760px){.task-comment-actions,.task-comment-actions .task-comment-form{grid-template-columns:1fr}.task-comment-actions details[open] summary,.task-comment-actions button{width:100%}}

/* Timeline date typography refinement */
.titem time{display:block;margin-bottom:2px;color:var(--muted);font-size:.78rem;font-weight:400;text-transform:none;letter-spacing:0}
.activity-timeline .titem time{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}

/* Editable default billing card */
.default-price-card{display:block;cursor:pointer}
.default-price-card>summary{list-style:none;display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.default-price-card>summary::-webkit-details-marker{display:none}
.default-price-card[open]{align-items:stretch}
.default-price-card[open]>summary{margin-bottom:12px}
.default-price-card form{margin-top:4px}

/* Password strength feedback */
.password-strength{display:grid;gap:5px;margin-top:7px}
.password-strength span{display:block;height:7px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);overflow:hidden}
.password-strength span i{display:block;height:100%;width:var(--strength,0%);border-radius:inherit;background:var(--muted);transition:width .18s ease,background .18s ease}
.password-strength em{font-style:normal;font-size:.76rem;color:var(--muted);font-weight:800}
.password-strength.weak span i{background:#b42318}
.password-strength.medium span i{background:#b7791f}
.password-strength.strong span i{background:var(--brand)}
.password-strength.weak em{color:#b42318}
.password-strength.medium em{color:#8a5a00}
.password-strength.strong em{color:var(--brand-dark)}

/* Documents module */
.doc-template-list{display:grid;gap:12px}
.doc-template-card .task-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.doc-print-card{break-inside:avoid}
.doc-issued-body{white-space:pre-wrap;font:inherit;line-height:1.55;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;color:var(--text)}
@media print{.topbar,.rolebar,.cmdbar,.floating-clock,.no-print,.doc-template-list,.action-panel,.form-actions,form,.patient-tab-nav,.task-actions{display:none!important}.doc-issued-body{border:0;padding:0}.card{box-shadow:none;border:0}.doc-print-card{display:block!important}}

/* Documents functional workspace and rich template editor */
.doc-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.doc-overview article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow-soft)}
.doc-overview b{display:block;font-size:1.25rem;line-height:1;color:var(--brand-dark)}
.doc-overview span{display:block;margin-top:6px;color:var(--muted);font-size:.82rem}.doc-overview .has-alert{border-color:#efb3b3;background:#fff8f8}
.doc-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:14px;align-items:start;margin-bottom:14px}.doc-sidebar{display:grid;gap:14px}
.doc-editor-card .field.has-textarea{grid-column:1/-1}.doc-form .field span{font-weight:850}.doc-editor-wrap{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.doc-editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:8px;background:#f6faf8;border-bottom:1px solid var(--line)}.doc-editor-toolbar span{width:1px;height:24px;background:var(--line);margin:0 4px}.doc-editor{min-height:220px;padding:16px;line-height:1.58;outline:none}.doc-editor:focus{box-shadow:inset 0 0 0 2px rgba(47,111,91,.22)}.doc-editor p,.doc-issued-body p{margin:.35rem 0 .85rem}.doc-editor ul,.doc-editor ol,.doc-issued-body ul,.doc-issued-body ol{margin:.5rem 0 .9rem 1.3rem}.doc-field-title{padding:10px 12px 0;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.doc-field-palette{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px 12px}.doc-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doc-template-card .task-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.doc-template-card .task-details{margin-top:10px}.doc-issued-body{white-space:normal;font:inherit;line-height:1.58;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;color:var(--text)}.ta-left{text-align:left}.ta-center{text-align:center}.ta-right{text-align:right}.ta-justify{text-align:justify}
@media(max-width:980px){.doc-workspace{grid-template-columns:1fr}.doc-overview,.doc-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.doc-overview,.doc-template-grid{grid-template-columns:1fr}.doc-editor-toolbar{gap:4px}.doc-editor{min-height:180px;padding:12px}}

/* Patient duplicate and document-origin refinements */
.patient-existing-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 14px}.patient-existing-card strong{font-weight:950}.patient-existing-card span{color:#52615d;font-weight:800}.inline-link{font-weight:950;color:#0b625b;text-decoration:underline;text-underline-offset:3px}.patient-panel-documentos .empty{margin:8px 0}.patient-panel-documentos h3{margin:16px 0 6px;font-size:1rem}

/* Atividades: leitura direta, sem negrito na timeline */
.activity-timeline .titem h3,.activity-timeline .titem p,.activity-timeline .titem small{font-weight:400!important;}
.activity-timeline .titem b,.activity-timeline .titem strong{font-weight:400!important;}

/* Patient clinical summary snapshot */
.patient-clinical-summary .patient-section-title{margin-bottom:14px}.patient-consultation-status{display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;align-items:start;margin-bottom:18px;padding:16px;border:1px solid #cfe1dc;border-radius:20px;background:linear-gradient(135deg,#f4fbf9,#fff);box-shadow:var(--shadow-soft)}.patient-consultation-status .material-symbols-rounded{width:44px;height:44px;border-radius:16px;background:var(--brand);color:#fff;display:grid;place-items:center}.patient-consultation-status span{display:block;color:var(--muted);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.patient-consultation-status strong{display:block;margin-top:2px;font-size:1.08rem;letter-spacing:-.015em}.patient-consultation-status p{margin:4px 0 0;color:#53645f;font-weight:760}.patient-consultation-status.first-visit{border-color:#fedf89;background:linear-gradient(135deg,#fffbeb,#fff)}.patient-consultation-status.first-visit .material-symbols-rounded{background:#a15c07}.patient-clinical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px}.patient-clinical-card{background:#fff;border:1px solid #dfe9e6;border-radius:20px;padding:15px;box-shadow:var(--shadow-soft);min-width:0}.patient-clinical-card header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.patient-clinical-card header .material-symbols-rounded{width:36px;height:36px;border-radius:13px;background:#e5f3f1;color:#0b625b;display:grid;place-items:center}.patient-clinical-card h3{margin:0;font-size:1rem;letter-spacing:-.01em}.clinical-mini-list{display:grid;gap:10px}.clinical-mini-item{border-top:1px solid #e8f0ed;padding-top:10px}.clinical-mini-item:first-child{border-top:0;padding-top:0}.clinical-mini-item time{display:block;color:var(--muted);font-size:.74rem;font-weight:400;margin-bottom:3px}.clinical-mini-item strong{display:block;font-size:.92rem;font-weight:850;color:var(--ink);line-height:1.25}.clinical-mini-item p{margin:5px 0 0;color:#53645f;font-size:.88rem;line-height:1.42}.empty-mini{margin:0;color:var(--muted);font-weight:760;background:#f8fbfa;border:1px dashed #d7e6e2;border-radius:14px;padding:11px}@media(max-width:760px){.patient-consultation-status{grid-template-columns:38px minmax(0,1fr);padding:13px}.patient-consultation-status .material-symbols-rounded{width:38px;height:38px;border-radius:14px}.patient-clinical-grid{grid-template-columns:1fr}.patient-clinical-card{padding:13px;border-radius:17px}}

/* Incremental UX copy, compact command bar and mobile agenda */
/* CmdBar: manter o comando ativo em sua posição original */
.cmdbar .cmd.active,.cmdbar .cmd.is-active,.cmdbar .cmd[aria-current=page]{order:0}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]){min-width:38px;padding-inline:9px;gap:0}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page])>span{display:none}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]) .cmd-count{display:inline-grid;margin-left:4px}
.patient-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.patient-new-tab-btn{cursor:pointer;text-decoration:none}
.doc-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
.doc-issue-card{margin-bottom:16px}
.doc-form .doc-field-title{border-top:1px solid var(--line);margin-top:0;padding-top:12px}
@media(max-width:760px){
  .cmdbar{gap:6px;padding-inline:14px}
  .cmdbar .cmd.active,.cmdbar .cmd.is-active,.cmdbar .cmd[aria-current=page]{padding-inline:12px}
  .patient-hero.patient-hero-tabs{display:grid;gap:12px}
  .patient-hero-actions{justify-content:stretch;display:grid;grid-template-columns:1fr;gap:8px}
  .patient-hero-actions .ghost,.patient-hero-actions .primary{width:100%}
  .doc-overview{grid-template-columns:1fr}
  .agenda-card{overflow:visible;padding:10px}
  .agenda-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch;text-align:center;gap:8px}
  .agenda-toolbar .ghost{width:100%}
  .agenda-day{display:block;min-height:0;border:0;border-radius:0;background:transparent;overflow:visible}
  .agenda-hours{display:none}
  .agenda-lane{position:static;min-height:0;background:none;display:grid;gap:10px;overflow:visible}
  .agenda-event{position:relative!important;left:auto!important;right:auto!important;top:auto!important;height:auto!important;min-height:0;padding:10px;border-radius:16px}
  .agenda-event b{font-size:.78rem}.agenda-event strong{font-size:1rem}.agenda-event span{font-size:.82rem}
  .agenda-item-actions{height:auto;min-height:0}
  .agenda-item-actions>summary{height:auto;min-height:54px;padding-right:28px}
  .agenda-action-panel{position:static;min-width:0;margin-top:9px;box-shadow:var(--shadow-soft)}
  .agenda-empty{position:static;min-height:110px;padding:18px}
}


/* CmdBar inactive color and active label layout */
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]){
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
  box-shadow:0 7px 18px rgba(11,98,91,.12);
}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]):hover{
  background:var(--brand-dark);
  border-color:var(--brand-dark);
  color:#fff;
}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page])>span.material-symbols-rounded{
  display:inline-flex;
  color:#fff;
}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page])>span:not(.material-symbols-rounded){
  display:none;
}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]) .cmd-count{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.34);
  color:#fff;
}
.cmdbar .cmd.active,.cmdbar .cmd.is-active,.cmdbar .cmd[aria-current=page]{
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.cmdbar .cmd.active>span.material-symbols-rounded,
.cmdbar .cmd.is-active>span.material-symbols-rounded,
.cmdbar .cmd[aria-current=page]>span.material-symbols-rounded{
  order:0;
  flex:0 0 auto;
}
.cmdbar .cmd.active>span:not(.material-symbols-rounded),
.cmdbar .cmd.is-active>span:not(.material-symbols-rounded),
.cmdbar .cmd[aria-current=page]>span:not(.material-symbols-rounded){
  order:1;
  display:inline-flex;
  align-items:center;
}
.cmdbar .cmd.active>.cmd-count,
.cmdbar .cmd.is-active>.cmd-count,
.cmdbar .cmd[aria-current=page]>.cmd-count{
  order:2;
}

/* Notifications UX refinement */
.notice-screen{display:grid;gap:16px}
.notice-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:2px}
.notice-kpi{display:flex;align-items:center;gap:12px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 15px;box-shadow:var(--shadow-soft)}
.notice-kpi>.material-symbols-rounded{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex:0 0 auto}
.notice-kpi b{display:block;font-size:1.45rem;line-height:1;font-weight:800;letter-spacing:-.035em}
.notice-kpi span{display:block;margin-top:2px;color:var(--muted);font-weight:800;font-size:.83rem}
.notice-kpi-pending>.material-symbols-rounded,.notice-kpi-critical>.material-symbols-rounded{background:var(--danger-soft);color:var(--danger)}
.notice-card-shell{padding:0;overflow:hidden}
.notice-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.notice-section-head h2{margin:0;font-size:1rem;letter-spacing:-.01em;font-weight:850}
.notice-section-head span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:850}
.notice-list{display:grid;gap:0}
.notice-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:start;padding:15px 16px;border-bottom:1px solid var(--line);background:#fff}
.notice-card:last-child{border-bottom:0}
.notice-card.needs-ack{background:linear-gradient(90deg,#fff7f5,#fff)}
.notice-card.global{background:linear-gradient(90deg,#f8fbfa,#fff)}
.notice-card.severity-critical{background:linear-gradient(90deg,#fff1f0,#fff)}
.notice-card.severity-warning{background:linear-gradient(90deg,#fffaeb,#fff)}
.notice-card.is-inactive{opacity:.78}
.notice-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
.notice-card.needs-ack .notice-icon,.notice-card.severity-critical .notice-icon{background:var(--danger-soft);color:var(--danger)}
.notice-card.severity-warning .notice-icon{background:var(--warn-soft);color:var(--warn)}
.notice-main{min-width:0;display:grid;gap:5px}
.notice-main header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.notice-eyebrow{display:inline-flex;align-items:center;max-width:100%;color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-main time{color:var(--muted);font-size:.76rem;font-weight:700;white-space:nowrap}
.notice-main h3{margin:0;font-size:1rem;line-height:1.25;font-weight:850;letter-spacing:-.01em}
.notice-main p{margin:0;color:#40504c;font-weight:650;line-height:1.42;white-space:normal}
.notice-main footer{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;font-weight:750}
.notice-main footer span{display:inline-flex;align-items:center;gap:5px}
.notice-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.notice-actions .inline{display:flex;margin:0}
.notice-empty{display:grid;place-items:center;gap:8px;padding:36px 18px;text-align:center;color:var(--muted)}
.notice-empty .material-symbols-rounded{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
.notice-empty strong{font-weight:850;color:var(--ink)}
.notice-form textarea{min-height:140px}
.notice-admin .notice-card.global .notice-actions{align-self:center}
@media(max-width:760px){
  .notice-kpis{grid-template-columns:1fr 1fr}
  .notice-kpi{padding:12px;gap:10px}
  .notice-kpi>.material-symbols-rounded{width:34px;height:34px;border-radius:12px}
  .notice-kpi b{font-size:1.25rem}
  .notice-kpi span{font-size:.76rem}
  .notice-card{grid-template-columns:38px minmax(0,1fr);padding:13px;gap:10px}
  .notice-icon{width:36px;height:36px;border-radius:13px}
  .notice-main header{display:grid;gap:2px;justify-content:stretch}
  .notice-main time{font-size:.72rem}
  .notice-actions{grid-column:2;justify-content:flex-start;margin-top:4px}
  .notice-actions .inline,.notice-actions button{width:100%}
  .notice-section-head{padding:13px}
}
@media(max-width:430px){.notice-kpis{grid-template-columns:1fr}}

/* PageHead module icon */
.pagehead-copy h1{display:flex;align-items:center;gap:10px;line-height:1.08}
.pagehead-icon{width:40px;height:40px;border-radius:15px;display:inline-grid;place-items:center;flex:0 0 40px;background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(11,98,91,.10)}
.pagehead-icon .material-symbols-rounded{font-size:22px;vertical-align:0}
@media(max-width:760px){.pagehead-copy h1{gap:9px}.pagehead-icon{width:36px;height:36px;flex-basis:36px;border-radius:13px}.pagehead-icon .material-symbols-rounded{font-size:20px}}


/* PageHead action toolbar: keep action buttons side by side */
.pagehead-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  justify-content:flex-end;
  gap:10px;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding-bottom:2px;
}
.pagehead-actions>a,
.pagehead-actions>button,
.pagehead-actions>.action-panel,
.pagehead-actions>.form-panel,
.pagehead-actions>details{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content;
  max-width:none;
}
.pagehead-actions .cmdlike,
.pagehead-actions>.primary.small,
.pagehead-actions>.ghost.small{
  white-space:nowrap;
  flex:0 0 auto;
}
.pagehead.has-open-panel .pagehead-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  grid-column:1/-1;
  width:100%;
}
.pagehead-actions .form-panel[open],
.pagehead-actions details[open]{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content;
  align-self:flex-start;
}
.pagehead-actions details[open] form{
  min-width:min(680px,calc(100vw - 44px));
}
@media(max-width:760px){
  .pagehead-actions{justify-content:flex-start!important}
  .pagehead-actions>a,
  .pagehead-actions>button,
  .pagehead-actions>.action-panel,
  .pagehead-actions>.form-panel,
  .pagehead-actions>details{width:auto!important;min-width:max-content}
  .pagehead-actions .form-panel[open],
  .pagehead-actions details[open]{width:auto!important}
  .pagehead-actions details[open] form{min-width:calc(100vw - 44px)}
}

/* Incremental global UX refinement: consistent surfaces, touch targets and readability */
:root{
  --card:var(--surface);
  --focus-ring:0 0 0 4px rgba(11,98,91,.14);
  --shadow-hover:0 18px 42px rgba(20,40,36,.10);
  --ease:cubic-bezier(.22,.61,.36,1);
}
body.app{
  background:
    radial-gradient(circle at 12% -8%,rgba(11,98,91,.08),transparent 32rem),
    linear-gradient(180deg,#f7fbfa 0,#f2f6f5 42rem,var(--bg) 100%);
}
body.public{background:linear-gradient(180deg,#f7fbfa,#eef5f3)}
@media(prefers-reduced-motion:no-preference){
  main{animation:prontooFadeIn .18s var(--ease) both}
  .card,.pagehead,.auth,.task-card,.notice-card,.patient-row,.agenda-event,.doc-template-card{transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease),background .16s var(--ease)}
  @keyframes prontooFadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.cmd:focus-visible,.role:focus-visible{outline:0;box-shadow:var(--focus-ring)!important;border-color:var(--brand)!important}
.top{backdrop-filter:saturate(1.1) blur(10px);background:rgba(255,255,255,.94)}
.brand:before{position:relative;overflow:hidden}
.brand:before{box-shadow:0 10px 22px rgba(11,98,91,.20),inset 0 0 0 1px rgba(255,255,255,.20)}
.tenant{background:rgba(255,255,255,.84);border-color:#d4e3df;color:#43534f}
.rolebar,.cmdbar{scroll-snap-type:x proximity;scroll-padding-inline:22px}
.role,.cmd{scroll-snap-align:start}
.cmdbar{background:rgba(248,251,250,.96);backdrop-filter:saturate(1.08) blur(8px)}
.cmdbar::-webkit-scrollbar,.rolebar::-webkit-scrollbar,.pagehead-actions::-webkit-scrollbar,.task-filters::-webkit-scrollbar{height:7px}
.cmdbar::-webkit-scrollbar-thumb,.rolebar::-webkit-scrollbar-thumb,.pagehead-actions::-webkit-scrollbar-thumb,.task-filters::-webkit-scrollbar-thumb{background:#bfd5d0;border-radius:999px}
.cmdbar .cmd.active,.cmdbar .cmd.is-active,.cmdbar .cmd[aria-current=page]{box-shadow:0 9px 22px rgba(11,98,91,.20)}
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]){box-shadow:0 8px 18px rgba(11,98,91,.10)}
main{width:min(1260px,calc(100% - 40px));padding-top:24px}
.pagehead{align-items:center;border-color:#d7e5e1;background:linear-gradient(135deg,#fff 0,#fbfefd 65%,#f3faf8 100%);box-shadow:0 10px 28px rgba(20,40,36,.07);position:relative;isolation:isolate}
.pagehead:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand),#74b7ad);border-radius:24px 0 0 24px;opacity:.9;z-index:-1}
.pagehead-copy h1{margin:0;font-weight:950;letter-spacing:-.04em;color:#11221f}
.pagehead-icon{background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 10px 22px rgba(11,98,91,.18),inset 0 0 0 1px rgba(255,255,255,.18)}
.pagehead-actions{align-items:center;padding:2px 2px 6px;margin-bottom:-4px}
.pagehead-actions .cmdlike,.pagehead-actions>.primary.small,.pagehead-actions>.ghost.small,.action-panel>summary.cmdlike{min-height:40px;border-radius:14px;padding-inline:14px}
.pagehead-actions>.primary.small,.pagehead-actions .primary.cmdlike{box-shadow:0 10px 22px rgba(11,98,91,.18)}
.card,.auth,.kpis>div,.stat-card,.task-card,.notice-card,.patient-clinical-card,.patient-consultation-status,.doc-template-card{border-color:#d9e7e3;box-shadow:0 10px 26px rgba(20,40,36,.065)}
.card{background:linear-gradient(180deg,#fff 0,#fff 84%,#fbfefd 100%)}
.card:hover,.auth:hover,.task-card:hover,.notice-card:hover,.patient-row:hover,.doc-template-card:hover{border-color:#c9ddd8;box-shadow:var(--shadow-hover)}
.card>h2:first-child,.card>h3:first-child,.section-head h2{letter-spacing:-.02em;color:#152522;font-weight:900}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.section-head>div{min-width:0}.section-head h2,.section-head h3{margin:0}.section-head p{margin:4px 0 0;color:var(--muted);font-weight:750}
.empty{border:1px dashed #cadbd7;border-radius:18px;background:linear-gradient(135deg,#fbfefd,#fff);color:#657571;padding:18px;text-align:center;font-weight:800}
.flash,.billing-banner{display:flex;align-items:center;gap:10px;border-radius:18px;padding:14px 16px}.flash:before,.billing-banner:before{font-family:"Material Symbols Rounded";font-size:21px;line-height:1}.flash.ok:before{content:"check_circle"}.flash.bad:before{content:"error"}.flash.info:before,.billing-banner:before{content:"info"}
.compact{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}.compact .has-textarea,.compact .field.has-textarea{grid-column:1/-1}
label>span,.compact .field>span,.form-row>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;color:#53635f;font-weight:900}
input,select,textarea{background:linear-gradient(180deg,#fff,#fff);border-color:#cbdcd8;box-shadow:inset 0 1px 0 rgba(17,35,31,.02)}
input:hover,select:hover,textarea:hover{border-color:#b8d2cc}
textarea{line-height:1.5}.field-help,.field-hint{font-weight:750;line-height:1.3}
.form-actions{border-top:1px solid #edf3f1;padding-top:12px}.form-actions:empty{display:none}
button[aria-busy="true"]{position:relative;color:transparent!important;pointer-events:none}button[aria-busy="true"]:after{content:"";width:16px;height:16px;position:absolute;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;color:#fff;animation:prontooSpin .75s linear infinite}@keyframes prontooSpin{to{transform:rotate(360deg)}}
.form-panel[open]{border-color:#cce0dc;background:linear-gradient(180deg,#fff,#fbfefd);box-shadow:0 18px 42px rgba(20,40,36,.11)}
.form-panel>summary,.task-details>summary{border-radius:12px}.task-details>summary:hover,.form-panel>summary:hover{color:var(--brand-dark);background:var(--brand-soft-2)}
.table-wrap{box-shadow:var(--shadow-soft)}tbody tr{transition:background .14s var(--ease)}tbody tr:hover{background:#f9fdfc}th{position:sticky;top:0;z-index:1;background:#f5faf8}
.pill,.chip,.eyebrow,.task-chip{box-shadow:0 1px 0 rgba(17,35,31,.02)}
.kpis>div,.stat-card{align-items:center}.kpis>div b,.stat-card b{color:var(--brand-dark)}.stat-card .material-symbols-rounded,.kpis .material-symbols-rounded{box-shadow:inset 0 0 0 1px rgba(11,98,91,.08)}
.timeline{gap:10px}.timeline:before{background:linear-gradient(180deg,transparent,var(--line) 8%,var(--line) 92%,transparent)}.titem>div{background:#fff}.titem>div:hover{border-color:#cbe0db;box-shadow:0 10px 24px rgba(20,40,36,.075)}.dot{box-shadow:0 6px 14px rgba(11,98,91,.10)}
.activity-timeline .dot{background:var(--brand-soft);color:var(--brand)}.activity-timeline .titem h3{font-size:.96rem;line-height:1.28}.activity-timeline .titem time{text-transform:none;letter-spacing:0}
.patient-compact-list{box-shadow:var(--shadow-soft)}.patient-row{background:#fff}.patient-row:not(.patient-row-head):hover{background:#fbfefd}.patient-row b{letter-spacing:-.01em}.patient-row .ghost.small{border-radius:12px}
.patient-tabs-shell{display:grid;gap:14px}.patient-tab-nav{position:relative;display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}.patient-tab-nav label,.patient-tab-nav [role="tab"],.patient-tab-nav [data-tab-target]{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:9px 12px;font-weight:900;box-shadow:0 1px 2px rgba(17,24,39,.03);cursor:pointer}.patient-tab-nav .is-active,.patient-tab-nav label:has(input:checked){background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 9px 20px rgba(11,98,91,.18)}
.patient-panel{border:1px solid #dce8e5;border-radius:22px;background:#fff;padding:18px;box-shadow:var(--shadow-soft)}
.patient-panel[hidden]{display:none!important}.patient-hero-actions{align-items:center}.patient-existing-card{border:1px solid #fedf89;border-radius:18px;background:#fffaeb;padding:12px 14px}
.patient-clinical-card{position:relative;overflow:hidden}.patient-clinical-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--brand),#8bc6bd)}.clinical-mini-item strong{font-weight:820}.empty-mini{border-color:#d9e7e3;background:linear-gradient(135deg,#f9fcfb,#fff)}
.agenda-toolbar,.agenda-doctor-filter{border:1px solid #dce8e5;background:#fff;border-radius:18px;padding:12px;box-shadow:var(--shadow-soft)}.agenda-event{box-shadow:0 9px 20px rgba(20,40,36,.08)}.agenda-event.appointment{background:linear-gradient(135deg,#eef9f7,#fff)}.agenda-event.block{background:linear-gradient(135deg,#fff8e7,#fff)}.agenda-event strong{letter-spacing:-.01em}
.doc-workspace{gap:16px}.doc-editor-wrap{border-color:#ccded9;box-shadow:inset 0 1px 0 rgba(17,35,31,.02)}.doc-editor-toolbar{background:linear-gradient(180deg,#f9fdfc,#f3faf8);position:sticky;top:0;z-index:3}.doc-editor-toolbar button{min-height:32px;border-radius:10px}.doc-editor{min-height:240px;background:#fff}.doc-field-palette{border-top:1px solid var(--line);background:#fbfefd}.doc-template-card{overflow:hidden}.doc-issued-body{max-width:880px;margin-inline:auto;background:#fff}
.notice-card{border-bottom-color:#e6efec}.notice-main h3{font-weight:820}.notice-actions .small{border-radius:12px}.notice-kpi b{font-weight:850;color:var(--brand-dark)}
.task-card{overflow:hidden}.task-main{min-height:66px}.task-copy h3{font-weight:880}.task-actions .small{border-radius:12px}.task-filter{box-shadow:0 1px 2px rgba(17,24,39,.03)}.task-filter.active{box-shadow:0 8px 18px rgba(11,98,91,.16)}.task-comments{background:linear-gradient(180deg,#fff,#fbfefd)}
.floating-clock{position:fixed;right:18px;bottom:18px;z-index:60;background:rgba(255,255,255,.92);border:1px solid #d6e5e1;border-radius:999px;padding:9px 12px;box-shadow:0 12px 28px rgba(20,40,36,.12);backdrop-filter:blur(8px)}.floating-clock b{font-variant-numeric:tabular-nums;color:var(--brand-dark);letter-spacing:-.02em}
@media(max-width:900px){
  main{width:min(100% - 28px,1260px);padding-top:18px}.pagehead{grid-template-columns:1fr;gap:14px;padding:18px}.pagehead-actions{justify-content:flex-start!important;width:100%}.two,.dash-two{grid-template-columns:1fr}.compact{grid-template-columns:1fr}.section-head{display:grid;gap:10px}.doc-workspace{grid-template-columns:1fr}.doc-issued-body{max-width:none}
}
@media(max-width:760px){
  :root{--top-h:58px;--role-h:44px;--cmd-h:54px}body{font-size:14px}.top{padding-inline:14px;gap:10px}.brand:before{width:32px;height:32px;border-radius:11px}.tenant{max-width:36vw;padding:6px 9px}.top-actions{gap:6px}.logout button,.top-actions .ghost,.top-actions .primary{min-height:34px;padding-inline:10px}.rolebar,.cmdbar{padding-inline:14px;scroll-padding-inline:14px}.rolebar:before,.cmdbar:before{display:none}.role{min-height:40px;padding-inline:12px}.cmd{min-height:38px}.pagehead-copy h1{font-size:1.36rem}.pagehead-icon{width:34px;height:34px;flex-basis:34px;border-radius:13px}.pagehead-actions{padding-bottom:8px}.card,.auth{border-radius:20px;padding:16px}.kpis,.stats-grid,.admin-overview-kpis,.admin-grid{grid-template-columns:1fr 1fr;gap:10px}.kpis>div,.stat-card{padding:13px;border-radius:17px}.stat-card .material-symbols-rounded{width:34px;height:34px;border-radius:12px}.table-wrap{border-radius:16px}.form-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.form-actions .primary,.form-actions .ghost,.form-actions button{width:100%}.patient-panel{padding:14px;border-radius:18px}.patient-tab-nav{gap:6px}.patient-tab-nav label,.patient-tab-nav [role="tab"],.patient-tab-nav [data-tab-target]{padding:8px 10px;font-size:.84rem}.timeline:before{left:15px}.titem{grid-template-columns:32px minmax(0,1fr)}.dot{width:30px;height:30px;border-radius:11px}.titem>div{padding:10px;border-radius:15px}.notice-card,.task-main{grid-template-columns:34px minmax(0,1fr)}.floating-clock{right:12px;bottom:12px;padding:7px 10px}
}
@media(max-width:480px){
  main{width:min(100% - 20px,1260px)}.top{padding-inline:10px}.brand b{font-size:1rem}.tenant{display:none}.kpis,.stats-grid,.admin-overview-kpis,.admin-grid{grid-template-columns:1fr}.pagehead{padding:16px;border-radius:20px}.pagehead-actions>a,.pagehead-actions>button,.pagehead-actions>.action-panel,.pagehead-actions>.form-panel,.pagehead-actions>details{min-width:auto}.cmdbar .cmd.active,.cmdbar .cmd.is-active,.cmdbar .cmd[aria-current=page]{max-width:72vw;overflow:hidden}.cmdbar .cmd.active>span:not(.material-symbols-rounded),.cmdbar .cmd.is-active>span:not(.material-symbols-rounded),.cmdbar .cmd[aria-current=page]>span:not(.material-symbols-rounded){overflow:hidden;text-overflow:ellipsis}.notice-kpis{grid-template-columns:1fr}.doc-editor{min-height:190px}.doc-editor-toolbar{overflow-x:auto;flex-wrap:nowrap}.doc-editor-toolbar button{flex:0 0 auto}.floating-clock{display:none}
}
@media print{body{background:#fff!important}main{width:100%;padding:0}.card,.pagehead,.auth{box-shadow:none!important}.floating-clock{display:none!important}}

/* CmdBar stable visual order fix
   Nenhum item da barra deve ser reposicionado por estado ativo.
   A ordem visual deve seguir exatamente a ordem do HTML/perfil. */
.cmdbar .cmd,
.cmdbar .cmd.active,
.cmdbar .cmd.is-active,
.cmdbar .cmd[aria-current=page],
.cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]){
  order:0 !important;
}

/* Colaboradores como módulo operacional */
.collaborator-list .patient-row{grid-template-columns:minmax(180px,1.4fr) minmax(120px,.8fr) minmax(150px,1fr) minmax(90px,.5fr) auto;}
.collaborator-row .patient-name{font-weight:500;}
.collaborator-profile-card h2{margin-top:0;}
.collaborator-edit-form input[readonly]{background:var(--surface-2,#f6faf8);color:var(--muted);}
.collaborator-permission-table{display:grid;gap:8px;overflow-x:auto;padding-bottom:2px;}
.collaborator-permission-row{display:grid;grid-template-columns:minmax(170px,1.25fr) repeat(4,minmax(92px,.55fr));align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card);min-width:650px;}
.collaborator-permission-row.head{background:rgba(11,93,73,.08);color:var(--brand-dark);font-size:.82rem;font-weight:600;}
.module-name{display:flex;align-items:center;gap:8px;}
.module-name .material-symbols-rounded{font-size:20px;color:var(--brand);}
.perm-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:500;}
.perm-pill.yes{background:rgba(11,93,73,.12);color:var(--brand-dark);}
.perm-pill.no{background:rgba(100,116,139,.12);color:var(--muted);}
@media (max-width:760px){.collaborator-list .patient-row{grid-template-columns:minmax(170px,1fr) minmax(105px,.7fr) auto;}.collaborator-list .patient-row span:nth-child(3),.collaborator-list .patient-row span:nth-child(4){display:none;}.collaborator-permission-row{min-width:590px;grid-template-columns:minmax(150px,1fr) repeat(4,82px);}.collaborator-profile-card .form-actions{overflow-x:auto;flex-wrap:nowrap;}}

/* Permissões por cargo e múltiplos cargos do colaborador */
.role-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:6px}
.role-check{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 12px;font-weight:850;cursor:pointer}
.role-check input{width:18px;height:18px;accent-color:var(--brand)}
.role-badge-list{display:flex;flex-wrap:wrap;gap:6px}.role-badge{display:inline-flex;align-items:center;border-radius:999px;background:rgba(11,93,73,.10);color:var(--brand-dark);padding:5px 9px;font-size:.78rem;font-weight:900}
.role-permission-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 12px;margin-bottom:12px;scrollbar-width:thin}
.role-permission-tab{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:9px 14px;text-decoration:none;font-weight:900;white-space:nowrap}
.role-permission-tab.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 9px 20px rgba(11,98,91,.18)}
.permission-crud-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}
.permission-crud-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.permission-crud-table th,.permission-crud-table td{padding:12px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.permission-crud-table th:first-child{position:sticky;left:0;z-index:2;text-align:left;background:#f5faf8;min-width:130px}.permission-crud-table thead th{background:#f5faf8;color:var(--brand-dark);font-size:.82rem;text-transform:none;letter-spacing:0}.permission-crud-table thead th:not(:first-child){min-width:112px}.permission-crud-table thead th .material-symbols-rounded{display:block;margin:0 auto 4px;color:var(--brand)}.permission-crud-table tbody tr:last-child th,.permission-crud-table tbody tr:last-child td{border-bottom:0}
.matrix-check{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;font-weight:850;min-width:104px;cursor:pointer}.matrix-check input{accent-color:var(--brand)}.matrix-check span{font-size:.78rem;color:var(--muted)}.matrix-check input:checked+span{color:var(--brand-dark)}.matrix-na{display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:999px;padding:7px 10px;background:#f8faf9;color:var(--muted);font-weight:800;font-size:.76rem;min-width:104px}.permission-op.not-applicable b.na{color:var(--muted)}.permission-module-note{margin:10px 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}
.collab-permission-summary{display:grid;gap:14px}.permission-source-note{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #d7e5e1;border-radius:18px;background:linear-gradient(135deg,#fbfefd,#fff);padding:14px}.permission-source-note strong{color:var(--brand-dark);font-weight:920}.permission-source-note span{color:var(--muted);font-weight:750;line-height:1.35}.permission-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.permission-module-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}.permission-module-card header{display:flex;align-items:center;gap:9px;padding:12px 14px;background:#f7fbfa;border-bottom:1px solid var(--line);color:var(--brand-dark)}.permission-module-card header .material-symbols-rounded{color:var(--brand)}.permission-op-list{display:grid;gap:0}.permission-op{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:10px 14px;border-bottom:1px solid #edf3f1}.permission-op:last-child{border-bottom:0}.permission-op>span{font-weight:850}.permission-op>b{border-radius:999px;padding:4px 8px;font-size:.75rem}.permission-op>b.yes{background:rgba(11,93,73,.12);color:var(--brand-dark)}.permission-op>b.no{background:rgba(100,116,139,.12);color:var(--muted)}.permission-op small{grid-column:1/-1;color:var(--muted);font-weight:700}
@media(max-width:760px){.permission-source-note{display:grid}.permission-crud-table{min-width:690px}.matrix-check{min-width:92px}.permission-module-grid{grid-template-columns:1fr}}

/* UX compacta para Colaboradores e Permissões */
.compact-collaborator-card{padding:10px;}
.collaborator-list-shell{display:grid;gap:10px;}
.collaborator-list-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 2px 0;color:var(--muted);font-size:.82rem;font-weight:850;}
.collaborator-list-meta strong{color:var(--brand-dark);font-size:.92rem;font-weight:950;letter-spacing:-.02em;}
.collaborator-card-list{display:grid;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);}
.collaborator-card-row{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(160px,1fr) 78px auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px;border-bottom:1px solid #edf3f1;background:#fff;}
.collaborator-card-row:last-child{border-bottom:0;}
.collaborator-card-row:hover{background:#fbfefd;}
.collaborator-main{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;color:var(--ink);text-decoration:none;min-width:0;}
.collaborator-avatar{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:var(--brand-soft-2);color:var(--brand);border:1px solid #d6e7e3;}
.collaborator-avatar .material-symbols-rounded{font-size:19px;}
.collaborator-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;font-weight:900;letter-spacing:-.015em;}
.collaborator-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.73rem;font-weight:800;margin-top:1px;}
.collaborator-roles{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0;}
.collaborator-roles .role-badge{font-size:.68rem;padding:3px 7px;font-weight:850;}
.collaborator-status{display:inline-flex;align-items:center;gap:5px;justify-self:start;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900;line-height:1;border:1px solid var(--line);color:var(--muted);background:#f8faf9;}
.collaborator-status i{width:7px;height:7px;border-radius:999px;background:currentColor;}
.collaborator-status.active{background:var(--ok-soft);border-color:#bbf7d0;color:var(--ok);}
.collaborator-status.inactive{background:#f8faf9;color:var(--muted);}
.collaborator-open{min-height:32px!important;padding-inline:10px!important;border-radius:11px!important;}
.collaborator-add-panel[open] form{width:min(760px,calc(100vw - 52px));}
.collaborator-add-form{gap:10px!important;}
.collaborator-add-form .role-check-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;}
.collaborator-add-form .role-check{padding:8px 10px;border-radius:12px;}

.compact-permissions-card{padding:12px;}
.permissions-compact-form{display:grid;gap:12px;}
.role-permission-tabs.compact{gap:6px;margin-bottom:0;padding-bottom:4px;}
.role-permission-tabs.compact .role-permission-tab{min-height:34px;padding:6px 10px;gap:7px;font-size:.82rem;}
.role-permission-tabs.compact .role-permission-tab small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:#eef5f3;color:var(--muted);font-size:.68rem;font-weight:950;}
.role-permission-tabs.compact .role-permission-tab.active small{background:rgba(255,255,255,.22);color:#fff;}
.permission-compact-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d8e7e3;border-radius:15px;background:linear-gradient(135deg,#fbfefd,#fff);padding:9px 11px;}
.permission-compact-toolbar strong{color:var(--brand-dark);font-weight:950;letter-spacing:-.02em;}
.permission-compact-toolbar span{color:var(--muted);font-size:.78rem;font-weight:820;}
.permission-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;}
.permission-edit-card{display:grid;gap:8px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:10px;box-shadow:0 4px 12px rgba(20,40,36,.04);}
.permission-edit-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;}
.permission-edit-title{display:flex;align-items:center;gap:8px;min-width:0;color:var(--brand-dark);}
.permission-edit-title .material-symbols-rounded{font-size:20px;color:var(--brand);}
.permission-edit-title strong{font-size:.92rem;font-weight:930;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.permission-edit-card header small{flex:0 0 auto;border-radius:999px;background:var(--brand-soft-2);color:var(--muted);padding:3px 7px;font-size:.66rem;font-weight:900;}
.permission-toggle-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.permission-toggle{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--line);border-radius:999px;background:#f8faf9;padding:4px 8px 4px 5px;cursor:pointer;user-select:none;}
.permission-toggle input[type=checkbox]{position:absolute;opacity:0;pointer-events:none;}
.permission-toggle-knob{width:18px;height:18px;border-radius:999px;background:#cbd5d1;box-shadow:inset 0 0 0 1px rgba(17,35,31,.06);}
.permission-toggle b{font-size:.72rem;color:var(--muted);font-weight:900;line-height:1;}
.permission-toggle input[type=checkbox]:checked + .permission-toggle-knob{background:var(--brand);box-shadow:0 0 0 3px rgba(11,98,91,.10);}
.permission-toggle input[type=checkbox]:checked ~ b{color:var(--brand-dark);}
.permission-toggle:has(input[type=checkbox]:checked){background:var(--brand-soft-2);border-color:#bddbd6;}
.permission-toggle input[type=checkbox]:disabled + .permission-toggle-knob{opacity:.78;}
.permission-toggle:has(input[type=checkbox]:disabled){cursor:not-allowed;}
.permission-edit-card p{margin:0;color:var(--muted);font-size:.72rem;font-weight:760;line-height:1.32;border-top:1px solid #edf3f1;padding-top:7px;}
.permission-save-actions{padding-top:8px;margin-top:0;}
.permission-save-actions .primary{min-height:36px;padding-inline:14px;border-radius:999px;}

.compact-permission-summary{gap:10px;}
.permission-source-note.compact{align-items:center;padding:10px 12px;border-radius:15px;}
.permission-source-note.compact span{font-size:.78rem;}
.permission-module-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;}
.permission-module-card.compact{border-radius:15px;box-shadow:0 4px 12px rgba(20,40,36,.04);}
.permission-module-card.compact header{padding:9px 10px;border-bottom:0;background:#fff;}
.permission-module-card.compact header strong{font-size:.86rem;}
.permission-chip-list{display:flex;flex-wrap:wrap;gap:5px;padding:0 10px 10px;}
.permission-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:900;line-height:1;}
.permission-chip.yes{background:var(--brand-soft-2);color:var(--brand-dark);border:1px solid #cfe3de;}
.permission-chip.no{background:#f8faf9;color:var(--muted);border:1px solid var(--line);}

@media(max-width:820px){
  .collaborator-card-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;}
  .collaborator-roles{grid-column:1/-1;padding-left:43px;}
  .collaborator-status{grid-column:1;grid-row:2;margin-left:43px;}
  .collaborator-open{grid-column:2;grid-row:1 / span 2;align-self:center;}
  .permission-compact-toolbar{display:grid;gap:3px;}
}
@media(max-width:520px){
  .compact-collaborator-card,.compact-permissions-card{padding:8px;}
  .collaborator-card-row{grid-template-columns:1fr;gap:7px;padding:9px;}
  .collaborator-main{grid-template-columns:30px minmax(0,1fr);}
  .collaborator-avatar{width:30px;height:30px;border-radius:11px;}
  .collaborator-roles,.collaborator-status{grid-column:auto;grid-row:auto;margin-left:39px;padding-left:0;}
  .collaborator-open{grid-column:auto;grid-row:auto;width:100%;justify-content:center;}
  .permission-edit-grid{grid-template-columns:1fr;}
  .permission-toggle-list{gap:5px;}
  .permission-toggle{min-height:29px;}
}

/* Painel operacional da Recepção */
.reception-dashboard{display:grid;gap:14px}.reception-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.reception-kpis>div{padding:12px 13px;border-radius:17px;align-items:center}.reception-kpis>div>.material-symbols-rounded{width:34px;height:34px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:0 0 auto}.reception-kpis p{margin:0;min-width:0}.reception-kpis b{font-size:1.35rem}.reception-kpis span{font-size:.78rem;line-height:1.15}.reception-panel-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}.reception-card{margin-bottom:0;padding:16px}.reception-card h2{margin:0 0 2px;font-size:1.05rem;letter-spacing:-.02em}.reception-card .muted-copy{margin:0 0 12px;font-size:.84rem}.reception-agenda{grid-column:1/-1}.reception-list{display:grid;gap:7px}.reception-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:9px 10px;color:var(--ink);box-shadow:0 5px 14px rgba(20,40,36,.045)}.reception-row:hover{border-color:#bfddd8;background:#fbfefd;color:var(--ink)}.reception-time{font-variant-numeric:tabular-nums;color:var(--brand-dark);font-weight:950;font-size:.86rem}.reception-main{min-width:0;display:grid;gap:1px}.reception-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.reception-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.reception-row .pill{justify-self:end;padding:5px 8px;font-size:.72rem}.pill.info,.reception-row-info .pill{color:var(--blue);background:var(--blue-soft);border-color:#b2ddff}.pill.neutral,.reception-row-neutral .pill{color:var(--muted);background:var(--surface-soft);border-color:var(--line)}.reception-row-block{border-color:#fedf89;background:linear-gradient(90deg,#fffaeb,#fff)}.reception-row-bad{border-color:#fecdca;background:linear-gradient(90deg,#fff1f0,#fff)}.reception-row-warn{border-color:#fedf89;background:linear-gradient(90deg,#fffaeb,#fff)}.reception-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.reception-actions .ghost{border-radius:999px}.reception-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reception-pending{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:10px;background:var(--surface-soft);color:var(--ink)}.reception-pending:hover{background:#fff;border-color:#bfddd8}.reception-pending>.material-symbols-rounded{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:#fff;color:var(--brand)}.reception-pending span{min-width:0;display:grid}.reception-pending b{font-size:1.2rem;line-height:1;color:var(--brand-dark)}.reception-pending strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reception-pending small{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reception-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.reception-flow span{display:grid;gap:2px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft);padding:11px;text-align:center}.reception-flow b{font-size:1.25rem;line-height:1;color:var(--brand-dark)}.reception-flow small{font-size:.74rem;font-weight:900}.compact-empty{padding:14px;border-radius:15px}.reception-agenda-list{max-height:520px;overflow:auto;padding-right:3px}@media(max-width:980px){.reception-panel-grid{grid-template-columns:1fr}.reception-agenda{grid-column:auto}.reception-pending-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.reception-kpis{grid-template-columns:1fr 1fr}.reception-row{grid-template-columns:58px minmax(0,1fr);align-items:start}.reception-row .pill{grid-column:2;justify-self:start}.reception-pending-grid,.reception-flow{grid-template-columns:1fr}.reception-actions{display:grid;grid-template-columns:1fr 1fr}.reception-actions .ghost{width:100%;min-width:0}.reception-main strong,.reception-main small{white-space:normal}}

/* Interessados — fluxo operacional compacto */
.lead-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.lead-overview article{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;box-shadow:var(--shadow-soft)}.lead-overview b{display:block;font-size:1.45rem;line-height:1;font-weight:950;color:var(--brand-dark);letter-spacing:-.04em}.lead-overview span{display:block;margin-top:4px;color:var(--muted);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.045em}.lead-overview .has-alert{border-color:#fedf89;background:#fffaeb}.lead-screen-card{display:grid;gap:14px}.lead-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.lead-filter-chips{display:flex;gap:8px;overflow-x:auto;padding:0 0 4px;scrollbar-width:thin}.lead-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;color:var(--muted);font-weight:950;font-size:.82rem}.lead-chip em{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:var(--surface-soft);font-style:normal;font-size:.72rem;color:var(--brand-dark)}.lead-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.lead-chip.active em{background:rgba(255,255,255,.18);color:#fff}.lead-list{display:grid;gap:10px}.lead-card{border:1px solid #dce8e5;background:#fff;border-radius:20px;padding:14px;box-shadow:var(--shadow-soft);display:grid;gap:10px}.lead-card:hover{border-color:#c6ddd7;box-shadow:var(--shadow-hover)}.lead-card.is-late{border-color:#fedf89;background:linear-gradient(135deg,#fffaeb,#fff)}.lead-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lead-card strong{display:block;font-size:1rem;font-weight:950;letter-spacing:-.015em}.lead-card p{margin:2px 0 0;color:#40504c;font-weight:760}.lead-status{flex:0 0 auto;border-radius:999px;border:1px solid #cfe1dc;background:#f6faf8;color:#064a45;padding:6px 9px;font-size:.74rem;font-weight:950}.lead-card.stage-convertido .lead-status{border-color:#abefc6;background:var(--ok-soft);color:var(--ok)}.lead-card.stage-perdido .lead-status{border-color:#e3e8e6;background:#f3f6f5;color:#66736f}.lead-card-meta{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;color:#5a6965;font-size:.78rem;font-weight:850}.lead-card-meta span{display:inline-flex;align-items:center;gap:5px}.lead-card-meta .material-symbols-rounded{font-size:17px;color:var(--brand)}.lead-note{border-left:3px solid #d7e6e2;padding-left:10px;color:#53635f!important;font-size:.88rem}.lead-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf3f1;padding-top:10px}.lead-card footer small{font-weight:820}.lead-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.lead-warning{display:inline-flex;align-items:center;gap:5px;border:1px solid #fedf89;background:#fffaeb;color:#a15c07;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:950}.lead-card-details.form-panel{width:auto}.lead-card-details.form-panel[open]{grid-column:1/-1;width:100%!important;margin:8px 0 0;padding:13px;border-radius:17px;box-shadow:none;background:#fbfefd}.lead-card-details.form-panel[open]>summary{margin:0 0 12px;font-size:.9rem}.lead-touch-form.compact,.lead-create-form.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lead-touch-form .field.has-textarea,.lead-create-form .field.has-textarea,.lead-create-form .lead-form-extra,.lead-touch-form .form-actions,.lead-create-form .form-actions{grid-column:1/-1}.lead-form-extra{border:1px solid var(--line);border-radius:16px;background:#fbfefd;padding:10px}.lead-form-extra>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;color:var(--brand-dark);font-weight:950}.lead-form-extra>summary::-webkit-details-marker{display:none}.lead-form-extra[open]>summary{margin-bottom:10px}@media(max-width:760px){.lead-search{grid-template-columns:1fr}.lead-search button,.lead-search a{width:100%}.lead-card header,.lead-card footer{display:grid;justify-content:stretch}.lead-actions{justify-content:stretch}.lead-actions>*{width:100%}.lead-actions .inline,.lead-actions button,.lead-actions a,.lead-warning{width:100%;justify-content:center}.lead-overview{grid-template-columns:1fr 1fr}}@media(max-width:430px){.lead-overview{grid-template-columns:1fr}}

/* PageHead forms — abertura previsível em todas as telas */
.pagehead-actions details.form-panel[open],.pagehead-actions details.action-panel[open]{flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important}.pagehead-actions details.form-panel[open] form,.pagehead-actions details.action-panel[open] form{min-width:0!important;width:100%;max-width:none}.pagehead-actions details.form-panel[open]>summary,.pagehead-actions details.action-panel[open]>summary{width:max-content;max-width:100%}.pagehead.has-open-panel{grid-template-columns:1fr}.pagehead.has-open-panel .pagehead-actions{display:flex!important;flex-wrap:wrap!important;overflow-x:visible!important;width:100%}

/* Ficha do Paciente — abas sempre horizontais logo abaixo da PageHead */
body[data-route="patient"] .pagehead{margin-bottom:10px}body[data-route="patient"] .patient-hero-tabs{display:none!important}body[data-route="patient"] .patient-tabs-records{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%;align-items:start}body[data-route="patient"] .patient-tabs-records>.patient-tab-nav{position:relative!important;top:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;max-height:none!important;width:100%;border-radius:20px!important;padding:8px!important;background:#fff;box-shadow:var(--shadow-soft);border:1px solid #d7e6e2;scrollbar-width:thin}body[data-route="patient"] .patient-tabs-records>.patient-tab-nav label,body[data-route="patient"] .patient-tabs-records>.patient-tab-nav [role=tab]{flex:0 0 auto!important;display:inline-grid!important;grid-template-columns:28px minmax(0,auto) auto!important;align-items:center!important;min-width:max-content!important;min-height:44px!important;border-radius:999px!important;padding:8px 11px!important;box-shadow:0 1px 2px rgba(17,24,39,.03)!important}body[data-route="patient"] .patient-tabs-records>.patient-tab-nav label.is-active,body[data-route="patient"] .patient-tabs-records>.patient-tab-nav [aria-selected=true]{box-shadow:0 8px 18px rgba(11,98,91,.16)!important;background:var(--brand)!important;color:#fff!important}body[data-route="patient"] .patient-tabs-records>.patient-tab-nav label.is-active .material-symbols-rounded,body[data-route="patient"] .patient-tabs-records>.patient-tab-nav [aria-selected=true] .material-symbols-rounded{background:rgba(255,255,255,.18)!important;color:#fff!important}body[data-route="patient"] .patient-tab-panels{min-width:0;width:100%}@media(max-width:760px){body[data-route="patient"] .patient-tabs-records>.patient-tab-nav{border-radius:16px!important;padding:6px!important}body[data-route="patient"] .patient-tabs-records>.patient-tab-nav label,body[data-route="patient"] .patient-tabs-records>.patient-tab-nav [role=tab]{grid-template-columns:24px minmax(0,auto)!important;min-height:40px!important;padding:7px 9px!important;font-size:.82rem}body[data-route="patient"] .patient-tabs-records>.patient-tab-nav em{display:none!important}}

/* Agenda por perfil: Recepção, Triagem, Clínica e Gestão */
.agenda-profile{display:grid;gap:14px}.agenda-nav-card{padding:12px}.agenda-profile-toolbar{margin:0}.agenda-profile-filter{margin:0 0 10px}.agenda-profile-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:14px;align-items:start}.agenda-full-card{grid-column:1/-1}.agenda-focus-card h2,.agenda-side-card h2,.agenda-full-card h2{margin:0 0 2px;font-size:1.05rem;letter-spacing:-.02em}.agenda-profile-list{display:grid;gap:7px}.agenda-profile-row{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:9px 10px;box-shadow:0 5px 14px rgba(20,40,36,.045)}.agenda-profile-row:hover{border-color:#bfddd8;background:#fbfefd}.agenda-profile-row-warn{border-color:#fedf89;background:linear-gradient(90deg,#fffaeb,#fff)}.agenda-profile-row-bad{border-color:#fecdca;background:linear-gradient(90deg,#fff1f0,#fff)}.agenda-profile-row-info{border-color:#b2ddff;background:linear-gradient(90deg,#eff8ff,#fff)}.agenda-profile-row-ok{border-color:#abefc6;background:linear-gradient(90deg,#ecfdf3,#fff)}.agenda-profile-row-block{border-color:#fedf89;background:linear-gradient(90deg,#fffaeb,#fff);border-left:4px solid var(--warn)}.agenda-profile-time{font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:950;color:var(--brand-dark)}.agenda-profile-main{display:grid;gap:1px;min-width:0}.agenda-profile-main strong{font-size:.94rem;line-height:1.16;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-profile-main small{font-size:.76rem;color:var(--muted);font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-profile-row .pill{justify-self:end;padding:5px 8px;font-size:.72rem;white-space:nowrap}.agenda-profile-row .compact-actions{position:relative;justify-self:end;height:auto;min-height:0}.agenda-profile-row .compact-actions>summary.cmdlike{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;list-style:none;background:#fff;color:var(--ink);font-size:.76rem;font-weight:950}.agenda-profile-row .compact-actions>summary::-webkit-details-marker{display:none}.agenda-profile-row .compact-actions .agenda-action-panel{position:absolute;right:0;left:auto;top:calc(100% + 6px);width:min(520px,calc(100vw - 46px));display:grid;gap:10px}.agenda-profile-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.agenda-free-slots{display:flex;flex-wrap:wrap;gap:7px}.agenda-free-slots span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid #bfddd8;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:.8rem;font-weight:950}.agenda-block-list{max-height:280px;overflow:auto;padding-right:3px}.agenda-day-list{max-height:680px;overflow:auto;padding-right:3px}.agenda-role-kpis{margin-bottom:0}@media(max-width:980px){.agenda-profile-grid{grid-template-columns:1fr}.agenda-full-card{grid-column:auto}}@media(max-width:720px){.agenda-profile-toolbar{display:grid;grid-template-columns:1fr;text-align:center}.agenda-profile-row{grid-template-columns:64px minmax(0,1fr);align-items:start}.agenda-profile-row .pill{grid-column:2;justify-self:start}.agenda-profile-row .compact-actions{grid-column:2;justify-self:stretch}.agenda-profile-row .compact-actions>summary.cmdlike{width:100%;justify-content:center}.agenda-profile-row .compact-actions .agenda-action-panel{position:static;width:100%;margin-top:7px}.agenda-profile-main strong,.agenda-profile-main small{white-space:normal}.agenda-profile-actions{justify-content:stretch}.agenda-profile-actions .ghost,.agenda-profile-actions button{width:100%;justify-content:center}}

/* Documentos por cargo: emissão rápida compacta */
.doc-role-hero{display:grid;grid-template-columns:1.45fr .75fr .75fr;gap:12px;margin:0 0 14px}
.doc-role-hero article{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow-soft)}
.doc-role-hero .material-symbols-rounded{width:36px;height:36px;display:grid;place-items:center;border-radius:14px;background:#eef7f4;color:var(--brand-dark)}
.doc-role-hero b{display:block;color:var(--text);font-size:1rem;line-height:1.1}.doc-role-hero small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}
.doc-fast-issue{margin-bottom:14px}.doc-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doc-quick-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.62fr);gap:14px;align-items:end;border:1px solid var(--line);border-radius:18px;background:#fbfefd;padding:14px}.doc-quick-card h3{font-size:1rem;margin:8px 0 4px;color:var(--text)}.doc-quick-card p{margin:0;color:var(--muted);font-size:.84rem}.doc-quick-form{display:grid;gap:8px}.doc-quick-form .field{margin:0}.doc-quick-form button{justify-content:center}.doc-inline-issue{grid-template-columns:minmax(260px,1.3fr) minmax(220px,.75fr) auto;align-items:end}.doc-history-list{display:grid;gap:8px}.doc-history-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}.doc-history-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:12px;background:#f3faf8;color:var(--brand-dark)}.doc-history-row strong{display:block;font-size:.94rem}.doc-history-row small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}.doc-history-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:980px){.doc-role-hero{grid-template-columns:1fr}.doc-quick-grid{grid-template-columns:1fr}.doc-quick-card{grid-template-columns:1fr}.doc-inline-issue{grid-template-columns:1fr}.doc-history-row{grid-template-columns:32px minmax(0,1fr)}}
@media(max-width:640px){.doc-role-hero article{padding:12px}.doc-quick-card{padding:12px}.doc-history-row{align-items:start}.doc-history-actions{grid-column:2/-1;justify-content:flex-start}}

/* Documentos: fluxo criar -> editar -> pré-visualizar -> confirmar */
.doc-workflow-hero{grid-template-columns:repeat(4,minmax(0,1fr));}
.doc-create-card{margin-bottom:14px;}
.doc-model-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end;margin:0 0 12px;}
.doc-model-search label{margin:0;}
.doc-model-list{gap:7px;}
.doc-model-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(300px,.72fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:9px 10px;background:#fff;}
.doc-model-row:hover{border-color:#bfddd8;background:#fbfefd;}
.doc-model-row strong{display:block;font-size:.94rem;line-height:1.15;}
.doc-model-row small{display:block;color:var(--muted);font-size:.76rem;font-weight:800;margin-top:2px;}
.doc-model-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:0;}
.doc-model-create .field{margin:0;}
.doc-draft-card{overflow:visible;}
.doc-draft-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:16px;align-items:start;}
.doc-draft-layout aside{position:sticky;top:84px;display:grid;gap:10px;}
.doc-draft-layout aside h3{margin:0;font-size:1rem;color:var(--brand-dark);}
.doc-draft-form{gap:10px;}
.doc-confirm-form{justify-content:flex-end;}
.doc-history-row .task-chip{vertical-align:middle;}
.doc-history-actions .primary,.doc-history-actions .ghost{min-height:31px!important;padding-inline:10px!important;border-radius:11px!important;}
@media(max-width:980px){.doc-workflow-hero{grid-template-columns:repeat(2,minmax(0,1fr));}.doc-draft-layout{grid-template-columns:1fr}.doc-draft-layout aside{position:static}.doc-model-row{grid-template-columns:32px minmax(0,1fr)}.doc-model-create{grid-column:2/-1;grid-template-columns:1fr auto}.doc-model-search{grid-template-columns:1fr auto}}
@media(max-width:640px){.doc-workflow-hero{grid-template-columns:1fr}.doc-model-search{grid-template-columns:1fr}.doc-model-create{grid-template-columns:1fr}.doc-model-create button{width:100%;justify-content:center}.doc-draft-card .section-head{gap:8px}.doc-draft-layout{gap:12px}}

/* Expediente por profissional */
.work-hours-panel{border:1px solid var(--line);border-radius:16px;background:#fbfefd;padding:10px 12px;margin:4px 0 8px;}
.work-hours-panel>summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:950;color:var(--brand-dark);list-style:none;}
.work-hours-panel>summary::-webkit-details-marker{display:none;}
.work-hours-grid{display:grid;gap:7px;margin-top:10px;}
.work-day-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #edf3f1;border-radius:13px;background:#fff;padding:8px 10px;margin:0;}
.work-day-name{display:flex;align-items:center;gap:7px;font-weight:900;font-size:.86rem;}
.work-day-name input{width:auto;}
.work-hour-fields{display:flex;align-items:center;justify-content:flex-end;gap:7px;}
.work-hour-fields input[type="time"]{max-width:112px;min-height:34px;padding:6px 8px;}
.work-hour-fields em{font-style:normal;color:var(--muted);font-size:.78rem;font-weight:850;}
.agenda-work-label{margin:.2rem 0 .65rem!important;font-weight:850;color:var(--brand-dark)!important;}
@media(max-width:640px){.work-day-row{grid-template-columns:1fr}.work-hour-fields{justify-content:flex-start}.work-hour-fields input[type="time"]{max-width:100%;width:100%;}}

.auth-titleline{display:flex;align-items:center;gap:14px;margin-bottom:14px}.auth-titleline .auth-brandmark{margin:0;flex:0 0 auto}.auth-titleline h1{margin:3px 0 0}.procedure-list{display:grid;gap:10px}.procedure-card.is-muted{opacity:.72}.procedure-form .field.has-textarea{grid-column:1/-1}.procedure-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field-hint[data-procedure-summary]{display:block;margin-top:6px;font-size:.78rem;color:var(--muted);font-weight:800}.doc-model-create input[type=search]{min-width:0}.doc-role-hero article:first-child .material-symbols-rounded{background:var(--brand);color:#fff}.triage-panel-grid .reception-full{grid-column:1/-1}@media(max-width:640px){.auth-titleline{align-items:flex-start}.doc-model-create{grid-template-columns:1fr}.triage-panel-grid .reception-full{grid-column:auto}}

.lead-form-extra-open h3{margin:0 0 10px;font-size:.94rem;font-weight:950;color:var(--brand-dark);}
button.danger-soft,.ghost.danger-soft{background:var(--danger-soft);border-color:#fecdca;color:var(--danger);}
button.danger-soft:hover,.ghost.danger-soft:hover{background:#ffe4e1;border-color:#fda29b;color:#8f1b13;}
.doc-model-create input[data-patient-document-suggest],.doc-draft-form input[data-patient-document-suggest]{min-width:210px;}

/* Documentos: autosugestão robusta de pacientes */
.doc-model-create,.doc-draft-form{position:relative;}
.patient-suggest-panel{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);display:grid;gap:4px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 16px 34px rgba(20,40,36,.15);max-height:260px;overflow:auto;}
.patient-suggest-panel[hidden]{display:none!important;}
.doc-model-create .patient-suggest-panel{grid-column:1/-1;top:100%;}
.doc-draft-form .patient-suggest-panel{top:auto;margin-top:4px;}
.patient-suggest-option{width:100%;border:0;background:transparent;color:var(--ink);border-radius:10px;padding:8px 10px;text-align:left;display:grid;gap:1px;cursor:pointer;}
.patient-suggest-option:hover,.patient-suggest-option:focus{background:var(--brand-soft);outline:none;}
.patient-suggest-option strong{font-size:.88rem;font-weight:950;line-height:1.15;}
.patient-suggest-option small{font-size:.74rem;color:var(--muted);font-weight:850;}
.has-patient-suggest{position:relative;}
.has-patient-suggest .patient-suggest-panel{top:calc(100% + 4px);}

/* Clínica: identidade visual e setores personalizados */
.brand:before{content:none!important}.brand-mark{width:36px;height:36px;flex:0 0 auto;border-radius:12px;background:linear-gradient(145deg,var(--brand),var(--brand-dark));box-shadow:0 8px 20px rgba(11,98,91,.22);display:grid;place-items:center;color:#fff}.brand-mark .material-symbols-rounded{font-size:23px;color:#fff}.settings-section{background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;padding:16px;min-width:0}.settings-section.full,.clinic-settings-form .full{grid-column:1/-1}.settings-section h2{margin:0 0 10px;font-size:1.05rem}.settings-section h3{margin:18px 0 10px;font-size:.92rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.clinic-visual-preview{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px;margin-bottom:12px}.clinic-visual-preview small{display:block}.visual-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.visual-option{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:11px 12px;cursor:pointer;min-height:54px}.visual-option input{position:absolute;opacity:0;pointer-events:none}.visual-option-mark,.color-swatch{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:var(--brand-soft);color:var(--brand)}.visual-option-mark .material-symbols-rounded{font-size:22px}.color-swatch{border:2px solid #fff;box-shadow:0 0 0 1px var(--line-strong)}.visual-option:has(input:checked){border-color:var(--brand);background:var(--brand-soft-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.visual-option:has(input:checked) .visual-option-mark{background:var(--brand);color:#fff}.visual-option span:last-child{font-weight:950;color:var(--ink)}
@media(max-width:720px){.visual-option-grid{grid-template-columns:1fr}.settings-section{padding:14px}}
.color-table{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;display:grid;gap:0}.color-table-head,.color-table-row{display:grid;grid-template-columns:80px 1fr 88px;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.color-table-head{background:var(--surface-soft);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.color-table-row{cursor:pointer;min-height:54px}.color-table-row:last-child{border-bottom:0}.color-table-row:hover{background:var(--brand-soft-2)}.color-table-row:has(input:checked){background:var(--brand-soft-2);box-shadow:inset 4px 0 0 var(--brand)}.color-table-row input{width:18px;height:18px;accent-color:var(--brand)}@media(max-width:720px){.color-table-head,.color-table-row{grid-template-columns:56px 1fr 56px;padding:10px 12px}.color-table-head span:first-child{color:transparent}.color-table-head span:first-child:after{content:'Cor';color:var(--muted)}}

/* Tema dinâmico do consultório: a cor escolhida vira tokens de UI, não uma pintura geral. */
:root{
  --clinic-accent:#0f766e;
  --clinic-accent-rgb:15,118,110;
  --clinic-accent-strong:#0b5e58;
  --clinic-accent-hover:#0d6861;
  --clinic-accent-pressed:#0b5a54;
  --clinic-accent-soft:#e5f5f2;
  --clinic-accent-subtle:#f4fbfa;
  --clinic-accent-muted:#c9ebe6;
  --clinic-accent-border:#a9dcd5;
  --clinic-accent-focus:rgba(15,118,110,.16);
  --clinic-accent-shadow:rgba(15,118,110,.22);
  --clinic-on-accent:#fff;
  --clinic-surface-tint:#f9fdfc;
  --brand-rgb:15,118,110;
  --brand-border:var(--clinic-accent-border);
  --brand-focus:var(--clinic-accent-focus);
  --brand-shadow:var(--clinic-accent-shadow);
  --on-brand:var(--clinic-on-accent);
}
body.app{background:linear-gradient(180deg,var(--clinic-surface-tint),var(--bg) 260px);}
.brand-mark,.auth-brandmark{background:linear-gradient(145deg,var(--clinic-accent),var(--clinic-accent-strong));color:var(--clinic-on-accent);box-shadow:0 8px 20px var(--clinic-accent-shadow);}
.brand-mark .material-symbols-rounded,.auth-brandmark .material-symbols-rounded{color:var(--clinic-on-accent);}
.top{border-bottom-color:color-mix(in oklab,var(--clinic-accent-border) 72%,var(--line-strong));}
.rolebar{background:linear-gradient(180deg,#fff,var(--clinic-accent-subtle));}
.role:hover{color:var(--clinic-accent-strong);background:var(--clinic-accent-subtle);}
.role.active,.role.is-active,.role[aria-current=true],.role[aria-current=page]{color:var(--clinic-accent-strong);background:var(--clinic-accent-soft);border-left-color:var(--clinic-accent);border-right-color:var(--clinic-accent);border-top-color:var(--clinic-accent);}
.cmdbar{background:color-mix(in oklab,var(--clinic-accent-subtle) 78%,#fff);border-top-color:var(--clinic-accent);}
.cmd:hover{background:var(--clinic-accent-subtle);border-color:var(--clinic-accent-border);color:var(--clinic-accent-strong);}
.cmd.active,.cmd.is-active,.cmd[aria-current=page],.primary,button.primary{background:var(--clinic-accent);border-color:var(--clinic-accent);color:var(--clinic-on-accent);box-shadow:0 7px 18px color-mix(in srgb,var(--clinic-accent) 20%,transparent);}
.cmd.active .material-symbols-rounded,.cmd.is-active .material-symbols-rounded,.cmd[aria-current=page] .material-symbols-rounded,.primary .material-symbols-rounded,button.primary .material-symbols-rounded{color:var(--clinic-on-accent);}
.primary:hover,button.primary:hover{background:var(--clinic-accent-hover);border-color:var(--clinic-accent-hover);color:var(--clinic-on-accent);}
.primary:active,button.primary:active{background:var(--clinic-accent-pressed);border-color:var(--clinic-accent-pressed);}
.ghost:hover{background:var(--clinic-accent-subtle);border-color:var(--clinic-accent-border);color:var(--clinic-accent-strong);}
input:focus,select:focus,textarea:focus{border-color:var(--clinic-accent);box-shadow:0 0 0 4px var(--clinic-accent-focus);}
input[type=checkbox],input[type=radio]{accent-color:var(--clinic-accent);}
.stat-card .material-symbols-rounded,.kpis .material-symbols-rounded,.doc-role-hero .material-symbols-rounded,.doc-history-icon,.visual-option-mark,.dot{background:var(--clinic-accent-soft);color:var(--clinic-accent);}
.timeline:before{background:linear-gradient(180deg,var(--clinic-accent-border),var(--line));}
.titem:hover .dot{background:var(--clinic-accent);color:var(--clinic-on-accent);}
.pagehead{border-top:3px solid var(--clinic-accent);}
.card:focus-within{border-color:color-mix(in srgb,var(--clinic-accent-border) 72%,var(--line));}
.chip.active,.chip.is-active,.pill.active,.pill.is-active,.eyebrow.active,.eyebrow.is-active{background:var(--clinic-accent);border-color:var(--clinic-accent);color:var(--clinic-on-accent);}
.patient-suggest-option:hover,.patient-suggest-option:focus,.patient-suggest-option[aria-selected=true],.autocomplete-option:hover,.autocomplete-option:focus{background:var(--clinic-accent-soft);color:var(--clinic-accent-strong);outline:none;}
body[data-route="patient"] .patient-tabs-records>.patient-tab-nav label.is-active,body[data-route="patient"] .patient-tabs-records>.patient-tab-nav [aria-selected=true]{background:var(--clinic-accent)!important;color:var(--clinic-on-accent)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--clinic-accent) 20%,transparent)!important;}
body[data-route="patient"] .patient-tabs-records>.patient-tab-nav label.is-active .material-symbols-rounded,body[data-route="patient"] .patient-tabs-records>.patient-tab-nav [aria-selected=true] .material-symbols-rounded{background:color-mix(in srgb,var(--clinic-on-accent) 18%,transparent)!important;color:var(--clinic-on-accent)!important;}
.agenda-profile-time,.agenda-work-label,.work-hours-panel>summary,.doc-draft-layout aside h3,.lead-form-extra-open h3{color:var(--clinic-accent-strong)!important;}
.agenda-free-slots span{border-color:var(--clinic-accent-border);background:var(--clinic-accent-soft);color:var(--clinic-accent-strong);}
.agenda-profile-row:hover,.doc-model-row:hover{border-color:var(--clinic-accent-border);background:var(--clinic-accent-subtle);}
.visual-option:has(input:checked){border-color:var(--clinic-accent);background:var(--clinic-accent-subtle);box-shadow:0 0 0 3px var(--clinic-accent-focus);}
.visual-option:has(input:checked) .visual-option-mark{background:var(--clinic-accent);color:var(--clinic-on-accent);}
.color-table-row:hover{background:var(--clinic-accent-subtle);}
.color-table-row:has(input:checked){background:var(--clinic-accent-subtle);box-shadow:inset 4px 0 0 var(--clinic-accent);}
.color-table-row input{accent-color:var(--clinic-accent);}
.clinic-visual-preview{border-color:var(--clinic-accent-border);background:linear-gradient(90deg,var(--clinic-accent-subtle),#fff);}
/* Cores semânticas permanecem independentes da identidade do consultório. */
.pill.ok{color:var(--ok);background:var(--ok-soft);border-color:#abefc6}.pill.bad{color:var(--danger);background:var(--danger-soft);border-color:#fecdca}.pill.warn{color:var(--warn);background:var(--warn-soft);border-color:#fedf89}.pill.info{color:var(--blue);background:var(--blue-soft);border-color:#b2ddff}

/* PageHead harmony — contexto suprimido, título curto e ações previsíveis */
.pagehead{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:66px;padding:16px 18px;margin-bottom:16px;border-radius:22px;background:linear-gradient(135deg,#fff 0%,var(--clinic-surface-tint,#fbfefd) 100%);border-color:var(--line);box-shadow:0 8px 22px rgba(20,40,36,.055);overflow:visible}
.pagehead:before{width:4px;background:linear-gradient(180deg,var(--clinic-accent),var(--clinic-accent-strong));opacity:.82;border-radius:22px 0 0 22px}
.pagehead-copy{min-width:0}
.pagehead-copy h1{margin:0!important;display:flex;align-items:center;gap:10px;min-width:0;font-size:1.48rem;line-height:1.05;font-weight:950;letter-spacing:-.04em;color:var(--ink)}
.pagehead-copy h1>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pagehead p,.pagehead-copy p,.pagehead .field-help,.pagehead small:not(.material-symbols-rounded){display:none!important}
.pagehead-icon{width:38px;height:38px;flex:0 0 38px;border-radius:14px;background:var(--clinic-accent-soft);color:var(--clinic-accent-strong);box-shadow:inset 0 0 0 1px var(--clinic-accent-border)}
.pagehead-icon .material-symbols-rounded{font-size:21px}
.pagehead-actions{display:flex!important;align-items:center!important;justify-content:flex-end;gap:8px;flex-wrap:nowrap!important;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;padding:2px 2px 4px;margin:0;scrollbar-width:thin}
.pagehead-actions>a,.pagehead-actions>button,.pagehead-actions>.action-panel,.pagehead-actions>.form-panel,.pagehead-actions>details{flex:0 0 auto!important;min-width:max-content;width:auto!important;max-width:none}
.pagehead-actions .cmdlike,.pagehead-actions>.primary.small,.pagehead-actions>.ghost.small,.action-panel>summary.cmdlike{min-height:38px;border-radius:13px;padding-inline:13px}
.pagehead.has-open-panel{grid-template-columns:1fr!important;align-items:start}
.pagehead.has-open-panel .pagehead-actions{justify-content:flex-start!important;flex-wrap:wrap!important;overflow-x:visible!important;width:100%}
@media(max-width:760px){.pagehead{grid-template-columns:1fr;align-items:start;gap:10px;padding:14px 15px;border-radius:20px;min-height:0}.pagehead:before{border-radius:20px 0 0 20px}.pagehead-copy h1{font-size:1.3rem;gap:9px}.pagehead-icon{width:34px;height:34px;flex-basis:34px;border-radius:12px}.pagehead-icon .material-symbols-rounded{font-size:19px}.pagehead-actions{justify-content:flex-start!important;width:100%;padding-bottom:5px}.pagehead-actions .cmdlike,.pagehead-actions>.primary.small,.pagehead-actions>.ghost.small,.action-panel>summary.cmdlike{min-height:36px;font-size:.82rem}}


/* CSS maturity pass — solidez visual, tema por consultório e relógio flutuante escuro. */
:root{
  --surface-elevated:#ffffff;
  --surface-raised:#fbfefd;
  --ink-strong:#101a18;
  --ink-soft:#34423f;
  --control-border:color-mix(in oklab,var(--clinic-accent-border, var(--line)) 46%,var(--line));
  --control-hover:color-mix(in oklab,var(--clinic-accent-subtle,#f8fbfa) 84%,#fff);
  --ring:0 0 0 4px var(--clinic-accent-focus,rgba(15,118,110,.16));
  --solid-shadow:0 14px 34px rgba(17,30,28,.08);
  --solid-shadow-soft:0 8px 20px rgba(17,30,28,.055);
  --floating-bg:#13211f;
  --floating-bg-2:#0b1615;
  --floating-ink:#f7fffd;
}
body.app{background:linear-gradient(180deg,var(--clinic-surface-tint,#f8fbfa) 0%,var(--bg) 310px);color:var(--ink)}
.top{background:linear-gradient(180deg,rgba(255,255,255,.98),color-mix(in oklab,var(--clinic-surface-tint,#fbfefd) 82%,#fff));border-bottom-color:var(--control-border);box-shadow:0 3px 18px rgba(16,28,26,.06)}
.brand b{color:var(--ink-strong)}
.brand small,.tenant{color:var(--muted)}
.tenant{background:color-mix(in oklab,var(--clinic-accent-subtle,#f8fbfa) 65%,#fff);border-color:var(--control-border)}
.rolebar{background:linear-gradient(180deg,#fff,color-mix(in oklab,var(--clinic-accent-subtle,#f8fbfa) 72%,#fff));border-bottom-color:var(--control-border)}
.cmdbar{background:rgba(255,255,255,.92);border-top-color:var(--clinic-accent);border-bottom-color:var(--control-border);box-shadow:0 8px 18px rgba(17,30,28,.045);backdrop-filter:blur(10px)}
.role,.cmd{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.cmd,.ghost{background:#fff;border-color:var(--control-border);color:var(--ink-soft)}
.cmd:hover,.ghost:hover{background:var(--control-hover);border-color:var(--clinic-accent-border);color:var(--clinic-accent-strong)}
.cmd.active,.cmd.is-active,.cmd[aria-current=page],.primary,button.primary{background:var(--clinic-accent);border-color:var(--clinic-accent);color:var(--clinic-on-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--clinic-accent) 21%,transparent)}
.primary:hover,button.primary:hover{background:var(--clinic-accent-hover);border-color:var(--clinic-accent-hover);box-shadow:0 10px 24px color-mix(in srgb,var(--clinic-accent) 24%,transparent)}
.primary:focus-visible,.ghost:focus-visible,.cmd:focus-visible,.role:focus-visible,button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--ring)}
.card,.auth,.pagehead,.table-wrap,.form-panel[open],.settings-section,.clinic-visual-preview{border-color:var(--control-border);box-shadow:var(--solid-shadow-soft)}
.card,.auth,.form-panel[open],.settings-section{background:var(--surface-elevated)}
.card:hover{border-color:color-mix(in oklab,var(--clinic-accent-border) 48%,var(--line));box-shadow:var(--solid-shadow)}
.pagehead{background:linear-gradient(135deg,#fff 0%,color-mix(in oklab,var(--clinic-surface-tint,#fbfefd) 88%,#fff) 100%);border-color:var(--control-border);box-shadow:0 10px 26px rgba(17,30,28,.06)}
.pagehead-icon,.stat-card .material-symbols-rounded,.kpis .material-symbols-rounded,.dot,.visual-option-mark,.doc-history-icon{background:var(--clinic-accent-soft);color:var(--clinic-accent-strong);box-shadow:inset 0 0 0 1px var(--clinic-accent-border)}
input,select,textarea{border-color:var(--control-border);background:#fff;color:var(--ink);box-shadow:inset 0 1px 0 rgba(17,30,28,.025);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
input:hover,select:hover,textarea:hover{border-color:color-mix(in oklab,var(--clinic-accent-border) 72%,var(--line-strong))}
input:focus,select:focus,textarea:focus{border-color:var(--clinic-accent);box-shadow:var(--ring), inset 0 1px 0 rgba(17,30,28,.025)}
input::placeholder,textarea::placeholder{color:color-mix(in oklab,var(--muted) 82%,#fff)}
.table-wrap{background:#fff}.table-wrap table{background:#fff}th{background:color-mix(in oklab,var(--clinic-accent-subtle,#f8fbfa) 70%,#fff);color:var(--muted)}td{border-bottom-color:var(--line)}tr:hover td{background:color-mix(in oklab,var(--clinic-accent-subtle,#f8fbfa) 54%,#fff)}
.pill,.chip,.eyebrow{background:#fff;border-color:var(--control-border);color:var(--ink-soft)}
.chip:hover,.pill:hover,.eyebrow:hover{border-color:var(--clinic-accent-border);background:var(--clinic-accent-subtle);color:var(--clinic-accent-strong)}
.chip.active,.chip.is-active,.pill.active,.pill.is-active,.eyebrow.active,.eyebrow.is-active{background:var(--clinic-accent);border-color:var(--clinic-accent);color:var(--clinic-on-accent)}
.patient-suggest-panel,.autocomplete-panel,.suggest-panel{border-color:var(--control-border);background:#fff;box-shadow:0 18px 42px rgba(17,30,28,.16)}
.patient-suggest-option:hover,.patient-suggest-option:focus,.patient-suggest-option[aria-selected=true],.autocomplete-option:hover,.autocomplete-option:focus{background:var(--clinic-accent-soft);color:var(--clinic-accent-strong)}
.timeline:before{background:linear-gradient(180deg,var(--clinic-accent-border),color-mix(in oklab,var(--line) 75%,#fff))}.dot{background:var(--clinic-accent-soft);color:var(--clinic-accent-strong)}
.titem:hover .dot{background:var(--clinic-accent);color:var(--clinic-on-accent);box-shadow:0 8px 18px color-mix(in srgb,var(--clinic-accent) 22%,transparent)}
.brand-mark,.auth-brandmark{background:linear-gradient(145deg,var(--clinic-accent),var(--clinic-accent-strong));color:var(--clinic-on-accent);box-shadow:0 10px 24px var(--clinic-accent-shadow)}
.color-table,.visual-option,.doc-model-row,.agenda-profile-row,.patient-row,.procedure-card,.task-card{border-color:var(--control-border)}
.color-table-row:hover,.visual-option:hover,.doc-model-row:hover,.agenda-profile-row:hover,.patient-row:hover,.procedure-card:hover,.task-card:hover{background:var(--clinic-accent-subtle);border-color:var(--clinic-accent-border)}
/* Relógio/hora flutuante: elemento funcional, escuro e legível em qualquer tema do consultório. */
.floating-clock{display:block!important;position:fixed;right:18px;bottom:18px;z-index:85;min-width:72px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:var(--floating-bg);background:linear-gradient(145deg,color-mix(in oklab,var(--clinic-accent-strong,#0b5e58) 38%,#13211f),var(--floating-bg-2));color:var(--floating-ink)!important;padding:9px 13px;text-align:center;box-shadow:0 16px 34px rgba(7,17,16,.32),0 0 0 1px rgba(255,255,255,.04) inset;backdrop-filter:blur(10px);font-weight:950;letter-spacing:.035em}
.floating-clock b,.floating-clock [data-clock]{color:var(--floating-ink)!important;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.floating-clock:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:999px;background:var(--clinic-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--clinic-accent) 20%,transparent);vertical-align:1px}
@media(max-width:760px){.floating-clock{right:12px;bottom:12px;min-width:66px;padding:8px 11px;font-size:.9rem}.cmdbar,.rolebar{scrollbar-width:none}.cmdbar::-webkit-scrollbar,.rolebar::-webkit-scrollbar,.pagehead-actions::-webkit-scrollbar{display:none}.card{border-radius:20px}.top{padding-inline:14px}}
@media print{.floating-clock{display:none!important}}


/* Incremental polish: clinic title header + dark floating clock */
body.app .brand{max-width:min(56vw,520px)}
body.app .brand b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong,var(--ink));font-weight:950}
body.app .top-actions .tenant{display:none!important}
.floating-clock,
body.app .floating-clock,
[data-floating-clock]{display:block!important;position:fixed;right:18px;bottom:18px;z-index:85;min-width:72px;border:1px solid rgba(255,255,255,.16)!important;border-radius:999px;background:#0b1615!important;background:linear-gradient(145deg,#182725 0%,#0b1615 100%)!important;color:#f7fffd!important;padding:9px 13px;text-align:center;box-shadow:0 16px 34px rgba(7,17,16,.35),0 0 0 1px rgba(255,255,255,.05) inset!important;backdrop-filter:blur(10px);font-weight:950;letter-spacing:.035em}
.floating-clock *,
body.app .floating-clock *,
[data-floating-clock] *{color:#f7fffd!important}
.floating-clock b,
.floating-clock [data-clock],
[data-floating-clock] b,
[data-floating-clock] [data-clock]{font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.floating-clock:before,
[data-floating-clock]:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:999px;background:var(--clinic-accent,var(--brand));box-shadow:0 0 0 3px color-mix(in srgb,var(--clinic-accent,var(--brand)) 22%,transparent);vertical-align:1px}
@media(max-width:760px){body.app .brand{max-width:48vw}.floating-clock,[data-floating-clock]{right:12px;bottom:12px;min-width:66px;padding:8px 11px;font-size:.9rem}}
@media print{.floating-clock,[data-floating-clock]{display:none!important}}

/* Revisão linha a linha — tema do consultório como fonte única de acento visual. */
:root{
  --card:var(--surface);
  --text:var(--ink);
  --clinic-clock-ink:#f7fffd;
}
body.app{
  --brand:var(--clinic-accent);
  --brand-dark:var(--clinic-accent-strong);
  --brand-soft:var(--clinic-accent-soft);
  --brand-soft-2:var(--clinic-accent-subtle);
  --brand-border:var(--clinic-accent-border);
  --brand-focus:var(--clinic-accent-focus);
  --brand-shadow:var(--clinic-accent-shadow);
  --on-brand:var(--clinic-on-accent);
}
body.app a:not(.ghost):not(.primary):not(.cmd):not(.role):not(.top-icon){color:var(--clinic-accent-strong)}
body.app .brand-mark,body.app .auth-brandmark,body.app .pagehead:before{background:linear-gradient(145deg,var(--clinic-accent),var(--clinic-accent-strong))!important;color:var(--clinic-on-accent)!important;box-shadow:0 10px 24px var(--clinic-accent-shadow)!important}
body.app .brand-mark .material-symbols-rounded,body.app .auth-brandmark .material-symbols-rounded{color:var(--clinic-on-accent)!important}
body.app .pagehead-icon,body.app .stat-card .material-symbols-rounded,body.app .kpis>div>.material-symbols-rounded,body.app .notice-kpi>.material-symbols-rounded:not(.danger):not(.warn),body.app .notice-icon:not(.danger):not(.warn),body.app .notice-empty .material-symbols-rounded,body.app .doc-role-hero article .material-symbols-rounded,body.app .doc-history-icon,body.app .visual-option-mark,body.app .task-marker,body.app .collaborator-avatar,body.app .role-badge,body.app .patient-clinical-card header .material-symbols-rounded,body.app .patient-consultation-status:not(.first-visit) .material-symbols-rounded{background:var(--clinic-accent-soft)!important;color:var(--clinic-accent-strong)!important;box-shadow:inset 0 0 0 1px var(--clinic-accent-border)}
body.app .doc-role-hero article:first-child .material-symbols-rounded,body.app .visual-option:has(input:checked) .visual-option-mark,body.app .titem:hover .dot{background:var(--clinic-accent)!important;color:var(--clinic-on-accent)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--clinic-accent) 22%,transparent)!important}
body.app .top,body.app .rolebar,body.app .cmdbar,body.app .pagehead,body.app .card,body.app .auth,body.app .table-wrap,body.app .form-panel[open],body.app .settings-section,body.app .clinic-visual-preview,body.app .doc-quick-card,body.app .doc-model-row,body.app .doc-history-row,body.app .agenda-profile-row,body.app .agenda-side-card,body.app .agenda-full-card,body.app .patient-row,body.app .patient-clinical-card,body.app .task-card,body.app .procedure-card,body.app .lead-card,body.app .notice-card-shell,body.app .reception-card{border-color:var(--control-border,var(--clinic-accent-border))}
body.app .card:hover,body.app .doc-model-row:hover,body.app .doc-history-row:hover,body.app .agenda-profile-row:hover,body.app .patient-row:hover,body.app .task-card:hover,body.app .procedure-card:hover,body.app .lead-card:hover,body.app .visual-option:hover{border-color:var(--clinic-accent-border)!important;background:var(--clinic-accent-subtle)!important}
body.app .cmdbar{border-top-color:var(--clinic-accent)!important;background:color-mix(in oklab,var(--clinic-accent-subtle) 82%,#fff)!important}
body.app .cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]){background:var(--clinic-accent)!important;border-color:var(--clinic-accent)!important;color:var(--clinic-on-accent)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--clinic-accent) 18%,transparent)!important}
body.app .cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]):hover{background:var(--clinic-accent-hover)!important;border-color:var(--clinic-accent-hover)!important;color:var(--clinic-on-accent)!important}
body.app .cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page]) .material-symbols-rounded,body.app .cmdbar .cmd:not(.active):not(.is-active):not([aria-current=page])>span:not(.cmd-count){color:var(--clinic-on-accent)!important}
body.app .cmd.active,body.app .cmd.is-active,body.app .cmd[aria-current=page],body.app .primary,body.app button.primary{background:var(--clinic-accent)!important;border-color:var(--clinic-accent)!important;color:var(--clinic-on-accent)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--clinic-accent) 22%,transparent)!important}
body.app .primary:hover,body.app button.primary:hover,body.app .cmd.active:hover,body.app .cmd.is-active:hover,body.app .cmd[aria-current=page]:hover{background:var(--clinic-accent-hover)!important;border-color:var(--clinic-accent-hover)!important;color:var(--clinic-on-accent)!important}
body.app .ghost:hover,body.app .cmdlike:hover,body.app .action-panel>summary:hover,body.app .task-comment-actions summary:hover{background:var(--clinic-accent-subtle)!important;border-color:var(--clinic-accent-border)!important;color:var(--clinic-accent-strong)!important}
body.app input:focus,body.app select:focus,body.app textarea:focus,body.app [contenteditable=true]:focus{border-color:var(--clinic-accent)!important;box-shadow:0 0 0 4px var(--clinic-accent-focus)!important;outline:none!important}
body.app input[type=checkbox],body.app input[type=radio],body.app input[type=range]{accent-color:var(--clinic-accent)}
body.app .inline-link,body.app .agenda-profile-time,body.app .agenda-work-label,body.app .work-hours-panel>summary,body.app .doc-draft-layout aside h3,body.app .lead-form-extra-open h3,body.app .patient-clinical-card h3,body.app .task-group-start>header h2,body.app .task-group-mine>header h2{color:var(--clinic-accent-strong)!important}
body.app .timeline:before,body.app .activity-timeline:before{background:linear-gradient(180deg,var(--clinic-accent-border),color-mix(in oklab,var(--line) 76%,#fff))!important}
body.app .dot,body.app .time-dot{background:var(--clinic-accent-soft)!important;color:var(--clinic-accent-strong)!important;box-shadow:inset 0 0 0 1px var(--clinic-accent-border)!important}
body.app .patient-suggest-panel,body.app .autocomplete-panel,body.app .suggest-panel{border-color:var(--clinic-accent-border)!important;box-shadow:0 18px 42px color-mix(in srgb,var(--clinic-accent) 16%,rgba(17,30,28,.16))!important}
body.app .patient-suggest-option:hover,body.app .patient-suggest-option:focus,body.app .patient-suggest-option[aria-selected=true],body.app .autocomplete-option:hover,body.app .autocomplete-option:focus{background:var(--clinic-accent-soft)!important;color:var(--clinic-accent-strong)!important}
body.app .agenda-free-slots span,body.app .task-chip.responsibility,body.app .perm-pill,body.app .permission-chip,body.app .lead-chip:not(.bad):not(.warn),body.app .stage-convertido,body.app .ready{border-color:var(--clinic-accent-border)!important;background:var(--clinic-accent-soft)!important;color:var(--clinic-accent-strong)!important}
body.app .patient-tab-nav label.is-active,body.app .patient-tab-nav [aria-selected=true],body.app .patient-hero-tabs .is-active{background:var(--clinic-accent)!important;border-color:var(--clinic-accent)!important;color:var(--clinic-on-accent)!important}
body.app .patient-consultation-status:not(.first-visit){border-color:var(--clinic-accent-border)!important;background:linear-gradient(135deg,var(--clinic-accent-subtle),#fff)!important}
body.app .patient-clinical-card header .material-symbols-rounded{background:var(--clinic-accent-soft)!important;color:var(--clinic-accent-strong)!important}
body.app .doc-editor:focus{box-shadow:inset 0 0 0 2px var(--clinic-accent-focus)!important}
body.app .doc-editor-toolbar,body.app .work-hours-panel,body.app .doc-quick-card{background:var(--clinic-accent-subtle)!important}
body.app .color-table-row:has(input:checked),body.app .visual-option:has(input:checked){background:var(--clinic-accent-subtle)!important;border-color:var(--clinic-accent)!important;box-shadow:inset 4px 0 0 var(--clinic-accent),0 0 0 3px var(--clinic-accent-focus)!important}
body.app .password-strength.strong span i{background:var(--clinic-accent)!important}
body.app .password-strength.strong em{color:var(--clinic-accent-strong)!important}
body.app .task-start-form button{box-shadow:0 8px 18px color-mix(in srgb,var(--clinic-accent) 18%,transparent)!important}
/* Hora flutuante: regra final e específica, escura, legível e levemente tingida pela cor do consultório ativo. */
html body.app .floating-clock,html body.app [data-floating-clock]{display:inline-flex!important;align-items:center;justify-content:center;gap:0;position:fixed!important;right:18px!important;bottom:18px!important;z-index:85!important;min-width:72px!important;border:1px solid color-mix(in srgb,var(--clinic-accent) 30%,rgba(255,255,255,.18))!important;border-radius:999px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--clinic-accent-strong) 46%,#13211f 54%) 0%,color-mix(in srgb,var(--clinic-accent) 16%,#06100f 84%) 100%)!important;color:var(--clinic-clock-ink)!important;padding:9px 13px!important;text-align:center!important;box-shadow:0 16px 34px rgba(7,17,16,.38),0 0 0 1px rgba(255,255,255,.06) inset,0 0 22px color-mix(in srgb,var(--clinic-accent) 14%,transparent)!important;backdrop-filter:blur(10px)!important;font-weight:950!important;letter-spacing:.035em!important}
html body.app .floating-clock *,html body.app [data-floating-clock] *{color:var(--clinic-clock-ink)!important;text-shadow:0 1px 1px rgba(0,0,0,.42)!important}
html body.app .floating-clock b,html body.app [data-floating-clock] b,html body.app .floating-clock [data-clock],html body.app [data-floating-clock] [data-clock]{font-variant-numeric:tabular-nums!important;letter-spacing:-.01em!important}
html body.app .floating-clock:before,html body.app [data-floating-clock]:before{content:""!important;display:inline-block!important;width:6px!important;height:6px!important;margin-right:7px!important;border-radius:999px!important;background:var(--clinic-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--clinic-accent) 25%,transparent),0 0 14px color-mix(in srgb,var(--clinic-accent) 55%,transparent)!important;vertical-align:1px!important;flex:0 0 auto!important}
@media(max-width:760px){html body.app .floating-clock,html body.app [data-floating-clock]{right:12px!important;bottom:12px!important;min-width:66px!important;padding:8px 11px!important;font-size:.9rem!important}}
@media print{html body.app .floating-clock,html body.app [data-floating-clock]{display:none!important}}

/* Incremental refinement: PageHead border and floating clock typography */
body.app .pagehead{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  border:1px solid color-mix(in srgb,var(--clinic-accent) 16%,#dce7e4 84%)!important;
  border-top-color:color-mix(in srgb,var(--clinic-accent) 20%,#dce7e4 80%)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fff 0%,color-mix(in oklab,var(--clinic-surface-tint,#fbfefd) 86%,#fff) 100%)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.86) inset,0 10px 24px rgba(17,30,28,.055)!important;
}
body.app .pagehead:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:inherit!important;
  background:none!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--clinic-accent) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.9)!important;
  opacity:1!important;
  pointer-events:none!important;
  z-index:0!important;
}
body.app .pagehead:after{
  content:""!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  top:0!important;
  height:1px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--clinic-accent) 38%,transparent) 50%,transparent 100%)!important;
  opacity:.72!important;
  pointer-events:none!important;
  z-index:0!important;
}
body.app .pagehead-copy,
body.app .pagehead-actions{
  position:relative!important;
  z-index:1!important;
}
@media(max-width:760px){
  body.app .pagehead{border-radius:20px!important;box-shadow:0 1px 0 rgba(255,255,255,.82) inset,0 8px 18px rgba(17,30,28,.05)!important;}
  body.app .pagehead:after{left:14px!important;right:14px!important;}
}

/* Incremental refinement: hora flutuante sem marcador e sem negrito */
html body.app .floating-clock,
html body.app [data-floating-clock]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:85!important;
  min-width:68px!important;
  border:1px solid color-mix(in srgb,var(--clinic-accent) 26%,rgba(255,255,255,.16))!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--clinic-accent-strong) 34%,#14211f 66%) 0%,color-mix(in srgb,var(--clinic-accent) 12%,#07100f 88%) 100%)!important;
  color:var(--clinic-clock-ink,#f7fffd)!important;
  padding:9px 14px!important;
  text-align:center!important;
  box-shadow:0 14px 30px rgba(7,17,16,.36),0 0 0 1px rgba(255,255,255,.055) inset,0 0 18px color-mix(in srgb,var(--clinic-accent) 10%,transparent)!important;
  backdrop-filter:blur(10px)!important;
  font-weight:500!important;
  letter-spacing:.005em!important;
}
html body.app .floating-clock *,
html body.app [data-floating-clock] *{
  color:var(--clinic-clock-ink,#f7fffd)!important;
  font-weight:500!important;
  text-shadow:none!important;
}
html body.app .floating-clock b,
html body.app [data-floating-clock] b,
html body.app .floating-clock [data-clock],
html body.app [data-floating-clock] [data-clock]{
  font-variant-numeric:tabular-nums!important;
  font-weight:500!important;
  letter-spacing:.005em!important;
}
html body.app .floating-clock:before,
html body.app [data-floating-clock]:before{
  content:none!important;
  display:none!important;
}
@media(max-width:760px){
  html body.app .floating-clock,
  html body.app [data-floating-clock]{right:12px!important;bottom:12px!important;min-width:62px!important;padding:8px 12px!important;font-size:.9rem!important;}
}

/* Incremental: paleta completa do consultório e hora flutuante na cor predominante */
html body.app{
  background:linear-gradient(180deg,var(--clinic-surface-tint,var(--bg)) 0%,var(--bg) 320px)!important;
}
html body.app .top,
html body.app .rolebar,
html body.app .cmdbar,
html body.app .pagehead,
html body.app .card,
html body.app .auth,
html body.app .table-wrap,
html body.app .form-panel[open],
html body.app .settings-section,
html body.app .clinic-visual-preview,
html body.app .doc-quick-card,
html body.app .doc-model-row,
html body.app .doc-history-row,
html body.app .agenda-profile-row,
html body.app .agenda-side-card,
html body.app .agenda-full-card,
html body.app .patient-row,
html body.app .patient-clinical-card,
html body.app .task-card,
html body.app .procedure-card,
html body.app .lead-card,
html body.app .notice-card-shell,
html body.app .reception-card,
html body.app .kpis>div,
html body.app .stat-card{
  border-color:var(--control-border,var(--line))!important;
}
html body.app .top,
html body.app .pagehead,
html body.app .card,
html body.app .auth,
html body.app .form-panel[open],
html body.app .settings-section,
html body.app .table-wrap,
html body.app .titem>div,
html body.app .doc-model-row,
html body.app .doc-history-row,
html body.app .agenda-profile-row,
html body.app .patient-row,
html body.app .task-card,
html body.app .procedure-card,
html body.app .lead-card,
html body.app .visual-option,
html body.app .color-table,
html body.app .clinic-visual-preview{
  background:var(--surface)!important;
}
html body.app .rolebar,
html body.app .cmdbar,
html body.app th,
html body.app .settings-section,
html body.app .task-details,
html body.app .task-comment-item,
html body.app .task-chip,
html body.app .doc-editor-toolbar,
html body.app .work-hours-panel,
html body.app .doc-quick-card{
  background:var(--surface-soft)!important;
}
html body.app .ghost,
html body.app .cmd:not(.active):not(.is-active):not([aria-current=page]),
html body.app input,
html body.app select,
html body.app textarea,
html body.app .pill,
html body.app .chip,
html body.app .eyebrow,
html body.app .patient-suggest-panel,
html body.app .autocomplete-panel,
html body.app .suggest-panel,
html body.app .task-comment-actions summary,
html body.app .agenda-profile-row .compact-actions>summary.cmdlike{
  background:var(--surface-elevated,var(--surface))!important;
  border-color:var(--control-border,var(--line))!important;
}
html body.app .card:hover,
html body.app .doc-model-row:hover,
html body.app .doc-history-row:hover,
html body.app .agenda-profile-row:hover,
html body.app .patient-row:hover,
html body.app .task-card:hover,
html body.app .procedure-card:hover,
html body.app .lead-card:hover,
html body.app .visual-option:hover,
html body.app tr:hover td{
  background:var(--clinic-accent-subtle)!important;
  border-color:var(--clinic-accent-border)!important;
}
html body.app .table-wrap,
html body.app td,
html body.app th,
html body.app .timeline:before,
html body.app .task-details,
html body.app .task-comments{
  border-color:var(--line)!important;
}
html body.app .pagehead{
  background:linear-gradient(135deg,var(--surface-elevated,var(--surface)) 0%,var(--clinic-surface-tint,var(--surface-soft)) 100%)!important;
  border-color:var(--control-border,var(--line))!important;
}
html body.app .pagehead:before{
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--clinic-accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.82)!important;
}
html body.app .floating-clock,
html body.app [data-floating-clock]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:85!important;
  min-width:68px!important;
  border-radius:999px!important;
  background:var(--clinic-clock-bg,var(--clinic-accent))!important;
  border:1px solid color-mix(in srgb,var(--clinic-clock-border,var(--clinic-accent-strong)) 74%,#ffffff 26%)!important;
  color:var(--clinic-clock-ink,#ffffff)!important;
  padding:9px 14px!important;
  font-weight:500!important;
  letter-spacing:.005em!important;
  text-align:center!important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--clinic-accent) 30%,rgba(7,17,16,.30)),0 0 0 1px rgba(255,255,255,.10) inset!important;
  backdrop-filter:blur(10px)!important;
}
html body.app .floating-clock *,
html body.app [data-floating-clock] *{
  color:var(--clinic-clock-ink,#ffffff)!important;
  font-weight:500!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
}
html body.app .floating-clock b,
html body.app [data-floating-clock] b,
html body.app .floating-clock [data-clock],
html body.app [data-floating-clock] [data-clock]{
  font-variant-numeric:tabular-nums!important;
  font-weight:500!important;
  letter-spacing:.005em!important;
}
html body.app .floating-clock:before,
html body.app [data-floating-clock]:before{
  content:none!important;
  display:none!important;
}
@media(max-width:760px){html body.app .floating-clock,html body.app [data-floating-clock]{right:12px!important;bottom:12px!important;min-width:62px!important;padding:8px 12px!important;font-size:.9rem!important;}}

/* Incremental PWA + Material Design readiness: install CTA, touch targets, tonal surfaces. */
:root{
  --md-state-hover:rgba(15,23,42,.06);
  --md-state-focus:rgba(15,23,42,.10);
  --md-state-pressed:rgba(15,23,42,.12);
  --md-easing: cubic-bezier(.2,0,0,1);
}
html body{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
button,a.cmd,a.primary,a.ghost,summary.cmdlike,.role,.chip,.pill,.patient-tab-nav label,[role="button"]{
  min-height:44px;
  transition:background-color .18s var(--md-easing),border-color .18s var(--md-easing),box-shadow .18s var(--md-easing),transform .18s var(--md-easing),color .18s var(--md-easing);
}
@media(pointer:coarse){
  button,a.cmd,a.primary,a.ghost,summary.cmdlike,.role,.chip,.pill,.patient-tab-nav label,[role="button"]{min-height:48px;}
}
body.app .primary,body.public .primary,
body.app button.primary,body.public button.primary,
body.app a.primary,body.public a.primary{
  background:var(--clinic-accent,var(--brand))!important;
  color:var(--clinic-on-accent,var(--on-brand,#fff))!important;
  border-color:var(--clinic-accent,var(--brand))!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--clinic-accent,var(--brand)) 23%,transparent)!important;
}
body.app .primary:hover,body.public .primary:hover,
body.app button.primary:hover,body.public button.primary:hover,
body.app a.primary:hover,body.public a.primary:hover{
  background:var(--clinic-accent-hover,var(--brand-dark))!important;
  border-color:var(--clinic-accent-hover,var(--brand-dark))!important;
}
body.app .primary:active,body.public .primary:active,
body.app button.primary:active,body.public button.primary:active,
body.app a.primary:active{transform:translateY(1px);}
body.app :is(button,a,summary,input,select,textarea,[tabindex]):focus-visible,
body.public :is(button,a,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--clinic-accent-focus,var(--brand-focus))!important;
  outline-offset:2px!important;
}
body.app .card,body.app .pagehead,body.app .table-wrap,body.app .form-panel[open],body.app .auth,
body.public .auth,body.public .widebox{
  box-shadow:0 1px 0 rgba(255,255,255,.84) inset,0 14px 34px rgba(17,30,28,.06)!important;
}
body.app .floating-clock,body.app [data-floating-clock]{
  background:var(--clinic-clock-bg,var(--clinic-accent,var(--brand)))!important;
  color:var(--clinic-clock-ink,#fff)!important;
  border-color:color-mix(in srgb,var(--clinic-clock-border,var(--clinic-accent-strong,var(--brand-dark))) 72%,#ffffff 28%)!important;
  font-weight:500!important;
}
body.app .floating-clock:before,body.app [data-floating-clock]:before{content:none!important;display:none!important;}
.pwa-install-pill{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:85;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  min-width:44px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 72%,#ffffff 28%);
  background:var(--clinic-accent,var(--brand,#0f766e));
  color:var(--clinic-on-accent,var(--on-brand,#fff));
  box-shadow:0 14px 30px color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 30%,rgba(7,17,16,.30)),0 0 0 1px rgba(255,255,255,.12) inset;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  user-select:none;
}
.pwa-install-pill .material-symbols-rounded{font-size:22px;color:inherit;}
.pwa-install-pill[hidden]{display:none!important;}
.pwa-install-pill.is-installed{display:none!important;}
.pwa-install-pill.is-help::after{
  content:"Use o menu do navegador para instalar.";
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  width:max-content;
  max-width:240px;
  padding:8px 10px;
  border-radius:14px;
  background:#17211f;
  color:#fff;
  box-shadow:0 12px 26px rgba(7,17,16,.22);
  font-size:.84rem;
  font-weight:600;
}
@media(max-width:760px){
  .pwa-install-pill{right:12px;bottom:12px;padding:10px 13px;}
  .pwa-install-pill span:not(.material-symbols-rounded){display:none;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}


/* Incremental PWA UX review: Material-ready shell, safe areas, and final tonal harmonization. */
:root{
  --app-safe-top:env(safe-area-inset-top,0px);
  --app-safe-right:env(safe-area-inset-right,0px);
  --app-safe-bottom:env(safe-area-inset-bottom,0px);
  --app-safe-left:env(safe-area-inset-left,0px);
  --md-radius-sm:12px;
  --md-radius-md:16px;
  --md-radius-lg:22px;
  --md-radius-xl:28px;
  --md-touch:44px;
  --md-state-layer:rgba(15,23,42,.06);
  --md-ease:cubic-bezier(.2,0,0,1);
}
html{min-height:100%;background:var(--bg);}
html,body{min-height:100dvh;}
body.app,body.public{
  background:
    radial-gradient(circle at top left,color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 7%,transparent) 0 22rem,transparent 23rem),
    linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 86%,var(--surface) 14%) 100%)!important;
}
body.app main,body.public main{
  padding-left:max(0px,var(--app-safe-left));
  padding-right:max(0px,var(--app-safe-right));
  padding-bottom:calc(96px + var(--app-safe-bottom))!important;
}
body.app .top,body.app .rolebar,body.app .cmdbar{
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  backdrop-filter:saturate(150%) blur(12px);
}
@media(display-mode:standalone){
  body.app .top{padding-top:calc(10px + var(--app-safe-top));min-height:calc(var(--top-h) + var(--app-safe-top));}
  body.app .rolebar{top:calc(var(--top-h) + var(--app-safe-top));}
  body.app .cmdbar{top:calc(var(--top-h) + var(--role-h) + var(--app-safe-top));}
  body.public main{padding-top:var(--app-safe-top);}
}
html body.app .pagehead{
  border:1px solid color-mix(in srgb,var(--clinic-accent) 14%,var(--line) 86%)!important;
  border-bottom-color:color-mix(in srgb,var(--clinic-accent) 18%,var(--line-strong) 82%)!important;
  background:linear-gradient(135deg,var(--surface-elevated,var(--surface)) 0%,color-mix(in srgb,var(--surface) 72%,var(--clinic-surface-tint,var(--surface-soft)) 28%) 100%)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.72) inset,0 12px 30px color-mix(in srgb,var(--clinic-accent) 6%,rgba(17,30,28,.055))!important;
}
html body.app .pagehead::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--clinic-accent) 34%,transparent),transparent);
  pointer-events:none;
}
html body.app .pagehead-icon{
  background:var(--clinic-accent-soft)!important;
  color:var(--clinic-accent-strong)!important;
  border:1px solid var(--clinic-accent-border)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset!important;
}
html body.app .card,
html body.app .auth,
html body.app .table-wrap,
html body.app .form-panel[open],
html body.app .settings-section,
html body.app .patient-panel,
html body.app .doc-issued-body,
html body.app .permission-module-card,
html body.app .collaborator-card-list,
html body.app .clinic-visual-preview,
html body.public .auth{
  background:var(--surface)!important;
  border-color:color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 12%,var(--line) 88%)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.72) inset,0 12px 28px color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 5%,rgba(17,30,28,.055))!important;
}
html body.app .top,
html body.app .rolebar,
html body.app .cmdbar,
html body.app th,
html body.app .doc-editor-toolbar,
html body.app .task-details,
html body.app .work-hours-panel,
html body.app .doc-quick-card,
html body.app .permission-module-card header,
html body.app .patient-row-head,
html body.app .color-table-head{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
}
html body.app input,
html body.app select,
html body.app textarea,
html body.app [contenteditable="true"],
html body.app .ghost,
html body.app .pill:not(.ok):not(.bad):not(.warn),
html body.app .chip:not(.ok):not(.bad):not(.warn),
html body.app .eyebrow,
html body.app .patient-suggest-panel,
html body.app .autocomplete-panel,
html body.app .suggest-panel,
html body.app .cmd:not(.active):not(.is-active):not([aria-current="page"]),
html body.public input,
html body.public select,
html body.public textarea{
  background:var(--surface-elevated,var(--surface))!important;
  border-color:var(--control-border,var(--line-strong))!important;
}
html body.app .cmd:not(.active):not(.is-active):not([aria-current="page"]){
  color:var(--ink)!important;
  box-shadow:0 1px 2px rgba(17,24,39,.025)!important;
}
html body.app .cmd:not(.active):not(.is-active):not([aria-current="page"]):hover,
html body.app .ghost:hover,
html body.app .patient-tab-nav label:not(.is-active):hover,
html body.app .role:not(.active):hover,
html body.app .visual-option:hover,
html body.app .color-table-row:hover{
  background:var(--clinic-accent-subtle)!important;
  border-color:var(--clinic-accent-border)!important;
  color:var(--clinic-accent-strong)!important;
}
html body.app .primary,
html body.app button.primary,
html body.app a.primary,
html body.app .cmd.active,
html body.app .cmd.is-active,
html body.app .cmd[aria-current="page"],
html body.app .patient-tab-nav .is-active,
html body.app .patient-tab-nav [aria-selected="true"],
html body.public .primary,
html body.public button.primary,
html body.public a.primary{
  background:var(--clinic-accent,var(--brand,#0f766e))!important;
  border-color:var(--clinic-accent,var(--brand,#0f766e))!important;
  color:var(--clinic-on-accent,var(--on-brand,#fff))!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 20%,transparent)!important;
}
html body.app .primary:hover,
html body.app button.primary:hover,
html body.app a.primary:hover,
html body.public .primary:hover,
html body.public button.primary:hover,
html body.public a.primary:hover{
  background:var(--clinic-accent-hover,var(--brand-dark,#0b625b))!important;
  border-color:var(--clinic-accent-hover,var(--brand-dark,#0b625b))!important;
}
html body.app :is(button,a,summary,input,select,textarea,[tabindex]):focus-visible,
html body.public :is(button,a,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--clinic-accent-focus,var(--brand-focus,rgba(15,118,110,.16)))!important;
  outline-offset:2px!important;
}
html body.app input:focus,
html body.app select:focus,
html body.app textarea:focus,
html body.app [contenteditable="true"]:focus,
html body.public input:focus,
html body.public select:focus,
html body.public textarea:focus{
  border-color:var(--clinic-accent,var(--brand,#0f766e))!important;
  box-shadow:0 0 0 4px var(--clinic-accent-focus,var(--brand-focus,rgba(15,118,110,.16)))!important;
}
html body.app .timeline:before,
html body.app .activity-timeline:before{background:linear-gradient(180deg,transparent,var(--clinic-accent-border) 9%,var(--clinic-accent-border) 91%,transparent)!important;}
html body.app .dot,
html body.app .time-dot{background:var(--clinic-accent-soft)!important;color:var(--clinic-accent-strong)!important;border:1px solid var(--clinic-accent-border)!important;}
html body.app .patient-suggest-option:hover,
html body.app .patient-suggest-option:focus,
html body.app .patient-suggest-option[aria-selected="true"],
html body.app .autocomplete-option:hover,
html body.app .autocomplete-option:focus{
  background:var(--clinic-accent-soft)!important;
  color:var(--clinic-accent-strong)!important;
}
/* Regra final da hora flutuante: cor escolhida do consultório, texto claro, sem marcador. */
html body.app .floating-clock,
html body.app [data-floating-clock]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  position:fixed!important;
  right:calc(18px + var(--app-safe-right))!important;
  bottom:calc(18px + var(--app-safe-bottom))!important;
  z-index:95!important;
  min-width:68px!important;
  min-height:44px!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  background:var(--clinic-clock-bg,var(--clinic-accent,var(--brand,#0f766e)))!important;
  border:1px solid color-mix(in srgb,var(--clinic-clock-border,var(--clinic-accent-strong,var(--brand-dark,#0b625b))) 72%,#fff 28%)!important;
  color:var(--clinic-clock-ink,#fff)!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:.005em!important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 31%,rgba(7,17,16,.30)),0 0 0 1px rgba(255,255,255,.12) inset!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
}
html body.app .floating-clock *,
html body.app [data-floating-clock] *{color:var(--clinic-clock-ink,#fff)!important;font-weight:500!important;text-shadow:none!important;}
html body.app .floating-clock b,
html body.app [data-floating-clock] b,
html body.app .floating-clock [data-clock],
html body.app [data-floating-clock] [data-clock]{font-variant-numeric:tabular-nums!important;font-weight:500!important;letter-spacing:.005em!important;}
html body.app .floating-clock:before,
html body.app [data-floating-clock]:before{content:none!important;display:none!important;}
.pwa-install-pill{
  right:calc(18px + var(--app-safe-right))!important;
  bottom:calc(18px + var(--app-safe-bottom))!important;
  min-height:44px!important;
  border-radius:999px!important;
  background:var(--clinic-accent,var(--brand,#0f766e))!important;
  border-color:color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 72%,#fff 28%)!important;
  color:var(--clinic-on-accent,var(--on-brand,#fff))!important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--clinic-accent,var(--brand,#0f766e)) 30%,rgba(7,17,16,.30)),0 0 0 1px rgba(255,255,255,.12) inset!important;
}
.pwa-install-pill:active{transform:translateY(1px);}
@media(max-width:760px){
  body.app main,body.public main{width:min(100% - 24px,1240px);padding-bottom:calc(88px + var(--app-safe-bottom))!important;}
  html body.app .floating-clock,html body.app [data-floating-clock]{right:calc(12px + var(--app-safe-right))!important;bottom:calc(12px + var(--app-safe-bottom))!important;min-width:62px!important;min-height:42px!important;padding:8px 12px!important;font-size:.9rem!important;}
  .pwa-install-pill{right:calc(12px + var(--app-safe-right))!important;bottom:calc(12px + var(--app-safe-bottom))!important;}
}
@media(prefers-reduced-motion:reduce){
  html body *,html body *::before,html body *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}
@media print{.pwa-install-pill,html body.app .floating-clock,html body.app [data-floating-clock]{display:none!important;}}


/* ==============================================================
   Material 3 final refactor — 2026
   A partir daqui, componentes visuais consomem papéis/tokens M3.
   Funcionalidade preservada; diretrizes legadas são neutralizadas.
   ============================================================== */
:root{
  color-scheme:light;
  --md-ref-typeface-plain:"Roboto",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --md-ref-typeface-brand:var(--md-ref-typeface-plain);
  --md-sys-motion-easing-standard:cubic-bezier(.2,0,0,1);
  --md-sys-motion-easing-emphasized:cubic-bezier(.2,0,0,1);
  --md-sys-motion-duration-short2:150ms;
  --md-sys-motion-duration-medium2:300ms;
  --md-sys-shape-corner-extra-small:4px;
  --md-sys-shape-corner-small:8px;
  --md-sys-shape-corner-medium:12px;
  --md-sys-shape-corner-large:16px;
  --md-sys-shape-corner-extra-large:28px;
  --md-sys-shape-corner-full:999px;
  --md-sys-elevation-level0:none;
  --md-sys-elevation-level1:0 1px 2px rgba(15,23,42,.08),0 1px 3px rgba(15,23,42,.05);
  --md-sys-elevation-level2:0 2px 6px rgba(15,23,42,.10),0 1px 3px rgba(15,23,42,.06);
  --md-sys-elevation-level3:0 6px 14px rgba(15,23,42,.12),0 2px 5px rgba(15,23,42,.07);
  --md-sys-elevation-level4:0 10px 24px rgba(15,23,42,.14),0 4px 8px rgba(15,23,42,.08);
  --md-sys-elevation-level5:0 16px 36px rgba(15,23,42,.16),0 6px 12px rgba(15,23,42,.09);
  --md-sys-state-hover:rgba(15,23,42,.08);
  --md-sys-state-focus:rgba(15,23,42,.12);
  --md-sys-state-pressed:rgba(15,23,42,.12);
  --md-sys-state-dragged:rgba(15,23,42,.16);
  --md-sys-color-error:#ba1a1a;
  --md-sys-color-error-container:#ffdad6;
  --md-sys-color-on-error:#ffffff;
  --md-sys-color-on-error-container:#410002;
  --md-sys-touch-target:48px;
  --radius:var(--md-sys-shape-corner-extra-large);
  --shadow:var(--md-sys-elevation-level3);
  --shadow-soft:var(--md-sys-elevation-level1);
  --danger:var(--md-sys-color-error);
  --danger-soft:var(--md-sys-color-error-container);
  --blue:#0061a4;
  --blue-soft:#d1e4ff;
  --warn:#8a5100;
  --warn-soft:#ffddb0;
  --ok:#006d3b;
  --ok-soft:#b7f5ca;
}
html{background:var(--md-sys-color-surface-dim,var(--bg));scroll-padding-top:calc(var(--top-h) + var(--role-h) + var(--cmd-h) + 20px)}
body{
  font-family:var(--md-ref-typeface-plain)!important;
  font-size:16px;
  line-height:1.5;
  letter-spacing:.005em;
  color:var(--md-sys-color-on-surface,#17211f)!important;
  background:linear-gradient(180deg,var(--md-sys-color-surface-container-lowest,#fff) 0%,var(--md-sys-color-surface-dim,var(--bg)) 360px)!important;
  text-rendering:optimizeLegibility;
}
body.app{background:linear-gradient(180deg,var(--md-sys-color-surface-container-lowest,#fff) 0%,var(--md-sys-color-surface-dim,var(--bg)) 340px,var(--md-sys-color-surface-dim,var(--bg)) 100%)!important}
body.public{background:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent) 0 22rem,transparent 23rem),var(--md-sys-color-surface-dim,var(--bg))!important}
.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;font-weight:normal!important;font-size:22px;line-height:1;vertical-align:-5px}
h1,h2,h3,h4,.brand b{font-family:var(--md-ref-typeface-brand)!important;color:var(--md-sys-color-on-surface)!important;letter-spacing:-.015em}
h1{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.16;font-weight:700}
h2{font-size:1.375rem;line-height:1.22;font-weight:700}
h3{font-size:1.0625rem;line-height:1.26;font-weight:700}
small,.muted,.muted-copy,.field-help{color:var(--md-sys-color-on-surface-variant,#5f6f6a)!important}
main{padding-bottom:calc(104px + var(--app-safe-bottom,0px))!important}
.top{
  min-height:64px!important;
  padding:8px 24px!important;
  background:color-mix(in srgb,var(--md-sys-color-surface-container-low,#fff) 90%,transparent)!important;
  border-bottom:1px solid var(--md-sys-color-outline-variant,var(--line))!important;
  box-shadow:var(--md-sys-elevation-level1)!important;
  backdrop-filter:saturate(160%) blur(16px)!important;
  -webkit-backdrop-filter:saturate(160%) blur(16px)!important;
}
.brand{gap:12px!important}.brand-mark{width:40px!important;height:40px!important;border-radius:var(--md-sys-shape-corner-large)!important;background:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important;box-shadow:var(--md-sys-elevation-level1)!important}.brand-mark .material-symbols-rounded{font-size:24px!important;color:var(--md-sys-color-on-primary)!important}.brand b{font-size:1rem!important;font-weight:700!important;letter-spacing:0!important}
.rolebar,.cmdbar{
  background:color-mix(in srgb,var(--md-sys-color-surface-container-low) 92%,transparent)!important;
  border-color:var(--md-sys-color-outline-variant)!important;
  box-shadow:none!important;
  scrollbar-width:none;
}
.rolebar::-webkit-scrollbar,.cmdbar::-webkit-scrollbar{display:none}
.rolebar:before,.cmdbar:before{display:none!important}
.role,.cmd{
  min-height:var(--md-sys-touch-target)!important;
  border-radius:var(--md-sys-shape-corner-full)!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:var(--md-sys-color-on-surface-variant)!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
  transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)!important;
}
.role:hover,.cmd:hover{background:var(--md-sys-state-hover)!important;color:var(--md-sys-color-on-surface)!important;border-color:transparent!important}
.role.active,.role.is-active,.role[aria-current=true],.role[aria-current=page],.cmd.active,.cmd.is-active,.cmd[aria-current=page]{
  background:var(--md-sys-color-secondary-container)!important;
  color:var(--md-sys-color-on-secondary-container)!important;
  border-color:transparent!important;
  box-shadow:none!important;
  margin-bottom:0!important;
}
.role.active::after,.role.is-active::after,.role[aria-current=true]::after,.role[aria-current=page]::after{content:none!important;display:none!important}
.cmd-count{background:var(--md-sys-color-error)!important;color:var(--md-sys-color-on-error)!important;border-radius:var(--md-sys-shape-corner-full)!important;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:.72rem;font-style:normal;font-weight:700}
.pagehead{
  position:relative!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:16px!important;
  padding:20px 22px!important;
  border-radius:var(--md-sys-shape-corner-extra-large)!important;
  border:1px solid var(--md-sys-color-outline-variant)!important;
  background:var(--md-sys-color-surface-container-low)!important;
  box-shadow:var(--md-sys-elevation-level1)!important;
  margin-bottom:16px!important;
}
.pagehead::after{content:none!important;display:none!important}.pagehead h1{display:flex;align-items:center;gap:12px;margin:0!important;font-size:1.5rem!important;line-height:1.2!important;font-weight:700!important}.pagehead p{display:none!important}.pagehead-icon{width:44px!important;height:44px!important;display:inline-grid!important;place-items:center!important;border-radius:var(--md-sys-shape-corner-large)!important;background:var(--md-sys-color-primary-container)!important;color:var(--md-sys-color-on-primary-container)!important;border:0!important;box-shadow:none!important}.pagehead-actions{align-items:center!important;gap:8px!important}
.card,.auth,.table-wrap,.form-panel[open],.patient-tab-panels,.patient-tab-nav,.patient-hero,.patient-hero-tabs,.settings-section,.permission-module-card,.task-card,.procedure-card,.doc-model-row,.doc-quick-card,.doc-issued-body,.clinic-visual-preview,.visual-option,.color-table,.rx-print{
  background:var(--md-sys-color-surface-container-low)!important;
  color:var(--md-sys-color-on-surface)!important;
  border:1px solid var(--md-sys-color-outline-variant)!important;
  border-radius:var(--md-sys-shape-corner-extra-large)!important;
  box-shadow:var(--md-sys-elevation-level1)!important;
}
.card:hover,.task-card:hover,.doc-model-row:hover,.visual-option:hover{box-shadow:var(--md-sys-elevation-level2)!important}
.kpis>div,.stat-card,.task-group,.task-detail-grid>div,.patient-note,.settings-section,.doc-overview article,.doc-workflow-hero article{background:var(--md-sys-color-surface-container)!important;border:1px solid var(--md-sys-color-outline-variant)!important;border-radius:var(--md-sys-shape-corner-large)!important;box-shadow:none!important}.stat-card .material-symbols-rounded,.kpis .material-symbols-rounded,.task-marker,.dot,.time-dot{background:var(--md-sys-color-primary-container)!important;color:var(--md-sys-color-on-primary-container)!important;border:0!important;border-radius:var(--md-sys-shape-corner-large)!important}
.primary,button.primary,a.primary,.pagehead-actions .primary{
  min-height:40px!important;
  padding:0 24px!important;
  border-radius:var(--md-sys-shape-corner-full)!important;
  background:var(--md-sys-color-primary)!important;
  color:var(--md-sys-color-on-primary)!important;
  border:0!important;
  box-shadow:var(--md-sys-elevation-level1)!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
}
.primary:hover,button.primary:hover,a.primary:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 92%,#000 8%)!important;box-shadow:var(--md-sys-elevation-level2)!important}.primary:active,button.primary:active,a.primary:active{box-shadow:var(--md-sys-elevation-level0)!important;transform:translateY(1px)}
.ghost,button:not(.primary):not(.danger-soft),a.ghost,summary.ghost{
  min-height:40px!important;
  padding:0 20px!important;
  border-radius:var(--md-sys-shape-corner-full)!important;
  background:transparent!important;
  color:var(--md-sys-color-primary)!important;
  border:1px solid var(--md-sys-color-outline)!important;
  box-shadow:none!important;
  font-weight:500!important;
}
.ghost:hover,button:not(.primary):not(.danger-soft):hover,a.ghost:hover,summary.ghost:hover{background:var(--md-sys-state-hover)!important;color:var(--md-sys-color-primary)!important;border-color:var(--md-sys-color-outline)!important}
.small{min-height:36px!important;padding-inline:16px!important;font-size:.875rem!important}
button,.primary,.ghost,.cmd,.role,.patient-tab-nav label,.patient-tab-nav [role=tab],.visual-option,.color-table-row,.patient-suggest-option,.autocomplete-option{position:relative;isolation:isolate;-webkit-tap-highlight-color:transparent;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)!important}
input,select,textarea,[contenteditable="true"]{
  min-height:56px!important;
  border-radius:var(--md-sys-shape-corner-small)!important;
  border:1px solid var(--md-sys-color-outline)!important;
  background:var(--md-sys-color-surface-container-lowest)!important;
  color:var(--md-sys-color-on-surface)!important;
  padding:14px 16px!important;
  box-shadow:none!important;
}
textarea{min-height:128px!important}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--md-sys-color-on-surface-variant) 70%,transparent)!important}label{font-weight:500!important;color:var(--md-sys-color-on-surface)!important;gap:8px!important}input:focus,select:focus,textarea:focus,[contenteditable="true"]:focus{border-color:var(--md-sys-color-primary)!important;box-shadow:0 0 0 3px var(--md-sys-state-focus)!important;outline:0!important}:is(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--md-sys-state-focus)!important;outline-offset:2px!important}
.table-wrap{overflow:auto!important}table{background:transparent!important}th{background:var(--md-sys-color-surface-container)!important;color:var(--md-sys-color-on-surface-variant)!important;font-weight:700!important;text-transform:none!important;letter-spacing:.01em!important}td,th{border-bottom:1px solid var(--md-sys-color-outline-variant)!important}tr:hover td{background:var(--md-sys-state-hover)!important}
.pill,.chip,.eyebrow,.task-chip{min-height:32px!important;padding:0 12px!important;border-radius:var(--md-sys-shape-corner-small)!important;background:var(--md-sys-color-surface-container-high)!important;border:0!important;color:var(--md-sys-color-on-surface-variant)!important;font-weight:500!important}.pill.ok,.task-chip.done{background:var(--ok-soft)!important;color:var(--ok)!important}.pill.warn,.task-chip.warn{background:var(--warn-soft)!important;color:var(--warn)!important}.pill.bad,.task-chip.bad{background:var(--danger-soft)!important;color:var(--danger)!important}
.patient-tab-nav{display:flex!important;position:sticky!important;top:calc(var(--top-h) + var(--role-h) + var(--cmd-h) + 12px)!important;gap:8px!important;padding:8px!important;overflow:auto!important;border-radius:var(--md-sys-shape-corner-extra-large)!important}.patient-tab-nav label,.patient-tab-nav [role=tab]{grid-template-columns:auto minmax(0,1fr)!important;min-width:max-content!important;border-radius:var(--md-sys-shape-corner-full)!important;color:var(--md-sys-color-on-surface-variant)!important;background:transparent!important}.patient-tab-nav label.is-active,.patient-tab-nav [role=tab].is-active,.patient-tab-nav [aria-selected=true]{background:var(--md-sys-color-secondary-container)!important;color:var(--md-sys-color-on-secondary-container)!important}.patient-tabs-shell{grid-template-columns:1fr!important}.patient-tab-panels{padding:20px!important}.patient-tab-nav small,.patient-tab-nav em{display:none!important}
.timeline:before,.activity-timeline:before{background:linear-gradient(180deg,transparent,var(--md-sys-color-outline-variant) 8%,var(--md-sys-color-outline-variant) 92%,transparent)!important}.titem>div{background:var(--md-sys-color-surface-container-low)!important;border:1px solid var(--md-sys-color-outline-variant)!important;border-radius:var(--md-sys-shape-corner-large)!important;box-shadow:none!important}.patient-suggest-panel,.autocomplete-panel,.suggest-panel{background:var(--md-sys-color-surface-container-lowest)!important;border:1px solid var(--md-sys-color-outline-variant)!important;border-radius:var(--md-sys-shape-corner-large)!important;box-shadow:var(--md-sys-elevation-level3)!important}.patient-suggest-option,.autocomplete-option{min-height:48px!important;border-radius:var(--md-sys-shape-corner-medium)!important}.patient-suggest-option:hover,.patient-suggest-option:focus,.patient-suggest-option[aria-selected="true"],.autocomplete-option:hover,.autocomplete-option:focus{background:var(--md-sys-color-secondary-container)!important;color:var(--md-sys-color-on-secondary-container)!important}
.flash,.billing-banner{border-radius:var(--md-sys-shape-corner-large)!important;box-shadow:var(--md-sys-elevation-level1)!important;font-weight:500!important}.flash.bad{background:var(--md-sys-color-error-container)!important;color:var(--md-sys-color-on-error-container)!important;border:0!important}.flash.ok{background:var(--ok-soft)!important;color:var(--ok)!important;border:0!important}.flash.info,.billing-banner{background:var(--blue-soft)!important;color:var(--blue)!important;border:0!important}
.floating-clock,[data-floating-clock]{background:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important;border:0!important;border-radius:var(--md-sys-shape-corner-full)!important;box-shadow:var(--md-sys-elevation-level3)!important;min-height:44px!important;padding:0 18px!important;font-family:var(--md-ref-typeface-plain)!important;font-size:.9375rem!important;font-weight:400!important;letter-spacing:.01em!important}.floating-clock *,[data-floating-clock] *{color:var(--md-sys-color-on-primary)!important;font-weight:400!important;text-shadow:none!important}.floating-clock:before,[data-floating-clock]:before{content:none!important;display:none!important}.pwa-install-pill{background:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important;border:0!important;border-radius:var(--md-sys-shape-corner-full)!important;box-shadow:var(--md-sys-elevation-level3)!important;font-weight:500!important}
@media(display-mode:standalone){.top{padding-top:calc(8px + env(safe-area-inset-top,0px))!important}.floating-clock,[data-floating-clock],.pwa-install-pill{bottom:calc(18px + env(safe-area-inset-bottom,0px))!important}}
@media(max-width:760px){body{font-size:15px}.top{padding-inline:12px!important}.pagehead{grid-template-columns:1fr!important;padding:16px!important;border-radius:var(--md-sys-shape-corner-extra-large)!important}.pagehead h1{font-size:1.375rem!important}.pagehead-actions{justify-content:stretch!important}.pagehead-actions>*{width:100%}.card,.auth,.patient-tab-panels{border-radius:var(--md-sys-shape-corner-large)!important;padding:16px!important}.cmd{min-width:64px!important;border-radius:var(--md-sys-shape-corner-large)!important}.patient-tab-nav{position:static!important}.floating-clock,[data-floating-clock],.pwa-install-pill{right:calc(12px + env(safe-area-inset-right,0px))!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.top,.rolebar,.cmdbar,.floating-clock,[data-floating-clock],.pwa-install-pill,.skip-link{display:none!important}body,body.app,body.public{background:#fff!important;color:#000!important}.card,.rx-print{box-shadow:none!important;border:0!important}}


/* Public unauthenticated identity: Modelo A / Prontuário Vivo */
body.public{
  --public-primary:#0f766e!important;
  --public-primary-strong:#064e3b!important;
  --public-primary-hover:#0b5e58!important;
  --public-on-primary:#ffffff!important;
  --public-surface:#fbfffd!important;
  --public-surface-high:#f3fbf8!important;
  --public-surface-highest:#e8f6f2!important;
  --public-bg:#eef8f5!important;
  --public-outline:#bdddd4!important;
  --public-outline-variant:#d9ebe6!important;
  --public-ink:#10231f!important;
  --public-muted:#5f746d!important;
  --clinic-accent:var(--public-primary)!important;
  --clinic-accent-strong:var(--public-primary-strong)!important;
  --clinic-accent-hover:var(--public-primary-hover)!important;
  --clinic-accent-pressed:#084b43!important;
  --clinic-accent-soft:#e5f5f2!important;
  --clinic-accent-subtle:#f3fbf8!important;
  --clinic-accent-muted:#bfe4dc!important;
  --clinic-accent-border:var(--public-outline)!important;
  --clinic-accent-focus:rgba(15,118,110,.16)!important;
  --clinic-accent-shadow:rgba(15,118,110,.24)!important;
  --clinic-on-accent:#ffffff!important;
  --clinic-clock-bg:var(--public-primary)!important;
  --clinic-clock-ink:#ffffff!important;
  --brand:var(--public-primary)!important;
  --brand-dark:var(--public-primary-strong)!important;
  --brand-soft:#e5f5f2!important;
  --brand-soft-2:#f3fbf8!important;
  --brand-border:var(--public-outline)!important;
  --brand-focus:rgba(15,118,110,.16)!important;
  --brand-shadow:rgba(15,118,110,.24)!important;
  --on-brand:#ffffff!important;
  --bg:var(--public-bg)!important;
  --surface:var(--public-surface)!important;
  --surface-elevated:var(--public-surface)!important;
  --surface-raised:var(--public-surface-high)!important;
  --surface-soft:var(--public-surface-high)!important;
  --line:var(--public-outline-variant)!important;
  --line-strong:var(--public-outline)!important;
  --control-border:var(--public-outline)!important;
  --ink:var(--public-ink)!important;
  --muted:var(--public-muted)!important;
  --md-sys-color-primary:var(--public-primary)!important;
  --md-sys-color-on-primary:#ffffff!important;
  --md-sys-color-primary-container:#ccebe4!important;
  --md-sys-color-on-primary-container:#063f38!important;
  --md-sys-color-secondary:#0b5e58!important;
  --md-sys-color-on-secondary:#ffffff!important;
  --md-sys-color-secondary-container:#d7eee9!important;
  --md-sys-color-on-secondary-container:#063f38!important;
  --md-sys-color-surface:var(--public-surface)!important;
  --md-sys-color-surface-dim:var(--public-bg)!important;
  --md-sys-color-surface-bright:#ffffff!important;
  --md-sys-color-surface-container-lowest:#ffffff!important;
  --md-sys-color-surface-container-low:#fbfffd!important;
  --md-sys-color-surface-container:var(--public-surface-high)!important;
  --md-sys-color-surface-container-high:#eaf7f3!important;
  --md-sys-color-surface-container-highest:#dff2ed!important;
  --md-sys-color-surface-variant:#e6f4ef!important;
  --md-sys-color-on-surface:var(--public-ink)!important;
  --md-sys-color-on-surface-variant:var(--public-muted)!important;
  --md-sys-color-outline:var(--public-outline)!important;
  --md-sys-color-outline-variant:var(--public-outline-variant)!important;
  --md-sys-color-inverse-surface:#10231f!important;
  --md-sys-color-inverse-on-surface:#eef8f5!important;
  --md-sys-color-inverse-primary:#8ad4c6!important;
  --md-sys-state-hover:rgba(15,118,110,.08)!important;
  --md-sys-state-focus:rgba(15,118,110,.12)!important;
  background:
    radial-gradient(circle at 20% 2%,rgba(111,205,187,.22) 0 24rem,transparent 25rem),
    radial-gradient(circle at 88% 12%,rgba(15,118,110,.10) 0 18rem,transparent 19rem),
    linear-gradient(180deg,#fbfffd 0%,var(--public-bg) 100%)!important;
}
body.public .top{
  background:rgba(251,255,253,.86)!important;
  border-bottom-color:var(--public-outline-variant)!important;
  backdrop-filter:blur(18px) saturate(1.15);
}
body.public .brand-mark,
body.public .auth-brandmark{
  background:#eef8f5 url('icon-192.png') center/cover no-repeat!important;
  color:transparent!important;
  border-radius:18px!important;
  border:1px solid rgba(15,118,110,.12)!important;
  box-shadow:0 12px 28px rgba(15,118,110,.18)!important;
}
body.public .brand-mark .material-symbols-rounded,
body.public .auth-brandmark .material-symbols-rounded{
  opacity:0!important;
}
body.public .auth,
body.public .widebox{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(251,255,253,.94))!important;
  border-color:var(--public-outline-variant)!important;
  box-shadow:0 18px 48px rgba(16,35,31,.10)!important;
}
body.public .signup-hero,
body.public .login-card,
body.public .clinic-choice-card{
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,248,245,.78))!important;
}
body.public input,
body.public select,
body.public textarea{
  background:#ffffff!important;
  border-color:var(--public-outline)!important;
  color:var(--public-ink)!important;
}
body.public input:focus,
body.public select:focus,
body.public textarea:focus{
  border-color:var(--public-primary)!important;
  box-shadow:0 0 0 4px rgba(15,118,110,.14)!important;
}
body.public .primary,
body.public button.primary,
body.public a.primary,
body.public .pwa-install-pill{
  background:var(--public-primary)!important;
  border-color:var(--public-primary)!important;
  color:#ffffff!important;
  box-shadow:0 10px 24px rgba(15,118,110,.22)!important;
}
body.public .primary:hover,
body.public button.primary:hover,
body.public a.primary:hover,
body.public .pwa-install-pill:hover{
  background:var(--public-primary-hover)!important;
  border-color:var(--public-primary-hover)!important;
}
body.public .ghost,
body.public a.ghost,
body.public button.ghost{
  background:#ffffff!important;
  border-color:var(--public-outline-variant)!important;
  color:var(--public-ink)!important;
}
body.public .ghost:hover,
body.public a.ghost:hover,
body.public button.ghost:hover{
  background:#f3fbf8!important;
  border-color:var(--public-outline)!important;
  color:var(--public-primary-strong)!important;
}
body.public .eyebrow,
body.public .signup-form legend{
  color:var(--public-primary-strong)!important;
}
body.public .login-lock-panel{
  background:linear-gradient(135deg,#fff8f7,#ffffff)!important;
}
@media(display-mode:standalone){
  body.public{background:linear-gradient(180deg,#fbfffd,var(--public-bg))!important;}
}


/* Produção prontoo.app: regra final de tema/PWA */
body.app .floating-clock,
body.app [data-floating-clock]{
  background:var(--clinic-accent,var(--brand))!important;
  color:var(--clinic-on-accent,#fff)!important;
  border-color:color-mix(in oklab,var(--clinic-accent,var(--brand)) 76%,#fff)!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}
body.app .floating-clock *,
body.app [data-floating-clock] *{
  color:var(--clinic-on-accent,#fff)!important;
  font-weight:400!important;
}
body.app .floating-clock:before,
body.app [data-floating-clock]:before{
  content:none!important;
  display:none!important;
}
body.public .pwa-install-pill{
  background:linear-gradient(145deg,#0f766e,#0b625b)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 14px 28px rgba(15,118,110,.28)!important;
}
body.public .pwa-install-pill .material-symbols-rounded,
body.public .pwa-install-pill span{color:#fff!important}
