
/* ===== inline-style ===== */
:root{--radius:14px;--bg:#f8fbfd;--fg:#22304a;--card:#fff;--muted:#f0f6f8;--muted-fg:#6d7890;--primary:#20a5d7;--secondary:#66d1be;--border:#e3edf2;--success:#22b596;--warning:#d69b20;--danger:#e05c49;--grad:linear-gradient(135deg,#20a5d7,#66d1be);--soft:linear-gradient(180deg,#f7fbfd,#e9f7f6);--shadow:0 10px 40px -12px rgba(32,90,130,.25)}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--fg)} a{text-decoration:none;color:inherit}.app{display:flex;min-height:100vh}.side{width:270px;background:#fbfdfe;border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:18px;border-bottom:1px solid var(--border);font-weight:700;font-size:22px}.brand i,.avatar,.ico{background:var(--grad);color:#fff;border-radius:14px;display:grid;place-items:center}.brand i{width:34px;height:34px}.brand span b{color:var(--primary)} .ico{font-family:Inter,sans-serif;font-weight:700;font-size:22px}.group{padding:16px 12px}.group small{display:block;color:var(--muted-fg);font-weight:600;font-size:12px;margin:5px 10px 10px}.nav{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#556277;font-size:14px;margin:3px 0;cursor:pointer}.nav:hover,.nav.active{background:#eaf7fa;color:#18324b}.nav.active{font-weight:700}.foot{margin-top:auto;border-top:1px solid var(--border);padding:14px}.clinic{display:flex;gap:12px;align-items:center}.avatar{width:38px;height:38px}.main{margin-left:270px;width:calc(100% - 270px)}header{height:65px;position:sticky;top:0;z-index:4;display:flex;gap:14px;align-items:center;padding:0 24px;background:rgba(248,251,253,.84);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.search{position:relative;max-width:430px;flex:1}.search input,.input,select,textarea{width:100%;border:1px solid transparent;background:#eef5f8;border-radius:12px;padding:12px 14px;font:inherit;color:var(--fg);outline:none}.search input{padding-left:40px}.search:before{content:'⌕';position:absolute;left:14px;top:8px;color:var(--muted-fg);font-size:22px}.btn{border:0;border-radius:12px;padding:11px 16px;background:var(--primary);color:#fff;font-weight:650;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center}.btn.outline{background:#fff;color:var(--fg);border:1px solid var(--border)}.btn.ghost{background:transparent;color:var(--fg)}.content{padding:28px}.top{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px}.top h1{margin:0;font-size:30px;letter-spacing:-.04em}.top p{margin:6px 0 0;color:var(--muted-fg);font-size:14px}.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:2fr 1fr}.g2{grid-template-columns:1fr 1fr}.card{background:var(--card);border:1px solid rgba(227,237,242,.75);border-radius:var(--radius);box-shadow:0 1px 0 rgba(0,0,0,.02);padding:22px}.card:hover{box-shadow:var(--shadow)}.stat{display:flex;justify-content:space-between;align-items:flex-start}.stat label{color:var(--muted-fg);font-size:14px;font-weight:600}.stat strong{display:block;font-size:30px;margin-top:8px}.delta{font-size:12px;color:var(--success);font-weight:700;margin-top:4px}.ico{width:44px;height:44px;background:#e5f6fb;color:#1597c6}.ico.s{background:#e6f8f5;color:#249b88}.ico.w{background:#fbf2dc;color:#9a6b11}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#edf6f7;color:#425064}.badge.green{background:#e5f7f1;color:#168767}.badge.yellow{background:#fbf1db;color:#8f6410}.badge.red{background:#ffe9e4;color:#bb4634}.chart{height:190px;display:flex;align-items:end;gap:14px;border-bottom:1px solid var(--border);padding:12px 6px 0}.bar{flex:1;display:flex;gap:6px;align-items:end;justify-content:center}.bar span{display:block;width:18px;border-radius:8px 8px 0 0;background:var(--primary);opacity:.85}.bar b{display:block;width:18px;border-radius:8px 8px 0 0;background:var(--secondary);opacity:.9}.days{display:flex;gap:14px;padding-top:8px;color:var(--muted-fg);font-size:12px}.days span{flex:1;text-align:center}.donut{width:190px;height:190px;border-radius:50%;margin:12px auto;background:conic-gradient(#20a5d7 0 32%,#66d1be 32% 56%,#38bdd5 56% 74%,#5ed0a9 74% 90%,#6573d9 90%);position:relative}.donut:after{content:'';position:absolute;inset:48px;background:white;border-radius:50%}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid rgba(227,237,242,.7);border-radius:14px;margin:9px 0}.rank{width:38px;height:38px;border-radius:11px;background:#e5f6fb;color:var(--primary);display:grid;place-items:center;font-weight:800}.muted{color:var(--muted-fg);font-size:12px}.page{display:none}.page.active{display:block}.table{width:100%;border-collapse:collapse}.table th{text-align:left;color:var(--muted-fg);font-size:12px;padding:10px;border-bottom:1px solid var(--border)}.table td{padding:13px 10px;border-bottom:1px solid var(--border);font-size:14px}.form{max-width:840px;margin:auto}.steps{display:flex;gap:8px;margin-bottom:22px}.step{height:8px;flex:1;border-radius:999px;background:#e6eff2}.step.on{background:var(--primary)}.choice{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff;cursor:pointer}.choice:hover,.choice.on{border-color:var(--primary);background:#effafd;color:var(--primary)}.center{text-align:center}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-left{background:var(--grad);color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.login-left h2{font-size:42px;line-height:1.05}.login-right{display:grid;place-items:center;padding:30px}.hidden{display:none!important}
@media(max-width:900px){.side{position:static;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.g4,.g3,.g2{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-left{display:none}header{padding:0 12px}.content{padding:18px}.top h1{font-size:24px}}

/* Ajuste v3: logo enquadrada sem espaço interno */
.brand{min-height:78px}
.brand .brand-logo{width:190px;max-width:100%;height:auto;display:block;object-fit:contain}
.login-left .brand .brand-logo{filter:none;width:250px}
.login-right .brand .brand-logo{width:220px}
.side .brand{height:78px;min-height:78px;justify-content:center;align-items:center;padding:0 24px;overflow:hidden}
.side .brand .brand-logo{width:185px;max-width:92%;transform:translateY(-1px)}
.brand-logo-white{background:transparent;border-radius:0;padding:0}

/* ===== Funcionalidade Questionário/CRM v6 ===== */
.q-wrap{max-width:980px;margin:0 auto;background:#e9fbff;padding:18px;border-radius:0}
.q-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);margin:4px 0 8px}
.q-progress{height:8px;background:#bfeefa;border-radius:999px;overflow:hidden;margin-bottom:16px}.q-progress span{display:block;height:100%;width:17%;background:#08a8dd;border-radius:999px;transition:.25s}
.q-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:26px}.q-tabs span{background:#dff5fb;color:#13436a;border-radius:999px;display:flex;align-items:center;justify-content:center;height:42px;padding:0 12px;font-size:12px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.q-tabs span.on{background:#bdeefa;color:#008dcc;font-weight:700}
.q-card{background:white;border:1px solid var(--border);border-radius:24px;padding:36px;box-shadow:0 10px 24px rgba(7,38,71,.04)}.q-title{display:flex;gap:16px;align-items:center;margin-bottom:28px}.q-title .ico{width:52px;height:52px}.field{margin-bottom:22px}.field label{display:block;font-weight:700;margin-bottom:8px}.q-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.q-option,.treatment-pill{border:1px solid #cfe0eb;background:white;border-radius:14px;padding:14px 16px;cursor:pointer;transition:.15s}.q-option:before{content:'○';color:#05aeea;margin-right:9px}.q-option.on:before{content:'●'}.q-option.on,.treatment-pill.on{border-color:#04aeea;background:#f0fbff;color:#052447;font-weight:700}.q-actions{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.range-row{display:flex;align-items:center;gap:12px}.range-row input{width:100%}.analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.analysis-main{background:#ecfbff;border-radius:22px;padding:24px}.analysis-profile{display:flex;gap:18px;align-items:flex-start}.big-avatar{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#02aee5,#5fd5c8)}.tag{display:inline-flex;padding:6px 12px;border-radius:999px;background:#d5f8ee;color:#007f62;font-size:12px;font-weight:700}.tag.warn{background:#ffecc7;color:#946000}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);margin-top:22px}.analysis-grid>div{padding:18px;border-right:1px solid var(--border);color:#102447}.analysis-grid>div:last-child{border-right:0}.analysis-grid .mini-muted{display:inline-block;color:#50617f!important;font-weight:600;opacity:1}.analysis-grid b{color:#102447!important;font-weight:800}.score-card{text-align:center}.score-ring{width:150px;height:150px;border-radius:50%;margin:16px auto;display:grid;place-items:center;background:conic-gradient(#09bfc3 0 87%,#dcecf2 87% 100%)}.score-ring div{width:104px;height:104px;border-radius:50%;background:white;display:grid;place-items:center}.score-ring strong{font-size:34px}.metric{margin:14px 0}.metric-bar{height:7px;background:#d8ecf4;border-radius:99px;overflow:hidden}.metric-bar span{display:block;height:100%;background:#049ddd}.deal-btn{background:#00a6dc;color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:rgba(5,20,40,.45);display:none;align-items:center;justify-content:center;z-index:99}.modal-backdrop.show{display:flex}.site-modal{width:min(560px,92vw);background:#fff;border-radius:24px;border:1px solid var(--border);box-shadow:0 20px 70px rgba(0,0,0,.22);padding:26px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.recent-list{display:grid;gap:10px}.recent-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:16px;padding:12px}.mini-muted{font-size:12px;color:var(--muted)}.deal-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.deal-check{border:1px solid #cfe0eb;border-radius:14px;padding:12px 14px;background:#fff;cursor:pointer;display:flex;align-items:center;gap:9px;font-weight:650}.deal-check input{accent-color:#00a6dc}.deal-check:has(input:checked){border-color:#04aeea;background:#f0fbff;color:#052447}.deal-note{min-height:92px;resize:vertical}.patient-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.analysis-btn{background:#eefbff;color:#06325c;border:1px solid #bcecf8;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.analysis-btn:hover{background:#dff7ff}
@media(max-width:900px){.q-tabs{grid-template-columns:repeat(2,1fr)}.q-options,.analysis-layout,.analysis-grid{grid-template-columns:1fr}.analysis-grid>div{border-right:0;border-bottom:1px solid var(--border)}}

/* v9 - modal premium de fechamento */
.deal-modal{width:min(720px,94vw);padding:0;overflow:hidden;border-radius:28px}
.deal-modal-head{display:flex;align-items:center;gap:14px;padding:24px 26px 18px;background:linear-gradient(135deg,#f4fcff,#ffffff 58%,#e8fbff);border-bottom:1px solid #e0eef5;position:relative}
.deal-modal-head h2{margin:0 0 4px;font-size:24px;color:#102447}
.deal-icon{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#00a9dc,#13d1c3);color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;box-shadow:0 12px 28px rgba(0,169,220,.25)}
.modal-x{margin-left:auto;width:36px;height:36px;border:0;border-radius:12px;background:#eef7fb;color:#102447;font-size:24px;line-height:1;cursor:pointer}
.modal-x:hover{background:#dff4fb}
.deal-patient-summary{margin:18px 26px 8px;padding:14px 16px;border:1px solid #dcecf3;border-radius:18px;background:#f8fdff;display:flex;align-items:center;justify-content:space-between;gap:14px}
.deal-patient-summary b{font-size:16px;color:#102447}
.deal-patient-summary span{color:#60708d;font-size:13px}
.deal-section{padding:8px 26px 0}
.section-line{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.section-line label{font-weight:800;color:#102447}
.section-line small{display:block;color:#60708d;margin-top:3px}
.deal-count{background:#e8f8ff;color:#0095c8;border:1px solid #bfeeff;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;white-space:nowrap}
.deal-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:8px}
.deal-check{min-height:48px;border:1px solid #d5e7f0;background:#fff;border-radius:16px;padding:13px 14px;transition:.18s ease;box-shadow:0 3px 10px rgba(16,36,71,.03)}
.deal-check:hover{transform:translateY(-1px);border-color:#7eddf8;box-shadow:0 10px 24px rgba(0,169,220,.10)}
.deal-check:has(input:checked){border-color:#00a9dc;background:linear-gradient(135deg,#edfbff,#f7feff);box-shadow:0 8px 20px rgba(0,169,220,.12)}
.deal-form-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;padding:12px 26px 0}
.deal-modal .field{padding:0 26px;margin-bottom:16px}
.deal-form-grid .field{padding:0;margin-bottom:0}
.deal-modal .input{background:#f2f8fb;border:1px solid #e0edf3;border-radius:14px;min-height:46px}
.deal-modal .input:focus{background:#fff;border-color:#00a9dc;box-shadow:0 0 0 4px rgba(0,169,220,.12)}
.money-input{position:relative}
.money-input span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#60708d;font-weight:800;z-index:1}
.money-input .input{padding-left:44px}
.deal-note{min-height:86px;resize:vertical}
.deal-actions{padding:16px 26px 24px;margin-top:0;background:#fbfeff;border-top:1px solid #e5f0f5}
.deal-actions .btn{min-height:44px;padding:0 18px;border-radius:14px}
@media(max-width:640px){.deal-form-grid,.deal-options{grid-template-columns:1fr}.deal-modal-head,.deal-section,.deal-form-grid,.deal-modal .field,.deal-actions{padding-left:18px;padding-right:18px}.deal-patient-summary{margin-left:18px;margin-right:18px;align-items:flex-start;flex-direction:column}.section-line{align-items:flex-start;flex-direction:column}.deal-modal{max-height:92vh;overflow:auto}}

/* v10 - modal de fechamento mais largo e compacto, sem depender de zoom */
.modal-backdrop.show{display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}
.deal-modal{width:min(980px,96vw)!important;max-height:calc(100vh - 36px);padding:0;overflow:hidden;border-radius:26px}
.deal-modal-head{padding:18px 24px 14px!important;gap:12px}
.deal-modal-head h2{font-size:22px!important;margin:0 0 2px}
.deal-modal-head .muted{font-size:12px;line-height:1.25}
.deal-icon{width:42px!important;height:42px!important;border-radius:14px!important;font-size:20px!important}
.modal-x{width:34px!important;height:34px!important;border-radius:10px!important}
.deal-patient-summary{margin:14px 24px!important;padding:12px 14px!important;border-radius:16px!important;display:grid!important;grid-template-columns:1.1fr 1fr;gap:14px;align-items:center}
.deal-patient-summary b{font-size:16px!important}
.deal-patient-summary span{font-size:12px!important;line-height:1.25}
.deal-section{padding:0 24px 12px!important}
.section-line{margin-bottom:10px!important}
.section-line label{font-size:15px!important}
.section-line small{font-size:12px!important}
.deal-count{padding:5px 10px!important;font-size:12px!important}
.deal-options{grid-template-columns:repeat(3,1fr)!important;gap:8px 10px!important}
.deal-check{min-height:40px!important;padding:9px 12px!important;border-radius:12px!important;font-size:14px!important}
.deal-form-grid{padding:0 24px!important;display:grid!important;grid-template-columns:1.25fr .75fr!important;gap:12px 14px!important}
.deal-modal .field{padding:0 24px!important;margin-bottom:12px!important}
.deal-form-grid .field{padding:0!important;margin-bottom:0!important}
.deal-modal .field label{font-size:13px!important;margin-bottom:6px!important}
.deal-modal .input{min-height:40px!important;border-radius:12px!important;font-size:14px!important;padding-top:9px!important;padding-bottom:9px!important}
.money-input span{height:40px!important;line-height:40px!important;font-size:15px!important}
.money-input .input{padding-left:44px!important}
.deal-note{min-height:62px!important;max-height:86px!important;resize:none!important}
.deal-actions{padding:0 24px 18px!important;margin-top:8px!important}
.deal-actions .btn{height:38px!important;padding:0 18px!important;border-radius:12px!important}
@media(max-width:760px){.deal-options{grid-template-columns:1fr 1fr!important}.deal-patient-summary{grid-template-columns:1fr!important}.deal-form-grid{grid-template-columns:1fr!important}.deal-modal{overflow:auto}.modal-backdrop.show{align-items:flex-start}}


/* v12 - modal de fechamento ajustado: mais largo, mais baixo e com ações fixas */
.modal-backdrop.show{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 18px!important;
  overflow:hidden!important;
}
.deal-modal{
  width:min(1120px,96vw)!important;
  max-height:88vh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border-radius:24px!important;
}
.deal-modal-head{
  flex:0 0 auto!important;
  padding:14px 22px 12px!important;
}
.deal-modal-head h2{font-size:21px!important}
.deal-icon{width:42px!important;height:42px!important;border-radius:14px!important;font-size:22px!important}
.deal-patient-summary{
  flex:0 0 auto!important;
  margin:12px 22px 10px!important;
  padding:12px 14px!important;
}
.deal-section{
  padding:0 22px 8px!important;
  flex:0 0 auto!important;
}
.section-line{margin-bottom:8px!important}
.section-line label{font-size:15px!important}
.section-line small{font-size:12px!important}
.deal-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.deal-check{
  min-height:38px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  font-size:14px!important;
}
.deal-form-grid{
  grid-template-columns:1.4fr .8fr!important;
  gap:12px!important;
  padding:0 22px!important;
  margin-top:2px!important;
}
.deal-modal .field{padding:0 22px!important;margin-bottom:8px!important}
.deal-modal .field label{font-size:13px!important;margin-bottom:5px!important}
.deal-modal .input{min-height:38px!important;padding:8px 12px!important;border-radius:12px!important;font-size:14px!important}
.deal-note{min-height:58px!important;max-height:78px!important;resize:none!important}
.deal-actions{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  background:#fff!important;
  border-top:1px solid #e0eef5!important;
  padding:10px 22px!important;
  margin-top:4px!important;
}
.deal-actions .btn{min-height:38px!important;padding:9px 16px!important;border-radius:12px!important}
@media(max-width:980px){
  .deal-modal{max-height:92vh!important;width:min(940px,96vw)!important}
  .deal-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .modal-backdrop.show{align-items:flex-start!important;padding:8px!important;overflow:auto!important}
  .deal-modal{width:100%!important;max-height:calc(100vh - 16px)!important}
  .deal-options,.deal-form-grid{grid-template-columns:1fr!important}
}


/* v13 - correção modal fechamento + questionário 7 etapas */
.q-tabs{grid-template-columns:repeat(7,1fr)!important;gap:8px!important;margin-bottom:20px!important}.q-tabs span{padding:7px 8px!important;font-size:11px!important}.q-card{padding:28px 32px!important}.q-options{gap:10px!important}.treatment-pill,.q-option{min-height:42px!important;padding:11px 14px!important}
.modal-backdrop.show{display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;overflow:hidden!important}.deal-modal{width:min(1080px,calc(100vw - 44px))!important;max-height:calc(100vh - 56px)!important;border-radius:24px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#fff!important}.deal-modal-head{padding:14px 22px!important;min-height:auto!important}.deal-icon{width:42px!important;height:42px!important;border-radius:14px!important}.deal-modal-head h2{font-size:22px!important}.deal-modal-head p{font-size:12px!important}.modal-x{top:18px!important;right:20px!important;width:34px!important;height:34px!important}.deal-patient-summary{margin:14px 22px 10px!important;padding:12px 16px!important;min-height:auto!important;display:grid!important;grid-template-columns:1fr 1.5fr!important;gap:14px!important}.deal-section{padding:0 22px 8px!important}.section-line{margin-bottom:8px!important}.section-line label{font-size:15px!important}.section-line small{font-size:12px!important}.deal-count{padding:6px 12px!important;font-size:12px!important}.deal-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px 10px!important}.deal-check{min-height:38px!important;padding:8px 12px!important;border-radius:12px!important;font-size:14px!important}.deal-form-grid{padding:0 22px!important;display:grid!important;grid-template-columns:2fr 1fr!important;gap:12px!important}.deal-modal .field{padding:0 22px!important;margin-bottom:8px!important}.deal-modal .field label{font-size:12px!important;margin-bottom:5px!important}.deal-modal .input{min-height:38px!important;padding:8px 12px!important;border-radius:12px!important;background:#f4f9fc!important}.money-input{height:38px!important}.money-input span{height:38px!important;padding-left:12px!important}.money-input input{height:38px!important}.deal-note{min-height:54px!important;max-height:70px!important;resize:none!important}.deal-actions{padding:10px 22px!important;margin-top:auto!important;position:sticky!important;bottom:0!important;background:linear-gradient(180deg,rgba(255,255,255,.9),#fff)!important;border-top:1px solid #e0eef5!important}.deal-actions .btn{min-height:38px!important;padding:9px 16px!important}.deal-modal .deal-section,.deal-modal .deal-form-grid,.deal-modal>.field{flex-shrink:0!important}@media(max-width:900px){.q-tabs{grid-template-columns:repeat(2,1fr)!important}.deal-options{grid-template-columns:repeat(2,1fr)!important}.deal-patient-summary,.deal-form-grid{grid-template-columns:1fr!important}.deal-modal{overflow:auto!important;max-height:94vh!important}.modal-backdrop.show{align-items:flex-start!important;overflow:auto!important}}

/* v14 - fechamento com valores por tratamento e modal corrigido */
.modal-backdrop.show{align-items:center!important;justify-content:center!important;padding:12px!important;overflow:hidden!important}.deal-modal-v14{width:min(1120px,calc(100vw - 28px))!important;max-height:calc(100vh - 28px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:24px!important}.deal-modal-v14 .deal-modal-head{flex-shrink:0!important;padding:18px 24px!important}.deal-modal-v14 .deal-scroll{overflow:auto!important;padding:16px 24px 10px!important;flex:1!important;min-height:0!important}.deal-modal-v14 .deal-patient-summary{margin:0 0 14px!important;padding:12px 14px!important;display:grid!important;grid-template-columns:1fr 1.4fr!important}.deal-modal-v14 .deal-section{padding:0!important}.deal-modal-v14 .section-line{margin-bottom:10px!important}.deal-modal-v14 .deal-options-price{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding-bottom:12px!important}.deal-price-row{display:grid!important;grid-template-columns:minmax(180px,1fr) 170px!important;gap:10px!important;align-items:center;border:1px solid #d4e8f1;border-radius:15px;background:#fff;padding:8px 10px!important}.deal-price-row.active{border-color:#00a9dc;background:linear-gradient(135deg,#eefcff,#fbfeff);box-shadow:0 8px 20px rgba(0,169,220,.10)}.deal-price-row .deal-check{border:0!important;background:transparent!important;box-shadow:none!important;min-height:auto!important;padding:0!important;border-radius:0!important;transform:none!important}.deal-price-row .money-input{height:38px!important}.deal-price-row .money-input span{height:38px!important}.deal-price-row .money-input input{height:38px!important;min-height:38px!important;background:#f4f9fc!important}.deal-extra-grid,.discount-grid{display:grid!important;gap:12px!important;align-items:end}.deal-extra-grid{grid-template-columns:1.4fr .6fr!important}.discount-grid{grid-template-columns:.55fr .65fr 1fr!important}.deal-modal-v14 .field{padding:0!important;margin-bottom:10px!important}.deal-note-field{margin-top:2px!important}.deal-modal-v14 .deal-note{min-height:68px!important;max-height:92px!important;resize:vertical!important}.deal-total-box{border:1px solid #bdefff;background:linear-gradient(135deg,#effcff,#fff);border-radius:16px;padding:11px 14px;min-height:62px;display:flex;flex-direction:column;justify-content:center}.deal-total-box span{font-size:12px;color:#60708d;font-weight:700}.deal-total-box strong{font-size:24px;color:#052447}.deal-total-box small{color:#60708d}.deal-modal-v14 .deal-actions{flex-shrink:0!important;position:static!important;padding:12px 24px!important;background:#fff!important;border-top:1px solid #e0eef5!important;margin:0!important}.deal-modal-v14 .deal-actions .btn{min-height:40px!important}@media(max-width:900px){.deal-modal-v14{max-height:96vh!important;width:calc(100vw - 16px)!important}.deal-modal-v14 .deal-scroll{padding:14px!important}.deal-modal-v14 .deal-options-price,.deal-extra-grid,.discount-grid,.deal-modal-v14 .deal-patient-summary{grid-template-columns:1fr!important}.deal-price-row{grid-template-columns:1fr!important}.deal-modal-v14 .deal-modal-head{padding:14px!important}.deal-modal-v14 .deal-actions{padding:10px 14px!important}}

/* v15 - correção definitiva dos campos de moeda */
.money-input{
  position:relative!important;
  width:100%!important;
  display:block!important;
}
.money-input span{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:30px!important;
  height:auto!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  color:#53647e!important;
  font-weight:900!important;
  font-size:14px!important;
  z-index:3!important;
  pointer-events:none!important;
  user-select:none!important;
}
.money-input .input,
.money-input input.input{
  width:100%!important;
  box-sizing:border-box!important;
  padding-left:58px!important;
  padding-right:14px!important;
  text-align:left!important;
  direction:ltr!important;
  unicode-bidi:plaintext!important;
  line-height:1.2!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.01em!important;
}
.deal-price-row .money-input,
.deal-price-row .money-input input{
  min-width:0!important;
}
.deal-price-row .money-input .input,
.deal-price-row .money-input input.input{
  height:40px!important;
  min-height:40px!important;
  padding-left:56px!important;
}
.deal-extra-grid .money-input .input,
.discount-grid .money-input .input{
  height:44px!important;
  min-height:44px!important;
  padding-left:58px!important;
}


/* v18 - tabela de preços em configurações */
.price-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.price-setting-row{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:18px;background:#fff}
.price-setting-row b{font-size:15px;color:var(--text)}
.price-setting-row small{display:block;color:var(--muted);margin-top:2px}
.settings-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
@media(max-width:900px){.price-settings-grid{grid-template-columns:1fr}.price-setting-row{grid-template-columns:1fr}}


/* v19 - correção de contraste da tabela de preços nas configurações */
#configuracoes .card > p.muted{
  color:#3f5171!important;
  font-weight:600!important;
}
.price-setting-row{
  background:linear-gradient(135deg,#ffffff 0%,#f8fdff 100%)!important;
  border:1px solid #cfe4ee!important;
  box-shadow:0 8px 22px rgba(8,35,70,.04)!important;
}
.price-setting-row > div:first-child b{
  color:#082347!important;
  font-weight:900!important;
  font-size:16px!important;
  letter-spacing:.01em!important;
}
.price-setting-row > div:first-child small{
  color:#62728d!important;
  font-weight:700!important;
  font-size:12px!important;
  opacity:1!important;
}
.price-setting-row .money-input{
  background:#edf5f9!important;
  border-radius:14px!important;
}
.price-setting-row .money-input span{
  color:#334866!important;
  opacity:1!important;
}
.price-setting-row .money-input input{
  color:#0b274b!important;
  background:#edf5f9!important;
  font-weight:800!important;
  opacity:1!important;
  -webkit-text-fill-color:#0b274b!important;
}
.price-setting-row .money-input input::placeholder{
  color:#687993!important;
  opacity:1!important;
}
.price-setting-row:focus-within{
  border-color:#00a9dc!important;
  box-shadow:0 0 0 3px rgba(0,169,220,.12),0 10px 24px rgba(8,35,70,.06)!important;
}


/* v23 - modal do sistema para avisos e análise financeira com preços configurados */
.system-modal-backdrop{position:fixed;inset:0;background:rgba(5,20,40,.42);display:none;align-items:center;justify-content:center;z-index:140;padding:16px}.system-modal-backdrop.show{display:flex}.system-modal{width:min(460px,94vw);background:#fff;border:1px solid #d9eaf2;border-radius:22px;box-shadow:0 22px 70px rgba(0,0,0,.24);overflow:hidden}.system-modal-head{display:flex;align-items:center;gap:12px;padding:18px 20px;background:linear-gradient(135deg,#f0fbff,#fff);border-bottom:1px solid #e0eef5}.system-modal-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#06addd,#5ed5c6);color:#fff;display:grid;place-items:center;font-weight:900}.system-modal-head h3{margin:0;color:#102447;font-size:19px}.system-modal-body{padding:18px 20px;color:#425064;line-height:1.45}.system-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e0eef5;background:#fbfdfe}.budget-list{margin:10px 0 0;padding-left:18px}.budget-list li{margin:4px 0}.budget-warning strong,.budget-success strong{color:#102447}.budget-warning{border-color:#ffd7a8!important;background:#fff9ef!important}.budget-success{border-color:#bdeedd!important;background:#f2fffa!important}

/* v25 - ajustes solicitados: topo removido, sidebar refinada, ícones premium e modal sem menção técnica */
.clean-content{padding-top:28px!important;}
.main{min-height:100vh;background:#f8fbfd;}
.sidebar{box-shadow:8px 0 24px rgba(15,35,55,.03);}
.nav{position:relative;gap:12px!important;padding:12px 14px!important;border-radius:14px!important;color:#44536a!important;font-weight:600;transition:.18s ease;background:transparent;}
.nav:hover,.nav.active{background:linear-gradient(90deg,#e8f8fc 0%,#f4fbfd 100%)!important;color:#0b2545!important;box-shadow:inset 3px 0 0 #13afd4;}
.nav-ico{width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#eef7fb;color:#0aa7d5;font-size:15px;line-height:1;box-shadow:inset 0 0 0 1px rgba(16,174,216,.12);flex:0 0 28px;}
.nav.active .nav-ico,.nav:hover .nav-ico{background:linear-gradient(135deg,#12c6d8,#169bd7);color:#fff;box-shadow:0 8px 18px rgba(18,171,216,.22);}
.foot{padding:14px 12px 16px!important;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(235,250,253,.7));}
.clinic{width:100%;display:flex!important;align-items:center!important;gap:12px!important;padding:12px;border:1px solid #d9edf4;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,43,67,.06);box-sizing:border-box;overflow:hidden;}
.clinic-avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#18c7d8,#2797b5);box-shadow:0 10px 20px rgba(19,175,212,.22);flex:0 0 42px;}
.clinic-info{min-width:0;display:flex;flex-direction:column;line-height:1.2;}
.clinic-info b{font-size:13px;color:#102449;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.clinic-info span{font-size:12px;color:#718198;margin-top:3px;}
.clinic-arrow{margin-left:auto;color:#7b8ba1;font-size:24px;line-height:1;}
.system-modal-card{border-radius:22px!important;box-shadow:0 24px 70px rgba(12,30,48,.18)!important;}
@media(max-width:900px){.clean-content{padding-top:20px!important}.nav-ico{width:26px;height:26px;flex-basis:26px}.clinic-arrow{display:none}}

/* v26 - sidebar com rolagem interna para não cortar itens */
.side{height:100vh!important;max-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:#b9dce7 transparent;}
.side::-webkit-scrollbar{width:7px;}
.side::-webkit-scrollbar-thumb{background:#b9dce7;border-radius:999px;}
.side::-webkit-scrollbar-track{background:transparent;}
.side .brand{position:sticky;top:0;z-index:3;background:#fbfdfe;}
.side .foot{margin-top:18px!important;background:#fbfdfe;}
.side .group{padding-bottom:8px!important;}
@media(max-height:760px){.side .brand{height:68px!important;min-height:68px!important}.side .brand .brand-logo{width:160px!important}.nav{padding:10px 14px!important}.group{padding:12px 12px!important}.foot{padding:10px 14px!important}}


/* v28 - ícones lineares do menu lateral */
.nav{gap:13px!important;}
.nav-ico{background:transparent!important;box-shadow:none!important;border-radius:0!important;width:22px!important;height:22px!important;flex:0 0 22px!important;color:#0f2b3f!important;}
.nav-ico svg{width:20px;height:20px;display:block;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.nav:hover .nav-ico,.nav.active .nav-ico{background:transparent!important;box-shadow:none!important;color:#009ed0!important;}
.nav:hover,.nav.active{background:linear-gradient(90deg,#e8f8fc 0%,#f6fcfe 100%)!important;color:#0b2545!important;}


/* v31 - foto da clínica aparece também no cartão lateral */
.clinic{cursor:pointer;transition:.18s ease;}
.clinic:hover{border-color:#b9e7f2;box-shadow:0 14px 32px rgba(15,43,67,.09);transform:translateY(-1px);}
.clinic-avatar{position:relative;overflow:hidden;background:transparent!important;border:1px solid #ccecf4;box-shadow:none!important;display:grid;place-items:center;}
.clinic-avatar.has-image{background:#fff!important;border-color:#aee8f2;box-shadow:0 10px 20px rgba(19,175,212,.10)!important;}
.clinic-avatar img{width:100%;height:100%;object-fit:cover;border-radius:13px;display:none;}
.clinic-avatar.has-image img{display:block;}
.clinic-pulse-icon{width:100%;height:100%;border-radius:14px;background:linear-gradient(135deg,#18c7d8,#2797b5);color:white;display:grid;place-items:center;font-weight:900;font-size:22px;line-height:1;}
.clinic-avatar.has-image .clinic-pulse-icon{display:none;}
.clinic-photo-modal{width:min(520px,94vw)!important;}
.clinic-photo-body{text-align:center;padding:26px!important;}
.clinic-photo-preview{width:178px;height:178px;margin:0 auto 18px;border-radius:34px;border:2px solid #bdefff;background:linear-gradient(135deg,#eefdff,#ffffff);display:grid;place-items:center;overflow:hidden;box-shadow:0 18px 44px rgba(5,154,208,.14);}
.clinic-photo-preview img{width:100%;height:100%;object-fit:cover;display:none;}
.clinic-photo-preview.has-image img{display:block;}
.clinic-photo-preview.has-image .clinic-photo-placeholder{display:none;}
.clinic-photo-placeholder{width:88px;height:88px;border-radius:26px;background:linear-gradient(135deg,#18c7d8,#2797b5);color:white;display:grid;place-items:center;font-size:42px;font-weight:900;}
.clinic-photo-title{margin:4px 0 4px;color:#102447;font-size:22px;font-weight:850;}
.clinic-photo-sub{margin:0 0 18px;color:#60708d;font-size:13px;}
.clinic-photo-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.clinic-photo-actions .btn{min-width:150px;}


/* v32 - Dentistas, agenda, gestor e foto 100% Supabase */
.dentist-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.schedule-days{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.schedule-day{border:1px solid var(--border);border-radius:14px;padding:10px 12px;cursor:pointer;background:#fff;font-weight:800;color:var(--text);display:flex;gap:8px;align-items:center}
.schedule-day input{accent-color:#08aeea}
.dentist-modal{width:min(760px,94vw)}
.dentist-row-actions{display:flex;gap:8px;flex-wrap:wrap}
.deal-schedule-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}
.auto-dentist-box{border:1px solid #cceef8;background:#effbff;border-radius:18px;padding:12px;color:#183252;font-weight:800}
.manager-kpi-small{font-size:12px;color:var(--muted);margin-top:4px}
.clinic-avatar.has-image{background:transparent!important;border-color:#bdeefa!important}
.clinic-avatar.has-image img{width:100%;height:100%;object-fit:cover;border-radius:16px;display:block}
@media(max-width:850px){.dentist-form-grid,.deal-schedule-grid{grid-template-columns:1fr}.dentist-modal{width:94vw}}

/* v34 - Correção premium do modal de dentistas */
.dentist-modal{
  width:min(920px,96vw)!important;
  max-height:92vh!important;
  overflow:hidden!important;
  border-radius:28px!important;
}
.dentist-modal .modal-body,
.dentist-modal > div:not(.modal-actions){
  box-sizing:border-box;
}
.dentist-modal .dentist-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.dentist-modal .field label{
  display:block!important;
  margin-bottom:8px!important;
  font-size:14px!important;
  font-weight:850!important;
  color:#102447!important;
}
.dentist-modal .input{
  height:48px!important;
  border-radius:14px!important;
  background:#eef6fa!important;
  border:1px solid #d8edf5!important;
  padding:0 16px!important;
  color:#102447!important;
  font-weight:650!important;
}
.dentist-days-field{
  margin:18px 0!important;
}
.schedule-days{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:8px!important;
}
.schedule-day{
  min-height:44px!important;
  justify-content:center!important;
  border:1px solid #cfe8f2!important;
  border-radius:14px!important;
  padding:8px 10px!important;
  background:#fff!important;
  color:#102447!important;
  font-weight:800!important;
  transition:.18s ease!important;
  white-space:nowrap!important;
}
.schedule-day input{
  width:15px!important;
  height:15px!important;
  accent-color:#08aeea!important;
  margin:0!important;
}
.schedule-day:has(input:checked){
  background:#e9fbff!important;
  border-color:#08aeea!important;
  box-shadow:0 8px 20px rgba(8,174,234,.12)!important;
}
.dentist-modal .modal-actions{
  border-top:1px solid #dbeaf1!important;
  background:#fff!important;
  padding:14px 28px!important;
}
@media(max-width:900px){
  .dentist-modal .dentist-form-grid{grid-template-columns:1fr!important;}
  .schedule-days{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* v35 - Modal de dentista com rolagem e layout organizado */
#dentistModal.modal-backdrop{
  padding:18px !important;
  align-items:center !important;
  justify-content:center !important;
}
#dentistModal .site-modal.dentist-modal{
  width:min(920px, calc(100vw - 32px)) !important;
  max-height:calc(100vh - 36px) !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:26px !important;
  background:#fff !important;
}
#dentistModal .deal-modal-head{
  flex:0 0 auto !important;
  padding:18px 24px !important;
  background:linear-gradient(135deg,#f1fdff,#eafeff) !important;
  border-bottom:1px solid #d7edf5 !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
#dentistModal .deal-modal-head .deal-icon{
  width:46px !important;height:46px !important;border-radius:14px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  font-size:23px !important;background:linear-gradient(135deg,#12c9d4,#11a8e7) !important;color:#fff !important;
  flex:0 0 auto !important;
}
#dentistModal .deal-modal-head h2{margin:0 !important;font-size:24px !important;line-height:1.1 !important;color:#102447 !important;}
#dentistModal .deal-modal-head p{margin:6px 0 0 !important;color:#536681 !important;font-size:13px !important;}
#dentistModal .modal-x{margin-left:auto !important;position:static !important;}
#dentistModal .deal-scroll{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:22px 26px 18px !important;
}
#dentistModal .dentist-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px 22px !important;
  align-items:start !important;
}
#dentistModal .field{min-width:0 !important;}
#dentistModal .field label{
  display:block !important;
  margin:0 0 8px !important;
  color:#13294b !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
#dentistModal .input{
  width:100% !important;
  height:48px !important;
  border-radius:14px !important;
  border:1px solid #cfe5ef !important;
  background:#eef7fb !important;
  color:#102447 !important;
  font-size:15px !important;
  padding:0 16px !important;
  box-sizing:border-box !important;
}
#dentistModal .input:focus{
  outline:none !important;
  border-color:#08aeea !important;
  box-shadow:0 0 0 4px rgba(8,174,234,.12) !important;
  background:#fff !important;
}
#dentistModal .dentist-days-field{
  margin:20px 0 18px !important;
}
#dentistModal .schedule-days{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:8px !important;
}
#dentistModal .schedule-day{
  min-height:44px !important;
  justify-content:center !important;
  gap:7px !important;
  padding:10px 8px !important;
  border-radius:14px !important;
  border:1px solid #cce2ec !important;
  background:#fff !important;
  color:#102447 !important;
  font-weight:800 !important;
  font-size:13px !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}
#dentistModal .schedule-day:has(input:checked){
  border-color:#05ace8 !important;
  background:#eefdff !important;
  box-shadow:0 8px 20px rgba(8,174,234,.08) !important;
}
#dentistModal .schedule-day input{width:16px !important;height:16px !important;margin:0 !important;accent-color:#09aee8 !important;}
#dentistModal .modal-actions.deal-actions{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:14px 26px 18px !important;
  border-top:1px solid #d7edf5 !important;
  background:#fff !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap:12px !important;
}
#dentistModal .modal-actions .btn{min-width:128px !important;height:42px !important;border-radius:13px !important;}
@media(max-width:920px){
  #dentistModal .schedule-days{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(max-width:680px){
  #dentistModal.modal-backdrop{padding:10px !important;align-items:stretch !important;}
  #dentistModal .site-modal.dentist-modal{width:100% !important;max-height:calc(100vh - 20px) !important;}
  #dentistModal .dentist-form-grid{grid-template-columns:1fr !important;gap:14px !important;}
  #dentistModal .schedule-days{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #dentistModal .deal-scroll{padding:18px 16px !important;}
  #dentistModal .deal-modal-head{padding:16px !important;}
  #dentistModal .modal-actions.deal-actions{padding:12px 16px 16px !important;}
}

/* v37 - Dias disponíveis corrigidos: checkbox alinhado e card selecionável */
#dentistModal .dentist-days-field label:first-child{
  display:block !important;
  margin-bottom:10px !important;
}

#dentistModal .schedule-days{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(104px,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
  margin-top:8px !important;
}

#dentistModal .schedule-day{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:50px !important;
  height:50px !important;
  padding:0 14px !important;
  border:1px solid #cfe2ee !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#102447 !important;
  font-weight:800 !important;
  font-size:13px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  cursor:pointer !important;
  transition:.16s ease !important;
}

#dentistModal .schedule-day input[type="checkbox"]{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
}

#dentistModal .schedule-day span{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:#102447 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

#dentistModal .schedule-day span::before{
  content:"" !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  border:1.8px solid #8796aa !important;
  border-radius:5px !important;
  background:#fff !important;
  box-sizing:border-box !important;
  display:block !important;
  flex:0 0 20px !important;
}

#dentistModal .schedule-day input[type="checkbox"]:checked + span::before{
  background:#168fe8 !important;
  border-color:#168fe8 !important;
  box-shadow:inset 0 0 0 2px #168fe8 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 10.4L8.4 13.7L15 6.7' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:20px 20px !important;
}

#dentistModal .schedule-day:has(input[type="checkbox"]:checked){
  background:#eefdff !important;
  border-color:#09aee8 !important;
  box-shadow:0 8px 20px rgba(8,174,234,.08) !important;
}

#dentistModal .schedule-day:hover{
  border-color:#09aee8 !important;
}

@media(max-width:1100px){
  #dentistModal .schedule-days{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(max-width:680px){
  #dentistModal .schedule-days{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}



/* v43 - Layout organizado do Dashboard e Painel do Gestor */
#dashboard .top,#gestor .top{margin-bottom:18px!important}
#dashboard .card,#gestor .card{padding:18px!important}
#dashboard .card h3,#gestor .card h3{margin-top:0;margin-bottom:8px}
#dashboard .grid.g4,#gestor .grid.g4{gap:14px!important}
#dashboard .grid.g3{grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr)!important;align-items:start!important}
#dashboard .chart{height:132px!important;min-height:132px!important;padding:10px 6px 0!important;gap:10px!important}
#dashboard .bar span,#dashboard .bar b{width:16px!important}
#dashboard .days{gap:10px!important;padding-top:7px!important}
#dashboard #treatBox{height:142px!important;border-radius:18px!important}
#dashboard #treatBox>div{width:104px!important;height:104px!important}
#dashboard #treatBox>div>div{inset:31px!important}
#dashboard #treatList.list li{padding:8px 10px!important;margin:6px 0!important;border-radius:12px!important}
#dashboard .recent-list{display:grid;gap:8px}
#dashboard .recent-item{padding:10px 12px!important;border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
#dashboard .list.mini li{padding:9px 10px!important;margin:7px 0!important}
#gestor .card.stat{min-height:154px!important;overflow:hidden}
#gestor .card.stat strong{font-size:28px!important;line-height:1.08!important;letter-spacing:-.03em!important;word-break:normal!important;overflow-wrap:normal!important}
#gestor #managerTopConversion{font-size:24px!important;max-width:150px!important;display:block!important}
#gestor #managerTopConversionSub{font-size:12px!important;line-height:1.25!important}
#gestor .grid.g2{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)!important;align-items:start!important}
#gestor .table th,#gestor .table td{padding:12px 10px!important;vertical-align:middle!important}
.manager-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.manager-summary-item{border:1px solid var(--border);background:#f8fcfe;border-radius:16px;padding:12px}
.manager-summary-item span{display:block;color:var(--muted-fg);font-size:12px;font-weight:700;margin-bottom:5px}
.manager-summary-item b{font-size:18px;color:var(--fg)}
.manager-summary-note{margin-top:12px;padding:12px;border-radius:16px;background:#effbff;color:#183252;font-weight:700;font-size:13px;line-height:1.35}
@media(max-width:1100px){#dashboard .grid.g3,#gestor .grid.g2{grid-template-columns:1fr!important}#gestor #managerTopConversion{max-width:none!important}}


/* v61 - Login com imagem profissional apenas no painel azul, sair estilizado e sem vazamento de código */
.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f7fafc}
.login-left{position:relative!important;overflow:hidden!important;padding:0!important;background:#0ea5c8!important;display:block!important}
.login-cover-img{width:100%;height:100vh;object-fit:cover;display:block}
.logout-btn-system{width:100%;margin-top:12px;border:1px solid rgba(32,165,215,.22);border-radius:16px;padding:12px 14px;background:linear-gradient(135deg,#eaf9fd,#f7fdff);color:#18324b;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 22px rgba(14,165,200,.10)}
.logout-btn-system:hover{background:linear-gradient(135deg,#0ea5c8,#13c8d9);color:white;transform:translateY(-1px)}
.logout-btn-system svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.login-left{display:none!important}.login{grid-template-columns:1fr}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* vAtende - modal de edição cadastral de pacientes */
.patient-edit-modal{width:min(820px,94vw)!important;max-height:92vh!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:26px!important;background:#fff!important}
.patient-edit-modal .deal-modal-head{flex:0 0 auto!important;padding:18px 24px!important;background:linear-gradient(135deg,#f1fdff,#eafeff)!important;border-bottom:1px solid #d7edf5!important}
.patient-edit-modal .deal-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:22px 26px 18px!important}
.patient-edit-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 22px!important;align-items:start!important}
.patient-edit-modal .field label{display:block!important;margin:0 0 8px!important;color:#13294b!important;font-size:14px!important;font-weight:800!important}
.patient-edit-modal .input{width:100%!important;border:1px solid #cfe5ef!important;background:#eef7fb!important;color:#102447!important;font-weight:650!important;border-radius:14px!important}
.patient-edit-modal .input:focus{outline:none!important;border-color:#08aeea!important;box-shadow:0 0 0 4px rgba(8,174,234,.12)!important;background:#fff!important}
.patient-edit-note{min-height:88px!important;resize:vertical!important}
@media(max-width:700px){.patient-edit-grid{grid-template-columns:1fr!important}.patient-edit-modal .deal-scroll{padding:18px 16px!important}.patient-edit-modal .deal-modal-head{padding:16px!important}}


.attendance-row{transition:all .25s ease;}
.patient-actions{opacity:0;max-height:0;overflow:hidden;transition:all .25s ease;}
.attendance-row:hover{background:#f8fbff;}
.attendance-row:hover .patient-actions{opacity:1;max-height:80px;margin-top:8px;}


/* ===== v44-dashboard-real-fix ===== */
/* v44 REAL - Dashboard compacto, organizado e sem bloco branco gigante */
#dashboard{max-width:1180px;margin:0 auto;}
#dashboard .top{align-items:center!important;margin-bottom:18px!important;}
#dashboard .top h1{font-size:27px!important;line-height:1.05!important;}
#dashboard .top p{font-size:13px!important;}
#dashboard .grid{gap:14px!important;}
#dashboard .grid.g4{grid-template-columns:repeat(4,minmax(180px,1fr))!important;}
#dashboard .grid.g4 .card{min-height:118px!important;padding:18px!important;}
#dashboard .stat strong{font-size:28px!important;line-height:1.1!important;margin-top:6px!important;}
#dashboard .stat label{font-size:13px!important;}
#dashboard .ico{width:42px!important;height:42px!important;border-radius:15px!important;flex:0 0 auto!important;}
#dashboard .dashboard-main-row{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr)!important;gap:16px!important;align-items:stretch!important;margin-top:16px!important;}
#dashboard .grid.g3{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr)!important;gap:16px!important;align-items:stretch!important;margin-top:16px!important;}
#dashboard .grid.g3>.card{min-height:300px!important;max-height:360px!important;padding:18px!important;overflow:hidden!important;}
#dashboard .card h3{font-size:18px!important;margin:0 0 7px!important;letter-spacing:-.02em!important;}
#dashboard .card p.muted{margin:0 0 10px!important;}
#dashboard .chart{height:150px!important;min-height:150px!important;max-height:150px!important;padding:10px 8px 0!important;margin-top:6px!important;gap:9px!important;border-bottom:1px solid var(--border)!important;background:linear-gradient(180deg,#fbfdff 0%,#fff 100%)!important;border-radius:16px 16px 0 0!important;}
#dashboard .bar{min-width:0!important;}
#dashboard .bar span,#dashboard .bar b{width:14px!important;min-height:3px!important;border-radius:8px 8px 0 0!important;}
#dashboard .bar span{background:#20a5d7!important;}
#dashboard .bar b{background:#66d1be!important;}
#dashboard .days{gap:9px!important;padding-top:7px!important;font-size:11px!important;}
#dashboard #treatBox{height:132px!important;max-height:132px!important;min-height:132px!important;margin:8px 0 10px!important;border-radius:16px!important;}
#dashboard #treatBox>div{width:98px!important;height:98px!important;}
#dashboard #treatBox>div>div{inset:29px!important;}
#dashboard #treatList{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;}
#dashboard #treatList li{margin:0!important;padding:8px 10px!important;border-radius:12px!important;font-size:13px!important;background:#fbfdff!important;}
#dashboard .grid.g2{grid-template-columns:1fr 1fr!important;gap:16px!important;margin-top:16px!important;align-items:start!important;}
#dashboard .grid.g2>.card{padding:18px!important;min-height:220px!important;}
#dashboard .list.mini li{padding:9px 10px!important;margin:7px 0!important;border-radius:14px!important;}
#dashboard .rank{width:36px!important;height:36px!important;border-radius:12px!important;flex:0 0 auto!important;}
#dashboard .recent-list{display:grid!important;gap:8px!important;}
#dashboard .recent-item{padding:10px 12px!important;border:1px solid var(--border)!important;border-radius:14px!important;background:#fbfdff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
#dashboard .mini-muted{color:#91a0b4!important;font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:360px!important;}
#dashboard .tag{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:6px 12px!important;border-radius:999px!important;background:#d9f8ef!important;color:#11785e!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;}
#dashboard .tag.warn{background:#fff0d8!important;color:#9b650a!important;}
@media(max-width:1180px){#dashboard{max-width:none!important}#dashboard .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}#dashboard .grid.g3,#dashboard .dashboard-main-row,#dashboard .grid.g2{grid-template-columns:1fr!important}#dashboard .grid.g3>.card{max-height:none!important}}
@media(max-width:720px){#dashboard .grid.g4{grid-template-columns:1fr!important}#dashboard #treatList{grid-template-columns:1fr!important}.content{padding:18px!important}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v45-dashboard-profile-fix ===== */
/* v45 - Dashboard mais organizado e foto do perfil/clínica robusta */
#dashboard{max-width:1160px!important;margin:0 auto!important;padding-bottom:28px!important;}
#dashboard .top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:16px!important;}
#dashboard .top h1{font-size:28px!important;line-height:1.05!important;margin:0!important;}
#dashboard .top p{font-size:13px!important;margin-top:6px!important;}
#dashboard .grid{gap:14px!important;}
#dashboard .grid.g4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;}
#dashboard .grid.g4 .card{min-height:112px!important;padding:16px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;}
#dashboard .stat strong{font-size:26px!important;line-height:1.05!important;margin:5px 0 4px!important;word-break:break-word!important;}
#dashboard .stat label{font-size:12.5px!important;}
#dashboard .muted{font-size:12px!important;line-height:1.25!important;}
#dashboard .grid.g3{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;gap:16px!important;align-items:stretch!important;margin-top:16px!important;}
#dashboard .grid.g3>.card{padding:16px!important;min-height:280px!important;max-height:330px!important;overflow:hidden!important;}
#dashboard .card h3{font-size:18px!important;margin:0 0 6px!important;}
#dashboard .chart{height:136px!important;min-height:136px!important;max-height:136px!important;margin-top:8px!important;padding:8px 8px 0!important;gap:8px!important;border-radius:16px!important;background:#fbfdff!important;border:1px solid var(--border)!important;border-bottom:none!important;}
#dashboard .bar{display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:4px!important;min-width:0!important;}
#dashboard .bar span,#dashboard .bar b{width:13px!important;min-height:4px!important;border-radius:8px 8px 0 0!important;}
#dashboard .bar span{background:#20a5d7!important;}
#dashboard .bar b{background:#66d1be!important;}
#dashboard .days{height:auto!important;padding-top:7px!important;gap:8px!important;font-size:11px!important;}
#dashboard #treatBox{height:116px!important;min-height:116px!important;max-height:116px!important;margin:8px 0 10px!important;border-radius:16px!important;}
#dashboard #treatBox>div{width:88px!important;height:88px!important;}
#dashboard #treatBox>div>div{inset:26px!important;}
#dashboard #treatList{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin:0!important;}
#dashboard #treatList li{margin:0!important;padding:8px 10px!important;border-radius:12px!important;font-size:12.5px!important;background:#fbfdff!important;min-height:34px!important;}
#dashboard .grid.g2{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:16px!important;margin-top:16px!important;align-items:start!important;}
#dashboard .grid.g2>.card{padding:16px!important;min-height:210px!important;}
#dashboard .list.mini li{padding:9px 10px!important;margin:7px 0!important;border-radius:14px!important;}
#dashboard .rank{width:34px!important;height:34px!important;border-radius:12px!important;flex:0 0 34px!important;}
#dashboard .recent-list{display:grid!important;gap:8px!important;}
#dashboard .recent-item{padding:10px 12px!important;border:1px solid var(--border)!important;border-radius:14px!important;background:#fbfdff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
#dashboard .mini-muted{max-width:390px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#91a0b4!important;font-size:12px!important;}
#dashboard .tag{padding:6px 12px!important;border-radius:999px!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;}
.clinic-avatar{background:linear-gradient(135deg,#18c7d8,#2797b5)!important;}
.clinic-avatar.has-image{background:#fff!important;border-color:#bdeefa!important;}
.clinic-avatar img{display:none;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:13px!important;}
.clinic-avatar.has-image img{display:block!important;}
.clinic-photo-preview.has-image img{display:block!important;}
@media(max-width:1180px){#dashboard{max-width:none!important}#dashboard .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}#dashboard .grid.g3,#dashboard .grid.g2{grid-template-columns:1fr!important}#dashboard .grid.g3>.card{max-height:none!important}}
@media(max-width:720px){#dashboard .top{align-items:flex-start!important;flex-direction:column!important}#dashboard .grid.g4{grid-template-columns:1fr!important}#dashboard #treatList{grid-template-columns:1fr!important}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v49-dashboard-rows-final ===== */
/* v49 - Dashboard por linhas: Atendimento/Conversões, Distribuição, Pacientes, Ranking */
#dashboard.dashboard-v49{max-width:1180px!important;margin:0 auto!important;padding-bottom:34px!important;}
#dashboard.dashboard-v49 .dashboard-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:16px!important;}
#dashboard.dashboard-v49 .dashboard-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;}
#dashboard.dashboard-v49 .dashboard-kpis .card{min-height:110px!important;padding:16px!important;}
#dashboard.dashboard-v49 .dashboard-section{margin-top:16px!important;width:100%!important;}
#dashboard.dashboard-v49 .dashboard-two-columns{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)!important;gap:16px!important;align-items:stretch!important;}
#dashboard.dashboard-v49 .dashboard-card{padding:18px!important;border-radius:18px!important;overflow:visible!important;min-height:auto!important;max-height:none!important;}
#dashboard.dashboard-v49 .dashboard-card h3{font-size:18px!important;margin:0 0 6px!important;}
#dashboard.dashboard-v49 .section-title-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:10px!important;}
#dashboard.dashboard-v49 .chart-legend{font-size:12px!important;color:#5d6c83!important;font-weight:800!important;display:flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;}
#dashboard.dashboard-v49 .dot{width:10px!important;height:10px!important;border-radius:999px!important;display:inline-block!important;}
#dashboard.dashboard-v49 .dot.blue{background:#20a5d7!important;}
#dashboard.dashboard-v49 .dot.green{background:#66d1be!important;}
#dashboard.dashboard-v49 .chart{height:170px!important;min-height:170px!important;max-height:170px!important;margin-top:8px!important;padding:12px 12px 0!important;gap:14px!important;border:1px solid var(--border)!important;border-radius:18px!important;background:#fbfdff!important;align-items:flex-end!important;}
#dashboard.dashboard-v49 .bar span,#dashboard.dashboard-v49 .bar b{width:17px!important;min-height:4px!important;border-radius:8px 8px 0 0!important;}
#dashboard.dashboard-v49 .bar span{background:#20a5d7!important;}
#dashboard.dashboard-v49 .bar b{background:#66d1be!important;}
#dashboard.dashboard-v49 .days{padding:8px 12px 0!important;gap:14px!important;font-size:12px!important;}
#dashboard.dashboard-v49 .conversion-mini-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:14px!important;}
#dashboard.dashboard-v49 .conversion-mini-grid>div{border:1px solid var(--border)!important;background:#fbfdff!important;border-radius:16px!important;padding:12px!important;min-height:74px!important;}
#dashboard.dashboard-v49 .conversion-mini-grid span{display:block!important;color:#6d7c93!important;font-size:12px!important;font-weight:800!important;margin-bottom:8px!important;}
#dashboard.dashboard-v49 .conversion-mini-grid b{font-size:20px!important;color:#172949!important;line-height:1.05!important;}
#dashboard.dashboard-v49 .treatment-layout{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;}
#dashboard.dashboard-v49 #treatBox.treat-chart-box{height:190px!important;min-height:190px!important;max-height:190px!important;margin:0!important;border:1px dashed var(--border)!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:var(--muted)!important;background:#fbfdff!important;}
#dashboard.dashboard-v49 #treatBox>div{width:126px!important;height:126px!important;}
#dashboard.dashboard-v49 #treatBox>div>div{inset:37px!important;}
#dashboard.dashboard-v49 #treatList{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:0!important;max-height:none!important;overflow:visible!important;}
#dashboard.dashboard-v49 #treatList li{margin:0!important;padding:12px 14px!important;border-radius:14px!important;font-size:14px!important;min-height:46px!important;background:#fbfdff!important;border:1px solid var(--border)!important;display:flex!important;align-items:center!important;gap:8px!important;}
#dashboard.dashboard-v49 .dashboard-recent-card,#dashboard.dashboard-v49 .dashboard-ranking-card{width:100%!important;}
#dashboard.dashboard-v49 .recent-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
#dashboard.dashboard-v49 .recent-item{padding:13px 14px!important;border:1px solid var(--border)!important;border-radius:16px!important;background:#fbfdff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-width:0!important;}
#dashboard.dashboard-v49 .mini-muted{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:260px!important;color:#91a0b4!important;font-size:12px!important;}
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li{margin:0!important;padding:13px 14px!important;border-radius:16px!important;min-height:72px!important;background:#fbfdff!important;border:1px solid var(--border)!important;}
#dashboard.dashboard-v49 .rank{width:36px!important;height:36px!important;border-radius:12px!important;flex:0 0 36px!important;}
#dashboard.dashboard-v49 .dashboard-empty{padding:28px 16px!important;text-align:center!important;color:var(--muted)!important;border:1px dashed var(--border)!important;border-radius:18px!important;background:#fbfdff!important;}
@media(max-width:1180px){#dashboard.dashboard-v49{max-width:none!important}#dashboard.dashboard-v49 .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}#dashboard.dashboard-v49 .dashboard-two-columns{grid-template-columns:1fr!important}#dashboard.dashboard-v49 .treatment-layout{grid-template-columns:1fr!important}#dashboard.dashboard-v49 #treatList,#dashboard.dashboard-v49 .recent-list,#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){#dashboard.dashboard-v49 .dashboard-head{flex-direction:column!important;align-items:flex-start!important}#dashboard.dashboard-v49 .dashboard-kpis,#dashboard.dashboard-v49 #treatList,#dashboard.dashboard-v49 .recent-list,#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini{grid-template-columns:1fr!important}#dashboard.dashboard-v49 .section-title-row{flex-direction:column!important}.content{padding:18px!important}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v65-relatorios-questionario ===== */
.q-tabs.v65-long{
  grid-template-columns:repeat(5,1fr)!important;
  gap:8px!important;
}
.q-tabs.v65-long span{
  font-size:11px!important;
  padding:8px 7px!important;
}
.q-subgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.q-mini-title{
  margin:16px 0 10px;
  color:#078dbe;
  font-weight:900;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.q-note-box{
  background:#f1fbff;
  border:1px solid #cfeefa;
  border-radius:16px;
  padding:13px 14px;
  color:#184056;
  font-size:13px;
}
.report-error-box{
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fed7aa;
  border-radius:16px;
  padding:14px;
  margin:12px 0;
  font-weight:700;
}
@media(max-width:900px){
  .q-tabs.v65-long{grid-template-columns:repeat(2,1fr)!important}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v66-questionario-na-aba ===== */
.q-tabs.v66-long{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:8px!important;
}
.q-tabs.v66-long span{
  font-size:11px!important;
  padding:8px 7px!important;
  border-radius:999px!important;
}
.q-subgrid-v66{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.q-extra-title-v66{
  margin:16px 0 10px;
  color:#078dbe;
  font-weight:900;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
@media(max-width:900px){
  .q-tabs.v66-long{grid-template-columns:repeat(2,1fr)!important}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v73-questionario-layout-only ===== */
/* Ajuste visual somente da aba Questionários - não altera login, dados ou funções */
#qContent{
  max-width:980px !important;
  margin:0 auto !important;
  padding:4px 0 12px !important;
}

.q-tabs.v66-long{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:12px 0 22px !important;
}

.q-tabs.v66-long span{
  flex:0 0 auto !important;
  min-width:112px !important;
  text-align:center !important;
  border-radius:999px !important;
  padding:9px 12px !important;
  background:#eef7fb !important;
  border:1px solid #d8edf7 !important;
  color:#587084 !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

.q-tabs.v66-long span.on{
  background:linear-gradient(135deg,#16aee2,#11c6d8) !important;
  border-color:#16aee2 !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(22,174,226,.18) !important;
}

#qContent .q-title{
  display:flex !important;
  align-items:center !important;
  gap:15px !important;
  margin:0 0 22px !important;
  padding-bottom:14px !important;
  border-bottom:1px solid #edf4f8 !important;
}

#qContent .q-title .ico{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#e8f8ff,#d9fbff) !important;
  color:#078dbe !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:24px !important;
  box-shadow:inset 0 0 0 1px rgba(34,174,229,.12) !important;
}

#qContent .q-title h2{
  margin:0 !important;
  font-size:25px !important;
  line-height:1.15 !important;
  color:#10213f !important;
  font-weight:900 !important;
}

#qContent .q-title .muted{
  margin:5px 0 0 !important;
  color:#6b7280 !important;
  font-size:14px !important;
}

.q-subgrid-v66{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr)) !important;
  gap:16px !important;
}

#qContent .field{
  margin:0 0 18px !important;
}

#qContent .field label{
  display:block !important;
  margin:0 0 8px !important;
  font-weight:850 !important;
  color:#1b2945 !important;
  font-size:14px !important;
}

#qContent .input,
#qContent input.input,
#qContent textarea.input,
#qContent select.input{
  width:100% !important;
  min-height:50px !important;
  border-radius:15px !important;
  border:1px solid #dceaf2 !important;
  background:#f8fcff !important;
  padding:13px 14px !important;
  box-sizing:border-box !important;
  color:#10213f !important;
  outline:none !important;
  font-size:14px !important;
}

#qContent textarea.input{
  min-height:130px !important;
  resize:vertical !important;
}

#qContent .input:focus{
  border-color:#22aee5 !important;
  box-shadow:0 0 0 4px rgba(34,174,229,.12) !important;
  background:#fff !important;
}

#qContent .q-options{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr)) !important;
  gap:11px !important;
  margin:12px 0 20px !important;
}

#qContent .q-option,
#qContent .treatment-pill{
  min-height:48px !important;
  border-radius:15px !important;
  border:1px solid #dceaf2 !important;
  background:#fff !important;
  color:#1b2945 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:12px 14px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  transition:.18s ease !important;
  box-sizing:border-box !important;
}

#qContent .q-option:hover,
#qContent .treatment-pill:hover{
  border-color:#22aee5 !important;
  background:#f0fbff !important;
  transform:translateY(-1px) !important;
}

#qContent .q-option.on,
#qContent .treatment-pill.on{
  background:linear-gradient(135deg,#16aee2,#11c6d8) !important;
  border-color:#16aee2 !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(14,165,217,.18) !important;
}

.q-extra-title-v66{
  margin:18px 0 10px !important;
  color:#078dbe !important;
  font-weight:900 !important;
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

.q-actions{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:22px !important;
}

.q-actions button,
#qNextBtn{
  min-height:48px !important;
  border-radius:15px !important;
  font-weight:900 !important;
}

@media(max-width:760px){
  #qContent .q-title{
    align-items:flex-start !important;
  }
  #qContent .q-options{
    grid-template-columns:1fr !important;
  }
  .q-subgrid-v66{
    grid-template-columns:1fr !important;
  }
  .q-tabs.v66-long span{
    min-width:calc(50% - 6px) !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v74-reorganiza-questionario ===== */
#qContent{
  max-width:1040px !important;
}
#qContent .q-title{
  align-items:flex-start !important;
  gap:16px !important;
  padding-bottom:18px !important;
  margin-bottom:24px !important;
}
#qContent .q-title .ico{
  margin-top:2px !important;
}
#qContent .q-title h2{
  font-size:24px !important;
  letter-spacing:-.02em !important;
}
#qContent .q-title .muted{
  font-size:14px !important;
  line-height:1.45 !important;
}
#qContent .q-options{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:14px 0 22px !important;
}
#qContent .q-option,
#qContent .treatment-pill{
  justify-content:flex-start !important;
  text-align:left !important;
  min-height:52px !important;
  padding:14px 18px !important;
  border-radius:16px !important;
  gap:10px !important;
}
#qContent .q-option::before{
  content:"";
  width:11px;
  height:11px;
  min-width:11px;
  border-radius:50%;
  border:1.8px solid #12aee7;
  background:#fff;
  box-sizing:border-box;
}
#qContent .q-option.on::before{
  background:#fff;
  box-shadow:inset 0 0 0 3px #16aee2;
  border-color:#fff;
}
#qContent .field{
  margin-top:8px !important;
}
#qContent .field label{
  font-size:14px !important;
}
#qContent .input{
  height:52px !important;
  border-radius:16px !important;
}
.q-actions{
  border-top:1px solid #edf4f8 !important;
  padding-top:22px !important;
  margin-top:30px !important;
}
.q-actions button:first-child{
  background:transparent !important;
  border:0 !important;
  color:#10213f !important;
  padding-left:0 !important;
  box-shadow:none !important;
}
#qNextBtn{
  min-width:132px !important;
  padding:0 22px !important;
  background:linear-gradient(135deg,#16aee2,#11a7d8) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 10px 24px rgba(17,167,216,.22) !important;
}
@media(min-width:1100px){
  #qContent .q-options{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:760px){
  #qContent .q-options{
    grid-template-columns:1fr !important;
  }
  #qContent .q-title{
    gap:12px !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v75-dor-layout ===== */
/* Reorganização da etapa de dor */

#qContent .q-subgrid-v66{
  align-items:end !important;
}

/* sim e não */
#qContent .q-options{
  align-items:stretch !important;
}

#qContent .field{
  display:flex !important;
  flex-direction:column !important;
}

/* intensidade da dor */
#qContent .field .q-options{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}

/* linha principal */
#qContent .q-subgrid-v66{
  grid-template-columns:1.2fr 1fr 1.2fr !important;
}

/* slider */
#qContent .range-row{
  margin-top:12px !important;
  padding:10px 4px 0 !important;
}

#qContent input[type="range"]{
  width:100% !important;
  height:8px !important;
  border-radius:999px !important;
  appearance:none !important;
  background:#d9eaf2 !important;
  outline:none !important;
}

#qContent input[type="range"]::-webkit-slider-thumb{
  appearance:none !important;
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  background:#16aee2 !important;
  cursor:pointer !important;
  border:3px solid #fff !important;
  box-shadow:0 2px 10px rgba(22,174,226,.25) !important;
}

/* melhora responsividade */
@media(max-width:900px){
  #qContent .q-subgrid-v66{
    grid-template-columns:1fr !important;
  }

  #qContent .field .q-options{
    grid-template-columns:1fr !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v76-dor-layout-final ===== */
/* Etapa Dor atual - organização mais limpa */
#qContent .q-title{
  margin-bottom:26px !important;
}

#qContent .field:has(.q-options){
  margin-bottom:24px !important;
}

/* Sim / Não em cards largos e alinhados */
#qContent > .field:first-of-type .q-options{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(220px,1fr)) !important;
  max-width:620px !important;
  gap:12px !important;
  margin-top:12px !important;
}

/* Campos principais: local + problema em cima, intensidade abaixo */
#qContent .q-subgrid-v66{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px 20px !important;
  align-items:start !important;
  margin-top:8px !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(1){
  order:1 !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(3){
  order:2 !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(2){
  order:3 !important;
  grid-column:1 / -1 !important;
  max-width:520px !important;
}

/* Botões Leve / Moderada / Forte */
#qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:12px !important;
  margin-top:12px !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(2) .q-option{
  justify-content:center !important;
  text-align:center !important;
}

/* Slider com bloco mais bonito */
#qContent .range-row{
  margin-top:14px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  background:#f7fcff !important;
  border:1px solid #e1f0f7 !important;
}

#qContent input[type="range"]{
  width:100% !important;
  height:9px !important;
  border-radius:999px !important;
  appearance:none !important;
  background:linear-gradient(90deg,#16aee2 0%,#dcecf4 0%) !important;
  outline:none !important;
}

#qContent input[type="range"]::-webkit-slider-thumb{
  appearance:none !important;
  width:20px !important;
  height:20px !important;
  border-radius:50% !important;
  background:#16aee2 !important;
  cursor:pointer !important;
  border:4px solid #fff !important;
  box-shadow:0 3px 12px rgba(22,174,226,.32) !important;
}

/* Evita quebra feia nos cards */
#qContent .q-option{
  white-space:normal !important;
  line-height:1.2 !important;
}

/* Responsivo */
@media(max-width:860px){
  #qContent .q-subgrid-v66{
    grid-template-columns:1fr !important;
  }
  #qContent .q-subgrid-v66 > .field:nth-child(2){
    grid-column:auto !important;
    max-width:none !important;
  }
  #qContent > .field:first-of-type .q-options{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }
}

@media(max-width:520px){
  #qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
    grid-template-columns:1fr !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v77-questionario-padrao-unico ===== */
/* Deixa todas as etapas no mesmo padrão da tela "Motivo principal" */
#qContent{
  max-width:1040px !important;
}

#qContent .q-title{
  display:flex !important;
  align-items:flex-start !important;
  gap:16px !important;
  padding-bottom:20px !important;
  margin-bottom:26px !important;
  border-bottom:1px solid #edf4f8 !important;
}

#qContent .q-title .ico{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  border-radius:18px !important;
}

#qContent .q-options{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:12px 0 22px !important;
}

#qContent .q-option,
#qContent .treatment-pill{
  min-height:52px !important;
  justify-content:flex-start !important;
  text-align:left !important;
  padding:14px 18px !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#14213d !important;
  border:1px solid #cfe7f3 !important;
  box-shadow:none !important;
}

#qContent .q-option::before{
  content:"";
  width:11px;
  height:11px;
  min-width:11px;
  border-radius:50%;
  border:1.8px solid #11aee6;
  background:#fff;
  box-sizing:border-box;
  margin-right:10px;
}

#qContent .q-option.on,
#qContent .treatment-pill.on{
  background:#f7fdff !important;
  color:#14213d !important;
  border-color:#45c4ed !important;
  box-shadow:0 0 0 1px rgba(69,196,237,.10) !important;
}

#qContent .q-option.on::before{
  background:#11aee6;
  box-shadow:inset 0 0 0 2.5px #fff;
}

/* Remove o layout especial da etapa Dor e deixa igual às outras */
#qContent > .field:first-of-type .q-options{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:none !important;
  gap:12px !important;
  margin:12px 0 22px !important;
}

#qContent .q-subgrid-v66{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}

#qContent .q-subgrid-v66 > .field{
  order:initial !important;
  grid-column:auto !important;
  max-width:none !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:12px 0 0 !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(2) .q-option{
  justify-content:flex-start !important;
  text-align:left !important;
}

#qContent .range-row{
  margin-top:12px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}

#qContent input[type="range"]{
  width:100% !important;
  height:6px !important;
  border-radius:999px !important;
  appearance:auto !important;
  background:initial !important;
}

/* campos */
#qContent .input{
  min-height:52px !important;
  border-radius:16px !important;
}

/* responsivo */
@media(max-width:900px){
  #qContent .q-options,
  #qContent > .field:first-of-type .q-options,
  #qContent .q-subgrid-v66,
  #qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
    grid-template-columns:1fr !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v78-botoes-selecionaveis-padrao ===== */
/* Botões selecionáveis no padrão da imagem: cards brancos, bolinha à esquerda e seleção sem preencher tudo */
#qContent .q-options{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}

#qContent .q-option,
#qContent .treatment-pill{
  width:100% !important;
  min-height:52px !important;
  border-radius:16px !important;
  border:1px solid #cfe7f3 !important;
  background:#fff !important;
  color:#14213d !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:14px 18px !important;
  font-weight:850 !important;
  text-align:left !important;
  box-shadow:none !important;
  transform:none !important;
}

/* marcador padrão */
#qContent .q-option::before{
  content:"" !important;
  display:block !important;
  width:11px !important;
  height:11px !important;
  min-width:11px !important;
  border-radius:50% !important;
  border:1.8px solid #11aee6 !important;
  background:#fff !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

/* hover suave */
#qContent .q-option:hover,
#qContent .treatment-pill:hover{
  border-color:#45c4ed !important;
  background:#f7fdff !important;
  box-shadow:0 0 0 1px rgba(69,196,237,.12) !important;
}

/* selecionado: mantém fundo claro, só destaca borda e bolinha */
#qContent .q-option.on,
#qContent .treatment-pill.on{
  background:#f7fdff !important;
  color:#14213d !important;
  border-color:#24bde9 !important;
  box-shadow:0 0 0 1px rgba(36,189,233,.25) !important;
}

#qContent .q-option.on::before{
  background:#11aee6 !important;
  border-color:#11aee6 !important;
  box-shadow:inset 0 0 0 3px #fff !important;
}

/* Organiza quando sobrar 1 item na última linha, como Estética dental */
#qContent .q-options .q-option:last-child:nth-child(3n + 1),
#qContent .q-options .treatment-pill:last-child:nth-child(3n + 1){
  grid-column:1 / 2 !important;
}

/* Intensidade da dor segue o mesmo padrão */
#qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

/* Responsivo */
@media(max-width:900px){
  #qContent .q-options,
  #qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #qContent .q-options .q-option:last-child:nth-child(3n + 1),
  #qContent .q-options .treatment-pill:last-child:nth-child(3n + 1){
    grid-column:auto !important;
  }
}

@media(max-width:620px){
  #qContent .q-options,
  #qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
    grid-template-columns:1fr !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v89-questionario-profissional ===== */
/* ===== QUESTIONÁRIO PROFISSIONAL ===== */

#qContent{
  max-width:1100px !important;
  margin:0 auto !important;
  padding:8px 6px 18px !important;
}

/* header */
#qContent .q-title{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  padding-bottom:22px !important;
  margin-bottom:28px !important;
  border-bottom:1px solid #e8f1f6 !important;
}

#qContent .q-title .ico{
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#e8f9ff,#d8f7ff) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#0da7df !important;
  box-shadow:0 8px 20px rgba(13,167,223,.12) !important;
}

#qContent .q-title h2{
  margin:0 !important;
  font-size:32px !important;
  line-height:1 !important;
  color:#14213d !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}

#qContent .q-title .muted{
  margin-top:8px !important;
  color:#718096 !important;
  font-size:15px !important;
}

/* blocos */
#qContent .field{
  margin-bottom:22px !important;
}

#qContent .field label{
  display:block !important;
  margin-bottom:10px !important;
  color:#16233f !important;
  font-size:15px !important;
  font-weight:850 !important;
}

/* grid principal */
#qContent .q-subgrid-v66{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}

/* opções */
#qContent .q-options{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:10px 0 0 !important;
}

#qContent .q-option,
#qContent .treatment-pill{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;

  min-height:58px !important;
  padding:0 22px !important;

  border-radius:18px !important;
  border:1px solid #cfe6f2 !important;
  background:#fff !important;

  font-size:16px !important;
  font-weight:850 !important;
  color:#16233f !important;

  transition:.18s ease !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

/* bolinha */
#qContent .q-option::before{
  content:"" !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;

  border-radius:50% !important;
  border:2px solid #11aee6 !important;
  background:#fff !important;

  box-sizing:border-box !important;
  flex:none !important;
}

#qContent .q-option:hover,
#qContent .treatment-pill:hover{
  border-color:#11aee6 !important;
  background:#f8fdff !important;
  transform:translateY(-1px) !important;
}

#qContent .q-option.on,
#qContent .treatment-pill.on{
  border-color:#11aee6 !important;
  background:linear-gradient(180deg,#fafdff 0%,#f2fbff 100%) !important;
  box-shadow:0 0 0 3px rgba(17,174,230,.10) !important;
}

#qContent .q-option.on::before{
  background:#11aee6 !important;
  box-shadow:inset 0 0 0 3px #fff !important;
}

/* inputs */
#qContent .input,
#qContent input.input,
#qContent textarea.input,
#qContent select.input{
  width:100% !important;
  min-height:58px !important;

  border-radius:18px !important;
  border:1px solid #d5e7f1 !important;
  background:#fbfdff !important;

  padding:0 18px !important;

  font-size:15px !important;
  color:#16233f !important;

  outline:none !important;
  box-sizing:border-box !important;
  transition:.18s ease !important;
}

#qContent textarea.input{
  min-height:130px !important;
  padding-top:16px !important;
  resize:vertical !important;
}

#qContent .input:focus{
  border-color:#11aee6 !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(17,174,230,.10) !important;
}

/* etapa dor */
#qContent .q-title + .field .q-options{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:720px !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(2){
  grid-column:1 / -1 !important;
  max-width:620px !important;
}

#qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

/* slider */
#qContent .range-row{
  margin-top:8px !important;
  padding:18px 20px !important;
  border-radius:22px !important;
  border:1px solid #d9edf7 !important;
  background:linear-gradient(180deg,#fbfeff 0%,#f4fbff 100%) !important;
}

#qContent input[type="range"]{
  width:100% !important;
}

/* footer ações */
.q-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;

  margin-top:34px !important;
  padding-top:24px !important;

  border-top:1px solid #e8f1f6 !important;
}

