:root{--g:#0b6b4b;--gd:#073d30;--gl:#e9f5f0;--ink:#18342c;--muted:#687871;--line:#dce6e2;--bg:#f3f7f5;--white:#fff;--warn:#a66a00;--warnbg:#fff6dc;--danger:#b42318;--dangerbg:#fff0ef;--blue:#2d6fa7;--bluebg:#eff7ff;--shadow:0 10px 30px rgba(16,60,47,.07);--r:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif}a{color:var(--g);text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:80;display:flex;align-items:center;padding:0 20px;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);min-width:245px}.brand img{width:42px;height:42px;object-fit:contain}.brand>span:last-child{display:flex;flex-direction:column}.brand small{color:var(--muted);font-size:10px}.brand-mark,.login-logo{display:grid;place-items:center;background:linear-gradient(135deg,var(--gd),#11805d);color:#fff;font-weight:900;letter-spacing:.6px}.brand-mark{width:42px;height:42px;border-radius:10px}.global-search{display:flex;flex:1;max-width:520px}.global-search input{border-radius:8px 0 0 8px;border-right:0}.global-search button{border:1px solid var(--g);background:var(--g);color:#fff;border-radius:0 8px 8px 0;padding:0 13px;font-weight:700}.clinical-context{margin-left:auto;display:flex;align-items:center;gap:11px;white-space:nowrap;background:#f6f9f8;border:1px solid #e5ece9;border-radius:9px;padding:8px 10px;font-size:11px;color:#53645d}.clinical-context i{width:1px;height:18px;background:#dce5e1}.menu-button{display:none;border:0;background:none;font-size:24px}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{background:#0a392e;color:#d5e9e2;position:sticky;top:72px;height:calc(100vh - 72px);padding:18px 12px;display:flex;flex-direction:column;z-index:60}.side-label{font-size:9px;letter-spacing:1.5px;color:#88afa1;padding:0 12px 10px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar a,.sidebar button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 11px;border:0;border-radius:8px;background:none;color:#d2e8e0;text-align:left;cursor:pointer}.sidebar a:hover,.sidebar a.active,.sidebar button:hover{background:rgba(255,255,255,.1);color:#fff}.sidebar a b,.sidebar button b{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:rgba(255,255,255,.08);font-size:10px}.sidebar a.active b{background:#fff;color:var(--g)}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.side-bottom form{margin:0}.server-status{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.12);border-radius:8px;padding:9px;margin-bottom:5px}.server-status>span{width:8px;height:8px;border-radius:50%;background:#46d18d}.server-status div{display:flex;flex-direction:column}.server-status small{font-size:9px;color:#93c0b1}.content{padding:28px;min-width:0;max-width:1760px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}.page-head h1{font-size:27px;line-height:1.1;margin:3px 0 5px}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:9px;font-weight:900;letter-spacing:1.5px;color:var(--g)}.head-actions,.button-group{display:flex;gap:8px;align-items:end}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.narrow{max-width:600px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.section-head h2,.section-head h3{margin:0 0 3px}.section-head h2{font-size:18px}.section-head p{margin:0;color:var(--muted);font-size:11px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c7d7d0;background:#fff;color:#25463b;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--g);border-color:var(--g);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.warning{background:#b77700;border-color:#b77700;color:#fff}.btn.light{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12)}.btn.white{background:#fff;color:var(--gd);border-color:#fff}.btn.small{font-size:10px;padding:6px 9px}.stats{display:grid;gap:11px;margin-bottom:18px}.stats.six{grid-template-columns:repeat(6,1fr)}.stats.four{grid-template-columns:repeat(4,1fr)}.stats article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px;box-shadow:0 4px 14px rgba(16,60,47,.04);position:relative;overflow:hidden}.stats article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#83b7a4}.stats article.warning:before{background:#dba320}.stats article.danger:before{background:#d4544b}.stats article.accent:before{background:#347bb0}.stats span{display:block;color:var(--muted);font-size:10px;font-weight:800}.stats strong{display:block;font-size:27px;margin-top:6px;color:var(--gd)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:18px}.dashboard-grid .main{grid-row:span 2}.dashboard-grid .side{min-width:0}.table-wrap{overflow:auto;border:1px solid #e5ece9;border-radius:9px}table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}th,td{padding:10px 11px;text-align:left;vertical-align:middle;border-bottom:1px solid #e9efec}th{font-size:9px;letter-spacing:.35px;text-transform:uppercase;color:#53645d;background:#f6f9f8}td{font-size:11px}td small{display:block;color:var(--muted);margin-top:2px}.badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf2f0;font-size:8px;font-weight:900;color:#475951;margin:2px}.badge.success{background:var(--gl);color:var(--g)}.badge.warning{background:var(--warnbg);color:var(--warn)}.badge.danger{background:var(--dangerbg);color:var(--danger)}.badge.info{background:var(--bluebg);color:var(--blue)}.badge.isolation{background:#6f1d1b;color:#fff}.location-badge{display:inline-flex;padding:5px 8px;border-radius:7px;background:#edf6f2;border:1px solid #d2e7df;font-size:10px;font-weight:800}.location-badge.inverted{color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25)}.time-chip{display:inline-flex;border-radius:999px;padding:5px 8px;background:#eef3f1;color:#4f625a;font-weight:800;font-size:9px}.time-chip.late{background:var(--warnbg);color:var(--warn)}.alert-pills{display:flex;gap:4px;flex-wrap:wrap}.mini-alert{padding:3px 6px;border-radius:5px;background:#eef2f0;font-size:8px}.mini-alert.warning{background:var(--warnbg);color:var(--warn)}.mini-alert.danger{background:var(--dangerbg);color:var(--danger)}.mini-alert.info{background:var(--bluebg);color:var(--blue)}.bed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:9px}.bed-grid.compact{grid-template-columns:repeat(2,1fr)}.bed-grid.professional{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.bed-tile{display:block;border:1px solid #cfe2da;background:#f3faf7;border-radius:10px;padding:11px;color:var(--ink);min-height:95px}.bed-tile.ocupado{background:#fff7e7;border-color:#ead596}.bed-tile.manutencao,.bed-tile.bloqueado{background:#fff1ef;border-color:#efc2bd}.bed-tile.reservado,.bed-tile.isolamento{background:#eef6ff;border-color:#bfd8ef}.bed-tile>span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase}.bed-tile>strong{display:block;font-size:23px;margin:4px 0}.bed-tile>small{font-size:9px;color:var(--muted)}.bed-tile em{display:block;margin-top:5px;color:var(--danger);font-size:8px;font-style:normal;font-weight:900}.bed-top{display:flex;justify-content:space-between;gap:8px;font-size:8px;text-transform:uppercase;color:var(--muted)}.bed-number{font-size:32px!important}.bed-tile a{display:flex;flex-direction:column;color:var(--ink);margin-top:8px}.isolation-flag,.precaution-flag{padding:4px 6px;border-radius:5px;background:#7c2723!important;color:#fff!important}.precaution-flag{background:#eef6ff!important;color:#245e92!important}.occupancy-list{display:flex;flex-direction:column;gap:10px}.occupancy-list>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,1.7fr) 50px;align-items:center;gap:8px}.occupancy-list>div>div:first-child{display:flex;flex-direction:column}.occupancy-list span{font-size:9px;color:var(--muted)}.progress{height:8px;border-radius:99px;background:#e7eeeb;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#32a575,#0b6b4b)}.occupancy-list b{text-align:right;font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.form-grid.compact{grid-template-columns:repeat(3,1fr)}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.stack{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;color:#40554c}input,select,textarea{width:100%;min-height:38px;border:1px solid #c9d7d2;border-radius:8px;background:#fff;color:var(--ink);padding:9px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(11,107,75,.09)}textarea{min-height:85px;resize:vertical}.large{min-height:160px}.check{flex-direction:row;align-items:center}.check input{width:auto;min-height:auto}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.searchbar{display:flex;gap:8px;margin-bottom:15px}.searchbar input{flex:1}.flash{margin-bottom:13px;padding:11px 13px;border-radius:8px;border:1px solid var(--line);background:#fff}.flash.success{background:var(--gl);color:var(--gd)}.flash.danger{background:var(--dangerbg);color:var(--danger)}.flash.warning{background:var(--warnbg);color:var(--warn)}.patient-hero{margin:-28px -28px 14px;padding:23px 28px;background:linear-gradient(120deg,#073d30,#0d7555);color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:center}.patient-hero h1{margin:4px 0 7px;font-size:27px}.patient-hero .eyebrow{color:#a6d6c6}.patient-meta,.patient-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.patient-meta{color:#d8ece5;font-size:10px}.clinical-alert{display:flex;align-items:center;gap:11px;padding:10px 14px;border-radius:8px;color:#fff;margin-bottom:8px}.clinical-alert.danger{background:#a62b22}.clinical-alert.isolation{background:#641e1d}.clinical-alert.info{background:#2b6b9f}.clinical-alert.note{background:#72540d}.clinical-alert small{margin-left:auto}.patient-alert-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:7px;margin-bottom:10px}.patient-alert{border:1px solid var(--line);border-left:3px solid #b5c5bf;background:#fff;border-radius:7px;padding:8px}.patient-alert.warning{border-left-color:#d5a021}.patient-alert.danger{border-left-color:#cc5148}.patient-alert.info{border-left-color:#4c89bd}.patient-alert strong,.patient-alert span{display:block}.patient-alert span{font-size:9px;color:var(--muted)}.tabs{display:flex;gap:4px;overflow-x:auto;padding:5px;background:#e6efeb;border-radius:9px;margin-bottom:14px;position:sticky;top:79px;z-index:30}.tabs a{white-space:nowrap;padding:8px 9px;border-radius:7px;color:#4d6058;font-size:9px;font-weight:900}.tabs a.active{background:#fff;color:var(--g);box-shadow:0 1px 5px rgba(0,0,0,.07)}.tab-panel{display:none;scroll-margin-top:140px}.tab-panel.active{display:block}.summary-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.7fr);gap:15px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.info-grid>div{background:#f7f9f8;border:1px solid #edf1ef;border-radius:8px;padding:10px}.info-grid span,.admission-strip span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase}.info-grid .wide{grid-column:span 2}.admission-card{background:#f0f8f5;border:1px solid #d0e6dd;border-radius:10px;padding:14px}.admission-card>span{font-size:8px;text-transform:uppercase;color:var(--muted)}.admission-card h3{margin:5px 0}.admission-card p{font-size:10px}.inline-details{margin-top:14px}.signature-preview{background:var(--gl);padding:10px;border-radius:8px;display:flex;flex-direction:column}.record-list,.task-list,.device-grid{display:flex;flex-direction:column;gap:9px;margin-top:15px}.record-list article,.task,.device-card{border:1px solid var(--line);border-left:3px solid var(--g);border-radius:8px;padding:11px}.record-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.record-head>div{display:flex;gap:8px;align-items:center}.record-head span{font-size:9px;color:var(--muted)}.addendum{background:#f3f8fc;border-left:3px solid #4e88ba;border-radius:6px;padding:8px;margin-top:8px}.preline{white-space:pre-line}.task,.device-card{display:flex;justify-content:space-between;align-items:center}.task div,.device-card div{display:flex;flex-direction:column}.task small,.device-card small{color:var(--muted);font-size:9px}.task.realizado{border-left-color:#78ad99}.chart-card{margin:16px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.chart-head{display:flex;justify-content:space-between;align-items:center;background:#f7faf9;padding:10px 12px}.chart-wrap{height:280px;position:relative;padding:10px}.chart-wrap canvas{width:100%;height:100%}.chart-empty{position:absolute;inset:0;display:none;place-items:center;background:#fff;color:var(--muted)}.scale-card{border:1px solid var(--line);border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:9px;background:#fbfcfc}.scale-card h3{margin:0}.balance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.balance-kpis div{background:#f6f9f8;border-radius:8px;padding:10px}.balance-kpis span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase}.balance-kpis strong{font-size:17px}.timeline article{display:grid;grid-template-columns:34px 1fr;gap:10px;position:relative;padding-bottom:14px}.timeline article:after{content:"";position:absolute;left:16px;top:34px;bottom:0;border-left:1px solid #d7e4df}.timeline article:last-child:after{display:none}.timeline-icon{width:33px;height:33px;border-radius:8px;background:var(--gl);color:var(--g);display:grid;place-items:center;font-weight:900;font-size:8px;z-index:1}.timeline-meta{display:flex;justify-content:space-between}.timeline p{margin:5px 0;font-size:10px}.timeline small,.timeline time{font-size:8px;color:var(--muted)}.admission-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;background:var(--gl);border-left:4px solid var(--g);border-radius:8px;padding:11px;margin-bottom:14px}.notice{padding:12px;border:1px dashed #b7c7c1;border-radius:8px;color:var(--muted);background:#f8faf9}details{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}summary{cursor:pointer;color:var(--g);font-weight:900;font-size:10px}.transfer-item{padding:8px 0;border-bottom:1px solid var(--line)}.transfer-item small{display:block;color:var(--muted)}.document-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.document-grid article{border:1px solid var(--line);border-radius:9px;padding:14px}.document-list>div{display:grid;grid-template-columns:auto 1fr 2fr auto;gap:8px;align-items:center;border-top:1px solid var(--line);padding:8px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mini-stats div,.ranking div{background:#f6f9f8;border-radius:8px;padding:10px}.ranking{display:flex;flex-direction:column;gap:7px}.ranking div{display:flex;justify-content:space-between;align-items:center}.ranking span{display:flex;flex-direction:column}.ranking small{color:var(--muted)}.network-url{display:flex;gap:7px;margin:8px 0}.network-url code{flex:1;background:#eff4f2;padding:8px;border-radius:7px}.empty{text-align:center;padding:24px;color:var(--muted)}.error-card{text-align:center;max-width:600px;margin:50px auto}.login-page{min-height:100vh;background:linear-gradient(135deg,#063d2e,#0d7956);display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:#fff;border-radius:17px;padding:32px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.login-logo{width:62px;height:62px;border-radius:15px;margin:auto}.login-card h1{text-align:center;margin:16px 0 3px}.login-card>p{text-align:center;color:var(--muted);margin:0 0 22px}.login-card>small{display:block;color:var(--muted);margin-top:14px;text-align:center}.session-warning{display:none;position:fixed;right:20px;bottom:20px;background:#6e4c08;color:#fff;border-radius:9px;padding:11px 14px;z-index:100;box-shadow:var(--shadow)}.session-warning.show{display:flex;flex-direction:column}.session-warning span{font-size:9px}.print-page-body{background:#dfe5e2}.print-document{background:#fff;max-width:210mm;margin:20px auto;padding:12mm 14mm;box-shadow:0 5px 25px rgba(0,0,0,.15);font-family:Arial,sans-serif;color:#111}.print-toolbar{position:fixed;right:18px;top:15px;display:flex;gap:7px}.print-header{display:grid;grid-template-columns:28mm 1fr 38mm;gap:7mm;align-items:center;border-bottom:2px solid var(--g);padding-bottom:7px}.print-header img{max-width:25mm;max-height:18mm}.print-header h1{font-size:16px;margin:0}.print-header p{font-size:9px}.print-header>div:last-child{text-align:right;display:flex;flex-direction:column}.print-patient{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border:1px solid #bbb;padding:7px;margin:11px 0}.print-patient span{display:block;font-size:6px;text-transform:uppercase;color:#555}.print-patient strong{font-size:8px}.print-allergy{border:1.5px solid #a00;color:#800;padding:6px;font-size:8px}.print-section{margin-top:12px}.print-section h2{font-size:11px;text-transform:uppercase;border-bottom:1px solid #888;padding-bottom:3px}.print-evolution{padding:8px 0;border-bottom:1px solid #bbb;break-inside:avoid}.print-date{font-size:8px;font-weight:bold;background:#eee;padding:4px}.print-evolution p,.print-line{font-size:8px;line-height:1.4}.print-signature,.print-addendum{font-size:7px}.print-addendum{background:#f3f8fc;border-left:2px solid #4f84b2;padding:6px}.print-table{min-width:0;font-size:7px}.print-table th,.print-table td{padding:3px;border:1px solid #bbb}.print-document footer{text-align:center;border-top:1px solid #aaa;margin-top:15px;padding-top:5px;font-size:7px}
@media(max-width:1280px){.stats.six{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .main{grid-row:auto}.clinical-context span:first-child,.clinical-context i:first-of-type{display:none}.document-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.app-shell{grid-template-columns:75px minmax(0,1fr)}.sidebar .side-label,.sidebar a:not(.active){font-size:0}.sidebar a b{font-size:10px}.side-bottom div div{display:none}.global-search{max-width:350px}.clinical-context{font-size:9px}.form-grid{grid-template-columns:repeat(2,1fr)}.span-4{grid-column:span 2}.two-columns{grid-template-columns:1fr}}
@media(max-width:720px){.topbar{height:62px;padding:0 10px}.menu-button{display:block}.brand{min-width:0}.brand small,.clinical-context{display:none}.global-search{display:none}.app-shell{display:block}.sidebar{position:fixed;left:-260px;top:62px;width:245px;height:calc(100vh - 62px);transition:.2s}.sidebar.open{left:0}.sidebar .side-label,.sidebar a:not(.active){font-size:14px}.side-bottom div div{display:flex}.content{padding:14px}.page-head,.patient-hero,.section-head{flex-direction:column;align-items:flex-start}.patient-hero{margin:-14px -14px 12px;padding:18px 14px}.stats.six,.stats.four{grid-template-columns:1fr 1fr}.form-grid,.form-grid.compact{grid-template-columns:1fr}.span-2,.span-4{grid-column:span 1}.summary-layout,.document-grid{grid-template-columns:1fr}.admission-strip{grid-template-columns:1fr 1fr}.tabs{top:68px}.task,.device-card{align-items:flex-start;flex-direction:column}.check-grid{grid-template-columns:1fr}.bed-grid.compact{grid-template-columns:1fr 1fr}.clinical-context{display:none}}
@media print{body,.print-page-body{background:#fff}.no-print,.topbar,.sidebar{display:none!important}.app-shell{display:block}.content{padding:0}.print-document{box-shadow:none;margin:0;padding:0;max-width:none}@page{size:A4;margin:12mm}}

/* ==========================================================
   v4.1.1 — REFINO DE INTERFACE / PRONTUÁRIO
   Corrige centralização vertical indevida e melhora hierarquia.
   ========================================================== */
html,body{min-height:100%;}
body{font-size:14px;line-height:1.5;}
.topbar{height:68px;padding:0 18px;gap:16px;box-shadow:0 1px 0 rgba(10,57,46,.03);}
.brand{min-width:225px;}
.brand img,.brand-mark{width:40px;height:40px;}
.brand strong{font-size:13px;line-height:1.15;}
.brand small{font-size:9px;}
.global-search{max-width:610px;min-width:280px;}
.global-search input{height:40px;padding-left:13px;font-size:12px;}
.global-search button{height:40px;padding:0 18px;font-size:11px;}
.clinical-context{font-size:10px;padding:7px 10px;}
.app-shell{grid-template-columns:218px minmax(0,1fr);min-height:calc(100vh - 68px);align-items:start;}
.sidebar{top:68px;height:calc(100vh - 68px);padding:16px 10px;}
.sidebar a,.sidebar button{font-size:12px;padding:9px 10px;}
.sidebar a b,.sidebar button b{width:24px;height:24px;}
.content{
  padding:20px 24px 32px;
  min-width:0;
  width:100%;
  max-width:1720px;
  margin:0 auto;            /* IMPORTANTE: não centralizar verticalmente */
  align-self:start;
}
.flash{margin:0 0 12px;padding:9px 12px;font-size:11px;}
.card{padding:20px 22px;border-radius:12px;margin-bottom:14px;box-shadow:0 7px 24px rgba(16,60,47,.055);}
.section-head{margin-bottom:16px;}
.section-head h2{font-size:18px;letter-spacing:-.15px;}
.section-head p{font-size:11px;max-width:760px;}
.section-kicker{font-size:8px;letter-spacing:1.35px;font-weight:900;color:var(--g);margin-bottom:3px;}

/* Cabeçalho do paciente */
.patient-hero{
  margin:0 0 12px;
  padding:18px 22px;
  border-radius:12px;
  background:linear-gradient(118deg,#073c30 0%,#086047 56%,#0d7656 100%);
  box-shadow:0 8px 22px rgba(7,61,48,.14);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.patient-hero-main{min-width:0;}
.patient-kicker{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:9px;font-weight:900;letter-spacing:1.2px;color:#bfe2d5;}
.patient-status{padding:3px 7px;border-radius:999px;letter-spacing:.2px;font-size:8px;background:rgba(255,255,255,.13);color:#e9fff7;border:1px solid rgba(255,255,255,.18);}
.patient-status.outpatient{background:rgba(255,215,128,.16);color:#ffe8ae;border-color:rgba(255,226,158,.28);}
.patient-hero h1{font-size:26px;line-height:1.12;margin:3px 0 8px;letter-spacing:-.35px;}
.patient-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:#d6eee5;font-size:10px;}
.patient-meta span{display:flex;gap:4px;align-items:center;}
.patient-meta b{color:#fff;font-weight:800;}
.patient-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.patient-actions .btn{min-height:36px;padding:8px 12px;}

/* Alertas */
.clinical-alert{border-radius:9px;padding:9px 12px;font-size:10px;margin-bottom:7px;box-shadow:none;}
.patient-alert-strip{margin:0 0 10px;}
.patient-alert{padding:8px 10px;}

/* Navegação do prontuário */
.tabs.patient-tabs{
  top:76px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:11px;
  padding:5px;
  gap:3px;
  margin:0 0 12px;
  box-shadow:0 4px 14px rgba(16,60,47,.045);
  scrollbar-width:thin;
}
.tabs.patient-tabs a{
  padding:8px 11px;
  font-size:10px;
  font-weight:800;
  color:#51635c;
  border:1px solid transparent;
}
.tabs.patient-tabs a:hover{background:#f0f6f3;color:var(--g);}
.tabs.patient-tabs a.active{background:var(--g);color:#fff;border-color:var(--g);box-shadow:none;}
.tab-panel{scroll-margin-top:132px;}
.patient-section{min-height:0;}

/* Resumo: não reservar coluna vazia quando não há internação */
.summary-layout{gap:14px;align-items:stretch;}
.summary-layout.has-admission{grid-template-columns:minmax(0,1.55fr) minmax(270px,.58fr);}
.summary-layout.no-admission{grid-template-columns:minmax(0,1.55fr) minmax(270px,.58fr);}
.patient-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.patient-info-grid>div{padding:10px 11px;min-height:58px;display:flex;flex-direction:column;justify-content:center;}
.patient-info-grid span{font-size:8px;letter-spacing:.35px;margin-bottom:2px;}
.patient-info-grid strong{font-size:11px;line-height:1.3;}
.patient-info-grid .wide{grid-column:span 2;}
.admission-card{padding:14px 15px;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start;}
.admission-card h3{font-size:16px;margin:5px 0 8px;}
.admission-card p{margin:3px 0;font-size:10px;line-height:1.45;}
.empty-admission{background:linear-gradient(135deg,#f7faf9,#eef6f2);border-style:dashed;justify-content:center;}
.empty-admission .btn{align-self:flex-start;margin-top:7px;}

/* Formulários e áreas clínicas */
.form-grid{gap:10px 12px;}
label{font-size:10px;}
input,select,textarea{min-height:39px;font-size:11px;}
textarea{line-height:1.45;}
.table-wrap{border-radius:8px;}
th{font-size:9px;padding:9px 10px;}
td{font-size:11px;padding:9px 10px;}
.record-list article,.task,.device-card{padding:10px 12px;}
.chart-wrap{height:250px;}
.document-grid{gap:10px;}
.document-grid article{padding:13px;}

/* Dashboards / listas: melhor densidade sem aparência apertada */
.page-head{margin-bottom:15px;}
.page-head h1{font-size:25px;}
.stats{gap:9px;margin-bottom:14px;}
.stats article{padding:12px 13px;}
.stats strong{font-size:24px;}
.dashboard-grid{gap:14px;}

@media(max-width:1280px){
  .clinical-context span:first-child,.clinical-context i:first-of-type{display:none;}
  .summary-layout.has-admission,.summary-layout.no-admission{grid-template-columns:1fr;}
  .patient-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .admission-card{min-height:auto;}
}
@media(max-width:1050px){
  .app-shell{grid-template-columns:76px minmax(0,1fr);}
  .sidebar .side-label,.sidebar a:not(.active){font-size:0;}
  .sidebar a b{font-size:10px;}
  .side-bottom div div{display:none;}
  .global-search{max-width:420px;min-width:220px;}
  .patient-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .patient-info-grid .wide{grid-column:span 2;}
}
@media(max-width:760px){
  .topbar{height:62px;}
  .content{padding:12px 12px 24px;}
  .patient-hero{margin:0 0 10px;padding:16px;border-radius:10px;align-items:flex-start;}
  .patient-hero h1{font-size:22px;}
  .patient-actions{width:100%;justify-content:flex-start;}
  .tabs.patient-tabs{top:67px;}
  .patient-info-grid{grid-template-columns:1fr 1fr;}
  .summary-layout.has-admission,.summary-layout.no-admission{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .patient-info-grid{grid-template-columns:1fr;}
  .patient-info-grid .wide{grid-column:span 1;}
  .patient-actions .btn{flex:1;}
}
/* Legibilidade final em monitores Full HD */
.brand strong{font-size:14px}.sidebar a,.sidebar button{font-size:13px}.tabs.patient-tabs a{font-size:11px;padding:9px 12px}.patient-meta{font-size:11px}.patient-info-grid strong{font-size:12px}.section-head p{font-size:12px}td{font-size:12px}.btn{font-size:12px}
@media(max-width:760px){
  .topbar{height:62px;padding:0 10px;gap:8px}.menu-button{display:block}.brand{min-width:0}.brand small,.clinical-context,.global-search{display:none}.app-shell{display:block;min-height:calc(100vh - 62px)}.sidebar{position:fixed;left:-260px;top:62px;width:245px;height:calc(100vh - 62px);z-index:95;transition:left .2s ease}.sidebar.open{left:0}.sidebar .side-label,.sidebar a:not(.active){font-size:13px}.sidebar a b{font-size:10px}.side-bottom div div{display:flex}.content{padding:12px}.patient-hero{flex-direction:column}.patient-actions{width:100%}.tabs.patient-tabs{top:67px}.card{padding:15px}.patient-info-grid{grid-template-columns:1fr 1fr}.patient-info-grid .wide{grid-column:span 2}.summary-layout.has-admission,.summary-layout.no-admission{grid-template-columns:1fr}.form-grid,.form-grid.compact{grid-template-columns:1fr}.span-2,.span-4{grid-column:span 1}}

/* ===== v4.1.3 — fluxo rápido do prontuário / Windows + Mac ===== */
.quick-center{padding:16px 18px;margin-bottom:12px;border-color:#cfe2da;background:linear-gradient(180deg,#fff,#fbfdfc)}
.quick-center-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:13px}.quick-center-head h2{margin:2px 0 3px;font-size:18px}.quick-center-head p{margin:0;color:var(--muted);font-size:11px}.current-bed{display:flex;flex-direction:column;align-items:flex-end;background:var(--gl);padding:8px 11px;border-radius:8px}.current-bed span{font-size:8px;color:var(--muted);text-transform:uppercase}.current-bed strong{font-size:11px;color:var(--gd)}
.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.quick-action{display:flex;align-items:center;gap:9px;min-height:58px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);transition:.15s}.quick-action:hover{border-color:#9fc7b8;box-shadow:0 4px 14px rgba(13,79,59,.08);transform:translateY(-1px)}.quick-action>b{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;background:#eaf5f1;color:var(--g);font-size:10px}.quick-action.primary{background:var(--g);border-color:var(--g);color:#fff}.quick-action.primary>b{background:rgba(255,255,255,.18);color:#fff}.quick-action span{display:flex;flex-direction:column;min-width:0}.quick-action strong{font-size:11px}.quick-action small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action.primary small{color:#cfe8df}.secondary-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.secondary-actions a{font-size:9px;font-weight:800;background:#f1f5f3;border:1px solid #e0e9e5;border-radius:999px;padding:5px 9px;color:#496159}
.patient-overview{margin-bottom:12px}.workflow-panel{padding:0;overflow:hidden;margin-bottom:9px;box-shadow:none;border-color:#d9e5e0}.workflow-panel[open]{box-shadow:var(--shadow);border-color:#bfd8ce}.workflow-summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 14px;cursor:pointer;background:#fff;user-select:none}.workflow-summary::-webkit-details-marker{display:none}.workflow-summary:hover{background:#f8fbfa}.workflow-panel[open]>.workflow-summary{background:#f2f8f5;border-bottom:1px solid var(--line)}.workflow-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#e9f4ef;color:var(--g);font-weight:900;font-size:9px;flex:0 0 auto}.primary-workflow .workflow-icon{background:var(--g);color:#fff}.workflow-title{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.workflow-title strong{font-size:12px;color:var(--ink)}.workflow-title small{font-size:9px;color:var(--muted)}.workflow-meta{font-size:9px;color:var(--muted);font-weight:700;white-space:nowrap}.workflow-arrow{font-size:16px;color:#6d7d77;transition:transform .15s}.workflow-panel[open] .workflow-arrow{transform:rotate(180deg)}.workflow-body{padding:15px 16px 17px}.workflow-body>.section-head:first-child{margin-bottom:12px}.workflow-body>.section-head:first-child h2{font-size:16px}.workflow-body>.section-head:first-child p{font-size:10px}.workflow-history{border-top:1px solid var(--line);margin-top:16px;padding-top:10px}.workflow-history>.record-list>.record-list{margin-top:0}
.quick-evolution-form{gap:9px}.quick-form-row{display:grid;grid-template-columns:170px 130px minmax(280px,1fr) auto;gap:9px;align-items:end}.quick-grow textarea{min-height:72px;max-height:160px}.quick-save{height:38px}.optional-fields{border:1px solid #dbe6e1;border-radius:8px;padding:0;margin-top:2px;background:#fafcfb}.optional-fields>summary{padding:8px 10px;color:var(--g);font-size:10px;font-weight:800}.optional-fields[open]>summary{border-bottom:1px solid var(--line)}.structured-fields{padding:10px}.optional-fields>.btn{margin:0 10px 10px}.signature-inline{font-size:9px;color:var(--muted);padding:4px 1px}.signature-inline strong{color:var(--ink)}
/* Formulários operacionais mais compactos */
.workflow-body .form-grid{gap:9px}.workflow-body label{font-size:10px}.workflow-body input,.workflow-body select,.workflow-body textarea{min-height:34px;padding:7px 8px}.workflow-body textarea{min-height:70px}.workflow-body .btn{min-height:34px}.workflow-body .table-wrap{margin-top:12px}.workflow-body .two-columns{gap:10px}.workflow-body .scale-card{padding:12px;gap:7px}
/* Administração clara e previsível */
.admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px}.admin-grid.single{grid-template-columns:1fr}.admin-card{margin-bottom:0}.admin-card h2{margin:0 0 4px;font-size:16px}.admin-card>p{margin:0 0 12px;color:var(--muted);font-size:10px}.admin-status-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.admin-status-list div{background:#f5f8f7;border-radius:8px;padding:9px}.admin-status-list span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase}.admin-status-list strong{font-size:11px}.backup-list{display:flex;flex-direction:column;gap:5px;margin-top:10px}.backup-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;font-size:9px}.settings-form-card{margin-top:14px}.settings-section{grid-column:1/-1;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--g);padding:8px 0 1px;border-bottom:1px solid var(--line)}
@media(max-width:1200px){.quick-actions{grid-template-columns:repeat(3,1fr)}.quick-form-row{grid-template-columns:1fr 1fr}.quick-grow{grid-column:1/-1}.quick-save{justify-self:start}.admin-grid{grid-template-columns:1fr}}
@media(max-width:720px){.quick-center{padding:12px}.quick-center-head{align-items:flex-start;flex-direction:column}.current-bed{align-items:flex-start}.quick-actions{grid-template-columns:1fr 1fr}.quick-action{min-height:54px}.secondary-actions{gap:5px}.workflow-summary{padding:9px 10px}.workflow-meta{display:none}.workflow-body{padding:12px}.quick-form-row{grid-template-columns:1fr}.quick-grow{grid-column:auto}.quick-save{width:100%}.admin-status-list{grid-template-columns:1fr}.backup-row{grid-template-columns:1fr}.workflow-body .two-columns{grid-template-columns:1fr}}

/* v4.1.7 — atendimentos separados e documento hospitalar */
.encounter-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}.encounter-bar>div:first-child{display:flex;flex-direction:column;min-width:210px}.encounter-bar small{color:var(--muted);font-size:10px;margin-top:2px}.encounter-links{display:flex;gap:7px;overflow-x:auto;padding:2px;max-width:100%}.encounter-links a{display:grid;grid-template-columns:auto auto;gap:1px 8px;align-items:center;min-width:122px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#f8faf9;color:var(--ink)}.encounter-links a b{color:var(--green);font-size:12px}.encounter-links a span{font-size:10px}.encounter-links a small{grid-column:1/-1;margin:0;font-size:9px}.encounter-links a.active{background:var(--green);border-color:var(--green);color:#fff}.encounter-links a.active b,.encounter-links a.active small{color:#fff}.historical-notice{border-style:solid;border-left:4px solid #b98012;background:#fff9eb;color:#5e4c22}.encounter-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.encounter-choice-grid>article{border:1px solid var(--line);border-radius:12px;padding:17px;background:#fff}.encounter-choice-grid h3{margin:4px 0 6px}.encounter-choice-grid p{color:var(--muted);font-size:11px;line-height:1.5}.choice-number{width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900}.choice-number.secondary{background:#566d64}.inset-card{box-shadow:none;margin:0;background:#fafcfb}.patient-form .form-actions{display:flex;gap:8px;justify-content:flex-start}.span-3{grid-column:span 3}

.professional-print .print-header{display:grid;grid-template-columns:30mm 1fr 48mm;align-items:center;gap:6mm;border-bottom:2px solid #0b6b4b;padding-bottom:6px}.professional-print .print-hospital h1{font-size:16px;margin:0}.professional-print .print-hospital p{font-size:9px;margin:2px 0;color:#475950}.professional-print .print-doc-meta{text-align:right;display:flex;flex-direction:column;gap:2px;font-size:7px}.professional-print .print-demographics{margin-top:10px}.professional-print .print-demographics h2,.professional-print .print-section h2{font-size:9px;text-transform:uppercase;letter-spacing:.45px;color:#fff;background:#0b6b4b;padding:5px 7px;margin:0 0 5px}.professional-print .print-info-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #c8d2ce;border-top:1px solid #c8d2ce}.professional-print .print-info-grid>div{border-right:1px solid #c8d2ce;border-bottom:1px solid #c8d2ce;padding:5px;min-height:35px}.professional-print .print-info-grid>div.wide{grid-column:span 2}.professional-print .print-info-grid span{display:block;text-transform:uppercase;font-size:6px;color:#60716a;margin-bottom:2px}.professional-print .print-info-grid strong{font-size:8px;font-weight:600}.professional-print .print-chronic{border:1px solid #b9c9c2;background:#f5f8f7;padding:6px;margin-top:5px;font-size:8px}.professional-print .print-balance-summary{font-size:8px;padding:5px 0 7px}.professional-print .print-evolution{padding:7px 0 9px;border-bottom:1px solid #c7d0cc}.professional-print .print-evolution-text{font-size:8.5px;line-height:1.45;text-align:justify}.professional-print .print-signature{font-size:7px;text-align:left;background:#f5f8f7;border-left:2px solid #0b6b4b;padding:5px 7px;margin-top:6px}.professional-print .print-table{font-size:6.5px;table-layout:fixed}.professional-print .print-table th{background:#e7f1ed;color:#153f33}.professional-print .print-table th,.professional-print .print-table td{padding:3px 4px;vertical-align:top}.professional-print footer{font-size:7px;color:#65756f;margin-top:16px;padding-top:6px;border-top:1px solid #bdc9c4;text-align:center}

@media(max-width:900px){.encounter-bar{align-items:flex-start;flex-direction:column}.encounter-links{width:100%}.encounter-choice-grid{grid-template-columns:1fr}.span-3{grid-column:span 2}}
@media(max-width:720px){.span-3{grid-column:span 1}.encounter-links a{min-width:112px}}
@media print{.professional-print .print-info-grid{break-inside:avoid}.professional-print .print-section h2{break-after:avoid}.professional-print .print-evolution{break-inside:auto}}

/* v4.2 — acabamento institucional, acessibilidade e acesso seguro */
:root{--green:var(--g);--focus:#0ea472;--shadow:0 8px 28px rgba(12,53,42,.08)}
body{font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased}
button,.btn,a,input,select,textarea{transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(14,164,114,.28);outline-offset:2px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.topbar{box-shadow:0 1px 12px rgba(10,57,46,.035)}
.clinical-context>span{display:flex;flex-direction:column;line-height:1.25}.clinical-context small{font-size:9px;color:var(--muted)}
.sidebar{background:linear-gradient(180deg,#073d30 0%,#062f26 100%)}
.side-label.section{padding-top:19px;padding-bottom:7px}
.sidebar a b,.sidebar button b{flex:0 0 27px;height:27px;font-size:8px;letter-spacing:.15px}
.sidebar a span,.sidebar button span{overflow:hidden;text-overflow:ellipsis}
.sidebar-backdrop{display:none}
.card:hover{border-color:#d2e1db}
.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(12,53,42,.09)}
.btn.primary:hover{background:#07583f;border-color:#07583f}

.login-page{display:block;padding:0;background:#f5f8f7}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr)}
.login-presentation{position:relative;overflow:hidden;padding:clamp(42px,7vw,90px);color:#fff;background:radial-gradient(circle at 12% 12%,rgba(52,211,153,.18),transparent 35%),linear-gradient(145deg,#043c2e,#087353);display:flex;flex-direction:column;justify-content:space-between}
.login-presentation:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-160px;bottom:-135px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.login-brand>span,.login-mobile-brand>span{width:48px;height:48px;border-radius:13px;background:#fff;color:#07583f;display:grid;place-items:center;font-size:13px;font-weight:900;letter-spacing:.7px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.login-brand strong{font-size:16px;letter-spacing:-.1px}
.login-presentation>div:nth-child(2){position:relative;z-index:1;max-width:650px}.login-kicker{font-size:10px;font-weight:900;letter-spacing:2px;color:#a7f3d0}.login-presentation h1{font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-2.2px;margin:16px 0 20px;max-width:680px}.login-presentation p{font-size:16px;line-height:1.7;color:#d2eee5;max-width:560px;margin:0}
.login-trust{display:flex;gap:24px;flex-wrap:wrap;position:relative;z-index:1;color:#c9e9df;font-size:11px;font-weight:700}.login-trust span{display:flex;gap:6px}
.login-panel{display:grid;place-items:center;padding:40px;background:linear-gradient(180deg,#fff,#f6f9f8)}
.login-card{width:min(430px,100%);padding:0;background:transparent;border-radius:0;box-shadow:none}.login-card .eyebrow{display:block;margin-bottom:11px}.login-card h2{font-size:34px;line-height:1.1;letter-spacing:-.8px;margin:0 0 8px}.login-card>p{text-align:left;font-size:13px;margin:0 0 28px}.login-mobile-brand{display:none}.login-form{gap:17px}.login-form label{font-size:11px;letter-spacing:.1px}.login-form input{min-height:49px;border-radius:10px;font-size:13px;padding:12px 14px;background:#fff}.login-form .btn{min-height:49px;border-radius:10px;font-size:13px;margin-top:3px}.login-security{display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--line);margin-top:26px;padding-top:18px;color:var(--muted);font-size:10px;line-height:1.5}.login-security b{color:var(--g);font-size:15px}.login-version{display:block;margin-top:21px;color:#8a9892;font-size:9px;text-align:left}

@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-presentation{display:none}.login-panel{min-height:100vh;padding:28px}.login-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:48px;color:var(--ink);font-weight:800}.login-mobile-brand>span{width:42px;height:42px;background:var(--g);color:#fff}.login-card h2{font-size:30px}}
@media(max-width:760px){.sidebar-backdrop{position:fixed;inset:62px 0 0;border:0;background:rgba(3,25,19,.46);z-index:90}.sidebar-backdrop.show{display:block}.sidebar{box-shadow:12px 0 30px rgba(0,0,0,.18)}.side-label.section{padding-top:14px}.login-panel{padding:22px}.login-mobile-brand{margin-bottom:38px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v4.2.1 — layouts específicos para computador, tablet e celular */
.sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(167,243,208,.38) transparent}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:rgba(167,243,208,.3);border-radius:20px}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(167,243,208,.5)}
.sidebar nav{flex:0 0 auto}.side-bottom{flex:0 0 auto;min-height:max-content}
.table-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9bb8ad #edf3f0}
.tabs,.encounter-links{-webkit-overflow-scrolling:touch;scrollbar-width:thin}

/* Tablet horizontal e vertical: navegação em gaveta, conteúdo com duas colunas. */
@media(max-width:1100px){
  body.menu-open{overflow:hidden}
  .topbar{height:66px;padding:0 16px;gap:12px}
  .menu-button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;color:var(--gd);cursor:pointer}
  .menu-button:hover{background:var(--gl)}
  .brand{min-width:205px}.brand-mark,.brand img{width:38px;height:38px}.brand strong{font-size:13px}
  .clinical-context{display:none}
  .global-search{max-width:none;min-width:180px}
  .app-shell{display:block;min-height:calc(100vh - 66px)}
  .sidebar{position:fixed;left:-310px;top:66px;width:286px;height:calc(100dvh - 66px);padding:18px 14px 22px;z-index:96;transition:left .22s ease;box-shadow:14px 0 34px rgba(0,0,0,.2)}
  .sidebar.open{left:0}
  .sidebar .side-label{font-size:9px!important}.sidebar a,.sidebar a:not(.active),.sidebar button{font-size:13px!important}.sidebar a b,.sidebar button b{font-size:8px!important}.side-bottom div div{display:flex!important}
  .sidebar-backdrop{position:fixed;inset:66px 0 0;border:0;background:rgba(3,25,19,.48);z-index:90;cursor:pointer}.sidebar-backdrop.show{display:block}
  .content{padding:22px;max-width:none}
  .stats.six{grid-template-columns:repeat(3,minmax(0,1fr))}.stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid,.admin-grid{grid-template-columns:1fr}.dashboard-grid .main{grid-row:auto}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3,.span-4{grid-column:span 2}
  .two-columns,.document-grid,.encounter-choice-grid{grid-template-columns:1fr}
  .patient-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Celular: alvos de toque maiores e fluxo integral em uma coluna. */
@media(max-width:700px){
  .topbar{height:60px;padding:0 10px;gap:8px}.app-shell{min-height:calc(100vh - 60px)}
  .sidebar{top:60px;height:calc(100dvh - 60px);width:min(286px,86vw)}.sidebar-backdrop{inset:60px 0 0}
  .brand{min-width:0;flex:1}.brand>span:last-child{min-width:0}.brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:none}.brand-mark,.brand img{width:36px;height:36px;flex:0 0 36px}
  .global-search{display:none}
  .content{padding:12px 10px 24px}
  .page-head{margin-bottom:13px}.page-head,.section-head{align-items:stretch;gap:10px}.page-head h1{font-size:23px}.page-head p{font-size:11px}
  .head-actions,.button-group{width:100%;flex-wrap:wrap}.head-actions .btn,.button-group .btn{flex:1 1 auto}
  .card{padding:14px;border-radius:11px;margin-bottom:12px;box-shadow:0 5px 18px rgba(12,53,42,.06)}
  .stats{gap:7px}.stats.six,.stats.four,.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats article{padding:11px}.stats strong{font-size:22px}
  .form-grid,.form-grid.compact,.quick-form-row{grid-template-columns:1fr}.span-2,.span-3,.span-4,.quick-grow{grid-column:span 1}
  input,select,textarea,.btn{min-height:44px}.btn.small{min-height:38px}
  .searchbar{display:grid;grid-template-columns:1fr auto}.searchbar .btn{min-width:90px}
  .table-wrap{margin-left:-3px;margin-right:-3px;border-radius:8px}table{min-width:680px}th,td{padding:9px;font-size:11px}
  .bed-grid,.bed-grid.professional{grid-template-columns:repeat(2,minmax(0,1fr))}.bed-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .patient-hero{margin:-12px -10px 11px;padding:17px 12px;border-radius:0;flex-direction:column;align-items:flex-start}.patient-hero h1{font-size:22px}.patient-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.patient-actions .btn{width:100%}
  .patient-alert-strip{grid-template-columns:1fr}.tabs.patient-tabs{top:65px;margin-left:-3px;margin-right:-3px}
  .summary-layout.has-admission,.summary-layout.no-admission,.patient-info-grid{grid-template-columns:1fr}.patient-info-grid .wide{grid-column:span 1}
  .quick-center{padding:13px}.quick-center-head{flex-direction:column;align-items:flex-start}.current-bed{align-items:flex-start}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-summary{padding:10px}.workflow-body{padding:12px}.workflow-meta{display:none}
  .task,.device-card{align-items:stretch;flex-direction:column}.task form,.device-card form,.task form .btn,.device-card form .btn{width:100%}
  .record-head,.timeline-meta,.chart-head{align-items:flex-start;flex-direction:column}.chart-wrap{height:220px}
  .admission-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-kpis{grid-template-columns:1fr 1fr}.balance-kpis div:last-child{grid-column:1/-1}
  .document-list>div{grid-template-columns:1fr 1fr}.document-list>div span:nth-child(3){grid-column:1/-1}
  .network-url{flex-direction:column}.network-url code{overflow-wrap:anywhere}.network-url .btn{width:100%}
  .encounter-bar{padding:12px}.encounter-links a{min-width:118px}
  .session-warning{left:10px;right:10px;bottom:10px}
}

@media(max-width:420px){
  .stats.six,.stats.four,.mini-stats{grid-template-columns:1fr 1fr}
  .quick-actions,.bed-grid,.bed-grid.professional,.bed-grid.compact,.patient-actions{grid-template-columns:1fr}
  .admission-strip,.balance-kpis,.check-grid{grid-template-columns:1fr}.balance-kpis div:last-child{grid-column:auto}
  .searchbar{grid-template-columns:1fr}.searchbar .btn{width:100%}
  .login-panel{padding:18px}.login-mobile-brand{margin-bottom:30px}
}

/* Telas baixas de computador: a navegação continua utilizável por rolagem. */
@media(max-height:700px) and (min-width:1101px){.sidebar{padding-top:12px;padding-bottom:12px}.sidebar a,.sidebar button{padding-top:8px;padding-bottom:8px}.side-label.section{padding-top:12px}.server-status{padding:7px}}

/* v4.3 — central assistencial, integridade e experiência de aplicativo */
.mobile-nav{display:none}
.central-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:14px;align-items:start}.central-board{min-width:0}.live-indicator{display:flex;align-items:center;gap:6px;color:var(--g);font-size:10px;font-weight:800}.live-indicator i{width:7px;height:7px;border-radius:50%;background:#21b879;box-shadow:0 0 0 4px rgba(33,184,121,.12)}
.task-board{display:flex;flex-direction:column;gap:8px}.board-task{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-left:4px solid #91aa9f;border-radius:10px;padding:11px 12px;background:#fff}.board-task.alta{border-left-color:#db962d}.board-task.critica{border-left-color:var(--danger);background:#fffafa}.board-task.concluida{opacity:.66;border-left-color:#64aa8d}.board-time{display:flex;flex-direction:column;border-right:1px solid var(--line)}.board-time strong{font-size:20px;color:var(--gd)}.board-time small{font-size:8px;color:var(--muted)}.board-content h3{font-size:13px;margin:5px 0 2px}.board-content p{font-size:10px;margin:0;color:#3f554c}.board-content small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.empty-state{text-align:center;padding:35px 15px;color:var(--muted)}.empty-state>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;margin:auto;background:var(--gl);color:var(--g);font-size:20px}.empty-state h3{color:var(--ink);margin:10px 0 2px}.empty-state p{margin:0;font-size:11px}
.handoff-list{display:flex;flex-direction:column;gap:9px;max-height:650px;overflow:auto}.handoff-list article{border:1px solid var(--line);border-radius:10px;padding:12px}.handoff-list h3{font-size:12px;margin:7px 0}.handoff-list p{font-size:10px;line-height:1.55}.handoff-list small{display:block;font-size:9px;margin:5px 0;color:#4d6058}.handoff-list footer{border-top:1px solid var(--line);padding-top:8px;margin-top:9px;font-size:8px;color:var(--muted)}
.protocol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.protocol-grid details{border:1px solid var(--line);border-radius:10px;padding:0;margin:0;background:#fafcfb}.protocol-grid summary{padding:12px;font-size:11px;color:var(--ink)}.protocol-grid summary span{display:block;font-size:8px;color:var(--g);letter-spacing:.4px;text-transform:uppercase;margin-bottom:3px}.protocol-grid p{padding:0 12px 12px;font-size:10px;color:#4d6058}
.verification-card{max-width:760px;margin:35px auto;display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:start;border-left:5px solid var(--g)}.verification-card.invalid{border-left-color:var(--danger)}.verification-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--gl);color:var(--g);font-size:28px;font-weight:900}.verification-card.invalid .verification-icon{background:var(--dangerbg);color:var(--danger)}.verification-card h2{margin:5px 0}.verification-card code{background:#edf3f0;border-radius:6px;padding:4px 7px}.verification-card dl{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.verification-card dt,.verification-card dd{padding:6px;margin:0;border-bottom:1px solid #edf2f0}.verification-card dt{font-size:9px;text-transform:uppercase;color:var(--muted)}

@media(max-width:1100px){.central-layout{grid-template-columns:1fr}.protocol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .content{padding-bottom:88px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:8px;right:8px;bottom:8px;height:64px;z-index:75;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;padding:5px;box-shadow:0 10px 35px rgba(7,61,48,.2);backdrop-filter:blur(12px)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:8px;font-weight:800;border-radius:11px}.mobile-nav a b{font-size:10px}.mobile-nav a.active{color:#fff;background:var(--g)}
  .board-task{grid-template-columns:55px minmax(0,1fr);align-items:start}.board-task>form{grid-column:1/-1}.board-task>form .btn{width:100%}.board-time strong{font-size:17px}.protocol-grid{grid-template-columns:1fr}.verification-card{grid-template-columns:1fr;margin:12px 0}.verification-card dl{grid-template-columns:90px 1fr}
}
@media print{.mobile-nav{display:none!important}}
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.reset-form{display:flex;gap:5px}.reset-form input{min-width:150px;min-height:34px;padding:6px 8px}.protocol-mini-list{display:flex;flex-direction:column;gap:6px;margin-top:15px}.protocol-mini-list>div{display:flex;gap:8px;align-items:center;padding:8px;background:#f7faf9;border-radius:8px}
@media(max-width:700px){.row-actions,.reset-form{align-items:stretch;flex-direction:column}.reset-form input,.row-actions .btn{width:100%}}

/* v4.4 — sessões, medicamentos, checklists, alertas e painel do setor */
.alert-button{position:relative;display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#f8faf9;color:var(--g);font-weight:900}.alert-button>span{font-size:15px}.alert-button>b{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 4px;border-radius:10px;background:var(--danger);color:#fff;border:2px solid #fff;font-size:8px;display:grid;place-items:center}.alert-button>b[hidden]{display:none}
.user-agent{max-width:330px;white-space:normal;font-size:9px;color:var(--muted)}
.medication-notice{margin-bottom:14px;border-style:solid;border-left:4px solid var(--warn);background:#fffbef;color:#5f4a19}.medication-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.medication-card{margin:0}.medication-card.suspensa{opacity:.7}.medication-card header{display:flex;justify-content:space-between}.medication-card h2{font-size:18px;margin:7px 0 2px}.medication-card header p{margin:0;color:var(--muted)}.medication-card dl{display:grid;grid-template-columns:90px 1fr;margin:15px 0;border-top:1px solid var(--line)}.medication-card dt,.medication-card dd{margin:0;padding:6px;border-bottom:1px solid var(--line);font-size:9px}.medication-card dt{color:var(--muted);text-transform:uppercase}.medication-check{padding:12px;background:#f5f9f7;border-radius:9px;margin-bottom:9px}
.checklist-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:14px;align-items:start}.checklist-card{padding:0;overflow:hidden}.checklist-card>summary{display:flex;align-items:center;gap:9px;padding:14px 16px;font-size:13px;color:var(--ink);border:0}.checklist-card>summary span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--gl);color:var(--g)}.checklist-card>form{padding:0 16px 16px}.checklist-items{display:flex;flex-direction:column;gap:6px}.checklist-items .check{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fafcfb;font-size:11px}.checklist-items input{width:18px;height:18px}.checklist-history{display:flex;flex-direction:column;gap:8px;max-height:720px;overflow:auto}.checklist-history article{border:1px solid var(--line);border-radius:9px;padding:11px}.checklist-history h3{margin:7px 0 2px;font-size:12px}.checklist-history p,.checklist-history small,.checklist-history code{display:block;font-size:9px;margin:3px 0}.checklist-history code{color:var(--g)}
.monitor-page{max-width:1900px;margin:auto}.monitor-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.monitor-stats article{background:#fff;border:1px solid var(--line);border-top:4px solid #75b99e;border-radius:12px;padding:13px}.monitor-stats article.warning{border-top-color:#dba320}.monitor-stats article.danger{border-top-color:#d4544b}.monitor-stats article.accent{border-top-color:#347bb0}.monitor-stats span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.monitor-stats strong{display:block;font-size:27px;margin-top:4px}.monitor-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.monitor-grid>section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.monitor-grid h2{margin:0 0 12px}.monitor-patients{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.monitor-patients article{border:1px solid var(--line);border-left:4px solid var(--g);border-radius:10px;padding:11px}.monitor-patients article>div:first-child{display:flex;align-items:center;justify-content:space-between}.monitor-patients article>div strong{font-size:17px}.monitor-patients article>div span{font-size:8px;color:var(--muted)}.monitor-patients h3{font-size:12px;margin:7px 0 2px}.monitor-patients p{font-size:9px;color:var(--muted);margin:0 0 7px}.monitor-tasks{display:flex;flex-direction:column;gap:7px}.monitor-tasks article{display:grid;grid-template-columns:54px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-left:4px solid #91aa9f;border-radius:9px;padding:9px}.monitor-tasks article.alta{border-left-color:var(--warn)}.monitor-tasks article.critica{border-left-color:var(--danger)}.monitor-tasks time{font-size:17px;font-weight:900}.monitor-tasks article>div{display:flex;flex-direction:column}.monitor-tasks article>div span{font-size:9px;color:var(--muted)}
.export-card{background:linear-gradient(135deg,#fff,#f5faf8)}.export-notice{margin-top:15px}.export-card .form-grid .btn{align-self:end}
@media(max-width:1100px){.checklist-layout,.monitor-grid{grid-template-columns:1fr}.monitor-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.alert-button{width:36px;height:36px;flex-basis:36px}.medication-grid{grid-template-columns:1fr}.medication-card dl{grid-template-columns:78px 1fr}.checklist-layout{grid-template-columns:1fr}.monitor-stats{grid-template-columns:repeat(2,1fr)}.monitor-stats article:last-child{grid-column:1/-1}.monitor-patients{grid-template-columns:1fr}.monitor-tasks article{grid-template-columns:48px 1fr}.monitor-tasks article>.badge{grid-column:1/-1}.export-card .form-grid .btn{width:100%}}

/* v4.6 — cadastro profissional amplo */
.professional-form-card{padding:26px;border-top:4px solid var(--g)}.user-create-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.user-create-grid label{font-size:11px}.user-create-grid input,.user-create-grid select{min-height:44px}.user-create-grid small{font-weight:500;color:var(--muted);line-height:1.35}.user-create-submit{display:flex;align-items:flex-end;grid-column:span 2}.user-create-submit .btn{width:100%;min-height:44px}
@media(max-width:1100px){.user-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.professional-form-card{padding:18px}.user-create-grid{grid-template-columns:1fr}.user-create-submit{grid-column:span 1}.user-create-submit .btn{width:100%}}

/* v4.4.1 — central de notificações com leitura individual */
.notification-list{display:flex;flex-direction:column;gap:9px;max-width:1050px}.notification-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;margin:0;border-left:4px solid var(--blue)}.notification-item.warning{border-left-color:var(--warn)}.notification-item.danger{border-left-color:var(--danger)}.notification-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--bluebg);color:var(--blue);font-size:18px;font-weight:900}.notification-item.warning .notification-symbol{background:var(--warnbg);color:var(--warn)}.notification-item.danger .notification-symbol{background:var(--dangerbg);color:var(--danger)}.notification-item h2{font-size:14px;margin:3px 0}.notification-item p{margin:0;color:#455b52;font-size:11px}.notification-item time{display:block;margin-top:4px;color:var(--muted);font-size:9px}.notification-empty{max-width:680px;background:#fff;border:1px solid var(--line);border-radius:14px}.notification-empty .btn{margin-top:13px}
@media(max-width:700px){.notification-item{grid-template-columns:42px 1fr}.notification-item>form{grid-column:1/-1}.notification-item>form .btn{width:100%}}
