/* São Francisco · tema claro "Mint" (inspirado no BlurAdmin, Akveo, variante sólida).
   Fundo cinza-claro, painéis brancos com sombra suave, topo e menu lateral escuros sólidos.
   Substitui app.css, theme.css e analytics.css nos layouts; os gatilhos de JS (data-*) não mudam.
   Paleta alinhada ao CSS institucional São Francisco: azul-marinho, azul e verde-lima. */

@font-face{font-family:'Poppins';font-style:normal;font-weight:200;font-display:swap;src:url('brand/poppins-200.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('brand/poppins-300.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('brand/poppins-400.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('brand/poppins-500.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('brand/poppins-600.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('brand/poppins-700.ttf') format('truetype')}

:root{
  color-scheme:light;
  --body-bg:#f4f8fa;
  --panel:#fff;
  --panel-2:#f3f8fb;
  --panel-3:#eaf1f5;
  --line:#dfe8ef;
  --line-2:#c9d9e6;
  --input-border:#b9cbd8;
  --text:#14264b;
  --text-2:#1f3550;
  --text-3:#52677e;
  --chrome:#14264b;
  --chrome-2:#0b1936;
  --chrome-line:rgba(255,255,255,.08);
  --chrome-text:#fff;
  --chrome-muted:rgba(255,255,255,.6);
  --primary:#08649a;
  --primary-strong:#08649a;
  --primary-hover:#0b5988;
  --primary-text:#0b5988;
  --primary-soft:rgba(8,100,154,.1);
  --info:#08649a;--info-text:#0b5988;--info-soft:rgba(8,100,154,.1);
  --success:#83ac38;--success-text:#4e681f;--success-soft:rgba(131,172,56,.14);
  --warning:#dfb81c;--warning-text:#7f6300;--warning-soft:rgba(223,184,28,.16);
  --danger:#e85656;--danger-text:#c23a3a;--danger-soft:rgba(232,86,86,.11);
  --purple:#14264b;--purple-text:#14264b;--purple-soft:rgba(20,38,75,.08);
  --radius:5px;--radius-lg:7px;
  --topbar-h:64px;--sidebar-w:236px;--sidebar-w-mini:66px;
  --panel-shadow:0 1px 2px rgba(0,0,0,.04),0 5px 12px -4px rgba(0,0,0,.09);
  --pop-shadow:0 18px 44px -12px rgba(0,0,0,.3);
  --ease:cubic-bezier(.22,1,.36,1);
  --font:'Poppins',system-ui,sans-serif;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 24px);scrollbar-gutter:stable;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--text-2);background:var(--body-bg);font:400 14px/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
h1,h2,h3,p{margin:0}
h1,h2,h3{text-wrap:balance;font-weight:600;letter-spacing:-.2px;color:var(--text)}
p{text-wrap:pretty}
h1{font-size:26px;line-height:1.3;font-weight:600;letter-spacing:-.2px}
h2{font-size:17px;line-height:1.4}
h3{font-size:15px;line-height:1.45}
small{font-size:11.5px}
strong,b{font-weight:600}
hr{border:0;border-top:1px solid var(--line);margin:16px 0}
code{font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
[hidden]{display:none!important}
.icon{flex-shrink:0;vertical-align:middle;transition:transform .35s var(--ease)}
::selection{background:rgba(8,100,154,.22);color:var(--text)}
*{scrollbar-width:thin;scrollbar-color:#c4cbd0 transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#c4cbd0;border-radius:9px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}
button[disabled]{opacity:.55;cursor:not-allowed}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.motion-pending .public-main{opacity:0}

/* ---------- casca autenticada: topo e menu lateral escuros ---------- */
.app-shell{min-height:100vh}
.topbar{position:fixed;inset:0 0 auto 0;height:var(--topbar-h);z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px 0 0;background:var(--chrome);color:var(--chrome-text);box-shadow:2px 0 3px rgba(0,0,0,.45);transition:box-shadow .3s}
.topbar.is-scrolled{box-shadow:0 4px 14px rgba(0,0,0,.35)}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px;min-width:0}
.topbar-brand{display:flex;align-items:center;justify-content:center;width:var(--sidebar-w);height:var(--topbar-h);flex-shrink:0;transition:width .35s var(--ease)}
.topbar-brand img{height:50px;width:auto}
.sidebar-collapsed .topbar-brand{width:var(--sidebar-w-mini)}
.sidebar-collapsed .topbar-brand img{height:34px}
.topbar .icon-button{color:var(--chrome-muted)}
.topbar .icon-button:hover{background:rgba(255,255,255,.1);color:#fff}
.branch-name{display:flex;flex-direction:column;font-size:14px;font-weight:500;line-height:1.3;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.branch-name small{font-size:12px;font-weight:400;color:var(--chrome-muted)}
.topbar-search{display:flex;align-items:center;gap:8px;height:40px;width:280px;max-width:32vw;padding:0 14px;margin-left:10px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid transparent;transition:background .2s,border-color .2s}
.topbar-search:focus-within{background:rgba(255,255,255,.14);border-color:rgba(8,100,154,.8)}
.topbar-search .icon{width:16px;height:16px;color:var(--chrome-muted)}
.topbar-search input{flex:1;min-width:0;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0;font-size:14px;color:#fff}
.topbar-search input:focus,.topbar-search input:hover{border:0;background:transparent;box-shadow:none}
.topbar-search input::placeholder{color:var(--chrome-muted)}
.topbar-portal{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:14px;color:rgba(255,255,255,.8);padding:6px 10px;border-radius:16px;transition:background .2s,color .2s}
.topbar-portal:hover{background:rgba(255,255,255,.1);color:#fff}
.topbar-portal .icon{width:14px;height:14px}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(223,184,28,0)}}

.user-menu{position:relative}
.user-menu>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:4px 8px 4px 4px;border-radius:24px;transition:background .2s}
.user-menu>summary::-webkit-details-marker{display:none}
.user-menu>summary:hover,.user-menu[open]>summary{background:rgba(255,255,255,.1)}
.user-menu-name{display:flex;flex-direction:column;line-height:1.25;font-size:14px;font-weight:500;color:#fff;max-width:180px;white-space:nowrap;overflow:hidden}
.user-menu-name small{font-size:12px;font-weight:400;color:var(--chrome-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-menu>summary>.icon{width:14px;height:14px;color:var(--chrome-muted)}
.user-menu[open]>summary>.icon{transform:rotate(180deg)}
.user-menu-panel{position:absolute;right:0;top:calc(100% + 12px);width:250px;padding:8px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--pop-shadow);z-index:70;color:var(--text-2)}
.user-menu-panel::before{content:"";position:absolute;top:-6px;right:22px;width:11px;height:11px;transform:rotate(45deg);background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.user-menu-head{display:flex;gap:12px;align-items:center;padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.user-menu-head strong{display:block;font-size:15px;color:var(--text)}
.user-menu-head small{display:block;color:var(--text-3);font-size:13px;overflow-wrap:anywhere}
.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:var(--radius);background:none;font-size:14px;color:var(--text-2);text-align:left;transition:background .2s,color .2s}
.user-menu-item:hover{background:var(--panel-2);color:var(--primary-text)}
.user-menu-item .icon{width:16px;height:16px}
.user-menu-item.is-danger:hover{color:var(--danger-text)}

.sidebar{position:fixed;top:var(--topbar-h);bottom:0;left:0;width:var(--sidebar-w);z-index:50;display:flex;flex-direction:column;background:var(--chrome);color:#fff;box-shadow:2px 0 3px rgba(0,0,0,.2);transition:width .35s var(--ease),transform .35s var(--ease)}
.sidebar-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0 10px;scrollbar-color:rgba(255,255,255,.2) transparent}
.main-nav{display:flex;flex-direction:column;gap:2px}
.nav-group+.nav-group{margin-top:6px}
.nav-group-label{padding:12px 22px 6px;font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.45);white-space:nowrap}
.nav-link{position:relative;display:flex;align-items:center;gap:15px;padding:11px 22px;font-size:15px;color:#fff;white-space:nowrap;transition:background .2s,color .2s}
.nav-link .icon{width:18px;height:18px;color:rgba(255,255,255,.75);transition:color .2s,transform .35s var(--ease)}
.nav-link:hover{color:#b9dc7c}
.nav-link:hover .icon{color:#b9dc7c}
.nav-link.active{background:var(--primary-strong);color:#fff;font-weight:500}
.nav-link.active .icon{color:#fff}
.nav-dot{width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--warning);box-shadow:0 0 0 3px rgba(223,184,28,.22)}
.sidebar-bottom{padding:8px 0 12px;border-top:1px solid var(--chrome-line)}
.sidebar-collapsed .sidebar{width:var(--sidebar-w-mini)}
.sidebar-collapsed .nav-link{justify-content:center;padding:12px 0}
.sidebar-collapsed .nav-link>span,.sidebar-collapsed .nav-group-label{display:none}
.sidebar-collapsed .nav-group+.nav-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--chrome-line)}
.sidebar-collapsed .nav-dot{position:absolute;top:9px;right:14px}
.sidebar-overlay{display:none}
.main-shell{margin-left:var(--sidebar-w);padding-top:var(--topbar-h);min-height:100vh;transition:margin-left .35s var(--ease)}
.sidebar-collapsed .main-shell{margin-left:var(--sidebar-w-mini)}
.main-content{padding:28px 32px 0 36px;max-width:1560px;margin:0 auto}
.page-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding:16px 0 20px;border-top:1px solid var(--line-2);font-size:14px;color:var(--text-3)}
.page-footer span{display:inline-flex;align-items:center;gap:6px}
.page-footer .icon{width:14px;height:14px}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;font-size:16px;font-weight:600;text-transform:uppercase;color:#fff;background:var(--primary);box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.user-menu-head .avatar{box-shadow:none}
.avatar.tone-blue{background:var(--info-soft);color:var(--info-text);box-shadow:inset 0 0 0 1px rgba(8,100,154,.35)}
.toast{position:fixed;left:50%;bottom:26px;z-index:100;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(92vw,420px);padding:12px 18px;border-radius:var(--radius-lg);background:var(--chrome);color:#fff;box-shadow:var(--pop-shadow);font-size:13px;transition:opacity .3s,transform .3s var(--ease)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- títulos de página (content-top do BlurAdmin) ---------- */
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.page-heading>div:first-child{min-width:0;max-width:800px}
.page-heading h1{font-size:28px;font-weight:600;color:var(--text);letter-spacing:-.2px}
.page-heading p{margin-top:6px;color:var(--text-3);font-size:16px}
.page-heading>.badge{align-self:center}
.heading-dot{color:var(--success)}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--primary-text);margin-bottom:4px}
.page-actions,.analytics-heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;font-size:14px;color:var(--text-3);transition:color .2s}
.back-link:hover{color:var(--primary-text)}
.section-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:28px 0 12px;font-size:18px;font-weight:600;color:var(--text)}
.section-caption .fine-print{text-transform:none;letter-spacing:0;font-weight:400}
.date-label{font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-3)}
.subheading{margin:24px 0 10px;font-size:17px;color:var(--text-2)}
.section-gap{margin-top:24px}
.fine-print{font-size:12px;color:var(--text-3);line-height:1.6}
.fine-print .icon{width:14px;height:14px}
.muted{color:var(--text-3)}
.text-green{color:var(--success-text)}
.text-danger{color:var(--danger-text)!important}
.text-green .icon,.muted .icon{width:15px;height:15px}

/* ---------- painéis ---------- */
.card,.info-card,.proposal-sidebar,.metric-card,.report-money,.bottom-note,.portal-stat{position:relative;background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--panel-shadow)}
.card{padding:22px 24px;min-width:0}
.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:-22px -24px 20px;padding:15px 24px 14px;border-bottom:1px solid var(--line)}
.card-heading h2{font-size:18px;font-weight:600;color:var(--text)}
.card-heading p{margin-top:3px;font-size:14px;color:var(--text-3);max-width:760px}
.card-heading .eyebrow{font-size:10px;margin-bottom:2px}
.card-heading>.icon{width:20px;height:20px;color:var(--text-3)}
.card-heading>.text-link,.card-heading>.button,.card-heading>.badge{flex-shrink:0;white-space:nowrap}
details:not([open])>summary.card-heading{margin-bottom:-22px;border-bottom:0}
.form-card>h2:first-child{margin-bottom:16px;font-size:13.5px;font-weight:500;text-transform:uppercase;letter-spacing:.6px}
.form-card>h2+p,.form-card>p{color:var(--text-2);font-size:13px;margin-bottom:14px}
.form-card>p:last-child{margin-bottom:0}
.info-card,.proposal-sidebar{padding:22px}
.info-card h3,.proposal-sidebar h3{margin:12px 0 8px;font-size:17px}
.info-card p,.proposal-sidebar>p{font-size:14px;color:var(--text-2)}
.info-card .text-link{display:inline-block;margin-top:10px}
.info-card-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--panel-3);color:var(--text-2);box-shadow:none}
.info-card-icon .icon{width:21px;height:21px}
.compact-info{margin-top:16px}
.compact-info h3{margin-top:0}
.proposal-sidebar .field{margin-top:16px}
.proposal-sidebar .button{margin-top:10px}
.proposal-sidebar>.fine-print,.proposal-sidebar>small{display:block;margin-top:12px}
.proposal-sidebar .alert{margin:16px 0 0}
.side-journey{display:flex;flex-direction:column;gap:2px;margin:16px 0}
.side-journey>div{position:relative;display:flex;gap:12px;padding-bottom:14px}
.side-journey>div:not(:last-child)::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:1px;background:var(--line-2)}
.side-journey span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;border:1px solid var(--primary);color:var(--primary-text);font-size:14px;font-weight:600}
.side-journey p{font-size:14px;color:var(--text-3)}
.side-journey strong{display:block;font-size:15px;color:var(--text);font-weight:500}
.signed-note{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;border-radius:var(--radius);background:var(--success-soft);color:var(--success-text);font-size:14px}
.signed-note .icon{width:16px;height:16px}
.bottom-note{display:flex;gap:14px;align-items:flex-start;margin-top:28px;padding:16px 20px;font-size:15px;color:var(--text-2)}
.bottom-note>.icon{width:22px;height:22px;color:var(--primary);margin-top:1px}
.bottom-note strong{color:var(--text)}
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:42px 20px;color:var(--text-3)}
.empty-state>.icon{width:46px;height:46px;padding:12px;margin-bottom:6px;border-radius:50%;background:var(--panel-3);color:var(--text-3)}
.empty-state strong{color:var(--text);font-size:14px;font-weight:500}
.empty-state p{font-size:12.5px;max-width:440px}
.empty-state.card{grid-column:1/-1}

/* ---------- botões e links ---------- */
.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius);font-size:13px;font-weight:500;line-height:1.2;letter-spacing:.2px;white-space:nowrap;text-align:center;transition:background .15s,border-color .15s,color .15s,box-shadow .2s,transform .1s}
.button .icon{width:16px;height:16px}
.button:hover .icon.is-trailing,.text-link:hover .icon.is-trailing{transform:translateX(3px)}
.button:active{transform:translateY(1px)}
.button-primary{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}
.button-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 12px -4px rgba(8,100,154,.6)}
.button-secondary{background:#fff;border-color:var(--input-border);color:var(--text-2)}
.button-secondary:hover{border-color:var(--primary);color:var(--primary-text);background:#fbfefe}
.button-danger{background:#cf4343;border-color:#cf4343;color:#fff}
.button-danger:hover{background:#bb3838;border-color:#bb3838}
.button-small{min-height:31px;padding:0 12px;font-size:12px}
.button-small .icon{width:14px;height:14px}
.full-width{width:100%}
.button-ripple{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.18;z-index:-1}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-3);transition:background .2s,color .2s}
.icon-button:hover{background:var(--panel-3);color:var(--text)}
.icon-button .icon{width:19px;height:19px}
.text-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font-size:12.5px;font-weight:500;color:var(--primary-text);transition:color .2s}
.text-button:hover{color:var(--primary-hover);text-decoration:underline;text-underline-offset:3px}
.text-button .icon{width:15px;height:15px}
.text-button.muted{color:var(--text-3)}
.text-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--primary-text);transition:color .2s}
.text-link:hover{color:var(--primary-hover)}
.text-link .icon{width:15px;height:15px}
td a:not(.button):not(.text-link):not(.table-arrow):not(.icon-button):hover strong,.finance-record-identity a:hover{color:var(--primary-text);text-decoration:underline;text-underline-offset:3px}