.q-actions button:first-child{
  border:0 !important;
  background:transparent !important;
  color:#16233f !important;
  font-size:15px !important;
  font-weight:850 !important;
  box-shadow:none !important;
}

#qNextBtn{
  min-width:160px !important;
  height:56px !important;
  border-radius:18px !important;
  border:0 !important;

  background:linear-gradient(135deg,#16aee2,#12c0dd) !important;
  color:#fff !important;

  font-size:16px !important;
  font-weight:900 !important;

  box-shadow:0 14px 30px rgba(18,192,221,.22) !important;
}

/* responsivo */
@media(max-width:980px){
  #qContent .q-options{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  #qContent .q-subgrid-v66{
    grid-template-columns:1fr !important;
  }

  #qContent .q-subgrid-v66 > .field:nth-child(2){
    grid-column:auto !important;
    max-width:none !important;
  }
}

@media(max-width:640px){
  #qContent .q-options,
  #qContent .q-title + .field .q-options,
  #qContent .q-subgrid-v66 > .field:nth-child(2) .q-options{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }

  #qContent .q-title{
    align-items:flex-start !important;
  }

  #qContent .q-title h2{
    font-size:26px !important;
  }

  .q-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  #qNextBtn{
    width:100% !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v91-questionario-etapas-ok ===== */
