@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#0A2F86;
  --navy2:#082665;
  --blue:#075FBA;
  --green:#45842C;
  --green2:#2F6F22;
  --mint:#EAF8FC;
  --mint2:#D7F0F7;
  --ink:#10243E;
  --muted:#607087;
  --line:#DDE7EF;
  --bg:#F5F8FB;
  --card:#FFFFFF;
  --danger:#C43A46;
  --warning:#A86D00;
  --shadow:0 8px 28px rgba(10,47,134,.07);
  --shadow-soft:0 4px 18px rgba(16,36,62,.045);
  --radius:16px;
  --radius-sm:10px;
  --sidebar:252px;
  --control:40px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;font-family:'Manrope',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:13px;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;max-width:100%}
button{cursor:pointer}
svg{max-width:100%}

/* Uicons / Flaticon — camada de ícones profissional com fallback SVG */
.hp-icon-wrap{width:18px;height:18px;flex:0 0 18px;display:inline-grid;place-items:center;position:relative;line-height:1;vertical-align:middle}
.hp-icon-wrap .fi{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:currentColor;opacity:0;transition:opacity .12s ease,transform .12s ease}
.hp-icon-fallback{width:18px;height:18px;display:block;position:absolute;inset:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.uicons-ready .hp-icon-wrap .fi{opacity:1}
body.uicons-ready .hp-icon-wrap .hp-icon-fallback{display:none}
.hp-icon-wrap .fi:hover{transform:translateY(-.5px)}
.nav a.nav-link .hp-icon-wrap{color:currentColor}
.top-icon .hp-icon-wrap{width:19px;height:19px;flex-basis:19px}
.top-icon .hp-icon-wrap .fi,.top-icon .hp-icon-wrap .hp-icon-fallback{width:19px;height:19px;font-size:19px}
.top-logout .hp-icon-wrap{width:18px;height:18px;flex-basis:18px}
.btn .hp-icon-wrap,.btn-sm .hp-icon-wrap{margin-right:6px}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.hamb .hp-icon-wrap{width:19px;height:19px;flex-basis:19px}.hamb .hp-icon-wrap .fi,.hamb .hp-icon-wrap .hp-icon-fallback{width:19px;height:19px;font-size:19px}


/* Layout principal */
.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh;width:100%;overflow:visible}
.side{position:sticky;top:0;align-self:start;width:var(--sidebar);height:100vh;min-height:100vh;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);box-shadow:4px 0 22px rgba(10,47,134,.035);z-index:100;overflow:hidden}
.side-brand{height:82px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 20px;border-bottom:1px solid var(--line);background:#fff}
.side-brand>a{display:flex;align-items:center;gap:8px;min-width:0}
.side-brand img{width:auto;height:46px;max-width:160px;object-fit:contain}
.side-brand span{display:none}
.sidebar-collapse{width:38px;height:38px;flex:none;border:0;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:19px;box-shadow:0 5px 15px rgba(10,47,134,.18)}
.sidebar-collapse:hover{background:var(--blue)}
.side-profile{display:flex;align-items:center;gap:10px;padding:16px 19px 12px;min-width:0}
.side-profile .avatar{width:38px;height:38px;flex:none;border-radius:50%;background:var(--mint);color:var(--navy);border:1px solid var(--mint2);display:grid;place-items:center;font-weight:800;font-size:11px}
.side-profile b{display:block;color:var(--navy);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.side-profile small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.side .nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:7px 13px 15px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.side .nav::-webkit-scrollbar{width:5px}.side .nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:20px}
.nav-group-label{padding:14px 10px 5px;margin-top:5px;color:#8B9AAE;font-size:8px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}
.nav-group-label:first-child{margin-top:0}
.nav a.nav-link{position:relative;display:flex;align-items:center;gap:11px;min-height:42px;padding:10px 12px;border-radius:10px;color:#52657B;font-size:11px;font-weight:800;transition:.16s ease;min-width:0}
.nav a.nav-link svg{width:18px;height:18px;flex:none;stroke:currentColor}
.nav a.nav-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav a.nav-link:hover{background:var(--mint);color:var(--navy);transform:translateX(1px)}
.nav a.nav-link.on{background:var(--navy);color:#fff;box-shadow:0 5px 14px rgba(10,47,134,.12)}
.nav a.nav-link.on:hover{background:var(--blue);color:#fff}
.nav a.nav-link.on:after{content:'';position:absolute;right:9px;width:6px;height:6px;border-radius:50%;background:var(--green)}
.side-bottom{flex:none;margin-top:auto;padding:10px 13px 14px;border-top:1px solid var(--line);background:#fff}
.side-bottom a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:11px;font-weight:800}
.side-bottom a:hover{background:var(--mint);color:var(--navy)}
.side-bottom a svg{width:18px;height:18px}
.side-bottom small{display:block;padding:8px 12px 0;color:#93A1B2;font-size:8px}
.sidebar-overlay{display:none}

/* Cabeçalho */
.main{min-width:0;width:100%;background:var(--bg);overflow:hidden}
.topbar{position:sticky;top:0;z-index:80;min-height:74px;height:74px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 16px rgba(10,47,134,.035)}
.top-left{display:flex;align-items:center;gap:12px;min-width:0}
.hamb{display:none;width:38px;height:38px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:10px;place-items:center;font-size:20px}
.top-title{min-width:0}.top-title .top-eyebrow{font-size:8px;letter-spacing:1.15px;font-weight:900;color:var(--green);margin-bottom:2px}.top-title h1{margin:0;color:var(--navy);font-size:18px;line-height:1.2;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;align-items:center;gap:3px;margin-left:auto;flex:none;min-width:0}
.top-icon{position:relative;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--navy);display:grid;place-items:center;padding:0}
.top-icon svg{width:19px;height:19px}.top-icon:hover{background:var(--mint);color:var(--blue)}
.notif-badge{position:absolute;right:1px;top:1px;min-width:14px;height:14px;padding:0 3px;border-radius:20px;background:var(--green);color:#fff;font-size:7px;line-height:14px;text-align:center;font-weight:900}
.top-divider{width:1px;height:28px;background:var(--line);margin:0 7px}
.top-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:11px;font-weight:800;white-space:nowrap}
.top-logout:hover{background:var(--mint);border-color:var(--mint2);color:var(--blue)}
.top-logout svg{width:18px;height:18px}

/* Conteúdo */
.content{width:100%;max-width:1600px;margin:0 auto;padding:28px 34px 48px;min-width:0}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;min-width:0}.page-head>div{min-width:0}.page-head h2{margin:0;color:var(--navy);font-size:25px;line-height:1.2;letter-spacing:-.6px}.page-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.page-head .eyebrow{margin-bottom:3px}
.eyebrow{font-size:8px;font-weight:900;letter-spacing:1.25px;color:var(--green)}
.actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border:1px solid transparent;border-radius:10px;font-size:10px;font-weight:800;line-height:1.1;white-space:nowrap;transition:.16s ease;box-shadow:none}
.btn svg{width:15px;height:15px;flex:none}.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green2)}
.btn.secondary{background:var(--mint);color:var(--navy);border-color:var(--mint2)}.btn.secondary:hover{background:var(--mint2)}
.btn.outline{background:#fff;color:var(--navy);border-color:var(--line)}.btn.outline:hover{border-color:#BFD0E0;background:#F9FCFE}
.btn.danger{background:#fff1f2;color:var(--danger);border-color:#F2D0D4}
.btn-sm{min-height:32px;padding:7px 9px;font-size:9px;border-radius:8px}.inline-form{display:inline-flex}
.flash{padding:12px 14px;border-radius:10px;margin-bottom:17px;font-size:11px;border:1px solid var(--line);background:#fff}.flash.success{background:#EEF9F1;border-color:#D7ECD9;color:#276D31}.flash.error,.flash.danger{background:#FFF1F2;border-color:#F1D4D8;color:#A12E38}

/* Cards / métricas */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:19px;min-width:0}
.metric,.panel{background:var(--card);border:1px solid #E7EDF3;border-radius:var(--radius);box-shadow:var(--shadow-soft);min-width:0}
.metric{padding:18px}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric small{display:block;color:var(--muted);font-size:10px;font-weight:700}.metric b{display:block;margin-top:4px;color:var(--navy);font-size:27px;line-height:1.15;overflow-wrap:anywhere}.trend{display:block;margin-top:5px;color:var(--green);font-size:9px;font-weight:700}.mini-icon{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--navy)}.mini-icon svg{width:17px;height:17px}
.panel{padding:20px}.panel h3{margin:0 0 10px;color:var(--navy);font-size:15px;line-height:1.3}.panel-sub{display:block;color:#8493A5;font-size:9px;margin-top:-6px;margin-bottom:10px}.muted{color:var(--muted);font-size:10px}

/* Tabelas */
.table-wrap{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:10px}.table{width:100%;border-collapse:collapse;font-size:10px;min-width:620px}.table th,.table td{padding:11px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid #EDF1F5}.table th{color:#77879A;background:#FBFDFF;font-size:9px;font-weight:800;white-space:nowrap}.table td{color:#33475D}.table tr:hover td{background:#F8FBFD}.table tr:last-child td{border-bottom:0}.table b{color:var(--navy)}
.patient-cell,.table-person{display:flex;align-items:center;gap:9px;min-width:0}.patient-cell .avatar,.table-person .avatar{width:32px;height:32px;flex:none;border-radius:50%;background:var(--mint);color:var(--navy);display:grid;place-items:center;font-size:9px;font-weight:900}.patient-cell b,.table-person b{display:block;color:var(--navy);font-size:10px;white-space:nowrap}.patient-cell span,.table-person small{display:block;color:var(--muted);font-size:8px;margin-top:2px;white-space:nowrap}.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.empty-state{padding:40px 15px;text-align:center}.empty-state b{display:block;color:var(--navy);font-size:12px}.empty-state span{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.badge{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:4px 8px;border-radius:20px;font-size:8px;font-weight:800;white-space:nowrap}.badge.success{background:#EAF7EF;color:#28744B}.badge.warning{background:#FFF5DF;color:#9A6A00}.badge.danger{background:#FFF0F1;color:#B42318}

/* Formulários */
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px;min-width:0}.field.full{grid-column:1/-1}.field label{color:var(--navy);font-size:10px;font-weight:800}.field input,.field select,.field textarea,.input,.select{width:100%;min-height:var(--control);padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none;font-size:11px}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.select:focus{border-color:#8EB6D7;box-shadow:0 0 0 3px rgba(7,95,186,.08)}.field input[type=file]{padding:8px}.field input[type=checkbox]{width:auto;min-height:auto;margin-right:6px;accent-color:var(--green)}
.notice{padding:13px 15px;border-left:4px solid var(--green);border-radius:10px;background:var(--mint);color:var(--ink);font-size:10px}.security{font-size:10px;color:var(--muted);margin-top:13px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.toolbar .search{max-width:340px}.search{width:100%}

/* Modais */
.modal{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,38,101,.35);backdrop-filter:blur(3px)}.modal.open{display:flex}.modal-box{width:min(680px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 25px 80px rgba(8,38,101,.22)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #EDF1F5}.modal-head h3,.modal-head b{margin:0;color:var(--navy);font-size:16px}.modal-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.modal-head>button,.close{width:32px;height:32px;flex:none;border:0;border-radius:9px;background:#F4F7FA;color:var(--navy);font-size:20px;line-height:1}.modal-head>button:hover,.close:hover{background:var(--mint)}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:17px;padding-top:14px;border-top:1px solid #EDF1F5}

/* Dashboard */
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px;min-width:0}.dashboard-head>div{min-width:0}.dashboard-head h2{margin:2px 0 3px;color:var(--navy);font-size:29px;letter-spacing:-.7px}.dashboard-head p{margin:0;color:var(--muted);font-size:10px}.dashboard-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.live-dot{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #D8E8DE;background:#F3FAF5;border-radius:10px;color:var(--green);font-size:9px;font-weight:800}.live-dot i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}
.dashboard-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:24px 1px 10px}.dashboard-section-title span{font-size:11px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;color:var(--navy)}.dashboard-section-title small{font-size:9px;color:#8998AA}
.dashboard-grid-3{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.72fr) minmax(220px,.9fr);gap:14px;align-items:stretch}.dashboard-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.dashboard-grid-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px}.dashboard-panel{min-width:0}.status-summary{display:flex;align-items:center;gap:16px;min-height:150px}.status-ring{position:relative;width:108px;height:108px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0 45%,var(--blue) 45% 72%,#E3A61C 72% 86%,#DDE7EF 86% 100%)}.status-ring:before{content:'';position:absolute;width:78px;height:78px;border-radius:50%;background:#fff}.status-ring div{position:relative;text-align:center;z-index:1}.status-ring b{display:block;color:var(--navy);font-size:22px}.status-ring span{color:var(--muted);font-size:8px}.status-legend{display:grid;gap:8px;flex:1;min-width:0}.status-legend div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:9px}.status-legend span{color:var(--muted)}.status-legend b{color:var(--navy)}.dot{width:7px;height:7px;border-radius:50%;display:block}.dot.confirmed{background:var(--blue)}.dot.waiting{background:#E3A61C}.dot.attending{background:var(--green)}.dot.done{background:#6AAEDB}.dot.cancelled{background:#D33A46}
.progress-track,.mini-progress{height:6px;border-radius:20px;background:#EDF2F5;overflow:hidden}.progress-track span,.mini-progress span{display:block;height:100%;border-radius:20px;background:var(--green)}.progress-note{display:block;color:#8A98A8;font-size:8px;margin-top:6px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-grid .quick-item,.quick-item{min-height:52px;padding:11px 10px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;color:var(--navy);font-size:9px;font-weight:900;text-decoration:none;background:#FBFDFF}.quick-grid .quick-item:hover,.quick-item:hover{border-color:#BFD0E0;background:var(--mint)}.quick-item svg{width:16px;height:16px;flex:none}
.kpi-list{display:grid;gap:0}.kpi-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #EDF1F4}.kpi-list div:last-child{border-bottom:0}.kpi-list span{font-size:9px;color:var(--muted)}.kpi-list b{font-size:13px;color:var(--navy)}.warn-number{color:var(--warning)!important}.big-split{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 15px}.big-split div:first-child{border-right:1px solid var(--line);padding-right:14px}.big-split div:last-child{padding-left:14px}.big-split b{display:block;color:var(--navy);font-size:25px}.big-split span{font-size:8px;color:var(--muted)}
.activity-list,.recent-patients,.system-list{display:grid;gap:0}.activity-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #EDF1F4;min-width:0}.activity-item:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;flex:none;border-radius:50%;background:var(--mint);color:var(--navy);display:grid;place-items:center}.activity-icon svg{width:16px;height:16px}.activity-item b{display:block;color:var(--navy);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item span{display:block;color:var(--muted);font-size:8px;margin-top:2px}.activity-item small{display:block;color:var(--green);font-size:8px;font-weight:800;margin-top:2px}.activity-list.compact .activity-item{padding:8px 0}.activity-list.compact .activity-icon{width:30px;height:30px}.recent-patient{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #EDF1F4;min-width:0}.recent-patient:last-child{border-bottom:0}.recent-patient .avatar{width:30px;height:30px;flex:none}.recent-patient b{display:block;color:var(--navy);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-patient span{display:block;color:var(--muted);font-size:8px;margin-top:2px}.system-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #EDF1F4;font-size:9px}.system-list div:last-child{border-bottom:0}.system-list span{color:var(--muted)}.system-list b{color:var(--navy);text-align:right}.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ops-grid div{border:1px solid #EDF1F4;border-radius:10px;padding:11px}.ops-grid small{display:block;color:var(--muted);font-size:8px}.ops-grid b{display:block;color:var(--navy);font-size:16px;margin:3px 0}.ops-grid span{display:block;color:#8A98A8;font-size:8px}.dashboard-chart{height:180px}.profile-card{background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;border-radius:14px;padding:18px}.video-box{background:linear-gradient(145deg,var(--navy2),var(--navy));border-radius:14px;min-height:390px;display:grid;place-items:center;text-align:center;color:#fff;padding:25px}.video-box h3{color:#fff}.call-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px}.call-btn{border:0;border-radius:10px;padding:10px 14px;color:#fff;background:var(--green);font-weight:800;font-size:10px}.call-btn.end{background:#B42318}

/* Calendário */
.calendar{width:100%;min-width:0}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.cal-head b{color:var(--navy);font-size:13px}.day{min-height:80px;border:1px solid #EDF1F4;border-radius:10px;padding:8px;background:#fff}.day-num{font-size:9px;color:var(--muted);font-weight:800}.event{margin-top:5px;padding:5px 6px;border-radius:7px;background:var(--mint);color:var(--navy);font-size:8px;overflow:hidden}.time-row{display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px;border-bottom:1px solid #EDF1F4;padding:9px 0}.time-row>div:first-child{color:var(--muted);font-size:9px}.appt{padding:9px 10px;border-left:3px solid var(--green);background:var(--mint);border-radius:8px;min-width:0}.appt b{font-size:9px;color:var(--navy)}

/* Paciente / detalhe */
.detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:14px}.info-list{display:grid;grid-template-columns:1fr 1fr;gap:0}.info-list>div{padding:10px 0;border-bottom:1px solid #EDF1F4}.info-list small{display:block;color:var(--muted);font-size:8px}.info-list b{display:block;color:var(--navy);font-size:10px;margin-top:2px}.timeline{display:grid;gap:0}.record{padding:13px 0;border-bottom:1px solid #EDF1F4}.record:last-child{border-bottom:0}.record b{color:var(--navy);font-size:10px}.record p{color:var(--muted);font-size:9px;margin:4px 0 0}.big-avatar{width:64px;height:64px;border-radius:50%;background:var(--mint);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:17px}

/* Farmácia */
.hp-pharmacy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px}.hp-pharmacy-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-soft)}.hp-pharmacy-card img{width:100%;height:140px;object-fit:cover}.hp-pharmacy-card-body{padding:13px}.admin-product-thumb{width:52px;height:52px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#F7FAFC}.admin-product-placeholder{width:52px;height:52px;border-radius:10px;background:var(--mint);color:var(--navy);display:grid;place-items:center;font-size:23px}

/* Login */
.login{min-height:100vh;background:linear-gradient(135deg,#F4FBFD,#EAF8FC);display:grid;place-items:center;padding:20px}.login-box{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.login-box .field{margin:12px 0}.login-logo{height:70px;width:auto;margin:0 auto 15px}.hp-developer-signature{text-align:center;padding:14px 12px;color:#8B9AAE;font-size:9px}.hp-developer-signature strong{color:var(--navy)}

/* Compatibilidade com componentes antigos */
.portal-shell,.portal-grid,.tele-grid,.dash-grid,.quick{min-width:0}.portal-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:700px}.portal-main{padding:28px}.portal-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.portal-top h2{color:var(--navy);font-size:25px}.portal-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:18px}.dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tele-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:18px}.video{min-height:440px;border-radius:18px;background:linear-gradient(145deg,var(--navy2),var(--navy));display:grid;place-items:center;color:#fff;text-align:center;padding:20px}.video .camera{width:88px;height:88px;border:2px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-size:32px;margin:0 auto 15px}.patient-card{display:flex;gap:12px;align-items:center;padding:13px;border-bottom:1px solid var(--line)}

/* Tablet */
@media (max-width:1180px){
  :root{--sidebar:225px}
  .side-brand{padding:0 15px}.side-profile{padding-left:15px;padding-right:15px}.side .nav{padding-left:10px;padding-right:10px}
  .content{padding-left:24px;padding-right:24px}
  .topbar{padding-left:22px;padding-right:22px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid-3{grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr)}
  .dashboard-grid-3>.dashboard-panel:last-child{grid-column:1/-1}
  .dashboard-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid-4>.dashboard-panel:nth-child(3),.dashboard-grid-4>.dashboard-panel:nth-child(4){min-height:180px}
  .dashboard-grid-2,.detail-grid,.portal-grid,.tele-grid{grid-template-columns:1fr}
}

/* Mobile / tablet pequeno */
@media (max-width:780px){
  body.menu-open{overflow:hidden}
  .app{display:block;min-height:100vh}
  .side{position:fixed;left:0;top:0;bottom:0;width:min(300px,88vw);height:100vh;min-height:100vh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 55px rgba(8,38,101,.20);z-index:300}
  .side.show{transform:translateX(0)}
  .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(8,38,101,.28);opacity:0;pointer-events:none;transition:.2s;z-index:250}
  .sidebar-overlay.show{opacity:1;pointer-events:auto}
  .sidebar-collapse{display:none}
  .hamb{display:grid}
  .topbar{height:66px;min-height:66px;padding:0 14px;gap:9px}
  .top-title .top-eyebrow{display:none}.top-title h1{font-size:16px;max-width:34vw}
  .top-actions{gap:0}.top-icon{width:35px;height:35px}.top-icon svg{width:18px;height:18px}.top-actions .top-icon:nth-child(n+4){display:none}.top-divider{display:none}.top-logout{padding:8px 9px}.top-logout span{display:none}.top-logout svg{width:18px;height:18px}
  .content{padding:20px 15px 32px;max-width:none}
  .page-head,.dashboard-head{align-items:flex-start;flex-direction:column;gap:12px}.page-head h2{font-size:22px}.dashboard-head h2{font-size:25px}.page-head .actions,.dashboard-head-actions{width:100%;justify-content:flex-start}.page-head .actions .btn,.dashboard-head-actions .btn{flex:0 1 auto}
  .formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .toolbar{align-items:stretch;flex-direction:column}.toolbar .search{max-width:none}
  .table-wrap{overflow-x:auto}.table{min-width:680px}
  .dashboard-grid-3,.dashboard-grid-4,.dashboard-grid-2,.detail-grid{grid-template-columns:1fr}.dashboard-grid-3>.dashboard-panel:last-child,.dashboard-grid-4>.dashboard-panel:last-child{grid-column:auto}
  .dashboard-cards{grid-template-columns:1fr 1fr}.dashboard-cards .metric b{font-size:21px}
  .status-summary{min-height:auto}.status-ring{width:92px;height:92px}.status-ring:before{width:66px;height:66px}
  .quick-grid{grid-template-columns:1fr}.info-list{grid-template-columns:1fr}
  .modal{padding:10px}.modal-box{max-height:94vh;padding:16px;border-radius:15px}.modal-actions{justify-content:stretch}.modal-actions .btn{flex:1}
  .portal-shell{display:block}.portal-main{padding:18px 14px}.dash-grid{grid-template-columns:1fr 1fr}.quick{grid-template-columns:1fr}.tele-grid{grid-template-columns:1fr}.video{min-height:330px}
}

@media (max-width:500px){
  .content{padding-left:11px;padding-right:11px}
  .cards,.dashboard-cards{grid-template-columns:1fr}
  .metric{padding:15px}.metric b{font-size:24px}.panel{padding:15px}.page-head h2{font-size:21px}.dashboard-head h2{font-size:24px}
  .dashboard-section-title{align-items:flex-start;flex-direction:column;gap:2px}
  .dashboard-head-actions .btn,.page-head .actions .btn{width:100%;flex:1}
  .dashboard-head-actions,.page-head .actions{display:grid;grid-template-columns:1fr;width:100%}
  .dashboard-head-actions .live-dot{justify-content:center}
  .status-summary{align-items:flex-start;flex-direction:column}.status-legend{width:100%}
  .big-split{grid-template-columns:1fr}.big-split div:first-child{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.big-split div:last-child{padding:12px 0 0}
  .top-title{max-width:42vw}.top-title h1{max-width:100%;font-size:15px}.top-actions .top-icon:nth-child(3){display:none}
  .top-logout{padding:8px}
  .formgrid{gap:11px}.field input,.field select,.field textarea,.input,.select{min-height:42px}
  .table{min-width:650px}
}

@media (max-width:360px){
  .top-actions .top-icon:nth-child(2){display:none}.top-title{max-width:48vw}.top-title h1{font-size:14px}.hamb{width:34px;height:34px}.topbar{padding:0 10px}.content{padding-left:9px;padding-right:9px}
}

/* Sidebar recolhida no desktop */
@media (min-width:781px){
  body.sidebar-collapsed .app{grid-template-columns:78px minmax(0,1fr)}
  body.sidebar-collapsed .side{width:78px}
  body.sidebar-collapsed .side-brand{padding:0 10px;justify-content:center}
  body.sidebar-collapsed .side-brand>a span,body.sidebar-collapsed .side-profile>div:last-child,body.sidebar-collapsed .nav-group-label,body.sidebar-collapsed .nav a span,body.sidebar-collapsed .side-bottom span,body.sidebar-collapsed .side-bottom small{display:none}
  body.sidebar-collapsed .side-brand img{max-width:50px}
  body.sidebar-collapsed .sidebar-collapse{transform:none;margin-left:0}
  body.sidebar-collapsed .side-profile{justify-content:center;padding:14px 8px}
  body.sidebar-collapsed .side .nav{padding-left:8px;padding-right:8px}
  body.sidebar-collapsed .nav a.nav-link{justify-content:center;padding:10px 8px}
  body.sidebar-collapsed .side-bottom{padding-left:8px;padding-right:8px}
}

@media print{.side,.topbar,.no-print{display:none!important}.app{display:block!important}.main,.content{width:100%!important;max-width:none!important}.content{padding:0!important}.panel,.metric{box-shadow:none}}

/* Hospitango V14 · Dashboard único */
.unique-dashboard{display:grid;gap:18px}.ud-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 2px 2px}.ud-kicker{display:inline-block;color:var(--green);font-size:8px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}.ud-welcome h2{margin:7px 0 4px;color:var(--navy);font-size:28px;letter-spacing:-.7px}.ud-welcome p{margin:0;color:var(--muted);font-size:11px}.ud-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ud-live{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:10px;color:#52708d;font-size:9px;font-weight:800}.ud-live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #eaf6e7}.ud-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ud-kpi{display:flex;align-items:center;gap:13px;min-width:0;padding:17px;border:1px solid #e7edf3;border-radius:16px;background:#fff;box-shadow:var(--shadow-soft)}.ud-kpi-icon{width:46px;height:46px;flex:none;border-radius:14px;display:grid;place-items:center}.ud-kpi-icon svg{width:22px;height:22px}.ud-kpi small{display:block;color:#718196;font-size:9px;font-weight:800}.ud-kpi strong{display:block;color:var(--navy);font-size:23px;line-height:1.2;margin:3px 0}.ud-kpi span{display:block;color:#8090a2;font-size:8px}.ud-kpi.blue .ud-kpi-icon{background:#eaf3ff;color:#1769d0}.ud-kpi.green .ud-kpi-icon{background:#eaf8ee;color:#28834b}.ud-kpi.purple .ud-kpi-icon{background:#f0eaff;color:#6840cc}.ud-kpi.cyan .ud-kpi-icon{background:#e6f7fa;color:#087f94}.ud-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr) minmax(250px,.85fr);gap:14px;align-items:stretch}.ud-card{min-width:0;background:#fff;border:1px solid #e7edf3;border-radius:16px;box-shadow:var(--shadow-soft);padding:18px}.ud-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ud-card-head h3{display:flex;align-items:center;gap:7px;margin:0;color:var(--navy);font-size:14px}.ud-card-head h3 svg{width:17px;height:17px;color:var(--green)}.ud-card-head p{margin:4px 0 0;color:#8593a4;font-size:8px}.ud-card-head>a{color:var(--blue);font-size:9px;font-weight:800;white-space:nowrap}.ud-appointments{display:grid}.ud-appt{display:grid;grid-template-columns:48px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f5;min-width:0}.ud-appt:last-child{border-bottom:0}.ud-time{font-size:10px;font-weight:900;color:var(--blue)}.ud-person{display:flex;align-items:center;gap:9px;min-width:0}.ud-person .avatar{width:32px;height:32px;flex:none}.ud-person b,.ud-person span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-person b{color:var(--navy);font-size:9px}.ud-person span{color:#8997a7;font-size:8px;margin-top:2px}.ud-row-link{color:var(--blue);font-size:19px;text-align:right}.ud-empty{padding:30px 10px;text-align:center;color:#8b99a9;font-size:10px}.ud-status{display:flex;flex-direction:column}.ud-ring{width:112px;height:112px;margin:4px auto 12px;border-radius:50%;background:conic-gradient(var(--blue) 0 44%,var(--green) 44% 72%,#8c5ce8 72% 88%,#f0b429 88% 100%);display:grid;place-items:center}.ud-ring:before{content:"";position:absolute}.ud-ring>div{width:78px;height:78px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center}.ud-ring strong{color:var(--navy);font-size:23px;line-height:1}.ud-ring span{color:#8a98a8;font-size:8px;margin-top:3px}.ud-legend{display:grid;gap:7px}.ud-legend div{display:flex;align-items:center;gap:7px;color:#53667b;font-size:9px}.ud-legend i{width:8px;height:8px;border-radius:50%}.ud-legend b{margin-left:auto;color:var(--navy)}.c-blue{background:#1670db}.c-yellow{background:#eab13c}.c-purple{background:#7650d6}.c-green{background:#39a45b}.ud-progress{height:6px;border-radius:20px;background:#edf2f6;overflow:hidden;margin-top:auto}.ud-progress span{display:block;height:100%;border-radius:inherit;background:var(--green)}.ud-actions .ud-card-head{margin-bottom:10px}.ud-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ud-action-grid a{min-height:70px;padding:10px 8px;border:1px solid #e6edf3;border-radius:11px;background:#fbfdff;color:var(--navy);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:7px;font-size:8px;font-weight:800;transition:.15s}.ud-action-grid a:hover{border-color:#bcd2e4;background:#f2f8fb;transform:translateY(-1px)}.ud-action-grid a span{width:28px;height:28px;border-radius:9px;background:var(--mint);color:var(--blue);display:grid;place-items:center}.ud-action-grid a svg{width:15px;height:15px}.ud-lower-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr) minmax(250px,.75fr);gap:14px}.ud-chart-area{height:185px;display:grid;grid-template-columns:35px minmax(0,1fr);gap:6px;margin-top:5px}.ud-y{display:flex;flex-direction:column;justify-content:space-between;padding:3px 0 20px;color:#98a5b4;font-size:7px;text-align:right}.ud-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:10px;height:100%;padding:0 7px 20px;border-bottom:1px solid #e9eef3;background:repeating-linear-gradient(to bottom,transparent 0,transparent 44px,#eef2f5 45px)}.ud-bar-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0}.ud-bar{width:min(34px,5vw);min-height:8px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#1769d0,#5ca2eb);position:relative;box-shadow:0 7px 14px rgba(23,105,208,.14)}.ud-bar b{position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-size:7px;color:var(--navy)}.ud-bar-col small{font-size:8px;color:#8391a1}.ud-chart-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:12px;font-size:8px;color:#8290a0}.ud-chart-foot b{color:var(--navy)}.ud-chart-foot .dot-blue{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--blue);margin-right:4px}.ud-positive{color:var(--green);font-weight:800}.ud-recent-list{display:grid}.ud-recent-list>a{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f5}.ud-recent-list>a:last-child{border-bottom:0}.ud-recent-list .avatar{width:32px;height:32px;flex:none}.ud-recent-list b,.ud-recent-list span{display:block}.ud-recent-list b{font-size:9px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-recent-list span{font-size:8px;color:#8997a7;margin-top:2px}.ud-recent-list small{margin-left:auto;color:#8a98a8;font-size:7px}.ud-alert{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #edf1f5}.ud-alert:last-child{border-bottom:0}.ud-alert>span{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;flex:none}.ud-alert svg{width:15px;height:15px}.ud-alert div{min-width:0}.ud-alert b,.ud-alert small{display:block}.ud-alert b{color:var(--navy);font-size:9px}.ud-alert small{color:#8997a7;font-size:7px;margin-top:2px}.ud-alert strong{margin-left:auto;font-size:17px;color:var(--blue)}.ud-alert.danger>span{background:#fff0f1;color:#b42318}.ud-alert.warning>span{background:#fff7e6;color:#a26b00}.ud-alert.info>span{background:#eaf3ff;color:#1769d0}.ud-pharmacy{position:relative;min-height:190px;border-radius:18px;overflow:hidden;background:#0a2f86;box-shadow:var(--shadow-soft)}.ud-pharmacy-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,47,134,.98) 0%,rgba(8,47,134,.88) 35%,rgba(8,47,134,.28) 100%),url('../assets/img/hospitango-pharmacy-vitrine.jpg') center/cover}.ud-pharmacy-overlay{position:relative;z-index:1;min-height:190px;display:grid;grid-template-columns:minmax(220px,.8fr) 1.4fr auto;align-items:center;gap:25px;padding:24px 27px;color:#fff}.ud-pharmacy-overlay h3{font-size:27px;margin:5px 0}.ud-pharmacy-overlay p{margin:0;color:#dbe8ff;font-size:10px;max-width:330px}.ud-pharmacy-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ud-pharmacy-stats div{padding:11px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(255,255,255,.1);backdrop-filter:blur(4px)}.ud-pharmacy-stats b,.ud-pharmacy-stats span{display:block}.ud-pharmacy-stats b{font-size:15px}.ud-pharmacy-stats span{font-size:7px;color:#dbe8ff;margin-top:3px}.btn.light{background:#fff;color:var(--blue);border-color:#fff}.ud-footer{text-align:right;color:#8b99a9;font-size:8px;padding:2px 3px}.ud-footer span{margin:0 6px}.ud-footer b{color:var(--navy)}
@media(max-width:1180px){.ud-kpis{grid-template-columns:repeat(2,1fr)}.ud-main-grid{grid-template-columns:1.35fr .85fr}.ud-actions{grid-column:1/-1}.ud-lower-grid{grid-template-columns:1fr 1fr}.ud-chart{grid-column:1/-1}.ud-pharmacy-overlay{grid-template-columns:1fr 1.5fr}.ud-pharmacy-overlay>.btn{justify-self:start}.ud-pharmacy-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.ud-welcome{align-items:flex-start;flex-direction:column}.ud-welcome h2{font-size:24px}.ud-head-actions{width:100%}.ud-head-actions .btn{flex:1}.ud-kpis{grid-template-columns:1fr 1fr}.ud-main-grid,.ud-lower-grid{grid-template-columns:1fr}.ud-actions,.ud-chart{grid-column:auto}.ud-appt{grid-template-columns:44px minmax(0,1fr) auto}.ud-row-link{display:none}.ud-pharmacy-overlay{grid-template-columns:1fr;padding:20px;gap:15px}.ud-pharmacy{min-height:360px}.ud-pharmacy-overlay{min-height:360px}.ud-pharmacy-stats{grid-template-columns:repeat(2,1fr)}.ud-pharmacy-overlay>.btn{width:max-content}.ud-footer{text-align:left}}
@media(max-width:500px){.ud-kpis{grid-template-columns:1fr}.ud-card{padding:15px}.ud-kpi{padding:14px}.ud-kpi strong{font-size:21px}.ud-person span{font-size:7px}.ud-appt .badge{font-size:7px;padding:4px 6px}.ud-bars{gap:4px}.ud-bar{width:25px}.ud-pharmacy-stats{grid-template-columns:1fr 1fr}.ud-pharmacy-overlay h3{font-size:24px}.ud-welcome p{font-size:10px}}


/* Acabamento profissional do painel */
.panel,.ud-card,.ud-kpi,.table-wrap,.utility-card{transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
.panel:hover,.ud-card:hover{box-shadow:0 12px 34px rgba(10,47,134,.075);border-color:#d4e2ec}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(10,47,134,.10)}
.btn:active{transform:translateY(0);box-shadow:none}
input:focus,select:focus,textarea:focus{outline:0;border-color:#79a9d4!important;box-shadow:0 0 0 3px rgba(7,95,186,.10)}
.table-wrap{border:1px solid #e3ebf2;border-radius:14px;overflow:auto;background:#fff}
.table thead th{position:sticky;top:0;z-index:2;background:#f8fbfd}
.nav a.nav-link .hp-icon-wrap{transition:transform .16s ease}
.nav a.nav-link:hover .hp-icon-wrap,.nav a.nav-link.on .hp-icon-wrap{transform:translateX(1px) scale(1.04)}
.side-bottom a .hp-icon-wrap{color:currentColor}
@media(max-width:780px){.topbar{padding:0 16px}.top-actions{gap:1px}.top-logout span{display:none}.top-logout{width:38px;height:38px;padding:0;border-radius:50%}}

/* Crédito institucional — AGM InoVarte Designer */
.agm-credit{width:100%;box-sizing:border-box;text-align:center;padding:10px 16px;font-size:11px;line-height:1.4;color:#64748b;letter-spacing:.01em;background:transparent;}
.agm-credit strong{font-weight:700;color:inherit;}
@media (max-width:600px){.agm-credit{font-size:10px;padding:9px 12px;}}

/* Funcionalidade dos botões do cabeçalho */
.top-icon{text-decoration:none}.top-icon:focus-visible,.top-logout:focus-visible{outline:3px solid rgba(7,95,186,.18);outline-offset:2px}
.utility-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.message-list,.notification-list{display:grid;gap:0}.message-item{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #EDF1F4}.message-item:last-child{border-bottom:0}.message-item .avatar{width:36px;height:36px;flex:none;border-radius:50%;background:var(--mint);color:var(--navy);display:grid;place-items:center;font-size:10px;font-weight:900}.message-item b{display:block;color:var(--navy);font-size:11px}.message-item small,.message-item p{display:block;color:var(--muted);font-size:9px;margin:3px 0 0}.message-item p{color:#52657B;line-height:1.55}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #EDF1F4}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#F8FBFE;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:10px}.notification-body{flex:1;min-width:0}.notification-body b{display:block;color:var(--navy);font-size:11px}.notification-body p{margin:4px 0;color:#52657B;font-size:9px}.notification-body small{color:#8A98A8;font-size:8px}.profile-card-light{background:#fff}.profile-hero{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.profile-hero h3{margin:0 0 3px}.profile-hero p{margin:0;color:var(--muted);font-size:9px}.avatar-lg{width:52px!important;height:52px!important;font-size:14px!important}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #EDF1F4}.settings-row:last-of-type{margin-bottom:18px}.settings-row b{display:block;color:var(--navy);font-size:11px}.settings-row span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.settings-row>select{min-width:140px}.switch{position:relative;width:42px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:20px;background:#CBD5E1;cursor:pointer;transition:.18s}.switch span:before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 4px rgba(0,0,0,.12)}.switch input:checked+span{background:var(--green)}.switch input:checked+span:before{transform:translateX(18px)}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.help-grid h3{display:flex;align-items:center;gap:8px}.help-grid h3 svg{width:18px;height:18px;color:var(--green)}
@media(max-width:900px){.utility-grid,.help-grid{grid-template-columns:1fr}.utility-grid .panel,.help-grid .panel{min-width:0}}
@media(max-width:600px){.settings-row{align-items:flex-start;flex-direction:column;gap:10px}.settings-row>select{width:100%}.notification-item{align-items:flex-start}.notification-item .btn{flex:none}.message-item{min-width:0}.message-item>div:nth-child(2){min-width:0}}

.bonus-card-box{display:grid;grid-template-columns:1fr;gap:10px;padding:16px;border:1px solid #dce8ee;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#eef8f1)}.bonus-card-box small,.bonus-card-box span{display:block;color:#718196;font-size:9px}.bonus-card-box strong{display:block;color:var(--navy);font-size:18px;margin:2px 0 4px}.bonus-progress{height:8px;border-radius:20px;background:#e5edf2;overflow:hidden}.bonus-progress i{display:block;height:100%;background:var(--green);border-radius:inherit}.bonus-card-box b{color:var(--navy)}


/* ==========================================================
   PERSONALIZAÇÃO POR MÓDULO — identidade funcional Hospitango
   Cada área recebe um acento visual próprio, mantendo a marca
   Hospitango (azul + verde) como base institucional.
   ========================================================== */
body[class*="module-"]{--module-accent:var(--navy);--module-soft:#EAF3FF;--module-border:#CFE0F4;--module-ink:var(--navy)}
body.module-dashboard{--module-accent:#075FBA;--module-soft:#EAF3FF;--module-border:#CFE0F4}
body.module-patients{--module-accent:#087F8C;--module-soft:#E8F8F8;--module-border:#C8E9EA}
body.module-appointments{--module-accent:#6B4FD3;--module-soft:#F1EDFF;--module-border:#DDD4FF}
body.module-records{--module-accent:#3155B5;--module-soft:#ECF1FF;--module-border:#D4DDF7}
body.module-prescriptions{--module-accent:#45842C;--module-soft:#EEF8EA;--module-border:#D7E9D0}
body.module-exams{--module-accent:#008CA8;--module-soft:#E8F8FC;--module-border:#C9EAF1}
body.module-telemedicine{--module-accent:#7546C8;--module-soft:#F3ECFF;--module-border:#DFD0F6}
body.module-pharmacy_products,body.module-pharmacy_orders{--module-accent:#C56A18;--module-soft:#FFF3E7;--module-border:#F0D5B8}
body.module-health_plans{--module-accent:#17805A;--module-soft:#EAF8F1;--module-border:#CBE8D9}
body.module-billing{--module-accent:#A56A00;--module-soft:#FFF7E6;--module-border:#F0DFB9}
body.module-reports{--module-accent:#516273;--module-soft:#EFF3F6;--module-border:#D7E0E7}
body.module-doctors{--module-accent:#1769B0;--module-soft:#EAF4FC;--module-border:#CBDFF0}
body.module-users{--module-accent:#B23A48;--module-soft:#FFF0F2;--module-border:#F0D0D5}
body.module-messages{--module-accent:#1678B8;--module-soft:#EAF5FC;--module-border:#CCE3F1}
body.module-notifications{--module-accent:#A36A00;--module-soft:#FFF7E7;--module-border:#EFDEB9}
body.module-settings{--module-accent:#667085;--module-soft:#F1F3F5;--module-border:#DDE2E7}
body.module-profile{--module-accent:#3D668C;--module-soft:#EDF4F9;--module-border:#D2E0EA}
body.module-help{--module-accent:#2F6F22;--module-soft:#EEF8EA;--module-border:#D6E8CF}

body[class*="module-"] .top-title .top-eyebrow,
body[class*="module-"] .page-head .eyebrow{color:var(--module-accent)}
body[class*="module-"] .top-title h1,
body[class*="module-"] .page-head h2,
body[class*="module-"] .panel h3{color:var(--module-ink)}
body[class*="module-"] .page-head{position:relative;padding-left:14px}
body[class*="module-"] .page-head:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:8px;background:var(--module-accent)}
body[class*="module-"] .nav a.nav-link.on{background:var(--module-accent);box-shadow:0 6px 16px color-mix(in srgb,var(--module-accent) 18%,transparent)}
body[class*="module-"] .nav a.nav-link.on:hover{background:var(--module-accent)}
body[class*="module-"] .nav a.nav-link.on:after{background:#fff}
body[class*="module-"] .mini-icon{background:var(--module-soft);color:var(--module-accent)}
body[class*="module-"] .metric b{color:var(--module-ink)}
body[class*="module-"] .metric .trend{color:var(--module-accent)}
body[class*="module-"] .panel{border-top:3px solid var(--module-accent)}
body[class*="module-"] .panel .table th{background:var(--module-soft);color:var(--module-accent)}
body[class*="module-"] .panel .table tr:hover td{background:color-mix(in srgb,var(--module-soft) 55%,white)}
body[class*="module-"] .btn.primary{background:var(--module-accent)}
body[class*="module-"] .btn.primary:hover{background:color-mix(in srgb,var(--module-accent) 88%,black)}
body[class*="module-"] .btn.secondary{background:var(--module-soft);border-color:var(--module-border);color:var(--module-accent)}
body[class*="module-"] .top-icon:hover{background:var(--module-soft);color:var(--module-accent)}
body[class*="module-"] .field input:focus,body[class*="module-"] .field select:focus,body[class*="module-"] .field textarea:focus{border-color:var(--module-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--module-accent) 12%,transparent)}
body[class*="module-"] .badge.module-badge{background:var(--module-soft);color:var(--module-accent);border-color:var(--module-border)}

/* Assinatura visual dos grupos do menu */
.nav a.nav-patients.on svg,.nav a.nav-appointments.on svg,.nav a.nav-records.on svg,.nav a.nav-prescriptions.on svg,.nav a.nav-exams.on svg,.nav a.nav-telemedicine.on svg,.nav a.nav-pharmacy_products.on svg,.nav a.nav-pharmacy_orders.on svg,.nav a.nav-health_plans.on svg,.nav a.nav-billing.on svg,.nav a.nav-reports.on svg,.nav a.nav-doctors.on svg,.nav a.nav-users.on svg,.nav a.nav-messages.on svg,.nav a.nav-notifications.on svg,.nav a.nav-settings.on svg,.nav a.nav-profile.on svg,.nav a.nav-help.on svg{stroke:currentColor}

/* Melhor leitura em ecrãs pequenos */
@media(max-width:850px){body[class*="module-"] .page-head{padding-left:11px}body[class*="module-"] .page-head:before{width:3px}.content{padding-top:22px}}

/* V18 — abertura e fecho de turno */
.workday-top{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #dce5ef;border-radius:999px;text-decoration:none;font-size:10px;font-weight:800;color:var(--navy);background:#fff;white-space:nowrap}.workday-top span{width:8px;height:8px;border-radius:50%;background:#d0d7df}.workday-top.open{border-color:#cfe6c6;background:#f4fbf1;color:#347221}.workday-top.open span{background:#45842c;box-shadow:0 0 0 4px #e7f4e2}.workday-top.closed{border-color:#f2dfb8;background:#fffaf0;color:#8a6500}.workday-top.closed span{background:#d69e16}.workday-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid #dce5ef;border-radius:16px;margin-bottom:16px;background:#fff;box-shadow:0 8px 25px rgba(10,47,134,.05)}.workday-hero>div{display:flex;align-items:center;gap:12px}.workday-dot{width:12px;height:12px;border-radius:50%;background:#c8d0da}.workday-hero.is-open{border-color:#cfe6c6;background:#f7fcf5}.workday-hero.is-open .workday-dot{background:#45842c;box-shadow:0 0 0 6px #e7f4e2}.workday-hero b{display:block;font-size:16px;color:var(--navy)}.workday-hero small{display:block;margin-top:3px;color:#718096}.workday-badge{font-size:9px;font-weight:900;letter-spacing:.08em;padding:7px 10px;border-radius:999px;background:#f0f3f7;color:#667386}.workday-hero.is-open .workday-badge{background:#e7f4e2;color:#347221}.workday-panel{margin-bottom:16px}.workday-title h3{margin:0 0 4px}.workday-title p{margin:0 0 18px;color:#718096}.workday-summary{display:flex;gap:12px;margin-bottom:18px}.workday-summary>div{padding:12px 14px;border:1px solid #e6ebf1;border-radius:12px;min-width:150px}.workday-summary small,.workday-summary b{display:block}.workday-summary small{color:#7b8797;margin-bottom:4px}.workday-summary b{color:var(--navy)}
@media(max-width:850px){.workday-top{font-size:0;padding:9px}.workday-top span{width:9px;height:9px}.workday-hero{align-items:flex-start}.workday-summary{flex-wrap:wrap}.workday-summary>div{flex:1;min-width:130px}}