/* ---------- avisos e selos ---------- */
.alert{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);border-left-width:4px;font-size:13px;color:var(--text-2);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.alert>.icon{width:20px;height:20px;margin-top:1px}
.alert>div{flex:1;min-width:0}
.alert strong{color:var(--text);font-weight:600}
.alert p{margin-top:2px}
.alert small{display:block;margin-top:6px;color:var(--text-3)}
.alert ul{margin:6px 0 0;padding-left:18px}
.alert>form,.alert>.button{align-self:center;flex-shrink:0}
.alert>.icon-button{margin:-6px -6px 0 0;width:30px;height:30px}
.alert-success{background:#f7fbea;border-color:#dceaa9;border-left-color:var(--success)}
.alert-success>.icon{color:var(--success-text)}
.alert-danger{background:#fdf2f2;border-color:#f3c9c9;border-left-color:var(--danger)}
.alert-danger>.icon{color:var(--danger-text)}
.alert-warning{background:#fdf9ea;border-color:#efe0a6;border-left-color:var(--warning)}
.alert-warning>.icon{color:var(--warning-text)}
.alert-info{background:#eff8fb;border-color:#bfe3ef;border-left-color:var(--info)}
.alert-info>.icon{color:var(--info-text)}
.compact-alert{margin:16px 0 0;padding:11px 14px;font-size:14px;box-shadow:none}
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;border:1px solid var(--line-2);background:var(--panel-2);font-size:13px;font-weight:500;line-height:1.5;white-space:nowrap;color:var(--text-2)}
.badge .icon{width:13px;height:13px}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.badge-green{background:var(--success-soft);border-color:rgba(131,172,56,.4);color:var(--success-text)}
.badge-red{background:var(--danger-soft);border-color:rgba(232,86,86,.4);color:var(--danger-text)}
.badge-amber{background:var(--warning-soft);border-color:rgba(223,184,28,.5);color:var(--warning-text)}
.badge-gray{background:var(--panel-3);border-color:var(--line-2);color:var(--text-2)}
.version-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;background:var(--panel-3);font-size:11px;font-weight:500;letter-spacing:.3px;color:var(--text-2);vertical-align:middle}
.small-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--text-3);vertical-align:middle}
.small-dot.green{background:var(--success)}.small-dot.blue{background:var(--info)}.small-dot.ochre{background:var(--warning)}.small-dot.purple{background:var(--purple)}
.tone-blue{--tone:var(--info);--tone-text:var(--info-text);--tone-soft:var(--info-soft)}
.tone-green{--tone:var(--success);--tone-text:var(--success-text);--tone-soft:var(--success-soft)}
.tone-ochre{--tone:var(--warning);--tone-text:var(--warning-text);--tone-soft:var(--warning-soft)}
.tone-purple{--tone:var(--purple);--tone-text:var(--purple-text);--tone-soft:var(--purple-soft)}