/* Visual profissional dos botões sem mexer no JS das etapas */
#qContent .q-option::before{
  content:"" !important;
  display:inline-block !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  border-radius:50% !important;
  border:2px solid #11aee6 !important;
  background:#fff !important;
  box-sizing:border-box !important;
  margin:0 12px 0 0 !important;
  vertical-align:middle !important;
  flex:0 0 14px !important;
}

#qContent .q-option{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:58px !important;
  height:58px !important;
  padding:0 22px !important;
  border-radius:18px !important;
  border:1px solid #cfe6f2 !important;
  background:#fff !important;
  color:#16233f !important;
  font-size:16px !important;
  font-weight:850 !important;
  line-height:1 !important;
  text-align:left !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  box-shadow:none !important;
  transform:none !important;
}

#qContent .q-option.on{
  border-color:#11aee6 !important;
  background:linear-gradient(180deg,#fafdff 0%,#f2fbff 100%) !important;
  box-shadow:0 0 0 3px rgba(17,174,230,.10) !important;
}

#qContent .q-option.on::before{
  background:#11aee6 !important;
  box-shadow:inset 0 0 0 3px #fff !important;
}

/* esconde spans antigos que foram criados pela v90, se existirem */
#qContent .q-radio-dot-v90,
#qContent .real-dot-v86,
#qContent .real-dot-v87,
#qContent .option-dot-v84{
  display:none !important;
}

#qContent .q-radio-text-v90,
#qContent .real-text-v86,
#qContent .real-text-v87,
#qContent .option-text-v84{
  display:contents !important;
}

/* garante que os botões de navegação continuem clicáveis */
#qNextBtn,
.q-actions button{
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:5 !important;
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v94-botoes-padrao-final ===== */
/* Padrão final dos botões selecionáveis igual à referência enviada */

#qContent .q-options{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:14px 0 26px !important;
  align-items:stretch !important;
}

/* Quando tiver só Sim/Não, fica em 2 colunas largas */
#qContent .q-title + .field .q-options{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:760px !important;
}

/* Botão card */
#qContent .q-option{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;

  height:56px !important;
  min-height:56px !important;
  padding:0 18px !important;

  border:1px solid #cfe7f3 !important;
  border-radius:17px !important;
  background:#fff !important;

  color:#14213d !important;
  font-size:16px !important;
  font-weight:850 !important;
  line-height:1 !important;
  text-align:center !important;
  white-space:nowrap !important;

  box-sizing:border-box !important;
  overflow:hidden !important;
  box-shadow:none !important;
  transform:none !important;
}

/* Bolinha no centro vertical ao lado do texto */
#qContent .q-option::before{
  content:"" !important;
  display:block !important;
  position:static !important;
  transform:none !important;

  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  min-height:14px !important;

  border-radius:50% !important;
  border:2px solid #10aee6 !important;
  background:#fff !important;
  box-sizing:border-box !important;

  margin:0 !important;
  padding:0 !important;
  flex:0 0 14px !important;
}

/* Estado selecionado */
#qContent .q-option.on{
  border-color:#17bdf0 !important;
  background:#fbfeff !important;
  box-shadow:0 0 0 1px rgba(23,189,240,.16) !important;
}

#qContent .q-option.on::before{
  background:#10aee6 !important;
  border-color:#10aee6 !important;
  box-shadow:inset 0 0 0 3px #fff !important;
}

/* Remove sobras de spans/scripts antigos sem quebrar o texto */
#qContent .q-radio-dot-v90,
#qContent .real-dot-v86,
#qContent .real-dot-v87,
#qContent .option-dot-v84{
  display:none !important;
}

#qContent .q-radio-text-v90,
#qContent .real-text-v86,
#qContent .real-text-v87,
#qContent .option-text-v84{
  display:contents !important;
}

/* Inputs continuam alinhados */
#qContent .q-subgrid-v66{
  gap:20px !important;
}

/* Responsivo */
@media(max-width:900px){
  #qContent .q-options,
  #qContent .q-title + .field .q-options{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:none !important;
  }
}

@media(max-width:620px){
  #qContent .q-options,
  #qContent .q-title + .field .q-options{
    grid-template-columns:1fr !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v95-questionarios-padronizados ===== */
/* v95 - Reorganização e padronização profissional dos questionários
   Mantém as cores atuais, melhora alinhamento, espaçamento, cantos e responsividade. */

#questionario .q-card,
.page[data-page="questionario"] .q-card,
.q-card:has(#qContent){
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:30px 34px 28px !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid #d9eaf3 !important;
  box-shadow:0 18px 42px rgba(7,38,71,.07) !important;
  box-sizing:border-box !important;
}

#qContent{
  width:100% !important;
  display:block !important;
}

#qContent .q-title{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  margin:0 0 24px !important;
  padding-bottom:18px !important;
  border-bottom:1px solid #e3eef5 !important;
}

#qContent .q-title .ico{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  border-radius:18px !important;
}

#qContent .q-title h2{
  margin:0 !important;
  color:#102447 !important;
  font-size:28px !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
}

#qContent .q-title p,
#qContent .q-title small{
  margin:6px 0 0 !important;
  color:#64748b !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}

#qContent .field{
  margin:0 0 22px !important;
  padding:0 !important;
}

#qContent .field label{
  display:block !important;
  margin:0 0 11px !important;
  color:#102447 !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.3 !important;
}

#qContent .q-subgrid-v66,
#qContent .q-grid,
#qContent .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px 22px !important;
  align-items:start !important;
}

#qContent .q-options,
#qContent .field .q-options{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  align-items:stretch !important;
}

/* Perguntas curtas tipo Sim/Não ficam bonitas e largas */
#qContent .q-options:has(.q-option:nth-child(2):last-child),
#qContent .q-options:has(.treatment-pill:nth-child(2):last-child){
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:760px !important;
}

/* Opções padronizadas */
#qContent .q-option,
#qContent .treatment-pill{
  position:relative !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:60px !important;
  height:60px !important;
  padding:0 18px !important;
  border:1px solid #cfe7f3 !important;
  border-radius:20px !important;
  background:#fff !important;
  color:#14213d !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.18 !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  cursor:pointer !important;
  box-shadow:0 7px 18px rgba(7,38,71,.035) !important;
  transform:none !important;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

#qContent .q-option:hover,
#qContent .treatment-pill:hover{
  border-color:#17bdf0 !important;
  background:#fbfeff !important;
  box-shadow:0 12px 26px rgba(7,38,71,.07) !important;
  transform:translateY(-1px) !important;
}

/* Bolinha/radio sempre centralizada na altura do botão */
#qContent .q-option::before,
#qContent .treatment-pill::before{
  content:"" !important;
  display:block !important;
  position:static !important;
  transform:none !important;
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  border-radius:50% !important;
  border:2px solid #10aee6 !important;
  background:#fff !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 15px !important;
  box-sizing:border-box !important;
}

#qContent .q-option.on,
#qContent .treatment-pill.on{
  border-color:#17bdf0 !important;
  background:linear-gradient(180deg,#fbfeff 0%,#f1fbff 100%) !important;
  color:#052447 !important;
  box-shadow:0 0 0 3px rgba(23,189,240,.12), 0 12px 26px rgba(7,38,71,.06) !important;
  transform:none !important;
}

#qContent .q-option.on::before,
#qContent .treatment-pill.on::before{
  background:#10aee6 !important;
  border-color:#10aee6 !important;
  box-shadow:inset 0 0 0 3px #fff !important;
}

/* Remove resíduos de versões antigas sem apagar o texto */
#qContent .q-radio-dot-v90,
#qContent .real-dot-v86,
#qContent .real-dot-v87,
#qContent .option-dot-v84{
  display:none !important;
}

#qContent .q-radio-text-v90,
#qContent .real-text-v86,
#qContent .real-text-v87,
#qContent .option-text-v84{
  display:contents !important;
}

#qContent input.input,
#qContent select.input,
#qContent textarea.input,
#qContent .input{
  min-height:48px !important;
  border-radius:16px !important;
  border:1px solid #d4e8f1 !important;
  background:#f8fbfd !important;
  box-sizing:border-box !important;
}

#qContent .range-row{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-height:52px !important;
  padding:0 2px !important;
}

.q-actions{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  margin-top:26px !important;
  padding-top:20px !important;
  border-top:1px solid #e3eef5 !important;
}

#qNextBtn,
.q-actions button{
  min-height:44px !important;
  border-radius:16px !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:5 !important;
}

.q-tabs{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 18px !important;
}

.q-tabs span{
  min-height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  padding:7px 8px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  text-align:center !important;
}

@media(max-width:980px){
  #qContent .q-subgrid-v66,
  #qContent .q-grid,
  #qContent .form-grid{
    grid-template-columns:1fr !important;
  }

  #qContent .q-options,
  #qContent .field .q-options,
  #qContent .q-options:has(.q-option:nth-child(2):last-child),
  #qContent .q-options:has(.treatment-pill:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:none !important;
  }

  .q-tabs{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media(max-width:640px){
  #questionario .q-card,
  .page[data-page="questionario"] .q-card,
  .q-card:has(#qContent){
    padding:22px 18px !important;
    border-radius:24px !important;
  }

  #qContent .q-title{
    align-items:flex-start !important;
    gap:12px !important;
  }

  #qContent .q-title h2{font-size:23px !important;}

  #qContent .q-options,
  #qContent .field .q-options,
  #qContent .q-options:has(.q-option:nth-child(2):last-child),
  #qContent .q-options:has(.treatment-pill:nth-child(2):last-child){
    grid-template-columns:1fr !important;
  }

  #qContent .q-option,
  #qContent .treatment-pill{
    min-height:56px !important;
    height:auto !important;
    justify-content:center !important;
    padding:12px 16px !important;
  }

  .q-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  #qNextBtn,
  .q-actions button{width:100% !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v97-questionario-padrao-foto ===== */
/* v97 - Padronização visual dos questionários no modelo da referência enviada.
   Mantém a paleta atual e deixa cards, campos e botões com layout uniforme. */
#questionario,
.page#questionario{
  background:#f6fbff !important;
}
#questionario .q-wrap{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:14px 16px 32px !important;
}
#questionario .q-head{
  max-width:1120px !important;
  margin:0 auto 10px !important;
}
#questionario .q-progress{
  max-width:1120px !important;
  margin:0 auto 14px !important;
  height:10px !important;
  border-radius:999px !important;
  background:#e7f2f8 !important;
  overflow:hidden !important;
}
#questionario .q-progress span,
#qProgress{
  border-radius:999px !important;
  background:linear-gradient(90deg,#11b4ee,#087ee8) !important;
}
#questionario .q-tabs{
  max-width:1120px !important;
  margin:0 auto 16px !important;
}
#questionario .q-card,
.q-card:has(#qContent){
  max-width:1120px !important;
  padding:32px 34px 28px !important;
  border-radius:24px !important;
  border:1px solid #dbe8f1 !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  box-shadow:0 12px 36px rgba(15,42,72,.08) !important;
}
#qContent .q-title{
  min-height:72px !important;
  margin:0 0 26px !important;
  padding:0 0 20px !important;
  border-bottom:1px solid #e1ebf3 !important;
  align-items:center !important;
}
#qContent .q-title .ico{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  border-radius:16px !important;
  background:#eef8ff !important;
  color:#0889ec !important;
  box-shadow:none !important;
}
#qContent .q-title h2{
  font-size:26px !important;
  font-weight:900 !important;
  color:#07184a !important;
  letter-spacing:-.025em !important;
}
#qContent .q-title p,
#qContent .q-title .muted{
  color:#657491 !important;
  font-weight:700 !important;
  font-size:15px !important;
}
#qContent .field{
  margin-bottom:26px !important;
}
#qContent .field label{
  margin-bottom:12px !important;
  font-size:15px !important;
  font-weight:900 !important;
  color:#07184a !important;
}
#qContent .q-subgrid-v66,
#qContent .q-grid,
#qContent .form-grid,
#qContent .q-pain-grid-v96{
  gap:24px 24px !important;
}
#qContent .q-options,
#qContent .field .q-options{
  gap:16px !important;
}
#qContent .q-options-two{
  max-width:none !important;
}
#qContent .q-options-compact-v96{
  max-width:none !important;
}
#qContent .q-option,
#qContent .treatment-pill{
  justify-content:flex-start !important;
  min-height:64px !important;
  height:64px !important;
  padding:0 22px 0 62px !important;
  border-radius:18px !important;
  border:1.5px solid #d6e4ee !important;
  background:#fff !important;
  color:#07184a !important;
  font-size:16px !important;
  font-weight:900 !important;
  text-align:left !important;
  box-shadow:0 8px 18px rgba(15,42,72,.025) !important;
}
#qContent .q-option::before,
#qContent .treatment-pill::before{
  left:24px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  border:2px solid #bfcbd7 !important;
  background:#fff !important;
}
#qContent .q-option:hover,
#qContent .treatment-pill:hover{
  border-color:#1299f2 !important;
  background:#fbfdff !important;
  box-shadow:0 12px 26px rgba(8,126,232,.08) !important;
}
#qContent .q-option.on,
#qContent .treatment-pill.on{
  border-color:#118ef0 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%) !important;
  box-shadow:0 0 0 2px rgba(17,142,240,.08),0 12px 28px rgba(8,126,232,.10) !important;
}
#qContent .q-option.on::before,
#qContent .treatment-pill.on::before{
  border-color:#118ef0 !important;
  background:#118ef0 !important;
  box-shadow:inset 0 0 0 4px #fff !important;
}
#qContent input.input,
#qContent select.input,
#qContent textarea.input,
#qContent .input{
  width:100% !important;
  min-height:56px !important;
  border-radius:16px !important;
  border:1.5px solid #d6e4ee !important;
  background:#fbfdff !important;
  padding:0 18px !important;
  color:#07184a !important;
  font-size:15px !important;
  box-shadow:none !important;
}
#qContent textarea.input{
  padding-top:15px !important;
  min-height:96px !important;
}
#qContent input.input:focus,
#qContent select.input:focus,
#qContent textarea.input:focus{
  border-color:#118ef0 !important;
  box-shadow:0 0 0 3px rgba(17,142,240,.10) !important;
  outline:none !important;
}
#qContent .range-row{
  padding:0 !important;
  min-height:64px !important;
}
#qContent input[type="range"]{
  width:100% !important;
  accent-color:#118ef0 !important;
}
.q-actions{
  margin-top:30px !important;
  padding-top:24px !important;
  border-top:0 !important;
}
.q-actions .btn,
#qNextBtn{
  min-width:132px !important;
  min-height:50px !important;
  border-radius:12px !important;
  font-size:15px !important;
  font-weight:900 !important;
}
#qNextBtn{
  background:linear-gradient(135deg,#0b8af2,#0373d9) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(3,115,217,.20) !important;
}
.q-actions .btn.ghost,
.q-actions .ghost{
  background:#fff !important;
  color:#24456f !important;
  border:1.5px solid #b7d1e7 !important;
  box-shadow:none !important;
}
#qContent .q-level-grid,
#qContent .q-number-grid,
#qContent .level-grid{
  display:grid !important;
  grid-template-columns:repeat(10,minmax(0,1fr)) !important;
  gap:12px !important;
}
#qContent .q-level-grid .q-option,
#qContent .q-number-grid .q-option,
#qContent .level-grid .q-option{
  justify-content:center !important;
  padding:0 !important;
  min-height:58px !important;
  height:58px !important;
  text-align:center !important;
}
#qContent .q-level-grid .q-option::before,
#qContent .q-number-grid .q-option::before,
#qContent .level-grid .q-option::before{
  display:none !important;
}
@media(max-width:980px){
  #questionario .q-card,.q-card:has(#qContent){padding:28px 24px !important;}
  #qContent .q-options-three{grid-template-columns:1fr !important;}
  #qContent .q-level-grid,#qContent .q-number-grid,#qContent .level-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  #questionario .q-wrap{padding:8px 10px 24px !important;}
  #questionario .q-card,.q-card:has(#qContent){padding:22px 16px !important;border-radius:20px !important;}
  #qContent .q-title{align-items:center !important;gap:12px !important;}
  #qContent .q-title h2{font-size:22px !important;}
  #qContent .q-title .ico{width:48px !important;height:48px !important;min-width:48px !important;}
  #qContent .q-option,#qContent .treatment-pill{min-height:58px !important;height:auto !important;padding:13px 16px 13px 54px !important;font-size:15px !important;}
  #qContent .q-option::before,#qContent .treatment-pill::before{left:20px !important;}
  #qContent .q-level-grid,#qContent .q-number-grid,#qContent .level-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .q-actions .btn,#qNextBtn{width:100% !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v106-stat-cards-final-fix ===== */
/* v106 - correção real dos cards: ícone à esquerda, textos à esquerda e valor travado à direita */
.card.stat{
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  min-height:82px !important;
  padding:14px 18px !important;
  overflow:hidden !important;
}
.card.stat > .ico{
  grid-column:1 !important;
  grid-row:1 !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  overflow:hidden !important;
}
.card.stat > div:first-child{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(120px, max-content) !important;
  grid-template-areas:
    "title value"
    "desc  value" !important;
  align-items:center !important;
  column-gap:18px !important;
}
.card.stat label{
  grid-area:title !important;
  min-width:0 !important;
  display:block !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  color:#52617d !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.card.stat .muted{
  grid-area:desc !important;
  min-width:0 !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  color:#6d7890 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.card.stat strong{
  grid-area:value !important;
  justify-self:end !important;
  align-self:center !important;
  max-width:100% !important;
  min-width:0 !important;
  display:block !important;
  margin:0 !important;
  padding-left:8px !important;
  font-size:clamp(22px,2.3vw,30px) !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  color:#1b2b49 !important;
  text-align:right !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
/* Páginas internas em linhas, sem espaço morto */
#pacientes .grid.g4,
#gestor .grid.g4{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}
#pacientes .grid.g4 .card.stat,
#gestor .grid.g4 .card.stat{
  min-height:82px !important;
  max-height:88px !important;
}
#pacientes .grid.g4 .card.stat > div:first-child,
#gestor .grid.g4 .card.stat > div:first-child{
  grid-template-columns:minmax(0,1fr) minmax(180px, max-content) !important;
}
#pacientes .grid.g4 .card.stat strong,
#gestor .grid.g4 .card.stat strong{
  font-size:clamp(24px,2.6vw,30px) !important;
}
/* Dashboard principal continua em cards, mas sem texto cortado/valor invadindo */
#dashboard .grid.g4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
#dashboard .grid.g4 .card.stat{
  min-height:106px !important;
  max-height:118px !important;
  padding:14px !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
}
#dashboard .grid.g4 .card.stat > .ico{
  grid-column:2 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
}
#dashboard .grid.g4 .card.stat > div:first-child{
  grid-column:1 !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-areas:"title" "value" "desc" !important;
  row-gap:3px !important;
  column-gap:0 !important;
}
#dashboard .grid.g4 .card.stat strong{
  justify-self:start !important;
  text-align:left !important;
  padding-left:0 !important;
  font-size:clamp(23px,2.1vw,29px) !important;
  max-width:100% !important;
}
#dashboard .grid.g4 .card.stat label,
#dashboard .grid.g4 .card.stat .muted{
  max-width:100% !important;
}
/* Quando o valor for grande, ele não pode sair do card */
#patientsRevenue,
#patientsRevenueCard,
#dentistsRevenueCard,
#managerRevenueTotal,
#dashRevenue,
#dashRevenueTotal{
  max-width:min(100%, 260px) !important;
}
@media(max-width:1180px){
  #dashboard .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:720px){
  .card.stat{grid-template-columns:42px minmax(0,1fr) !important;padding:13px 14px !important;}
  .card.stat > .ico{width:40px !important;height:40px !important;min-width:40px !important;}
  .card.stat > div:first-child,
  #pacientes .grid.g4 .card.stat > div:first-child,
  #gestor .grid.g4 .card.stat > div:first-child{
    grid-template-columns:minmax(0,1fr) minmax(88px, max-content) !important;
    column-gap:10px !important;
  }
  .card.stat strong{font-size:22px !important;}
  #dashboard .grid.g4{grid-template-columns:1fr !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== atende-plus-responsive-v119 ===== */
/* v119 - Nome Atende+ e responsividade real para login/sistema */
html, body{
  width:100%;
  min-height:100%;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body{overscroll-behavior-y:auto;}
.app{
  min-height:100dvh!important;
  height:auto!important;
  overflow:visible!important;
}
.main{
  min-width:0!important;
  min-height:100dvh!important;
  overflow:visible!important;
}
.content,.clean-content{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}
.card,.grid,.top,.stat,.metric-row,.dashboard-metric-row,
.stat-row,.kpi-row,.report-card,.section-card{
  min-width:0!important;
}

/* Login sem cortar imagem e com rolagem em telas menores */
.login{
  min-height:100dvh!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) minmax(360px,1fr)!important;
  overflow-y:auto!important;
  background:#f7fafc!important;
}
.login-left{
  min-height:100dvh!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  padding:clamp(12px,2vw,28px)!important;
  background:linear-gradient(135deg,#eaf9fd,#f7fdff)!important;
}
.login-cover-img{
  width:100%!important;
  height:auto!important;
  max-width:min(100%,780px)!important;
  max-height:calc(100dvh - 32px)!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  border-radius:24px!important;
}
.login-right{
  min-height:100dvh!important;
  height:auto!important;
  overflow-y:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(18px,4vw,42px)!important;
}
.login-right > *{
  max-width:460px!important;
  width:100%!important;
}

/* Evita telas sem rolagem quando a altura do monitor for baixa */
@media (max-height:760px){
  .login-right{align-items:flex-start!important;}
  .login-left{min-height:760px!important;}
  .login-cover-img{max-height:720px!important;}
}

/* Notebook/tablet: não reduzir o sistema nem cortar conteúdo */
@media (max-width:1180px){
  .content,.clean-content{padding:20px!important;}
  .top{align-items:flex-start!important;}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .g3,.g2{grid-template-columns:1fr!important;}
  .card{padding:18px!important;}
}

/* Tela pequena: sidebar deixa de travar a largura e o conteúdo ganha rolagem normal */
@media (max-width:900px){
  .login{
    grid-template-columns:1fr!important;
    min-height:100dvh!important;
  }
  .login-left{
    display:none!important;
  }
  .login-right{
    min-height:100dvh!important;
    align-items:flex-start!important;
    padding:22px 16px!important;
  }
  .app{display:block!important;}
  .side,.sidebar{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .main{
    margin-left:0!important;
    width:100%!important;
    min-height:auto!important;
  }
  header{position:sticky!important;top:0!important;padding:0 12px!important;}
  .content,.clean-content{padding:16px!important;}
  .top{flex-direction:column!important;align-items:stretch!important;gap:12px!important;}
  .top .btn,.top button{align-self:flex-start!important;}
  .g4,.g3,.g2{grid-template-columns:1fr!important;}
}

@media (max-width:520px){
  .content,.clean-content{padding:12px!important;}
  .card{border-radius:16px!important;padding:14px!important;}
  .top h1{font-size:24px!important;line-height:1.12!important;}
  .btn{width:100%;justify-content:center;}
  .login-right{padding:16px 12px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v123-critical-login-first-render ===== */
/* v123 - CSS crítico no HEAD para a tela de login abrir já no tamanho correto */
html,body{
  width:100%;
  min-width:0;
  margin:0!important;
  overflow-x:hidden!important;
}
body:not(.is-authenticated){
  min-height:100dvh!important;
  overflow:hidden!important;
  background:#f4f8fb!important;
}
#app.hidden,
body:not(.is-authenticated) #app{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body:not(.is-authenticated) #login.login{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  display:grid!important;
  grid-template-columns:minmax(500px,50vw) minmax(420px,50vw)!important;
  background:#f4f8fb!important;
  overflow:hidden!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-left{
  position:relative!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  display:block!important;
  padding:0!important;
  background:#0ea5c8!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-cover-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-right{
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(22px,4vw,64px)!important;
  background:#f4f8fb!important;
  overflow:hidden!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-right>div{
  width:min(430px,100%)!important;
  max-width:430px!important;
  background:#fff!important;
  border:1px solid rgba(211,226,234,.85)!important;
  border-radius:16px!important;
  box-shadow:0 12px 35px rgba(15,34,54,.06)!important;
  padding:clamp(26px,3vw,42px)!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
@media(max-width:980px){
  body:not(.is-authenticated) #login.login{grid-template-columns:1fr!important;}
  body:not(.is-authenticated) #login .login-left{display:none!important;}
  body:not(.is-authenticated) #login .login-right{padding:18px!important;}
}
@media(max-height:680px) and (min-width:981px){
  body:not(.is-authenticated){overflow:auto!important;}
  body:not(.is-authenticated) #login.login{position:relative!important;height:auto!important;min-height:680px!important;}
  body:not(.is-authenticated) #login .login-left,
  body:not(.is-authenticated) #login .login-right{height:680px!important;min-height:680px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte2-modern-icons-fix ===== */
/* Parte 2 - remove emojis antigos e padroniza ícones modernos em SVG */
.ico.modern-icon svg,.deal-icon.modern-icon svg,.btn-icon-modern svg{width:20px;height:20px;display:block;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ico.modern-icon{font-size:0}
.deal-icon.modern-icon{font-size:0}
.deal-icon.modern-icon svg{width:24px;height:24px}
.btn-icon-modern{display:inline-flex;align-items:center;justify-content:center;margin-right:2px}
.btn-icon-modern svg{width:17px;height:17px}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-q15-integrado ===== */
#questionario .q-tabs{grid-template-columns:repeat(7,minmax(0,1fr))!important;align-items:center!important}
#questionario .q-tabs span{min-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1.1!important}
@media(max-width:900px){#questionario .q-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v124-layout-questionario-final-paulo ===== */
/* v124 - ajuste fino solicitado: etapas em 2 linhas, Gestação 2x2 e Tratamentos 3 colunas */
#questionario .q-wrap{
  max-width:1180px !important;
  overflow:hidden !important;
}

/* Etapas: todas visíveis em 2 linhas, sem passar da margem e sem texto por cima */
#questionario .q-tabs,
#questionario .q-tabs.v66-long,
.q-tabs.v66-long{
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto 18px !important;
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  gap:8px 8px !important;
  overflow:visible !important;
}
#questionario .q-tabs span,
#questionario .q-tabs.v66-long span,
.q-tabs.v66-long span{
  width:100% !important;
  min-width:0 !important;
  min-height:40px !important;
  height:auto !important;
  padding:7px 6px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  line-height:1.08 !important;
  font-size:10.5px !important;
  font-weight:900 !important;
  box-sizing:border-box !important;
}

/* Gestação: 2x2 alinhado, todos os cards do mesmo tamanho */
#qContent .pregnancy-grid-fix{
  width:100% !important;
  max-width:760px !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}
#qContent .pregnancy-grid-fix .q-option{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:left !important;
  padding:0 20px 0 24px !important;
  gap:14px !important;
  border-radius:18px !important;
  box-sizing:border-box !important;
}
#qContent .pregnancy-grid-fix .q-option::before{
  position:static !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
}

/* Tratamentos: 3 colunas, coluna 1 com 4 itens, coluna 2 com 3 e coluna 3 com 3 */
#qContent .treatment-grid-fix{
  width:100% !important;
  max-width:980px !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:repeat(4,58px) !important;
  grid-auto-flow:row !important;
  gap:14px 16px !important;
  align-items:stretch !important;
}
#qContent .treatment-grid-fix .treatment-pill{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:left !important;
  padding:0 18px 0 24px !important;
  gap:14px !important;
  border-radius:18px !important;
  box-sizing:border-box !important;
  white-space:normal !important;
}
#qContent .treatment-grid-fix .treatment-pill::before{
  position:static !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
}
#qContent .treatment-grid-fix .treatment-pill:nth-child(1){grid-column:1;grid-row:1}
#qContent .treatment-grid-fix .treatment-pill:nth-child(2){grid-column:1;grid-row:2}
#qContent .treatment-grid-fix .treatment-pill:nth-child(3){grid-column:1;grid-row:3}
#qContent .treatment-grid-fix .treatment-pill:nth-child(4){grid-column:1;grid-row:4}
#qContent .treatment-grid-fix .treatment-pill:nth-child(5){grid-column:2;grid-row:1}
#qContent .treatment-grid-fix .treatment-pill:nth-child(6){grid-column:2;grid-row:2}
#qContent .treatment-grid-fix .treatment-pill:nth-child(7){grid-column:2;grid-row:3}
#qContent .treatment-grid-fix .treatment-pill:nth-child(8){grid-column:3;grid-row:1}
#qContent .treatment-grid-fix .treatment-pill:nth-child(9){grid-column:3;grid-row:2}
#qContent .treatment-grid-fix .treatment-pill:nth-child(10){grid-column:3;grid-row:3}

@media(max-width:980px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,.q-tabs.v66-long{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  #qContent .treatment-grid-fix{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:auto !important;}
  #qContent .treatment-grid-fix .treatment-pill{grid-column:auto !important;grid-row:auto !important;}
}
@media(max-width:640px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,.q-tabs.v66-long{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  #qContent .pregnancy-grid-fix,#qContent .treatment-grid-fix{grid-template-columns:1fr !important;max-width:none !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte15-investimento-urgencia-sem-tremida ===== */
/* Parte 15 - remove tremida apenas em Investimento e Urgência da aba Tratamentos */
#qBody .invest-grid-fix,
#qBody .urgency-grid-fix{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
#qBody .invest-grid-fix .invest-option,
#qBody .urgency-grid-fix .urgency-option{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:68px!important;
  height:68px!important;
  padding:0 18px!important;
  border:2px solid #d7e6f2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  transform:none!important;
  scale:1!important;
  margin:0!important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease!important;
}
#qBody .invest-grid-fix .invest-option.on,
#qBody .urgency-grid-fix .urgency-option.on{
  border-color:#168fff!important;
  background:#f5fbff!important;
  transform:none!important;
  scale:1!important;
}
#qBody .invest-grid-fix .invest-option:hover,
#qBody .urgency-grid-fix .urgency-option:hover{
  transform:none!important;
  scale:1!important;
}
#qBody .invest-grid-fix .invest-option::before,
#qBody .urgency-grid-fix .urgency-option::before{
  flex:0 0 auto!important;
  margin:0 2px 0 0!important;
}
@media(max-width:900px){
  #qBody .invest-grid-fix,
  #qBody .urgency-grid-fix{grid-template-columns:1fr!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-final-paulo-sem-quadro-azul ===== */
/* Remove somente o quadro azul externo do questionário, sem mexer na lógica */
#questionario,
.page#questionario{
  background:#ffffff !important;
}

#questionario .q-wrap,
.page#questionario .q-wrap,
.q-wrap:has(#qContent){
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

#questionario .q-head,
#questionario .q-progress,
#questionario .q-tabs{
  background:transparent !important;
}

#questionario .q-card,
.q-card:has(#qContent){
  background:#ffffff !important;
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v119-dashboard-layout-trocado-4-cards ===== */
/* v119 - Dashboard trocado para o layout da referência: 4 cards lado a lado.
   Esta regra substitui somente o visual do Dashboard, sem alterar lógica, IDs ou dados. */
#dashboard.dashboard-v49{
  max-width:100%!important;
  margin:0!important;
  padding:0 0 34px!important;
  overflow:visible!important;
}

#dashboard .dashboard-head,
#dashboard .top.dashboard-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:0 0 24px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #dbeaf2!important;
}

