
/* Proteção SST 360 - design tokens (multi-clínica: variáveis re-escritas por tenant) */
:root{
  /* Marca (Clínica Proteção.SST) - tenant pode sobrescrever via config */
  --brand-700:#00543a; --brand-600:#006040; --brand-500:#0b7a52; --brand-100:#d9efe5; --brand-50:#eef7f2;
  --accent-500:#a3c740; --accent-600:#8fb02f;
  --ink-900:#17211d; --ink-700:#2c3a34; --ink-500:#5a6a62; --ink-400:#7d8b83; --ink-300:#a8b4ad;
  --line:#e3e9e6; --bg:#f4f7f5; --card:#ffffff;
  --danger-600:#c0392b; --danger-50:#fdecea; --warn-600:#b7791f; --warn-50:#fdf3e0;
  --info-600:#1d5fa8; --info-50:#e8f1fb; --ok-600:#1e7e4f; --ok-50:#e7f5ed;
  --radius-s:8px; --radius-m:12px; --radius-l:16px;
  --shadow-1:0 1px 2px rgba(23,33,29,.06),0 1px 6px rgba(23,33,29,.05);
  --shadow-2:0 4px 16px rgba(23,33,29,.10);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sidebar-w:248px; --topbar-h:60px;
  --side-bg:#17211d;
}
[data-theme="dark"]{
  --side-bg:#0d1412;
  --ink-900:#eef3f0; --ink-700:#cdd8d2; --ink-500:#9fb0a7; --ink-400:#7d8f86; --ink-300:#5d6f66;
  --line:#2a3631; --bg:#121917; --card:#1a2420; --brand-100:#0f3a2c; --brand-50:#0c2b21;
  --shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 4px 16px rgba(0,0,0,.5);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink-900);font-size:14px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:var(--font);cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:var(--font);font-size:14px;color:var(--ink-900)}
.ic{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}

/* ---------- LOGIN ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--brand-50),var(--bg) 55%);padding:24px}
.login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-2);width:100%;max-width:400px;padding:36px 32px}
.login-card img{height:56px;min-height:44px;min-width:140px;max-width:220px;object-fit:contain;display:block;margin:0 auto 8px}
.login-sub{text-align:center;color:var(--ink-500);font-size:13px;margin-bottom:24px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-700);margin-bottom:5px}
.field .req{color:var(--danger-600)}
.input,select.input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);outline:none;transition:border-color .15s,box-shadow .15s}
.input:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-100)}
.pw-wrap{position:relative}
.pw-wrap .input{padding-right:42px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:6px;border-radius:6px;color:var(--ink-400)}
.pw-eye:hover{color:var(--ink-700);background:var(--bg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;min-height:40px;min-width:max-content;border-radius:var(--radius-s);font-weight:600;font-size:13.5px;white-space:nowrap;transition:background .15s,box-shadow .15s;border:1px solid transparent}
.btn-primary{background:var(--brand-600);color:#fff}
.btn-primary:hover{background:var(--brand-700)}
.btn-ghost{background:var(--card);border-color:var(--line);color:var(--ink-700)}
.btn-ghost:hover{background:var(--bg)}
.btn-block{width:100%}
.btn-sm{padding:7px 12px;min-height:32px;font-size:12.5px}

/* ---------- SHELL ---------- */
.shell{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);background:var(--side-bg);color:#e8efeb;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:40}
.sidebar .brand{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar .brand{flex-wrap:wrap}.sidebar .brand img{height:40px;min-height:36px;min-width:140px;max-width:100%;object-fit:contain;background:#fff;border-radius:6px;padding:4px 8px;box-sizing:content-box}
.sidebar .brand .bname{font-weight:700;font-size:13px;letter-spacing:.2px}
.side-nav{flex:1;overflow-y:auto;padding:10px 8px}
.side-nav::-webkit-scrollbar{width:6px}.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}
.nav-item,.nav-group-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--radius-s);font-size:13.5px;color:#c4d2ca;text-align:left}
.nav-item:hover,.nav-group-btn:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-item.active{background:var(--brand-600);color:#fff}
.nav-item .ic,.nav-group-btn .ic{opacity:.85}
.nav-group-btn .chev{margin-left:auto;transition:transform .15s}
.nav-group.open>.nav-group-btn .chev{transform:rotate(180deg)}
.nav-sub{display:none;padding:2px 0 6px 34px}
.nav-group.open>.nav-sub{display:block}
.nav-sub .nav-item{font-size:13px;padding:7px 10px;color:#aebfb5}
.side-user{border-top:1px solid rgba(255,255,255,.08);padding:12px 14px;display:flex;align-items:center;gap:10px}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-600);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.side-user .uinfo{min-width:0;flex:1}
.side-user .uname{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-user .uemail{font-size:11.5px;color:#93a69c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0}
.topbar{height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 20px;position:sticky;top:0;z-index:30}
.topbar .panels{display:flex;gap:2px;margin-right:auto}
.panel-tab{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:var(--radius-s);font-size:13px;font-weight:600;color:var(--ink-500)}
.panel-tab:hover{background:var(--bg);color:var(--ink-900)}
.panel-tab.active{color:var(--brand-600);box-shadow:inset 0 -2px 0 var(--brand-600)}
.icon-btn{width:36px;height:36px;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;color:var(--ink-500);position:relative}
.icon-btn:hover{background:var(--bg);color:var(--ink-900)}
.badge-dot{position:absolute;top:6px;right:6px;min-width:15px;height:15px;border-radius:8px;background:var(--danger-600);color:#fff;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.unit-select{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-s);padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--ink-700)}
.unit-select small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.6px;color:var(--ink-400)}
/* Popovers (seletor de unidade, notificações) */
.pop-wrap{position:relative}
.popover{position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-2);min-width:250px;padding:6px;display:none;z-index:80}
.popover.open{display:block}
.pop-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ink-700)}
button.pop-item{cursor:pointer}
.pop-item:hover{background:var(--bg)}
.pop-item.sel{background:var(--brand-50);color:var(--brand-700)}
.pop-item .pill{margin-left:auto}
.pop-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--ink-400);text-transform:uppercase}
.pop-link{font-size:11.5px;font-weight:600;color:var(--brand-600);text-transform:none;letter-spacing:0}
.pop-item.notif{align-items:flex-start;cursor:default}
.pop-item.notif:hover{background:transparent}
.pop-item.notif small{display:block;font-weight:400;color:var(--ink-400);margin-top:2px;line-height:1.35}
.pop-item.notif.lida{opacity:.55}
.pop-item.notif .m-ico{margin-top:1px}
/* Banner de boas-vindas */
.welcome-banner{display:flex;align-items:center;gap:10px;background:var(--info-50);border:1px solid #cfe2f5;color:var(--info-600);border-radius:var(--radius-m);padding:11px 14px;font-size:13px;font-weight:600;margin-bottom:18px}
.welcome-banner .x{margin-left:auto;color:var(--ink-400);padding:4px;border-radius:6px;display:flex}
.welcome-banner .x:hover{color:var(--ink-700);background:rgba(0,0,0,.05)}
/* Status (chamados/eventos/comunicados) */
.status-txt{color:var(--ink-400);font-size:13px;margin-top:4px}
/* Ações rápidas */
.qa-title{display:block;font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--ink-400);margin:22px 0 10px}
.content{padding:24px;max-width:1400px;width:100%;margin:0 auto}
.page-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.page-head h1{font-size:21px;font-weight:700;letter-spacing:-.3px}
.page-head .sub{color:var(--ink-500);font-size:13px;margin-top:2px}
.page-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

/* ---------- CARDS / MÉTRICAS ---------- */
.grid{display:grid;gap:16px}
.parc-stack{display:grid;gap:20px}

.cards-6{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr))}
.cards-4{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}
.cards-3{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.cards-2{grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-1);padding:18px}
.grid.cards-4.orc-resumo{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px}
.metric{display:flex;flex-direction:column;gap:6px}
.metric .m-top{display:flex;align-items:center;gap:10px}
.metric .m-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand-600)}
.metric .m-label{font-size:12.5px;font-weight:600;color:var(--ink-500)}
.metric .m-value{font-size:26px;font-weight:700;letter-spacing:-.5px}
.metric .m-foot{font-size:12px;color:var(--ink-400)}
.section-title{font-size:15px;font-weight:700;margin:4px 0 12px;display:flex;align-items:center;gap:8px}
.section-title .more{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--brand-600)}

/* ---------- TABELAS ---------- */
.table-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-1);overflow-x:auto}
.table-tools{display:flex;gap:8px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.table-tools .spacer{flex:1}
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-400);padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tbody tr:hover{background:var(--bg)}
.pill{white-space:nowrap;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600}
.pill-ok{background:var(--ok-50);color:var(--ok-600)}
.pill-warn{background:var(--warn-50);color:var(--warn-600)}
.pill-danger{background:var(--danger-50);color:var(--danger-600)}
/* Classificacao de risco: cores amostradas pixel a pixel da matriz/legenda do PGR Poli
   Kids rev00 p.11 e da especificacao p.1 (as duas fontes usam a mesma paleta) */
.pcls-trivial{background:#34c6f5;color:#fff}
.pcls-toleravel{background:#92d14f;color:#1F3D0C}
.pcls-moderado{background:#ffe07d;color:#4A3D00}
.pcls-substancial{background:#ffc001;color:#4A2E00}
.pcls-intoleravel{background:#d13f3f;color:#fff}
.leg-cls{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:6px 0 10px}
.pend-val{color:var(--warn-600);font-weight:600}
.pill-info{background:var(--info-50);color:var(--info-600)}
.pill-neutral{background:var(--bg);color:var(--ink-500)}
.search-input{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 12px;background:var(--card);min-width:220px}
.search-input input{border:none;outline:none;background:none;flex:1}
.pager{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:12.5px;color:var(--ink-500)}
.pager .spacer{flex:1}
.pager select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card)}
.empty{padding:48px 20px;text-align:center;color:var(--ink-400)}
.empty .ic{width:40px;height:40px;margin-bottom:10px;opacity:.5}

/* ---------- MODAL ---------- */
.modal-back{position:fixed;inset:0;background:rgba(15,22,19,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal{background:var(--card);border-radius:var(--radius-l);box-shadow:var(--shadow-2);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column}
.modal .m-head{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid var(--line)}
.modal .m-head h3{font-size:15.5px;font-weight:700}
.modal .m-head .x{margin-left:auto}
.modal .m-body{padding:20px;overflow-y:auto;overflow-x:auto}
.modal.modal-lg{max-width:900px}
.modal .m-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}
/* === Padrão celular (MANUAL §5, v1.0 - Pedro 21/10 21:10) === */
html,body{overflow-x:clip}
.main{min-width:0}
@media (max-width:900px){
  .sidebar{transform:translateX(-100%);transition:transform .2s;z-index:90;width:min(78%,320px)}
  .shell.nav-open .sidebar{transform:none}
  .shell.nav-open::after{content:'';position:fixed;inset:0;background:rgba(15,22,19,.5);z-index:85}
  .main{margin-left:0}
  .hamb{display:flex!important}
  .content{padding:16px}
  .topbar .panels{display:none}
  .btn{min-height:44px}
  .btn-sm{min-height:40px}
  .icon-btn{width:40px;height:40px}
  .ibtn{width:44px;height:44px}
  .tbl td{min-width:0}
  .tbl td>strong,.tbl td>span:not(.pill){min-width:0;overflow-wrap:break-word}
  .tbl td .pill{white-space:nowrap;overflow-wrap:normal;text-align:right;line-height:1.35}
  .nav-item,.nav-group-btn{min-height:48px;font-size:14.5px}
  .nav-sub a{min-height:44px}
  .input,select.input{min-height:44px}
  .pop-item{min-height:44px;align-items:center}
  .unit-select{min-height:44px}
  body{font-size:15px}
  h1{font-size:22px}
  .grid.cards-6,.grid.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .metric{position:relative;overflow:hidden}
  .metric::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent,var(--brand-600))}
  .card .metric{padding-top:14px}
  .metric .m-value{font-size:28px}
  .table-tools{flex-wrap:wrap}
  .table-tools .search-input{flex:1 1 100%;min-width:0}
  .table-tools select.input{flex:1 1 45%}
}
/* Tabelas viram cards abaixo de 760px (MANUAL §5 - padrão adotado do ProSST mobile) */
@media (max-width:760px){
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:6px 12px;background:var(--card)}
  .tbl td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:none;padding:8px 0;font-size:13px}
  .tbl td::before{content:attr(data-label);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-400);flex-shrink:0}
  .tbl td:has(.icon-btn),.tbl td:has(.ibtn){justify-content:flex-end;border-top:1px solid var(--line);margin-top:4px;padding-top:10px}
  .tbl td:has(.icon-btn)::before,.tbl td:has(.ibtn)::before{content:''}
  .tbl td:has(.empty){display:block}
  .tbl td:has(.empty)::before{content:''}
  .tbl-avisos td{display:block;padding:2px 0}
  .tbl-avisos td::before{content:none}
  .tbl-avisos td:first-child{color:var(--ink-400);font-size:12px}
  .table-card{overflow:visible}
}
/* Componentes v1.0 (MANUAL §4) */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}
.tab-btn{background:none;border:none;padding:10px 14px;font-size:13px;font-weight:600;color:var(--ink-400);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-family:inherit;min-height:44px}
.tab-btn.on{color:var(--brand-600);border-bottom-color:var(--brand-600)}
.tab-btn .cnt{background:var(--bg);border-radius:999px;padding:1px 8px;font-size:11px;margin-left:6px}
.tab-btn.on .cnt{background:var(--brand-50);color:var(--brand-600)}
.list-alert{display:flex;align-items:center;gap:8px;background:var(--warn-50);color:var(--warn-600);border:1px solid #f0e0b0;border-radius:10px;padding:12px 14px;font-size:12.5px;font-weight:600;margin-bottom:14px;cursor:pointer}
#toast-wrap{position:fixed;bottom:22px;right:22px;z-index:200;display:flex;flex-direction:column;gap:8px}
.p360-toast{position:fixed;right:16px;bottom:16px;z-index:220;padding:12px 18px;border-radius:10px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-2);max-width:320px;color:#fff;background:#17211d;transition:opacity .4s}
.p360-toast.danger{background:var(--danger-600)}
.p360-toast.sumindo{opacity:0}
.vz-conseq{display:block;flex:0 0 100%;margin-top:6px;font-size:12px;font-weight:600;color:var(--info-600)}
.vz-mprog-res{display:block;width:100%;margin-top:6px;padding:2px 0;border:0;background:transparent;text-align:left;font-size:12px;font-weight:600;color:var(--accent-600);cursor:pointer}
.vz-mprog-res:empty{display:none}
.toast{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--ok-600);border-radius:10px;box-shadow:var(--shadow-2);padding:12px 16px;font-size:13px;font-weight:600;color:var(--ink-700);display:flex;align-items:center;gap:8px}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px;margin-bottom:18px}
.plan-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px;display:flex;flex-direction:column;gap:10px}
.plan-chips{display:flex;flex-wrap:wrap;gap:6px}
.plan-chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;color:var(--ink-700)}
.plan-minmax{display:flex;gap:14px;font-size:12px;color:var(--ink-400)}
.plan-minmax b{color:var(--ink-700)}
.plan-cat{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400);margin:6px 0 10px}
.field-err{color:var(--danger-600);font-size:11.5px;font-weight:600;margin-top:4px}
.hamb{display:none}

button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--brand-600);outline-offset:3px}
.crm-grid{display:grid;grid-template-columns:3fr 2fr;gap:16px}.kanban-scroll{scrollbar-color:var(--ink-400) var(--bg);scrollbar-width:thin}@media(max-width:640px){.crm-grid{grid-template-columns:1fr}}

/* Dark native controls and modal scrolling use theme colors. */
:root{color-scheme:light}
[data-theme="dark"]{color-scheme:dark}
.modal .m-body{scrollbar-color:var(--ink-300) var(--card);scrollbar-width:thin}
h1,h2,h3,.m-value{font-family:'Archivo',var(--font)}

