/* ---------- formulários ---------- */
.field{display:block;min-width:0;font-size:12.5px;font-weight:500;color:var(--text-2)}
.field>span:not(.sr-only){margin-left:2px;color:var(--danger-text)}
.field>input,.field>select,.field>textarea,.field>.password-field{display:block;margin-top:6px}
.field>.inline-options{margin-top:6px}
.field small,.field-help{font-size:11.5px;font-weight:400;color:var(--text-3)}
.field>small,.field>.field-help{display:flex;margin-top:5px}
.field+.field,form>.field,fieldset>.field{margin-top:14px}
.form-grid>.field,.workspace-fields>.field,.report-filters>.field,.analytics-filters>.field,.commission-filters>.field,.benefit-editor>.field{margin-top:0}
.field-label{display:block;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--text-2)}
:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea){width:100%;min-height:40px;padding:9px 12px;border:1px solid var(--input-border);border-radius:var(--radius);background-color:#fff;color:var(--text);font-size:13px;font-weight:400;line-height:1.4;outline:0;transition:border-color .2s,box-shadow .2s}
textarea:where(*){min-height:84px;resize:vertical;line-height:1.6}
input::placeholder,textarea::placeholder{color:#a0a0a0}
:where(input:not([readonly]):not(:disabled),select:not(:disabled),textarea:not(:disabled)):hover{border-color:#aeb4b8}
:where(input,select,textarea):focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,100,154,.16)}
input[readonly]:where(*){background-color:var(--panel-2);border-style:dashed;color:var(--text-2)}
input:disabled,select:disabled,textarea:disabled{background-color:var(--panel-3);opacity:.7;cursor:not-allowed}
select:where(*){appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
input[type=checkbox],input[type=radio]{accent-color:var(--primary-strong);width:16px;height:16px;margin:0;flex-shrink:0;cursor:pointer}
input[type=file]{width:100%;padding:8px;border:1px dashed var(--input-border);border-radius:var(--radius);background:var(--panel-2);font-size:12.5px;color:var(--text-2)}
input[type=file]::file-selector-button{margin-right:12px;padding:7px 14px;border:0;border-radius:4px;background:var(--chrome);color:#fff;font:500 12px var(--font);cursor:pointer}
fieldset{margin:0;padding:0;border:0;min-width:0}
form>fieldset,.field+fieldset{margin-top:18px}
legend{margin-bottom:8px;padding:0;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-2)}
legend>span{color:var(--danger-text)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.span-2,.form-grid>.full-width{grid-column:1/-1}
.form-grid>.button{justify-self:start;align-self:end}
.workspace-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px 18px}
.workspace-fields>.field:has(textarea){grid-column:1/-1}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.form-layout>aside{position:sticky;top:calc(var(--topbar-h) + 20px);min-width:0}
.form-layout>div{min-width:0}
.form-section-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.form-section-heading h2{font-size:15px}
.form-section-heading p{margin-top:2px;font-size:12px;color:var(--text-3)}
.form-section-heading>div{flex:1;min-width:0}
.step-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:600;box-shadow:0 0 0 4px var(--primary-soft)}
.quick-icon,.pet-avatar,.metric-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--tone-soft,var(--primary-soft));color:var(--tone-text,var(--primary-text))}
.quick-icon{width:40px;height:40px}
.quick-icon .icon{width:19px;height:19px}
.pet-avatar{width:46px;height:46px}
.pet-avatar .icon{width:22px;height:22px}
.form-divider{height:1px;margin:26px 0;background:var(--line)}
.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.form-actions>.fine-print{margin-right:auto;max-width:620px}
.workspace-stack>.form-actions{margin-top:0}
.check-label{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:12.5px;line-height:1.55;color:var(--text-2);cursor:pointer}
.check-label input{margin-top:2px}
fieldset .check-label{margin:8px 0}
.inline-options{display:flex;flex-wrap:wrap;gap:10px 22px}
.inline-options label{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:400;color:var(--text-2);cursor:pointer}
.password-field{position:relative}
.password-field input{padding-right:78px}
.password-field .text-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px}
.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.filter-bar select{width:auto;min-width:170px}
.search-input{position:relative;flex:1;min-width:240px;max-width:460px}
.search-input .icon{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--text-3);pointer-events:none}
.search-input input{padding-left:38px;border-radius:20px}
.filter-count{margin-left:auto;font-size:14px;color:var(--text-3)}
.conditional-box{margin-top:18px;padding:16px;border-radius:var(--radius);border:1px dashed var(--line-2);background:var(--panel-2)}
.conditional-box .fine-print{margin-top:10px}
[data-registration-explanation]{margin-top:16px;padding:12px 14px;border-radius:var(--radius);background:var(--info-soft);font-size:12.5px;color:var(--text-2)}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.choice-card,.plan-choice{position:relative;display:block;cursor:pointer;border-radius:var(--radius-lg);border:1px solid var(--line-2);background:#fff;transition:border-color .2s,background .2s,box-shadow .2s}
.choice-card{padding:18px 16px 16px}
.choice-card:hover,.plan-choice:hover{border-color:#aeb4b8;box-shadow:0 4px 12px -6px rgba(0,0,0,.18)}
.choice-card>input,.plan-choice>input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.choice-card:has(input:checked),.plan-choice:has(input:checked){border-color:var(--primary);background:#f5fbfa;box-shadow:0 0 0 1px var(--primary)}
.choice-card:has(input:focus-visible),.plan-choice:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:3px}
.choice-mark{position:absolute;top:14px;right:14px;width:18px;height:18px;border-radius:50%;border:2px solid #b7bdc1;background:#fff;transition:border-color .2s,box-shadow .2s}
input:checked+.choice-mark,input:checked+.plan-choice-top .choice-mark{border-color:var(--primary);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 9px var(--primary)}
.choice-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:12px;border-radius:50%;background:var(--info-soft);color:var(--info-text)}
.choice-icon .icon{width:18px;height:18px}
.choice-card strong{display:block;font-size:15px;font-weight:500;color:var(--text)}
.choice-card small{display:block;margin-top:3px;color:var(--text-3)}
.plan-choices{display:grid;gap:12px}
.plan-choice{padding:18px 20px}
.plan-choice-top{display:flex;align-items:center;gap:14px}
.plan-choice-top .choice-mark{position:static;flex-shrink:0}
.plan-choice-top>div:nth-child(2){flex:1;min-width:0}
.plan-choice-top .eyebrow{font-size:10px;margin-bottom:2px}
.plan-choice-top h3{font-size:17px}
.plan-choice-price{text-align:right;font-size:19px;font-weight:500;color:var(--text);white-space:nowrap}
.plan-choice-price small{display:block;font-size:13px;font-weight:400;color:var(--text-3)}
.plan-choice-rules{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.plan-choice-rules>span{display:flex;flex-direction:column;gap:2px;position:relative;font-size:14px;color:var(--text)}
.plan-choice-rules small{color:var(--text-3)}
.review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:18px;border-radius:var(--radius-lg);overflow:hidden;background:var(--panel-2);border:1px solid var(--line)}
.review-summary>div{display:flex;flex-direction:column;gap:2px;padding:13px 16px;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}
.review-summary small{font-size:12px;font-weight:600;color:var(--text-3)}
.review-summary strong{font-size:15px;font-weight:500;color:var(--text);overflow-wrap:anywhere}
.wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.wizard-step{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--panel-shadow);border-bottom:3px solid transparent;color:var(--text-3);font-size:15px;font-weight:500;transition:border-color .25s,color .25s}
.wizard-step>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--panel-3);color:var(--text-3);font-weight:600;transition:inherit}
.wizard-step small{display:block;font-size:13px;font-weight:400;color:var(--text-3)}
.wizard-step.active{color:var(--text);border-bottom-color:var(--primary)}
.wizard-step.active>span{background:var(--primary);color:#fff}
.wizard-step.complete{color:var(--text-2)}
.wizard-step.complete>span{background:var(--primary-soft);color:var(--primary-text)}
.upload-form,.document-validation{display:grid;gap:14px;margin-top:18px;padding:16px;border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line)}
.upload-form .field+.field,.document-validation .field+.field{margin-top:0}
.upload-form .button,.document-validation .button{justify-self:start}
.inline-form{display:inline}
td .inline-form{margin-left:12px}
.rate-input{display:flex;align-items:center;gap:8px;max-width:160px}
.rate-input span{min-width:22px;font-size:14px;color:var(--text-3)}
.commission-rates select{min-width:130px}
.benefit-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.2fr) 36px;gap:12px;align-items:end;margin-bottom:12px;padding:14px;border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line)}
.benefit-editor .icon-button{margin-bottom:2px}
.signature-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 8px;font-size:13px}
.signature-label strong{font-weight:500;color:var(--text)}
.signature-canvas{display:block;width:100%;height:210px;border-radius:var(--radius);background:#fff;border:2px dashed var(--primary);touch-action:none;cursor:crosshair}

/* ---------- tabelas ---------- */
.table-scroll{overflow-x:auto;min-width:0}
.card>.table-scroll{margin:0 -24px}
.card>.table-scroll:last-child{margin-bottom:-22px}
.card-heading+.table-scroll{margin-top:-20px}
.card>.table-scroll:first-child{margin-top:-10px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{padding:12px 16px;text-align:left;font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;border-bottom:1px solid var(--line-2)}
td{padding:13px 16px;vertical-align:middle;border-bottom:1px solid var(--line);color:var(--text-2)}
.card>.table-scroll th:first-child,.card>.table-scroll td:first-child{padding-left:24px}
.card>.table-scroll th:last-child,.card>.table-scroll td:last-child{padding-right:24px}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background .15s}
tbody tr:hover{background:#f6f8f9}
td strong{display:block;color:var(--text);font-weight:500}
td small{display:block;margin-top:2px;color:var(--text-3);font-size:11.5px}
td>a strong{display:inline}
td .badge+small{margin-top:5px}
.compact-table td,.compact-table th{padding:10px 12px}
.compact-table td:first-child,.compact-table th:first-child{padding-left:0}
.table-arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:var(--text-3);transition:background .2s,color .2s}
.table-arrow:hover{background:var(--primary-soft);color:var(--primary-text)}
.table-arrow .icon{width:16px;height:16px}
.channel-label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.channel-label .icon{width:15px;height:15px;color:var(--info-text)}
.identity{display:flex;align-items:center;gap:12px}
.identity .text-link{font-size:13.5px;color:var(--text)}
.identity .text-link:hover{color:var(--primary-text)}
.pet-names{display:flex;flex-wrap:wrap;gap:6px}
.pet-names>span:not(.muted){display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:14px;background:var(--panel-3);font-size:14px;color:var(--text)}
.pet-names .icon{width:13px;height:13px;color:var(--primary)}
.pagination-wrapper{margin:0 -24px -22px;padding:14px 24px;border-top:1px solid var(--line)}
.pagination-wrapper:empty{display:none}
.pager{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.pager-info{font-size:14px;color:var(--text-3)}
.pager-list{display:flex;gap:4px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.pager-link{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 9px;border-radius:var(--radius);border:1px solid var(--line-2);background:#fff;font-size:14px;color:var(--text-2);transition:background .2s,color .2s,border-color .2s}
a.pager-link:hover{border-color:var(--primary);color:var(--primary-text)}
.pager-link.is-current{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff;font-weight:600}
.pager-link.is-disabled{opacity:.45}
.pager-link.is-gap{min-width:20px;border:0;background:none}

/* ---------- modais e recolhíveis ---------- */
dialog.modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:0;border-radius:var(--radius-lg);background:#fff;color:var(--text-2);box-shadow:var(--pop-shadow)}
dialog.modal>form{padding:22px 24px 24px}
dialog.modal>form>p{font-size:15px;color:var(--text-2);margin-bottom:14px}
dialog.modal::backdrop{background:rgba(20,30,40,.5)}
dialog.modal[open]{animation:modal-in .3s var(--ease)}
@keyframes modal-in{from{opacity:0;transform:translateY(14px) scale(.98)}}
.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-22px -24px 18px;padding:15px 18px 14px 24px;border-bottom:1px solid var(--line)}
.modal-heading h2{font-size:18px;font-weight:600}
dialog .alert{margin-bottom:16px;box-shadow:none}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
.contract-preview{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}
.contract-preview>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:500;color:var(--primary-text);transition:color .2s}
.contract-preview>summary:hover{color:var(--primary-hover)}
.contract-preview>summary .icon{width:15px;height:15px;margin-left:auto}
.contract-preview[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}
.contract-preview[open]>summary .icon{transform:rotate(180deg)}
.contract-preview>:not(summary){margin:0 14px 14px}
.contract-preview>p{font-size:12.5px;color:var(--text-2)}
.contract-preview>iframe{display:block;width:calc(100% - 28px)!important;border-radius:var(--radius);background:#fff;border:1px solid var(--line)!important}
.contract-text{max-height:440px;overflow:auto;padding:16px 18px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);font-size:12.5px;line-height:1.75;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere}
.form-card>.contract-text{max-height:none;background:var(--panel-2)}
.contract-text code{display:inline-block;margin:3px 2px;padding:2px 7px;border-radius:4px;background:var(--primary-soft);color:var(--primary-text);white-space:nowrap}
.product-card .contract-preview{margin-top:auto}
.workspace-details{margin-top:16px;border-radius:var(--radius);border:1px dashed var(--line-2)}
.workspace-details>summary{display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:15px;font-weight:500;color:var(--primary-text)}
.workspace-details>summary .icon{width:16px;height:16px}
.workspace-details>summary:hover{color:var(--primary-hover)}
.workspace-details[open]{border-style:solid;border-color:var(--line);background:var(--panel-2)}
.workspace-details[open]>summary{border-bottom:1px solid var(--line)}
.workspace-details>form{padding:16px}

/* ---------- indicadores (como os gráficos de pizza do BlurAdmin) ---------- */
.metrics-grid,.analytics-kpis,.report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:22px}
.three-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric-card{display:grid;grid-template-columns:66px minmax(0,1fr);grid-template-areas:"icon label" "icon value" "icon detail";column-gap:16px;align-items:center;padding:20px}
.metric-top{display:contents}
.metric-top>span:first-child{grid-area:label;align-self:end;font-size:13px;font-weight:500;color:var(--text-2)}
.metric-icon{grid-area:icon;align-self:center;width:66px;height:66px;background:var(--panel-3);box-shadow:none}
.metric-icon .icon{width:24px;height:24px}
.metric-value{grid-area:value;font-size:24px;font-weight:300;line-height:1.3;letter-spacing:-.3px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric-detail{grid-area:detail;align-self:start;font-size:13px;color:var(--text-3);line-height:1.45}

/* ---------- painel de resultados ---------- */
.analytics-filters,.commission-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px 16px;align-items:end;margin-bottom:16px}
.analytics-filter-actions,.commission-filter-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.employee-search{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto}
.employee-search>.button{align-self:end}
.analytics-context{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin:0 0 20px;font-size:14px;color:var(--text-3)}
.analytics-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;background:var(--panel-3);border:1px solid var(--line-2);font-size:13px;font-weight:500;color:var(--text-2);white-space:nowrap}
.analytics-badge.is-active{background:var(--success-soft);border-color:rgba(131,172,56,.45);color:var(--success-text)}
td .analytics-badge+small{margin-top:5px}
.analytics-note{margin:10px 0 0;font-size:14px;color:var(--text-3);line-height:1.65}
.analytics-note a{color:var(--primary-text);text-decoration:underline;text-underline-offset:2px}
.analytics-kpis+.analytics-note{margin:-8px 0 20px}
.analytics-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:6px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--panel-shadow)}
.analytics-strip>div{display:flex;flex-direction:column;gap:4px;padding:16px 18px;min-width:0}
.analytics-strip>div+div{border-left:1px solid var(--line)}
.analytics-strip small{font-size:13px;color:var(--text-3);line-height:1.4}
.analytics-strip strong{font-size:19px;font-weight:400;color:var(--text);font-variant-numeric:tabular-nums}
.analytics-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px}
.analytics-chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px;font-size:14px;color:var(--text-2)}
.analytics-chart-legend span{display:inline-flex;align-items:center;gap:7px}
.analytics-chart-legend i{width:10px;height:10px;border-radius:3px}
.legend-sale{background:var(--info)}.legend-received{background:var(--success)}.legend-paid{background:var(--chrome)}
.analytics-revenue-chart{min-height:220px}
.analytics-revenue-chart svg{display:block;width:100%;height:auto}
.analytics-revenue-chart rect{transition:opacity .2s}
.analytics-revenue-chart rect:hover{opacity:.8}
.analytics-data-table{margin-top:14px;border-top:1px solid var(--line)}
.analytics-data-table>summary{padding:12px 0 2px;font-size:14px;font-weight:500;color:var(--primary-text)}
.analytics-data-table .table-scroll{margin-top:10px}
.analytics-conversion{display:flex;align-items:baseline;gap:10px;margin-bottom:18px}
.analytics-conversion strong{font-size:44px;font-weight:200;line-height:1;letter-spacing:-1px;color:var(--text)}
.analytics-conversion strong small{font-size:22px;font-weight:300}
.analytics-conversion span{font-size:14px;color:var(--text-3)}
.analytics-funnel-step{margin-bottom:15px}
.analytics-funnel-step>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:14px;color:var(--text-2)}
.analytics-funnel-step strong{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}
.analytics-progress{height:6px;border-radius:6px;background:var(--panel-3);overflow:hidden}
.analytics-progress span{display:block;height:100%;border-radius:inherit;background:var(--primary)}
td .analytics-progress{width:130px;margin:6px 0 3px}
.analytics-funnel-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--text-3)}
.analytics-territory .card-heading>.analytics-badge{flex-shrink:0}
.analytics-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.analytics-map-tabs{display:inline-flex;padding:3px;border-radius:20px;background:var(--panel-3);border:1px solid var(--line)}
.analytics-map-tabs button{padding:6px 16px;border:0;border-radius:16px;background:none;font-size:14px;font-weight:500;color:var(--text-3);transition:background .2s,color .2s}
.analytics-map-tabs button:hover{color:var(--text)}
.analytics-map-tabs button[aria-selected=true]{background:#fff;color:var(--primary-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.analytics-map-breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-3)}
.analytics-map-breadcrumb a{color:var(--primary-text)}
.analytics-territory-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px}
.analytics-map-column{min-width:0}
.analytics-map{position:relative;min-height:300px;border-radius:var(--radius-lg);background:var(--panel-2);border:1px solid var(--line);overflow:hidden}
.analytics-map svg{display:block;width:100%;height:auto}
.analytics-map path,.analytics-map circle{stroke:#fff;stroke-width:.9;cursor:pointer;transition:fill-opacity .2s,stroke .2s}
.analytics-map path:hover,.analytics-map path:focus,.analytics-map circle:hover,.analytics-map circle:focus{stroke:var(--chrome);stroke-width:1.6;outline:0}
.analytics-map .is-selected{stroke:var(--warning)!important;stroke-width:2.4!important}
.analytics-map text{fill:var(--text);font-family:var(--font);font-weight:500;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
.analytics-map-tooltip{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);padding:7px 11px;border-radius:var(--radius);background:var(--chrome);color:#fff;box-shadow:var(--pop-shadow);font-size:14px;pointer-events:none}
.analytics-loading{display:flex;align-items:center;justify-content:center;min-height:300px;padding:24px;text-align:center;font-size:14px;color:var(--text-3)}
.analytics-map-scale{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:var(--text-3)}
.analytics-map-scale i{flex:1;max-width:220px;height:8px;border-radius:8px;background:linear-gradient(90deg,#e3e8eb,#c2e4eb,#08649a,#14264b)}
.analytics-location-list h3,.analytics-neighborhoods h3{font-size:16px}
.analytics-location-list>p,.analytics-neighborhoods p{margin:3px 0 14px;font-size:14px;color:var(--text-3)}
.analytics-location-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;margin-bottom:6px;border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line);transition:background .2s,border-color .2s}
.analytics-location-row:hover{background:#fff;border-color:var(--primary)}
.analytics-location-row strong{display:block;font-size:15px;font-weight:500;color:var(--text)}
.analytics-location-row small{color:var(--text-3)}
.analytics-location-row b{display:flex;flex-direction:column;align-items:flex-end;font-size:18px;font-weight:400;line-height:1.2;color:var(--text)}
.analytics-location-row b small{font-size:12px}
.analytics-empty{padding:22px 14px;text-align:center;font-size:14px;color:var(--text-3)}
.analytics-empty strong{display:block;color:var(--text);font-weight:500;margin-bottom:4px}
.analytics-quality-note{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:var(--radius);background:var(--warning-soft);font-size:14px;color:var(--warning-text)}
.analytics-quality-note .icon{width:16px;height:16px}
.analytics-neighborhoods{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.analytics-neighborhoods .eyebrow{font-size:10px}
.analytics-neighborhood-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.analytics-neighborhood{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--radius-lg);border:1px solid var(--line-2);background:var(--primary-soft);transition:transform .2s var(--ease),box-shadow .2s}
.analytics-neighborhood:hover{transform:translateY(-2px);box-shadow:0 6px 14px -8px rgba(0,0,0,.3)}
.analytics-neighborhood strong{display:block;font-size:15px;font-weight:500;color:var(--text)}
.analytics-neighborhood small{color:var(--text-2)}
.analytics-neighborhood b{font-size:18px;font-weight:400;color:var(--text)}
.analytics-neighborhood b small{font-size:13px}
.analytics-neighborhood .analytics-progress{background:rgba(255,255,255,.7)}
.analytics-rank{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:6px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text);font-size:13px;font-weight:600}
td strong .analytics-rank{vertical-align:middle}

/* ---------- ficha do tutor ---------- */
.workspace-nav{position:sticky;top:calc(var(--topbar-h) + 10px);z-index:20;display:flex;gap:4px;flex-wrap:wrap;width:max-content;max-width:100%;margin-bottom:20px;padding:4px;border-radius:24px;background:#fff;box-shadow:var(--panel-shadow)}
.workspace-nav a{padding:7px 16px;border-radius:20px;font-size:14px;font-weight:500;color:var(--text-2);transition:background .2s,color .2s}
.workspace-nav a:hover{background:var(--primary-strong);color:#fff}
.workspace-stack{display:flex;flex-direction:column;gap:22px}
.workspace-section{scroll-margin-top:calc(var(--topbar-h) + 72px)}
.workspace-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin:0 0 14px;border-radius:var(--radius-lg);overflow:hidden;background:var(--panel-2);border:1px solid var(--line)}
.workspace-summary>div{padding:12px 16px;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}
.workspace-summary dt{font-size:12px;font-weight:600;color:var(--text-3)}
.workspace-summary dd{margin:3px 0 0;font-size:15px;color:var(--text);overflow-wrap:anywhere}
.workspace-pet-card,.subscription-block{padding:18px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line-2)}
.workspace-pet-card{scroll-margin-top:calc(var(--topbar-h) + 72px)}
.workspace-pet-header{display:flex;align-items:center;gap:14px}
.workspace-pet-header>div{flex:1;min-width:0}
.workspace-pet-header p{font-size:14px;color:var(--text-2)}
.workspace-pet-header small{color:var(--text-3)}
.workspace-pet-summary{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}
.workspace-pet-summary>strong{font-size:13px;font-weight:600;color:var(--text-3)}
.workspace-pet-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.workspace-pet-card>.fine-print{margin-top:12px}
.subscription-block~.subscription-block{margin-top:14px}
.subscription-block{scroll-margin-top:calc(var(--topbar-h) + 72px)}
.subscription-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.subscription-top .eyebrow{font-size:10px}
.subscription-top p{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:14px;color:var(--text-2)}
.subscription-top p .icon{width:14px;height:14px;color:var(--primary)}
.subscription-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.subscription-details>div{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.subscription-details small{font-size:12px;font-weight:600;color:var(--text-3)}
.subscription-details strong{font-size:15px;font-weight:500;color:var(--text)}
.benefits-mini{display:flex;flex-direction:column}
.benefits-mini>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px dashed var(--line-2);font-size:14px}
.benefits-mini>div:last-child{border-bottom:0}
.benefits-mini>div>span:first-child{color:var(--text)}
.benefits-mini>div>span:last-child{text-align:right;font-size:14px}
.subscription-actions{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center;margin-top:14px}

/* ---------- portal do tutor ---------- */
.tone-red{--tone:var(--danger);--tone-text:var(--danger-text);--tone-soft:var(--danger-soft)}

.benefit-availability{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;max-width:52%;text-align:right;font-size:14px;color:var(--text-3)}
.benefit-availability>span{display:inline-flex;align-items:center;gap:5px;font-weight:500}
.benefit-availability .icon{width:15px;height:15px}
.benefit-availability.is-ok>span{color:var(--success-text)}
.benefit-availability.is-used>span{color:var(--warning-text)}
.benefit-availability.is-info>span{color:var(--info-text)}

/* ---------- catálogo ---------- */
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.product-card{display:flex;flex-direction:column;gap:12px;padding:24px;overflow:hidden;border-top:4px solid var(--primary);transition:box-shadow .3s}
.product-package{border-top-color:var(--info)}
.product-card:hover{box-shadow:0 2px 4px rgba(0,0,0,.05),0 16px 30px -14px rgba(0,0,0,.25)}
.product-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.product-symbol{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text)}
.product-package .product-symbol{background:var(--info-soft);color:var(--info-text)}
.product-symbol .icon{width:22px;height:22px}
.product-card>.eyebrow{margin:4px 0 -6px;font-size:10px}
.product-card>h2{font-size:19px;font-weight:500}
.product-description{font-size:12.5px;color:var(--text-2)}
.product-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:34px;font-weight:300;line-height:1.1;letter-spacing:-.8px;color:var(--text)}
.product-price>span{font-size:15px;font-weight:400;letter-spacing:0;color:var(--text-2)}
.product-price small{font-size:12.5px;font-weight:400;letter-spacing:0;color:var(--text-3)}
.product-meta{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:12px;color:var(--text-2)}
.product-meta>span{display:inline-flex;align-items:center;gap:6px}
.product-meta .icon{width:14px;height:14px;color:var(--text-3)}
.product-benefits{display:flex;flex-direction:column;gap:10px}
.product-benefits>div{display:flex;gap:10px;align-items:flex-start}
.product-benefits strong{display:block;font-size:13px;font-weight:500;color:var(--text)}
.product-benefits small{display:block;color:var(--text-3);line-height:1.5}
.benefit-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-top:1px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text)}
.product-package .benefit-check{background:var(--info-soft);color:var(--info-text)}
.benefit-check .icon{width:12px;height:12px}
.product-card>.button,.product-card>.fine-print{margin-top:4px}
.product-card>.button{background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);background-size:250% 100%;background-position:120% 0;transition:background-position .9s var(--ease),background-color .15s,box-shadow .2s,border-color .15s,color .15s}
.product-card:hover>.button{background-position:-20% 0}
.version-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.version-actions form{display:inline}
.detail-price{margin-left:auto;text-align:right;font-size:24px;font-weight:300;color:var(--text);white-space:nowrap}
.detail-price small{display:block;font-size:13px;color:var(--text-3)}