#dashboard .dashboard-head h1{
  margin:0!important;
  color:#1f2f4d!important;
  font-size:30px!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  font-weight:900!important;
}

#dashboard .dashboard-head h1::after{
  content:' 👋';
  font-size:.9em!important;
}

#dashboard .dashboard-head p{
  margin:8px 0 0!important;
  color:#7b879d!important;
  opacity:1!important;
  font-size:14px!important;
  font-weight:650!important;
}

#dashboard .dashboard-head .btn{
  min-height:50px!important;
  padding:0 22px!important;
  border-radius:14px!important;
  background:#20a5d7!important;
  box-shadow:0 12px 24px rgba(32,165,215,.18)!important;
  font-size:14px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

#dashboard .dashboard-head .btn .btn-icon-modern{
  width:22px!important;
  height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Remove o padrão antigo de cards em lista somente no Dashboard */
#dashboard .dashboard-kpis,
#dashboard .grid.g4.dashboard-kpis,
#dashboard .grid.g4:first-of-type{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 24px!important;
  overflow:visible!important;
}

#dashboard .dashboard-kpis .card.stat,
#dashboard .grid.g4.dashboard-kpis .card.stat,
#dashboard .grid.g4:first-of-type .card.stat{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:190px!important;
  height:190px!important;
  padding:24px 24px 22px!important;
  border-radius:22px!important;
  border:1px solid #dceaf2!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(20,43,71,.08)!important;
  display:grid!important;
  grid-template-columns:1fr 56px!important;
  grid-template-rows:auto 1fr auto!important;
  gap:8px 14px!important;
  align-items:start!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

#dashboard .dashboard-kpis .card.stat:hover,
#dashboard .grid.g4.dashboard-kpis .card.stat:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px rgba(20,43,71,.12)!important;
}

#dashboard .dashboard-kpis .card.stat > div:first-child,
#dashboard .grid.g4.dashboard-kpis .card.stat > div:first-child,
#dashboard .grid.g4:first-of-type .card.stat > div:first-child{
  display:contents!important;
}

#dashboard .dashboard-kpis .card.stat label,
#dashboard .grid.g4.dashboard-kpis .card.stat label,
#dashboard .grid.g4:first-of-type .card.stat label{
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  width:100%!important;
  margin:10px 0 0!important;
  color:#1f2f4d!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#dashboard .dashboard-kpis .card.stat .muted,
#dashboard .grid.g4.dashboard-kpis .card.stat .muted,
#dashboard .grid.g4:first-of-type .card.stat .muted{
  grid-column:1 / 3!important;
  grid-row:2!important;
  display:block!important;
  margin:2px 0 0!important;
  color:#6e7c94!important;
  opacity:1!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:650!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#dashboard .dashboard-kpis .card.stat strong,
#dashboard .grid.g4.dashboard-kpis .card.stat strong,
#dashboard .grid.g4:first-of-type .card.stat strong{
  grid-column:1 / 3!important;
  grid-row:3!important;
  justify-self:start!important;
  align-self:end!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:20px 0 0!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:clamp(30px,2.4vw,38px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.05em!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#dashboard .dashboard-kpis .card.stat > .ico,
#dashboard .grid.g4.dashboard-kpis .card.stat > .ico,
#dashboard .grid.g4:first-of-type .card.stat > .ico{
  grid-column:2!important;
  grid-row:1 / 3!important;
  justify-self:end!important;
  align-self:start!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  margin:0!important;
  padding:0!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#e5f7fb!important;
  color:#12a4d1!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

#dashboard .dashboard-kpis .card.stat > .ico.s,
#dashboard .grid.g4.dashboard-kpis .card.stat > .ico.s{
  background:#dff8f2!important;
  color:#1b9c80!important;
}

#dashboard .dashboard-kpis .card.stat > .ico.w,
#dashboard .grid.g4.dashboard-kpis .card.stat > .ico.w{
  background:#fff1d6!important;
  color:#aa7411!important;
}

#dashboard .dashboard-kpis .card.stat > .ico svg,
#dashboard .grid.g4.dashboard-kpis .card.stat > .ico svg,
#dashboard .grid.g4:first-of-type .card.stat > .ico svg{
  width:26px!important;
  height:26px!important;
  stroke:currentColor!important;
}

/* Área inferior no mesmo formato da referência */
#dashboard .dashboard-two-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr)!important;
  gap:20px!important;
  margin-top:0!important;
  align-items:stretch!important;
}

#dashboard .dashboard-card{
  border-radius:24px!important;
  border:1px solid #dceaf2!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(20,43,71,.06)!important;
}

#dashboard .dashboard-chart-card{
  min-height:390px!important;
  padding:26px!important;
}

#dashboard .dashboard-conversion-card{
  min-height:390px!important;
  padding:26px!important;
}

#dashboard .section-title-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
}

#dashboard .dashboard-card h3{
  margin:0 0 8px!important;
  color:#1f2f4d!important;
  font-size:25px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}

#dashboard .dashboard-card p.muted{
  color:#8a96aa!important;
  font-size:14px!important;
  font-weight:650!important;
}

#dashboard .chart{
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  margin-top:24px!important;
  padding:20px 22px 0!important;
  border:1px solid #dfeaf1!important;
  border-radius:22px!important;
  background:#fbfdff!important;
}

#dashboard .days{
  color:#8090a8!important;
  font-size:13px!important;
  font-weight:650!important;
  padding:10px 22px 0!important;
}

#dashboard .conversion-mini-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  margin-top:22px!important;
}

#dashboard .conversion-mini-grid > div{
  min-height:104px!important;
  border:1px solid #dfeaf1!important;
  background:#fbfdff!important;
  border-radius:18px!important;
  padding:18px!important;
}

#dashboard .conversion-mini-grid span{
  display:block!important;
  color:#7b879d!important;
  font-size:13px!important;
  font-weight:850!important;
  margin-bottom:10px!important;
}

#dashboard .conversion-mini-grid b{
  display:block!important;
  color:#1f2f4d!important;
  font-size:28px!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}

@media(max-width:1280px){
  #dashboard .dashboard-kpis,
  #dashboard .grid.g4.dashboard-kpis,
  #dashboard .grid.g4:first-of-type{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:980px){
  #dashboard .dashboard-two-columns{grid-template-columns:1fr!important;}
  #dashboard .dashboard-head{align-items:stretch!important;flex-direction:column!important;}
  #dashboard .dashboard-head .btn{width:100%!important;}
}

@media(max-width:680px){
  #dashboard .dashboard-kpis,
  #dashboard .grid.g4.dashboard-kpis,
  #dashboard .grid.g4:first-of-type{
    grid-template-columns:1fr!important;
  }
  #dashboard .dashboard-kpis .card.stat,
  #dashboard .grid.g4.dashboard-kpis .card.stat,
  #dashboard .grid.g4:first-of-type .card.stat{
    height:auto!important;
    min-height:150px!important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v119-dashboard-cards-sem-invadir-final ===== */
/* v119 - Dashboard em 4 cards sem texto invadir ícone/valor */
#dashboard .grid.g4:first-of-type,
#dashboard .dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 18px!important;
  align-items:stretch!important;
}

#dashboard .grid.g4:first-of-type .card.stat,
#dashboard .dashboard-kpis .card.stat{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  height:150px!important;
  min-height:150px!important;
  padding:22px 24px!important;
  border-radius:22px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  grid-template-rows:auto auto 1fr auto!important;
  gap:0 14px!important;
  align-items:start!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

#dashboard .grid.g4:first-of-type .card.stat > div:first-child,
#dashboard .dashboard-kpis .card.stat > div:first-child{
  display:contents!important;
}

#dashboard .grid.g4:first-of-type .card.stat label,
#dashboard .dashboard-kpis .card.stat label{
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.18!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

#dashboard .grid.g4:first-of-type .card.stat .muted,
#dashboard .dashboard-kpis .card.stat .muted{
  grid-column:1!important;
  grid-row:2!important;
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#667590!important;
  opacity:1!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.25!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:hidden!important;
}

#dashboard .grid.g4:first-of-type .card.stat > .ico,
#dashboard .dashboard-kpis .card.stat > .ico{
  grid-column:2!important;
  grid-row:1 / 3!important;
  justify-self:end!important;
  align-self:start!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
}

#dashboard .grid.g4:first-of-type .card.stat > .ico svg,
#dashboard .dashboard-kpis .card.stat > .ico svg{
  width:24px!important;
  height:24px!important;
}

#dashboard .grid.g4:first-of-type .card.stat strong,
#dashboard .dashboard-kpis .card.stat strong{
  grid-column:1 / 3!important;
  grid-row:4!important;
  justify-self:start!important;
  align-self:end!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:clamp(26px,2.1vw,34px)!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-variant-numeric:tabular-nums!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

@media(max-width:1280px){
  #dashboard .grid.g4:first-of-type,
  #dashboard .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  #dashboard .grid.g4:first-of-type,
  #dashboard .dashboard-kpis{grid-template-columns:1fr!important;}
  #dashboard .grid.g4:first-of-type .card.stat,
  #dashboard .dashboard-kpis .card.stat{height:auto!important;min-height:118px!important;padding:18px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v-final-dashboard-card-spacing-fix ===== */
/* Ajuste final: cards do Dashboard sem texto invadindo o ícone */
#dashboard .dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}

#dashboard .dashboard-kpis .card.stat{
  position:relative!important;
  display:block!important;
  min-height:188px!important;
  padding:34px 24px 22px!important;
  overflow:hidden!important;
  border-radius:22px!important;
}

#dashboard .dashboard-kpis .card.stat > div:first-child{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  padding-right:84px!important;
}

#dashboard .dashboard-kpis .card.stat .ico{
  position:absolute!important;
  top:24px!important;
  right:24px!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  border-radius:18px!important;
  margin:0!important;
  z-index:2!important;
}

#dashboard .dashboard-kpis .card.stat label{
  display:block!important;
  max-width:100%!important;
  margin:0 0 12px!important;
  padding-top:8px!important;
  color:#102447!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.22!important;
  letter-spacing:0!important;
}

#dashboard .dashboard-kpis .card.stat .muted{
  display:block!important;
  max-width:100%!important;
  margin:0!important;
  padding-top:2px!important;
  color:#52627d!important;
  font-size:12.5px!important;
  font-weight:650!important;
  line-height:1.38!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#dashboard .dashboard-kpis .card.stat strong{
  display:block!important;
  margin-top:auto!important;
  padding-top:26px!important;
  color:#1d2f50!important;
  font-size:34px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  white-space:nowrap!important;
}

#dashboard .dashboard-kpis #dashRevenue{
  font-size:31px!important;
  letter-spacing:-.05em!important;
}

@media(max-width:1280px){
  #dashboard .dashboard-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  #dashboard .dashboard-kpis{
    grid-template-columns:1fr!important;
  }
  #dashboard .dashboard-kpis .card.stat{
    min-height:160px!important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v119-dashboard-cards-melhorado-final ===== */
/* v119 - Correção real dos cards do Dashboard
   Erro encontrado: os cards estavam com textos em nowrap/ellipsis e sem área reservada
   corretamente para o ícone. Isso fazia a descrição invadir/ficar cortada perto do ícone.
   Aqui o card vira um bloco limpo: ícone fixo no canto, textos com largura segura e valor embaixo. */

#dashboard .grid.g4,
#dashboard .dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 20px!important;
  align-items:stretch!important;
}

#dashboard .grid.g4 .card.stat,
#dashboard .dashboard-kpis .card.stat{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  min-height:188px!important;
  height:188px!important;
  padding:34px 24px 22px 24px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #d8e8f1!important;
  box-shadow:0 10px 30px rgba(18,47,75,.04)!important;
}

#dashboard .grid.g4 .card.stat > div:first-child,
#dashboard .dashboard-kpis .card.stat > div:first-child{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

#dashboard .grid.g4 .card.stat > .ico,
#dashboard .dashboard-kpis .card.stat > .ico{
  position:absolute!important;
  top:26px!important;
  right:24px!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  margin:0!important;
  border-radius:17px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:2!important;
}

#dashboard .grid.g4 .card.stat > .ico svg,
#dashboard .dashboard-kpis .card.stat > .ico svg{
  width:25px!important;
  height:25px!important;
}

#dashboard .grid.g4 .card.stat label,
#dashboard .dashboard-kpis .card.stat label{
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 86px)!important;
  min-height:34px!important;
  margin:0 0 12px!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.18!important;
  letter-spacing:-.01em!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

#dashboard .grid.g4 .card.stat .muted,
#dashboard .dashboard-kpis .card.stat .muted{
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 82px)!important;
  min-height:34px!important;
  margin:0!important;
  padding-top:2px!important;
  color:#667590!important;
  opacity:1!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.32!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

#dashboard .grid.g4 .card.stat strong,
#dashboard .dashboard-kpis .card.stat strong{
  position:absolute!important;
  left:24px!important;
  right:18px!important;
  bottom:22px!important;
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 42px)!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:clamp(30px,2.7vw,36px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-variant-numeric:tabular-nums!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#dashboard .grid.g4 .card.stat strong[id*="Revenue"],
#dashboard .dashboard-kpis .card.stat strong[id*="Revenue"],
#dashboard #dashRevenue{
  font-size:clamp(28px,2.35vw,34px)!important;
  letter-spacing:-.055em!important;
}

@media(max-width:1250px){
  #dashboard .grid.g4,
  #dashboard .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:700px){
  #dashboard .grid.g4,
  #dashboard .dashboard-kpis{grid-template-columns:1fr!important;}
  #dashboard .grid.g4 .card.stat,
  #dashboard .dashboard-kpis .card.stat{height:auto!important;min-height:168px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v119-subir-apenas-icones-dashboard ===== */
/* v119 - ícones do Dashboard mais altos.
   Substitui o ajuste anterior: mexe somente nos ícones, sem alterar textos/cards. */
#dashboard .grid.g4 .card.stat > .ico,
#dashboard .dashboard-kpis .card.stat > .ico,
#dashboard .grid.g4 .card.stat .ico,
#dashboard .dashboard-kpis .card.stat .ico{
  transform:translateY(-36px) !important;
}

@media(max-width:720px){
  #dashboard .grid.g4 .card.stat > .ico,
  #dashboard .dashboard-kpis .card.stat > .ico,
  #dashboard .grid.g4 .card.stat .ico,
  #dashboard .dashboard-kpis .card.stat .ico{
    transform:translateY(-24px) !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== dentistas-lista-limpa-v2 ===== */
/* Lista de dentistas sem CPF, sem rolagem e sem quebras feias */
#dentistas .dentists-list-table-wrap{
  width:100%;
  overflow:visible!important;
  border-radius:16px;
}
#dentistas .dentists-list-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse;
}
#dentistas .dentists-list-table th,
#dentistas .dentists-list-table td{
  vertical-align:middle!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  font-size:14px!important;
  line-height:1.35!important;
}
#dentistas .dentists-list-table th{
  white-space:nowrap!important;
  font-size:12px!important;
  line-height:1.15!important;
  color:#60708d!important;
  font-weight:800!important;
}
#dentistas .dentists-list-table td{
  white-space:nowrap!important;
  color:#0b1f42!important;
}
#dentistas .dentists-list-table th:nth-child(1),
#dentistas .dentists-list-table td:nth-child(1){width:26%;}
#dentistas .dentists-list-table th:nth-child(2),
#dentistas .dentists-list-table td:nth-child(2){width:14%;}
#dentistas .dentists-list-table th:nth-child(3),
#dentistas .dentists-list-table td:nth-child(3){width:32%;}
#dentistas .dentists-list-table th:nth-child(4),
#dentistas .dentists-list-table td:nth-child(4){width:9%;text-align:center;}
#dentistas .dentists-list-table th:nth-child(5),
#dentistas .dentists-list-table td:nth-child(5){width:11%;font-weight:800;}
#dentistas .dentists-list-table th:nth-child(6),
#dentistas .dentists-list-table td:nth-child(6){width:8%;text-align:right;}
#dentistas .dentists-list-table td:nth-child(1) b{
  display:block!important;
  max-width:100%!important;
  white-space:normal!important;
  line-height:1.25!important;
}
#dentistas .dentists-list-table td:nth-child(3){
  white-space:normal!important;
  line-height:1.35!important;
}
#dentistas .dentist-row-actions{
  justify-content:flex-end;
  flex-wrap:nowrap!important;
}
#dentistas .dentist-row-actions .btn{
  min-width:76px;
  height:40px;
  padding:0 12px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}