@font-face{font-family:'Archivo';font-weight:600;font-style:normal;font-display:swap;src:url(/assets/1-font-0eaa0c4dc9.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-weight:700;font-style:normal;font-display:swap;src:url(/assets/5-font-822c8a02bf.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-weight:800;font-style:normal;font-display:swap;src:url(/assets/4-font-70e051b998.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url(/assets/2-font-17b2717bd9.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:url(/assets/8-font-c3a91f5240.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url(/assets/7-font-b8b83804f5.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-style:normal;font-display:swap;src:url(/assets/3-font-5b58bf1c1a.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:800;font-style:normal;font-display:swap;src:url(/assets/6-font-89d45057e2.woff2) format('woff2')}[hidden]{display:none!important}

/* Estilos extraidos de atributos style (CSP sem unsafe-inline). Manual secao 53. */
.tab-big{min-height:44px;padding:10px 14px;font-size:13.5px;font-weight:500;color:var(--ink-500)}
.tab-big.on{font-weight:700;color:var(--brand-700);border-bottom:2px solid var(--brand-600)}
.bar-fill{height:100%;border-radius:6px;background:var(--brand-600)}
.ev-item{margin:8px 4px 0;padding:8px 10px;border-left:3px solid var(--ink-300);background:#fff;border-radius:6px;box-shadow:var(--shadow-s)}
.sa719a0.sa719a0{font-size:10px;opacity:.5}
.s2318f9.s2318f9{color:#93a69c}
.s3f9364.s3f9364{opacity:.45}
.scd0eee.scd0eee{min-width:310px}
.scde22b.scde22b{display:none;background:#fdecec;border:1px solid #f3c2c2;color:#b3261e;border-radius:8px;padding:9px 12px;font-size:12.5px;margin-bottom:12px}
.s3edd00.s3edd00{display:flex;align-items:center;margin:4px 0 16px;font-size:12.5px;color:var(--ink-500)}
.sf60339.sf60339{display:flex;gap:6px;align-items:center}
.s5a9bc5.s5a9bc5{margin-left:auto;color:var(--brand-600);font-weight:600}
.s4ec4e0.s4ec4e0{text-align:center;font-size:11.5px;color:var(--ink-500);margin-top:10px}
.s5584b9.s5584b9{text-align:center;font-size:11px;color:var(--ink-300);margin-top:20px}
.s1386d5.s1386d5{margin:0}
.s0a60e6.s0a60e6{font-size:12px;color:var(--ink-400)}
.sda4728.sda4728{margin-left:6px;white-space:nowrap}
.s301969.s301969{margin-bottom:20px}
.s114b3e.s114b3e{gap:10px}
.se5e6f8.se5e6f8{font-size:20px}
.s5371db.s5371db{margin-top:10px}
.s4ad06f.s4ad06f{display:flex;gap:10px;flex-wrap:wrap}
.s4ddbe9.s4ddbe9{white-space:nowrap}
.sd1d16f.sd1d16f{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:12px;overflow-x:auto}
.s30efdd.s30efdd{display:flex;align-items:center;gap:10px;background:var(--warn-50);border:1px solid #eed9ae;color:var(--warn-600);border-radius:10px;padding:11px 14px;margin-bottom:12px;font-size:13.5px;min-height:44px}
.s834563.s834563{margin-left:auto}
.s32fbea.s32fbea{display:flex;align-items:center;gap:10px;background:var(--warn-50);border:1px solid #eed9ae;color:var(--warn-600);border-radius:10px;padding:11px 14px;margin-bottom:12px;font-size:13.5px;cursor:pointer;min-height:44px}
.s956ee2.s956ee2{margin-left:auto;font-weight:600}
.s8e8697.s8e8697{margin-bottom:16px}
.sa5503f.sa5503f{margin-inline:12px}
.se6060f.se6060f{display:none;color:var(--danger-600);font-size:12px;margin-top:4px}
.s6b9c17.s6b9c17{font-size:12px}
.s684a29.s684a29{padding:16px;margin-bottom:16px}
.sd43169.sd43169{margin-top:8px}
.sd279fb.sd279fb{display:block;margin-top:12px}
.sab4cd4.sab4cd4{padding:10px 0;border-bottom:1px solid var(--line)}
.se287bb.se287bb{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.sb0043e.sb0043e{margin-top:16px}
.sc2503f.sc2503f{display:flex;gap:14px;overflow-x:auto;padding-bottom:16px}
.s1df832.s1df832{min-width:250px;flex:1}
.sfd162d.sfd162d{font-size:14px;margin-bottom:16px}
.sb202c6.sb202c6{cursor:pointer}
.sd892c0.sd892c0{margin-top:8px;font-size:13px}
.s2d6fe4.s2d6fe4{margin:16px 0}
.sc719c6.sc719c6{margin-top:12px;width:100%;height:220px;border:1px solid var(--line);border-radius:12px}
.s716b3d.s716b3d{padding:6px 0}
.scc7859.scc7859{display:block;margin:12px 0}
.s292f4a.s292f4a{display:block;margin-bottom:8px}
.s418b7b.s418b7b{font-size:11.5px;color:var(--ink-400)}
.s994938.s994938{margin-bottom:16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12.5px}
.sb58387.sb58387{font-weight:700;color:var(--ink-400);font-size:11px;letter-spacing:.5px}
.s7c83f0.s7c83f0{margin-left:auto;color:var(--ink-500)}
.s6767b2.s6767b2{border-top:none;padding-top:0}
.s87c072.s87c072{width:auto;padding:7px 10px}
.sb65080.sb65080{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.s33e06f.s33e06f{font-weight:700;font-size:13px}
.s9949b8.s9949b8{padding:14px;margin-bottom:10px}
.s3044b6.s3044b6{font-size:13px}
.s8e1eb9.s8e1eb9{font-size:11.5px;color:var(--ink-400);margin:6px 0}
.s90de47.s90de47{display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--ink-500)}
.secf328.secf328{display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--ink-500);margin-top:4px}
.see8859.see8859{margin-top:8px;display:flex;gap:6px}
.s87ecd9.s87ecd9{border:1.5px dashed var(--line);border-radius:var(--radius-m);padding:28px 12px;text-align:center;color:var(--ink-300);font-size:12.5px}
.s6686b3.s6686b3{min-width:260px}
.s4f1589.s4f1589{width:auto}
.s324759.s324759{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px}
.s7dcfb4.s7dcfb4{grid-template-columns:3fr 2fr;gap:16px}
.s7fa563.s7fa563{padding:20px}
.s47925d.s47925d{display:flex;align-items:center;gap:12px;margin:10px 0}
.s792b9b.s792b9b{width:150px;font-size:12.5px;color:var(--ink-500)}
.s4e95a1.s4e95a1{flex:1;background:var(--brand-50);border-radius:6px;height:22px}
.s0ca01f.s0ca01f{width:28px;text-align:right;font-size:13px}
.sd4cfbd.sd4cfbd{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.s97a915.s97a915{font-size:11.5px;color:var(--ink-300);width:44px;flex-shrink:0}
.se4e660.se4e660{font-size:13px;font-weight:600}
.s6a8425.s6a8425{color:var(--ink-300)}
.s83713f.s83713f{flex:1;min-width:118px;overflow-wrap:anywhere}
.s75b5b4.s75b5b4{font-weight:700;font-size:12.5px;padding:8px 4px;border-bottom:2px solid var(--line)}
.s9f48f3.s9f48f3{font-size:11px;color:var(--ink-400)}
.s0645bd.s0645bd{font-size:12px;font-weight:600}
.s1575ac.s1575ac{padding:14px 4px;color:var(--ink-300);font-size:11.5px;text-align:center}
.s2a2f7d.s2a2f7d{padding:14px;display:flex;gap:6px;overflow-x:auto;max-width:100%}
.s541f4a.s541f4a{font-size:12px;color:var(--ink-400);margin-top:12px}
/* Dashboard: 6 KPIs sempre em grade equilibrada (3x2 ou 6x1), nunca 5+1 */
.grid.cards-6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1500px){.grid.cards-6{grid-template-columns:repeat(6,minmax(0,1fr))}}

.pw-req{list-style:none;margin:4px 0 14px;padding:0;display:grid;gap:6px;font-size:13px;color:var(--muted,#5a6a62)}
.pw-req li{display:flex;align-items:center;gap:8px;min-height:20px}
.pw-req li::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid #b8c4be;flex:none}
.pw-req li.ok{color:#006040;font-weight:600}
.pw-req li.ok::before{background:#006040;border-color:#006040}
.pw-req li.bad{color:#b3261e;font-weight:600}
.pw-req li.bad::before{border-color:#b3261e}

body.real [data-fn="restaurarDemo"]{display:none}
body.papel-tecnico [data-fn="openCrudForm"],body.papel-tecnico [aria-label="Editar"],body.papel-tecnico [aria-label="Excluir"],body.papel-tecnico [data-fn="reajusteAbrir"],body.papel-tecnico [data-fn="reajusteDesfazer"]{display:none}
body.papel-administrativo [aria-label="Excluir"]{display:none}

/* Certificados (manual seção 71) */
.cert-sec h3{font-size:15px;font-weight:700;margin-bottom:12px}
.cert-sec{margin-bottom:16px}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}
.cert-btnrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0 12px}
.cert-lista{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px;margin-bottom:12px}
.cert-chk{display:flex;gap:8px;align-items:center;min-height:36px;font-size:13.5px}
.cert-chk input{width:18px;height:18px}
.cert-file{position:relative;overflow:hidden;cursor:pointer}
.cert-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cert-err{color:var(--danger-600);font-size:13px;margin:8px 0}
.cert-res{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg)}
.cert-aviso{color:var(--ink-700)}
.cert-nota{padding:12px 16px}
.cert-sig{max-height:40px;max-width:160px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px}
.cert-busca{max-width:340px}
.cert-modelos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px}
.cert-mod{display:flex;flex-direction:column;gap:10px;cursor:pointer}
.cert-mod.sel{border-color:var(--brand-600);box-shadow:0 0 0 2px var(--brand-100)}
.cert-mod input{width:18px;height:18px}
.cert-prev{width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
/* Verificação pública (manual seção 71) */
.ver-body{background:var(--bg)}
.ver-wrap{max-width:520px;margin:0 auto;padding:32px 16px}
.ver-card{padding:24px}
.ver-logo{height:48px;width:auto;margin-bottom:16px}
.ver-card h1{font-size:19px;font-weight:700;margin-bottom:6px}
.ver-input{font-size:17px;letter-spacing:1px;min-height:48px}
#ver-res{margin-top:18px}
.ver-box{border:1px solid var(--line);border-radius:var(--radius-s);padding:14px}
.ver-ok{border-color:var(--ok-600)}
.ver-no p{margin:8px 0 0;font-size:13.5px}
.ver-linha{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.ver-linha:last-child{border-bottom:0}
.ver-linha span{color:var(--ink-500)}
.ver-linha strong{text-align:right;font-weight:600}
.ver-rodape{margin-top:14px;text-align:center}

.cp-modal{max-width:1180px}
.cp-tag{margin-left:8px;padding:3px 10px;border-radius:999px;background:#fdecec;color:#a02020;font-size:12px;font-weight:700}
.cp-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.cp-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cp-img{flex-direction:column;gap:10px;min-height:240px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--ink-400);font-size:13px;padding:8px}
.cp-img img{width:100%;height:auto;display:block;border:0}
.cp-info h4{font-size:14px;margin:0 0 10px}
.cp-dl{display:grid;grid-template-columns:100px 1fr;gap:8px 10px;margin:0;font-size:13.5px}
.cp-dl dt{color:var(--ink-400)}.cp-dl dd{margin:0;font-weight:600;word-break:break-word}
.cp-obs{margin-top:14px;padding:10px 12px;border-radius:var(--radius-s);background:var(--bg);font-size:12.5px;color:var(--ink-500)}
@media(max-width:860px){.cp-body{grid-template-columns:1fr}.cp-modal{max-height:96vh}}
.cert-par{display:inline-flex;flex-direction:column;gap:6px;min-width:120px}.cert-par .btn{width:100%;justify-content:center}.cp-tag-ok{background:var(--bg);color:var(--ink-500)}.cp-aviso{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-s);background:#fdecec;color:#a02020;font-size:13px}.cp-modal-vis{max-width:980px}

/* Botoes de arquivo so com icone e tooltip (MANUAL secao 74) */
.ibtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);color:var(--ink-500);cursor:pointer;position:relative}
.ibtn:hover{background:var(--bg);color:var(--ink-900);border-color:var(--ink-300)}
.ibtn svg{width:16px;height:16px;display:block}
.ibtn::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);right:0;background:var(--ink-900);color:#fff;font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--radius-s);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:20}
.ibtn:hover::after,.ibtn:focus-visible::after{opacity:1}
.ibtn-danger:hover{color:var(--danger-600);border-color:var(--danger-600)}
.ibtn-ok{color:var(--ok-600);border-color:var(--ok-600)}
.ver-acoes{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.cert-acoes{display:flex;gap:6px;justify-content:flex-end}
.cert-avulso{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.cert-avulso .input{width:220px}.cert-avulso .cert-av-cpf{width:160px}
.cert-lote{background:rgba(0,96,64,.06);border-radius:6px;padding:4px 8px}
.cert-pag{justify-content:center}
.cert-novo td{background:rgba(0,96,64,.07)}
.cert-pdf{width:100%;height:min(72vh,720px);border:0;background:#525659;border-radius:6px}
.cert-av-nome{width:240px}.cert-modo .btn{flex:0 0 auto}@media(max-width:560px){.cert-av-nome,.cert-av-cpf{width:100%}}
.cert-link{margin-top:6px}


.ver-hash{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-500)}
.ver-hash code{display:block;word-break:break-all;margin:6px 0 10px;color:var(--ink-700);font-size:12px}
.ver-arq{position:relative;overflow:hidden;cursor:pointer}
.ver-arq input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ver-ok-txt{color:var(--ok-600);font-weight:600}
.cert-par{display:inline-flex;flex-direction:column;gap:6px;min-width:120px}.cert-par .btn{width:100%;justify-content:center}.cp-tag-ok{background:var(--bg);color:var(--ink-500)}.cp-aviso{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-s);background:#fdecec;color:#a02020;font-size:13px}.cp-modal-vis{max-width:980px}
.au-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:12px}.tur-dl{padding:0 20px 16px}.tur-num{width:84px}.tur-sec{margin-top:16px}.tur-up{padding:0 20px 12px;align-items:center}.tur-fin{padding:14px 20px 0}.tur-sec>.sub{padding:0 20px}.tbl select.input{min-width:140px}
.au-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:12px}.tur-dl{padding:0 20px 16px}.tur-num{width:84px}.tur-sec{margin-top:16px}.tur-up{padding:0 20px 12px;align-items:center}.tur-fin{padding:14px 20px 0}.tur-sec .sub{padding:0 20px}

/* F4: editores de faixas, vínculos, credenciados e busca de CNPJ (cadastro) */
.f4-aux{font-size:12px;color:var(--ink-500);margin:4px 0 8px}
.f4-faixas{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.f4-faixa{display:grid;grid-template-columns:minmax(120px,1fr) 56px 56px 96px 96px 28px;gap:6px;align-items:end}
@media(max-width:760px){.f4-faixa{grid-template-columns:1fr 1fr;align-items:end}}
.f4-faixa label{font-size:11px;font-weight:600;color:var(--ink-400);display:flex;flex-direction:column;gap:3px}
.f4-picks{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.f4-pick{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 6px 3px 10px;font-size:11.5px;font-weight:600;color:var(--ink-700);display:inline-flex;align-items:center;gap:4px}
.f4-pick button{border:none;background:none;color:var(--ink-400);cursor:pointer;padding:2px;display:flex}
.f4-pick button:hover{color:var(--danger-600)}
.f4-results{border:1px solid var(--line);border-radius:8px;margin-top:4px;max-height:180px;overflow:auto}
.f4-result{display:block;width:100%;text-align:left;padding:8px 10px;background:var(--card);border:none;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px;color:var(--ink-700)}
.f4-result:hover{background:var(--bg)}
.f4-erro{color:var(--danger-600);font-size:12.5px;font-weight:600;margin:6px 0}
.f4-cnpj-row{display:flex;gap:8px;align-items:center}
.f4-cnpj-row .input{flex:1}
.f4-cred{border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:8px}
.f4-cred-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.f4-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:760px){.f4-faixa{grid-template-columns:1fr 1fr}.f4-grid2{grid-template-columns:1fr}}

/* Integração: respiro das listas da fábrica (serviços com coluna Código) */
.tbl-servicos td:first-child,.tbl-servicos th:first-child{min-width:228px;max-width:228px}
.tbl-servicos td:nth-child(2){max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl-servicos td:nth-child(3){max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl-servicos td:nth-child(4){max-width:95px;white-space:nowrap}
.tbl-servicos td:nth-child(6){white-space:nowrap;max-width:100px}
.tbl-servicos th:nth-child(6){white-space:normal;min-width:70px;line-height:1.2}
.tbl td.s4ddbe9{padding-right:14px}
.table{width:100%;border-collapse:collapse;font-size:13px;background:var(--card)}
.table th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-400);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.table td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.table tbody tr:last-child td{border-bottom:none}

/* ===== Modulo Ordens de Servico (F2) ===== */
.os-submit-oculto{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.os-kpi{cursor:pointer;text-align:left}
.os-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.os-form2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.os-vazio{padding:34px 16px;text-align:center;color:var(--ink-400)}
.os-erro{padding:26px 16px;text-align:center;color:var(--danger-600)}
.os-erro-acoes{margin-top:12px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.os-dica{margin-top:4px}
.os-scards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}
.os-scard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:12px 14px;cursor:pointer;text-align:left;min-height:44px}
.os-scard.on{border-color:var(--brand-500);box-shadow:0 0 0 1px var(--brand-500)}
.os-scard-n{display:block;font-size:22px;font-weight:700;color:var(--ink-900)}
.os-scard-l{font-size:12px;color:var(--ink-400)}
.os-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px}
.os-filtros .field{margin-bottom:0}
.os-filtros .search-input{flex:1 1 260px}
.os-filtros select.input{flex:1 1 180px;width:auto}
.os-carga{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.os-cal-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.os-cal-head h3{margin:0;flex:1;text-align:center;font-size:16px}
.os-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.os-cal-dia.hoje{border-color:var(--brand-500);box-shadow:0 0 0 1px var(--brand-500)}
.os-cal-dia{min-height:96px;border:1px solid var(--line);border-radius:var(--radius-s);padding:5px;background:var(--card);overflow:hidden}
.os-cal-num{font-size:12px;color:var(--ink-400);margin-bottom:4px}
.os-cal-lista{display:flex;flex-direction:column;gap:3px}
.os-cal-chip{font-size:11px;padding:2px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:none;text-align:left}
.os-cal-mais{font-size:11px;border:none;background:none;color:var(--brand-600);cursor:pointer;padding:2px 6px;text-align:left;min-height:22px}
.os-cal-leg{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;color:var(--ink-500)}
.os-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.os-chip-pendente{background:var(--ink-300);color:#fff}
.os-chip-em-andamento{background:var(--info-600);color:#fff}
.os-chip-aguardando-fiscalizacao{background:var(--warn-600);color:#fff}
.os-chip-impedida{background:var(--danger-600);color:#fff}
.os-chip-concluida{background:var(--ok-600);color:#fff}
.os-chip-cancelada{background:var(--danger-50);color:var(--danger-600)}
.os-chip-arquivada{background:var(--brand-100);color:var(--ink-500)}
.os-kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}
.os-kb-col{flex:0 0 250px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-m);padding:10px}
.os-kb-tit{font-size:13px;font-weight:700;margin:0 0 10px;color:var(--ink-700)}
.os-kb-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);padding:10px;margin-bottom:8px}
.os-kb-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.os-kb-emp{font-weight:600;font-size:13.5px;margin-top:4px}
.os-kb-atv{font-size:12.5px;color:var(--ink-500)}
.os-kb-prazo{font-size:12px;color:var(--ink-400);margin-top:6px}
.os-kb-acoes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;justify-content:flex-end}
.os-kb-vazio{font-size:12.5px;color:var(--ink-400);text-align:center;padding:14px 6px}
.os-atraso{color:var(--danger-600);font-weight:600}
.os-prio{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}
.os-prio-urgente{background:var(--danger-50);color:var(--danger-600)}
.os-prio-alta{background:var(--warn-50);color:var(--warn-600)}
.os-prio-media{background:var(--info-50);color:var(--info-600)}
.os-prio-baixa{background:var(--brand-100);color:var(--ink-500)}
.os-prio-linha{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
.os-prio-n{font-weight:700;min-width:24px}
.os-sel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.os-sel-txt{font-weight:600}
.os-sel-top{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}
.os-sel-lista{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}
.os-dist-bar{height:8px;border-radius:4px;background:var(--brand-100);margin:6px 0;overflow:hidden}
.os-dist-bar>div{height:100%;background:var(--brand-500)}
.os-dist-atribuir{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 14px}
.os-dist-atribuir select{flex:1;min-width:220px;max-width:420px}
.os-tl{list-style:none;margin:0;padding:0}
.os-tl-item{position:relative;padding:0 0 16px 22px;border-left:2px solid var(--line)}
.os-tl-item:last-child{padding-bottom:0}
.os-tl-ponto{position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--brand-500)}
.os-coms{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;max-height:300px;overflow-y:auto}
.os-com{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-s);padding:9px 12px}
.os-com-form{display:flex;gap:8px;align-items:flex-end}
.os-com-form .field{flex:1;margin-bottom:0}
.os-det-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:13.5px}
.os-det-status{display:flex;align-items:center;gap:10px;margin:14px 0;flex-wrap:wrap}
.os-err{color:var(--danger-600);font-size:12.5px;margin-top:4px}
@media (max-width:860px){
  .os-grid2,.os-form2,.os-det-grid{grid-template-columns:1fr}
  .os-cal-dia{min-height:64px}
}

.au-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:12px}.tur-dl{padding:0 20px 16px}.tur-num{width:84px}.tur-sec{margin-top:16px}.tur-up{padding:0 20px 12px;align-items:center}.tur-fin{padding:14px 20px 0}.tur-sec .sub{padding:0 20px}

/* F3: página pública de proposta (/p/:token) e modal de link público */
.prop-wrap{max-width:720px;margin:0 auto;padding:32px 16px}
.prop-card{padding:24px}
.prop-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.prop-head h1{font-size:19px;font-weight:700;margin:2px 0 0}
.prop-clinica{font-size:12.5px;font-weight:600;color:var(--ink-500);margin:0}
.prop-sec{margin-top:var(--prop-gap-sec)}
.prop-sec h2{font-size:15px;font-weight:700;margin-bottom:8px}
.prop-pre{white-space:pre-wrap;margin:0;font-size:14px}
.prop-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;background:var(--brand-50,#eef7f2);border-radius:12px}
.prop-total span{font-size:12.5px;font-weight:600;color:var(--ink-500)}
.prop-total strong{font-size:22px;font-weight:700;color:var(--brand-700,#00543a);font-variant-numeric:tabular-nums}
.prop-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:flex-end}
.modal .prop-acoes{justify-content:flex-end}
.prop-erro{color:var(--danger-600);font-size:13px;margin:8px 0 0}
.s-orclink-nota{margin:12px 0}
.s-orclink-h2{font-size:15px;font-weight:700}
.prop-item-txt{font-size:12.5px;color:var(--ink-500);margin-top:2px;white-space:pre-wrap}
.prop-lista{margin:0;padding-left:18px;font-size:14px;display:grid;gap:6px}
.prop-equipe{margin-top:12px;font-size:14px;line-height:1.7;color:var(--ink-600)}
.orc-item-txt{font-size:12.5px;color:var(--ink-500);margin-top:2px;white-space:pre-wrap;font-weight:400}
@media (max-width:760px){.prop-wrap{padding:16px 10px}.prop-acoes .btn{flex:1 1 auto;justify-content:center}}
@media (max-width:760px){.tbl .ibtn{width:44px;height:44px}}
@media (max-width:760px){.usr-tbl{min-width:0}.usr-tbl td:nth-child(2){white-space:normal;overflow-wrap:anywhere}}

/* Orçamentos: grade confortável na tela e coluna Ações sempre visível */
@media (min-width:761px){
  .tbl-orcamentos{font-size:13px}
  .tbl-orcamentos th,.tbl-orcamentos td{padding-left:8px;padding-right:8px}
  .tbl-orcamentos td:nth-child(1),.tbl-orcamentos td:nth-child(6),.tbl-orcamentos td:nth-child(7){white-space:nowrap}
  .tbl-orcamentos td:nth-child(2),.tbl-orcamentos td:nth-child(3){max-width:124px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tbl-orcamentos td:nth-child(4){max-width:66px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tbl-orcamentos td:nth-child(5){max-width:84px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tbl-orcamentos .cert-acoes{gap:4px}
  .tbl-orcamentos .ibtn{width:26px;height:26px}
  .tbl-orcamentos th:last-child,.tbl-orcamentos td:last-child{position:sticky;right:0;background:var(--card);z-index:1;box-shadow:-10px 0 10px -10px rgba(23,33,29,.25)}
  .tbl-orcamentos tbody tr:hover td:last-child{background:var(--bg)}
}

/* Orçamentos: cards e modal (CSP-safe, sem style inline) */
.orc-cards{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.orc-card{padding:12px 16px;min-width:140px}
button.orc-card-btn{text-align:left;cursor:pointer;font:inherit;color:inherit;border:1px solid var(--line)}
button.orc-card-btn:hover{border-color:var(--brand-600);box-shadow:var(--shadow-2)}
button.orc-card-btn.on{border-color:var(--brand-600);outline:2px solid color-mix(in srgb,var(--brand-600) 35%,transparent)}
.orc-card-v{font-size:20px;font-weight:700}
.orc-resumo{margin:10px 0}
.orc-resumo .m-value{font-size:19px}
.orc-modal-w{max-width:680px}
.orc-mbody{max-height:68vh;overflow:auto}
.orc-mb6{margin-bottom:6px}
.orc-fs135{font-size:13.5px}
.modal-640{max-width:640px}
.modal-mbody{max-height:65vh;overflow:auto}
.f4-aux-warn{color:var(--warn-600)}

/* Tela Usuarios e acessos (v164) */
.usr-tblwrap{overflow-x:auto}
.usr-tbl{min-width:0}

.usr-tbl td:nth-child(2){white-space:nowrap}

.usr-nome{display:flex;align-items:center;gap:10px}
.usr-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#d9f2e3;color:#14532d;font-weight:700;font-size:12px;flex:0 0 auto}
.usr-portal{margin-top:12px}
.usr-nota{margin-top:8px}
.prop-video{position:relative;width:100%;max-width:640px;aspect-ratio:16/9;background:#0d1512;border-radius:10px;overflow:hidden}
.prop-video iframe,.prop-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.prop-video-alt{margin:6px 0 0;font-size:12px}
.prop-video-alt a{color:#1a7a4a;text-decoration:underline}
.prop-kick{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6b7a72;margin:0 0 4px}
.prop-kick-sec{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#1a7a4a;text-align:center;margin:18px 0 2px}
.prop-h2-sec{font-size:24px;text-align:center;margin:0 0 14px;color:#12211a}
.prop-head-min h1{font-size:26px;margin:2px 0 0}
.prop-acoes-top{margin:8px 0 12px;display:flex;gap:8px;justify-content:flex-end}
.btn-pdf{background:var(--brand-50);border:1px solid var(--brand-600);color:var(--brand-700);font-weight:700}
.btn-pdf:hover{background:var(--brand-100)}
:root{--prop-gap-sec:18px}
.prop-wrap .ver-box{margin-top:var(--prop-gap-sec)}
.prop-ver-cta{display:flex;gap:12px;align-items:center;margin:14px 0}
a.prop-qr{display:block;flex:0 0 auto}
.prop-qr canvas{display:block;border:1px solid var(--line);border-radius:8px;max-width:108px;height:auto}
.prop-ver-btns{display:grid;gap:8px;flex:1;min-width:0}
.prop-ver-btns .btn{width:100%}
.prop-link-ver{color:var(--brand-700);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.ver-ok>p.sub{text-align:center;margin:12px 0 2px}
.prop-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 14px}
.prop-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:12px 0}
.prop-mini-card{background:#f3f7f4;border:1px solid #dce8e0;border-radius:10px;padding:12px}
.prop-valor{font-size:26px;font-weight:800;color:#1a7a4a;margin:2px 0}
.prop-valor-sm{font-size:18px;font-weight:700;color:#12211a;margin:2px 0}
.prop-hero-conv{background:linear-gradient(135deg,#0f3d2e,#1a7a4a);color:#fff;border-radius:14px;padding:28px 20px;text-align:center;margin-bottom:16px}
.prop-hero-conv h1{font-size:28px;margin:4px 0}
.prop-hero-conv .prop-kick{color:#bfe3cf}
.prop-hero-conv .prop-tagline{opacity:.9;font-style:italic}
.prop-card-invest{background:#fff;color:#12211a;border-radius:12px;display:inline-block;padding:14px 28px;margin:14px 0 6px}
.prop-card-invest span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#1a7a4a}
.prop-card-invest strong{font-size:30px}
.prop-chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.prop-chip{background:rgba(255,255,255,.15);border-radius:999px;padding:5px 12px;font-size:12px}
.prop-head-dark{background:#0f3d2e;color:#fff;border-radius:14px;padding:18px}
.prop-head-dark .prop-clinica,.prop-head-dark .prop-kick{color:#bfe3cf}
.prop-premium-top{text-align:center;padding:18px 0 6px}
.prop-premium-top h1.prop-serif{font-family:Georgia,'Times New Roman',serif;font-size:30px;margin:6px 0 10px}
.btn-danger{background:#c0392b;color:#fff;border:0;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}
.btn-danger:disabled{opacity:.6}

/* ===== OS > Visita de campo (frente F2, modulo os_visita.js) ===== */
.v-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.v-mod{border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:8px;background:var(--card)}
.v-mod summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.v-mod summary::-webkit-details-marker{display:none}
.v-mod summary small{display:block;font-weight:400;color:var(--ink-400);font-size:12px}
.v-mod summary .arrow{transition:transform .15s;color:var(--ink-400)}
.v-mod[open] summary .arrow{transform:rotate(90deg)}
.v-mod .inside{padding:4px 12px 12px}
.v-item{display:grid;grid-template-columns:1fr;gap:6px;padding:8px 0;border-top:1px dashed var(--line)}
@media(min-width:760px){.v-item{grid-template-columns:1fr 260px;align-items:center}}
.v-item .check{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.v-item .check input{margin-top:3px}
.v-obs{font-size:13px;padding:7px 10px}
.v-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.v-foto{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px}
.v-foto-ico{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-s);background:var(--brand-50,#eef5f0);color:var(--brand-600)}
.v-hr{border:none;border-top:1px solid var(--line);margin:16px 0}

/* ===== F4: criacao de orcamento tela cheia + menu recolhivel + mobile (v214) =====
   Logo/cabecalho SEM patch aqui: previa rejeitada pelo Pedro 23:28, aguardando nova versao do F4. */

.pv-fic{display:inline-flex;align-items:center;background:var(--warn-50);color:var(--warn-600);border:1px solid #f0e0b0;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:3px 9px;border-radius:999px;white-space:nowrap}
.pv-acoes{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pv-acoes .btn{display:inline-flex;align-items:center;gap:7px}
.pv-acoes .btn svg{width:15px;height:15px}
.pv-danger{color:var(--danger-600)}
.pv-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.pv-col{display:flex;flex-direction:column;gap:16px}
.pv-linha{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.pv-linha:last-child{border-bottom:none}
.pv-linha span{color:var(--ink-500);flex-shrink:0}
.pv-linha strong{font-weight:600;text-align:right;color:var(--ink-700)}
.pv-pre{font-size:13px;line-height:1.55;color:var(--ink-700);white-space:pre-wrap;margin:0}
.pv-item-txt{font-size:12px;color:var(--ink-500);font-weight:400;margin-top:2px}
.pv-tscroll{overflow-x:auto}
.pv-tscroll th:last-child,.pv-tscroll td[data-label="Total"],.pv-tscroll td[data-label="Valor unitário"],.pv-tscroll td[data-label="Qtd."]{white-space:nowrap}
.pv-totais{display:flex;justify-content:flex-end;gap:28px;padding:12px 4px 2px;font-size:13px}
.pv-totais div{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.pv-totais span{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-400)}
.pv-totais strong{font-size:15px}
.pv-total strong{color:var(--brand-700);font-size:17px}
.pv-hist{display:flex;flex-direction:column}
.pv-hrow{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.pv-hrow:last-child{border-bottom:none}
.pv-hdot{width:8px;height:8px;border-radius:50%;background:var(--brand-600);margin-top:5px;flex-shrink:0}
.pv-hrow strong{display:block;font-size:13px}
.pv-hrow span{font-size:12px;color:var(--ink-500)}
.pv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.pv-head h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.card h2{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-400);margin:0 0 8px}
/* Opção B: sobreposição completa */
.pv-back{position:fixed;inset:0;background:rgba(15,22,19,.55);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.pv-over{background:var(--bg);border-radius:16px;box-shadow:var(--shadow-2);width:min(1180px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden}
.pv-over-head{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--card)}
.pv-over-head h1{font-size:17px;margin:0}
.pv-over-body{overflow-y:auto;padding:20px}
.pv-over-foot{padding:12px 20px;border-top:1px solid var(--line);background:var(--card)}
.pv-x{margin-left:auto}
@media(max-width:900px){.pv-grid{grid-template-columns:1fr}.pv-totais{flex-wrap:wrap;gap:14px}}
@media(max-width:760px){
 .tbl td[data-label="Serviço"]{display:block}
 .tbl td[data-label="Serviço"]::before{display:block;margin-bottom:4px}
 .tbl td{overflow-wrap:break-word;word-break:normal}
 .tbl td strong{overflow-wrap:break-word;word-break:normal}
 .pv-item-txt{margin-top:4px}
 .pv-back{padding:0;align-items:stretch}
 .pv-over{width:100%;max-height:100vh;border-radius:0}
 .pv-over-head{flex-wrap:wrap}
 .pv-over-body{padding:14px}
 .pv-acoes{justify-content:stretch}
 .pv-acoes .btn{flex:1;justify-content:center}
}

.pv-tgl{display:inline-flex;transition:transform .15s}
.pv-tgl svg{width:16px;height:16px}
.pv-tgl{transform:rotate(90deg)} /* aponta para a esquerda: recolher */
.pv-tgl.exp{transform:rotate(-90deg)} /* aponta para a direita: expandir */


.pv-steps{display:flex;align-items:center;gap:8px;margin:4px 0 16px;flex-wrap:wrap;max-width:760px}
.pv-step{display:flex;align-items:center;gap:8px;color:var(--ink-400);font-size:13px;font-weight:600}
.pv-step .pv-n{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12.5px;background:var(--card)}
.pv-step .pv-n svg{width:14px;height:14px}
.pv-step.on{color:var(--brand-700)}
.pv-step.on .pv-n{border-color:var(--brand-600);background:var(--brand-600);color:#fff}
.pv-step.done{color:var(--ink-500)}
.pv-step.done .pv-n{border-color:var(--brand-600);color:var(--brand-600)}
.pv-bar{flex:1;min-width:16px;height:1.5px;background:var(--line)}
.pv-srv{display:flex;align-items:center;gap:14px;padding:10px 4px;border-bottom:1px solid var(--line)}
.pv-srv:last-child{border-bottom:none}
.pv-srv-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.pv-srv-code{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-400)}
.pv-srv-main strong{font-size:13px;line-height:1.35;overflow-wrap:break-word}
.pv-srv-faixa{font-size:12px;color:var(--ink-500)}
.pv-add{flex-shrink:0}
.pv-busca{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.pv-busca .input{flex:1;min-width:200px}
.pv-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:8px 0 4px;flex-wrap:wrap}
.pv-foot{display:flex;justify-content:space-between;gap:10px;margin-top:16px;flex-wrap:wrap}
.pv-foot .dir{display:flex;gap:8px}
@media(max-width:760px){.pv-srv{flex-direction:column;align-items:stretch}.pv-add{align-self:flex-end}}
.pv-stick{display:none}.nowrap{white-space:nowrap}
@media(max-width:760px){
 .pv-foot{display:none}
 .nowrap{white-space:nowrap}
}


/* F4: wizard de orcamento embutido em pagina (criacao em tela cheia, aprovado 22:56) */
.modal-back.pv-page{position:static;background:transparent;padding:0;display:block}
.modal-back.pv-page .modal{width:100%;max-width:none;max-height:none;height:auto;border:0;border-radius:0;box-shadow:none;background:transparent;display:block;overflow:visible}
.modal-back.pv-page .m-head{display:none}
.modal-back.pv-page .m-body{padding:0 0 8px;overflow:visible;max-height:none;display:flex;flex-direction:column;gap:16px}
.modal-back.pv-page .m-body>.tabs{display:none}
.modal-back.pv-page [data-form-group]:not([hidden]){display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-1)}
.modal-back.pv-page .m-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 4px}
#orc-wiz-rail{align-self:start;position:sticky;top:16px}
.pv-stick.off{display:none}
/* fix mobile 390: botoes longos com nowrap esticavam o form embutido (corte a direita) */
/* grade encolhe de verdade (1fr vira minmax(0,1fr)); compativel com patch F4 */
.pv-grid{grid-template-columns:minmax(0,1fr) 340px}
#orc-wiz-main,#orc-wiz-rail{min-width:0}
#orc-wiz-rail .pv-linha strong{min-width:0;overflow-wrap:anywhere;text-align:right}
@media(max-width:900px){.pv-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 .pv-grid>*{min-width:0}
 .modal-back.pv-page .btn{white-space:normal;min-width:0;height:auto;text-align:center}
 .modal-back.pv-page .field .btn{width:100%;margin-left:0!important}
 .modal-back.pv-page .field .btn+.btn{margin-top:8px}
 .modal-back.pv-page [data-form-group]:not([hidden]){padding:14px}
 .modal-back.pv-page .m-foot{flex-wrap:wrap}
 .modal-back.pv-page .m-foot .btn{flex:1 1 auto}
}
@media(min-width:761px){
 .modal-back.pv-page .m-foot{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);z-index:5}
 .shell.mini .nav-sub{display:none!important}
}
@media(max-width:760px){
 .modal-back.pv-page .m-body{padding-bottom:76px}
}

/* LOGO v3 (audio Pedro 23:31): mesmas distancias da foto atual (topo/esquerda), direita = esquerda, altura so um pouco maior */
.sidebar .brand img{display:block;width:100%;min-width:0;height:90px;max-width:100%;object-fit:contain;background:#fff;border-radius:6px;padding:5px 8px;box-sizing:border-box}

/* Botao/pestana de recolher-expandir (video MOB 23:32 + audio 23:32:49): meia altura, cor da sidebar, so seta */
.pv-edgetoggle{display:none}
@media(min-width:761px){
 .pv-edgetoggle{display:flex;position:fixed;left:calc(var(--sidebar-w) - 1px);top:50%;transform:translateY(-50%);z-index:60;width:16px;height:64px;border-radius:0 8px 8px 0;background:var(--side-bg);border:1px solid rgba(255,255,255,.14);border-left:none;color:#cfe3d8;align-items:center;justify-content:center;cursor:pointer;padding:0}
 .pv-edgetoggle .pv-tgl svg{width:13px;height:13px}
 .pv-edgetoggle::after{content:attr(data-tip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--ink-900);color:#fff;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s}
 .pv-edgetoggle:hover::after{opacity:1}
 .shell.mini .sidebar{transform:translateX(-105%)}
 .shell.mini .main{margin-left:0}
 .shell.mini .pv-edgetoggle{left:-1px}
 .sidebar{transition:transform .2s ease}
 .main{transition:margin-left .2s ease}
 .pv-edgetoggle{transition:left .2s ease}
}

/* F4: layout aprovado da criacao de orcamento (catalogo em linhas + itens em grade).
   Preserva todos os hooks funcionais (classes item-*, #orc-catalogo, data-fx). */
#orc-catalogo>.card{padding:14px 16px}
#orc-catalogo .orc-cat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
#orc-catalogo .orc-cat-main{min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
#orc-catalogo .orc-cat-main strong{font-size:13.5px;line-height:1.35;overflow-wrap:break-word}
#orc-catalogo .orc-cat-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;max-width:55%}
#orc-itens-editor{display:flex;flex-direction:column;gap:8px;margin-top:10px}
#orc-itens-editor .orc-item-head{display:grid;grid-template-columns:minmax(0,1fr) 76px 130px 76px 74px 100px 36px;gap:10px;padding:0 14px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400)}
#orc-itens-editor .orc-item{padding:12px 14px;margin-top:0}
#orc-itens-editor .orc-item-grid{display:grid;grid-template-columns:minmax(0,1fr) 76px 130px 76px 74px 100px 36px;gap:10px;align-items:end}
#orc-itens-editor .orc-item-grid label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--ink-500);margin:0;min-width:0}
#orc-itens-editor .oi-bonus{flex-direction:row!important;align-items:center;gap:6px;padding-bottom:12px;white-space:nowrap}
#orc-itens-editor .oi-total{font-size:13.5px;font-weight:700;color:var(--ink-800);text-align:right;padding-bottom:11px;white-space:nowrap}
#orc-itens-editor .orc-item-head .oi-total{padding-bottom:0}
#orc-itens-editor .item-remover{margin-bottom:2px;justify-self:end}
#orc-itens-editor .item-preco:disabled{background:var(--bg);color:var(--ink-400)}
@media(max-width:900px){
 #orc-itens-editor .orc-item-head{display:none}
 #orc-itens-editor .orc-item-grid{grid-template-columns:1fr 1fr;align-items:start}
 #orc-itens-editor .oi-desc{grid-column:1/-1}
 #orc-itens-editor .oi-bonus{padding-bottom:0}
 #orc-itens-editor .oi-total{padding-bottom:0;align-self:center}
 #orc-itens-editor .item-remover{justify-self:end}
 #orc-catalogo .orc-cat-row{flex-direction:column;align-items:stretch}
 #orc-catalogo .orc-cat-acts{max-width:none;justify-content:flex-start}
}

/* Wizard orcamento: navegacao unica = stepper; nav de grupos do CRUD some so na pagina-wizard (.pv-page), preservada no modal de edicao. */
.pv-page .crud-groupnav{display:none !important}

/* mobile: controle unico do wizard = m-foot nativo (Cancelar/Voltar/Continuar/Salvar). A barra pv-stick fica oculta: quando presa ao rodape ela nao pintava na revisao (anomalia de composicao investigada em 24/10). */

/* edicao de orcamento no modal: mesma grade ampla do wizard (7 colunas); modal padrao 520px quebrava nomes/totais */
@media(min-width:761px){ #crud-modal.orc-modal .modal{max-width:920px} }
/* Visualizacao completa da proposta (paridade ProSST) */
.orc-view-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px;justify-content:flex-end}
.orc-view-actions .btn{text-decoration:none}
.orc-item-per{font-size:12px;color:var(--ink-400);font-weight:400}
#orc-obsfin{width:100%;margin:6px 0 8px}
#orc-motivoperda{max-width:260px}
@media(max-width:760px){ .orc-resumo .metric::before{display:none} }
@media(min-width:761px){ .modal-back .modal.orc-modal-w{max-width:920px} }
/* Perfil de cliente/lead (padrao ProSST) */
.cli-perfil-top{display:flex;align-items:center;gap:14px;margin:4px 0 10px}
.cli-perfil-avatar{width:52px;height:52px;border-radius:12px;background:var(--brand-600);color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cli-perfil-id{min-width:0}
.cli-perfil-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.cli-perfil-abas{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:14px 0 12px;overflow-x:auto}
.cli-perfil-aba{background:none;border:none;padding:8px 14px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.cli-perfil-aba.ativo{color:var(--brand-700);border-bottom-color:var(--brand-600)}
.cli-perfil-aba:hover{color:var(--ink-800)}
.cli-badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--brand-50);color:var(--brand-700);font-size:11px;font-weight:700;text-align:center;margin-left:4px}
.cli-perfil-sec{margin:0 0 18px}
.cli-perfil-sec h4{font-size:14px;font-weight:700;margin:0 0 2px}
.cli-perfil-sec .sub{margin:0 0 8px;font-size:12px;color:var(--ink-400)}
@media(min-width:761px){ .modal .orc-resumo.grid.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))} }
/* Visualizacao de exame */
.exa-cat{text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--ink-500);margin:2px 0 6px}
.exa-mv{font-size:20px}
.exa-niveis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:10px}
.exa-nivel{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.exa-nivel-t{font-size:12px;font-weight:700;color:var(--brand-700);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.exa-l{font-size:11.5px;color:var(--ink-400)}
.exa-nivel strong{font-size:15px}
.pla-lista{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.pla-lista li{font-size:13.5px}
/* Perfil em pagina: usa toda a area util sem sobrepor o menu. */
.cli-page>.modal{width:100%;max-width:none;max-height:none;height:auto;box-shadow:none;border-radius:14px;overflow:visible}
.cli-page .m-head{justify-content:space-between}
.cli-page .m-body{max-height:none;overflow:visible}
.cli-page .orc-resumo.grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cli-page .metric .m-value{overflow-wrap:anywhere}
@media(max-width:760px){.cli-page .orc-resumo.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cli-page .m-body{padding:14px}.cli-page .tbl{display:block;overflow-x:auto}.cli-page .cli-perfil-abas{max-width:100%}}
@media(min-width:761px){.cli-page .modal .orc-resumo.grid.cards-4{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* O editor deve responder a coluna util do wizard, nao apenas a viewport. */
#orc-itens-editor{container-type:inline-size}
@container (max-width:850px){
 #orc-itens-editor .orc-item-head{display:none}
 #orc-itens-editor .orc-item-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 #orc-itens-editor .oi-desc{grid-column:1/-1}
 #orc-itens-editor .orc-item-grid input{width:100%;min-width:0}
}

.os-tl-indisp{margin-top:8px;font-style:italic}
.os-det-acoes{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* Campo de data com calendario opcional (regra geral mascaras 24/10) */
.field.has-cal{position:relative}
.field.has-cal>input[data-mask="data"]{padding-right:40px}
.cal-btn{position:absolute;right:6px;top:26px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:8px;color:var(--muted,#64748b);cursor:pointer}
.cal-btn:hover,.cal-btn:focus-visible{background:var(--bg-soft,#f1f5f9);color:var(--text,#0f172a)}
.cal-btn svg{width:18px;height:18px}
.data-err{color:var(--danger-600);font-size:13px;margin:4px 0 0}
/* Fluxo guiado de risco (PDF do dono, secao 1) */
.rk-step{display:none}
.rk-step.on{display:block}
.rk-passos{display:flex;gap:4px;margin:0 0 4px}
.rk-passos i{flex:1;height:4px;background:#dbe4e0;border-radius:2px}
.rk-passos i.on{background:#12745a}
.rk-step-nome{font-weight:600;margin:6px 0 2px}
.rk-step-sub{margin:0 0 10px}
.rk-alerta-intoleravel{background:#fdecea;border:1px solid #f0b4ac;color:#8f1d10;padding:8px 10px;border-radius:8px;font-weight:600}

/* responsivo: campos lado a lado empilham no celular */
@media (max-width:520px){.prop-duo{grid-template-columns:1fr}}

/* ---------- Padroes de tela (docs/padroes-telas.md) ---------- */
.acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;justify-content:flex-end}
.acoes-nota{margin-top:8px;color:var(--ink-500);font-size:13px}
.acoes-inline{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.toggle-linha{display:flex;align-items:flex-start;gap:8px;min-height:44px;padding:8px 0}
.toggle-linha input[type="checkbox"]{margin-top:3px;width:16px;height:16px;flex:none}
.toggle-linha span{line-height:1.45}
.toggle-bloco{margin-top:16px;border-top:1px solid var(--line);padding-top:8px}
.midia-painel{max-width:100%;border:1px solid var(--line);border-radius:var(--radius-s);margin-top:12px}
fieldset.grupo-opcoes{border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px;margin-top:16px}
fieldset.grupo-opcoes legend{font-size:12.5px;font-weight:600;color:var(--ink-700);padding:0 6px}
fieldset.grupo-opcoes .toggle-linha{min-height:36px;padding:4px 0}

/* ---------- Destinatarios por evento (Comunicacao) ---------- */
.dest-ev{border-top:1px solid var(--line);padding:16px 0 8px;margin-top:8px}
.dest-ev:first-of-type{border-top:none;padding-top:8px;margin-top:0}
.dest-ev-t{margin:0 0 4px;font-size:15px}
.dest-previa{margin:10px 0}
.dest-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.dest-chip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:999px;padding:6px 10px;font-size:13px}
.dest-chip small{color:var(--ink-500)}
.dest-chip-x{background:none;border:none;color:var(--ink-500);font-size:16px;line-height:1;padding:2px 4px;min-height:24px;min-width:24px}
.dest-chip-x:hover{color:var(--danger-600)}
.dest-busca{display:grid;grid-template-columns:1fr 180px;gap:8px;margin:8px 0}
.dest-cand{border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:4px}
.dest-cand-l{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:44px}
.dest-cand-l:last-child{border-bottom:none}
.dest-estado{display:inline-flex;align-items:center;min-height:40px}
@media (max-width:720px){ .dest-busca{grid-template-columns:1fr} }
.v-file-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.v-file-btn{cursor:pointer}
.v-cknav{display:flex;gap:8px;align-items:center}
.v-cknav>.v-sp{flex:1}
.tscroll{overflow-x:auto}
.v-falta{margin-bottom:12px;padding:10px 14px}
.v-retro{margin-bottom:12px;padding:10px 14px}
.v-retro-sub{margin-top:2px}

/* ===== Visita guiada (wizard) - modelo 1 aprovado por Pedro 24/10 22:38 ===== */
.vz-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;padding:18px 20px;margin-bottom:14px}
.vz-head h1{font-size:19px;margin:0 0 4px}
.vz-head-l{min-width:0}
.vz-head .vz-meta{color:var(--ink-500);font-size:13px;margin-bottom:6px}
.vz-head-r{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}
.vz-head-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.vz-save{display:flex;align-items:center;gap:8px;color:var(--ok-600);font-size:12.5px;font-weight:600}
.vz-dot{width:8px;height:8px;border-radius:50%;background:#2e9e5b;flex:none}
.vz-agendar{margin-bottom:14px}
.vz-steps{display:flex;gap:6px;margin:2px 0 16px}
.vz-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative;padding:2px 4px 0;background:none;border:none}
.vz-step .vz-n{width:26px;height:26px;border-radius:50%;border:2px solid var(--ink-300);color:var(--ink-400);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--card);z-index:1}
.vz-step .vz-l{font-size:11.5px;color:var(--ink-400);font-weight:600}
.vz-step::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--line)}
.vz-step:first-child::before{display:none}
.vz-step.done .vz-n{background:#2e9e5b;border-color:#2e9e5b;color:#fff}
.vz-step.done .vz-l{color:var(--ok-600)}
.vz-step.done::before{background:#2e9e5b}
.vz-step.cur .vz-n{border-color:var(--brand-600);color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
.vz-step.cur .vz-l{color:var(--brand-600)}
.vz-layout{display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:16px;align-items:start}
.vz-body{padding:20px 22px}
.vz-kick{color:var(--ink-500);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.vz-h2{font-size:17px;margin:4px 0 12px}
.vz-gprog{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.vz-bar{flex:1;height:8px;border-radius:99px;background:var(--brand-50);overflow:hidden}
.vz-bar i{display:block;height:100%;background:var(--brand-600);border-radius:99px;width:0}
.vz-gprog span{font-size:12.5px;color:var(--ink-500);font-weight:600;white-space:nowrap}
.vz-q{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line);align-items:center}
.vz-t{flex:1;min-width:0}
.vz-t b{display:block;font-size:14px;margin-bottom:6px;font-weight:600}
.vz-t .v-obs{max-width:460px}
.vz-pend{display:block;color:var(--danger-600);font-size:12px;margin:-2px 0 6px}
.vz-seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;flex:none}
.vz-seg button{background:var(--card);padding:8px 12px;font-size:12px;font-weight:600;color:var(--ink-500);border-right:1px solid var(--line);white-space:nowrap}
.vz-seg button:last-child{border-right:0}
.vz-seg button[disabled]{cursor:default;opacity:.9}
.vz-seg button.s-sim.sel{background:#e6f4ec;color:#1d6b3f}
.vz-seg button.s-nao.sel{background:#fdecea;color:#a93226}
.vz-seg button.s-na.sel{background:#eef1ef;color:#4c5a52}
.vz-seg button.s-nav.sel{background:#e8eef3;color:#3d5468}
.vz-cf{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:10px}
.vz-cf-mid{color:var(--ink-500);font-size:12.5px;text-align:center}
.vz-rail-c{padding:16px 18px;margin-bottom:14px}
.vz-rail-c h3{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-500);margin:0 0 10px}
.vz-big{font-size:24px;font-weight:700;margin-bottom:8px}
.vz-big small{font-size:13px;color:var(--ink-500);font-weight:600}
.vz-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:2px 0 10px}
.vz-iqline{font-size:12.5px;font-weight:600;margin:2px 0 8px}
.vz-note{color:var(--ink-500);font-size:12.5px;line-height:1.5;margin:6px 0 0}
.vz-leg{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.vz-leg span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-500);font-weight:600}
.vz-leg i{width:10px;height:10px;border-radius:3px;flex:none}
.vz-mprog{display:none;margin:12px 0}
.vz-mbar{display:none}
@media(max-width:920px){
 .vz-head{flex-direction:column;align-items:flex-start}
 .vz-head-r{align-items:flex-start;width:100%}
 .vz-head-btns{justify-content:flex-end}
 .vz-steps{display:none}
 .vz-layout{grid-template-columns:1fr}
 .vz-q{flex-direction:column;align-items:stretch}
 .vz-t .v-obs{max-width:none}
 .vz-seg{flex-direction:column;width:100%}
 .vz-seg button{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;font-size:13px}
 .vz-seg button:last-child{border-bottom:0}
 .vz-cf{flex-direction:column-reverse;align-items:stretch}
 .vz-cf .btn{justify-content:center}
 .vz-cf-mid{text-align:center}
 .vz-mprog{display:block}
 .vz-mprog .vz-mprog-lb{font-size:12px;font-weight:700;color:var(--brand-600);margin-bottom:5px}
 .vz-mbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));z-index:40}
 .vz-mbar .btn{flex:1;justify-content:center}
 .vz-body{margin-bottom:0}
 .vz-layout{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

/* Config de alertas (vencimentos): footer a direita sem style inline (CSP) - achado QA 24/10 */
.vc-cfg-grid{align-items:start}
.vc-cfg-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.s-nt-corpo{white-space:pre-line}

/* Dashboard Modelo A (aprovado 25/10 06:59) */
.dash-sec{margin-top:22px}
.dash-sec-t{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--ink-500);text-transform:uppercase}
.dash-sec-s{font-size:12.5px;color:var(--ink-500);margin:2px 0 10px}
.qrows{display:flex;flex-direction:column;gap:8px}
.qrow{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit}
.qrow-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand-600);flex:none}
.qrow-t{flex:1;min-width:0}
.qrow-t b{display:block;font-size:13.5px;font-weight:600}
.qrow-t span{display:block;font-size:12px;color:var(--ink-500)}
.qrow-v{font-size:20px;font-weight:700}
.qrow-ok{color:var(--ok-600);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:4px}
.qrow-ok svg{width:16px;height:16px}
.qrow-chev{color:var(--ink-400);display:inline-flex}
.com-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.com-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:inherit;display:block}
.com-card .m-ico{width:36px;height:36px;border-radius:10px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center}
.com-chev{position:absolute;top:14px;right:12px;color:var(--ink-400);display:inline-flex}
.com-l{display:block;margin-top:10px;font-size:12.5px;color:var(--ink-700);font-weight:600}
.com-v{display:block;font-size:22px;font-weight:800;margin-top:2px}
.com-f{display:block;font-size:11.5px;color:var(--ink-500);margin-top:2px}
@media(min-width:900px){.com-grid{grid-template-columns:repeat(4,1fr)}}

/* Hierarquia dos blocos de aceite (Pedro 25/10 09:41) */
.aceite-sec{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.aceite-sec:first-child{margin-top:0;padding-top:0;border-top:0}
.aceite-rotulo{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-400);margin:0 0 4px}

/* ---------- Config > Usuários e acessos (painel completo, usuarios.js) ---------- */
.usr-stats{margin-bottom:20px}
.usr-stats .metric{gap:8px}
.usr-tabs{margin-bottom:0;border-bottom:none}
.usr-busca{display:flex;align-items:center;gap:8px;flex:1;max-width:420px;color:var(--ink-400)}
.usr-busca .input{flex:1}
.usr-foto{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--bg);border:1px solid var(--line)}
.usr-foto-lg{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--bg);border:1px solid var(--line)}
span.usr-foto.usr-avatar,span.usr-foto-lg.usr-avatar{display:inline-flex;align-items:center;justify-content:center;background:#d9f2e3;color:#14532d;font-weight:700}
.usr-foto-lg.usr-avatar{font-size:16px}
.usr-origem{display:block;font-size:11.5px;color:var(--ink-400);font-weight:400;margin-top:2px}
.usr-th-acao{text-align:right}
.usr-acoes{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.usr-modalback .modal{max-width:680px;width:calc(100% - 32px)}
.usr-head-id{display:flex;align-items:center;gap:12px;min-width:0}
.usr-head-id h3{margin:0 0 4px}
.usr-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:12px;padding-top:6px}
.usr-dl-i strong{display:block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-400);margin-bottom:3px}
.usr-dl-i p{margin:0;font-size:13.5px;overflow-wrap:anywhere}
@media (max-width:760px){
  .usr-busca{max-width:none;width:100%}
  .usr-acoes{justify-content:flex-start}
  .usr-head-id{flex-wrap:wrap}
}
.usr-m-label{display:block}
.usr-listcard{padding:0;overflow:hidden}

.usr-detail{max-width:1100px;margin:0 auto}.usr-detail .m-head{padding:20px;border-bottom:1px solid var(--line)}.usr-detail .m-body{padding:20px}.usr-detail .m-foot{padding:16px 20px}.usr-detail .usr-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.usr-detail .usr-dl-i{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.usr-detail .usr-dl{grid-template-columns:1fr}.usr-detail .m-head{padding:16px}.usr-detail .m-body{padding:16px}}

/* Etapas de cadastros: grade uniforme, nunca largura ditada pelo texto. */
.crud-groupnav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding-bottom:14px}
.crud-groupnav>.btn{width:100%;min-width:0;min-height:42px;white-space:normal;line-height:1.25;justify-content:center;margin:0;padding:9px 8px}
@media(max-width:600px){
 .crud-groupnav{grid-template-columns:1fr;gap:6px}
 .crud-groupnav>.btn{min-height:38px;padding:8px 12px;justify-content:flex-start;text-align:left}
}
/* Mesmo agrupamento no desktop tem largura suficiente para rótulos integrais. */
#crud-modal[data-form-id]>.modal{max-width:680px}
#crud-modal[data-form-id] .m-foot>.btn{min-width:88px;min-height:42px;justify-content:center}
#emp-extras button{display:flex;margin-left:auto;min-width:140px;min-height:38px;justify-content:center}
@media(min-width:601px){.crud-groupnav>.btn{white-space:nowrap;padding:10px 6px}}
@media(max-width:600px){#crud-modal[data-form-id] .m-foot{justify-content:flex-end;gap:8px}#crud-modal[data-form-id] .m-foot>.btn{min-width:0;flex:0 1 92px}}

/* Ajuda da importação: explicação local, sem alterar o parser. */
.cert-import-help{margin:8px 0 12px;border:1px solid var(--line);border-radius:10px;padding:12px}
.cert-import-help summary{cursor:pointer;font-weight:600;font-size:13px}
.cert-import-help-body{font-size:13px;line-height:1.55;padding-top:8px}
.cert-import-help-body p{margin:0 0 10px}
.cert-import-help-body p:last-child{margin-bottom:0}
.cert-import-help-body pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;border:1px solid var(--line);border-radius:6px;margin:0 0 10px;font-size:12px}
.cert-import-actions{justify-content:flex-end}
.cert-import-actions>.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center}
@media(max-width:600px){.cert-import-actions>.btn{width:100%;min-height:42px}}
.cert-import-preview{margin-top:16px;border-top:1px solid var(--line);padding-top:16px;scroll-margin-top:76px}
.cert-import-preview h4{margin:0 0 8px;font-size:15px}
.cert-import-preview>p{font-size:13px;line-height:1.5;margin-bottom:12px}
.cert-import-feedback{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}
.cert-import-feedback .sub{line-height:1.45;font-weight:400;white-space:normal}
@media(max-width:600px){.cert-import-preview .tbl td[data-label="Conferência"]{display:block;text-align:left}.cert-import-preview .tbl td[data-label="Conferência"]::before{display:block;margin-bottom:8px}.cert-import-feedback{width:100%}}
/* A ação final segue o mesmo alinhamento dos demais grupos de ações. */
.cert-sec>[data-fn="certEmitir"]{display:flex;margin-left:auto;min-height:42px;align-items:center;justify-content:center}

.cert-import-feedback .cert-import-message{white-space:normal;max-width:100%;box-sizing:border-box;line-height:1.5;text-align:left;overflow-wrap:anywhere;border-radius:var(--radius-s);padding:7px 10px}
.cert-import-preview .tbl .cert-import-message{white-space:normal!important;display:block;width:fit-content;max-width:100%;min-width:0;word-break:normal;overflow-wrap:anywhere}
.cert-import-preview .cert-import-feedback{min-width:0;max-width:100%}

.os-erro .os-erro-aviso{display:block;white-space:normal;line-height:1.5;text-align:left;font-weight:600;max-width:640px;overflow-wrap:anywhere;padding:10px 12px;border-radius:var(--radius-s)}
.usr-detail-v3{max-width:1100px;margin:0 auto}.usr-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:var(--card);margin-bottom:20px}.usr-hero h1{font-size:24px;margin:0 0 5px}.usr-hero .sub{margin:0 0 12px}.usr-hero .usr-foto-lg{width:88px;height:88px;font-size:25px}.usr-section{padding:24px;margin-bottom:20px}.usr-section-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.usr-section-head h2{font-size:16px;margin:0 0 6px}.usr-section-head p{margin:0}.usr-edit-modal{max-width:720px}.usr-form-error{display:block;white-space:normal;line-height:1.5;max-width:100%;overflow-wrap:anywhere;padding:8px 10px}.usr-form-error[hidden]{display:none}.usr-empty{padding:24px}.usr-perm-table td,.usr-perm-table th{font-size:12px}.usr-detail-v3 .usr-dl{padding:0;gap:20px 24px}.usr-detail-v3 .usr-dl-i p{font-size:14px}.usr-hero .usr-acoes{max-width:340px}@media(max-width:600px){.usr-hero{padding:18px;flex-direction:column;align-items:stretch;gap:20px}.usr-hero .usr-head-id{flex-wrap:nowrap;align-items:flex-start}.usr-hero h1{font-size:21px}.usr-hero .usr-foto-lg{width:64px;height:64px;font-size:21px}.usr-hero .usr-head-id>div{min-width:0;overflow-wrap:anywhere}.usr-hero .usr-acoes{max-width:none;justify-content:flex-end}.usr-section{padding:18px}.usr-detail-v3 .usr-dl{grid-template-columns:1fr}.usr-edit-modal .usr-dl{grid-template-columns:1fr}.usr-perm-table{min-width:570px}}
.usr-hero .usr-acoes .btn{min-height:40px;padding:10px 14px}.usr-section-head h2{color:var(--ink-900);font-weight:700;text-transform:none;letter-spacing:0}.side-user .uinfo a{color:inherit;text-decoration:none}.side-user .uinfo a:hover{text-decoration:underline}
/* Ações de usuários: ícones com legenda acessível no hover/foco. */
.usr-acoes .usr-icon-btn,.usr-hero .usr-acoes .usr-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:9px;flex:0 0 40px;border-radius:8px}.usr-icon-btn svg{width:20px;height:20px;pointer-events:none}.usr-icon-btn:hover::after,.usr-icon-btn:focus-visible::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);right:0;z-index:80;white-space:nowrap;background:var(--ink-900);color:#fff;padding:6px 9px;border-radius:6px;font-size:12px;font-weight:500;box-shadow:0 3px 8px #0002}.usr-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.usr-password-field{margin-top:20px}.usr-password-field small{display:block;margin-top:8px}.usr-acoes{flex-wrap:nowrap}.usr-tbl td:last-child{min-width:190px}@media(max-width:600px){.usr-tbl td:last-child{min-width:0}.usr-hero .usr-acoes{align-self:flex-end}}
@media(min-width:601px){.usr-tbl{table-layout:fixed;width:100%}.usr-tbl th:nth-child(1){width:17%}.usr-tbl th:nth-child(2){width:23%}.usr-tbl th:nth-child(3){width:13%}.usr-tbl th:nth-child(4){width:16%}.usr-tbl th:nth-child(5){width:14%}.usr-tbl th:nth-child(6){width:194px}.usr-tbl td{overflow-wrap:anywhere}.usr-tbl .usr-nome{align-items:flex-start}.usr-tbl .usr-acoes{gap:5px}.usr-tbl td:last-child{min-width:0;padding-left:8px;padding-right:8px}}
.usr-tbl td .pill{white-space:normal;max-width:100%;line-height:1.35;text-align:center;overflow-wrap:anywhere}.usr-tbl .usr-nome>span{min-width:0}.usr-tbl .usr-origem{overflow-wrap:anywhere}.usr-tbl td{word-break:normal;overflow-wrap:anywhere}
@media(min-width:601px){.usr-tbl th:nth-child(1){width:16%}.usr-tbl th:nth-child(2){width:20%}.usr-tbl th:nth-child(3){width:15%}.usr-tbl th:nth-child(4){width:17%}.usr-tbl th:nth-child(5){width:12%}.usr-tbl th:nth-child(6){width:20%}.usr-tbl td,.usr-tbl th{padding:12px 8px}.usr-tbl td:nth-child(2){word-break:break-word;overflow-wrap:anywhere;white-space:normal}.usr-tbl td:nth-child(3) .pill{white-space:nowrap;font-size:11px;padding:4px 6px}.usr-tbl td:last-child{padding:12px 5px}.usr-tbl .usr-acoes{gap:4px}}

.prop-pdf-modal{max-width:1100px;height:94vh;max-height:94vh}.prop-pdf-viewer{min-height:0;flex:1;background:#e3e8e6}.prop-pdf-viewer iframe{display:block;width:100%;height:100%;border:0}.prop-acoes-top{flex-wrap:wrap}@media(max-width:600px){#prop-pdf-modal{padding:8px}.prop-pdf-modal .m-head{padding:12px}.prop-pdf-modal .m-foot{padding:12px;gap:10px}.prop-pdf-modal .m-foot .btn{padding:10px;font-size:12px}}
.prop-pdf-viewer{overflow:auto;padding:12px}.prop-pdf-viewer canvas{display:block;width:100%;height:auto;max-width:900px;margin:0 auto 16px;background:white;box-shadow:0 1px 8px #0002}
.orc-msg-nota{margin:14px 0 18px;line-height:1.6}#orc-msg-revisao{margin:16px 0}.prop-sec>p:last-child{margin-bottom:20px}
/* Entrada autenticada do técnico: aceite, agendamento e visita no mesmo fluxo. */
.flux-card{max-width:760px}.flux-card h2{margin:18px 0 10px}.flux-card h3{font-size:15px;margin-top:22px}.flux-actions{display:grid;gap:10px;margin:22px 0 12px}.flux-actions .btn{min-height:48px;white-space:normal}.flux-disabled{background:#f4f6f4;color:#7a857e;border:1px solid #e0e5e1;cursor:not-allowed}.flux-details{border-top:1px solid #e1e6e2;margin-top:16px;padding-top:8px}.flux-details summary{min-height:44px;padding:10px 0;cursor:pointer}.flux-details p{overflow-wrap:anywhere}.flux-servicos{padding-left:20px}.flux-servicos li{margin:7px 0;overflow-wrap:anywhere}@media(max-width:600px){.flux-card{padding:18px}.flux-actions .btn{width:100%}}
/* Configuração de vendedores, sem geração financeira. */
.vend-modal{width:min(1000px,94vw);max-height:90dvh;overflow:auto}.vend-modal .m-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.vend-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.vend-card{border:1px solid var(--border,#d8e3dd);border-radius:12px;padding:16px;min-width:0}.vend-card h3{margin-top:0}.vend-card dl{margin:12px 0}.vend-card dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.vend-card dd{margin:0;font-weight:600}.vend-notice{padding:16px;border-left:4px solid #007451;background:#edf7f2;border-radius:8px;line-height:1.6}.vend-form{display:grid;gap:16px;padding:20px 0}.vend-form label{display:grid;gap:8px}.vend-check{display:flex!important;align-items:center;gap:12px}.vend-check input{width:24px;height:24px}.vend-modal .btn,.vend-form .input{min-height:48px}.vend-modal button:focus-visible,.vend-form input:focus-visible{outline:3px solid #005fcc;outline-offset:3px}.vend-entry{margin-top:20px}
@media(max-width:600px){.os-risk-table,.os-risk-table tbody,.os-risk-table tr,.os-risk-table td{min-width:0;max-width:100%;box-sizing:border-box}.os-risk-table td{white-space:normal!important;overflow-wrap:anywhere;flex-wrap:wrap}.os-risk-table td:first-child{display:block!important;padding-top:14px}.os-risk-table td:first-child:before{display:block;margin-bottom:8px}.os-risk-table .pill{max-width:100%;white-space:normal!important;display:inline-block}.os-risk-table .cert-acoes{display:flex;flex-wrap:wrap;gap:8px}.os-risk-table .cert-acoes .btn{white-space:normal;min-height:48px}.os-risk-table tr{overflow:hidden}}
.ck-help-entry{margin:16px 0;padding:8px 0}.ck-help-entry .btn{font-size:14px;min-height:48px;border:1px solid #8aa99c;color:#005b40}.ck-help-entry span{display:inline-flex;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;align-items:center;justify-content:center;margin-right:8px}.ck-help-back{z-index:10050}.ck-help-modal{width:min(720px,94vw);max-height:90dvh;display:flex;flex-direction:column}.ck-help-modal .m-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.ck-help-modal h2{font-size:20px;margin:0}.ck-help-modal .m-body{overflow:auto;line-height:1.6;overflow-wrap:anywhere}.ck-help-modal li{margin:10px 0}.ck-help-modal ol,.ck-help-modal ul{padding-left:22px}.ck-help-modal summary{cursor:pointer;padding:12px 0;min-height:48px;font-weight:600}.ck-help-modal button{min-height:48px}.ck-help-modal :focus-visible{outline:3px solid #005fcc;outline-offset:3px}
/* 359: ações de avaliação separadas, sem alterar campos ou persistência. */
.rk-roadmap ol{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rk-roadmap li{font-size:12px;padding:8px;border:1px solid var(--line);border-radius:8px;line-height:1.4;color:var(--ink-500)}.rk-roadmap li span{font-weight:700;margin-right:6px}.rk-roadmap li.cur{border:2px solid var(--brand-600);background:var(--brand-50);color:var(--ink-800);font-weight:700}.rk-roadmap li.done{color:var(--brand-600)}
.rk-footer{width:100%;min-width:0}.rk-footer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.rk-footer>p{margin:8px 0 14px;line-height:1.5}.rk-footer-main{display:flex;justify-content:flex-end;margin-bottom:14px}.rk-footer-secondary{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:14px;flex-wrap:wrap}.rk-footer .btn{min-height:46px;white-space:normal;text-align:center;justify-content:center}.rk-list-guide{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.rk-list-guide h3{margin:0 0 10px}.rk-list-guide ol{padding-left:20px;margin:0}.rk-list-guide li{margin:8px 0;line-height:1.55}.rk-list-actions{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}
@media(max-width:600px){.rk-roadmap ol{grid-template-columns:repeat(2,minmax(0,1fr))}.rk-footer-main .btn{width:100%}.rk-footer-secondary{display:grid;grid-template-columns:1fr}.rk-footer-secondary .btn{width:100%}#v-modal:has(.rk-footer) .m-foot{padding:12px 16px}#v-modal:has(.rk-footer) .modal{max-height:94dvh}#v-modal:has(.rk-footer) .m-body{min-height:100px}}
@media(max-width:920px){.vz-body>.vz-cf{display:none}.vz-mbar{gap:14px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.vz-mbar .btn{min-height:48px;white-space:normal;text-align:center}.vz-mbar .btn-primary{flex:1.4}}
.rk-roadmap{margin-bottom:16px}.rk-roadmap summary{font-size:13px;color:var(--brand-600);cursor:pointer;padding:6px 0}.rk-roadmap ol{margin-top:10px}
@media(max-width:600px){.rk-footer-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rk-footer-secondary>.btn:only-child{grid-column:1/-1}.rk-footer-main{margin-bottom:12px}.rk-footer-secondary{padding-top:12px}.rk-footer>p{font-size:12px;line-height:1.4;margin:6px 0 12px}.rk-footer-heading>.btn{min-height:40px}.rk-footer .btn{min-height:44px}}
@media(max-width:600px){.rk-footer-secondary .btn{min-width:0;max-width:100%;padding:10px 7px;font-size:12px;gap:5px}}
/* 363: detalhe da proposta e pré-análise, sem alterar avaliação ou aceite. */
.orc-action-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 8px}.orc-action-toolbar .icon-btn,.orc-link-buttons .icon-btn{width:46px;height:46px;min-width:46px;border:1px solid var(--line);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--ink-700);position:relative}.orc-action-toolbar svg{width:20px;height:20px}.orc-whats-count span{position:absolute;right:-5px;top:-6px;background:var(--brand-600);color:#fff;border:2px solid var(--card);border-radius:12px;font-size:11px;min-width:21px;height:21px;display:grid;place-items:center}.orc-send-summary{text-align:right;margin:10px 0 22px;line-height:1.55}.orc-public-link{padding:18px;border:1px solid var(--line);border-radius:12px;margin:18px 0 22px}.orc-public-link h3{margin:0 0 10px}.orc-public-link>p{margin:10px 0;line-height:1.6}.orc-public-link label{display:block;margin:14px 0 8px;font-weight:600;font-size:13px}.orc-link-row{display:flex;gap:12px;align-items:center}.orc-link-row>.input{flex:1;min-width:0}.orc-link-buttons{display:flex;gap:10px;flex-shrink:0}.orc-approval-summary{padding:14px 16px;background:var(--brand-50);border:1px solid var(--line);border-radius:10px;margin:12px 0}.orc-approval-summary p{margin:8px 0 0;line-height:1.5}
.ck2-analysis-modal{align-items:center;justify-content:center}.ck2-analysis-modal>.modal{width:min(100%,900px);max-width:900px}.ck2-panel{max-width:920px;width:100%;margin:0 auto;min-width:0}.ck2-panel h3{margin:24px 0 12px}.ck2-panel-intro{margin:0 0 16px;line-height:1.6;color:var(--ink-600)}.ck2-class-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.ck2-class-counts>div{display:flex;flex-direction:column;gap:10px;align-items:center;padding:14px 8px;border:1px solid var(--line);border-radius:10px}.ck2-class-counts strong{font-size:22px}.ck2-class-counts .pill{white-space:normal;text-align:center}.ck2-pending-count{padding:12px;border:1px solid var(--line);border-radius:8px}.ck2-priority-card{display:flex;flex-direction:column!important;align-items:flex-start!important;gap:12px;margin:14px 0;padding:16px!important;border:1px solid var(--line);border-radius:10px}.ck2-priority-card>strong{font-size:15px}.ck2-priority-card .ck2-matrix{align-self:center}.ck2-priority-card p{margin:0;line-height:1.55}
@media(max-width:600px){.orc-public-link{padding:14px}.orc-link-row{gap:8px}.orc-link-row>.input{width:0}.orc-link-buttons{gap:6px}.orc-link-buttons .icon-btn{width:44px;min-width:44px;height:44px}.orc-action-toolbar{gap:14px}.ck2-class-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ck2-class-counts>div:last-child{grid-column:1/-1}.ck2-analysis-modal .m-body{padding:16px}.ck2-analysis-modal{padding:12px}.ck2-priority-card{padding:14px!important}}
.rk-identification,.rk-portrait{padding:18px;border:1px solid var(--line);border-radius:12px;margin:20px 0;background:var(--card)}.rk-identification h3,.rk-portrait h3{margin:0 0 16px}.rk-identification dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}.rk-identification dt{font-size:12px;color:var(--ink-500);margin-bottom:6px}.rk-identification dd{margin:0;font-weight:600;overflow-wrap:anywhere;line-height:1.5}.rk-identification>p,.rk-portrait>p{margin:16px 0 0;line-height:1.6}.rk-portrait h4{margin:20px 0 12px}.rk-iqct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rk-iqct-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px}.rk-iqct-card small{line-height:1.5;color:var(--ink-500)}.rk-pending-summary{margin-top:18px;padding:14px;background:var(--bg);border-radius:10px}.rk-pending-summary ul{padding-left:20px;line-height:1.8;margin:8px 0 0}.rk-technical-note{padding:16px;border:1px solid var(--line);border-radius:10px;margin:18px 0}.rk-technical-note summary{font-weight:600;cursor:pointer}.rk-technical-note p{line-height:1.6;margin-bottom:0}@media(max-width:600px){.rk-identification dl,.rk-iqct-grid{grid-template-columns:1fr}.rk-identification,.rk-portrait{padding:16px}}
.ck2-class-counts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}@media(max-width:600px){.ck2-class-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.visit-state-guide,.visit-next-action{padding:16px;border:1px solid var(--line);border-radius:12px;margin:0 0 22px}.visit-state-guide h3,.visit-next-action h3{margin:0 0 12px}.visit-state-guide p,.visit-next-action p{line-height:1.6;margin:0}.visit-next-action .os-erro-acoes{margin-top:18px;gap:14px}.visit-notes-title{margin:24px 0 16px}

.visit-saved-data{padding:18px;border:1px solid var(--line);border-radius:12px;margin:22px 0}.visit-saved-data h3{margin:0 0 18px}.visit-saved-data dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 18px}.visit-saved-data dt{font-size:12px;color:var(--ink-500);margin:0 0 6px}.visit-saved-data dd{margin:0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.visit-saved-data .btn{margin-top:12px}@media(max-width:600px){.visit-saved-data dl{grid-template-columns:1fr}}

.ck2-conclusion-guide{padding:18px;border:1px solid var(--line);border-radius:12px;margin:22px 0}.ck2-conclusion-guide h3{margin:0 0 14px}.ck2-conclusion-guide h4{margin:24px 0 14px}.ck2-conclusion-guide p{line-height:1.6;margin:10px 0 16px}.ck2-pending-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ck2-pending-links .btn{white-space:normal;text-align:left;justify-content:flex-start;line-height:1.5;min-height:46px}.ck2-required{padding:12px;border:1px solid var(--line);border-radius:8px}@media(max-width:600px){.ck2-pending-links{grid-template-columns:1fr}}
.ck2-conclusion-guide,.visit-saved-data{min-width:0;max-width:100%;overflow-wrap:anywhere}.ck2-pending-links .btn{min-width:0;max-width:100%;width:100%;border:1px solid var(--line);background:var(--card)}.vz-main,.vz-body{min-width:0}

.ck2-pending-section{margin:18px 0;border:1px solid var(--line);border-radius:10px;padding:14px}.ck2-pending-section summary{font-weight:700;cursor:pointer;line-height:1.5}.ck2-pending-section[open] summary{margin-bottom:16px}#ve-edit-status{margin:12px 0 20px;line-height:1.6}

/* Histórico e acesso ao atendimento da proposta, v366. */
.orc-visit-entry{padding:12px 0;border-top:1px solid var(--line,#ddd)}
.orc-visit-entry p{overflow-wrap:anywhere}.orc-visit-entry .btn{margin:8px 0;min-height:44px}.orc-history-scroll{overflow-x:auto;max-width:100%}.orc-history-scroll .tbl td{white-space:normal;min-width:120px;vertical-align:top}.orc-history-scroll .tbl td:first-child{min-width:220px}
@media(max-width:640px){.orc-history-scroll .tbl,.orc-history-scroll .tbl tbody{display:block;width:100%;min-width:0}.orc-history-scroll .tbl thead{display:none}.orc-history-scroll .tbl tr{display:block;padding:12px;border:1px solid var(--line,#ddd);border-radius:8px;margin:10px 0}.orc-history-scroll .tbl td{display:block!important;width:auto!important;min-width:0!important;text-align:left!important;padding:4px 0!important}.orc-history-scroll .tbl td::before{display:none!important}.orc-history-scroll .tbl td strong{display:inline!important}.orc-history-scroll .tbl td:nth-child(2){font-size:12px;color:var(--muted,#667);}.orc-history-scroll{overflow:visible}}

.flux-milestones p:not(.sub){padding:12px 0;border-bottom:1px solid var(--line,#ddd);line-height:1.6}.flux-milestones h3{margin-top:16px}

.flux-tabs{display:flex;border-bottom:1px solid var(--line,#ddd);gap:24px;margin-top:20px}.flux-tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;padding:12px 4px;font:inherit;color:var(--muted,#667);cursor:pointer}.flux-tab[aria-selected="true"]{color:var(--primary-700,#00634b);border-bottom-color:currentColor;font-weight:600}.flux-tab:focus-visible{outline:2px solid var(--primary-700,#00634b);outline-offset:2px}.flux-info-panel{padding:16px;margin-top:12px;border:1px solid var(--line,#ddd);border-radius:8px}.flux-info-panel[hidden]{display:none}.flux-info-panel h3{margin-top:0}
/* Histórico paginado: marcos e controles responsivos. */
.history-milestone{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid var(--border,#e2e8f0)}
.history-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:16px;font-size:13px}
.history-controls label{display:flex;gap:8px;align-items:center}.history-controls select{width:78px;min-height:38px}.history-controls>div{display:flex;gap:8px}.history-pager[aria-busy=true]{opacity:.65;pointer-events:none}
@media(max-width:600px){.history-controls{align-items:flex-start}.history-controls>div{width:100%;justify-content:space-between}}
/* OS: selects com nomes longos não podem alargar a coluna no celular. */
.os-filtros>*{min-width:0;max-width:100%;box-sizing:border-box}.os-filtros select{width:100%}.os-filtros .search-input{min-width:0}.os-filtros .search-input input{min-width:0;width:100%}
@media(max-width:600px){.os-filtros{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.os-filtros>*{width:100%;grid-column:auto!important}.os-filtros select{overflow:hidden;text-overflow:ellipsis}}
/* 374: registros de risco em cartões, sem ações fora do workspace. */
.os-risk-table,.os-risk-table tbody{display:block;width:100%;max-width:100%;min-width:0}
.os-risk-table thead{display:none}
.os-risk-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.os-risk-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;border:1px solid var(--line);border-radius:12px;min-width:0;background:var(--card)}
.os-risk-table td{display:block!important;width:auto!important;min-width:0;padding:0!important;border:0!important;white-space:normal;overflow-wrap:anywhere;line-height:1.6;text-align:left!important}
.os-risk-table td:before{content:attr(data-label);display:block!important;font-size:11px;font-weight:600;color:var(--ink-500);margin-bottom:5px}
.os-risk-table td:first-child,.os-risk-table td:last-child{grid-column:1/-1}
.os-risk-table td:last-child{display:flex!important;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line)!important;padding-top:14px!important;margin-top:4px}
.os-risk-table td:last-child:before{display:none!important}
.os-risk-table td:last-child .btn{white-space:normal;min-width:0;max-width:100%;min-height:44px;flex:1 1 120px;justify-content:center;text-align:center;border:1px solid var(--line);padding:10px}
@media(max-width:1100px){.os-risk-table tbody{grid-template-columns:1fr}}
@media(max-width:600px){.os-risk-table tr{padding:16px}.os-risk-table td:last-child .btn{flex:1 1 100%;width:100%}}
.os-risk-table .cert-acoes{display:flex;flex-wrap:wrap;gap:10px;width:100%;min-width:0;white-space:normal}
.os-risk-table .cert-acoes .btn{flex:1 1 120px;white-space:normal;min-height:44px;max-width:100%;min-width:0}
@media(max-width:600px){.os-risk-table .cert-acoes .btn{flex:1 1 100%;width:100%}}
.vz-layout:not(:has(>.vz-rail)){grid-template-columns:minmax(0,1fr)}
.os-risk-table .cert-acoes{display:flex!important;flex-wrap:wrap!important}
.os-risk-table .cert-acoes .btn{word-break:normal;overflow-wrap:normal;flex:1 1 140px!important}
.ck2-class-counts>.ck2-class-open{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:14px 8px;cursor:pointer;min-width:0;white-space:normal}.ck2-class-open small{font-size:11px}.ck2-class-open:focus-visible{outline:3px solid #005fcc}.ck2-origin{border:1px solid var(--line);border-radius:10px;padding:18px;margin:16px 0}.ck2-origin p{line-height:1.6;overflow-wrap:anywhere}.ck2-origin .btn{white-space:normal;max-width:100%}

/* 377: todas as etapas continuam acessíveis no celular, inclusive após concluir. */
@media(max-width:920px){.vz-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vz-step{min-width:0;padding:8px 3px;min-height:64px}.vz-step .vz-l{font-size:11px;white-space:normal}.vz-step .vz-n{margin:0 auto 4px}.vz-steps .vz-step::after{display:none}}
/* 381: editor de foto, ajuda e ações em linhas próprias. */
.usr-edit-modal .usr-photo-editor{display:flex;flex-direction:column;align-items:flex-start;gap:10px;grid-column:1/-1}.usr-edit-modal .usr-photo-editor>label:first-child{margin-bottom:0}.usr-edit-modal .usr-photo-editor>small{display:block;max-width:100%;line-height:1.5}.usr-edit-modal .usr-photo-editor .btn{display:inline-flex;min-height:44px}.usr-edit-modal .usr-photo-editor .usr-foto-lg{width:72px;height:72px}
.usr-pagination{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px}.usr-pagination label{display:flex;align-items:center;gap:8px}.usr-pagination select{width:auto}.usr-listcard .table-tools{display:flex;gap:12px;flex-wrap:wrap}.usr-listcard .table-tools .input{flex:1;min-width:160px}.usr-scroll-top{overflow-x:auto;overflow-y:hidden;height:18px}.usr-scroll-top>div{height:1px}@media(max-width:700px){.usr-scroll-top{display:none}.usr-pagination{gap:8px}.usr-pagination>span{flex-basis:100%}}
.usr-sales-editor{grid-column:1/-1;width:100%;padding:20px 0;border-top:1px solid var(--border,#dce6e1);border-bottom:1px solid var(--border,#dce6e1);margin:12px 0}.usr-sales-editor h3{margin:0 0 16px}.usr-edit-modal .usr-sales-editor .usr-sales-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;min-height:44px}.usr-sales-toggle input{width:22px;height:22px;accent-color:#006342}.usr-sales-editor .usr-dl{margin:16px 0}.usr-sales-editor .field{min-width:0}

.usr-edit-modal .usr-sales-editor .usr-sales-toggle{flex-direction:row-reverse;justify-content:space-between}

/* Contatos empresariais: rótulos persistentes e revisão legível em telas pequenas. */
.emp-extra-card{padding:18px;margin-top:16px}.emp-contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.emp-contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}.emp-contact-field>span{font-size:12px;font-weight:600}.emp-contact-field>.input{width:100%;min-width:0!important;box-sizing:border-box}.emp-contact-row>.btn{justify-self:end}.emp-contact-row>label:last-of-type{display:flex;align-items:center;gap:8px;min-height:44px}.emp-contact-row input[type=radio]{width:20px;height:20px}@media(max-width:600px){.emp-extra-card{padding:16px}.emp-contact-row{grid-template-columns:1fr;gap:16px}.emp-contact-row>.btn{min-height:44px;justify-self:stretch}}
#crm-classificar .m-body{line-height:1.6}#crm-classificar .m-body>p{margin:0 0 16px}#crm-classificar .field>label{display:block;margin-bottom:8px}#crm-classificar .m-foot .btn{min-height:44px}@media(max-width:600px){#crm-classificar .m-head h3{line-height:1.4}#crm-classificar .m-foot{flex-wrap:wrap}}

.crm-painel-recentes{margin-top:16px}.crm-painel-recente{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.crm-painel-recente p{margin:4px 0;overflow-wrap:anywhere}.crm-painel-recente:last-child{border-bottom:0}@media(max-width:640px){.crm-painel-recente{grid-template-columns:minmax(0,1fr) auto;gap:10px}.crm-painel-recente .btn{justify-self:end}.crm-painel-recente .pill{max-width:130px;white-space:normal}}

.crm-painel-metricas .m-value{font-size:clamp(20px,2.1vw,32px);overflow-wrap:anywhere;line-height:1.2}.crm-painel-metricas .metric{min-width:0}@media(max-width:420px){.crm-painel-metricas{grid-template-columns:1fr!important}.crm-painel-metricas .m-value{font-size:28px}}
@media(max-width:640px){.grid.cards-4.crm-painel-metricas{grid-template-columns:1fr!important}.crm-painel-metricas .m-value{font-size:28px;overflow-wrap:normal;white-space:normal}}

.crm-pipeline .card{margin:12px 0;padding:16px}.crm-pipeline .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.crm-pipeline .card>p{margin:8px 0;line-height:1.4}.crm-pipeline .card>strong{overflow-wrap:anywhere;line-height:1.4;display:block}

.emp-input-error{display:block;color:var(--danger-600);font-size:13px;line-height:1.4;margin-top:6px}.emp-contact-row input[aria-invalid=true]{border-color:var(--danger-600)}

/* CRM: filtros somente sobre as linhas já autorizadas e carregadas. */
.crm-list-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.crm-list-filters .field{margin:0}.crm-list-filters .acoes{grid-column:1/-1;margin-top:0}@media(max-width:700px){.crm-list-filters{grid-template-columns:1fr 1fr}}@media(max-width:420px){.crm-list-filters{grid-template-columns:1fr}}

.crm-table-scroll{overflow-x:auto;max-width:100%;scrollbar-gutter:stable}.crm-table-scroll:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}.crm-table-scroll .tbl{min-width:1200px}@media(max-width:700px){.crm-table-scroll .tbl{min-width:0}}

.crm-sort-btn{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:transparent;border:0;padding:8px 0;cursor:pointer;white-space:nowrap}.crm-sort-btn:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}

/* CRM perfil594: identidade, acoes, indicadores e navegacao separados (MANUAL §§2,4,5). */
.cli-page .m-head h3{font-family:Archivo,system-ui,sans-serif;font-size:21px;line-height:1.3;overflow-wrap:anywhere;margin:0}
.cli-page .m-head .icon-btn{flex-shrink:0}
.cli-page .cli-identity-block{padding-bottom:18px;border-bottom:1px solid var(--line)}
.cli-page .cli-perfil-top{align-items:flex-start;margin:0 0 16px}
.cli-page .cli-perfil-pills{gap:8px;margin-bottom:12px}
.cli-page .cli-perfil-pills .pill{display:inline-flex;padding:4px 10px;border-radius:20px;line-height:1.4}
.cli-page .cli-temp-frio{color:var(--info-600);background:var(--info-50,#e8f1fb)}
.cli-page .cli-temp-morno{color:var(--warn-600);background:var(--warn-50,#fdf3e0)}
.cli-page .cli-temp-quente{color:var(--danger-600);background:var(--danger-50,#fdecea)}
.cli-page .cli-id-data{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0}
.cli-page .cli-id-data dt{font-size:12.5px;font-weight:600;color:var(--ink-500);margin-bottom:4px}
.cli-page .cli-id-data dd{margin:0;font-size:14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.cli-page .cli-profile-actions{justify-content:flex-end;margin:0;gap:8px}
.cli-page .cli-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.cli-page .cli-kpi{display:flex;align-items:center;gap:12px;min-width:0;padding:18px;box-shadow:none}
.cli-page .cli-kpi .m-ico{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:8px;background:var(--brand-50);color:var(--brand-600)}
.cli-page .cli-kpi-text{display:flex;flex-direction:column;gap:6px;min-width:0}
.cli-page .cli-kpi .m-value{font-family:Archivo,system-ui,sans-serif;font-size:26px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cli-page .cli-kpi .m-label{font-size:12.5px;font-weight:600;color:var(--ink-500);line-height:1.4}
.cli-page .cli-kpi .m-value.cli-kpi-state{font-family:Inter,system-ui,sans-serif;font-size:12.5px;font-weight:600}
.cli-page .cli-perfil-abas{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding-bottom:12px;overflow:visible}
.cli-page .cli-perfil-aba{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;margin:0;padding:10px 12px;white-space:normal;line-height:1.4;text-align:center}
.cli-page .cli-perfil-aba.ativo{background:var(--brand-50);border-color:var(--brand-600)}
.cli-page .cli-perfil-sec{padding:18px;border:1px solid var(--line);border-radius:12px;margin:0 0 16px}
.cli-page .cli-perfil-sec h4{font-family:Archivo,system-ui,sans-serif;font-size:15px;margin:0 0 6px}
.cli-page .cli-perfil-sec .sub{font-size:12.5px;margin:0 0 12px}
.cli-page .cli-perfil-sec .ver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.cli-page .cli-perfil-sec .sab4cd4{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){
 .cli-page .m-head{padding:18px 16px;align-items:flex-start}
 .cli-page .m-body{padding:16px}
 .cli-page .cli-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
 .cli-page .cli-kpi{flex-direction:column;text-align:center;justify-content:flex-start;padding:14px 10px;gap:10px}
 .cli-page .cli-kpi-text{align-items:center;gap:6px;width:100%}
 .cli-page .cli-profile-actions .btn{min-height:44px;flex:1 1 calc(50% - 8px);justify-content:center}
 .cli-page .m-head .icon-btn{min-width:44px;min-height:44px}
 .cli-page .cli-perfil-abas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .cli-page .cli-perfil-aba{width:100%;font-size:13.5px;padding:10px 8px}
 .cli-page .cli-badge{flex-shrink:0}
 .cli-page .cli-perfil-sec{padding:14px}
 .cli-page .cli-perfil-sec .ver-grid{grid-template-columns:1fr}
 .cli-page .cli-id-data{flex-direction:column;gap:10px}
 .cli-page .m-foot .btn{min-height:44px}
}

.cli-page .cli-perfil-painel[hidden]{display:none}

.crm-list-filters .orc-filter-note{grid-column:1/-1;margin:0}

/* 624 Contratos: ritmo de leitura e ações de lista/form, sem estilo inline. */
.ct-page .m-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.ct-page .m-top h1{margin:0 0 8px;line-height:1.3}.ct-page .m-top p{margin:0;line-height:1.5}
.ct-page .m-top>.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}
.ct-page .crm-grid{margin:18px 0}.ct-page .grid{gap:18px}.ct-page .au-filtros{margin-top:22px;margin-bottom:18px}
.ct-page .cert-pag{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
.ct-page .cert-pag>span:last-child{display:flex;gap:10px;margin-left:auto}
.ct-form form>.grid{align-items:start}.ct-form form>.grid>.card{min-width:0}
.ct-form h3{margin:0 0 20px;line-height:1.4}.ct-form .field{margin-bottom:18px}.ct-form .field>label{display:block;margin-bottom:8px;line-height:1.5}
.ct-form #ct-plano-excl{display:none}.ct-form .m-foot{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.ct-form #ct-form-erro{margin:18px 0;line-height:1.5}.ct-page .btn{min-height:42px}
@media(max-width:760px){.ct-page .m-top{gap:16px}.ct-page .m-top>.actions{width:100%;justify-content:flex-end}.ct-page .m-top>.actions .btn{white-space:normal}.ct-form .m-foot .btn{flex:0 1 110px}.ct-page .cert-pag{gap:16px}.ct-page .cert-pag>span:last-child{width:100%;justify-content:flex-end}.ct-form h3{margin-bottom:20px}.ct-form .grid.cards-2{grid-template-columns:minmax(0,1fr)}}

/* Comando D: preservar identificadores mascarados e tabela legível em telas pequenas. */
.d-employees .table-wrap{overflow-x:auto}.d-employees table{min-width:650px}.d-employees td,.d-employees th{padding:12px;text-align:left}.d-employees td:nth-child(2){white-space:nowrap}.d-employees .field{margin-bottom:18px}

/* Marca do software separada dos emitentes. */
.login-card img.product-logo{width:148px;height:148px;min-width:0;min-height:0;max-width:100%;object-fit:contain;margin:0 auto 18px;border-radius:8px}
.sidebar .brand.product-brand{justify-content:center}
.sidebar .brand.product-brand img{width:112px;height:112px;padding:0;min-width:0;min-height:0;flex:0 0 112px;object-fit:contain}
.sidebar .brand.product-brand .bname{width:100%;text-align:center}

/* Fonte normativa da régua: botão com ícone de abertura externa. */
.regua-source-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;white-space:normal;text-align:center;text-decoration:none}.regua-source-link:hover{background:var(--brand-50);border-color:var(--brand-600)}
@media(max-width:600px){.regua-norma .acoes .regua-source-link{width:100%}}

/* Editor de função operacional: seção de largura integral. */
.usr-role-editor{grid-column:1/-1}.usr-role-editor>h3{margin-bottom:12px}.usr-role-editor>p{margin:12px 0;line-height:1.5}.usr-role-editor>.field{margin:18px 0}.usr-role-editor>.usr-dl{margin:18px 0}
/* Certificate viewer: fit three actions at narrow phone widths. */
@media(max-width:480px){.cp-modal-vis .m-foot{display:grid;grid-template-columns:1fr 1fr;width:100%;min-width:0}.cp-modal-vis .m-foot>.btn{min-width:0;justify-content:center}.cp-modal-vis .m-foot>a{grid-column:1/-1}}

/* Halo aprovado: transparente fora da proteção branca da própria marca. */
.sidebar .brand.product-brand img{background:transparent;border-radius:0}

/* CardsOS: opção1 aprovada27/10. Escopo somente painel geral. */
.dash-os-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dash-os-heading h2{margin:0 0 7px}.dash-os-heading .sub{margin:0}.dash-os-heading .acoes{margin:0;justify-content:flex-end}.dash-os-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dash-os-card{--os-accent:var(--ink-500);--os-tint:var(--bg);min-width:0;display:flex;flex-direction:column;padding:20px;min-height:250px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--os-accent);border-radius:12px;text-decoration:none;color:var(--ink-900);transition:border-color .15s,box-shadow .15s}.dash-os-card:hover{border-color:var(--os-accent);box-shadow:var(--shadow-1)}.dash-os-card:focus-visible{outline:2px solid var(--brand-600);outline-offset:3px}.dash-os-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--os-accent);background:var(--os-tint);border-radius:8px}.dash-os-icon .ic{width:20px;height:20px}.dash-os-label{font-size:13px;font-weight:600;line-height:19px;margin:14px 0 8px;min-height:38px}.dash-os-value{font-family:Archivo,Arial,sans-serif;font-size:38px;font-weight:600;line-height:42px;letter-spacing:-1px;overflow-wrap:anywhere}.dash-os-note{font-size:11.5px;line-height:17px;color:var(--ink-500);margin-top:8px;min-height:34px}.dash-os-open{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:13px;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--brand-600)}.dash-os-open .ic{width:17px;height:17px}.dash-os-danger{--os-accent:var(--danger-600);--os-tint:var(--danger-50)}.dash-os-info{--os-accent:var(--info-600);--os-tint:var(--info-50)}.dash-os-warn{--os-accent:var(--warn-600);--os-tint:var(--warn-50)}.dash-os-ok{--os-accent:var(--ok-600);--os-tint:var(--ok-50)}
@media(max-width:899px){.dash-os-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-os-heading{display:block}.dash-os-heading .acoes{margin-top:18px;justify-content:flex-start}.dash-os-card{padding:16px;min-height:260px}.dash-os-value{font-size:34px}.dash-os-label{min-height:38px}}

/* Comercial usa o mesmo desenho OS aprovado; moeda sempre íntegra. */
.dash-commercial{margin-bottom:24px}.dash-commercial>.sub{margin-top:14px}.dash-os-value.dash-money{font-size:clamp(21px,2.15vw,32px);line-height:1.15;letter-spacing:-.7px;overflow-wrap:normal}.dash-money small{display:block;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:600;letter-spacing:0}.dash-money span{white-space:nowrap}.dash-commercial .dash-os-card{min-height:284px}@media(max-width:899px){.dash-os-value.dash-money{font-size:clamp(22px,6.5vw,30px)}.dash-money small{font-size:14px}.dash-commercial .dash-os-card{min-height:276px}}

/* Dashboard inferior opção2 aprovada27/10 18h09min. */
.dash-lower{display:grid;gap:24px;margin-top:28px;margin-bottom:28px}.dash-lower *{box-sizing:border-box}.dash-lower section{margin:0!important;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;min-width:0;box-shadow:0 1px 3px #17211d06}.dash-lower h2{font-size:18px!important;line-height:1.35!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink-900)!important;margin:0 0 14px!important;font-weight:700!important}.dash-lower p{font-size:13px;line-height:1.65;color:var(--ink-500);margin:0 0 20px!important}.dash-lower .sub{padding:12px 14px;background:var(--bg);border-radius:8px;border-left:3px solid var(--ink-300);margin-bottom:20px!important}.dash-lower .table-card{box-shadow:none;border-radius:9px;overflow:hidden;border:1px solid var(--line)}.dash-lower table{width:100%;table-layout:fixed}.dash-lower th{font-size:10px;line-height:1.5;background:var(--bg);padding:13px 14px;text-transform:uppercase;letter-spacing:.4px}.dash-lower td{padding:15px 14px;font-size:13px;line-height:1.5}.dash-lower th:first-child,.dash-lower td:first-child{width:42%;text-align:left}.dash-lower th:not(:first-child),.dash-lower td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.dash-lower th:last-child,.dash-lower td:last-child{width:26%}.dash-lower .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}.dash-lower .btn{min-height:44px;white-space:normal;min-width:0;text-align:center;line-height:1.4;padding:10px 14px}.dash-lower .comm .btn{margin-top:2px}.preview-label{display:block;color:var(--brand-600);font-size:11px;letter-spacing:1px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.dash-lower .quick p{margin-bottom:20px!important}@media(max-width:700px){.dash-lower{gap:18px!important;grid-template-columns:1fr!important;margin-top:22px}.dash-lower section{padding:20px!important;grid-column:auto!important;grid-row:auto!important}.dash-lower .units table,.dash-lower .units tbody{display:block}.dash-lower .units thead{display:none}.dash-lower .units tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:var(--card)}.dash-lower .units tr:last-child{border:0}.dash-lower .units td{display:block!important;width:auto!important;padding:0!important;border:0!important;text-align:left!important;font-size:14px!important}.dash-lower .units td:before{content:attr(data-label);display:block!important;position:static!important;text-align:left;color:var(--ink-500);font-size:10px;font-weight:600;margin-bottom:5px}.dash-lower .units td:first-child{grid-column:1/-1;font-weight:600}.dash-lower .units td:last-child{grid-column:1/-1}.dash-lower .actions{grid-template-columns:1fr!important}}.dash-lower{grid-template-columns:1.1fr 1fr}.dash-lower .units{grid-column:1/-1}.dash-lower .comm .btn{width:100%}.dash-lower .quick .actions{grid-template-columns:1fr 1fr}@media(max-width:700px){.dash-lower .quick .actions{grid-template-columns:1fr!important}}

/* 659: mescla 2 compacta aprovada em 27/10/2026 às18h46min46s. */
.dash-compact{padding-bottom:16px}.dash-compact .dash-sec{margin:0 0 18px}.dash-compact .dash-os-heading{margin:0 0 10px;gap:12px}.dash-compact h2{font-size:16px!important;margin:0 0 6px!important;line-height:1.4!important}.dash-compact p,.dash-compact .sub{font-size:11.5px!important;line-height:1.5!important}.dash-compact .dash-os-heading .sub{margin:0}.dash-compact .btn{font-size:12px;min-height:36px;padding:8px 12px}.dash-compact .dash-os-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.dash-compact .dash-os-card{display:flex!important;min-height:0!important;height:auto!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;transform:none!important;position:relative;text-align:left}.dash-compact .dash-os-icon,.dash-compact .dash-os-open,.dash-compact .dash-os-link,.dash-compact .dash-os-card:before,.dash-compact .dash-os-card:after{display:none!important}.dash-compact .dash-os-label{margin:0!important;font-size:12px!important;line-height:1.4!important;min-height:0!important}.dash-compact .dash-os-value{font-size:24px!important;line-height:1.2!important;margin:0!important;font-variant-numeric:tabular-nums;white-space:nowrap;display:flex!important;gap:4px;align-items:baseline}.dash-compact .dash-os-value small{font-size:12px!important}.dash-compact .dash-os-note{font-size:10.5px!important;line-height:1.4!important;min-height:0!important;margin:0!important}.dash-compact .dash-commercial>p{margin-top:8px}.dash-compact .dash-lower{margin-top:20px;gap:16px}.dash-compact .dash-lower section{padding:16px!important;border-radius:6px!important;box-shadow:none!important}.dash-compact .dash-lower .sub{padding:8px 10px;margin-bottom:12px!important}.dash-compact .dash-lower td{padding:10px 12px;font-size:12px}.dash-compact .dash-lower th{padding:9px 12px}.dash-compact .dash-lower p{margin-bottom:12px!important}.dash-compact .dash-lower h2{margin-bottom:10px!important}.dash-compact .dash-lower .actions{gap:8px!important}.dash-compact .dash-lower .btn{min-height:36px}.dash-compact .page-head{margin-bottom:20px}.dash-compact .page-head h1{font-size:20px}.dash-compact .dash-os-heading .acoes{gap:8px}@media(max-width:700px){.dash-compact .dash-os-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dash-compact .dash-os-grid .dash-os-card:last-child{grid-column:1/-1}.dash-compact .dash-os-value{font-size:23px!important}.dash-compact .dash-os-heading{display:block}.dash-compact .dash-os-heading .acoes{margin-top:10px;display:flex;justify-content:flex-end}.dash-compact .dash-os-card{padding:12px!important}.dash-compact .dash-lower{grid-template-columns:1fr!important}.dash-compact .dash-lower section{padding:16px!important}.dash-compact .dash-lower .btn{min-height:44px}.dash-compact .btn{min-height:44px}.dash-compact .dash-lower .units td{font-size:12px!important}.dash-compact .dash-lower .units tr{padding:12px;gap:8px}}.dash-compact .dash-os-grid{gap:10px}.dash-compact .dash-os-card{display:grid!important;grid-template-rows:48px 36px 38px;gap:0!important;background:var(--card)!important;border:1px solid var(--line)!important;border-left:4px solid #4a8c94!important;border-radius:2px!important;overflow:hidden;padding:0!important}.dash-compact .dash-os-card:nth-child(2){border-left-color:#6785a9!important}.dash-compact .dash-os-card:nth-child(3){border-left-color:#b08735!important}.dash-compact .dash-os-card:nth-child(4),.dash-compact .dash-os-card:nth-child(5){border-left-color:#438367!important}.dash-compact .dash-os .dash-os-card:nth-child(2){border-left-color:#b35b50!important}.dash-compact .dash-os-label{padding:8px 10px;display:flex;align-items:center;font-weight:600;border-bottom:1px solid #dbe3e0}.dash-compact .dash-os-value{padding:4px 10px;color:#264d42;font-size:25px!important}.dash-compact .dash-os-note{padding:2px 10px 8px}.dash-compact .dash-lower section{border-radius:2px!important;border-left:4px solid #4a8c94}.dash-compact .dash-lower .comm{border-left-color:#6785a9}.dash-compact .dash-lower .quick{border-left-color:#438367}.dash-compact .dash-lower h2{margin:-16px -16px 12px!important;padding:10px 16px;border-bottom:1px solid #dbe3e0}@media(max-width:700px){.dash-compact .dash-os-card{padding:0!important}}.dash-compact .dash-os-label,.dash-compact .dash-lower h2{background:#eef0ef;color:#283b33}

/* Cadastro guiado compacto no celular; desktop mantém navegação por abas. */
.crm-step-progress{display:none}
@media(max-width:640px){
 .crm-mobile-guided .crud-groupnav{display:none!important}
 .crm-mobile-guided .crm-step-progress{display:block;margin:0 0 16px;font-weight:600;color:var(--primary,#005d43)}
}

#crud-modal .crm-cnpj-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;width:100%}
#crud-modal .crm-cnpj-actions #crm-cnpj-estado,#crud-modal .crm-cnpj-actions #crm-cnpj-espera{flex-basis:100%;text-align:left}

/* A barra superior existe apenas na lista de Clientes com colunas fora da área. */
.crm-clients-scroll-top{overflow-x:scroll;overflow-y:hidden;height:20px;max-width:100%;scrollbar-gutter:stable;background:var(--surface,var(--card));border-bottom:1px solid var(--line)}
.crm-clients-scroll-top[hidden]{display:none}.crm-clients-scroll-top>div{height:1px}.crm-clients-scroll-top:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}
.crm-clients-scroll-top{scrollbar-width:auto;scrollbar-color:#8eaaa0 #edf3f0}.crm-clients-scroll-top::-webkit-scrollbar{height:14px}.crm-clients-scroll-top::-webkit-scrollbar-track{background:#edf3f0}.crm-clients-scroll-top::-webkit-scrollbar-thumb{background:#8eaaa0;border:3px solid #edf3f0;border-radius:8px}.crm-clients-scroll-top::-webkit-scrollbar-thumb:hover{background:#557f70}

/* Auditoria: tokens longos ficam na própria coluna, sem esconder o conteúdo. */
#au-lista{min-width:0}
.au-table{table-layout:fixed}
.au-table th:nth-child(1){width:15%}
.au-table th:nth-child(2){width:17%}
.au-table th:nth-child(3){width:12%}
.au-table th:nth-child(4){width:12%}
.au-table th:nth-child(5){width:18%}
.au-table th:nth-child(6){width:26%}
.au-table td{white-space:normal;overflow-wrap:anywhere;word-break:normal}
@media(max-width:759px){
 .au-table{table-layout:auto}
 .au-table td{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;text-align:left}
 .au-table td::before{min-width:0}
 .au-table td .sub{grid-column:2;min-width:0}
}
/* Local candidate only: keep stages, values and bonus rules unchanged. */
#orc-itens-editor .orc-item{padding:16px;margin:12px 0;border:1px solid #d6e0dc;background:#fff}
#orc-itens-editor .orc-item-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:start}
#orc-itens-editor .oi-desc{grid-column:1/-1}
#orc-itens-editor .oi-qtd{grid-column:span 1}
#orc-itens-editor .oi-preco{grid-column:span 2}
#orc-itens-editor .oi-pct{grid-column:span 1}
#orc-itens-editor .oi-bonus{grid-column:1/5;white-space:normal;display:flex;flex-direction:row!important;flex-wrap:wrap;justify-content:flex-start;align-items:center;padding:8px 0;gap:8px}
#orc-itens-editor .oi-bonus small{white-space:normal;line-height:1.4;color:#52625b}
#orc-itens-editor .oi-total{grid-column:5/7;justify-self:end;align-self:center;padding:8px 0;min-width:0}
#orc-itens-editor .item-remover{grid-column:6;grid-row:2;justify-self:end}
#orc-itens-editor .orc-item-head{display:none}
#orc-itens-editor .item-bonus{width:18px!important;height:18px;flex:0 0 18px}
@media(max-width:600px){
 #orc-itens-editor .orc-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #orc-itens-editor .oi-qtd,#orc-itens-editor .oi-preco,#orc-itens-editor .oi-pct{grid-column:span 1}
 #orc-itens-editor .oi-bonus{grid-column:1/-1}
 #orc-itens-editor .oi-total{grid-column:1;justify-self:start;grid-row:auto}
 #orc-itens-editor .item-remover{grid-column:2;grid-row:auto}
}

.orc-link-modal{width:min(960px,calc(100vw - 32px));max-width:960px}.orc-link-modal .orc-event-line{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:24px;align-items:start}.orc-event-line strong>span{display:block;white-space:nowrap}.orc-link-modal .prop-acoes{display:flex;flex-wrap:wrap;gap:12px}.orc-link-modal .orc-revoke-last{margin-left:auto;border-color:#b9c5be}.orc-link-modal #orclink-url{width:100%;min-width:0}@media(max-width:600px){.orc-link-modal{width:calc(100vw - 20px)}.orc-link-modal .orc-event-line{grid-template-columns:minmax(0,1fr) 130px;gap:12px}.orc-link-modal .orc-revoke-last{margin-left:0;flex-basis:100%}}

.history-controls select{min-width:100px!important}.orc-event-line strong{display:block}.orc-link-modal .ver-linha{align-items:center}

.orc-link-actions{justify-content:flex-end;gap:6px;flex-wrap:nowrap}.orc-link-actions>.btn{padding:10px 6px;font-size:12px;min-width:0;flex:0 1 auto}.orc-link-actions>.orc-link-revoke{color:#b42318;border-color:#b42318;background:#fff}