/* ---------- proposta e atendimento ---------- */
.activation-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.activation-checks>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:var(--radius-lg);background:var(--panel-2);border:1px solid var(--line);font-size:14px;color:var(--text-2)}
.activation-checks>div>.icon{width:20px;height:20px;color:var(--primary)}
.activation-checks strong{font-size:15px;font-weight:500;color:var(--text)}
.document-list{display:flex;flex-direction:column;gap:10px;margin:18px 0 14px}
.document-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--panel-2);border:1px solid var(--line)}
.document-row>div{flex:1;min-width:0}
.document-row strong{display:block;font-size:15px;font-weight:500;color:var(--text)}
.document-row small{color:var(--text-3)}
.eligibility-result{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:var(--radius);border:1px solid;border-left-width:4px}
.eligibility-result>.icon{width:22px;height:22px}
.eligibility-result strong{display:block;font-weight:600;color:var(--text)}
.eligibility-result p{font-size:14px;color:var(--text-2)}
.eligibility-result small{display:block;margin-top:3px;color:var(--text-3)}
.is-eligible{background:#f7fbea;border-color:#dceaa9;border-left-color:var(--success)}
.is-eligible>.icon{color:var(--success-text)}
.is-denied{background:#fdf2f2;border-color:#f3c9c9;border-left-color:var(--danger)}
.is-denied>.icon{color:var(--danger-text)}

/* ---------- financeiro ---------- */
.finance-record{padding:18px 0;border-bottom:1px solid var(--line)}
.finance-record:last-of-type{border-bottom:0}
.finance-record-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.finance-record-identity h3{font-size:17px;font-weight:500}
.finance-record-identity p{font-size:14px;color:var(--text-2)}
.finance-record-identity small{color:var(--text-3)}
.finance-record-status{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.finance-record-label{font-size:12px;font-weight:600;color:var(--text-3)}
.finance-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 12px;border-radius:var(--radius-lg);overflow:hidden;background:var(--panel-2);border:1px solid var(--line)}
.finance-record-field{padding:11px 14px;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}
.finance-record-field dt{font-size:12px;font-weight:600;color:var(--text-3)}
.finance-record-field dd{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:4px 0 0;font-size:15px;color:var(--text)}
.finance-record-field small{font-size:13px;color:var(--text-3)}
.finance-record-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.finance-records>.pagination-wrapper{margin-top:4px}

/* ---------- relatórios ---------- */
.reports-scope .report-filter{padding:22px 24px;margin-bottom:24px}
.report-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-22px -24px 20px;padding:15px 24px 14px;border-bottom:1px solid var(--line)}
.report-filter-heading h2{font-size:18px;font-weight:600}
.report-filter-heading p{margin-top:3px;font-size:14px;color:var(--text-3)}
.report-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}
.report-filter-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.report-filter-actions small{margin-left:auto;color:var(--text-3)}
.report-scope{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:var(--primary-text);white-space:nowrap}
.report-scope .icon{width:16px;height:16px}
.reports-scope .report-stats{margin-bottom:16px}
.report-chips{display:flex;gap:10px;flex-wrap:wrap}
.report-chips span{padding:5px 12px;border-radius:16px;background:#fff;border:1px solid var(--line-2);font-size:14px;color:var(--text-2)}
.report-note{margin-top:12px;font-size:14px;color:var(--text-3);line-height:1.7}
.report-financial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0 24px}
.report-money{padding:22px 24px;min-width:0}
.report-money h2{font-size:16px;font-weight:600;color:var(--text-2)}
.report-money .money{margin:8px 0;font-size:32px;font-weight:300;letter-spacing:-.6px;color:var(--text);font-variant-numeric:tabular-nums}
.report-money p{font-size:14px;color:var(--text-3)}
.reports-scope .report-section{margin-bottom:24px}
.report-table{min-width:1120px;table-layout:fixed}
.report-table td{vertical-align:top;white-space:normal;overflow-wrap:anywhere;line-height:1.65}
.report-table th,.report-link-table th{white-space:normal;vertical-align:bottom}
.report-table th:nth-child(1){width:17%}.report-table th:nth-child(2){width:13%}.report-table th:nth-child(3){width:16%}.report-table th:nth-child(4){width:19%}.report-table th:nth-child(5){width:12%}.report-table th:nth-child(6){width:13%}.report-table th:nth-child(7){width:10%}
.report-table td>strong+strong,.report-table td>small+strong{margin-top:8px}
.report-detail{margin-top:8px;font-size:14px}
.report-detail>summary{color:var(--primary-text);font-weight:500}
.report-detail dl{margin:8px 0 0}
.report-detail dt{margin-top:6px;font-weight:500;color:var(--text)}
.report-detail dd{margin:0;color:var(--text-3)}
.report-status{white-space:normal;line-height:1.5}
.report-link-table{min-width:850px}
.report-link-table td{vertical-align:top}
.report-numeric{font-size:16px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--text)!important}
.report-empty{padding:34px 24px!important;text-align:center;color:var(--text-3)}
.report-section>div[style]{padding:0!important;margin-bottom:6px}
.report-definition{padding:0!important;margin-bottom:20px}
.report-definition>summary{padding:16px 24px;font-size:16px;font-weight:600;color:var(--text)}
.report-definition>summary::after{content:"+";float:right;font-size:18px;line-height:1;color:var(--text-3)}
.report-definition[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}
.report-definition[open]>summary::after{content:"–"}
.report-definition dl{display:grid;grid-template-columns:200px minmax(0,1fr);gap:10px 22px;margin:0;padding:4px 24px 22px;font-size:14px;line-height:1.75}
.report-definition dt{font-weight:500;color:var(--text)}
.report-definition dd{margin:0;color:var(--text-3)}