@media(max-width:980px){
  #dentistas .dentists-list-table th,
  #dentistas .dentists-list-table td{font-size:12px!important;}
  #dentistas .dentists-list-table th:nth-child(1),
  #dentistas .dentists-list-table td:nth-child(1){width:24%;}
  #dentistas .dentists-list-table th:nth-child(3),
  #dentistas .dentists-list-table td:nth-child(3){width:30%;}
  #dentistas .dentists-list-table th:nth-child(5),
  #dentistas .dentists-list-table td:nth-child(5){width:12%;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v120-relatorios-cards-lista-css ===== */
/* v120 - Relatórios: lista detalhada em cards, sem tabela quebrada */
#relatorios .report-detail-section{padding:22px!important;overflow:visible!important;}
#relatorios .report-cards-list{display:grid;gap:12px;margin-top:14px;}
#relatorios .report-empty-card{padding:26px;text-align:center;color:#6d7890;border:1px dashed #d7e7f0;border-radius:18px;background:#fbfdff;font-weight:700;}
#relatorios .report-detail-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid #dcebf2;border-radius:18px;background:#fff;padding:16px 18px;box-shadow:0 8px 22px rgba(11,39,75,.035);}
#relatorios .report-detail-main{min-width:0;display:grid;gap:10px;}
#relatorios .report-patient-line{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
#relatorios .report-patient-info{min-width:0;}
#relatorios .report-patient-info strong{display:block;color:#102447;font-size:15px;font-weight:900;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px;}
#relatorios .report-patient-info span{display:block;margin-top:4px;color:#6d7890;font-size:12px;font-weight:700;}
#relatorios .report-value-box{color:#102447;font-size:20px;font-weight:950;white-space:nowrap;line-height:1.1;text-align:right;}
#relatorios .report-meta-line{display:flex;align-items:center;gap:9px;color:#43536d;font-size:13px;font-weight:750;min-width:0;flex-wrap:wrap;}
#relatorios .report-meta-line i{width:5px;height:5px;border-radius:999px;background:#9fb3c8;display:inline-block;}
#relatorios .report-tags-line{display:flex;flex-wrap:wrap;gap:7px;}
#relatorios .report-treatment-tag{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border-radius:999px;background:#f1f7fb;border:1px solid #dfeef5;color:#243858;font-size:12px;font-weight:800;}
#relatorios .report-status-box{min-width:96px;text-align:center;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;}
#relatorios .report-status-box.closed{background:#dff8ee;color:#07845f;}
#relatorios .report-status-box.open{background:#fff2d6;color:#96640c;}
@media(max-width:760px){#relatorios .report-detail-card{grid-template-columns:1fr;align-items:start}#relatorios .report-patient-line{flex-direction:column;gap:8px}#relatorios .report-value-box{text-align:left}.report-status-box{width:max-content}#relatorios .report-patient-info strong{white-space:normal;max-width:none}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v130-atendimentos-aba ===== */
/* v130 corrigido - Atendimentos organizado sem cortes e sem tabela quebrada */
#atendimentos{max-width:1180px;margin:0 auto;padding-bottom:28px!important}
#atendimentos .top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-bottom:20px!important}
#atendimentos .top h1{font-size:30px!important;line-height:1.05!important;margin:0!important;color:#22304a!important}
#atendimentos .top p{font-size:14px!important;margin-top:8px!important;color:#5f6f8a!important}
#atendimentos .atendimentos-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-bottom:20px!important}
#atendimentos .card.stat{position:relative!important;display:block!important;min-height:188px!important;padding:24px!important;overflow:hidden!important;border-radius:22px!important;background:#fff!important;border:1px solid #d7e8f0!important;box-shadow:0 10px 28px rgba(15,43,67,.04)!important}
#atendimentos .card.stat .ico{position:absolute!important;top:22px!important;right:22px!important;width:58px!important;height:58px!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:2!important}
#atendimentos .card.stat .ico svg{width:25px!important;height:25px!important;stroke-width:2!important}
#atendimentos .card.stat label{display:block!important;width:calc(100% - 82px)!important;max-width:calc(100% - 82px)!important;margin:0!important;padding:0!important;font-size:14px!important;font-weight:900!important;color:#102447!important;line-height:1.22!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important}
#atendimentos .card.stat .muted{display:block!important;width:calc(100% - 82px)!important;max-width:calc(100% - 82px)!important;margin-top:10px!important;color:#61708b!important;font-size:12.5px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#atendimentos .card.stat strong{position:absolute!important;left:24px!important;bottom:24px!important;right:auto!important;margin:0!important;font-size:40px!important;font-weight:900!important;line-height:1!important;color:#22304a!important;letter-spacing:-.04em!important;white-space:nowrap!important}
#atendimentos .attendance-panel{padding:24px!important;border-radius:22px!important;overflow:hidden!important}
#atendimentos .attendance-panel h3{margin:0 0 8px!important;font-size:22px!important;color:#22304a!important}
#atendimentos .attendance-panel .muted{color:#61708b!important}
#atendimentos .attendance-list{display:grid!important;gap:12px!important;margin-top:20px!important}
#atendimentos .attendance-item{display:grid!important;grid-template-columns:minmax(210px,1.15fr) minmax(145px,.75fr) minmax(220px,1.25fr) minmax(130px,.7fr) 80px 125px 150px!important;gap:14px!important;align-items:center!important;padding:18px 10px!important;border-top:1px solid #dbeaf1!important;color:#102447!important}
#atendimentos .attendance-item:first-child{border-top:0!important}
#atendimentos .attendance-head{padding:10px 10px 12px!important;border-top:0!important;border-bottom:1px solid #dbeaf1!important;font-size:12px!important;font-weight:900!important;color:#65748d!important;text-transform:none!important}
#atendimentos .attendance-patient b{display:block!important;font-size:14px!important;color:#102447!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important}
#atendimentos .attendance-patient .mini-muted{display:block!important;margin-top:4px!important;color:#95a2b6!important;font-size:12px!important;line-height:1.25!important;white-space:normal!important}
#atendimentos .attendance-date,#atendimentos .attendance-treatment,#atendimentos .attendance-dentist,#atendimentos .attendance-score{font-size:14px!important;line-height:1.3!important;color:#102447!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
#atendimentos .attendance-score b{font-size:17px!important;color:#102447!important}
#atendimentos .tag{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:96px!important;padding:8px 12px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;white-space:nowrap!important}
#atendimentos .tag.warn{background:#fff0c7!important;color:#9a6500!important}
#atendimentos .patient-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-start!important}
#atendimentos .patient-actions .analysis-btn,#atendimentos .patient-actions .deal-btn,#atendimentos .patient-actions .btn{min-height:40px!important;border-radius:12px!important;padding:0 14px!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important}
#atendimentos .attendance-empty{text-align:center!important;padding:44px 16px!important;border:1px dashed #d7e8f0!important;border-radius:18px!important;color:#61708b!important;background:#fbfdff!important}
@media(max-width:1280px){#atendimentos .attendance-item{grid-template-columns:1.1fr .7fr 1.1fr .7fr 70px 120px!important}#atendimentos .attendance-item>div:nth-child(7){grid-column:1/-1}.attendance-head>div:nth-child(7){display:none!important}}
@media(max-width:1180px){#atendimentos .atendimentos-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}#atendimentos .attendance-head{display:none!important}#atendimentos .attendance-item{grid-template-columns:1fr 1fr!important;border:1px solid #dbeaf1!important;border-radius:18px!important;padding:16px!important;background:#fff!important}#atendimentos .attendance-item>div:nth-child(7){grid-column:auto!important}}
@media(max-width:720px){#atendimentos .atendimentos-kpis{grid-template-columns:1fr!important}#atendimentos .attendance-item{grid-template-columns:1fr!important}#atendimentos .top{align-items:flex-start!important;flex-direction:column!important}}


/* ===== patient-photo-avatar-css ===== */
/* Foto redonda do paciente - cadastro, pacientes e atendimentos */
.patient-photo-block{display:flex!important;align-items:center!important;gap:18px!important;margin:0 0 20px!important;padding:16px!important;border:1px solid #d7edf5!important;border-radius:20px!important;background:linear-gradient(135deg,#f8fdff,#ffffff)!important;}
.patient-photo-preview{width:84px!important;height:84px!important;border-radius:50%!important;border:3px solid #dceef6!important;background:linear-gradient(135deg,#05b8d8,#12c6c8)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:26px!important;font-weight:900!important;overflow:hidden!important;flex:0 0 84px!important;box-shadow:0 10px 24px rgba(8,174,234,.13)!important;}
.patient-photo-preview img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.patient-photo-info{min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;}
.patient-photo-info b{color:#102447!important;font-size:15px!important;}
.patient-photo-info span{color:#60708d!important;font-size:12px!important;line-height:1.35!important;}
.patient-photo-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:center!important;}
.patient-photo-file{display:none!important;}
.patient-photo-btn{border:1px solid #bdeaf6!important;background:#eefbff!important;color:#06325c!important;border-radius:12px!important;padding:9px 13px!important;font-weight:800!important;font-size:13px!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:7px!important;}
.patient-photo-btn:hover{background:#dff7ff!important;border-color:#06aee0!important;}
.patient-photo-btn.danger{background:#fff!important;border-color:#ffd1c7!important;color:#bb4634!important;}
.patient-profile-cell{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;}
.patient-avatar{width:46px!important;height:46px!important;border-radius:50%!important;background:linear-gradient(135deg,#05b8d8,#12c6c8)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;flex:0 0 46px!important;font-weight:900!important;font-size:14px!important;letter-spacing:.02em!important;border:2px solid #dceef6!important;}
.patient-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.patient-profile-text{min-width:0!important;}
.patient-profile-text b{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.attendance-patient{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;}
.attendance-patient .patient-profile-text span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:210px!important;}
@media(max-width:720px){.patient-photo-block{align-items:flex-start!important;flex-direction:column!important}.patient-photo-preview{width:76px!important;height:76px!important;flex-basis:76px!important}.patient-avatar{width:42px!important;height:42px!important;flex-basis:42px!important}.attendance-patient .patient-profile-text span{max-width:150px!important}}


/* ===== v152-atendimentos-analise-fechamento-fix ===== */
/* v153 - Atendimentos: cabe em 100%, linhas compactas e ações flutuantes no hover */
html,body{overflow-x:hidden!important;}
.main,.content,.page{min-width:0!important;}
#atendimentos{width:100%!important;max-width:none!important;margin:0!important;padding-bottom:28px!important;}
#atendimentos .top{margin-bottom:18px!important;align-items:center!important;}
#atendimentos .atendimentos-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-bottom:18px!important;}
#atendimentos .card.stat{min-height:132px!important;padding:20px!important;border-radius:20px!important;overflow:hidden!important;position:relative!important;}
#atendimentos .card.stat .ico{position:absolute!important;top:18px!important;right:18px!important;width:52px!important;height:52px!important;border-radius:16px!important;}
#atendimentos .card.stat label{display:block!important;width:calc(100% - 72px)!important;max-width:calc(100% - 72px)!important;font-size:13px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
#atendimentos .card.stat .muted{display:block!important;width:calc(100% - 72px)!important;max-width:calc(100% - 72px)!important;font-size:12px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
#atendimentos .card.stat strong{position:absolute!important;left:20px!important;bottom:18px!important;font-size:34px!important;line-height:1!important;}
#atendimentos .attendance-panel{width:100%!important;padding:22px!important;border-radius:22px!important;overflow:visible!important;}
#atendimentos .attendance-list{width:100%!important;display:grid!important;gap:0!important;margin-top:18px!important;overflow:visible!important;}
#atendimentos .attendance-head,
#atendimentos .attendance-item{display:grid!important;grid-template-columns:minmax(225px,1.35fr) minmax(125px,.72fr) minmax(190px,1.1fr) minmax(80px,.5fr) 70px 118px!important;column-gap:14px!important;align-items:center!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;}
#atendimentos .attendance-head{padding:11px 10px!important;border-bottom:1px solid #dbeaf1!important;font-size:12px!important;font-weight:900!important;color:#65748d!important;}
#atendimentos .attendance-head>div:nth-child(7){display:none!important;}
#atendimentos .attendance-item{position:relative!important;min-height:92px!important;padding:18px 10px!important;border-top:1px solid #dbeaf1!important;transition:background .18s ease, box-shadow .18s ease!important;overflow:visible!important;}
#atendimentos .attendance-item:first-child{border-top:0!important;}
#atendimentos .attendance-item:hover{background:#fbfdff!important;box-shadow:inset 3px 0 0 #16a6d5!important;z-index:7!important;}
#atendimentos .attendance-patient{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;}
#atendimentos .patient-avatar{width:42px!important;height:42px!important;flex:0 0 42px!important;}
#atendimentos .attendance-patient b,
#atendimentos .attendance-patient .patient-profile-text span,
#atendimentos .attendance-patient .mini-muted{display:block!important;max-width:175px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#atendimentos .attendance-patient .mini-muted{margin-top:3px!important;color:#95a2b6!important;}
#atendimentos .attendance-date,
#atendimentos .attendance-treatment,
#atendimentos .attendance-dentist,
#atendimentos .attendance-score{min-width:0!important;font-size:13px!important;line-height:1.35!important;color:#102447!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#atendimentos .attendance-date{white-space:nowrap!important;}
#atendimentos .attendance-treatment{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;white-space:normal!important;}
#atendimentos .attendance-dentist{white-space:nowrap!important;text-align:left!important;}
#atendimentos .attendance-score b{font-size:14px!important;white-space:nowrap!important;}
#atendimentos .tag{min-width:96px!important;padding:7px 10px!important;border-radius:999px!important;font-size:11px!important;font-weight:900!important;white-space:nowrap!important;}
#atendimentos .tag.warn{background:#fff0c7!important;color:#9a6500!important;}
/* Ações não ocupam espaço na linha: aparecem flutuando abaixo da foto/nome ao passar o mouse */
#atendimentos .attendance-item>div:nth-child(7){position:absolute!important;left:64px!important;top:64px!important;z-index:20!important;display:block!important;pointer-events:none!important;}
#atendimentos .patient-actions{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important;justify-content:flex-start!important;opacity:0!important;visibility:hidden!important;transform:translateY(-6px)!important;transition:opacity .16s ease, transform .16s ease, visibility .16s ease!important;background:#ffffff!important;border:1px solid #cfeaf5!important;border-radius:14px!important;padding:6px!important;box-shadow:0 14px 34px rgba(10,45,75,.12)!important;}
#atendimentos .attendance-item:hover .patient-actions{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;pointer-events:auto!important;}
#atendimentos .patient-actions .analysis-btn,
#atendimentos .patient-actions .deal-btn,
#atendimentos .patient-actions .btn{width:auto!important;min-width:105px!important;height:32px!important;min-height:32px!important;border-radius:10px!important;padding:0 11px!important;font-size:12px!important;font-weight:900!important;white-space:nowrap!important;}
#atendimentos .patient-actions .analysis-btn{background:#eefbff!important;color:#06325c!important;border:1px solid #bcecf8!important;}
#atendimentos .patient-actions .deal-btn{background:#00a6dc!important;color:#fff!important;border:0!important;}
@media(max-width:1280px){#atendimentos .attendance-head,#atendimentos .attendance-item{grid-template-columns:minmax(220px,1.3fr) minmax(118px,.7fr) minmax(170px,1fr) minmax(70px,.45fr) 68px 112px!important;column-gap:12px!important;}#atendimentos .attendance-patient b,#atendimentos .attendance-patient .patient-profile-text span,#atendimentos .attendance-patient .mini-muted{max-width:160px!important;}}
@media(max-width:1180px){#atendimentos .atendimentos-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}#atendimentos .attendance-head{display:none!important;}#atendimentos .attendance-item{grid-template-columns:1fr 1fr!important;gap:12px!important;border:1px solid #dbeaf1!important;border-radius:18px!important;padding:16px!important;background:#fff!important;margin-bottom:12px!important;min-height:auto!important;}#atendimentos .attendance-item>div:nth-child(7){position:static!important;grid-column:1/-1!important;pointer-events:auto!important;}#atendimentos .patient-actions{opacity:1!important;visibility:visible!important;transform:none!important;box-shadow:none!important;border:0!important;background:transparent!important;padding:0!important;margin-left:54px!important;}}
@media(max-width:720px){#atendimentos .atendimentos-kpis{grid-template-columns:1fr!important;}#atendimentos .attendance-item{grid-template-columns:1fr!important;}#atendimentos .top{align-items:flex-start!important;flex-direction:column!important;}#atendimentos .patient-actions{margin-left:0!important;flex-direction:column!important;align-items:stretch!important;}#atendimentos .patient-actions .analysis-btn,#atendimentos .patient-actions .deal-btn,#atendimentos .patient-actions .btn{width:100%!important;}}


/* ===== v160-atendimentos-sem-coluna-acao ===== */
/* v160 - Atendimentos: sem coluna Ação; botões aparecem abaixo do paciente no hover */
#atendimentos .attendance-head,
#atendimentos .attendance-item{
  grid-template-columns:minmax(240px,1.35fr) minmax(135px,.75fr) minmax(230px,1.3fr) minmax(120px,.65fr) 78px 116px!important;
  column-gap:14px!important;
}
#atendimentos .attendance-head>div:nth-child(7),
#atendimentos .attendance-item>div:nth-child(7){
  display:none!important;
}
#atendimentos .attendance-patient{
  align-items:flex-start!important;
  overflow:visible!important;
}
#atendimentos .attendance-patient .patient-profile-text{
  min-width:0!important;
  overflow:visible!important;
}
#atendimentos .attendance-patient .patient-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-top:8px!important;
  max-height:0!important;
  opacity:0!important;
  visibility:hidden!important;
  overflow:hidden!important;
  transform:translateY(-4px)!important;
  transition:max-height .18s ease, opacity .18s ease, transform .18s ease, visibility .18s ease!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  pointer-events:none!important;
}
#atendimentos .attendance-item:hover .patient-actions{
  max-height:84px!important;
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
#atendimentos .attendance-item:hover{
  min-height:108px!important;
}
#atendimentos .patient-actions .analysis-btn,
#atendimentos .patient-actions .deal-btn,
#atendimentos .patient-actions .btn{
  width:auto!important;
  min-width:108px!important;
  height:34px!important;
  min-height:34px!important;
  border-radius:11px!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#atendimentos .attendance-date{white-space:nowrap!important;}
@media(max-width:1280px){
  #atendimentos .attendance-head,#atendimentos .attendance-item{
    grid-template-columns:minmax(230px,1.4fr) minmax(125px,.75fr) minmax(180px,1.1fr) minmax(80px,.45fr) 70px 112px!important;
  }
}
@media(max-width:1180px){
  #atendimentos .attendance-head{display:none!important;}
  #atendimentos .attendance-item{grid-template-columns:1fr 1fr!important;}
  #atendimentos .attendance-patient .patient-actions{max-height:84px!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;}
  #atendimentos .attendance-item:hover{min-height:auto!important;}
}
@media(max-width:720px){
  #atendimentos .attendance-item{grid-template-columns:1fr!important;}
}


/* ===== v171-atendimentos-cards-iguais-pacientes ===== */
/* Atendimentos: cards copiados do padrão aprovado em Pacientes/Dashboard */
#atendimentos .atendimentos-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  margin:0 0 18px!important;
  width:100%!important;
}
#atendimentos .atendimentos-kpis .card.stat{
  position:relative!important;
  min-height:190px!important;
  height:190px!important;
  padding:24px!important;
  display:block!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid #d8e8f1!important;
  overflow:hidden!important;
  box-shadow:0 10px 30px rgba(18,47,75,.04)!important;
}
#atendimentos .atendimentos-kpis .card.stat > div:first-child{
  display:block!important;
  max-width:68%!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
}
#atendimentos .atendimentos-kpis .card.stat label{
  display:block!important;
  margin:0 0 8px!important;
  color:#102447!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#atendimentos .atendimentos-kpis .card.stat .muted{
  display:block!important;
  margin:0!important;
  color:#61718d!important;
  font-size:12.5px!important;
  font-weight:600!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#atendimentos .atendimentos-kpis .card.stat strong{
  position:absolute!important;
  left:24px!important;
  right:auto!important;
  bottom:22px!important;
  display:block!important;
  width:auto!important;
  max-width:calc(100% - 48px)!important;
  margin:0!important;
  padding:0!important;
  color:#1d2f50!important;
  font-size:38px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#atendimentos .atendimentos-kpis #attRevenueCard{
  font-size:34px!important;
  letter-spacing:-.055em!important;
}
#atendimentos .atendimentos-kpis .card.stat > .ico{
  position:absolute!important;
  top:24px!important;
  right:24px!important;
  left:auto!important;
  bottom:auto!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#e5f6fb!important;
  color:#12a8d6!important;
  margin:0!important;
  transform:none!important;
}
#atendimentos .atendimentos-kpis .card.stat > .ico svg{
  width:25px!important;
  height:25px!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#pacientes .grid.g4{display:none!important;}
@media(max-width:1180px){#atendimentos .atendimentos-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:720px){#atendimentos .atendimentos-kpis{grid-template-columns:1fr!important;}#atendimentos .atendimentos-kpis .card.stat{height:auto!important;min-height:170px!important;}}


/* ===== v-login-cadastro-supabase-pf-pj ===== */
.auth-card{width:min(520px,100%)!important;max-height:92vh;overflow:auto}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}
.auth-tab{border:1px solid #d7e8f0;background:#f6fbfd;color:#22304a;border-radius:14px;padding:11px 12px;font-weight:800;cursor:pointer}
.auth-tab.active{background:#20a5d7;color:#fff;border-color:#20a5d7}
.auth-form{display:none}.auth-form.active{display:block}
.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-field{margin:10px 0}.auth-field label{display:block;font-size:12px;font-weight:850;color:#102447;margin-bottom:6px}
.auth-help{font-size:12px;color:#6d7890;margin-top:8px;line-height:1.35}
.auth-toggle{margin-top:14px;text-align:center;font-size:13px;color:#5b6a82}
.auth-toggle button{border:0;background:transparent;color:#1597c6;font-weight:850;cursor:pointer}
.auth-msg{display:none;margin:10px 0;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.35}
.auth-msg.show{display:block}.auth-msg.ok{background:#e5f7f1;color:#168767}.auth-msg.err{background:#ffe9e4;color:#bb4634}.auth-msg.info{background:#e8f8ff;color:#097399}
.pj-only,.pf-only{display:none}.account-pf .pf-only{display:block}.account-pj .pj-only{display:block}
@media(max-width:620px){.auth-row{grid-template-columns:1fr}.auth-card{max-height:none}}


/* ===== register-full-width-fix ===== */
.auth-card{max-width:430px;width:100%}
.auth-form#registerForm{max-height:70vh;overflow:auto;padding-right:4px}
.auth-form#registerForm.active{display:block}
.auth-form#registerForm h1{margin-top:10px}
.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}


/* ===== v-cadastro-card-largo-sem-rolagem ===== */
/* Cadastro ocupa a área branca direita, sem rolagem interna */
body:not(.is-authenticated) #login .login-right{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:28px 24px!important;
  overflow:hidden!important;
}
body:not(.is-authenticated) #login .auth-card{
  transition:none!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode{
  width:min(780px,calc(100% - 16px))!important;
  max-width:780px!important;
  max-height:calc(100dvh - 24px)!important;
  padding:28px 34px!important;
  overflow:visible!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .brand{
  margin-bottom:12px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .brand-logo{
  width:205px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-tabs{
  margin:10px 0 14px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode #registerForm{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode #registerForm h1{
  font-size:26px!important;
  line-height:1.05!important;
  margin:0 0 6px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode #registerForm p.muted{
  margin:0 0 10px!important;
  font-size:13px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-row{
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-field{
  margin:6px 0!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-field label{
  margin-bottom:4px!important;
  font-size:11px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .input,
body:not(.is-authenticated) #login .auth-card.register-mode select.input{
  height:42px!important;
  min-height:42px!important;
  padding:0 14px!important;
  border-radius:12px!important;
  font-size:13px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .btn{
  height:44px!important;
  margin-top:8px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-help{
  display:none!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-toggle{
  margin-top:10px!important;
}
@media(max-width:900px){
  body:not(.is-authenticated) #login .auth-card.register-mode{width:100%!important;max-width:520px!important;max-height:none!important;overflow:auto!important;padding:24px 20px!important;}
  body:not(.is-authenticated) #login .auth-card.register-mode .auth-row{grid-template-columns:1fr!important;}
}
@media(max-height:720px) and (min-width:901px){
  body:not(.is-authenticated) #login .auth-card.register-mode{padding:20px 30px!important;max-height:calc(100dvh - 28px)!important;}
  body:not(.is-authenticated) #login .auth-card.register-mode .brand-logo{width:180px!important;}
  body:not(.is-authenticated) #login .auth-card.register-mode #registerForm h1{font-size:23px!important;}
  body:not(.is-authenticated) #login .auth-card.register-mode .input,
  body:not(.is-authenticated) #login .auth-card.register-mode select.input{height:38px!important;min-height:38px!important;}
  body:not(.is-authenticated) #login .auth-card.register-mode .auth-field{margin:4px 0!important;}
}


/* ===== v-cadastro-com-rolagem-final ===== */
/* Cadastro com rolagem interna no card branco */
body:not(.is-authenticated) #login .login-right{
  overflow:hidden!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode{
  width:min(820px,calc(100% - 16px))!important;
  max-width:820px!important;
  max-height:calc(100dvh - 32px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:28px 34px 30px!important;
  scrollbar-width:thin;
  scrollbar-color:#b9dce7 transparent;
}
body:not(.is-authenticated) #login .auth-card.register-mode::-webkit-scrollbar{width:8px;}
body:not(.is-authenticated) #login .auth-card.register-mode::-webkit-scrollbar-thumb{background:#b9dce7;border-radius:999px;}
body:not(.is-authenticated) #login .auth-card.register-mode::-webkit-scrollbar-track{background:transparent;}
body:not(.is-authenticated) #login .auth-card.register-mode #registerForm{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-help,
body:not(.is-authenticated) #login .auth-card.register-mode .auth-toggle{
  display:block!important;
}
@media(max-width:900px){
  body:not(.is-authenticated) #login .login-right{overflow:auto!important;align-items:flex-start!important;}
  body:not(.is-authenticated) #login .auth-card.register-mode{max-height:none!important;overflow:visible!important;}
}


/* ===== chatgpt-auth-toggle-final ===== */
body:not(.is-authenticated) #login .auth-toggle{
  margin-top:16px!important;
  text-align:center!important;
  font-size:14px!important;
  color:#6d7890!important;
}
body:not(.is-authenticated) #login .auth-toggle button{
  border:0!important;
  background:transparent!important;
  color:#1597c6!important;
  font-weight:850!important;
  padding:0 0 0 6px!important;
  cursor:pointer!important;
  width:auto!important;
  min-height:auto!important;
  box-shadow:none!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-toggle{
  padding-bottom:10px!important;
}


/* ===== fix-v130-tela-planos-premium ===== */
/* v131 - Meu Plano: status da assinatura + opções de contratação/upgrade */
#planos .plans-hero{position:relative;overflow:hidden;border-radius:30px;padding:32px;border:1px solid rgba(10,170,220,.18);background:linear-gradient(135deg,#f3fbff 0%,#ffffff 50%,#ecfff9 100%);box-shadow:0 18px 45px rgba(6,42,77,.07);margin-bottom:20px}
#planos .plans-hero:before{content:"";position:absolute;right:-90px;top:-120px;width:300px;height:300px;border-radius:999px;background:radial-gradient(circle,rgba(5,177,221,.22),rgba(5,177,221,0) 70%)}
#planos .plans-hero-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px}
#planos .plans-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eafaff;color:#057aa7;font-weight:900;font-size:12px;margin-bottom:12px}
#planos .plans-hero h1{font-size:34px;line-height:1.05;margin:0;color:#06284b;letter-spacing:-.04em}
#planos .plans-hero p{max-width:680px;margin:10px 0 0;color:#627089;font-weight:600}
#planos .current-plan-box{min-width:280px;border-radius:24px;background:#07284b;color:#fff;padding:20px;box-shadow:0 18px 34px rgba(7,40,75,.20)}
#planos .current-plan-box small{display:block;color:#9eeaf7;font-weight:850;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
#planos .current-plan-box strong{display:block;font-size:30px;line-height:1;margin:8px 0 6px}
#planos .current-plan-box span{color:#d8f6ff;font-weight:650;font-size:13px}
#planos .my-plan-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-bottom:18px}
#planos .my-plan-card{background:#fff;border:1px solid #dfeaf2;border-radius:28px;padding:24px;box-shadow:0 14px 34px rgba(6,42,77,.06)}
#planos .my-plan-status{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
#planos .my-plan-title{display:flex;align-items:center;gap:14px}
#planos .my-plan-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#e8fbff,#defaf3);color:#027fa8;font-size:24px;font-weight:950}
#planos .my-plan-title h2{margin:0;color:#06284b;font-size:24px;letter-spacing:-.03em}
#planos .my-plan-title p{margin:5px 0 0;color:#66758c;font-weight:650}
#planos .plan-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;background:#fff1d6;color:#9a6500;font-size:12px;font-weight:950;white-space:nowrap}
#planos .plan-status-badge.active{background:#e5fbf2;color:#07815d}
#planos .my-plan-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
#planos .my-plan-details div{border:1px solid #e4eef5;border-radius:18px;padding:14px;background:#fbfdff}
#planos .my-plan-details span{display:block;color:#7a8798;font-size:12px;font-weight:800;margin-bottom:5px}
#planos .my-plan-details b{color:#06284b;font-size:15px}
#planos .my-plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
#planos .plans-list-card h3{margin:0 0 6px;color:#06284b}
#planos .plans-list-card p{margin:0 0 16px;color:#66758c;font-weight:650}
#planos .plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
#planos .plans-selection-area{display:none;margin-top:18px}
#planos.plans-open .plans-selection-area{display:block}
#planos .plans-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0 16px}
#planos .plans-section-head h2{margin:0;color:#06284b;font-size:26px;letter-spacing:-.03em}
#planos .plans-section-head p{margin:4px 0 0;color:#66758c;font-weight:650}
#planos .btn-light-mini{height:40px;padding:0 14px;border-radius:14px;border:1px solid #d8e8f3;background:#fff;color:#23395f;font-weight:900;cursor:pointer}
#planos .plan-card{position:relative;background:#fff;border:1px solid #dfeaf2;border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(6,42,77,.06);display:flex;flex-direction:column;min-height:360px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
#planos .plan-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(6,42,77,.10);border-color:#b8ebf8}
#planos .plan-card.featured{border:2px solid #20d66b;box-shadow:0 24px 55px rgba(32,214,107,.15)}
#planos .plan-card.enterprise{border:2px solid #c58a12;background:linear-gradient(180deg,#fffaf0 0%,#fff 45%)}
#planos .plan-badge{position:absolute;top:16px;right:16px;border-radius:999px;padding:7px 10px;background:#e8fbff;color:#007da8;font-size:11px;font-weight:950}
#planos .plan-card.featured .plan-badge{background:#e9fff0;color:#08773c}
#planos .plan-card.enterprise .plan-badge{background:#fff0be;color:#8a6200}
#planos .plan-name{font-size:21px;font-weight:950;color:#06284b;margin:0}
#planos .plan-sub{color:#66758c;font-weight:650;font-size:13px;min-height:34px;margin:7px 0 14px}
#planos .plan-price{display:flex;align-items:flex-end;gap:5px;margin:4px 0 14px;color:#10215a}
#planos .plan-price strong{font-size:36px;letter-spacing:-.05em;line-height:1}
#planos .plan-price span{font-size:13px;color:#718096;font-weight:800;margin-bottom:4px}
#planos .plan-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;flex:1}
#planos .plan-list li{display:flex;gap:9px;align-items:flex-start;color:#263b55;font-weight:650;font-size:13px;line-height:1.28}
#planos .plan-list li:before{content:"✓";width:18px;height:18px;flex:0 0 18px;border-radius:999px;display:grid;place-items:center;background:#e8fbff;color:#059dc4;font-size:12px;font-weight:950;margin-top:-1px}
#planos .plan-action{margin-top:20px;width:100%;justify-content:center}

#planos .plan-card.enterprise .plan-action{
background:linear-gradient(135deg,#B8860B 0%,#D4AF37 35%,#F4D03F 50%,#D4AF37 65%,#B8860B 100%) !important;
color:#fff !important;
border:none !important;
box-shadow:0 4px 15px rgba(212,175,55,.35);
font-weight:900;
}
#planos .plan-card.enterprise .plan-action:hover{
transform:translateY(-2px);
box-shadow:0 8px 25px rgba(212,175,55,.45);
}

#planos .plans-note{margin-top:16px;border:1px dashed #b9dfe9;border-radius:20px;padding:14px 16px;background:#f8fdff;color:#56657c;font-weight:650}
@media(max-width:1180px){#planos .my-plan-panel{grid-template-columns:1fr}#planos .plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#planos .plans-hero-content{flex-direction:column;align-items:flex-start}#planos .current-plan-box{width:100%}#planos .plans-grid,#planos .my-plan-details{grid-template-columns:1fr}#planos .plans-hero{padding:24px}#planos .plans-hero h1{font-size:28px}}


/* ===== landing-atende-css ===== */
/* ===== Landing page principal Atende+ integrada ao sistema ===== */
#landingPage{min-height:100vh;background:#f5f9fc;color:#071a3d;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
#landingPage *{box-sizing:border-box}
#landingPage a{text-decoration:none;color:inherit}
#landingPage .lp-nav{height:76px;padding:0 38px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid #d8e7f0;position:sticky;top:0;z-index:20}
#landingPage .lp-brand{display:flex;align-items:center;justify-self:start}
#landingPage .lp-brand img{height:46px;width:auto;display:block;object-fit:contain}
#landingPage .lp-links{justify-self:center;display:flex;align-items:center;justify-content:center;background:#fff;padding:8px 10px;border-radius:18px;border:1px solid #d8e7f0;box-shadow:0 8px 28px rgba(7,31,69,.08);font-size:14px;color:#667894;font-weight:800}
#landingPage .lp-links button{appearance:none;border:0;background:transparent;padding:11px 22px;border-radius:12px;color:inherit;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap;transition:.2s ease}
#landingPage .lp-links button+button{border-left:1px solid #d8e7f0;border-radius:0 12px 12px 0}
#landingPage .lp-links button:hover{background:#f3f8fc;color:#071a3d}
#landingPage .lp-actions{justify-self:end;display:flex;gap:10px}
#landingPage .lp-btn{border:none;border-radius:16px;padding:12px 18px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.2s ease;font-size:14px;text-decoration:none}
#landingPage .lp-btn:hover{transform:translateY(-2px)}
#landingPage .lp-btn-outline{background:#fff;border:1px solid #d8e7f0;color:#071a3d}
#landingPage .lp-btn-primary{background:linear-gradient(135deg,#0b9ed0,#27d3e9);color:#fff;box-shadow:0 12px 28px rgba(10,168,213,.25)}
#landingPage .lp-hero{background:radial-gradient(circle at 20% 0%,rgba(0,216,239,.24),transparent 28%),linear-gradient(135deg,#0b2f68 0%,#116ed6 48%,#24c7e8 100%);color:#fff;padding:74px 28px 82px;text-align:center;position:relative;z-index:1;overflow:visible}
#landingPage .lp-hero:after{content:"";position:absolute;inset:auto -80px -110px -80px;height:170px;background:#f5f9fc;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:0;pointer-events:none}
#landingPage .lp-hero-inner{position:relative;z-index:2;max-width:1050px;margin:0 auto}
#landingPage .lp-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-weight:800;margin-bottom:18px}
#landingPage .lp-hero h1{font-size:clamp(34px,5vw,62px);line-height:1.05;font-weight:900;letter-spacing:-.04em;margin:0 0 14px}
#landingPage .lp-hero p{font-size:clamp(17px,2vw,24px);color:rgba(255,255,255,.86);line-height:1.45;max-width:790px;margin:0 auto 32px}
#landingPage .lp-hero-buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
#landingPage .lp-hero .lp-btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff}
#landingPage .lp-section{padding:72px 28px}
#landingPage .lp-section-head{text-align:center;max-width:780px;margin:0 auto 42px;overflow:visible;padding-top:10px}
#landingPage .lp-tag{color:#0aa8d5;font-weight:900;letter-spacing:.08em;font-size:13px;text-transform:uppercase;margin-bottom:10px}
#landingPage .lp-section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.24;letter-spacing:-.035em;font-weight:900;margin:0 0 12px;padding:8px 0 6px;overflow:visible;color:#071a3d}
#landingPage .lp-section-head p{color:#667894;font-size:17px;line-height:1.65;margin:0}
#landingPage .lp-features{background:#f5f9fc;position:relative;z-index:3;padding-top:110px}
#landingPage .lp-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1120px;margin:0 auto}
#landingPage .lp-feature-card{background:#fff;border:1px solid #d8e7f0;border-radius:24px;padding:24px;box-shadow:0 16px 42px rgba(7,31,69,.06)}
#landingPage .lp-feature-icon{width:52px;height:52px;border-radius:18px;background:#eaf8fd;color:#0aa8d5;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px}
#landingPage .lp-feature-icon svg{width:28px;height:28px;display:block;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
#landingPage .lp-feature-card h3{font-size:18px;margin:0 0 8px;color:#071a3d}
#landingPage .lp-feature-card p{color:#667894;font-size:14px;line-height:1.6;margin:0}
#landingPage .lp-plans{background:linear-gradient(180deg,#f5f9fc 0%,#fff 100%)}
#landingPage .lp-plans-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
#landingPage .lp-plan{background:#fff;border:1px solid #d8e7f0;border-radius:34px;box-shadow:0 22px 60px rgba(7,31,69,.10);overflow:hidden;position:relative;display:flex;flex-direction:column}
#landingPage .lp-plan.lp-featured{border:3px solid #21d36b;transform:translateY(-12px)}
#landingPage .lp-popular{position:absolute;top:18px;left:22px;background:#fff4cc;color:#9c6500;border:1px solid #ffe28a;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:900;z-index:2}
#landingPage .lp-plan-top{background:#071f45;color:#fff;padding:32px 24px;text-align:center;border-radius:0 0 30px 30px}
#landingPage .lp-featured .lp-plan-top{padding-top:58px}
#landingPage .lp-plan-name{font-size:32px;font-weight:400}.lp-plan-name strong{font-weight:900}
#landingPage .lp-price{padding:34px 24px 24px;text-align:center}
#landingPage .lp-from{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#667894;font-weight:800;margin-bottom:4px}
#landingPage .lp-currency{font-size:24px;font-weight:900;vertical-align:middle;margin-right:4px}
#landingPage .lp-amount{font-size:72px;line-height:.9;font-weight:900;letter-spacing:-.06em;color:#142657}
#landingPage .lp-cents{font-size:36px;font-weight:900;vertical-align:top}
#landingPage .lp-month{font-size:14px;color:#667894;font-weight:800;margin-left:4px;letter-spacing:.08em}
#landingPage .lp-plan-desc{margin:0 24px 18px;background:#fff;border:1px solid #d8e7f0;border-radius:22px;padding:18px;text-align:center;color:#071a3d;font-weight:900;font-size:16px}
#landingPage .lp-plan ul{list-style:none;padding:0 26px 26px;display:grid;gap:12px;color:#667894;font-size:14px;font-weight:700;line-height:1.35;margin:0}
#landingPage .lp-plan li{display:flex;gap:10px;align-items:flex-start}
#landingPage .lp-plan li i{color:#18b779;font-size:18px;flex-shrink:0}
#landingPage .lp-plan-action{margin:auto 24px 26px}
#landingPage .lp-plan-action .lp-btn{width:100%;justify-content:center;padding:14px 18px;border-radius:18px}
#landingPage .lp-enterprise{border-color:#e2b35b;box-shadow:0 22px 60px rgba(217,152,30,.14)}
#landingPage .lp-enterprise .lp-btn{background:linear-gradient(135deg,rgba(212,175,55,.14),rgba(244,208,63,.26),rgba(212,175,55,.14));border:1px solid rgba(212,175,55,.55);color:#9b6a05;box-shadow:0 10px 28px rgba(212,175,55,.16)}
#landingPage .lp-cta{background:linear-gradient(135deg,#0b2f68 0%,#116ed6 52%,#24c7e8 100%);color:#fff;text-align:center;padding:64px 28px}
#landingPage .lp-cta-brand{display:inline-block;color:#38f0ff;font-weight:900;margin:0 8px;line-height:1}
#landingPage .lp-cta h2{font-size:clamp(28px,4vw,44px);font-weight:900;margin:0 0 10px}
#landingPage .lp-cta p{font-size:20px;color:rgba(255,255,255,.82);margin:0}
#landingPage .lp-footer{background:#071f45;color:rgba(255,255,255,.72);padding:24px 28px;text-align:center;font-size:14px}
@media(max-width:980px){#landingPage .lp-links{display:none}#landingPage .lp-plans-wrap,#landingPage .lp-feature-grid{grid-template-columns:1fr}#landingPage .lp-plan.lp-featured{transform:none}#landingPage .lp-nav{padding:0 20px}}
@media(max-width:560px){#landingPage .lp-brand img{height:38px}#landingPage .lp-hero{padding-top:54px}#landingPage .lp-section{padding:50px 18px}#landingPage .lp-amount{font-size:62px}}


/* ===== v-paulo-contraste-pacientes ===== */
/* vPaulo - contraste corrigido em títulos, subtítulos e lista de pacientes */
.top p,
#dashboard .top p,
#pacientes .top p,
#questionario .top p,
.page .top p{
  color:#5d6b82!important;
  font-weight:700!important;
  opacity:1!important;
}
.patient-profile-text b,
.patient-name,
.recent-item b,
.patient-card b,
.patient-select-card b,
.selected-patient-box strong{
  color:#102447!important;
  font-weight:900!important;
  opacity:1!important;
}
.patient-profile-text .mini-muted,
.patient-select-card span,
.selected-patient-box small{
  color:#4f6078!important;
  font-weight:650!important;
  opacity:1!important;
}


/* ===== v46-dashboard-alinhamento-final ===== */
/* v46 - Dashboard alinhado: remove espaços em branco, corrige distribuição e padroniza cards */
#dashboard{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:18px 22px 34px!important;
  box-sizing:border-box!important;
}
#dashboard .top{
  margin:0 0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
#dashboard .top h1{font-size:26px!important;margin:0!important;line-height:1.1!important;letter-spacing:-.03em!important}
#dashboard .top p{margin:5px 0 0!important;font-size:13px!important;color:var(--muted)!important}
#dashboard .grid{gap:14px!important}
#dashboard .grid.g4{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin-bottom:14px!important;
}
#dashboard .grid.g4 .card{
  min-height:106px!important;
  padding:15px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  overflow:hidden!important;
}
#dashboard .stat strong{font-size:25px!important;line-height:1.08!important;margin:4px 0!important}
#dashboard .stat label{font-size:12px!important}
#dashboard .ico{width:38px!important;height:38px!important;border-radius:14px!important;flex:0 0 38px!important}
#dashboard .grid.g3{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-top:0!important;
}
#dashboard .grid.g3>.card{
  min-height:248px!important;
  height:248px!important;
  max-height:248px!important;
  padding:16px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#dashboard .card h3{font-size:17px!important;line-height:1.15!important;margin:0 0 5px!important;letter-spacing:-.02em!important}
#dashboard .card p.muted{margin:0 0 8px!important;font-size:12px!important;line-height:1.25!important}
#dashboard .chart{
  flex:1 1 auto!important;
  height:142px!important;
  min-height:142px!important;
  max-height:142px!important;
  margin:2px 0 0!important;
  padding:8px 12px 0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-around!important;
  gap:8px!important;
  background:#fbfdff!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
}
#dashboard .bar{flex:1 1 0!important;min-width:0!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:4px!important;height:100%!important}
#dashboard .bar span,#dashboard .bar b{width:13px!important;min-height:4px!important;border-radius:8px 8px 0 0!important}
#dashboard .bar span{background:#20a5d7!important}
#dashboard .bar b{background:#66d1be!important}
#dashboard .days{
  display:grid!important;
  grid-template-columns:repeat(7,1fr)!important;
  gap:8px!important;
  padding:6px 12px 0!important;
  margin:0!important;
  font-size:11px!important;
  text-align:center!important;
}
#dashboard #treatBox{
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  margin:2px 0 10px!important;
  border-radius:16px!important;
  flex:0 0 92px!important;
}
#dashboard #treatBox>div{width:74px!important;height:74px!important}
#dashboard #treatBox>div>div{inset:22px!important}
#dashboard #treatList{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#dashboard #treatList li{
  min-height:32px!important;
  margin:0!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  font-size:12.5px!important;
  line-height:1.1!important;
  background:#fbfdff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
}
#dashboard #treatList li span{margin-left:auto!important;white-space:nowrap!important}
#dashboard .grid.g2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  margin-top:14px!important;
  align-items:stretch!important;
}
#dashboard .grid.g2>.card{
  min-height:214px!important;
  height:214px!important;
  padding:16px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#dashboard .list.mini{margin:0!important;padding:0!important;display:grid!important;gap:8px!important;overflow:hidden!important}
#dashboard .list.mini li{
  margin:0!important;
  min-height:44px!important;
  padding:9px 11px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
#dashboard .rank{width:34px!important;height:34px!important;border-radius:12px!important;flex:0 0 34px!important}
#dashboard .recent-list{display:grid!important;gap:8px!important;overflow:hidden!important}
#dashboard .recent-item{
  min-height:44px!important;
  padding:9px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  background:#fbfdff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
#dashboard .mini-muted{max-width:420px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:12px!important;color:#91a0b4!important}
#dashboard .tag{padding:6px 12px!important;border-radius:999px!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important}
@media(max-width:1180px){
  #dashboard{max-width:none!important;padding:16px!important}
  #dashboard .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #dashboard .grid.g3,#dashboard .grid.g2{grid-template-columns:1fr!important}
  #dashboard .grid.g3>.card,#dashboard .grid.g2>.card{height:auto!important;max-height:none!important;min-height:220px!important}
}
@media(max-width:720px){
  #dashboard .top{align-items:flex-start!important;flex-direction:column!important}
  #dashboard .grid.g4,#dashboard #treatList{grid-template-columns:1fr!important}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v50-dashboard-listas-real ===== */
/* v50 - Pacientes recentes e Ranking de dentistas em LISTA vertical real */
#dashboard.dashboard-v49 .dashboard-recent-card,
#dashboard.dashboard-v49 .dashboard-ranking-card{
  padding:20px!important;
  overflow:visible!important;
  height:auto!important;
  min-height:auto!important;
  max-height:none!important;
}
#dashboard.dashboard-v49 #recentPatients{
  width:100%!important;
  overflow:visible!important;
}
#dashboard.dashboard-v49 .recent-list{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  gap:10px!important;
  width:100%!important;
  overflow:visible!important;
  max-height:none!important;
}
#dashboard.dashboard-v49 .recent-item{
  width:100%!important;
  min-height:58px!important;
  height:auto!important;
  padding:13px 16px!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  background:#fbfdff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  box-sizing:border-box!important;
}
#dashboard.dashboard-v49 .recent-item>div{
  min-width:0!important;
  flex:1 1 auto!important;
}
#dashboard.dashboard-v49 .recent-item b{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#dashboard.dashboard-v49 .recent-item .mini-muted{
  max-width:none!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  max-height:none!important;
}
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li{
  width:100%!important;
  min-height:62px!important;
  height:auto!important;
  margin:0!important;
  padding:13px 16px!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  background:#fbfdff!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  box-sizing:border-box!important;
}
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li>div{
  min-width:0!important;
  flex:1 1 auto!important;
}
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li b,
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li .muted{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li span:last-child{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#dashboard.dashboard-v49 .rank{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  display:grid!important;
  place-items:center!important;
}
@media(max-width:720px){
  #dashboard.dashboard-v49 .recent-item,
  #dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li{
    align-items:flex-start!important;
  }
  #dashboard.dashboard-v49 .dashboard-ranking-card .list.mini li span:last-child{
    margin-left:0!important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v51-relatorios-funcional-css ===== */
#relatorios.report-page .report-top{align-items:center!important}
#relatorios .report-filter-card{padding:18px!important;margin-bottom:16px!important}
#relatorios .report-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end}
#relatorios .report-filters label{display:block;font-size:12px;font-weight:800;color:var(--muted-fg);margin:0 0 7px;text-transform:uppercase;letter-spacing:.04em}
#relatorios .report-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}
#relatorios .report-kpis .card{padding:18px!important;min-height:auto!important}
#relatorios .report-kpis strong{display:block;font-size:27px;margin:8px 0 4px;letter-spacing:-.03em}
#relatorios .report-kpis small{color:var(--muted-fg);font-size:12px}
#relatorios .report-section{margin-top:16px!important;padding:20px!important;overflow:visible!important}
#relatorios .report-section h3{margin:0 0 4px!important}
#relatorios .report-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
#relatorios .report-bars{height:210px;display:flex;align-items:end;gap:10px;padding:18px 10px 0;border:1px solid #e5eef4;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbfd)}
#relatorios .report-bar{flex:1;min-width:18px;height:100%;display:flex;align-items:end;justify-content:center;gap:4px;position:relative}
#relatorios .report-bar span,#relatorios .report-bar b{width:16px;display:block;border-radius:9px 9px 0 0;min-height:3px}
#relatorios .report-bar span{background:#20a5d7}
#relatorios .report-bar b{background:#66d1be}
#relatorios .report-days{display:flex;gap:10px;padding:8px 10px 0;color:var(--muted-fg);font-size:11px}
#relatorios .report-days span{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#relatorios .report-two{grid-template-columns:1fr 1fr;margin-top:0}
#relatorios .report-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
#relatorios .report-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5eef4;border-radius:16px;padding:12px 14px;background:#fff}
#relatorios .report-list-row .left{min-width:0}
#relatorios .report-list-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#relatorios .report-list-row small{display:block;color:var(--muted-fg);font-size:12px;margin-top:2px}
#relatorios .report-list-row strong{font-size:14px;white-space:nowrap}
#relatorios .empty-report{padding:22px;text-align:center;color:var(--muted-fg);border:1px dashed var(--border);border-radius:16px;background:#fbfdfe}
#relatorios .report-table-wrap{overflow:auto;margin-top:12px;border:1px solid #e5eef4;border-radius:18px}
#relatorios .report-table{min-width:820px;background:white}
@media(max-width:980px){#relatorios .report-filters,#relatorios .report-kpis,#relatorios .report-two{grid-template-columns:1fr!important}#relatorios .report-bars{gap:5px;overflow:auto}#relatorios .report-bar{min-width:26px}}
@media print{body *{visibility:hidden!important}#relatorios,#relatorios *{visibility:visible!important}#relatorios{position:absolute!important;left:0!important;top:0!important;width:100%!important}.side,header,.report-filter-card,.report-top .btn{display:none!important}.main{margin-left:0!important;width:100%!important}.content{padding:0!important}.card{box-shadow:none!important;break-inside:avoid}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v95-questionarios-padronizados ===== */
/* v95 - Reorganização e padronização profissional dos questionários
   Mantém as cores atuais, melhora alinhamento, espaçamento, cantos e responsividade. */

#questionario .q-card,
.page[data-page="questionario"] .q-card,
.q-card:has(#qContent){
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:30px 34px 28px !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid #d9eaf3 !important;
  box-shadow:0 18px 42px rgba(7,38,71,.07) !important;
  box-sizing:border-box !important;
}

#qContent{
  width:100% !important;
  display:block !important;
}

#qContent .q-title{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  margin:0 0 24px !important;
  padding-bottom:18px !important;
  border-bottom:1px solid #e3eef5 !important;
}

#qContent .q-title .ico{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  border-radius:18px !important;
}

#qContent .q-title h2{
  margin:0 !important;
  color:#102447 !important;
  font-size:28px !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
}

#qContent .q-title p,
#qContent .q-title small{
  margin:6px 0 0 !important;
  color:#64748b !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}

#qContent .field{
  margin:0 0 22px !important;
  padding:0 !important;
}

#qContent .field label{
  display:block !important;
  margin:0 0 11px !important;
  color:#102447 !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.3 !important;
}

#qContent .q-subgrid-v66,
#qContent .q-grid,
#qContent .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px 22px !important;
  align-items:start !important;
}

#qContent .q-options,
#qContent .field .q-options{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  align-items:stretch !important;
}

/* Perguntas curtas tipo Sim/Não ficam bonitas e largas */
#qContent .q-options:has(.q-option:nth-child(2):last-child),
#qContent .q-options:has(.treatment-pill:nth-child(2):last-child){
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:760px !important;
}

/* Opções padronizadas */
#qContent .q-option,
#qContent .treatment-pill{
  position:relative !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:60px !important;
  height:60px !important;
  padding:0 18px !important;
  border:1px solid #cfe7f3 !important;
  border-radius:20px !important;
  background:#fff !important;
  color:#14213d !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.18 !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  cursor:pointer !important;
  box-shadow:0 7px 18px rgba(7,38,71,.035) !important;
  transform:none !important;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

#qContent .q-option:hover,
#qContent .treatment-pill:hover{
  border-color:#17bdf0 !important;
  background:#fbfeff !important;
  box-shadow:0 12px 26px rgba(7,38,71,.07) !important;
  transform:translateY(-1px) !important;
}

/* Bolinha/radio sempre centralizada na altura do botão */
#qContent .q-option::before,
#qContent .treatment-pill::before{
  content:"" !important;
  display:block !important;
  position:static !important;
  transform:none !important;
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  border-radius:50% !important;
  border:2px solid #10aee6 !important;
  background:#fff !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 15px !important;
  box-sizing:border-box !important;
}

#qContent .q-option.on,
#qContent .treatment-pill.on{
  border-color:#17bdf0 !important;
  background:linear-gradient(180deg,#fbfeff 0%,#f1fbff 100%) !important;
  color:#052447 !important;
  box-shadow:0 0 0 3px rgba(23,189,240,.12), 0 12px 26px rgba(7,38,71,.06) !important;
  transform:none !important;
}

#qContent .q-option.on::before,
#qContent .treatment-pill.on::before{
  background:#10aee6 !important;
  border-color:#10aee6 !important;
  box-shadow:inset 0 0 0 3px #fff !important;
}

/* Remove resíduos de versões antigas sem apagar o texto */
#qContent .q-radio-dot-v90,
#qContent .real-dot-v86,
#qContent .real-dot-v87,
#qContent .option-dot-v84{
  display:none !important;
}

#qContent .q-radio-text-v90,
#qContent .real-text-v86,
#qContent .real-text-v87,
#qContent .option-text-v84{
  display:contents !important;
}

#qContent input.input,
#qContent select.input,
#qContent textarea.input,
#qContent .input{
  min-height:48px !important;
  border-radius:16px !important;
  border:1px solid #d4e8f1 !important;
  background:#f8fbfd !important;
  box-sizing:border-box !important;
}

#qContent .range-row{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-height:52px !important;
  padding:0 2px !important;
}

.q-actions{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  margin-top:26px !important;
  padding-top:20px !important;
  border-top:1px solid #e3eef5 !important;
}

#qNextBtn,
.q-actions button{
  min-height:44px !important;
  border-radius:16px !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:5 !important;
}

.q-tabs{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 18px !important;
}

.q-tabs span{
  min-height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  padding:7px 8px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  text-align:center !important;
}

@media(max-width:980px){
  #qContent .q-subgrid-v66,
  #qContent .q-grid,
  #qContent .form-grid{
    grid-template-columns:1fr !important;
  }

  #qContent .q-options,
  #qContent .field .q-options,
  #qContent .q-options:has(.q-option:nth-child(2):last-child),
  #qContent .q-options:has(.treatment-pill:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:none !important;
  }

  .q-tabs{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media(max-width:640px){
  #questionario .q-card,
  .page[data-page="questionario"] .q-card,
  .q-card:has(#qContent){
    padding:22px 18px !important;
    border-radius:24px !important;
  }

  #qContent .q-title{
    align-items:flex-start !important;
    gap:12px !important;
  }

  #qContent .q-title h2{font-size:23px !important;}

  #qContent .q-options,
  #qContent .field .q-options,
  #qContent .q-options:has(.q-option:nth-child(2):last-child),
  #qContent .q-options:has(.treatment-pill:nth-child(2):last-child){
    grid-template-columns:1fr !important;
  }

  #qContent .q-option,
  #qContent .treatment-pill{
    min-height:56px !important;
    height:auto !important;
    justify-content:center !important;
    padding:12px 16px !important;
  }

  .q-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  #qNextBtn,
  .q-actions button{width:100% !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v97-questionario-padrao-foto ===== */
/* v97 - Padronização visual dos questionários no modelo da referência enviada.
   Mantém a paleta atual e deixa cards, campos e botões com layout uniforme. */
#questionario,
.page#questionario{
  background:#f6fbff !important;
}
#questionario .q-wrap{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:14px 16px 32px !important;
}
#questionario .q-head{
  max-width:1120px !important;
  margin:0 auto 10px !important;
}
#questionario .q-progress{
  max-width:1120px !important;
  margin:0 auto 14px !important;
  height:10px !important;
  border-radius:999px !important;
  background:#e7f2f8 !important;
  overflow:hidden !important;
}
#questionario .q-progress span,
#qProgress{
  border-radius:999px !important;
  background:linear-gradient(90deg,#11b4ee,#087ee8) !important;
}
#questionario .q-tabs{
  max-width:1120px !important;
  margin:0 auto 16px !important;
}
#questionario .q-card,
.q-card:has(#qContent){
  max-width:1120px !important;
  padding:32px 34px 28px !important;
  border-radius:24px !important;
  border:1px solid #dbe8f1 !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  box-shadow:0 12px 36px rgba(15,42,72,.08) !important;
}
#qContent .q-title{
  min-height:72px !important;
  margin:0 0 26px !important;
  padding:0 0 20px !important;
  border-bottom:1px solid #e1ebf3 !important;
  align-items:center !important;
}
#qContent .q-title .ico{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  border-radius:16px !important;
  background:#eef8ff !important;
  color:#0889ec !important;
  box-shadow:none !important;
}
#qContent .q-title h2{
  font-size:26px !important;
  font-weight:900 !important;
  color:#07184a !important;
  letter-spacing:-.025em !important;
}
#qContent .q-title p,
#qContent .q-title .muted{
  color:#657491 !important;
  font-weight:700 !important;
  font-size:15px !important;
}
#qContent .field{
  margin-bottom:26px !important;
}
#qContent .field label{
  margin-bottom:12px !important;
  font-size:15px !important;
  font-weight:900 !important;
  color:#07184a !important;
}
#qContent .q-subgrid-v66,
#qContent .q-grid,
#qContent .form-grid,
#qContent .q-pain-grid-v96{
  gap:24px 24px !important;
}
#qContent .q-options,
#qContent .field .q-options{
  gap:16px !important;
}
#qContent .q-options-two{
  max-width:none !important;
}
#qContent .q-options-compact-v96{
  max-width:none !important;
}
#qContent .q-option,
#qContent .treatment-pill{
  justify-content:flex-start !important;
  min-height:64px !important;
  height:64px !important;
  padding:0 22px 0 62px !important;
  border-radius:18px !important;
  border:1.5px solid #d6e4ee !important;
  background:#fff !important;
  color:#07184a !important;
  font-size:16px !important;
  font-weight:900 !important;
  text-align:left !important;
  box-shadow:0 8px 18px rgba(15,42,72,.025) !important;
}
#qContent .q-option::before,
#qContent .treatment-pill::before{
  left:24px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  border:2px solid #bfcbd7 !important;
  background:#fff !important;
}
#qContent .q-option:hover,
#qContent .treatment-pill:hover{
  border-color:#1299f2 !important;
  background:#fbfdff !important;
  box-shadow:0 12px 26px rgba(8,126,232,.08) !important;
}
#qContent .q-option.on,
#qContent .treatment-pill.on{
  border-color:#118ef0 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%) !important;
  box-shadow:0 0 0 2px rgba(17,142,240,.08),0 12px 28px rgba(8,126,232,.10) !important;
}
#qContent .q-option.on::before,
#qContent .treatment-pill.on::before{
  border-color:#118ef0 !important;
  background:#118ef0 !important;
  box-shadow:inset 0 0 0 4px #fff !important;
}
#qContent input.input,
#qContent select.input,
#qContent textarea.input,
#qContent .input{
  width:100% !important;
  min-height:56px !important;
  border-radius:16px !important;
  border:1.5px solid #d6e4ee !important;
  background:#fbfdff !important;
  padding:0 18px !important;
  color:#07184a !important;
  font-size:15px !important;
  box-shadow:none !important;
}
#qContent textarea.input{
  padding-top:15px !important;
  min-height:96px !important;
}
#qContent input.input:focus,
#qContent select.input:focus,
#qContent textarea.input:focus{
  border-color:#118ef0 !important;
  box-shadow:0 0 0 3px rgba(17,142,240,.10) !important;
  outline:none !important;
}
#qContent .range-row{
  padding:0 !important;
  min-height:64px !important;
}
#qContent input[type="range"]{
  width:100% !important;
  accent-color:#118ef0 !important;
}
.q-actions{
  margin-top:30px !important;
  padding-top:24px !important;
  border-top:0 !important;
}
.q-actions .btn,
#qNextBtn{
  min-width:132px !important;
  min-height:50px !important;
  border-radius:12px !important;
  font-size:15px !important;
  font-weight:900 !important;
}
#qNextBtn{
  background:linear-gradient(135deg,#0b8af2,#0373d9) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(3,115,217,.20) !important;
}
.q-actions .btn.ghost,
.q-actions .ghost{
  background:#fff !important;
  color:#24456f !important;
  border:1.5px solid #b7d1e7 !important;
  box-shadow:none !important;
}
#qContent .q-level-grid,
#qContent .q-number-grid,
#qContent .level-grid{
  display:grid !important;
  grid-template-columns:repeat(10,minmax(0,1fr)) !important;
  gap:12px !important;
}
#qContent .q-level-grid .q-option,
#qContent .q-number-grid .q-option,
#qContent .level-grid .q-option{
  justify-content:center !important;
  padding:0 !important;
  min-height:58px !important;
  height:58px !important;
  text-align:center !important;
}
#qContent .q-level-grid .q-option::before,
#qContent .q-number-grid .q-option::before,
#qContent .level-grid .q-option::before{
  display:none !important;
}
@media(max-width:980px){
  #questionario .q-card,.q-card:has(#qContent){padding:28px 24px !important;}
  #qContent .q-options-three{grid-template-columns:1fr !important;}
  #qContent .q-level-grid,#qContent .q-number-grid,#qContent .level-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  #questionario .q-wrap{padding:8px 10px 24px !important;}
  #questionario .q-card,.q-card:has(#qContent){padding:22px 16px !important;border-radius:20px !important;}
  #qContent .q-title{align-items:center !important;gap:12px !important;}
  #qContent .q-title h2{font-size:22px !important;}
  #qContent .q-title .ico{width:48px !important;height:48px !important;min-width:48px !important;}
  #qContent .q-option,#qContent .treatment-pill{min-height:58px !important;height:auto !important;padding:13px 16px 13px 54px !important;font-size:15px !important;}
  #qContent .q-option::before,#qContent .treatment-pill::before{left:20px !important;}
  #qContent .q-level-grid,#qContent .q-number-grid,#qContent .level-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .q-actions .btn,#qNextBtn{width:100% !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v106-stat-cards-final-fix ===== */
/* v106 - correção real dos cards: ícone à esquerda, textos à esquerda e valor travado à direita */
.card.stat{
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  min-height:82px !important;
  padding:14px 18px !important;
  overflow:hidden !important;
}
.card.stat > .ico{
  grid-column:1 !important;
  grid-row:1 !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  overflow:hidden !important;
}
.card.stat > div:first-child{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(120px, max-content) !important;
  grid-template-areas:
    "title value"
    "desc  value" !important;
  align-items:center !important;
  column-gap:18px !important;
}
.card.stat label{
  grid-area:title !important;
  min-width:0 !important;
  display:block !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  color:#52617d !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.card.stat .muted{
  grid-area:desc !important;
  min-width:0 !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  color:#6d7890 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.card.stat strong{
  grid-area:value !important;
  justify-self:end !important;
  align-self:center !important;
  max-width:100% !important;
  min-width:0 !important;
  display:block !important;
  margin:0 !important;
  padding-left:8px !important;
  font-size:clamp(22px,2.3vw,30px) !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  color:#1b2b49 !important;
  text-align:right !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
/* Páginas internas em linhas, sem espaço morto */
#pacientes .grid.g4,
#gestor .grid.g4{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}
#pacientes .grid.g4 .card.stat,
#gestor .grid.g4 .card.stat{
  min-height:82px !important;
  max-height:88px !important;
}
#pacientes .grid.g4 .card.stat > div:first-child,
#gestor .grid.g4 .card.stat > div:first-child{
  grid-template-columns:minmax(0,1fr) minmax(180px, max-content) !important;
}
#pacientes .grid.g4 .card.stat strong,
#gestor .grid.g4 .card.stat strong{
  font-size:clamp(24px,2.6vw,30px) !important;
}
/* Dashboard principal continua em cards, mas sem texto cortado/valor invadindo */
#dashboard .grid.g4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
#dashboard .grid.g4 .card.stat{
  min-height:106px !important;
  max-height:118px !important;
  padding:14px !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
}
#dashboard .grid.g4 .card.stat > .ico{
  grid-column:2 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
}
#dashboard .grid.g4 .card.stat > div:first-child{
  grid-column:1 !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-areas:"title" "value" "desc" !important;
  row-gap:3px !important;
  column-gap:0 !important;
}
#dashboard .grid.g4 .card.stat strong{
  justify-self:start !important;
  text-align:left !important;
  padding-left:0 !important;
  font-size:clamp(23px,2.1vw,29px) !important;
  max-width:100% !important;
}
#dashboard .grid.g4 .card.stat label,
#dashboard .grid.g4 .card.stat .muted{
  max-width:100% !important;
}
/* Quando o valor for grande, ele não pode sair do card */
#patientsRevenue,
#patientsRevenueCard,
#dentistsRevenueCard,
#managerRevenueTotal,
#dashRevenue,
#dashRevenueTotal{
  max-width:min(100%, 260px) !important;
}
@media(max-width:1180px){
  #dashboard .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:720px){
  .card.stat{grid-template-columns:42px minmax(0,1fr) !important;padding:13px 14px !important;}
  .card.stat > .ico{width:40px !important;height:40px !important;min-width:40px !important;}
  .card.stat > div:first-child,
  #pacientes .grid.g4 .card.stat > div:first-child,
  #gestor .grid.g4 .card.stat > div:first-child{
    grid-template-columns:minmax(0,1fr) minmax(88px, max-content) !important;
    column-gap:10px !important;
  }
  .card.stat strong{font-size:22px !important;}
  #dashboard .grid.g4{grid-template-columns:1fr !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== atende-plus-responsive-v119 ===== */
/* v119 - Nome Atende+ e responsividade real para login/sistema */
html, body{
  width:100%;
  min-height:100%;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body{overscroll-behavior-y:auto;}
.app{
  min-height:100dvh!important;
  height:auto!important;
  overflow:visible!important;
}
.main{
  min-width:0!important;
  min-height:100dvh!important;
  overflow:visible!important;
}
.content,.clean-content{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}
.card,.grid,.top,.stat,.metric-row,.dashboard-metric-row,
.stat-row,.kpi-row,.report-card,.section-card{
  min-width:0!important;
}

/* Login sem cortar imagem e com rolagem em telas menores */
.login{
  min-height:100dvh!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) minmax(360px,1fr)!important;
  overflow-y:auto!important;
  background:#f7fafc!important;
}
.login-left{
  min-height:100dvh!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  padding:clamp(12px,2vw,28px)!important;
  background:linear-gradient(135deg,#eaf9fd,#f7fdff)!important;
}
.login-cover-img{
  width:100%!important;
  height:auto!important;
  max-width:min(100%,780px)!important;
  max-height:calc(100dvh - 32px)!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  border-radius:24px!important;
}
.login-right{
  min-height:100dvh!important;
  height:auto!important;
  overflow-y:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(18px,4vw,42px)!important;
}
.login-right > *{
  max-width:460px!important;
  width:100%!important;
}

/* Evita telas sem rolagem quando a altura do monitor for baixa */
@media (max-height:760px){
  .login-right{align-items:flex-start!important;}
  .login-left{min-height:760px!important;}
  .login-cover-img{max-height:720px!important;}
}

/* Notebook/tablet: não reduzir o sistema nem cortar conteúdo */
@media (max-width:1180px){
  .content,.clean-content{padding:20px!important;}
  .top{align-items:flex-start!important;}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .g3,.g2{grid-template-columns:1fr!important;}
  .card{padding:18px!important;}
}

/* Tela pequena: sidebar deixa de travar a largura e o conteúdo ganha rolagem normal */
@media (max-width:900px){
  .login{
    grid-template-columns:1fr!important;
    min-height:100dvh!important;
  }
  .login-left{
    display:none!important;
  }
  .login-right{
    min-height:100dvh!important;
    align-items:flex-start!important;
    padding:22px 16px!important;
  }
  .app{display:block!important;}
  .side,.sidebar{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .main{
    margin-left:0!important;
    width:100%!important;
    min-height:auto!important;
  }
  header{position:sticky!important;top:0!important;padding:0 12px!important;}
  .content,.clean-content{padding:16px!important;}
  .top{flex-direction:column!important;align-items:stretch!important;gap:12px!important;}
  .top .btn,.top button{align-self:flex-start!important;}
  .g4,.g3,.g2{grid-template-columns:1fr!important;}
}

@media (max-width:520px){
  .content,.clean-content{padding:12px!important;}
  .card{border-radius:16px!important;padding:14px!important;}
  .top h1{font-size:24px!important;line-height:1.12!important;}
  .btn{width:100%;justify-content:center;}
  .login-right{padding:16px 12px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v123-critical-login-first-render ===== */
/* v123 - CSS crítico no HEAD para a tela de login abrir já no tamanho correto */
html,body{
  width:100%;
  min-width:0;
  margin:0!important;
  overflow-x:hidden!important;
}
body:not(.is-authenticated){
  min-height:100dvh!important;
  overflow:hidden!important;
  background:#f4f8fb!important;
}
#app.hidden,
body:not(.is-authenticated) #app{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body:not(.is-authenticated) #login.login{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  display:grid!important;
  grid-template-columns:minmax(500px,50vw) minmax(420px,50vw)!important;
  background:#f4f8fb!important;
  overflow:hidden!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-left{
  position:relative!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  display:block!important;
  padding:0!important;
  background:#0ea5c8!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-cover-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-right{
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(22px,4vw,64px)!important;
  background:#f4f8fb!important;
  overflow:hidden!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login .login-right>div{
  width:min(430px,100%)!important;
  max-width:430px!important;
  background:#fff!important;
  border:1px solid rgba(211,226,234,.85)!important;
  border-radius:16px!important;
  box-shadow:0 12px 35px rgba(15,34,54,.06)!important;
  padding:clamp(26px,3vw,42px)!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
@media(max-width:980px){
  body:not(.is-authenticated) #login.login{grid-template-columns:1fr!important;}
  body:not(.is-authenticated) #login .login-left{display:none!important;}
  body:not(.is-authenticated) #login .login-right{padding:18px!important;}
}
@media(max-height:680px) and (min-width:981px){
  body:not(.is-authenticated){overflow:auto!important;}
  body:not(.is-authenticated) #login.login{position:relative!important;height:auto!important;min-height:680px!important;}
  body:not(.is-authenticated) #login .login-left,
  body:not(.is-authenticated) #login .login-right{height:680px!important;min-height:680px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== inline-style ===== */
.ai-modern-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);gap:18px;align-items:start}.ai-panel{background:#fff;border:1px solid var(--border,#e6eef4);border-radius:22px;padding:20px;box-shadow:0 14px 36px rgba(15,48,69,.07)}.ai-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.ai-avatar{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#0ea5c8,#6ee7b7);box-shadow:0 10px 26px rgba(14,165,200,.22)}.ai-head h2{margin:0;font-size:24px}.ai-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ai-tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:7px 10px;background:#eef9fc;color:#0f5f78;font-size:12px;font-weight:800}.ai-tag.warn{background:#fff7e8;color:#9a5b00}.ai-tag.green{background:#ecfdf3;color:#067647}.ai-section{margin-top:14px;padding:16px;border:1px solid #e8f1f6;border-radius:18px;background:#fbfdff}.ai-section h3{margin:0 0 8px;font-size:16px;color:#102f45}.ai-section p{margin:0;color:#667085;line-height:1.55}.ai-list{display:grid;gap:10px;margin:10px 0 0;padding:0;list-style:none}.ai-list li{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:14px;background:#fff;border:1px solid #edf3f7;color:#344054}.ai-list b{color:#102f45}.ai-metrics{display:grid;gap:12px}.ai-score{display:grid;place-items:center;padding:22px}.ai-score-ring{width:158px;height:158px;border-radius:50%;display:grid;place-items:center}.ai-score-ring div{width:108px;height:108px;border-radius:50%;background:white;display:grid;place-items:center;text-align:center;box-shadow:inset 0 0 0 1px #e6eef4}.ai-score-ring strong{font-size:34px;color:#102f45}.ai-metric{padding:12px;border-radius:16px;background:#f8fcfe;border:1px solid #e6eef4}.ai-metric-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:#344054}.ai-metric-bar{height:9px;border-radius:999px;background:#e6eef4;overflow:hidden}.ai-metric-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0ea5c8,#22c55e)}.ai-alert{border-left:5px solid #f59e0b;background:#fffaf0}.ai-success{border-left:5px solid #22c55e;background:#f6fef9}.ai-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-mini-card{padding:12px;border:1px solid #e6eef4;border-radius:16px;background:#fff}.ai-mini-card span{display:block;font-size:12px;color:#667085;margin-bottom:4px}.ai-mini-card b{color:#102f45}.ai-actions-box{background:linear-gradient(135deg,#f8fcfe,#eef9fc);color:#102f45;border-color:#cfeaf3}.ai-actions-box h3,.ai-actions-box b{color:#102f45}.ai-actions-box p,.ai-actions-box li{color:#344054}.ai-actions-box .ai-list li{background:#fff;border-color:#d9e6ee}@media(max-width:980px){.ai-modern-layout{grid-template-columns:1fr}.ai-grid-2{grid-template-columns:1fr}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v98-questionario-recriado-profissional ===== */
/* v98 - Questionário recriado: visual limpo, padronizado e profissional */
#questionario{
  background:linear-gradient(180deg,#f7fbff 0%,#eef8ff 100%) !important;
  padding:24px 18px 42px !important;
}
#questionario .q-wrap{
  width:min(1180px,100%) !important;
  margin:0 auto !important;
}
#questionario .q-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 12px !important;
  color:#0b1b4d !important;
  font-weight:900 !important;
}
#questionario .q-head span{
  background:#ffffff !important;
  border:1px solid #d9eaf7 !important;
  border-radius:999px !important;
  padding:8px 14px !important;
  box-shadow:0 10px 28px rgba(15,72,120,.08) !important;
}
#questionario .q-progress{
  height:10px !important;
  background:#ddeefa !important;
  border-radius:999px !important;
  overflow:hidden !important;
  margin-bottom:16px !important;
}
#questionario .q-progress span{
  height:100% !important;
  display:block !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#0ea5ff,#006fe6) !important;
  box-shadow:0 0 20px rgba(14,165,255,.35) !important;
}
#questionario .q-tabs{
  display:flex !important;
  gap:8px !important;
  overflow-x:auto !important;
  padding:4px 2px 14px !important;
  scrollbar-width:thin !important;
}
#questionario .q-tabs span{
  flex:0 0 auto !important;
  border:1px solid #d9eaf7 !important;
  background:#fff !important;
  color:#60708f !important;
  border-radius:999px !important;
  padding:9px 13px !important;
  font-weight:800 !important;
  font-size:12px !important;
  box-shadow:0 8px 18px rgba(15,72,120,.05) !important;
}
#questionario .q-tabs span.on{
  color:#006fe6 !important;
  border-color:#9ed8ff !important;
  background:linear-gradient(180deg,#f5fbff,#eaf7ff) !important;
}
#questionario .q-card{
  background:rgba(255,255,255,.96) !important;
  border:1px solid #d9e8f4 !important;
  border-radius:28px !important;
  padding:34px !important;
  box-shadow:0 22px 60px rgba(13,42,92,.10) !important;
  overflow:hidden !important;
}
#questionario #qContent{
  display:block !important;
}
#questionario .q-title{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  padding-bottom:22px !important;
  margin-bottom:28px !important;
  border-bottom:1px solid #dbeaf5 !important;
}
#questionario .q-title .ico{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(180deg,#eef9ff,#dff3ff) !important;
  color:#008cff !important;
  font-size:24px !important;
  box-shadow:inset 0 0 0 1px rgba(0,140,255,.08) !important;
}
#questionario .q-title h2{
  margin:0 0 6px !important;
  color:#06144a !important;
  font-size:27px !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}
#questionario .q-title p{
  margin:0 !important;
  color:#687897 !important;
  font-size:15px !important;
}
#questionario .field{
  margin:0 0 24px !important;
}
#questionario .field>label,
#questionario .q-extra-title-v66{
  display:block !important;
  margin:0 0 12px !important;
  color:#07184e !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:-.01em !important;
}
#questionario .q-subgrid-v66,
#questionario .q-pain-grid-v96{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}
#questionario .q-field-full,
#questionario .q-pain-grid-v96 .q-field-full{
  grid-column:1 / -1 !important;
}
#questionario .input,
#questionario textarea.input{
  width:100% !important;
  min-height:58px !important;
  border:1px solid #d4e5f2 !important;
  background:#fbfdff !important;
  border-radius:17px !important;
  padding:0 18px !important;
  color:#07184e !important;
  font-size:15px !important;
  outline:none !important;
  box-shadow:0 8px 22px rgba(16,70,120,.04) !important;
  transition:.18s ease !important;
}
#questionario textarea.input{
  padding:16px 18px !important;
  min-height:126px !important;
  resize:vertical !important;
}
#questionario .input:focus,
#questionario textarea.input:focus{
  border-color:#1aa4ff !important;
  box-shadow:0 0 0 4px rgba(26,164,255,.12),0 12px 28px rgba(16,70,120,.07) !important;
  background:#fff !important;
}
#questionario .q-options{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
  gap:14px !important;
  margin:0 0 24px !important;
}
#questionario .q-options-two{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
#questionario .q-options-three{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
#questionario .q-option{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  min-height:68px !important;
  height:auto !important;
  padding:17px 20px 17px 58px !important;
  border:1.5px solid #d4e5f2 !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#07184e !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  cursor:pointer !important;
  user-select:none !important;
  box-shadow:0 12px 28px rgba(16,70,120,.05) !important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease !important;
  text-align:left !important;
}
#questionario .q-option::before{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:21px !important;
  height:21px !important;
  border-radius:50% !important;
  border:2px solid #bdcbd9 !important;
  background:#fff !important;
  box-sizing:border-box !important;
}
#questionario .q-option::after{
  content:"" !important;
  position:absolute !important;
  left:28px !important;
  top:50% !important;
  transform:translateY(-50%) scale(0) !important;
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:#0b98ff !important;
  transition:.16s ease !important;
}
#questionario .q-option:hover{
  transform:translateY(-1px) !important;
  border-color:#8ad2ff !important;
  box-shadow:0 16px 34px rgba(0,132,255,.10) !important;
}
#questionario .q-option.on{
  border-color:#149cff !important;
  background:linear-gradient(180deg,#ffffff,#f3fbff) !important;
  box-shadow:0 18px 40px rgba(0,132,255,.14) !important;
  color:#06144a !important;
}
#questionario .q-option.on::before{
  border-color:#0b98ff !important;
  box-shadow:0 0 0 5px rgba(11,152,255,.10) !important;
}
#questionario .q-option.on::after{
  transform:translateY(-50%) scale(1) !important;
}
#questionario .treatment-pill{
  min-height:54px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:16px !important;
  border:1.5px solid #d4e5f2 !important;
  background:#fff !important;
  color:#07184e !important;
  font-weight:900 !important;
  padding:13px 16px !important;
  box-shadow:0 10px 24px rgba(16,70,120,.05) !important;
  cursor:pointer !important;
  transition:.16s ease !important;
}
#questionario .treatment-pill.on{
  color:#006fe6 !important;
  border-color:#149cff !important;
  background:linear-gradient(180deg,#fff,#eef9ff) !important;
  box-shadow:0 16px 34px rgba(0,132,255,.12) !important;
}
#questionario .range-row{
  background:#f7fbff !important;
  border:1px solid #d9eaf7 !important;
  border-radius:20px !important;
  padding:22px !important;
  box-shadow:0 10px 28px rgba(16,70,120,.05) !important;
}
#questionario input[type="range"]{
  width:100% !important;
  accent-color:#0b98ff !important;
}
#questionario .q-actions{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  margin-top:10px !important;
  padding-top:26px !important;
  border-top:1px solid #dbeaf5 !important;
}
#questionario .q-actions .btn{
  min-width:156px !important;
  height:58px !important;
  border-radius:16px !important;
  font-size:16px !important;
  font-weight:950 !important;
  box-shadow:0 16px 32px rgba(0,112,230,.20) !important;
}
#questionario .q-actions .btn.ghost{
  background:#fff !important;
  color:#315582 !important;
  border:1.5px solid #aac9e9 !important;
  box-shadow:0 12px 28px rgba(16,70,120,.06) !important;
}
@media(max-width:760px){
  #questionario{padding:16px 10px 28px !important;}
  #questionario .q-card{padding:22px 16px !important;border-radius:22px !important;}
  #questionario .q-title{align-items:flex-start !important;gap:12px !important;margin-bottom:20px !important;padding-bottom:18px !important;}
  #questionario .q-title .ico{width:48px !important;height:48px !important;min-width:48px !important;border-radius:15px !important;}
  #questionario .q-title h2{font-size:22px !important;}
  #questionario .q-subgrid-v66,#questionario .q-pain-grid-v96{grid-template-columns:1fr !important;gap:14px !important;}
  #questionario .q-options,#questionario .q-options-two,#questionario .q-options-three{grid-template-columns:1fr !important;gap:12px !important;}
  #questionario .q-option{min-height:62px !important;padding:15px 16px 15px 54px !important;}
  #questionario .q-actions{flex-direction:column-reverse !important;align-items:stretch !important;}
  #questionario .q-actions .btn{width:100% !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v102-icones-relatorios ===== */
/* v102 - Corrige ícones SVG cortados/desalinhados e libera relatórios para listar também pacientes cadastrados. */
.card.stat .ico.premium-svg-icon,
.card.stat > .ico.premium-svg-icon,
.ico.premium-svg-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:0 !important;
  font-size:0 !important;
  padding:0 !important;
}
.card.stat .ico.premium-svg-icon{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  flex:0 0 42px !important;
  border-radius:14px !important;
  overflow:hidden !important;
}
.card.stat .ico.premium-svg-icon svg,
.card.stat > .ico.premium-svg-icon svg,
.ico.premium-svg-icon svg{
  display:block !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  max-width:22px !important;
  max-height:22px !important;
  margin:0 !important;
  transform:none !important;
  position:static !important;
  inset:auto !important;
}
.card.stat{
  overflow:hidden !important;
}
.card.stat > div:first-child{
  min-width:0 !important;
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v103-dashboard-stat-lines ===== */
/* v103 - Pacientes em cards iguais ao Dashboard; Dentistas/Gestor mantidos em linhas compactas */
#pacientes .grid.g4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-bottom:18px !important;
}
#pacientes .grid.g4 .card.stat{
  position:relative !important;
  display:block !important;
  min-height:188px !important;
  padding:26px 24px 24px !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid #d8e8f1 !important;
  overflow:hidden !important;
  box-shadow:0 12px 30px rgba(22,54,82,.04) !important;
}
#pacientes .grid.g4 .card.stat > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  min-width:0 !important;
  max-width:72% !important;
  height:100% !important;
}
#pacientes .grid.g4 .card.stat label{
  order:1 !important;
  display:block !important;
  margin:8px 0 0 !important;
  color:#102447 !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1.22 !important;
  white-space:normal !important;
  overflow:visible !important;
}
#pacientes .grid.g4 .card.stat .muted{
  order:2 !important;
  display:block !important;
  margin:12px 0 0 !important;
  color:#60708d !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.32 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  max-width:100% !important;
}
#pacientes .grid.g4 .card.stat strong{
  order:3 !important;
  display:block !important;
  margin:38px 0 0 !important;
  color:#1b2b48 !important;
  font-size:34px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
#pacientes .grid.g4 .card.stat .ico{
  position:absolute !important;
  top:24px !important;
  right:24px !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:18px !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  flex:none !important;
}
#pacientes .grid.g4 .card.stat .ico svg{
  width:26px !important;
  height:26px !important;
}
#pacientes .top{margin-bottom:16px !important;}
#pacientes .grid.g4 + .card{margin-top:14px !important;}

#dentistas .grid.g4,
#gestor .grid.g4{
  grid-template-columns:1fr !important;
  gap:12px !important;
}
#dentistas .card.stat,
#gestor .card.stat{
  min-height:82px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  display:flex !important;
  flex-direction:row-reverse !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:16px !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
}
#dentistas .card.stat > div:first-child,
#gestor .card.stat > div:first-child{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(170px,1fr) minmax(130px,auto) minmax(190px,1.1fr) !important;
  align-items:center !important;
  column-gap:18px !important;
}
#dentistas .card.stat label,
#gestor .card.stat label{
  font-size:13px !important;
  line-height:1.2 !important;
  color:#596984 !important;
  font-weight:750 !important;
  margin:0 !important;
}
#dentistas .card.stat strong,
#gestor .card.stat strong{
  font-size:28px !important;
  line-height:1 !important;
  margin:0 !important;
  letter-spacing:-.035em !important;
  color:#1b2b48 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-align:left !important;
}
#dentistas .card.stat .muted,
#gestor .card.stat .muted{
  font-size:12px !important;
  line-height:1.25 !important;
  color:#667796 !important;
  margin:0 !important;
}
#dentistas .card.stat .ico,
#gestor .card.stat .ico{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  flex:0 0 46px !important;
  border-radius:15px !important;
  margin:0 !important;
}
#dentistas .card.stat .ico svg,
#gestor .card.stat .ico svg{
  width:23px !important;
  height:23px !important;
}
#dentistas .top,
#gestor .top{margin-bottom:16px !important;}
#dentistas .grid.g4 + .card,
#gestor .grid.g4 + .grid,
#dentistas .grid.g4 + .card[style]{margin-top:14px !important;}
@media(max-width:1180px){
  #pacientes .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:900px){
  #pacientes .grid.g4{grid-template-columns:1fr !important;}
  #pacientes .grid.g4 .card.stat{min-height:170px !important;}
  #pacientes .grid.g4 .card.stat > div:first-child{max-width:72% !important;}
  #pacientes .grid.g4 .card.stat strong{font-size:30px !important;margin-top:30px !important;}
  #dentistas .card.stat > div:first-child,
  #gestor .card.stat > div:first-child{
    grid-template-columns:1fr auto !important;
    row-gap:5px !important;
  }
  #dentistas .card.stat .muted,
  #gestor .card.stat .muted{grid-column:1 / -1 !important;}
  #dentistas .card.stat strong,
  #gestor .card.stat strong{font-size:25px !important;text-align:right !important;}
}
@media(max-width:560px){
  #dentistas .card.stat,
  #gestor .card.stat{align-items:flex-start !important;padding:15px !important;}
  #dentistas .card.stat > div:first-child,
  #gestor .card.stat > div:first-child{grid-template-columns:1fr !important;row-gap:4px !important;}
  #dentistas .card.stat strong,
  #gestor .card.stat strong{text-align:left !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v108-dashboard-relatorios-fix-css ===== */
/* Dashboard principal: transforma os cards do topo em linhas profissionais */
#dashboard .grid.g4:first-of-type{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin-top:18px !important;
}
#dashboard .grid.g4:first-of-type .card.stat{
  min-height:74px !important;
  padding:14px 18px !important;
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) minmax(140px,max-content) !important;
  align-items:center !important;
  gap:14px !important;
  overflow:hidden !important;
}
#dashboard .grid.g4:first-of-type .card.stat > div:first-child{
  display:contents !important;
}
#dashboard .grid.g4:first-of-type .card.stat .icon-badge{
  grid-column:1 !important;
  grid-row:1 !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  margin:0 !important;
}
#dashboard .grid.g4:first-of-type .card.stat span:not(.icon-badge):not(.muted),
#dashboard .grid.g4:first-of-type .card.stat .stat-title{
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  color:var(--text) !important;
  align-self:end !important;
}
#dashboard .grid.g4:first-of-type .card.stat .muted{
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:var(--muted-fg) !important;
  margin-top:22px !important;
  align-self:start !important;
}
#dashboard .grid.g4:first-of-type .card.stat strong{
  grid-column:3 !important;
  grid-row:1 !important;
  justify-self:end !important;
  align-self:center !important;
  max-width:100% !important;
  min-width:120px !important;
  text-align:right !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:26px !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
}

/* Relatórios: garante clique, visual e conteúdo visível */
#relatorios{display:none;}
#relatorios.active{display:block !important;}
#relatorios .report-kpis{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}
#relatorios .report-kpis .card{
  min-height:86px !important;
  padding:16px !important;
}
#relatorios .report-kpis strong{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@media(max-width:900px){
  #dashboard .grid.g4:first-of-type .card.stat{grid-template-columns:48px minmax(0,1fr) minmax(92px,max-content)!important;padding:13px!important;}
  #dashboard .grid.g4:first-of-type .card.stat strong{font-size:22px!important;min-width:86px!important;}
  #relatorios .report-kpis{grid-template-columns:1fr!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v109-margens-nomes-linhas ===== */
/* Faz todos os indicadores principais respeitarem a margem do card */
#dashboard .dashboard-kpis,
#dashboard .grid.g4:first-of-type,
#pacientes .grid.g4,
#gestor .grid.g4{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  width:100% !important;
}

#dashboard .dashboard-kpis .card.stat,
#dashboard .grid.g4:first-of-type .card.stat,
#pacientes .card.stat,
#dentistas .card.stat,
#gestor .card.stat{
  width:100% !important;
  min-height:76px !important;
  height:auto !important;
  padding:14px 20px !important;
  border-radius:18px !important;
  display:grid !important;
  grid-template-columns:50px minmax(0,1fr) minmax(92px,42%) !important;
  align-items:center !important;
  gap:14px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
}

#dashboard .dashboard-kpis .card.stat > div:first-child,
#dashboard .grid.g4:first-of-type .card.stat > div:first-child,
#pacientes .card.stat > div:first-child,
#dentistas .card.stat > div:first-child,
#gestor .card.stat > div:first-child{
  display:contents !important;
}