/* ---------- integrações e equipe ---------- */
.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:22px}
.integration-card{display:flex;flex-direction:column;gap:8px}
.integration-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.provider-logo{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;font-size:22px;font-weight:600;color:#fff}
.provider-vindi{background:#7a9d00}
.provider-simplesvet{background:#1f8eb0}
.provider-tudoprapet{background:#c79a0f}
.integration-category{font-size:13px;font-weight:600;color:var(--primary-text)}
.integration-card p{font-size:14px;color:var(--text-2)}
.integration-state{display:flex;align-items:flex-start;gap:4px;margin-top:4px;padding:10px 12px;border-radius:var(--radius);background:var(--panel-2);font-size:14px;color:var(--text-2)}
.integration-state .small-dot{margin-top:6px}
.integration-date{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.integration-date small{color:var(--text-3)}
.integration-date strong{font-size:15px;font-weight:500;color:var(--text)}
.event-error{display:block;max-width:340px;color:var(--text-3)}
td form .text-button{margin-top:6px}
.employee-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-start}

/* ---------- site público ---------- */
.public-body{display:flex;flex-direction:column;min-height:100vh}
.public-header{position:sticky;top:0;z-index:60;display:flex;justify-content:space-between;align-items:center;gap:16px;height:78px;padding:0 clamp(16px,4vw,56px);background:var(--chrome);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:height .35s var(--ease),box-shadow .3s}
.public-header.is-scrolled{height:64px;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.public-header nav{display:flex;align-items:center;gap:12px}
.public-header .button-secondary{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.public-header .button-secondary:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.public-brand{display:flex;align-items:center;gap:14px}
.public-brand .brand-logo{width:auto;height:58px;transition:height .35s var(--ease)}
.public-header.is-scrolled .brand-logo{height:46px}
.brand-context{padding-left:14px;border-left:1px solid rgba(255,255,255,.25);font-size:11px;font-weight:600;letter-spacing:2.4px;color:rgba(255,255,255,.8)}
.public-main{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:36px clamp(16px,4vw,40px) 20px}
.public-main>.alert{margin-top:4px}
.public-container{max-width:640px;margin:0 auto}
.public-container>.card{margin:40px auto!important}
.public-container h1{margin:4px 0 8px}
.public-container p{color:var(--text-2);font-size:13.5px}
.public-container form{margin-top:16px}
.public-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px 30px;padding:22px clamp(16px,4vw,56px);background:var(--chrome);font-size:12px;color:rgba(255,255,255,.65)}
.public-footer>span:nth-child(2){text-align:center}
.public-footer>span{display:inline-flex;align-items:center;gap:6px}
.public-footer>span:last-child .icon{width:14px;height:14px}
.footer-wordmark{display:flex;align-items:center;gap:14px}
.footer-wordmark img{width:auto;height:44px}
.footer-wordmark span{max-width:150px;font-size:12px;line-height:1.4;color:rgba(255,255,255,.85)}
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:80;transform:scaleX(0);transform-origin:0 50%;background:var(--primary);pointer-events:none}

.sales-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;min-height:calc(100vh - 170px);padding:10px 0 40px}
.banner-kicker{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;font-weight:600;letter-spacing:2.2px;color:var(--primary-text)}
.tiny-line{display:inline-block;width:36px;height:2px;background:var(--primary)}
.sales-hero h1{margin:18px 0 18px;font-size:clamp(38px,5.4vw,64px);font-weight:300;line-height:1.08;letter-spacing:-1.5px;color:var(--text)}
.sales-hero h1 em{position:relative;font-style:normal;font-weight:500;color:var(--primary-text)}
.sales-hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:3px;background:var(--primary);transform:scaleX(var(--underline,1));transform-origin:0 50%}
.sales-hero p{max-width:520px;margin-bottom:28px;font-size:15.5px;color:var(--text-2)}
.sales-hero .button{min-height:48px;padding:0 26px;font-size:14px}
.sales-hero-note{display:flex;align-items:center;gap:8px;margin-top:22px;font-size:12.5px;color:var(--text-3)}
.sales-hero-note .icon{width:16px;height:16px;color:var(--primary)}
.sales-art{position:relative;display:flex;justify-content:center;align-items:center;min-height:460px}
.sales-art-circle{position:relative;display:flex;align-items:flex-end;justify-content:center;width:min(420px,80vw);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 0 14px rgba(8,100,154,.08),0 30px 60px -30px rgba(0,0,0,.35);overflow:hidden}
.sales-art-circle svg{width:78%;height:auto;margin-bottom:-2%}
.sales-spark{position:absolute;top:16%;right:18%;font-size:26px;color:var(--warning)}
.sales-orb{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:#fff;box-shadow:0 10px 24px -8px rgba(0,0,0,.3)}
.sales-orb .icon{width:26px;height:26px}
.orb-shield{top:8%;left:6%;color:var(--primary)}
.orb-paw{bottom:18%;right:2%;color:var(--info)}
.sales-floating-badge{position:absolute;left:0;bottom:10%;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--radius-lg);background:#fff;box-shadow:0 14px 30px -12px rgba(0,0,0,.3);font-size:12.5px;color:var(--text-2)}
.sales-floating-badge>.icon{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--danger-soft);color:var(--danger)}
.sales-floating-badge strong{display:block;color:var(--text);font-weight:500}
.sales-art-word{position:absolute;right:4%;bottom:0;font-size:13px;font-style:italic;color:var(--text-3)}
.sales-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:70px}
.sales-values>div{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--panel-shadow)}
.sales-values>div>.icon{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text)}
.sales-values span{font-size:12.5px;color:var(--text-3)}
.sales-values strong{display:block;margin-bottom:2px;font-size:14px;font-weight:500;color:var(--text)}
.sales-catalog{scroll-margin-top:90px;margin-bottom:70px}
.sales-section-heading{max-width:640px;margin:0 auto 28px;text-align:center}
.sales-section-heading .eyebrow{display:block}
.sales-section-heading h2{font-size:clamp(26px,3.4vw,36px);font-weight:300;line-height:1.2;letter-spacing:-.6px}
.sales-section-heading p{margin-top:10px;font-size:14px;color:var(--text-2)}
.sales-how{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:40px;align-items:center;margin-bottom:60px;padding:40px;border-radius:var(--radius-lg);background:var(--chrome);color:rgba(255,255,255,.75);box-shadow:var(--panel-shadow)}
.sales-how h2{margin:6px 0 10px;font-size:30px;font-weight:300;color:#fff}
.sales-how .eyebrow{color:#b9dc7c}
.sales-how-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sales-how-steps::before{content:"";position:absolute;top:22px;left:22px;right:22px;height:2px;background:var(--primary);transform:scaleX(var(--progress,1));transform-origin:0 50%}
.sales-how-steps>div{position:relative}
.sales-how-steps span{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:14px;border-radius:50%;background:var(--primary);border:4px solid var(--chrome);box-shadow:0 0 0 2px var(--primary);font-size:14px;font-weight:600;color:#fff}
.sales-how-steps strong{display:block;margin-bottom:4px;font-size:14.5px;font-weight:500;color:#fff}
.sales-how-steps p{font-size:12.5px;color:rgba(255,255,255,.65)}
.auth-register{margin-top:20px;text-align:center;font-size:13px;color:var(--text-3)}
.auth-register a{font-weight:500;color:var(--primary-text)}
.auth-register a:hover{color:var(--primary-hover);text-decoration:underline}
.public-main>.card.form-card{max-width:980px;margin-left:auto;margin-right:auto}
.public-main>.card.form-card iframe{border-radius:var(--radius);border-color:var(--line)!important;background:#fff}

/* ---------- responsivo ---------- */
@media (max-width:1280px){
  .metrics-grid,.analytics-kpis,.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .three-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .analytics-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .analytics-strip>div:nth-child(4){border-left:0}
  .analytics-strip>div:nth-child(n+4){border-top:1px solid var(--line)}
  .report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .benefit-editor{grid-template-columns:repeat(3,minmax(0,1fr)) 36px}
  .benefit-editor>.field:nth-child(2){grid-column:span 2}
}
@media (max-width:1100px){
  .analytics-main-grid,.analytics-territory-grid{grid-template-columns:minmax(0,1fr)}
  .analytics-neighborhoods{grid-template-columns:minmax(0,1fr)}
  .integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-layout{grid-template-columns:minmax(0,1fr)}
  .form-layout>aside{position:static}
  .finance-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sales-hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .sales-art{min-height:400px}
  .sales-how{grid-template-columns:minmax(0,1fr);padding:30px}
}
@media (max-width:1024px){
  .topbar{padding-right:14px}
  .topbar-brand,.sidebar-collapsed .topbar-brand{width:auto;padding:0 6px 0 14px}
  .topbar-brand img,.sidebar-collapsed .topbar-brand img{height:42px}
  .sidebar,.sidebar-collapsed .sidebar{width:var(--sidebar-w);transform:translateX(-102%)}
  .sidebar.is-open{transform:none;box-shadow:var(--pop-shadow)}
  .sidebar-collapsed .nav-link{justify-content:flex-start;padding:11px 22px}
  .sidebar-collapsed .nav-link>span,.sidebar-collapsed .nav-group-label{display:block}
  .sidebar-collapsed .nav-group+.nav-group{border-top:0;padding-top:0}
  .sidebar-collapsed .nav-dot{position:static}
  .sidebar-overlay{position:fixed;inset:var(--topbar-h) 0 0;z-index:45;display:block;background:rgba(20,30,40,.45);opacity:0;pointer-events:none;transition:opacity .3s}
  .sidebar-overlay.is-open{opacity:1;pointer-events:auto}
  .main-shell,.sidebar-collapsed .main-shell{margin-left:0}
  .main-content{padding:24px 20px 0}
  .topbar-search{width:220px;height:40px}
  .topbar-portal,.user-menu-name{display:none}
}
@media (max-width:768px){
  :root{--topbar-h:58px}
  .topbar-search,.branch-name{display:none}
  .page-heading{align-items:flex-start}
  .page-heading h1{font-size:24px;letter-spacing:-.2px}
  .metrics-grid,.analytics-kpis,.report-stats,.three-metrics{grid-template-columns:minmax(0,1fr)}
  .analytics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-strip>div:nth-child(odd){border-left:0}
  .analytics-strip>div:nth-child(4){border-left:1px solid var(--line)}
  .analytics-strip>div:nth-child(n+3){border-top:1px solid var(--line)}
  .form-grid,.report-filters{grid-template-columns:minmax(0,1fr)}
  .employee-search{grid-template-columns:minmax(0,1fr)}
  .wizard-steps{grid-template-columns:minmax(0,1fr);gap:8px}
  .wizard-step{padding:10px 14px}
  .integration-grid,.activation-checks,.subscription-details{grid-template-columns:minmax(0,1fr)}
  .finance-record-grid{grid-template-columns:minmax(0,1fr)}
  .finance-record-heading{flex-direction:column}
  .finance-record-status{align-items:flex-start}
  .finance-record-actions{justify-content:flex-start}
  .report-financial{grid-template-columns:minmax(0,1fr);gap:14px}
  .report-filter-heading{flex-direction:column;align-items:flex-start}
  .report-filter-actions small{margin-left:0}
  .report-definition dl{grid-template-columns:minmax(0,1fr);gap:2px}
  .report-definition dd{margin-bottom:10px}
  
  
  
  
  
  
  
  
  
  .benefit-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}
  .benefit-editor>.field:nth-child(1),.benefit-editor>.field:nth-child(2){grid-column:1/-1}
  .filter-bar select{flex:1}
  .search-input{max-width:none;flex-basis:100%}
  .filter-count{margin-left:0}
  .card{padding:18px}
  .card-heading,.report-filter-heading{margin:-18px -18px 16px;padding:14px 18px}
  .card>.table-scroll{margin:0 -18px}
  .card>.table-scroll:last-child{margin-bottom:-18px}
  .card-heading+.table-scroll{margin-top:-16px}
  .pagination-wrapper{margin:0 -18px -18px;padding:12px 18px}
  .sales-values{grid-template-columns:minmax(0,1fr)}
  .sales-how-steps{grid-template-columns:minmax(0,1fr)}
  .sales-how-steps::before{top:22px;bottom:22px;left:22px;right:auto;width:2px;height:auto;transform:scaleY(var(--progress,1));transform-origin:50% 0}
  .sales-how-steps>div{padding-left:64px}
  .sales-how-steps span{position:absolute;left:0;top:0}
  .sales-art{min-height:340px}
  .sales-floating-badge{bottom:2%}
  .public-header{height:68px}
  .public-brand .brand-logo{height:48px}
  .brand-context{display:none}
  .public-footer{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
  .button,.button-small{min-height:40px}
  /* 16px evita o zoom automático do iPhone ao tocar no campo */
  :where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){font-size:16px}
  .motion-pending .main-content,.motion-pending .public-main{opacity:1}
  .scroll-progress{display:none}
  /* tabelas viram cartões; os rótulos vêm do app.js (data-label) */
  table.is-stackable{min-width:0!important;table-layout:auto!important}
  table.is-stackable thead{display:none}
  table.is-stackable,table.is-stackable tbody{display:block;width:100%}
  table.is-stackable tr{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:16px 18px;border-bottom:1px solid var(--line)}
  table.is-stackable tr:last-child{border-bottom:0}
  table.is-stackable td{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;width:auto!important;padding:0!important;border:0;white-space:normal;overflow-wrap:anywhere}
  table.is-stackable td::before{content:attr(data-label);font-size:10.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);line-height:1.4}
  table.is-stackable td:first-child,table.is-stackable td.cell-full,table.is-stackable td.cell-action{grid-column:1/-1}
  table.is-stackable td:first-child{padding-right:44px!important;font-size:14px}
  table.is-stackable td:first-child::before,table.is-stackable td.cell-full::before,table.is-stackable td.cell-action::before{display:none}
  table.is-stackable td.cell-arrow{position:absolute;top:12px;right:10px}
  table.is-stackable td small{margin-top:0}
  table.is-stackable .badge{white-space:normal}
  table.is-stackable td.cell-full .empty-state{padding:30px 10px}
}
@media (max-width:520px){
  table.is-stackable tr{grid-template-columns:minmax(0,1fr)}
  .topbar-left{gap:6px}
  .page-actions,.analytics-heading-actions{width:100%}
  /* base pelo conteúdo: dois botões que não cabem lado a lado quebram a linha em vez de vazar */
  .page-actions .button,.analytics-heading-actions .button{flex:1 1 auto}
  
  .benefit-availability{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 10px;max-width:none;text-align:left}
  
  
  .plan-choice-top{flex-wrap:wrap}
  .plan-choice-price{text-align:left;width:100%;padding-left:32px}
  .analytics-strip{grid-template-columns:minmax(0,1fr)}
  .analytics-strip>div{border-left:0!important}
  .analytics-strip>div+div{border-top:1px solid var(--line)}
  .workspace-nav{width:100%}
  .workspace-nav a{flex:1;text-align:center;padding:7px 8px}
  .sales-hero h1{letter-spacing:-1px}
  .sales-orb{width:50px;height:50px}
  .public-header nav .button{padding:0 12px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{
  .topbar,.sidebar,.sidebar-overlay,.page-footer,.public-header,.public-footer{display:none!important}
  body{background:#fff}
  .main-shell{margin:0;padding:0}
  .card,.metric-card{box-shadow:none;border:1px solid #ddd}
}

/* Conferência e assinatura: etapas visíveis e recuperação de carregamento. */
.signing-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}
.signing-progress>div{position:relative;padding:17px 16px 17px 55px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg)}
.signing-progress>div>span{position:absolute;left:16px;top:20px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--panel-3);color:var(--text-3);font-size:14px}
.signing-progress strong,.signing-progress small{display:block}.signing-progress strong{font-size:14px;color:var(--text)}.signing-progress small{font-size:13px;color:var(--text-3);margin-top:4px}
.signing-progress .is-current{border-color:var(--primary)}.signing-progress .is-current>span{background:var(--primary);color:#fff}.signing-progress .is-complete>span{background:var(--success-soft);color:var(--success-text)}
.signing-contract{margin:24px 0 14px;padding-top:22px;border-top:1px solid var(--line);scroll-margin-top:90px}.signing-review-heading h3{font-size:16px;margin-bottom:6px}.signing-review-heading p{font-size:14px;color:var(--text-3);line-height:1.7}
.signing-document-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:16px 0}.signing-document-status{padding:13px 15px;background:var(--info-soft);border-radius:var(--radius);color:var(--info-text);font-size:14px;line-height:1.7;margin-bottom:12px}.signing-document-status.is-error{background:var(--warning-soft);color:var(--warning-text)}
.signing-pdf-frame{display:block;width:100%;height:720px;min-height:340px;border:1px solid var(--line-2);border-radius:var(--radius);background:#eef2f5}.signing-final{display:flex;justify-content:space-between;align-items:center;gap:18px}.signing-final .button{flex-shrink:0}
.signature-canvas{touch-action:none;user-select:none;-webkit-user-select:none}
.signing-pdf-frame[hidden]{display:none}
/* Navigation keeps the same row heights, logo and icon sizes in both states. */
@media(min-width:1025px){
 .topbar-brand,.sidebar-collapsed .topbar-brand{overflow:hidden}
 .topbar-brand img,.sidebar-collapsed .topbar-brand img{height:42px;max-width:60px;object-fit:contain;flex-shrink:0}
 .sidebar-collapsed .nav-link{padding:11px 0;gap:0}
 .sidebar-collapsed .nav-link>span{display:none}
 .sidebar-collapsed .nav-group-label{display:block;visibility:hidden;overflow:hidden}
 .sidebar-collapsed .nav-group+.nav-group{margin-top:6px;padding-top:0;border-top:0}
 .sidebar .nav-link .icon{flex:0 0 18px}
}
.nav-link.active{box-shadow:inset 4px 0 0 #b9dc7c}
.navigation-context{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:17px;font-size:14px;color:var(--text-3)}
.navigation-context strong{color:var(--primary-text);font-weight:500}.navigation-context a:hover{text-decoration:underline}
.navigation-context .context-label{font-size:12px}
.field.is-next-field{border-radius:var(--radius);outline:2px solid var(--primary);outline-offset:7px;scroll-margin-top:100px}
.field.is-next-field>small{color:var(--primary-text);font-weight:500}
.journey-hint{border-left:3px solid var(--primary);background:var(--info-soft);padding:12px 16px;margin:0 0 20px;border-radius:var(--radius);font-size:14px;color:var(--info-text)}
.journey-hint strong{display:block;margin-bottom:3px}
.error-recovery{max-width:760px;margin:50px auto}.error-recovery h1{margin:22px 0 15px}.error-recovery p+p{margin-top:12px}
.portfolio-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 12px;scroll-margin-top:95px}
.portfolio-insights .metric-card{min-width:0;display:flex;flex-direction:column;gap:8px}
.portfolio-insights .metric-detail{white-space:normal}.portfolio-insights small{font-size:13px;color:var(--text-3);line-height:1.7}
.portfolio-leader>strong{font-size:19px;line-height:1.5;color:var(--primary-text);overflow-wrap:anywhere}
.analytics-products-grid{grid-template-columns:1fr!important}
.dashboard-section-nav{flex-wrap:wrap;margin:20px 0}.dashboard-section-nav a{flex:0 1 auto}
.customer-profile-hero{display:flex;align-items:center;gap:20px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:22px}
.customer-profile-avatar{display:grid;place-items:center;flex:0 0 64px;height:64px;border-radius:18px;background:var(--panel-3);color:var(--text-2);font-size:28px;font-weight:500}
.customer-profile-identity{flex:1;min-width:0}.customer-profile-identity h1{font-size:27px;line-height:1.35;margin:4px 0 6px;overflow-wrap:anywhere}.customer-profile-identity p{font-size:14px;color:var(--text-3);overflow-wrap:anywhere}
.customer-profile-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;max-width:490px}.customer-profile-actions>.text-link{font-size:12px}
.customer-profile-tabs{position:sticky;top:calc(var(--topbar-h) + 8px);z-index:20;display:flex;flex-wrap:wrap;gap:4px;padding:5px;margin-bottom:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg)}
.customer-profile-tabs a{display:flex;align-items:center;justify-content:center;gap:7px;flex:1 1 auto;padding:11px 12px;border-radius:var(--radius);font-size:14px;font-weight:500;white-space:nowrap;color:var(--text-3)}
.customer-profile-tabs a:hover{background:var(--panel-2);color:var(--primary-text)}.customer-profile-tabs a[aria-selected=true]{background:var(--primary);color:#fff}.customer-profile-tabs a>span{padding:1px 6px;min-width:22px;border-radius:12px;background:var(--panel-3);font-size:12px;color:var(--text-2)}.customer-profile-tabs a[aria-selected=true]>span{color:#fff;background:rgba(255,255,255,.18)}
.customer-profile-tabs a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
[data-profile-panel],.customer-profile-panels .workspace-pet-card,.customer-profile-panels .subscription-block,.customer-profile-panels details{scroll-margin-top:calc(var(--topbar-h) + 122px)}
.profile-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.profile-section-title h2{font-size:20px;margin-bottom:6px}.profile-section-title p{font-size:14px;color:var(--text-3)}.profile-section-title>.button{flex-shrink:0}
.profile-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.profile-snapshot>a,.profile-snapshot>div{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg)}
.profile-snapshot>a:hover{border-color:var(--primary)}.profile-snapshot small{display:block;font-size:14px;color:var(--text-3)}.profile-snapshot strong{display:block;font-size:27px;line-height:1.4;color:var(--text)}.profile-snapshot>a>span:last-child{margin-left:auto;font-size:13px;color:var(--primary-text)}
.profile-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:22px;margin-bottom:22px}
.profile-overview-grid>.card,.profile-overview-pets{padding:22px}.profile-overview-grid h3,.profile-overview-pets h3{font-size:17px}
.profile-task{display:flex;align-items:center;gap:12px;padding:17px 0;border-top:1px solid var(--line)}.profile-task:first-of-type{border-top:0}.profile-task>div{flex:1;min-width:0}.profile-task strong{font-size:15px;color:var(--text)}.profile-task p{font-size:14px;color:var(--text-3);margin-top:5px}.profile-task>.button{flex-shrink:0}
.profile-empty-summary{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:10px 0}.profile-empty-summary p{font-size:14px;color:var(--text-3)}
.profile-financial-summary h3{margin:10px 0}.profile-financial-summary p{font-size:14px;color:var(--text-3);line-height:1.8;margin-bottom:18px}.profile-financial-summary>small{display:block;margin-top:18px;font-size:13px;color:var(--text-3)}
.profile-pet-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-pet-shortcuts>a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius)}.profile-pet-shortcuts>a:hover{border-color:var(--primary);background:var(--panel-2)}.profile-pet-shortcuts>a>div{flex:1;min-width:0}.profile-pet-shortcuts strong{font-size:15px}.profile-pet-shortcuts small{display:block;font-size:13px;color:var(--text-3);margin-top:3px}
.profile-pet-new-product{margin-top:14px;font-size:14px}.profile-contract-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:17px 0}.profile-contract-actions>.text-link{font-size:12px}.profile-history-body,.profile-detail-body{padding:18px}.profile-detail-body>.fine-print{margin-bottom:12px}.profile-detail-body>.text-link{display:inline-flex;margin-top:16px;font-size:12px}.profile-contract-management{background:var(--panel-2)}
.profile-finance-numbers>div{display:block;background:var(--panel-2)}.profile-finance-numbers>div>span{font-size:13px;color:var(--text-3)}
.profile-overview-grid .card-heading,.profile-overview-pets .card-heading{margin:0 0 18px;padding:0 0 16px}
.profile-critical{align-items:center}.profile-critical>.button{margin-left:auto;flex-shrink:0}
@media(max-width:1200px){.customer-profile-hero{flex-wrap:wrap}.customer-profile-actions{max-width:none;justify-content:flex-start;width:100%;padding-left:84px}.profile-overview-grid{grid-template-columns:1fr}.profile-snapshot>a>span:last-child{width:100%;margin:0}}
@media(max-width:700px){.customer-profile-hero{padding:18px;gap:14px}.customer-profile-avatar{flex-basis:48px;height:48px;font-size:23px;border-radius:13px;background:var(--panel-3);color:var(--text-2)}.customer-profile-identity h1{font-size:22px}.customer-profile-actions{padding-left:0}.customer-profile-actions>.button{flex:1 1 auto;justify-content:center}.customer-profile-tabs{gap:2px;top:calc(var(--topbar-h) + 4px)}.customer-profile-tabs a{padding:9px 6px;font-size:13px;flex:1 1 28%}.profile-snapshot{grid-template-columns:1fr;gap:10px}.profile-snapshot>a>span:last-child{width:auto;margin-left:auto}.profile-pet-shortcuts{grid-template-columns:1fr}.profile-task{flex-wrap:wrap}.profile-task>.button{margin-left:54px}.profile-section-title{align-items:flex-start;flex-direction:column;gap:12px}.profile-overview-grid>.card,.profile-overview-pets{padding:18px}.workspace-pet-header{flex-wrap:wrap}.workspace-pet-header>.button{margin-left:0;flex:1 1 100%;justify-content:center;white-space:normal}.profile-critical{flex-wrap:wrap}.profile-critical>.button{margin-left:0}}
#origem,#produtos,#cancelamentos,#resumo{scroll-margin-top:100px}
@media(max-width:1100px){.portfolio-insights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.portfolio-insights{grid-template-columns:1fr}.dashboard-section-nav a{font-size:13px;padding:8px}}
@media(max-width:700px){.signing-progress{grid-template-columns:1fr;gap:8px}.signing-progress>div{padding:13px 13px 13px 52px}.signing-progress>div>span{top:16px}.signing-final{flex-direction:column;align-items:stretch}.signing-final .button{justify-content:center}.signing-pdf-frame{height:65vh}.signing-document-actions .button{width:100%;justify-content:center}}