#dashboard .dashboard-kpis .card.stat .ico,
#dashboard .grid.g4:first-of-type .card.stat .ico,
#pacientes .card.stat .ico,
#dentistas .card.stat .ico,
#gestor .card.stat .ico{
  grid-column:1 !important;
  grid-row:1 / 3 !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:center !important;
  flex:none !important;
  overflow:hidden !important;
}

#dashboard .dashboard-kpis .card.stat label,
#dashboard .grid.g4:first-of-type .card.stat label,
#pacientes .card.stat label,
#dentistas .card.stat label,
#gestor .card.stat label{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  align-self:end !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  color:#51617e !important;
}

#dashboard .dashboard-kpis .card.stat .muted,
#dashboard .grid.g4:first-of-type .card.stat .muted,
#pacientes .card.stat .muted,
#dentistas .card.stat .muted,
#gestor .card.stat .muted{
  grid-column:2 !important;
  grid-row:2 !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  align-self:start !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:#6b7a95 !important;
}

#dashboard .dashboard-kpis .card.stat strong,
#dashboard .grid.g4:first-of-type .card.stat strong,
#pacientes .card.stat strong,
#dentistas .card.stat strong,
#gestor .card.stat strong{
  grid-column:3 !important;
  grid-row:1 / 3 !important;
  justify-self:end !important;
  align-self:center !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  text-align:right !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:clamp(23px,2.1vw,31px) !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  font-variant-numeric:tabular-nums !important;
  color:#1b2b48 !important;
}

/* Nome grande do Painel do gestor não pode passar da margem */
#gestor #managerTopConversion{
  max-width:100% !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:clamp(20px,2vw,28px) !important;
  letter-spacing:-.04em !important;
}
#gestor #managerTopConversionSub{
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Evita qualquer tabela/lista estourar a largura */
.card,
.table,
.report-table-wrap,
.manager-summary-grid,
.recent-item,
.list li{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.table td,
.table th{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}

@media(max-width:720px){
  #dashboard .dashboard-kpis .card.stat,
  #dashboard .grid.g4:first-of-type .card.stat,
  #pacientes .card.stat,
  #dentistas .card.stat,
  #gestor .card.stat{
    grid-template-columns:46px minmax(0,1fr) minmax(78px,38%) !important;
    gap:12px !important;
    padding:13px 14px !important;
    min-height:74px !important;
  }
  #dashboard .dashboard-kpis .card.stat strong,
  #dashboard .grid.g4:first-of-type .card.stat strong,
  #pacientes .card.stat strong,
  #dentistas .card.stat strong,
  #gestor .card.stat strong{
    font-size:clamp(20px,5vw,24px) !important;
  }
}

@media(max-width:460px){
  #dashboard .dashboard-kpis .card.stat,
  #dashboard .grid.g4:first-of-type .card.stat,
  #pacientes .card.stat,
  #dentistas .card.stat,
  #gestor .card.stat{
    grid-template-columns:44px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
  }
  #dashboard .dashboard-kpis .card.stat strong,
  #dashboard .grid.g4:first-of-type .card.stat strong,
  #pacientes .card.stat strong,
  #dentistas .card.stat strong,
  #gestor .card.stat strong{
    grid-column:2 !important;
    grid-row:3 !important;
    justify-self:start !important;
    text-align:left !important;
    width:100% !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v115-cards-nomes-esquerda-valores-direita-final ===== */
/* v115 - correção final dos cards: ícone à esquerda, nomes à esquerda e valores no canto direito */
html,body{max-width:100%!important;overflow-x:hidden!important;}
.app,.main,.content,.clean-content,.page{max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important;}

#dashboard .dashboard-kpis,
#dashboard .grid.g4:first-of-type,
#pacientes .grid.g4,
#gestor .grid.g4{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

#dashboard .dashboard-kpis .card.stat,
#dashboard .grid.g4:first-of-type .card.stat,
#pacientes .card.stat,
#dentistas .card.stat,
#gestor .card.stat{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:76px!important;
  padding:14px 20px!important;
  border-radius:18px!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) minmax(92px,max-content)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:16px!important;
  row-gap:2px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

#dashboard .dashboard-kpis .card.stat > div:first-child,
#dashboard .grid.g4:first-of-type .card.stat > div:first-child,
#pacientes .card.stat > div:first-child,
#dentistas .card.stat > div:first-child,
#gestor .card.stat > div:first-child{
  display:contents!important;
}

#dashboard .dashboard-kpis .card.stat > .ico,
#dashboard .grid.g4:first-of-type .card.stat > .ico,
#pacientes .card.stat > .ico,
#dentistas .card.stat > .ico,
#gestor .card.stat > .ico{
  grid-column:1!important;
  grid-row:1 / 3!important;
  align-self:center!important;
  justify-self:center!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0!important;
  border-radius:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  overflow:hidden!important;
}

#dashboard .dashboard-kpis .card.stat > .ico svg,
#dashboard .grid.g4:first-of-type .card.stat > .ico svg,
#pacientes .card.stat > .ico svg,
#dentistas .card.stat > .ico svg,
#gestor .card.stat > .ico svg{width:22px!important;height:22px!important;display:block!important;}

#dashboard .dashboard-kpis .card.stat label,
#dashboard .grid.g4:first-of-type .card.stat label,
#pacientes .card.stat label,
#dentistas .card.stat label,
#gestor .card.stat label{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  justify-self:start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  color:#1f2f4d!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.15!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#dashboard .dashboard-kpis .card.stat .muted,
#dashboard .grid.g4:first-of-type .card.stat .muted,
#pacientes .card.stat .muted,
#dentistas .card.stat .muted,
#gestor .card.stat .muted{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  justify-self:start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:2px 0 0 0!important;
  padding:0!important;
  display:block!important;
  color:#667590!important;
  opacity:1!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.18!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#dashboard .dashboard-kpis .card.stat strong,
#dashboard .grid.g4:first-of-type .card.stat strong,
#pacientes .card.stat strong,
#dentistas .card.stat strong,
#gestor .card.stat strong{
  grid-column:3!important;
  grid-row:1 / 3!important;
  justify-self:end!important;
  align-self:center!important;
  display:block!important;
  width:auto!important;
  min-width:92px!important;
  max-width:min(44vw,360px)!important;
  margin:0!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:clamp(24px,2.4vw,32px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  font-variant-numeric:tabular-nums!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#gestor #managerTopConversion{
  min-width:0!important;
  max-width:min(50vw,520px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.card,.table,.report-table-wrap{max-width:100%!important;box-sizing:border-box!important;}

@media(max-width:720px){
  #dashboard .dashboard-kpis .card.stat,
  #dashboard .grid.g4:first-of-type .card.stat,
  #pacientes .card.stat,
  #dentistas .card.stat,
  #gestor .card.stat{
    grid-template-columns:46px minmax(0,1fr) minmax(72px,max-content)!important;
    column-gap:12px!important;
    padding:12px 14px!important;
    min-height:72px!important;
  }
  #dashboard .dashboard-kpis .card.stat > .ico,
  #dashboard .grid.g4:first-of-type .card.stat > .ico,
  #pacientes .card.stat > .ico,
  #dentistas .card.stat > .ico,
  #gestor .card.stat > .ico{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;}
  #dashboard .dashboard-kpis .card.stat strong,
  #dashboard .grid.g4:first-of-type .card.stat strong,
  #pacientes .card.stat strong,
  #dentistas .card.stat strong,
  #gestor .card.stat strong{min-width:72px!important;max-width:38vw!important;font-size:22px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v118-cards-padrao-dashboard-final ===== */
/* v118 - Abas Pacientes, Dentistas e Painel do Gestor no mesmo padrão visual do Dashboard.
   Valores corrigidos para o lado esquerdo, sem alterar textos nem lógica. */
html,body{max-width:100%!important;overflow-x:hidden!important;}
.app,.main,.content,.page{max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important;}

#pacientes .grid.g4,
#dentistas .grid.g4,
#gestor .grid.g4{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 18px 0!important;
  align-items:stretch!important;
}

#pacientes .grid.g4 .card.stat,
#dentistas .grid.g4 .card.stat,
#gestor .grid.g4 .card.stat{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:188px!important;
  height:188px!important;
  padding:30px 24px 24px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid rgba(196,220,234,.82)!important;
  box-shadow:0 12px 34px rgba(15,43,67,.05)!important;
}

#pacientes .grid.g4 .card.stat > div:first-child,
#dentistas .grid.g4 .card.stat > div:first-child,
#gestor .grid.g4 .card.stat > div:first-child{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

#pacientes .grid.g4 .card.stat > .ico,
#dentistas .grid.g4 .card.stat > .ico,
#gestor .grid.g4 .card.stat > .ico{
  position:absolute!important;
  top:22px!important;
  right:24px!important;
  left:auto!important;
  bottom:auto!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  overflow:hidden!important;
}

#pacientes .grid.g4 .card.stat > .ico svg,
#dentistas .grid.g4 .card.stat > .ico svg,
#gestor .grid.g4 .card.stat > .ico svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
}

#pacientes .grid.g4 .card.stat label,
#dentistas .grid.g4 .card.stat label,
#gestor .grid.g4 .card.stat label{
  display:block!important;
  width:calc(100% - 78px)!important;
  max-width:calc(100% - 78px)!important;
  margin:6px 0 0!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.22!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#pacientes .grid.g4 .card.stat .muted,
#dentistas .grid.g4 .card.stat .muted,
#gestor .grid.g4 .card.stat .muted{
  display:block!important;
  width:calc(100% - 78px)!important;
  max-width:calc(100% - 78px)!important;
  margin:10px 0 0!important;
  padding:0!important;
  color:#667590!important;
  opacity:1!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.3!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#pacientes .grid.g4 .card.stat strong,
#dentistas .grid.g4 .card.stat strong,
#gestor .grid.g4 .card.stat strong{
  position:absolute!important;
  left:24px!important;
  right:auto!important;
  bottom:22px!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:calc(100% - 48px)!important;
  margin:0!important;
  padding:0!important;
  color:#1f2f4d!important;
  font-size:clamp(30px,3vw,36px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-variant-numeric:tabular-nums!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  justify-self:start!important;
  align-self:auto!important;
}

#pacientes .grid.g4 + .card,
#dentistas .grid.g4 + .card,
#gestor .grid.g4 + .grid{margin-top:18px!important;}
.card,.table,.report-table-wrap{max-width:100%!important;box-sizing:border-box!important;}

#gestor #managerTopConversion{
  position:absolute!important;
  left:24px!important;
  right:auto!important;
  bottom:22px!important;
  max-width:calc(100% - 48px)!important;
  text-align:left!important;
}
#gestor #managerTopConversionSub{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}


@media(max-width:1200px){
  #pacientes .grid.g4,
  #dentistas .grid.g4,
  #gestor .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:720px){
  #pacientes .grid.g4,
  #dentistas .grid.g4,
  #gestor .grid.g4{grid-template-columns:1fr!important;}
  #pacientes .grid.g4 .card.stat,
  #dentistas .grid.g4 .card.stat,
  #gestor .grid.g4 .card.stat{
    min-height:168px!important;
    height:168px!important;
    padding:24px 20px 22px!important;
  }
  #pacientes .grid.g4 .card.stat > .ico,
  #dentistas .grid.g4 .card.stat > .ico,
  #gestor .grid.g4 .card.stat > .ico{
    top:20px!important;
    right:20px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }
  #pacientes .grid.g4 .card.stat label,
  #pacientes .grid.g4 .card.stat .muted,
  #dentistas .grid.g4 .card.stat label,
  #dentistas .grid.g4 .card.stat .muted,
  #gestor .grid.g4 .card.stat label,
  #gestor .grid.g4 .card.stat .muted{
    width:calc(100% - 68px)!important;
    max-width:calc(100% - 68px)!important;
  }
  #pacientes .grid.g4 .card.stat strong,
  #dentistas .grid.g4 .card.stat strong,
  #gestor .grid.g4 .card.stat strong{
    left:20px!important;
    right:auto!important;
    bottom:20px!important;
    font-size:30px!important;
    text-align:left!important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== atende-plus-login-final-v120 ===== */
/* v120 - Login no padrão da referência + responsividade real */
html,body{
  min-height:100%;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
#login.login{
  width:100%!important;
  min-height:100dvh!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(520px, 1fr) minmax(420px, 1fr)!important;
  background:#f4f8fb!important;
  overflow-y:auto!important;
}
#login .login-left{
  position:relative!important;
  min-height:100dvh!important;
  height:100dvh!important;
  padding:0!important;
  display:block!important;
  overflow:hidden!important;
  background:#0ea5c8!important;
}
#login .login-cover-img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  display:block!important;
}
#login .login-right{
  min-height:100dvh!important;
  height:auto!important;
  padding:clamp(24px, 5vw, 70px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow-y:auto!important;
  background:#f4f8fb!important;
}
#login .login-right > div{
  width:min(100%, 430px)!important;
  max-width:430px!important;
  background:#fff!important;
  border:1px solid rgba(211,226,234,.85)!important;
  border-radius:16px!important;
  box-shadow:0 12px 35px rgba(15,34,54,.06)!important;
  padding:clamp(26px,3vw,42px)!important;
}
#login .login-right .brand{
  border:0!important;
  padding:0!important;
  margin:0 0 34px 0!important;
  gap:12px!important;
  font-size:0!important;
}
#login .login-right .brand .brand-logo{
  width:220px!important;
  max-width:100%!important;
  height:auto!important;
  display:block!important;
}
#login .login-right h1{
  margin:0 0 16px!important;
  color:#1f2f4d!important;
  font-size:clamp(28px,2.6vw,34px)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
}
#login .login-right p{
  margin:0 0 28px!important;
  color:#667590!important;
  font-size:14px!important;
  line-height:1.5!important;
}
#login .login-right br{display:none!important;}
#login .login-right .input{
  height:48px!important;
  margin:0 0 20px!important;
  border:0!important;
  border-radius:12px!important;
  background:#edf4f8!important;
  padding:0 16px!important;
  color:#1f2f4d!important;
  font-size:15px!important;
  outline:none!important;
}
#login .login-right .input:focus{
  box-shadow:0 0 0 3px rgba(32,165,215,.15)!important;
  background:#fff!important;
}
#login .login-right .btn{
  height:48px!important;
  width:100%!important;
  border-radius:12px!important;
  background:#26a7d2!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  margin-top:0!important;
}
#login .login-right .btn:hover{filter:brightness(.96)!important;}

@media(max-width:1100px){
  #login.login{grid-template-columns:minmax(460px, 1fr) minmax(390px, .9fr)!important;}
  #login .login-right{padding:32px!important;}
  #login .login-right > div{padding:32px!important;}
}
@media(max-width:900px){
  #login.login{grid-template-columns:1fr!important;min-height:100dvh!important;}
  #login .login-left{display:none!important;}
  #login .login-right{
    min-height:100dvh!important;
    align-items:center!important;
    padding:22px 16px!important;
  }
  #login .login-right > div{max-width:460px!important;padding:28px 22px!important;}
}
@media(max-height:700px) and (min-width:901px){
  #login .login-left{height:100dvh!important;min-height:620px!important;}
  #login .login-right{align-items:flex-start!important;min-height:620px!important;padding-top:32px!important;padding-bottom:32px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v123-final-login-stability-override ===== */
/* v123 final - impede redimensionamento tardio da imagem e do login */
body:not(.is-authenticated) #login,
body:not(.is-authenticated) #login *{
  transition-property:none!important;
  animation:none!important;
}
body:not(.is-authenticated) #login.login{
  position:fixed!important;
  inset:0!important;
  height:100dvh!important;
  overflow:hidden!important;
}
body:not(.is-authenticated) #login .login-cover-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.is-authenticated{overflow:auto!important;}
body.is-authenticated #login{display:none!important;}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v124-analise-ia-layout ===== */
#analise{
    min-height:100vh !important;
    overflow-x:hidden !important;
    padding-bottom:40px !important;
  }

  #analysisContent{
    width:100% !important;
    max-width:1220px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
  }

  #analise .ai-modern-layout{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(320px,360px) !important;
    gap:20px !important;
    align-items:start !important;
  }

  #analise .ai-panel{
    min-width:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }

  #analise .ai-head{
    align-items:center !important;
    text-align:left !important;
  }

  #analise .ai-head > div:last-child{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  #analise .ai-head h2{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    line-height:1.1 !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  #analise .ai-grid-2{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  #analise .ai-mini-card{
    min-height:76px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    text-align:left !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  #analise .ai-mini-card span,
  #analise .ai-mini-card b{
    width:100% !important;
    display:block !important;
    text-align:left !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.28 !important;
  }

  #analise .ai-section{
    text-align:left !important;
    overflow:hidden !important;
  }

  #analise .ai-section h3{
    text-align:left !important;
    line-height:1.2 !important;
  }

  #analise .ai-section p,
  #analise .ai-section b,
  #analise .ai-section span{
    text-align:left !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  #analise .ai-list li{
    display:grid !important;
    grid-template-columns:22px minmax(0,1fr) !important;
    align-items:start !important;
    gap:10px !important;
    text-align:left !important;
    line-height:1.35 !important;
  }

  #analise .ai-list li span{
    min-width:0 !important;
    text-align:left !important;
    overflow-wrap:anywhere !important;
  }

  #analise .ai-metrics{
    position:sticky !important;
    top:18px !important;
    min-width:0 !important;
  }

  #analise .ai-score,
  #analise .ai-score p,
  #analise .ai-score h3{
    text-align:center !important;
  }

  #analise .ai-metric-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  #analise .ai-metric-top span{
    min-width:0 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  #analise .ai-metric-top b{
    flex:0 0 auto !important;
    text-align:right !important;
  }

  #analise .ai-metrics > .ai-section{
    text-align:center !important;
  }

  #analise .ai-metrics > .ai-section h3,
  #analise .ai-metrics > .ai-section p{
    text-align:center !important;
  }

  @media (max-width:1100px){
    #analise .ai-modern-layout{
      grid-template-columns:1fr !important;
    }
    #analise .ai-metrics{
      position:static !important;
    }
  }

  @media (max-width:720px){
    #analise{
      padding:18px 12px 32px !important;
    }
    #analise .top{
      align-items:flex-start !important;
      gap:12px !important;
    }
    #analise .top .btn{
      width:100% !important;
      justify-content:center !important;
    }
    #analise .ai-panel{
      border-radius:18px !important;
      padding:16px !important;
    }
    #analise .ai-head{
      align-items:flex-start !important;
    }
    #analise .ai-avatar{
      width:46px !important;
      height:46px !important;
      border-radius:15px !important;
      flex:0 0 46px !important;
    }
    #analise .ai-head h2{
      font-size:20px !important;
    }
    #analise .ai-grid-2{
      grid-template-columns:1fr !important;
    }
    #analise .ai-score-ring{
      width:132px !important;
      height:132px !important;
    }
    #analise .ai-score-ring div{
      width:88px !important;
      height:88px !important;
    }
  }

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== v124-questionario-15-etapas-fix ===== */
#questionario .q-tabs{grid-template-columns:repeat(7,minmax(110px,1fr))!important;overflow-x:visible!important;gap:8px!important;}
#questionario .q-tabs span{white-space:nowrap!important;}
@media(max-width:1100px){#questionario .q-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:700px){#questionario .q-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte6-questionario-layout-fix ===== */
/* Correção limpa: mantém o design anterior, só organiza abas e opções */
#questionario .q-wrap{
  max-width:1180px!important;
  width:calc(100% - 32px)!important;
  margin:0 auto!important;
  overflow:hidden!important;
}
#questionario .q-tabs{
  display:grid!important;
  grid-template-columns:repeat(15,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  overflow:visible!important;
  margin:16px 0 24px!important;
}
#questionario .q-tabs span{
  min-width:0!important;
  min-height:36px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.08!important;
  padding:6px 4px!important;
  font-size:10.5px!important;
  border-radius:999px!important;
}
#questionario .q-card{
  overflow:hidden!important;
}
#qContent .pregnancy-grid-fix{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  max-width:760px!important;
}
#qContent .pregnancy-grid-fix .q-option{
  min-height:56px!important;
  height:56px!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:0 18px!important;
  font-size:15px!important;
  line-height:1.2!important;
  overflow:visible!important;
}
#qContent .treatment-grid-fix{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(5,56px)!important;
  gap:14px 18px!important;
  width:100%!important;
}
#qContent .treatment-grid-fix .treatment-pill{
  min-height:56px!important;
  height:56px!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:0 18px!important;
  font-size:15px!important;
  line-height:1.2!important;
  text-align:center!important;
  overflow:visible!important;
}
#qContent .pregnancy-grid-fix .q-option:before,
#qContent .treatment-grid-fix .treatment-pill:before{
  position:static!important;
  flex:0 0 auto!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
}
@media(max-width:1180px){
  #questionario .q-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  #questionario .q-tabs span{font-size:11px!important;}
}
@media(max-width:760px){
  #questionario .q-wrap{width:100%!important;}
  #questionario .q-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  #qContent .pregnancy-grid-fix,
  #qContent .treatment-grid-fix{grid-template-columns:1fr!important;grid-template-rows:auto!important;}
  #qContent .treatment-grid-fix .treatment-pill{height:auto!important;min-height:54px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte8-questionario-layout-definitivo ===== */
/* Parte 8 - correção definitiva do layout do Questionário */
#questionario .q-wrap{
  max-width:1180px !important;
  width:calc(100% - 32px) !important;
  margin:0 auto !important;
  overflow:visible !important;
}

/* Etapas sempre em 2 linhas no desktop: 8 em cima e 7 embaixo */
#questionario .q-tabs,
#questionario .q-tabs.v66-long,
.q-tabs.v66-long{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  grid-auto-rows:minmax(42px,auto) !important;
  gap:8px !important;
  width:100% !important;
  overflow:visible !important;
  margin:16px 0 24px !important;
}
#questionario .q-tabs span,
#questionario .q-tabs.v66-long span,
.q-tabs.v66-long span{
  min-width:0 !important;
  width:100% !important;
  min-height:42px !important;
  height:auto !important;
  padding:7px 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  line-height:1.1 !important;
  font-size:11px !important;
  border-radius:999px !important;
}

/* Gestação: 2x2 alinhado, todos os cards do mesmo tamanho */
#qContent .pregnancy-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,56px) !important;
  gap:14px 18px !important;
  width:100% !important;
  max-width:760px !important;
  align-items:stretch !important;
}
#qContent .pregnancy-grid-fix .q-option{
  height:56px !important;
  min-height:56px !important;
  width:100% !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px !important;
  text-align:left !important;
  line-height:1.2 !important;
  white-space:normal !important;
}
#qContent .pregnancy-grid-fix .q-option::before{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
}

/* Tratamentos: 3 colunas, distribuição 4 / 3 / 3 */
#qContent .treatment-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:repeat(4,56px) !important;
  grid-auto-flow:row !important;
  gap:14px 16px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:stretch !important;
}
#qContent .treatment-grid-fix .treatment-pill{
  height:56px !important;
  min-height:56px !important;
  width:100% !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px !important;
  text-align:left !important;
  line-height:1.2 !important;
  white-space:normal !important;
  overflow:hidden !important;
}
#qContent .treatment-grid-fix .treatment-pill::before{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
}
#qContent .treatment-grid-fix .treatment-pill:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(2){grid-column:1 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(3){grid-column:1 !important;grid-row:3 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(4){grid-column:1 !important;grid-row:4 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(5){grid-column:2 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(6){grid-column:2 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(7){grid-column:2 !important;grid-row:3 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(8){grid-column:3 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(9){grid-column:3 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(10){grid-column:3 !important;grid-row:3 !important;}

@media(max-width:900px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,.q-tabs.v66-long{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  #qContent .treatment-grid-fix{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:auto !important;}
  #qContent .treatment-grid-fix .treatment-pill{grid-column:auto !important;grid-row:auto !important;}
}
@media(max-width:640px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,.q-tabs.v66-long{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  #qContent .pregnancy-grid-fix,#qContent .treatment-grid-fix{grid-template-columns:1fr !important;grid-template-rows:auto !important;max-width:none !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte9-gestacao-modelo-final ===== */
/* Parte 9 - Gestação exatamente no modelo: 2 colunas x 2 linhas, alinhada e compacta */
#questionario .q-card{
  max-width:1000px !important;
  margin:0 auto !important;
}
#qContent .pregnancy-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows:repeat(2, 56px) !important;
  gap:14px 16px !important;
  width:100% !important;
  max-width:none !important;
  margin-top:10px !important;
  align-items:stretch !important;
}
#qContent .pregnancy-grid-fix .q-option{
  position:relative !important;
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px 0 20px !important;
  margin:0 !important;
  text-align:left !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  border-radius:14px !important;
}
#qContent .pregnancy-grid-fix .q-option::before{
  content:'' !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  border:2px solid #b8cde1 !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:none !important;
  display:block !important;
  box-sizing:border-box !important;
}
#qContent .pregnancy-grid-fix .q-option.on::before{
  border-color:#0b99f0 !important;
  background:radial-gradient(circle at center,#0b99f0 0 45%,#dff4ff 47% 100%) !important;
  box-shadow:0 0 0 4px rgba(11,153,240,.12) !important;
}
#qContent .pregnancy-grid-fix .q-option::after{
  display:none !important;
  content:none !important;
}
#qContent .pregnancy-grid-fix .q-option{
  font-size:14px !important;
  font-weight:800 !important;
  color:#071e53 !important;
}
@media(max-width:640px){
  #qContent .pregnancy-grid-fix{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
  }
  #qContent .pregnancy-grid-fix .q-option{
    height:56px !important;
    max-height:none !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte11-ajuste-etapas-2-linhas ===== */
/* Parte 11 - Ajuste fino da barra de etapas: 8 em cima / 7 embaixo, sem sobreposição */
#questionario .q-tabs,
#questionario .q-tabs.v66-long,
#questionario .q-tabs.v65-long{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  grid-auto-rows:42px !important;
  gap:9px 10px !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  margin:14px 0 22px !important;
  padding:0 !important;
  align-items:stretch !important;
}
#questionario .q-tabs span,
#questionario .q-tabs.v66-long span,
#questionario .q-tabs.v65-long span{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 9px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  line-height:1.08 !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  box-sizing:border-box !important;
}
#questionario .q-tabs span:nth-child(10){font-size:10.5px !important;word-break:normal !important;}

/* Gestação: 2x2 correto e com os 4 botões visíveis */
#qContent .pregnancy-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,56px) !important;
  gap:14px 16px !important;
  width:100% !important;
  max-width:760px !important;
  margin-top:12px !important;
}
#qContent .pregnancy-grid-fix .q-option{
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px 0 50px !important;
  text-align:left !important;
  box-sizing:border-box !important;
  position:relative !important;
  overflow:visible !important;
}
#qContent .pregnancy-grid-fix .q-option:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(2){grid-column:2 !important;grid-row:1 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(3){grid-column:1 !important;grid-row:2 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(4){grid-column:2 !important;grid-row:2 !important;}

@media(max-width:1180px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,#questionario .q-tabs.v65-long{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,#questionario .q-tabs.v65-long{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows:40px !important;
  }
  #qContent .pregnancy-grid-fix{grid-template-columns:1fr !important;grid-template-rows:auto !important;max-width:none !important;}
  #qContent .pregnancy-grid-fix .q-option{grid-column:auto !important;grid-row:auto !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte14-tratamentos-sem-tremida-css ===== */
/* Parte 14 - corrige tremida SOMENTE na aba Tratamentos */
#qContent .treatment-grid-fix,
#qContent .treatment-grid-fix *{
  transition:none !important;
  animation:none !important;
  transform:none !important;
}
#qContent .treatment-grid-fix .treatment-pill,
#qContent .treatment-grid-fix .treatment-pill.on{
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  box-sizing:border-box !important;
  border-width:1px !important;
  padding:0 18px !important;
  margin:0 !important;
  font-weight:850 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
#qContent .treatment-grid-fix .treatment-pill.on{
  border-color:#1496ff !important;
  background:#f8fdff !important;
}
#qContent .treatment-grid-fix .treatment-pill::before,
#qContent .treatment-grid-fix .treatment-pill.on::before{
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  transform:none !important;
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte17-ajuste-final-investimento-urgencia-tabs ===== */
/* Parte 17 - alinhamento final sem quebrar o layout atual */
#qBody .invest-grid-fix,
#qBody .urgency-grid-fix,
#qContent .invest-grid-fix,
#qContent .urgency-grid-fix{
  align-items:stretch!important;
}

#qBody .invest-grid-fix .invest-option,
#qBody .urgency-grid-fix .urgency-option,
#qContent .invest-grid-fix .invest-option,
#qContent .urgency-grid-fix .urgency-option{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  box-sizing:border-box!important;
  padding:0 18px 0 64px!important;
  border:2px solid #d7e6f2!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#071c54!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:0!important;
  gap:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease!important;
  animation:none!important;
}

#qBody .invest-grid-fix .invest-option.on,
#qBody .urgency-grid-fix .urgency-option.on,
#qContent .invest-grid-fix .invest-option.on,
#qContent .urgency-grid-fix .urgency-option.on{
  border-color:#168fff!important;
  background:#f8fdff!important;
  color:#071c54!important;
  font-size:16px!important;
  font-weight:800!important;
  padding:0 18px 0 64px!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  box-shadow:none!important;
}

#qBody .invest-grid-fix .invest-option::before,
#qBody .urgency-grid-fix .urgency-option::before,
#qContent .invest-grid-fix .invest-option::before,
#qContent .urgency-grid-fix .urgency-option::before{
  content:''!important;
  position:absolute!important;
  left:22px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:block!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  box-sizing:border-box!important;
  border:2px solid #b8cce0!important;
  border-radius:999px!important;
  background:#fff!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  flex:none!important;
  transition:background-color .12s ease,border-color .12s ease!important;
  animation:none!important;
}

#qBody .invest-grid-fix .invest-option.on::before,
#qBody .urgency-grid-fix .urgency-option.on::before,
#qContent .invest-grid-fix .invest-option.on::before,
#qContent .urgency-grid-fix .urgency-option.on::before{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  border-color:#159cff!important;
  background:radial-gradient(circle at center,#129df1 0 42%,#ffffff 46% 100%)!important;
  box-shadow:0 0 0 5px rgba(18,157,241,.12)!important;
  transform:translateY(-50%)!important;
}

/* Barra das 15 etapas: mantém 2 linhas, nomes legíveis e sem texto caindo */
#qTabs.q-tabs,
.q-tabs{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(104px,1fr))!important;
  grid-auto-rows:44px!important;
  gap:10px 10px!important;
  overflow:visible!important;
  align-items:stretch!important;
}
#qTabs.q-tabs span,
.q-tabs span{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.05!important;
  font-size:10.5px!important;
  padding:4px 8px!important;
  border-radius:18px!important;
}
#qTabs.q-tabs span:nth-child(10),
.q-tabs span:nth-child(10){font-size:10px!important;line-height:1!important;}
@media(max-width:1100px){
  #qTabs.q-tabs,.q-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  #qTabs.q-tabs,.q-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== correcao-limpa-investimento-urgencia-e-tabs-final ===== */
/* FINAL LIMPO - Investimento/Urgência reconstruído sem dupla bolinha e sem descer */
#questionario #qContent .invest-grid-fix,
#questionario #qContent .urgency-grid-fix,
#qContent .invest-grid-fix,
#qContent .urgency-grid-fix{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}

#questionario #qContent .invest-option,
#questionario #qContent .urgency-option,
#qContent .invest-option,
#qContent .urgency-option{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  margin:0!important;
  padding:0 18px 0 56px!important;
  border:2px solid #d7e6f2!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#071c54!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transform:none!important;
  scale:1!important;
  transition:border-color .12s ease,background .12s ease!important;
  animation:none!important;
}

#questionario #qContent .invest-option:hover,
#questionario #qContent .urgency-option:hover,
#qContent .invest-option:hover,
#qContent .urgency-option:hover{
  transform:none!important;
  scale:1!important;
  box-shadow:none!important;
}

#questionario #qContent .invest-option::before,
#questionario #qContent .urgency-option::before,
#qContent .invest-option::before,
#qContent .urgency-option::before{
  content:''!important;
  position:absolute!important;
  left:20px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  box-sizing:border-box!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  border:2px solid #b8cce0!important;
  border-radius:50%!important;
  background:#fff!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  display:block!important;
  pointer-events:none!important;
  box-shadow:none!important;
}

#questionario #qContent .invest-option::after,
#questionario #qContent .urgency-option::after,
#qContent .invest-option::after,
#qContent .urgency-option::after{
  content:''!important;
  position:absolute!important;
  left:26px!important;
  top:50%!important;
  transform:translateY(-50%) scale(0)!important;
  width:10px!important;
  height:10px!important;
  min-width:10px!important;
  min-height:10px!important;
  border-radius:50%!important;
  background:#129df1!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  pointer-events:none!important;
  box-shadow:none!important;
  transition:none!important;
}

#questionario #qContent .invest-option.on,
#questionario #qContent .urgency-option.on,
#qContent .invest-option.on,
#qContent .urgency-option.on{
  border-color:#168fff!important;
  background:#f8fdff!important;
  color:#071c54!important;
  transform:none!important;
  scale:1!important;
  box-shadow:none!important;
}

#questionario #qContent .invest-option.on::before,
#questionario #qContent .urgency-option.on::before,
#qContent .invest-option.on::before,
#qContent .urgency-option.on::before{
  border-color:#159cff!important;
  background:#fff!important;
  box-shadow:0 0 0 5px rgba(18,157,241,.12)!important;
}

#questionario #qContent .invest-option.on::after,
#questionario #qContent .urgency-option.on::after,
#qContent .invest-option.on::after,
#qContent .urgency-option.on::after{
  transform:translateY(-50%) scale(1)!important;
}

/* FINAL LIMPO - abas do questionário sem quebrar Prótese/Aparelho */
#questionario .q-tabs,
#questionario .q-tabs.v65-long,
#questionario .q-tabs.v66-long{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(118px,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  overflow:visible!important;
}

#questionario .q-tabs span,
#questionario .q-tabs.v65-long span,
#questionario .q-tabs.v66-long span{
  height:42px!important;
  min-height:42px!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1!important;
  font-size:11px!important;
}

#questionario .q-tabs span:nth-child(10),
#questionario .q-tabs.v65-long span:nth-child(10),
#questionario .q-tabs.v66-long span:nth-child(10){
  font-size:10px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

@media(max-width:900px){
  #questionario #qContent .invest-grid-fix,
  #questionario #qContent .urgency-grid-fix,
  #qContent .invest-grid-fix,
  #qContent .urgency-grid-fix{grid-template-columns:1fr!important;}
  #questionario .q-tabs,
  #questionario .q-tabs.v65-long,
  #questionario .q-tabs.v66-long{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v121-pdf-relatorios-css ===== */
@media print{
  @page{size:A4;margin:12mm;}
  html,body{background:#fff!important;}
  body *{visibility:hidden!important;}
  #relatorios,#relatorios *{visibility:visible!important;}
  #relatorios{
    display:block!important;
    position:absolute!important;
    inset:0 auto auto 0!important;
    width:100%!important;
    max-width:none!important;
    background:#fff!important;
    padding:0!important;
    margin:0!important;
  }
  .side,header,.report-filter-card,.report-top .btn,.nav,.foot{display:none!important;}
  .main{margin-left:0!important;width:100%!important;}
  .content{padding:0!important;}
  #relatorios .top,#relatorios .report-top{margin-bottom:12px!important;}
  #relatorios .card{
    box-shadow:none!important;
    border:1px solid #dcebf2!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #relatorios .report-cards-list{gap:8px!important;}
  #relatorios .report-detail-card{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    box-shadow:none!important;
  }
  #relatorios .report-bars{height:150px!important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== fix-v132-planos-modal-overlay ===== */
/* v132 - Contratar plano abre uma tela/modal de planos, não apenas uma aba simples */
#planos .plans-selection-area{
  position:fixed!important;
  inset:0!important;
  z-index:9998!important;
  display:none!important;
  margin:0!important;
  padding:32px!important;
  background:rgba(5,15,38,.58)!important;
  backdrop-filter:blur(10px)!important;
  overflow:auto!important;
}
#planos.plans-open .plans-selection-area{display:block!important}
#planos .plans-selection-inner{
  width:min(1180px,100%);
  margin:0 auto;
  background:#f8fbff;
  border:1px solid rgba(216,232,243,.95);
  border-radius:30px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  padding:24px;
}
#planos .plans-selection-area .plans-section-head{
  position:sticky;top:0;z-index:2;
  background:#f8fbff;
  padding-bottom:14px;
  border-bottom:1px solid #e4eef5;
  margin:0 0 18px!important;
}
#planos .plans-selection-area .plans-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#planos .btn-light-mini{display:inline-flex;align-items:center;gap:8px}
body.plan-modal-open{overflow:hidden!important}
@media(max-width:980px){#planos .plans-selection-area{padding:18px!important}#planos .plans-selection-area .plans-grid{grid-template-columns:1fr!important}#planos .plans-selection-inner{padding:18px;border-radius:24px}}


/* ===== fix-v133-planos-abertura-real ===== */
/* v133 - Correção definitiva: botão Contratar plano abre a tela de planos */
#plansSelectionArea{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none!important;
  margin:0!important;
  padding:32px!important;
  background:rgba(5,15,38,.62)!important;
  backdrop-filter:blur(10px)!important;
  overflow:auto!important;
}
#plansSelectionArea.is-open{display:block!important;}
#plansSelectionArea .plans-selection-inner{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  background:#f8fbff!important;
  border:1px solid rgba(216,232,243,.95)!important;
  border-radius:30px!important;
  box-shadow:0 30px 80px rgba(0,0,0,.22)!important;
  padding:24px!important;
}
#plansSelectionArea .plans-section-head{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:#f8fbff!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #e4eef5!important;
  margin:0 0 18px!important;
}
#plansSelectionArea .plans-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
body.plan-modal-open{overflow:hidden!important;}
@media(max-width:980px){#plansSelectionArea{padding:18px!important}#plansSelectionArea .plans-grid{grid-template-columns:1fr!important}#plansSelectionArea .plans-selection-inner{padding:18px!important;border-radius:24px!important}}


/* ===== fix-v134-meu-plano-rota-estavel ===== */
/* v134 - Mantém Meu Plano aberto sem voltar sozinho para o Dashboard */
#planos.page.active{display:block!important;}


/* ===== vPaulo-IA-so-atendimento-style ===== */
#analise .ai-avatar.has-photo{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;box-shadow:0 10px 26px rgba(14,165,200,.18)!important;border:1px solid #cfeaf3!important;}
  #analise .ai-empty-avatar{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#0ea5c8,#6ee7b7);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px;overflow:hidden;flex:0 0 64px;}
  #analise .ai-empty-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
  #analise .ai-empty-card{max-width:860px;margin:0 auto;}
  #analise .ai-empty-card h2{margin:0;color:#102447;font-size:24px;}
  #analise .ai-empty-card p{color:#475569!important;font-weight:650;line-height:1.55;}


/* ===== vPaulo-IA-nivel1-regras-final ===== */
/* IA Nível 1 - análise por regras, sem API externa */
#analise .ai-empty-card,#analise .ai-level1-card{max-width:1080px;margin:0 auto}
#analise .ai-photo-avatar{width:70px;height:70px;border-radius:22px;background:linear-gradient(135deg,#0ea5c8,#6ee7b7);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px;overflow:hidden;flex:0 0 70px;border:1px solid #cfeaf3;box-shadow:0 12px 28px rgba(14,165,200,.14)}
#analise .ai-photo-avatar img{width:100%;height:100%;object-fit:cover;display:block}
#analise .ai-level1-main{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
#analise .ai-level1-panel{background:#fff;border:1px solid #dcecf3;border-radius:24px;padding:22px;box-shadow:0 10px 32px rgba(13,52,80,.06)}
#analise .ai-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
#analise .ai-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
#analise .ai-tag{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eaf8fc;color:#07506b;font-size:12px;font-weight:850;border:1px solid #bfeaf5}
#analise .ai-tag.green{background:#e9fbf3;color:#08734f;border-color:#bcebd6}
#analise .ai-tag.warn{background:#fff4dc;color:#8a5a00;border-color:#f2d494}
#analise .ai-tag.red{background:#ffe9e4;color:#ad3d2c;border-color:#ffc5bb}
#analise .ai-level1-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
#analise .ai-level1-mini{border:1px solid #dcecf3;border-radius:18px;background:#f8fdff;padding:14px}
#analise .ai-level1-mini span{display:block;color:#60708d;font-size:12px;font-weight:800;margin-bottom:5px}
#analise .ai-level1-mini b{display:block;color:#102447;font-size:15px;line-height:1.25}
#analise .ai-section{border:1px solid #e0eef5;border-radius:18px;background:#fbfeff;padding:15px;margin-top:12px}
#analise .ai-section h3{margin:0 0 8px;color:#102447;font-size:16px}
#analise .ai-section p{margin:0;color:#425064;line-height:1.5;font-weight:600}
#analise .ai-alert{background:#fff9ef!important;border-color:#ffd7a8!important}
#analise .ai-success{background:#f2fffa!important;border-color:#bdeedd!important}
#analise .ai-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
#analise .ai-list li{display:flex;gap:8px;align-items:flex-start;color:#334155;font-weight:650;line-height:1.35}
#analise .ai-score-center{text-align:center}
#analise .ai-score-ring{width:168px;height:168px;margin:8px auto 14px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#0ea5c8 0 0%,#e6eef4 0% 100%)}
#analise .ai-score-ring>div{width:116px;height:116px;border-radius:50%;background:#fff;display:grid;place-items:center;border:1px solid #e6eef4}
#analise .ai-score-ring strong{font-size:36px;color:#102447}
#analise .ai-metric{margin-top:14px}
#analise .ai-metric-top{display:flex;justify-content:space-between;font-size:13px;color:#334155;font-weight:800;margin-bottom:7px}
#analise .ai-metric-bar{height:8px;background:#e3eef4;border-radius:999px;overflow:hidden}
#analise .ai-metric-bar span{display:block;height:100%;background:#0ea5c8;border-radius:999px}
@media(max-width:900px){#analise .ai-level1-main{grid-template-columns:1fr}#analise .ai-level1-grid{grid-template-columns:1fr}}


/* ===== vPaulo-fix-login-dashboard-white-screen-style ===== */
body.is-authenticated #login,
  body.is-authenticated #landingPage{display:none!important;visibility:hidden!important;}
  body.is-authenticated #app{display:flex!important;visibility:visible!important;opacity:1!important;min-height:100vh!important;}
  body.is-authenticated{background:#f8fbfd!important;overflow:auto!important;}


/* ===== v122-login-no-scroll-fixed ===== */
/* v122 - Login sem rolagem e sem invadir/cortar errado */
html,
body{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  overflow-x:hidden !important;
}

body:not(.is-authenticated){
  height:100dvh !important;
  min-height:100dvh !important;
  overflow:hidden !important;
  background:#f4f8fb !important;
}

body:not(.is-authenticated) #login.login{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:minmax(560px, 1fr) minmax(520px, 1fr) !important;
  background:#f4f8fb !important;
  overflow:hidden !important;
  z-index:9999 !important;
}

body:not(.is-authenticated) #login .login-left{
  width:100% !important;
  height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
  position:relative !important;
  display:block !important;
  background:#0ea5c8 !important;
}

body:not(.is-authenticated) #login .login-cover-img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:left center !important;
  display:block !important;
}

body:not(.is-authenticated) #login .login-right{
  height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(18px, 4vw, 54px) !important;
  background:#f4f8fb !important;
}

body:not(.is-authenticated) #login .login-right > div{
  width:min(100%, 430px) !important;
  max-width:430px !important;
  max-height:calc(100dvh - 36px) !important;
  overflow:hidden !important;
  padding:clamp(24px, 3vw, 42px) !important;
}

body:not(.is-authenticated) #login .login-right .brand{
  margin-bottom:clamp(22px, 4vh, 34px) !important;
}

body:not(.is-authenticated) #login .login-right h1{
  font-size:clamp(27px, 2.6vw, 34px) !important;
  margin-bottom:14px !important;
}

body:not(.is-authenticated) #login .login-right p{
  margin-bottom:24px !important;
}

body:not(.is-authenticated) #login .login-right .input{
  height:48px !important;
  margin-bottom:18px !important;
}

body:not(.is-authenticated) #login .login-right .btn{
  height:48px !important;
}

@media(max-width:1120px){
  body:not(.is-authenticated) #login.login{
    grid-template-columns:minmax(480px, .95fr) minmax(440px, 1fr) !important;
  }
  body:not(.is-authenticated) #login .login-cover-img{
    object-position:center center !important;
  }
}

@media(max-width:900px){
  body:not(.is-authenticated){
    overflow:auto !important;
  }
  body:not(.is-authenticated) #login.login{
    position:fixed !important;
    grid-template-columns:1fr !important;
    height:100dvh !important;
    overflow:hidden !important;
  }
  body:not(.is-authenticated) #login .login-left{
    display:none !important;
  }
  body:not(.is-authenticated) #login .login-right{
    height:100dvh !important;
    padding:18px !important;
    overflow:hidden !important;
  }
  body:not(.is-authenticated) #login .login-right > div{
    max-width:460px !important;
    max-height:calc(100dvh - 36px) !important;
    padding:24px 20px !important;
  }
}

@media(max-height:680px) and (min-width:901px){
  body:not(.is-authenticated) #login .login-right > div{
    padding:24px !important;
  }
  body:not(.is-authenticated) #login .login-right .brand{
    margin-bottom:18px !important;
  }
  body:not(.is-authenticated) #login .login-right h1{
    font-size:28px !important;
    margin-bottom:10px !important;
  }
  body:not(.is-authenticated) #login .login-right p{
    margin-bottom:16px !important;
  }
  body:not(.is-authenticated) #login .login-right .input,
  body:not(.is-authenticated) #login .login-right .btn{
    height:44px !important;
    margin-bottom:14px !important;
  }
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte10-layout-questionario-forcado ===== */
/* Parte 10 - Correção forçada do layout do questionário, aplicada por último */
#questionario .q-wrap{
  max-width:1180px !important;
  margin:0 auto !important;
  overflow:hidden !important;
}

/* Etapas em 2 linhas sem estourar a margem */
#questionario .q-tabs,
#questionario .q-tabs.v66-long,
#questionario .q-tabs.v65-long{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(88px,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  white-space:normal !important;
  margin:14px 0 22px !important;
}
#questionario .q-tabs span,
#questionario .q-tabs.v66-long span,
#questionario .q-tabs.v65-long span{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  height:36px !important;
  padding:0 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1.05 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  font-size:11px !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
}

/* Gestação exatamente 2x2 */
#qContent .field:has(.pregnancy-grid-fix){
  width:100% !important;
  max-width:760px !important;
}
#qContent .pregnancy-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,56px) !important;
  grid-auto-flow:row !important;
  gap:14px 16px !important;
  width:100% !important;
  max-width:760px !important;
  margin:12px 0 0 0 !important;
  align-items:stretch !important;
}
#qContent .pregnancy-grid-fix .q-option{
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  padding:0 18px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  line-height:1 !important;
}
#qContent .pregnancy-grid-fix .q-option:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(2){grid-column:2 !important;grid-row:1 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(3){grid-column:1 !important;grid-row:2 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(4){grid-column:2 !important;grid-row:2 !important;}
#qContent .pregnancy-grid-fix .q-option::before{
  position:static !important;
  content:'' !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  border:2px solid #b8cde1 !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:none !important;
  display:block !important;
  box-sizing:border-box !important;
  transform:none !important;
  left:auto !important;
  top:auto !important;
}
#qContent .pregnancy-grid-fix .q-option.on::before{
  border-color:#0b99f0 !important;
  background:radial-gradient(circle at center,#0b99f0 0 45%,#dff4ff 47% 100%) !important;
  box-shadow:0 0 0 4px rgba(11,153,240,.12) !important;
}
#qContent .pregnancy-grid-fix .q-option::after{display:none !important;content:none !important;}

/* Tratamentos: 3 colunas com nomes no canto/esquerda */
#qContent .treatment-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:repeat(4,56px) !important;
  gap:14px 16px !important;
  width:100% !important;
  max-width:100% !important;
}
#qContent .treatment-grid-fix .treatment-pill{
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}
#qContent .treatment-grid-fix .treatment-pill::before{
  position:static !important;
  flex:0 0 18px !important;
  width:18px !important;height:18px !important;
  margin:0 !important;transform:none !important;
  left:auto !important;top:auto !important;
}
#qContent .treatment-grid-fix .treatment-pill:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(2){grid-column:1 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(3){grid-column:1 !important;grid-row:3 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(4){grid-column:1 !important;grid-row:4 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(5){grid-column:2 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(6){grid-column:2 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(7){grid-column:2 !important;grid-row:3 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(8){grid-column:3 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(9){grid-column:3 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(10){grid-column:3 !important;grid-row:3 !important;}

@media(max-width:980px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,#questionario .q-tabs.v65-long{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  #qContent .treatment-grid-fix{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:auto !important;}
  #qContent .treatment-grid-fix .treatment-pill{grid-column:auto !important;grid-row:auto !important;}
}
@media(max-width:640px){
  #questionario .q-tabs,#questionario .q-tabs.v66-long,#questionario .q-tabs.v65-long{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  #qContent .pregnancy-grid-fix,#qContent .treatment-grid-fix{grid-template-columns:1fr !important;grid-template-rows:auto !important;max-width:none !important;}
  #qContent .pregnancy-grid-fix .q-option,#qContent .treatment-grid-fix .treatment-pill{grid-column:auto !important;grid-row:auto !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte12-questionario-layout-real-final ===== */
/* Barra de etapas: 15 botões em 2 linhas limpas */
#questionario .q-wrap{
  max-width:1180px !important;
  margin:0 auto !important;
  overflow:visible !important;
}
#questionario .q-tabs,
#questionario .q-tabs.v65-long,
#questionario .q-tabs.v66-long{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  grid-auto-rows:42px !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  margin:14px 0 22px !important;
  overflow:visible !important;
  align-items:stretch !important;
}
#questionario .q-tabs span,
#questionario .q-tabs.v65-long span,
#questionario .q-tabs.v66-long span{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1.05 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  font-size:11px !important;
  font-weight:850 !important;
  border-radius:18px !important;
  box-sizing:border-box !important;
}
#questionario .q-tabs span:nth-child(10){font-size:10px !important;line-height:1 !important;}

/* Gestação: exatamente 2x2, todos os 4 botões visíveis */
#qContent .field:has(.pregnancy-grid-fix){
  width:100% !important;
  max-width:100% !important;
}
#qContent .pregnancy-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,56px) !important;
  gap:14px 16px !important;
  width:100% !important;
  max-width:760px !important;
  margin:12px 0 0 0 !important;
  align-items:stretch !important;
  justify-items:stretch !important;
}
#qContent .pregnancy-grid-fix .q-option{
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  line-height:1 !important;
  position:relative !important;
}
#qContent .pregnancy-grid-fix .q-option:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(2){grid-column:2 !important;grid-row:1 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(3){grid-column:1 !important;grid-row:2 !important;}
#qContent .pregnancy-grid-fix .q-option:nth-child(4){grid-column:2 !important;grid-row:2 !important;}
#qContent .pregnancy-grid-fix .q-option::before{
  position:static !important;
  content:'' !important;
  display:block !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  padding:0 !important;
  border:2px solid #b8cde1 !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  transform:none !important;
  left:auto !important;
  top:auto !important;
}
#qContent .pregnancy-grid-fix .q-option.on::before{
  border-color:#0b99f0 !important;
  background:radial-gradient(circle at center,#0b99f0 0 45%,#dff4ff 47% 100%) !important;
  box-shadow:0 0 0 4px rgba(11,153,240,.12) !important;
}
#qContent .pregnancy-grid-fix .q-option::after{display:none !important;content:none !important;}

/* Tratamentos: 3 colunas, primeira 4 itens, segunda 3, terceira 3 */
#qContent .treatment-grid-fix{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:repeat(4,56px) !important;
  gap:14px 16px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:stretch !important;
}
#qContent .treatment-grid-fix .treatment-pill{
  width:100% !important;
  height:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}
#qContent .treatment-grid-fix .treatment-pill::before{
  position:static !important;
  content:'' !important;
  display:block !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  left:auto !important;
  top:auto !important;
}
#qContent .treatment-grid-fix .treatment-pill:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(2){grid-column:1 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(3){grid-column:1 !important;grid-row:3 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(4){grid-column:1 !important;grid-row:4 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(5){grid-column:2 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(6){grid-column:2 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(7){grid-column:2 !important;grid-row:3 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(8){grid-column:3 !important;grid-row:1 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(9){grid-column:3 !important;grid-row:2 !important;}
#qContent .treatment-grid-fix .treatment-pill:nth-child(10){grid-column:3 !important;grid-row:3 !important;}

@media(max-width:980px){
  #questionario .q-tabs,#questionario .q-tabs.v65-long,#questionario .q-tabs.v66-long{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  #qContent .treatment-grid-fix{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:auto !important;}
  #qContent .treatment-grid-fix .treatment-pill{grid-column:auto !important;grid-row:auto !important;}
}
@media(max-width:640px){
  #questionario .q-tabs,#questionario .q-tabs.v65-long,#questionario .q-tabs.v66-long{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  #qContent .pregnancy-grid-fix,#qContent .treatment-grid-fix{grid-template-columns:1fr !important;grid-template-rows:auto !important;max-width:none !important;}
  #qContent .pregnancy-grid-fix .q-option,#qContent .treatment-grid-fix .treatment-pill{grid-column:auto !important;grid-row:auto !important;}
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte13-anti-tremida-opcoes ===== */
/* Parte 13 - remove tremida ao selecionar opções sem mudar layout */
#qContent .pregnancy-grid-fix,
#qContent .pregnancy-grid-fix .q-option,
#qContent .pregnancy-grid-fix .q-option::before,
#qContent .pregnancy-grid-fix .q-option.on::before,
#qContent .treatment-grid-fix,
#qContent .treatment-grid-fix .treatment-pill,
#qContent .treatment-grid-fix .treatment-pill::before,
#qContent .treatment-grid-fix .treatment-pill.on::before{
  transition:none !important;
  animation:none !important;
  transform:none !important;
}
#qContent .pregnancy-grid-fix .q-option,
#qContent .pregnancy-grid-fix .q-option.on{
  border-width:1px !important;
  box-shadow:none !important;
  font-weight:800 !important;
}
#qContent .pregnancy-grid-fix .q-option.on{
  border-color:#1496ff !important;
  background:#f8fdff !important;
}
#qContent .pregnancy-grid-fix .q-option.on::before{
  box-shadow:0 0 0 3px rgba(11,153,240,.10) !important;
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte16-investimento-urgencia-radio-fixo ===== */
/* Parte 16 - correção real da tremida em Investimento e Urgência.
   Mantém o card e o radio sempre com o mesmo tamanho; só muda a cor. */
#qBody .invest-grid-fix .invest-option,
#qBody .urgency-grid-fix .urgency-option,
#qContent .invest-grid-fix .invest-option,
#qContent .urgency-grid-fix .urgency-option{
  box-sizing:border-box!important;
  width:100%!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  padding:0 18px!important;
  border:2px solid #d7e6f2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  margin:0!important;
  color:#071c54!important;
  font-weight:800!important;
  line-height:1!important;
  transform:none!important;
  scale:1!important;
  transition:none!important;
  animation:none!important;
  will-change:auto!important;
}
#qBody .invest-grid-fix .invest-option.on,
#qBody .urgency-grid-fix .urgency-option.on,
#qContent .invest-grid-fix .invest-option.on,
#qContent .urgency-grid-fix .urgency-option.on{
  border-color:#168fff!important;
  background:#f8fdff!important;
  color:#071c54!important;
  font-weight:800!important;
  transform:none!important;
  scale:1!important;
  box-shadow:none!important;
}
#qBody .invest-grid-fix .invest-option:hover,
#qBody .urgency-grid-fix .urgency-option:hover,
#qContent .invest-grid-fix .invest-option:hover,
#qContent .urgency-grid-fix .urgency-option:hover{
  transform:none!important;
  scale:1!important;
}
#qBody .invest-grid-fix .invest-option::before,
#qBody .urgency-grid-fix .urgency-option::before,
#qContent .invest-grid-fix .invest-option::before,
#qContent .urgency-grid-fix .urgency-option::before{
  content:''!important;
  display:block!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  border:2px solid #b8cce0!important;
  background:#fff!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
#qBody .invest-grid-fix .invest-option.on::before,
#qBody .urgency-grid-fix .urgency-option.on::before,
#qContent .invest-grid-fix .invest-option.on::before,
#qContent .urgency-grid-fix .urgency-option.on::before{
  border-color:#159cff!important;
  background:radial-gradient(circle at center,#129df1 0 42%,#ffffff 46% 100%)!important;
  box-shadow:0 0 0 5px rgba(18,157,241,.12)!important;
  transform:none!important;
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== parte17-correcao-final-investimento-urgencia-alinhamento ===== */
/* Parte 17 - correção final: bolinha fixa à esquerda, texto alinhado e sem tremida */
#qBody .invest-grid-fix,
#qBody .urgency-grid-fix,
#qContent .invest-grid-fix,
#qContent .urgency-grid-fix{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}

#qBody .invest-grid-fix .invest-option,
#qBody .urgency-grid-fix .urgency-option,
#qContent .invest-grid-fix .invest-option,
#qContent .urgency-grid-fix .urgency-option{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0 18px 0 54px!important;
  margin:0!important;
  border:2px solid #d7e6f2!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#071c54!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-align:left!important;
  gap:0!important;
  transform:none!important;
  scale:1!important;
  transition:background .12s ease,border-color .12s ease!important;
  animation:none!important;
  will-change:auto!important;
}

#qBody .invest-grid-fix .invest-option::before,
#qBody .urgency-grid-fix .urgency-option::before,
#qContent .invest-grid-fix .invest-option::before,
#qContent .urgency-grid-fix .urgency-option::before{
  content:''!important;
  position:absolute!important;
  left:20px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:block!important;
  box-sizing:border-box!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  flex:0 0 22px!important;
  border-radius:999px!important;
  border:2px solid #b8cce0!important;
  background:#fff!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  pointer-events:none!important;
  transition:none!important;
  animation:none!important;
}

#qBody .invest-grid-fix .invest-option.on,
#qBody .urgency-grid-fix .urgency-option.on,
#qContent .invest-grid-fix .invest-option.on,
#qContent .urgency-grid-fix .urgency-option.on{
  border-color:#168fff!important;
  background:#f8fdff!important;
  color:#071c54!important;
  box-shadow:none!important;
  transform:none!important;
  scale:1!important;
}

#qBody .invest-grid-fix .invest-option.on::before,
#qBody .urgency-grid-fix .urgency-option.on::before,
#qContent .invest-grid-fix .invest-option.on::before,
#qContent .urgency-grid-fix .urgency-option.on::before{
  border-color:#159cff!important;
  background:radial-gradient(circle at center,#129df1 0 42%,#ffffff 46% 100%)!important;
  box-shadow:0 0 0 5px rgba(18,157,241,.12)!important;
}

#qBody .invest-grid-fix .invest-option:hover,
#qBody .urgency-grid-fix .urgency-option:hover,
#qContent .invest-grid-fix .invest-option:hover,
#qContent .urgency-grid-fix .urgency-option:hover{
  transform:none!important;
  scale:1!important;
}

@media(max-width:900px){
  #qBody .invest-grid-fix,
  #qBody .urgency-grid-fix,
  #qContent .invest-grid-fix,
  #qContent .urgency-grid-fix{
    grid-template-columns:1fr!important;
  }
}

/* v104 - Ícones modernos reais na aba Pacientes */
#pacientes .card.stat .ico.modern-icon,
#dentistas .card.stat .ico.modern-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#e8f8ff !important;
  color:#149fd2 !important;
}
#pacientes .card.stat .ico.modern-icon svg,
#dentistas .card.stat .ico.modern-icon svg{
  width:26px !important;
  height:26px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
#pacientes .card.stat .ico.waiting-icon{
  background:#f1edff !important;
  color:#5b42d6 !important;
}
#pacientes .card.stat .ico.converted-icon{
  background:#e8f9ef !important;
  color:#19a85a !important;
}
#pacientes .card.stat .ico.wallet-icon{
  background:#e9f8ef !important;
  color:#18a058 !important;
}

/* PDF icon adjustments */
.summary-card .card-icon,.metric-icon{width:44px!important;height:44px!important;font-size:22px!important}
.indicator-icon,.indicator-item .icon{width:40px!important;height:40px!important;font-size:22px!important;font-weight:700!important}


/* ===== chatgpt-cadastro-wide ===== */
body:not(.is-authenticated) #login .login-right{padding:12px!important}
body:not(.is-authenticated) #login .auth-card.register-mode{
width:min(1150px,95%)!important;
max-width:1150px!important;
border-radius:24px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .auth-row{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:14px!important;
}
body:not(.is-authenticated) #login .auth-card.register-mode .input{
height:52px!important;
}


/* ===== chatgpt-plan-buttons-glass-final ===== */
/* Ajuste real dos botões dos planos: efeito transparente/glass */
#planos .plan-card:not(.featured):not(.enterprise) .plan-action{
  background:linear-gradient(135deg, rgba(37,99,235,.08), rgba(37,99,235,.16)) !important;
  border:1px solid rgba(37,99,235,.42) !important;
  color:#155eef !important;
  font-weight:900 !important;
  box-shadow:0 10px 26px rgba(37,99,235,.10) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
#planos .plan-card:not(.featured):not(.enterprise) .plan-action:hover{
  background:linear-gradient(135deg, rgba(37,99,235,.14), rgba(37,99,235,.24)) !important;
  border-color:rgba(37,99,235,.75) !important;
  box-shadow:0 14px 32px rgba(37,99,235,.18) !important;
  transform:translateY(-2px) !important;
}
#planos .plan-card.featured .plan-action{
  background:linear-gradient(135deg, rgba(34,197,94,.08), rgba(34,197,94,.18)) !important;
  border:1px solid rgba(34,197,94,.42) !important;
  color:#078a42 !important;
  font-weight:900 !important;
  box-shadow:0 10px 26px rgba(34,197,94,.10) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
#planos .plan-card.featured .plan-action:hover{
  background:linear-gradient(135deg, rgba(34,197,94,.14), rgba(34,197,94,.24)) !important;
  border-color:rgba(34,197,94,.75) !important;
  box-shadow:0 14px 32px rgba(34,197,94,.18) !important;
  transform:translateY(-2px) !important;
}
#planos .plan-card.enterprise .plan-action{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(135deg, rgba(184,134,11,.10), rgba(244,208,63,.28), rgba(184,134,11,.10)) !important;
  border:1px solid rgba(212,175,55,.62) !important;
  color:#9a6a00 !important;
  font-weight:950 !important;
  box-shadow:0 12px 28px rgba(212,175,55,.18) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
#planos .plan-card.enterprise .plan-action:before{
  content:'';
  position:absolute;
  inset:0 auto 0 -80%;
  width:55%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
  transform:skewX(-18deg);
  transition:left .85s ease;
  pointer-events:none;
}
#planos .plan-card.enterprise .plan-action:hover:before{left:135%;}
#planos .plan-card.enterprise .plan-action:hover{
  background:linear-gradient(135deg, rgba(184,134,11,.16), rgba(244,208,63,.38), rgba(184,134,11,.16)) !important;
  border-color:rgba(212,175,55,.85) !important;
  box-shadow:0 16px 36px rgba(212,175,55,.28) !important;
  transform:translateY(-2px) !important;
}


/* ===== v-public-home-no-login-flicker ===== */
/* Página inicial pública: impede a tela de login de piscar/abrir automaticamente */
html.atende-public-home body:not(.is-authenticated){
  height:auto!important;
  min-height:100vh!important;
  overflow:auto!important;
  background:#f5f9fc!important;
}
html.atende-public-home body:not(.is-authenticated) #login.login,
html.atende-public-home body:not(.is-authenticated) #login{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html.atende-public-home body:not(.is-authenticated) #app{
  display:none!important;
}
html.atende-public-home body:not(.is-authenticated) #landingPage{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:100vh!important;
}
html.atende-public-home body:not(.is-authenticated) .landing-hidden-fix{display:none!important;}


/* ===== vPaulo-cadastro-questionario-paciente ===== */
.patient-extra-cadastro-title{grid-column:1/-1;margin:10px 0 0;padding-top:14px;border-top:1px solid #dbeaf1;color:#102447;font-size:15px;font-weight:900}
.patient-actions-table{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.patient-delete-btn{border:1px solid #ffd0c8;background:#fff3f1;color:#c54435;border-radius:12px;padding:10px 13px;font-weight:850;cursor:pointer}
.patient-delete-btn:hover{background:#ffe8e4;border-color:#ffb5aa}
.patient-quick-actions{display:flex;gap:10px;flex-wrap:wrap}.danger-soft{background:#fff3f1!important;color:#c54435!important;border:1px solid #ffd0c8!important}.q-card input.input:focus,.patient-edit-modal .input:focus{background:#fff!important;border-color:#08aeea!important;box-shadow:0 0 0 4px rgba(8,174,234,.12)!important;outline:none!important}.q-card input.input,.patient-edit-modal .input{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}


/* ===== vPaulo-final-contraste-forcado ===== */
/* Força o título e subtítulo do topo a ficarem visíveis, mesmo com CSS antigo usando var(--muted) */
  #dashboard .top h1,
  #pacientes .top h1,
  #questionario .top h1,
  .page .top h1,
  .top h1{
    color:#1f2937 !important;
    -webkit-text-fill-color:#1f2937 !important;
    opacity:1 !important;
    font-weight:900 !important;
  }

  #dashboard .top p,
  #dashboard .top .muted,
  #pacientes .top p,
  #pacientes .top .muted,
  #questionario .top p,
  #questionario .top .muted,
  .page .top p,
  .page .top .muted,
  .top p,
  .top .muted{
    color:#334155 !important;
    -webkit-text-fill-color:#334155 !important;
    opacity:1 !important;
    font-weight:700 !important;
  }

  /* Força os nomes dos pacientes a aparecerem com contraste forte */
  #patientsTableBody b,
  #patientTableBody b,
  .patient-profile-text b,
  .patient-name,
  .recent-item b,
  .patient-card b,
  .patient-select-card b,
  .selected-patient-box strong{
    color:#102447 !important;
    -webkit-text-fill-color:#102447 !important;
    opacity:1 !important;
    font-weight:900 !important;
  }

  #patientsTableBody .mini-muted,
  #patientTableBody .mini-muted,
  .patient-profile-text .mini-muted,
  .patient-select-card span,
  .selected-patient-box small{
    color:#475569 !important;
    -webkit-text-fill-color:#475569 !important;
    opacity:1 !important;
    font-weight:700 !important;
  }


/* ===== vPaulo-fix-analise-click-definitivo-style ===== */
#analise #analysisContent{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;text-align:left!important}
#analise .paulo-ai-wrap{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
#analise .paulo-ai-card{background:#fff;border:1px solid #dcecf3;border-radius:24px;padding:22px;box-shadow:0 10px 32px rgba(13,52,80,.06)}
#analise .paulo-ai-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
#analise .paulo-ai-photo{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#0ea5c8,#43d6c7);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px;overflow:hidden;flex:0 0 72px;border:1px solid #cfeaf3}
#analise .paulo-ai-photo img{width:100%;height:100%;object-fit:cover;display:block}
#analise .paulo-ai-title{margin:0;color:#102447;font-size:25px;line-height:1.1;font-weight:900}
#analise .paulo-ai-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
#analise .paulo-ai-tag{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#e9f8ff;color:#075985;font-size:12px;font-weight:900}
#analise .paulo-ai-tag.green{background:#e7fbf4;color:#047857}#analise .paulo-ai-tag.warn{background:#fff2d8;color:#a15c00}#analise .paulo-ai-tag.red{background:#ffe8e3;color:#b42318}
#analise .paulo-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
#analise .paulo-ai-mini{border:1px solid #dcecf3;border-radius:16px;padding:14px;background:#fbfeff}
#analise .paulo-ai-mini span{display:block;color:#64748b;font-size:12px;font-weight:800;margin-bottom:6px}
#analise .paulo-ai-mini b{color:#102447;font-size:16px;line-height:1.3}
#analise .paulo-ai-section{border:1px solid #dcecf3;border-radius:16px;padding:16px;background:#fbfeff;margin-top:12px}
#analise .paulo-ai-section h3{margin:0 0 8px;color:#102447}#analise .paulo-ai-section p{margin:0;color:#475569;font-weight:650;line-height:1.55}
#analise .paulo-ai-actions{margin:0;padding:0;list-style:none;display:grid;gap:8px}#analise .paulo-ai-actions li{color:#334155;font-weight:700;line-height:1.45}
#analise .paulo-ai-score{text-align:center}.paulo-ai-ring{width:160px;height:160px;border-radius:50%;margin:12px auto;display:grid;place-items:center}.paulo-ai-ring>div{width:104px;height:104px;background:#fff;border-radius:50%;display:grid;place-items:center}.paulo-ai-ring strong{font-size:34px;color:#102447}.paulo-ai-metric{margin-top:14px}.paulo-ai-metric-top{display:flex;justify-content:space-between;color:#334155;font-weight:800}.paulo-ai-bar{height:9px;border-radius:999px;background:#e6eef4;overflow:hidden;margin-top:7px}.paulo-ai-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0ea5c8,#22c55e)}
@media(max-width:900px){#analise .paulo-ai-wrap,#analise .paulo-ai-grid{grid-template-columns:1fr}}



/* v22 - opção Ficar conectado no login */
.keep-connected-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 16px;
  color:#44536a;
  font-size:13px;
  font-weight:700;
  user-select:none;
  cursor:pointer;
}
.keep-connected-row input{
  width:18px;
  height:18px;
  accent-color:var(--primary,#20a5d7);
  cursor:pointer;
}
.auth-login-links{
  margin-top:12px;
  text-align:center;
}
.auth-login-links button{
  border:0;
  background:transparent;
  color:#1597c6;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.auth-login-links button:hover{
  text-decoration:underline;
}

/* ===== atende-auth-no-flash-v22 ===== */
/* Removido o gate antigo com tela branca/loading.
   Em rotas internas, o script do head esconde apenas landing/login e mostra a página correta. */
html.atende-auth-precheck.atende-instant-app body{
  background:#f8fbfd!important;
}
html.atende-auth-precheck.atende-instant-app #landingPage,
html.atende-auth-precheck.atende-instant-app #login{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.atende-auth-precheck.atende-instant-app #app{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
html.atende-auth-ready body > *{
  opacity:1;
  visibility:visible;
}



/* Questionário - busca e seleção de paciente atual */
.q-selected-patient-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin:0 0 18px;
  padding:16px;
  border:1px solid #bdeefa;
  border-radius:20px;
  background:linear-gradient(135deg,#eefcff,#ffffff);
  box-shadow:0 12px 28px rgba(8,174,234,.08);
}
.q-patient-avatar{
  width:58px;
  height:58px;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(135deg,#16c3d6,#169bd7);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:19px;
  font-weight:900;
  flex:0 0 58px;
  border:1px solid #bdeefa;
}
.q-patient-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.q-selected-patient-info{min-width:0;display:grid;gap:3px}
.q-selected-patient-info span{font-size:12px;color:#0796bf;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.q-selected-patient-info strong{color:#102447;font-size:18px;font-weight:950;line-height:1.15}
.q-selected-patient-info small{color:#51627c;font-size:12px;font-weight:700;line-height:1.35}
.q-search-hint{
  margin-top:10px;
  padding:14px 16px;
  border:1px dashed #cbe4ef;
  border-radius:16px;
  color:#60708d;
  background:#fbfeff;
  font-size:13px;
  font-weight:700;
}
.q-patient-result-list{display:grid;gap:10px;margin-top:12px;max-height:360px;overflow:auto;padding-right:4px}
.q-patient-result-item{
  width:100%;
  border:1px solid #d5e9f2;
  background:#fff;
  border-radius:18px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  cursor:pointer;
  transition:.16s ease;
  text-align:left;
  font-family:inherit;
}
.q-patient-result-item:hover,.q-patient-result-item.on{border-color:#08aeea;background:#effbff;box-shadow:0 10px 24px rgba(8,174,234,.10)}
.q-patient-result-info{display:grid;gap:3px;min-width:0}
.q-patient-result-info strong{color:#102447;font-size:15px;font-weight:950;line-height:1.2}
.q-patient-result-info small{color:#61728d;font-size:12px;font-weight:700;line-height:1.25}
.q-patient-result-item>b{color:#0796bf;font-size:13px;font-weight:950;white-space:nowrap}
@media(max-width:720px){
  .q-selected-patient-card,.q-patient-result-item{grid-template-columns:auto minmax(0,1fr)}
  .q-selected-patient-card .btn,.q-patient-result-item>b{grid-column:1/-1;justify-self:stretch;text-align:center;justify-content:center}
}