/* Stronger title contrast and section hierarchy across the site. */
:is(.main-shell,.public-body) :is(h1,h2,h3){color:#14264b;font-weight:600}
:is(.card-heading,.form-section-heading,.profile-section-title,.modal-heading) :is(h2,h3),.form-card>h2:first-child{color:#14264b;font-weight:600}
.section-caption{color:var(--text);font-weight:600;font-size:18px}
.eyebrow{color:#07527f}
.customer-profile-tabs a,.workspace-nav a{font-weight:600}
.signing-progress strong,.journey-hint strong,.profile-task strong,.profile-pet-shortcuts strong{color:#14264b;font-weight:600}

/* Clearer sections, quieter supporting text and a consistent regional map palette. */
.form-layout.form-layout-focused{grid-template-columns:minmax(0,1fr);max-width:1120px}
.analytics-kpi{}
.analytics-kpi .metric-top>span:first-child{color:var(--text);font-weight:600}
.analytics-methodology{margin:12px 0 20px;font-size:14px;color:var(--text-3)}
.analytics-methodology>summary{width:fit-content;color:var(--primary-text);font-weight:500;cursor:pointer}
.analytics-methodology>div{max-width:920px;padding:12px 16px;margin-top:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.analytics-methodology p+p{margin-top:8px}
.analytics-map{background:#f4f8fb;border-color:#cbdce8}
.analytics-map path,.analytics-map circle{vector-effect:non-scaling-stroke;stroke:#fff;stroke-width:1.2}
.analytics-map path:hover,.analytics-map path:focus-visible,.analytics-map circle:hover,.analytics-map circle:focus-visible{stroke:#14264b;stroke-width:2.8;outline:none}
.analytics-map .is-selected{stroke:#53751c!important;stroke-width:3!important;stroke-dasharray:6 3;paint-order:stroke fill}
.analytics-map .is-selected:focus-visible{stroke:#14264b!important;stroke-width:4!important}
.analytics-map text{font-weight:600;stroke-width:3.5;stroke-linejoin:round}
.analytics-map-tabs button{font-weight:600}
.analytics-map-tabs button[aria-selected=true]{background:#08649a;color:#fff;box-shadow:none}
.analytics-map-tabs button:focus-visible{outline:3px solid #14264b;outline-offset:2px}
.analytics-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;padding:12px 0 4px;color:#1f3550;font-size:14px}
.analytics-map-legend:empty{display:none}
.analytics-map-legend>strong{color:#14264b;font-weight:600}
.analytics-map-legend>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.analytics-map-legend i{display:inline-block;width:22px;height:14px;border-radius:3px;border:1px solid rgba(20,38,75,.18)}
.map-credits{font-size:12px;margin-top:8px}
.analytics-location-list h3{margin-bottom:12px}
.analytics-location-row:hover,.analytics-location-row:focus-visible{background:var(--primary-soft);outline:2px solid var(--primary);outline-offset:2px}
.analytics-neighborhood{background:#fff;border-color:var(--line);border-left:5px solid var(--area-strength,var(--primary))}
.analytics-neighborhood .analytics-progress{background:#e3edf4}
.analytics-neighborhood .analytics-progress>span{background:var(--area-strength,var(--primary))}
.analytics-neighborhood b{font-weight:600}
.analytics-neighborhood:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:640px){.analytics-map-legend{gap:8px 12px}.analytics-map-legend>strong{flex-basis:100%}.analytics-map-tooltip{font-size:13px;line-height:1.5}}

/* Dashboard: compact overview with secondary information on demand. */
.dashboard-workspace .analytics-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px 16px;padding:18px}
.dashboard-more-filters{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}
.dashboard-more-filters>summary{font-size:14px;font-weight:500;color:var(--primary-text);cursor:pointer;width:fit-content}
.dashboard-more-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 16px;padding-top:14px}
.dashboard-more-filter-grid .field{margin-top:0}
.dashboard-workspace .analytics-kpis{gap:16px;margin-bottom:14px}
.dashboard-workspace .analytics-kpi{grid-template-columns:minmax(0,1fr) 34px;grid-template-areas:"label icon" "value icon";column-gap:12px;padding:18px;min-height:100px}
.dashboard-workspace .analytics-kpi .metric-top>span:first-child{font-size:13px;letter-spacing:.3px;text-transform:none}
.dashboard-workspace .analytics-kpi .metric-icon{width:34px;height:34px;border-radius:9px;box-shadow:none;background:var(--panel-3);color:var(--text-2)}
.dashboard-workspace .analytics-kpi .metric-icon .icon{width:18px;height:18px}
.dashboard-workspace .analytics-kpi .metric-value{font-size:25px;font-weight:500;margin-top:4px}
.dashboard-workspace .portfolio-insights{gap:0;margin:0 0 16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden}
.dashboard-workspace .portfolio-insights .metric-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-height:100px;padding:16px 18px;border:0;border-radius:0;box-shadow:none;background:transparent}
.dashboard-workspace .portfolio-insights .metric-card+.metric-card{border-left:1px solid var(--line)}
.dashboard-workspace .portfolio-label{font-size:13px;line-height:1.5;color:var(--text-3);font-weight:500}
.dashboard-workspace .portfolio-insights .metric-value{font-size:23px;font-weight:500;max-width:100%}
.dashboard-workspace .portfolio-leader>strong{font-size:17px;line-height:1.4;color:var(--text);font-weight:600}
.dashboard-workspace .portfolio-leader>small{font-size:13px}
.dashboard-disclosure{margin:14px 0;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;scroll-margin-top:100px}
.dashboard-disclosure>summary{padding:14px 18px;font-size:15px;font-weight:600;color:var(--text);cursor:pointer}
.dashboard-disclosure>summary>span{margin-left:12px;font-size:13px;font-weight:400;color:var(--text-3)}
.dashboard-disclosure>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius)}
.dashboard-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.dashboard-disclosure-body{padding:18px;min-width:0}
.dashboard-disclosure-body>.section-gap,.dashboard-disclosure-body>.analytics-main-grid{margin-top:0}
.dashboard-financial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}
.dashboard-financial-grid>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.dashboard-financial-grid small{font-size:13px;color:var(--text-3)}
.dashboard-financial-grid strong{font-size:18px;font-weight:500;color:var(--text);overflow-wrap:anywhere}
.dashboard-workspace .analytics-territory{margin-top:18px}
.dashboard-workspace .analytics-neighborhoods{margin-top:18px;padding-top:16px}
.dashboard-workspace .analytics-neighborhood{padding:11px;gap:4px}
.dashboard-workspace .analytics-neighborhoods .analytics-empty{padding:12px}
.dashboard-workspace .dashboard-section-nav{margin:16px 0}
@media(max-width:1100px){.dashboard-workspace .portfolio-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-workspace .portfolio-insights .metric-card:nth-child(3){border-left:0}.dashboard-workspace .portfolio-insights .metric-card:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:900px){.dashboard-workspace .analytics-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-workspace .analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dashboard-workspace .analytics-filters{padding:14px}.dashboard-workspace .analytics-filter-actions{grid-column:1/-1}.dashboard-workspace .analytics-kpi{padding:14px;column-gap:8px;grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "value"}.dashboard-workspace .analytics-kpi .metric-icon{display:none;background:var(--panel-3);color:var(--text-2)}.dashboard-workspace .analytics-kpi .metric-value{font-size:21px}.dashboard-workspace .portfolio-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-workspace .portfolio-insights .metric-card{min-height:92px;padding:12px}.dashboard-workspace .portfolio-insights .metric-value{font-size:20px}.dashboard-disclosure-body{padding:12px}.dashboard-disclosure>summary>span{display:none}.dashboard-workspace .analytics-context>span:last-child{display:none}}
@media(max-width:380px){.dashboard-workspace .analytics-kpis{grid-template-columns:1fr}.dashboard-financial-grid{grid-template-columns:1fr}}

/* Plan cards show a brief preview; native details expose the complete coverage. */
.catalog-grid{align-items:start}
.product-coverages{min-width:0}
.product-coverages-details{margin-top:12px}
.product-coverages-details>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;color:var(--primary-text);font-size:13px;font-weight:600;cursor:pointer;list-style:none}
.product-coverages-details>summary::-webkit-details-marker{display:none}
.product-coverages-details>summary .icon{width:16px;height:16px;transition:transform .2s}
.product-coverages-details>summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius)}
.product-coverages-details .coverages-less{display:none}
.product-coverages-details[open] .coverages-more{display:none}
.product-coverages-details[open] .coverages-less{display:inline}
.product-coverages-details[open]>summary .icon{transform:rotate(180deg)}
.product-coverages-details>.product-benefits{padding-top:8px}
.product-coverages:has(>.product-coverages-details[open])>.product-benefits-preview{display:none}
.selfie-capture{margin-top:16px}
.selfie-capture>.button{cursor:pointer}
.selfie-preview{display:block;width:100%;max-width:220px;margin-top:10px;border-radius:var(--radius);border:1px solid var(--line,#e2edf3)}
.signing-evidence{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:14px 0 0;font-size:13px;color:var(--text-2)}
.signing-evidence dt{font-weight:600}
.signing-evidence dd{margin:0;min-width:0;overflow-wrap:anywhere}
.signing-evidence .evidence-agent{font-size:12px;color:var(--text-3)}
.signing-evidence .selfie-preview{max-width:120px;margin-top:0}
[data-customer-search]{margin-bottom:6px}
.payment-methods{border:0;padding:0;margin:0 0 14px;display:grid;gap:10px}
.payment-methods legend{font-weight:600;margin-bottom:8px}
.payment-methods small{display:block;font-weight:400;color:var(--text-3)}

/* ---------- área autenticada (gestão e portal do tutor): fontes maiores e cartões simples ----------
   Gerado a partir das regras compartilhadas com o site público, que continuam como estão. */
body.admin-body{font:400 16px/1.6 var(--font)}
.admin-body h1{font-size:28px}
.admin-body h2{font-size:20px}
.admin-body h3{font-size:17px}
.admin-body small{font-size:13px}
.admin-body code{font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.admin-body .toast{font-size:15px}
.admin-body .eyebrow{font-size:13px;font-weight:500;color:var(--text-3);letter-spacing:initial;text-transform:initial}
.admin-body .fine-print{font-size:14px}
.admin-body .card-heading .eyebrow{font-size:12px}
.admin-body .form-card>h2:first-child{font-size:18px;font-weight:600;text-transform:initial;letter-spacing:initial}
.admin-body .form-card>h2+p,.admin-body .form-card>p{font-size:15px}
.admin-body .empty-state strong{font-size:17px}
.admin-body .empty-state p{font-size:14px}
.admin-body .button{min-height:44px;font-size:15px;letter-spacing:0}
.admin-body .button-small{min-height:38px;font-size:14px}
.admin-body .text-button{font-size:14px}
.admin-body .text-link{font-size:14px}
.admin-body .alert{font-size:15px}
.admin-body .version-tag{font-size:13px}
.admin-body .field{font-size:14px}
.admin-body .field small,.admin-body .field-help{font-size:13px}
.admin-body :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea){min-height:46px;font-size:15px}
.admin-body input[type=file]{font-size:14px}
.admin-body input[type=file]::file-selector-button{font:500 14px var(--font)}
.admin-body legend{font-size:14px;letter-spacing:initial;text-transform:initial}
.admin-body .form-section-heading h2{font-size:17px}
.admin-body .form-section-heading p{font-size:14px}
.admin-body .step-number{font-size:15px}
.admin-body .quick-icon,.admin-body .pet-avatar,.admin-body .metric-icon{background:var(--panel-3);color:var(--text-2)}
.admin-body .check-label{font-size:14px}
.admin-body .password-field .text-button{font-size:14px}
.admin-body [data-registration-explanation]{font-size:14px}
.admin-body .plan-choice-top .eyebrow{font-size:12px}
.admin-body .signature-label{font-size:15px}
.admin-body table{font-size:15px}
.admin-body th{font-size:14px}
.admin-body td small{font-size:13px}
.admin-body .identity .text-link{font-size:15px}
.admin-body .contract-preview>summary{font-size:15px}
.admin-body .contract-preview>p{font-size:14px}
.admin-body .contract-text{font-size:14px}
.admin-body .analytics-neighborhoods .eyebrow{font-size:12px}
.admin-body .subscription-top .eyebrow{font-size:12px}
.admin-body .product-card{border-top:initial}
.admin-body .product-package{border-top-color:initial}
.admin-body .product-card>.eyebrow{font-size:12px}
.admin-body .product-description{font-size:14px}
.admin-body .product-price>span{font-size:17px}
.admin-body .product-price small{font-size:14px}
.admin-body .product-meta{font-size:14px}
.admin-body .product-benefits strong{font-size:15px}
.admin-body .customer-profile-actions>.text-link{font-size:14px}
.admin-body .profile-contract-actions>.text-link{font-size:14px}
.admin-body .profile-detail-body>.text-link{font-size:14px}
.admin-body .eyebrow{color:var(--text-3);font-size:13px;font-weight:500}
.admin-body .product-coverages-details>summary{font-size:15px}
@media (max-width:768px){.admin-body table.is-stackable td::before{font-size:12px;letter-spacing:initial;text-transform:initial}.admin-body table.is-stackable td:first-child{font-size:16px}}
.admin-body{--body-bg:#f5f7fa;--panel-shadow:0 0 0 1px var(--line);--radius:8px;--radius-lg:12px}
.admin-body .main-content{max-width:1400px}
.admin-body .page-heading{margin-bottom:28px}

/* ---------- portal do tutor: só o necessário, uma coluna no celular ---------- */
.portal-section{margin-top:32px}
.portal-section:first-of-type{margin-top:0}
.portal-section-title{margin-bottom:14px;font-size:20px}
.portal-todo{align-items:center;margin-bottom:12px}
.portal-todo>.button{flex-shrink:0}
.portal-pets{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:20px;align-items:start}
.portal-pet-heading{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.portal-pet-heading>div{flex:1;min-width:0}
.portal-pet-heading h3{font-size:20px}
.portal-pet-heading p{color:var(--text-3)}
.portal-pet-heading .pet-avatar{width:44px;height:44px;font-size:18px;font-weight:600}
.portal-subscription{padding-top:18px}
.portal-subscription+.portal-subscription{margin-top:18px;border-top:1px solid var(--line)}
.portal-subscription-title{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap}
.portal-subscription-title h4{margin:0;font-size:18px;font-weight:600;color:var(--text)}
.portal-subscription-meta{margin-top:4px;color:var(--text-2)}
.portal-note{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border-radius:var(--radius);background:var(--panel-2);color:var(--text-2)}
.portal-note .icon{width:18px;height:18px;margin-top:3px;color:var(--text-3)}
.portal-disclosure{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius)}
.portal-disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;font-weight:500;color:var(--primary-text)}
.portal-disclosure>summary::after{content:"+";font-size:22px;line-height:1;color:var(--text-3)}
.portal-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.portal-disclosure[open]>summary::after{content:"−"}
.portal-disclosure>.fine-print{padding:0 16px 12px}
.portal-list{margin:0;padding:0 16px;list-style:none}
.portal-list>li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.portal-list>li:first-child{border-top:0}
.portal-list>li>div{min-width:0}
.portal-list strong{display:block;font-weight:500;color:var(--text)}
.portal-list small{display:block;color:var(--text-3)}
.portal-benefit-state{flex-shrink:0;text-align:right;font-weight:500;color:var(--text-2)}
.portal-benefit-state.is-ok{color:var(--success-text)}
.portal-benefit-state small{font-weight:400}
.portal-subscription-actions{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-top:16px}
.portal-subscription-actions .portal-cancel{margin-left:auto}
.portal-pet-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:18px;color:var(--text-2)}
.portal-invoices{padding:4px 24px}
.portal-invoice-list{margin:0;padding:0;list-style:none}
.portal-invoice-list>li{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto minmax(150px,auto);grid-template-areas:"main due status action";align-items:center;gap:10px 20px;padding:16px 0;border-top:1px solid var(--line)}
.portal-invoice-list>li:first-child{border-top:0}
.portal-invoice-main{grid-area:main;min-width:0}
.portal-invoice-due{grid-area:due}
.portal-invoice-status{grid-area:status}
.portal-invoice-action{grid-area:action;justify-self:end}
.portal-invoice-main strong{display:block;font-size:18px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.portal-invoice-main small,.portal-invoice-due small{display:block;color:var(--text-3)}
.portal-invoice-list>li.is-overdue .portal-invoice-main strong{color:var(--danger-text)}
.portal-invoices-clear{display:flex;align-items:center;gap:10px;padding:16px 0;color:var(--text-2)}
.portal-invoices-clear .icon{width:22px;height:22px;color:var(--success-text)}
.portal-invoices>.portal-disclosure{margin:4px 0 18px}
.portal-disclosure .portal-invoice-list{padding:0 16px}
.portal-help{display:flex;align-items:center;gap:10px;margin-top:32px;color:var(--text-2)}
.portal-help .icon{width:20px;height:20px;color:var(--primary)}
@media(max-width:640px){
  .portal-todo{flex-wrap:wrap}
  .portal-todo>.button{width:100%}
  .portal-pet-heading h3{font-size:18px}
  .portal-list>li{flex-direction:column;align-items:flex-start;gap:4px}
  .portal-benefit-state{text-align:left}
  .portal-subscription-actions>.button{flex:1 1 100%}
  .portal-subscription-actions .portal-cancel{margin:0 auto}
  .portal-invoices{padding:4px 18px}
  .portal-invoice-list>li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main status" "due due" "action action"}
  .portal-invoice-action{justify-self:stretch}
  .portal-invoice-action .button{width:100%}
  .portal-help{align-items:flex-start}
}
.proposal-payment{margin-bottom:22px}
.proposal-payment>.text-link{margin-top:14px}
.portal-list .coverage-terms{flex-shrink:0;max-width:45%;text-align:right}
.customer-proposals{padding:6px 24px}
.customer-proposals>.portal-list{padding:0}
.customer-proposal-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
@media(max-width:640px){
  .portal-list .coverage-terms{max-width:none;text-align:left}
  .customer-proposals{padding:4px 18px}
  .customer-proposal-actions{width:100%;justify-content:space-between}
}
.form-card>.fine-print{margin-top:16px}
/* Login: formulário à esquerda, foto à direita, sem cabeçalho e rodapé */
html:has(.auth-layout){scrollbar-gutter:auto}
.public-body:has(.auth-layout)>:is(.public-header,.public-footer){display:none}
.public-main:has(>.auth-layout){display:flex;flex-direction:column;max-width:none;padding:0;background:#fff}
.public-main:has(>.auth-layout)>.alert{margin:16px clamp(16px,4vw,40px) 0}
.auth-layout{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:100vh}
.auth-card{display:flex;flex-direction:column;justify-content:center;background:#fff;padding:40px clamp(24px,calc(50% - 190px),999px)}
.auth-logo{display:block;width:150px;height:auto;margin:0 auto 24px}
.auth-card h1{margin:0 0 4px;font-size:24px;font-weight:600;text-align:center}
.auth-card>p{margin:0 0 22px;text-align:center;font-size:14px;color:var(--text-2)}
.auth-card .field+.field{margin-top:16px}
.auth-card input:not([type=checkbox]){min-height:48px;border-radius:8px}
.auth-card form .button{min-height:48px;margin-top:4px;border-radius:8px;font-size:15px}
.auth-eyebrow{display:block;margin-bottom:12px;font-size:11.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#a9d3ea}
/* Painel da direita: fundo, brilho, texto e foto grande ancorada na base */
.auth-layout .auth-visual{position:relative;display:flex;flex-direction:column;align-items:center;overflow:hidden;padding:48px 32px 0;text-align:center;background:#14264b}
.auth-visual::before{content:'';position:absolute;inset:-28px;background:linear-gradient(rgba(20,38,75,.5),rgba(20,38,75,.15)),url('brand/login-fundo.jpg') center/cover}
.auth-visual::after{content:'';position:absolute;left:50%;bottom:-120px;width:620px;height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(131,172,56,.38),rgba(8,100,154,.18) 55%,transparent);transform:translateX(-50%)}
.auth-copy{position:relative;z-index:3;max-width:420px}
.auth-layout .auth-visual h2{margin:0;color:#fff;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.15}
.auth-layout .auth-visual h2 span{color:var(--success)}
.auth-copy>p{margin:12px 0 0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.85)}
.auth-visual img{position:absolute;left:50%;bottom:0;z-index:1;max-width:none;width:auto;height:min(780px,calc(100vh - 230px));transform:translateX(-50%)}
@media(max-width:900px){
  .auth-layout{grid-template-columns:minmax(0,1fr)}
  .auth-visual{display:none!important}
  .auth-card{padding:32px 24px}
}
/* Cadastro: faixa de título e formulário em coluna estreita */
.public-main:has(>.registration-form){max-width:none;padding:0;background:#fff}
.registration-intro{margin:0;padding:28px clamp(16px,6vw,96px);text-align:left;background:#eaf1f6}
.registration-intro .breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;color:var(--text-3)}
.registration-intro .breadcrumb a{font-weight:500;color:var(--primary-text)}
.registration-intro h1{margin:0;font-size:clamp(26px,3vw,32px);font-weight:600;letter-spacing:0}
.registration-intro p{max-width:640px;margin-top:6px;font-size:14px;color:var(--text-2)}
.public-main>.card.form-card.registration-form{max-width:680px;margin:0 auto;padding:36px 24px 56px;background:none;box-shadow:none}
.registration-form>.alert{margin-bottom:24px}
.registration-form .form-grid{gap:20px 18px}
.registration-form .field{font-size:13.5px;font-weight:600;color:var(--text)}
.registration-form .field>span{font-size:0}
.registration-form .field>span::after{content:'obrigatório';margin-left:6px;font-size:11.5px;font-weight:400;color:var(--text-3)}
.registration-form .field>small{font-weight:400}
.registration-form input:not([type=checkbox]),.registration-form select{min-height:48px;border-radius:8px;font-weight:400}
.registration-form>.button{min-height:50px;margin-top:8px;border-radius:8px;font-size:15px}
.password-rules{display:flex;flex-wrap:wrap;gap:4px 18px;grid-column:1/-1;margin:-8px 0 0;padding:0;list-style:none;font-size:12px;color:var(--text-3)}
.password-rules li::before{content:'○';margin-right:6px}
.password-rules li.is-ok{color:var(--success-text)}
.password-rules li.is-ok::before{content:'✓'}
.registration-form .field>small:empty{display:none}
.form-more{margin:24px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.form-more>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:14px;font-weight:600;color:var(--primary-text)}
.form-more>summary::-webkit-details-marker{display:none}
.form-more>summary .icon{width:16px;height:16px;transition:transform .2s}
.form-more[open]>summary .icon{transform:rotate(180deg)}
.form-more>.form-grid{margin-top:18px}
.form-more>.form-grid+.form-grid{margin-top:20px}
@media(min-width:885px){
  .registration-form .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .registration-form .form-grid>.field{grid-column:span 3}
  .registration-form .form-grid>.field.span-2,.registration-form .form-grid>.password-rules{grid-column:1/-1}
  .registration-form .form-grid>.field:has(>input[name=zip]),.registration-form .form-grid>.field:has(>input[name=number]),.registration-form .form-grid>.field:has(>input[name=neighborhood]){grid-column:span 2}
  .registration-form .form-grid>.field:has(>input[name=street]),.registration-form .form-grid>.field:has(>input[name=complement]){grid-column:span 4}
  .registration-form .form-grid>.field:has(>input[name=state]){grid-column:span 1}
}

/* Portal do tutor: identidade do site institucional (azul-marinho, verde de ação, emergência em vermelho). */
.portal-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:28px;padding:32px 36px;border-radius:16px;color:#fff;background:linear-gradient(120deg,rgba(11,25,54,.92),rgba(20,38,75,.78)),url(brand/login-fundo.jpg) center/cover;box-shadow:0 12px 30px -16px rgba(11,25,54,.7)}
.portal-hero-text{min-width:0;max-width:640px}
.portal-hero-eyebrow{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#b9dc7c}
.portal-hero h1{margin:0;font-size:34px;font-weight:600;color:#fff;letter-spacing:-.3px}
.portal-hero p{margin:6px 0 0;font-size:16px;color:#c2e4eb}
.portal-hero-facts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0;padding:0;list-style:none}
.portal-hero-facts li{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.12);font-size:14px;color:#fff}
.portal-hero-facts strong{font-weight:700;color:#b9dc7c}
.portal-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.portal-hero .button{min-height:46px;border-radius:10px;font-weight:700}
.portal-hero-cta{background:#83ac38;border-color:#83ac38;color:#122657}
.portal-hero-cta:hover{background:#94bd48;border-color:#94bd48;color:#122657;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.45)}
.portal-hero-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.portal-hero-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.portal-section-title::before{content:"";display:block;width:36px;height:3px;margin-bottom:8px;border-radius:2px;background:#83ac38}
.portal-footer{align-items:center}
.portal-emergency{display:inline-block;padding:8px 18px;border-radius:10px;background:#f00;color:#fff;font-weight:700;text-decoration:none}
.portal-emergency:hover{filter:brightness(1.1);transform:translateY(-2px)}
@media(max-width:640px){.portal-hero{padding:24px 20px}.portal-hero h1{font-size:28px}.portal-hero-actions{width:100%}.portal-hero-actions .button{flex:1;justify-content:center}}

/* Seus pets: cartão com faixa de identificação no estilo do site. */
.portal-pets{align-items:start}
.portal-pet{padding:0;overflow:hidden;transition:transform .2s,box-shadow .2s}
.portal-pet:hover{transform:translateY(-3px);box-shadow:0 14px 28px -16px rgba(11,25,54,.55)}
.portal-pet>:not(.portal-pet-heading){margin-left:24px;margin-right:24px}
.portal-pet>:last-child{margin-bottom:22px}
.portal-pet .portal-pet-heading{padding:18px 24px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.portal-pet .portal-pet-heading h3{margin:0;font-size:20px;font-weight:600;color:var(--text)}
.portal-pet .portal-pet-heading .pet-avatar{width:52px;height:52px;font-size:22px;font-weight:700;background:#e4f0cc;color:#3f5f12}
.portal-pet-tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0;padding:0;list-style:none}
.portal-pet-tags li{padding:2px 10px;border-radius:999px;background:#e6eff5;font-size:13px;color:var(--text-2)}
.portal-pet-status{padding:4px 12px;border-radius:999px;background:#e6eff5;font-size:12px;font-weight:600;color:var(--text-3);white-space:nowrap}
.portal-pet-status.is-active{background:#e4f0cc;color:#3f5f12}
.portal-pet .portal-subscription{margin-top:18px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.portal-pet .portal-subscription+.portal-subscription{margin-top:14px;border-top:1px solid var(--line)}
.portal-pet .portal-subscription-title h4{font-size:19px}
.portal-pet .portal-pet-empty{align-items:center;gap:6px;margin-top:18px;padding:22px 20px;border:1px dashed #9cc45a;border-radius:12px;background:#f5faea;text-align:center}
.portal-pet .portal-pet-empty p{margin:0 0 8px;color:var(--text-3)}
.portal-pet-cta{background:#83ac38;border-color:#83ac38;color:#122657;font-weight:700}
.portal-pet-cta:hover{background:#94bd48;border-color:#94bd48;color:#122657;box-shadow:0 8px 14px -6px rgba(0,0,0,.4)}
@media(max-width:520px){.portal-pet .portal-pet-heading{flex-wrap:wrap}.portal-pet>:not(.portal-pet-heading){margin-left:16px;margin-right:16px}.portal-pet .portal-pet-heading{padding:18px 16px}}
@media(max-width:520px){.portal-hero-actions{flex-direction:column}.portal-hero-actions .button{width:100%}.portal-pet-tags li{white-space:nowrap}.portal-pet .portal-pet-heading>div{flex:1 1 calc(100% - 70px)}.portal-pet-status{margin-left:66px}}
/* Foto do pet */
.portal-pet-photo{position:relative;flex-shrink:0;width:52px;height:52px}
.pet-photo{display:block;width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px var(--line-2)}
.portal-photo-btn{position:absolute;right:-5px;bottom:-5px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);background:#fff;color:var(--text-2);cursor:pointer;transition:background .2s,color .2s}
.portal-photo-btn:hover,.portal-photo-btn:focus-within{background:#83ac38;border-color:#83ac38;color:#122657}
.portal-photo-btn .icon{width:13px;height:13px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Menu lateral do tutor */
.sidebar-customer .nav-group-label{padding:16px 26px 6px}
.sidebar-customer .nav-link{margin:2px 12px;padding:11px 14px;border-radius:10px}
.sidebar-customer .nav-link:hover{background:rgba(255,255,255,.06)}
.sidebar-customer .nav-link.active{background:rgba(255,255,255,.1);font-weight:600}
.sidebar-customer .nav-link.active .icon{color:#b9dc7c}
.nav-badge{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:999px;background:#f00;color:#fff;font-size:12px;font-weight:700;text-align:center}
.sidebar-help{display:flex;flex-direction:column;gap:4px;margin:0 12px 12px;padding:14px;border:1px solid var(--chrome-line);border-radius:12px;background:rgba(255,255,255,.05)}
.sidebar-help strong{font-size:14px;font-weight:600;color:#fff}
.sidebar-help span{font-size:12px;color:rgba(255,255,255,.65);white-space:normal}
.sidebar-emergency{margin-top:8px;padding:8px 10px;border-radius:8px;background:#f00;color:#fff;font-size:13px;font-weight:700;text-align:center;white-space:nowrap}
.sidebar-emergency:hover{filter:brightness(1.1)}
.sidebar-collapsed .nav-badge,.sidebar-collapsed .sidebar-help{display:none}
.sidebar-collapsed .sidebar-customer .nav-link{margin:2px 8px;padding:12px 0}
/* Faturas */
.portal-invoice-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:8px}
.portal-invoice-summary .card{display:flex;flex-direction:column;gap:4px;padding:18px 22px}
.portal-invoice-summary small{font-size:13px;color:var(--text-3)}
.portal-invoice-summary strong{font-size:24px;font-weight:600;color:var(--text)}
.portal-more{margin:12px 0 0;text-align:right}
.portal-pet .portal-pet-heading>.portal-pet-photo{flex:0 0 52px}
.sidebar-emergency{white-space:normal;line-height:1.3}
.portal-invoice-summary{margin-bottom:28px}
/* Meu cuidado: cartão do pet que leva à página do plano */
.portal-pet-link{display:flex;align-items:center;gap:16px;padding:18px 20px;color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}
.portal-pet-link:hover,.portal-pet-link:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px -16px rgba(11,25,54,.55)}
.portal-pet-link .pet-avatar,.portal-pet-link .pet-photo{width:56px;height:56px}
.portal-pet-link .pet-avatar{background:#e4f0cc;color:#3f5f12;font-size:22px;font-weight:700}
.portal-pet-thumb{flex-shrink:0}
.portal-pet-info{flex:1;min-width:0}
.portal-pet-info h3{margin:0;font-size:20px;font-weight:600;color:var(--text)}
.portal-pet-plans{margin:8px 0 0;font-size:14px;color:var(--text-2)}
.portal-pet-go{flex-shrink:0;font-weight:600;color:var(--primary-text);white-space:nowrap}
@media(max-width:520px){.portal-pet-link{flex-wrap:wrap}.portal-pet-info{flex:1 1 calc(100% - 80px)}.portal-pet-status{margin-left:72px}}
/* Foto maior e aviso de atraso */
.portal-pet-link .pet-avatar,.portal-pet-link .pet-photo{width:88px;height:88px}
.portal-pet-link .pet-avatar{font-size:34px}
.portal-pet-link.has-overdue{border-left:4px solid #d93025}
.portal-pet-overdue{margin:6px 0 0;font-size:14px;font-weight:600;color:#b3261e}
.portal-pet-status.is-overdue{background:#fde8e6;color:#b3261e;text-decoration:none}
.portal-pet-photo,.portal-pet .portal-pet-heading>.portal-pet-photo{width:72px;height:72px;flex:0 0 72px}
.portal-pet-photo .pet-photo,.portal-pet .portal-pet-heading .pet-avatar{width:72px;height:72px}
.portal-pet .portal-pet-heading .pet-avatar{font-size:30px}
@media(max-width:520px){.portal-pet-info{flex:1 1 calc(100% - 108px)}.portal-pet-status{margin-left:104px}}
/* Menu do perfil: e-mail inteiro em linha própria */
.user-menu-panel{width:300px;max-width:calc(100vw - 24px)}
.user-menu-head{flex-wrap:wrap}
.user-menu-head>div{flex:1;min-width:0}
.user-menu-head .user-menu-email{flex:1 0 100%;font-size:13px;color:var(--text-3);overflow-wrap:anywhere}
/* Dados da contratação */
.portal-subscription-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;margin:14px 0 4px}
.portal-subscription-facts dt{font-size:12px;color:var(--text-3)}
.portal-subscription-facts dd{margin:2px 0 0;font-size:15px;font-weight:600;color:var(--text)}
.portal-pet-plans strong{font-weight:600;color:var(--text)}
/* Cartão do pet: status e "Ver plano" em linha própria; e-mail do menu sem quebra */
.portal-pet-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
.portal-pet-link .portal-pet-status{margin-left:0}
.user-menu-panel{width:330px}
.user-menu-head .user-menu-email{font-size:12.5px}
@media(max-width:520px){.portal-pet-link .portal-pet-status{margin-left:0}.portal-pet-info{flex:1 1 calc(100% - 108px)}}
.portal-pet-thumb{position:relative}
/* Cartões de pet mais compactos (rente ao conteúdo) */
.portal-pet-link{gap:14px;padding:12px 16px}
.portal-pet-link .pet-avatar,.portal-pet-link .pet-photo{width:64px;height:64px}
.portal-pet-link .pet-avatar{font-size:26px}
.portal-pet-info h3{font-size:18px}
.portal-pet-info .portal-pet-tags{gap:4px;margin-top:4px}
.portal-pet-info .portal-pet-tags li{padding:1px 8px;font-size:12px}
.portal-pet-plans{margin-top:4px;font-size:13px}
.portal-pet-foot{margin-top:8px}
.portal-pet .portal-pet-heading{padding:14px 20px}
.portal-pet-photo,.portal-pet .portal-pet-heading>.portal-pet-photo{width:60px;height:60px;flex:0 0 60px}
.portal-pet-photo .pet-photo,.portal-pet .portal-pet-heading .pet-avatar{width:60px;height:60px}
.portal-pet .portal-pet-heading .pet-avatar{font-size:24px}
.portal-pet .portal-pet-heading h3{font-size:18px}
@media(max-width:520px){.portal-pet-info{flex:1 1 calc(100% - 84px)}}
/* Foto maior e cartões com a mesma altura */
.portal-pets{align-items:stretch}
.portal-pet-link .pet-avatar,.portal-pet-link .pet-photo{width:96px;height:96px}
.portal-pet-link .pet-avatar{font-size:38px}
.portal-pet-info{display:flex;flex-direction:column;align-self:stretch}
.portal-pet-foot{margin-top:auto;padding-top:8px}
.portal-pet-photo,.portal-pet .portal-pet-heading>.portal-pet-photo{width:76px;height:76px;flex:0 0 76px}
.portal-pet-photo .pet-photo,.portal-pet .portal-pet-heading .pet-avatar{width:76px;height:76px}
.portal-pet .portal-pet-heading .pet-avatar{font-size:30px}
@media(max-width:520px){.portal-pet-info{flex:1 1 calc(100% - 116px)}}
/* Página do pet */
.pet-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:22px 26px;background:linear-gradient(120deg,#fff,#f3f8fb)}
.pet-hero-photo{flex-shrink:0}
.pet-hero-photo .pet-photo,.pet-hero-photo .pet-avatar{width:112px;height:112px;border:3px solid #fff;box-shadow:0 0 0 1px var(--line-2),0 8px 18px -10px rgba(11,25,54,.5)}
.pet-hero-photo .pet-avatar{background:#e4f0cc;color:#3f5f12;font-size:44px;font-weight:700}
.pet-hero-main{flex:1;min-width:220px}
.pet-hero-main h1{margin:0;font-size:30px;font-weight:600;color:var(--text);letter-spacing:-.3px}
.pet-hero-main .portal-pet-tags{margin:8px 0 12px}
.pet-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.portal-photo-label{cursor:pointer}
.portal-photo-label:focus-within{outline:2px solid var(--primary);outline-offset:2px}
.pet-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;margin-top:24px}
.pet-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.pet-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pet-section-head .portal-section-title{margin:0}
.pet-main .portal-subscription,.pet-main .portal-subscription+.portal-subscription{margin-top:0;padding:20px 22px;border:1px solid var(--line);border-left:4px solid #83ac38;border-radius:12px;background:#fff;box-shadow:var(--panel-shadow)}
.pet-main .portal-subscription-title h4{font-size:21px}
.pet-main .portal-pet-empty{margin:0;padding:26px 20px;border:1px dashed #9cc45a;border-radius:12px;background:#f5faea;text-align:center;align-items:center;gap:6px}
.pet-main .portal-pet-empty p{margin:0 0 8px;color:var(--text-3)}
.pet-history{padding:16px 20px}
.pet-aside{display:flex;flex-direction:column;gap:16px}
.pet-aside .card{padding:20px}
.pet-aside h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text)}
.pet-data dl{display:grid;gap:10px;margin:0 0 14px}
.pet-data dl>div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.pet-data dt{font-size:13px;color:var(--text-3)}
.pet-data dd{margin:0;font-size:14px;font-weight:600;color:var(--text);text-align:right}
.pet-pay{border-top:4px solid #83ac38}
.pet-pay.is-overdue{border-top-color:#d93025}
.pet-pay.is-open{border-top-color:#0a76b5}
.pet-pay-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0;font-size:24px;font-weight:600;color:var(--text)}
.pet-pay-main small{font-size:13px;font-weight:500;color:var(--text-3)}
.pet-pay.is-overdue .pet-pay-main{color:#b3261e}
.pet-pay.is-ok .pet-pay-main{color:#3f5f12}
.pet-pay-main .icon{width:22px;height:22px;align-self:center}
.pet-pay-note{margin:4px 0 14px;font-size:14px;color:var(--text-3)}
@media(max-width:1000px){.pet-layout{grid-template-columns:1fr}}
@media(max-width:520px){.pet-hero{padding:18px}.pet-hero-photo .pet-photo,.pet-hero-photo .pet-avatar{width:88px;height:88px}.pet-hero-main h1{font-size:26px}}
.pet-hero-main .portal-pet-status{margin-left:0}
/* Celular/tablet: hambúrguer no canto esquerdo e logo centralizada */
@media (max-width:1024px){
  .topbar{padding-left:8px}
  .topbar-brand,.sidebar-collapsed .topbar-brand{position:absolute;left:50%;top:0;transform:translateX(-50%);width:auto;padding:0}
  .topbar-brand img,.sidebar-collapsed .topbar-brand img{height:40px}
}
/* Header em qualquer largura: hambúrguer no canto esquerdo, logo no meio */
.topbar{padding-left:14px}
.topbar-brand,.sidebar-collapsed .topbar-brand{position:absolute;left:50%;top:0;transform:translateX(-50%);width:auto;padding:0;overflow:visible}
.topbar-brand img,.sidebar-collapsed .topbar-brand img{height:46px;max-width:none}
@media (max-width:1280px){.topbar-search{width:170px}}
@media (max-width:1024px){.topbar{padding-left:8px}.topbar-brand img,.sidebar-collapsed .topbar-brand img{height:40px}}
/* Cartão resumido do plano (página do pet) */
.plan-card{display:flex;flex-direction:column;gap:10px;padding:18px 20px}
.plan-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.plan-card-top h3{margin:0;font-size:20px;font-weight:600}
.plan-card-top h3 a{color:var(--text);text-decoration:none}
.plan-card-top h3 a:hover{color:var(--primary-text)}
.plan-card-meta{margin:0;font-size:14px;color:var(--text-2)}
.plan-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
/* Página do plano */
.plan-hero{display:flex;flex-direction:column;gap:14px;padding:22px 26px}
.plan-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.plan-hero-eyebrow{display:block;margin-bottom:4px;font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3)}
.plan-hero h1{margin:0;font-size:30px;font-weight:600;color:var(--text);letter-spacing:-.3px}
.plan-hero .portal-subscription-facts{margin:0}
.plan-section{padding:20px 22px}
.plan-section h2{margin:0 0 14px;font-size:18px;font-weight:600;color:var(--text)}
.plan-benefits{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.plan-benefit{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.plan-benefit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.plan-benefit-head strong{display:block;font-size:15px;color:var(--text)}
.plan-benefit-head small{display:block;margin-top:2px;font-size:13px;color:var(--text-3)}
.plan-meter{height:8px;margin:12px 0 6px;border-radius:999px;background:#dde7ee;overflow:hidden}
.plan-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#83ac38,#a6cb5f)}
.plan-benefit-balance{margin:8px 0 0;font-size:13px;color:var(--text-2)}
.plan-meter+.plan-benefit-balance{margin-top:0}
.plan-contract{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 14px}
.plan-contract dt{font-size:12px;color:var(--text-3)}
.plan-contract dd{margin:2px 0 0;font-size:15px;font-weight:600;color:var(--text)}
.plan-contract-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.plan-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}
.plan-timeline li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.plan-timeline li:last-child{border-bottom:0}
.plan-timeline li.is-current{background:linear-gradient(90deg,rgba(131,172,56,.12),transparent);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:8px}
.plan-timeline a{display:block;font-weight:600;color:var(--text)}
.plan-timeline small{display:block;margin-top:2px;font-size:12px;color:var(--text-3)}
/* Páginas do pet e do plano no mesmo estilo da primeira página */
.pet-hero-nav{justify-content:flex-start;gap:24px}
.pet-hero-nav .portal-hero-text{flex:1;min-width:220px}
.pet-hero-nav .portal-hero-actions{margin-left:auto}
.pet-hero-nav .pet-hero-photo .pet-photo,.pet-hero-nav .pet-hero-photo .pet-avatar{width:96px;height:96px;border:3px solid rgba(255,255,255,.9);box-shadow:0 8px 18px -8px rgba(0,0,0,.6)}
.pet-hero-nav .pet-hero-photo .pet-avatar{background:#e4f0cc;color:#3f5f12;font-size:38px;font-weight:700}
.pet-hero-nav .portal-hero-facts{margin-top:14px}
.plan-hero-nav .portal-hero-text{max-width:780px}
.plan-hero-status{display:inline-block;vertical-align:middle;margin-left:10px;font-size:14px;font-weight:500}
.pet-pay-strip{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin:-8px 0 26px;padding:14px 20px;border:1px solid var(--line);border-left:4px solid #83ac38;border-radius:12px;background:#fff;color:var(--text-2);text-decoration:none;transition:transform .2s,box-shadow .2s}
.pet-pay-strip:hover{transform:translateY(-2px);box-shadow:0 10px 22px -14px rgba(11,25,54,.5)}
.pet-pay-strip strong{color:#3f5f12}
.pet-pay-strip b{margin-left:auto;color:var(--primary-text);font-weight:600}
.pet-pay-strip.is-overdue{border-left-color:#d93025;background:#fff6f5}
.pet-pay-strip.is-overdue strong{color:#b3261e}
.pet-pay-strip.is-open{border-left-color:#0a76b5}
.pet-pay-strip.is-open strong{color:var(--text)}
.pet-plans{display:grid;gap:16px}
.pet-plans .portal-pet-empty{margin:0}
@media(max-width:520px){.pet-hero-nav .portal-hero-actions{margin-left:0}.pet-pay-strip b{margin-left:0}}
.plan-hero-status .badge,.plan-hero-status [class*="badge"]{background:#e4f0cc;color:#3f5f12;border-color:transparent}
/* Cartão do plano: abre e fecha ao clicar */
.plan-card{padding:0}
.plan-card>summary{display:flex;flex-direction:column;gap:6px;padding:18px 52px 18px 20px;cursor:pointer;list-style:none;position:relative}
.plan-card>summary::-webkit-details-marker{display:none}
.plan-card>summary::after{content:"";position:absolute;right:22px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid var(--text-3);border-bottom:2px solid var(--text-3);transform:rotate(45deg);transition:transform .2s}
.plan-card[open]>summary::after{transform:rotate(-135deg);margin-top:-2px}
.plan-card>summary:hover .plan-card-top h3{color:var(--primary-text)}
.plan-card>summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:12px}
.plan-card-body{display:flex;flex-direction:column;gap:12px;padding:0 20px 18px}
.plan-card-body .portal-note{margin:0}
.plan-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
/* Menu do tutor: sem a barra verde no item ativo */
.sidebar-customer .nav-link.active{box-shadow:none}
.admin-body .sidebar.sidebar-customer .nav-link.active:before,.sidebar-customer .nav-link.active:before{content:none;display:none}
.pet-pay-strip.is-ok{border-left:1px solid var(--line)}
.portal-invoice-view{margin-left:14px;white-space:nowrap}
/* Foto do pet à esquerda, mesclada no card (o card mantém o tamanho) */
.pet-hero-nav.has-art{position:relative;overflow:hidden;padding-left:250px}
.pet-hero-nav.has-art>:not(.pet-hero-art){position:relative;z-index:1}
.pet-hero-art{position:absolute;top:0;left:0;bottom:0;width:360px;pointer-events:none;-webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.94) 14%,rgba(0,0,0,.8) 28%,rgba(0,0,0,.6) 42%,rgba(0,0,0,.4) 56%,rgba(0,0,0,.22) 70%,rgba(0,0,0,.09) 84%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.94) 14%,rgba(0,0,0,.8) 28%,rgba(0,0,0,.6) 42%,rgba(0,0,0,.4) 56%,rgba(0,0,0,.22) 70%,rgba(0,0,0,.09) 84%,transparent 100%)}
.pet-hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
/* Celular: card do pet compacto */
@media(max-width:760px){
  .pet-hero-nav{display:block;min-height:0;padding:16px}
  .pet-hero-nav .portal-hero-text{min-height:92px;display:flex;flex-direction:column;justify-content:center}
  .pet-hero-nav:not(.has-art){display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
  .pet-hero-nav:not(.has-art) .portal-hero-text{min-height:0;flex:1}
  .pet-hero-nav .pet-hero-photo .pet-avatar{width:64px;height:64px;font-size:26px}
  .pet-hero-nav h1{font-size:26px}
  .pet-hero-nav .portal-hero-facts{margin-top:8px;gap:6px}
  .pet-hero-nav .portal-hero-facts li{padding:3px 10px;font-size:13px}
  .pet-hero-nav.has-art{padding-left:16px}
  .pet-hero-nav.has-art .portal-hero-text{margin-left:128px}
  .pet-hero-art{top:0;left:0;bottom:auto;right:auto;width:230px;height:176px;-webkit-mask-image:radial-gradient(ellipse 104% 122% at 0% 0%,#000 36%,rgba(0,0,0,.55) 62%,transparent 100%);mask-image:radial-gradient(ellipse 104% 122% at 0% 0%,#000 36%,rgba(0,0,0,.55) 62%,transparent 100%)}
  .pet-hero-art img{object-position:center 30%}
  .pet-hero-nav .portal-hero-actions{flex-direction:row;flex-wrap:nowrap;gap:8px;width:100%;margin-top:12px}
  .pet-hero-nav .portal-hero-actions form{display:contents}
  .pet-hero-nav .portal-hero-actions .button{min-height:42px;padding:0 12px;font-size:14px}
  .pet-hero-nav .portal-hero-actions .portal-hero-cta{flex:1;width:auto;justify-content:center}
  .pet-hero-nav .portal-hero-actions .portal-hero-ghost{flex:0 0 44px;width:44px;justify-content:center;padding:0}
  .pet-hero-nav .btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
@media(max-width:760px){.pet-hero-nav.has-art h1,.pet-hero-nav.has-art .portal-hero-facts{text-shadow:0 1px 10px rgba(11,25,54,.85)}.pet-hero-nav.has-art .portal-hero-facts li{background:rgba(11,25,54,.55)}}
.pet-hero-birth{text-transform:none;letter-spacing:.2px;font-weight:500;color:#c2e4eb}
@media(max-width:760px){.pet-hero-nav .eyebrow-label{display:none}.pet-hero-nav .portal-hero-eyebrow{margin-bottom:2px}.pet-hero-birth{font-size:13px}}
/* Celular: nascimento no canto superior direito do card */
.pet-birth-corner{display:none}
@media(max-width:760px){
  .pet-hero-nav{position:relative}
  .pet-hero-nav .portal-hero-eyebrow{display:none}
  .pet-hero-nav.has-art>.pet-birth-corner,.pet-hero-nav>.pet-birth-corner{display:block;position:absolute;top:12px;right:12px;left:auto;width:auto;z-index:2;padding:3px 10px;border-radius:999px;background:rgba(11,25,54,.6);font-size:12px;line-height:1.4;color:#e3f1f5}
}
/* Login: título mais forte e escuro, logo colada ao título */
.auth-logo{margin-bottom:6px}
.auth-card h1{margin-bottom:6px;font-size:28px;font-weight:800;color:#3d5a80}
.auth-card>p{font-weight:600;color:#14264b}
.auth-card .field{font-weight:600;color:#0b1936}
.auth-card input{font-weight:400}
.auth-card input::placeholder{font-weight:300;color:#8a9bb0}
.auth-card .field-error{margin-top:6px;font-size:12.5px;font-weight:500;color:var(--danger-text)}
/* Login: a própria borda do campo muda de cor (sem anel extra); no erro fica vermelha e o campo treme */
.auth-card input:focus{border-color:var(--primary);box-shadow:none}
.auth-card input[aria-invalid=true],.auth-card input[aria-invalid=true]:focus{border-color:var(--danger-text);box-shadow:none}
.auth-card .field:has(input[aria-invalid=true]) :is(input:not(#login-password),.password-field){animation:auth-shake .4s ease-in-out}
@keyframes auth-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){.auth-card .field:has(input[aria-invalid=true]) :is(input,.password-field){animation:none}}
