:root{
  /* Paleta executiva Solift: preto da logo + azul-aço (ações, gráficos) + dourado champanhe (detalhes).
     Status continuam em verde/amarelo/laranja/vermelho (função de alerta, nunca decorativa). */
  --navy:#14171C;        /* tinta principal: menu, títulos */
  --blue:#1D4E73;        /* azul-aço: botões, links, gráficos */
  --blue-hover:#153A57;
  --blue-soft:#EAF1F7;   /* fundos informativos */
  --blue-line:#C9DAE8;
  --gold:#B8975A;        /* dourado champanhe: detalhes premium */
  --gold-soft:#F6F0E4;
  --blue-light:#D8C39A;  /* ícone ativo no menu escuro */
  --chart:#1D4E73; --accent-soft:#EAF1F7;
  --gray-100:#ECEEF1; --gray-400:#858C96; --gray-800:#1F2328;
  --ok:#1E8E5A; --attn:#B8860B; --crit:#D9660B; --exp:#DC2626;
  --bg:#F3F4F6; --surface:#FFFFFF; --border:#DFE2E7;
}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--gray-800);background:var(--bg);}
a{color:var(--blue);text-decoration:none;} a:hover{color:var(--blue-hover);}
button{font-family:inherit;}
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible{ outline:2px solid var(--blue); outline-offset:1px; }

#app{display:flex;min-height:100vh;width:100%;background:var(--bg);}

.sidebar{width:240px;flex:none;background:linear-gradient(180deg,#171A20 0%,#0F1115 100%);border-right:1px solid #000;color:#fff;display:flex;flex-direction:column;padding:30px 16px 22px;}
.brand{display:flex;align-items:center;gap:13px;padding:0 4px;margin-bottom:8px;}
.brand-logo{width:150px;height:auto;display:block;}
.brand-mini{display:none;color:#fff;font-weight:800;font-size:26px;line-height:1;}
.module-tag{display:inline-block;align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#14171C;background:var(--gold);padding:3px 10px;border-radius:3px;margin:6px 0 0 4px;}
.tenant{font-size:12px;color:#9A9A9A;margin:16px 0 22px 2px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.nav-item{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:8px;font-size:13.5px;font-weight:600;color:#CFCFCF;cursor:pointer;margin-bottom:2px;border:none;background:none;width:100%;text-align:left;}
.nav-item svg{flex:none;color:#8F8F8F;}
.nav-item.active{background:rgba(184,151,90,.14);color:#fff;box-shadow:inset 3px 0 0 var(--gold);}
.nav-item.active svg{color:var(--blue-light);}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff;}
.nav-count{margin-left:auto;background:rgba(255,255,255,.14);color:#fff;font-size:11px;font-weight:700;border-radius:100px;padding:1px 7px;}

.sidebar-foot{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:8px;}
.btn-cta{width:100%;background:var(--gold);color:#14171C;border:none;border-radius:8px;padding:11px;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;}
.btn-cta:hover{background:#C9AB73;color:#14171C;}
.logout-link{color:#A8A8A8;font-size:12px;text-align:center;padding:4px;}
.logout-link:hover{color:#fff;}

.content-area{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{height:60px;flex:none;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;}
.topbar h1{font-size:17px;font-weight:800;color:var(--navy);margin:0;}
.user-chip{display:flex;color:var(--gray-800);align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--gray-800);}
.avatar{width:26px;height:26px;border-radius:50%;background:var(--gray-100);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;}
.view-body{flex:1;padding:26px 28px 40px;}

.view-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap;}
.view-head .subtitle{font-size:13.5px;color:var(--gray-400);margin-top:3px;}

.btn-primary{background:var(--blue);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-weight:700;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;}
.btn-primary:hover{background:var(--blue-hover);color:#fff;}
.btn-secondary{background:#fff;color:var(--gray-800);border:1px solid var(--border);border-radius:8px;padding:10px 16px;font-weight:600;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;}
.btn-secondary:hover{background:var(--gray-100);}
.btn-ghost{background:transparent;border:none;color:var(--blue);font-weight:700;font-size:12.5px;cursor:pointer;padding:0;}
.btn-ghost:hover{color:var(--navy);}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:border-color .15s,box-shadow .15s;}
a.kpi-card:hover{border-color:var(--blue);box-shadow:0 4px 14px rgba(0,0,0,.08);}
.kpi-value{font-size:25px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1.1;}
.kpi-label{font-size:12px;color:var(--gray-400);font-weight:600;margin-top:5px;}

.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05);}
.table-scroll{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px;}
th{text-align:left;padding:11px 18px;background:var(--gray-100);color:#666666;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;}
td{padding:13px 18px;border-top:1px solid var(--border);color:var(--gray-800);}
tr.row{cursor:pointer;}
tr.row:hover td{background:#FAFAFA;}
.cargo-cell{color:var(--gray-400);font-size:12.5px;}

.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;white-space:nowrap;}
.dot{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block;}

.form-card{max-width:660px;padding:26px 28px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1 / -1;}
.field label{font-size:12.5px;font-weight:700;color:var(--gray-800);}
.field input,.field select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--gray-800);background:#fff;width:100%;}
.field select[multiple]{padding:6px;min-height:84px;}
.field input:focus,.field select:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue);}
.form-actions{display:flex;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border);}
.error-text{font-size:12.5px;color:var(--exp);font-weight:600;margin-top:4px;}
.helptext{font-size:11.5px;color:var(--gray-400);}

.profile-head{display:flex;align-items:center;gap:16px;padding:20px 22px;margin-bottom:20px;}
.profile-avatar{width:52px;height:52px;border-radius:50%;background:var(--gray-100);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex:none;}
.profile-name{font-size:17px;font-weight:800;color:var(--navy);}
.profile-sub{font-size:13px;color:var(--gray-400);margin-top:2px;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gray-400);cursor:pointer;margin-bottom:14px;background:none;border:none;padding:0;}
.back-link:hover{color:var(--navy);}

.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:720px){ .section-grid{grid-template-columns:1fr;} .kpi-grid{grid-template-columns:repeat(2,1fr);} .form-grid{grid-template-columns:1fr;} }
.section-card{padding:18px 20px;}
.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin-bottom:12px;}
.item-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--border);gap:12px;}
.item-row:first-child{border-top:none;}
.item-name{font-size:13.5px;font-weight:600;color:var(--gray-800);}
.item-sub{font-size:12px;color:var(--gray-400);margin-top:1px;}

.alert-list{display:flex;flex-direction:column;gap:10px;}
.alert-card{display:flex;align-items:center;gap:14px;padding:14px 18px;flex-wrap:wrap;}
.alert-title{font-size:13.5px;font-weight:700;color:var(--gray-800);}
.alert-sub{font-size:12.5px;color:var(--gray-400);margin-top:2px;}
.alert-tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:100px;color:#fff;flex:none;}

.empty-note{font-size:13px;color:var(--gray-400);padding:16px 0;}

.toast{background:#F0FBF6;border:1px solid #BEE6D2;color:#146C43;padding:12px 18px;border-radius:10px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.toast .dot{background:var(--ok);}

.export-form{display:inline-flex;align-items:center;gap:10px;}
.export-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-400);font-weight:600;white-space:nowrap;}
.export-check input{width:auto;}

.bar-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--border);}
.bar-row:first-child{border-top:none;}
.bar-label{width:170px;flex:none;font-size:13px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bar-track{flex:1;height:10px;border-radius:100px;background:var(--gray-100);overflow:hidden;display:flex;}
.bar-seg{height:100%;}
.bar-total{width:70px;flex:none;text-align:right;font-size:12px;color:var(--gray-400);font-variant-numeric:tabular-nums;}

.config-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;flex-wrap:wrap;}
.config-tab{padding:10px 4px;margin-right:18px;font-size:13.5px;font-weight:600;color:var(--gray-400);border-bottom:2px solid transparent;margin-bottom:-1px;}
.config-tab:hover{color:var(--navy);}
.config-tab.active{color:var(--navy);border-bottom-color:var(--blue);}
.inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--border);}
.inline-form .field{min-width:180px;}
.check-inline{display:flex;align-items:center;gap:8px;padding-bottom:10px;}
.check-inline label{font-size:13px;font-weight:600;white-space:nowrap;}
.remove-link{background:none;border:none;color:var(--exp);font-size:12.5px;font-weight:600;cursor:pointer;padding:0;}
.remove-link:hover{color:#a91e1e;}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0F1115;background-image:radial-gradient(circle at 50% -10%, rgba(29,78,115,.45), transparent 60%),radial-gradient(circle at 50% 120%, rgba(184,151,90,.14), transparent 55%);padding:24px;}
.login-card{background:#fff;border-radius:16px;padding:44px 40px 38px;width:100%;max-width:408px;box-shadow:0 24px 70px rgba(0,0,0,.4);}
.login-card .field{margin-bottom:16px;}
.login-brand{text-align:center;margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--border);}
.login-logo{width:220px;height:auto;display:block;margin:0 auto 14px;}
.login-module{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#14171C;background:var(--gold);padding:4px 12px;border-radius:3px;}
.login-tagline{font-size:12.5px;color:var(--gray-400);margin-top:6px;}

@media (max-width:860px){
  .sidebar{width:76px;padding:18px 8px;}
  .brand-logo, .module-tag, .tenant, .nav-item span:not(.nav-count), .btn-cta span, .logout-link span{display:none;}
  .nav-item{justify-content:center;}
  .brand{justify-content:center;} .brand-mini{display:block;}
}

/* ================================================================
   Solift Sales — componentes específicos do CRM
   ================================================================ */
.field textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--gray-800);background:#fff;width:100%;resize:vertical;}
.field textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue);}
.field ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;}
.field ul label{font-weight:500;display:flex;align-items:center;gap:6px;font-size:13px;}
.field input[type=checkbox]{width:auto;}
.form-card.wide{max-width:860px;}
.form-section{grid-column:1 / -1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin-top:8px;padding-top:14px;border-top:1px solid var(--border);}
.btn-sm{padding:6px 11px;font-size:12.5px;border-radius:7px;}
.btn-danger{background:#fff;color:var(--exp);border:1px solid #F3C4C4;border-radius:8px;padding:10px 16px;font-weight:600;font-size:13.5px;cursor:pointer;}
.btn-danger:hover{background:#FEF2F2;}
.btn-ok{background:var(--ok);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-weight:700;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;}
.btn-ok:hover{background:#177148;}
.actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.muted{color:var(--gray-400);}
.num{font-variant-numeric:tabular-nums;white-space:nowrap;}
.right{text-align:right;}

/* Barra de filtros (sempre uma linha acima do conteúdo) */
.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px;}
.filter-bar input[type=search],.filter-bar select{padding:8px 11px;border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;background:#fff;color:var(--gray-800);}
.filter-bar input[type=search]{min-width:220px;}
.seg{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:8px;padding:2px;}
.seg a{padding:6px 11px;font-size:12.5px;font-weight:600;color:var(--gray-400);border-radius:6px;}
.seg a.on{background:var(--navy);color:#fff;}
.seg a:hover:not(.on){color:var(--navy);}

/* Chips de status — sempre cor + texto */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:100px;white-space:nowrap;border:1px solid transparent;}
.chip-lead{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-line);}
.chip-cliente{background:var(--navy);color:#fff;border-color:var(--gold);}
.chip-inativo{background:var(--gray-100);color:#666666;}
.chip-ganho{background:#E8F6EF;color:#146C43;border-color:#BEE6D2;}
.chip-perdido{background:#FDECEC;color:#B42318;border-color:#F6C9C9;}
.chip-aberta{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-line);}
.chip-attn{background:#FFF7E0;color:#8A6508;border-color:#F2DFA6;}
.chip-crit{background:#FFF0E5;color:#A84C06;border-color:#F6CFAE;}
.chip-neutro{background:var(--gray-100);color:#444444;}

/* KPIs com barra de meta */
.kpi-sub{font-size:11.5px;color:var(--gray-400);margin-top:6px;}
.meta-track{height:6px;border-radius:100px;background:var(--gray-100);margin-top:10px;overflow:hidden;}
.meta-fill{height:100%;border-radius:100px;background:var(--blue);}
.meta-fill.ok{background:var(--ok);}

/* Grade do painel */
.dash-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:16px;}
.dash-grid.tres{grid-template-columns:repeat(3,1fr);}
@media (max-width:1100px){ .dash-grid,.dash-grid.tres{grid-template-columns:1fr;} }
.panel{padding:18px 20px;}
.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;}
.panel-title{font-size:14px;font-weight:800;color:var(--navy);}
.panel-sub{font-size:12px;color:var(--gray-400);}

/* Barras horizontais (uma série, cor da marca) */
.hbar{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:12px;padding:7px 0;}
.hbar-label{font-size:12.5px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hbar-track{height:12px;background:transparent;position:relative;}
.hbar-fill{height:100%;background:var(--chart);border-radius:0 4px 4px 0;min-width:0;transition:filter .15s;}
.hbar:hover .hbar-fill{filter:brightness(.88);}
.hbar-val{font-size:12.5px;color:var(--gray-800);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:92px;}
.hbar-val .muted{font-weight:500;}

/* Colunas verticais (ganhos por mês) */
.cols{display:flex;align-items:flex-end;gap:10px;height:170px;padding:8px 0 0;border-bottom:1px solid var(--border);}
.col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;}
.col-bar{width:100%;max-width:38px;background:#8FB0CA;border-radius:4px 4px 0 0;transition:filter .15s;}
.col:hover .col-bar{filter:brightness(.88);}
.col.atual .col-bar{background:var(--blue);}
.col-val{font-size:10.5px;font-weight:700;color:var(--gray-800);margin-bottom:4px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.cols-labels{display:flex;gap:10px;margin-top:6px;}
.cols-labels span{flex:1;text-align:center;font-size:11px;color:var(--gray-400);font-weight:600;}
.cols-labels span.atual{color:var(--navy);font-weight:800;}

/* Tooltip leve para marcas de gráfico */
[data-tip]{position:relative;}
[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--gray-800);color:#fff;font-size:11.5px;font-weight:600;padding:5px 9px;border-radius:6px;white-space:nowrap;z-index:20;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.18);}

/* Listas compactas (alertas, próximos compromissos) */
.mini-list{display:flex;flex-direction:column;}
.mini-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);}
.mini-item:first-child{border-top:none;padding-top:2px;}
.mini-main{min-width:0;}
.mini-title{font-size:13px;font-weight:700;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mini-title a{color:inherit;} .mini-title a:hover{color:var(--blue);}
.mini-sub{font-size:12px;color:var(--gray-400);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.when{flex:none;text-align:center;width:46px;border-radius:8px;background:var(--gray-100);padding:5px 0;}
.when b{display:block;font-size:15px;color:var(--navy);line-height:1.1;}
.when span{font-size:10px;font-weight:700;color:#666666;text-transform:uppercase;}

/* Funil — quadro kanban */
.board{display:grid;grid-template-columns:repeat(7,minmax(172px,1fr));gap:10px;overflow-x:auto;padding-bottom:12px;align-items:start;}
.lane{background:#F0F0F0;border-radius:12px;padding:10px;min-height:320px;display:flex;flex-direction:column;gap:8px;transition:background .15s,box-shadow .15s;}
.lane.drop-hover{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue);}
.lane.fechada{background:#F5F5F5;}
.lane-head{padding:4px 4px 8px;border-bottom:2px solid var(--border);margin-bottom:2px;}
.lane-head .lane-name{font-size:12.5px;font-weight:800;color:var(--navy);display:flex;justify-content:space-between;gap:6px;}
.lane-head .lane-count{font-size:11px;font-weight:700;color:#666666;background:#fff;border-radius:100px;padding:0 7px;}
.lane-head .lane-total{font-size:12px;color:#666666;margin-top:3px;font-variant-numeric:tabular-nums;font-weight:600;}
.lane-ganho .lane-head{border-bottom-color:#BEE6D2;}
.lane-perdido .lane-head{border-bottom-color:#F6C9C9;}
.deal{background:#fff;border:1px solid var(--border);border-radius:10px;padding:11px 12px;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.05);display:block;color:var(--gray-800);}
.deal:hover{border-color:var(--blue);color:var(--gray-800);}
.deal.dragging{opacity:.45;}
.deal-title{font-size:13px;font-weight:700;line-height:1.3;}
.deal-client{font-size:12px;color:var(--gray-400);margin-top:2px;}
.deal-foot{display:flex;align-items:center;justify-content:space-between;margin-top:9px;gap:6px;}
.deal-value{font-size:13px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;}
.deal-owner{width:22px;height:22px;border-radius:50%;background:var(--gray-100);color:var(--navy);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;}
.deal .chip{margin-top:8px;}
.lane-empty{font-size:12px;color:var(--gray-400);text-align:center;padding:18px 6px;border:1.5px dashed #D4D4D4;border-radius:10px;}
.board-hint{font-size:12.5px;color:var(--gray-400);margin:-6px 0 14px;}

/* Etapas da oportunidade (stepper) */
.stepper{display:flex;gap:4px;margin:4px 0 18px;}
.step{flex:1;text-align:center;font-size:11.5px;font-weight:700;padding:9px 6px;background:var(--gray-100);color:#666666;position:relative;}
.step:first-child{border-radius:8px 0 0 8px;} .step:last-child{border-radius:0 8px 8px 0;}
.step.feito{background:var(--blue-line);color:var(--blue);}
.step.atual{background:var(--blue);color:#fff;}
.step button{all:unset;cursor:pointer;display:block;width:100%;}

/* Linha do tempo das interações */
.timeline{position:relative;padding-left:26px;}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--border);}
.tl-item{position:relative;padding:0 0 18px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{position:absolute;left:-26px;top:1px;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--blue);display:flex;align-items:center;justify-content:center;}
.tl-dot svg{width:9px;height:9px;color:var(--blue);}
.tl-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--gray-400);}
.tl-head b{color:var(--gray-800);font-size:13px;}
.tl-body{font-size:13.5px;color:var(--gray-800);margin-top:5px;line-height:1.5;white-space:pre-line;}
.tl-next{font-size:12.5px;color:var(--blue);margin-top:6px;font-weight:600;}

/* Agenda semanal */
.week{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:8px;overflow-x:auto;}
.day{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-height:360px;display:flex;flex-direction:column;}
.day.fds{background:#F9FBFD;}
.day.hoje{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);}
.day-head{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between;}
.day-head .dn{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#666666;}
.day-head .dd{font-size:18px;font-weight:800;color:var(--navy);}
.day.hoje .dd{color:var(--blue);}
.day-body{padding:8px;display:flex;flex-direction:column;gap:6px;flex:1;}
.day-add{margin-top:auto;font-size:12px;font-weight:700;color:var(--gray-400);text-align:center;padding:6px;border-radius:8px;}
.day-add:hover{background:var(--gray-100);color:var(--navy);}
.ev{display:block;border-radius:8px;padding:7px 9px;background:var(--blue-soft);border-left:3px solid var(--blue);color:var(--gray-800);}
.ev:hover{background:#E6E6E6;color:var(--gray-800);}
.ev.visita{background:#E9E9E9;border-left-color:var(--navy);}
.ev.tarefa{background:var(--gray-100);border-left-color:var(--gray-400);}
.ev.feito{opacity:.55;}
.ev.feito .ev-title{text-decoration:line-through;}
.ev.atrasado{border-left-color:var(--crit);}
.ev-time{font-size:11px;font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums;}
.ev.visita .ev-time{color:var(--navy);}
.ev-title{font-size:12.5px;font-weight:700;line-height:1.3;margin-top:1px;}
.ev-sub{font-size:11px;color:#666666;margin-top:2px;}
.week-nav{display:flex;align-items:center;gap:8px;}
.week-nav .range{font-size:14px;font-weight:800;color:var(--navy);min-width:200px;text-align:center;}

/* Detalhe: cabeçalho com dados-chave */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 20px;padding:16px 22px;border-top:1px solid var(--border);}
.fact-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);}
.fact-value{font-size:13.5px;font-weight:600;color:var(--gray-800);margin-top:3px;}
.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:start;}
@media (max-width:1000px){ .detail-grid{grid-template-columns:1fr;} }

/* Tabela de desempenho */
.perf td,.perf th{padding:11px 14px;}
.perf .vend{display:flex;align-items:center;gap:9px;font-weight:700;}

@media (max-width:720px){
  .hbar{grid-template-columns:100px 1fr auto;}
  .view-body{padding:18px 16px 32px;}
  .topbar{padding:0 16px;}
}

/* Celular: nada pode vazar para os lados (o vendedor usa em campo) */
.kpi-card,.card,.dash-grid > *,.detail-grid > *{min-width:0;}
@media (max-width:560px){
  .kpi-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .kpi-card{padding:13px 14px;}
  .kpi-value{font-size:20px;}
  .user-chip{font-size:0;gap:0;}
  .user-chip .avatar{font-size:11px;}
  .topbar h1{font-size:15px;}
  .hbar,.hbar[style]{grid-template-columns:minmax(0,92px) minmax(0,1fr) auto !important;gap:8px;}
  .hbar-val{min-width:0 !important;font-size:11.5px;}
  .hbar-val .muted{display:none;}
  .cols,.cols-labels{gap:4px !important;}
  .col{min-width:0;}
  .col-val{display:none;}
  .filter-bar > *{max-width:100%;}
  .filter-bar input[type=search]{min-width:0;flex:1;}
  .filter-bar .btn-primary{margin-left:0 !important;}
  .seg{flex-wrap:wrap;}
  .profile-head{padding:16px;}
  .facts{padding:14px 16px;}
  .stepper{flex-wrap:wrap;}
  .step{flex:1 1 30%;border-radius:6px !important;}
  .form-card{padding:18px 16px;}
  .week{grid-template-columns:repeat(7,minmax(150px,1fr));}
  .mini-item{flex-wrap:wrap;}
}

/* Central de relatórios */
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 14px;}
.rel-grid .field select,.rel-grid .field input{padding:8px 10px;font-size:13px;}
.rel-checks{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;}
.rel-checks label{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--gray-800);}
.rel-previa{margin-top:14px;padding:10px 14px;background:var(--blue-soft);border-radius:8px;font-size:13px;color:var(--blue);}
.rel-previa b{color:var(--navy);}
.rel-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-bottom:18px;}
.rel-card{padding:16px 18px;display:flex;flex-direction:column;}
.rel-nome{font-size:14px;font-weight:800;color:var(--navy);}
.rel-desc{font-size:12.5px;color:var(--gray-400);margin-top:5px;line-height:1.45;}
.elev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;}
.elev{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#FCFCFC;}
.elev-nome{font-size:13.5px;font-weight:800;color:var(--navy);display:flex;justify-content:space-between;gap:8px;}
.elev-linha{font-size:12px;color:#444444;margin-top:3px;}
.situacao-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 18px;}

/* Configurações · empresa e logo */
.empresa-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;}
@media (max-width:1100px){ .empresa-grid{grid-template-columns:1fr;} }
.logo-box{border:1px dashed var(--border);border-radius:10px;padding:14px;display:flex;align-items:center;justify-content:center;min-height:90px;background:#FCFCFC;margin-bottom:6px;}
.logo-box img{max-height:70px;max-width:240px;object-fit:contain;}
.pdf-previa{border:1px solid var(--border);border-radius:6px;padding:18px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.pdf-previa-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.pdf-previa-top img{max-height:52px;max-width:130px;object-fit:contain;}
.pdf-previa-marca{font-size:10px;font-weight:800;color:var(--navy);}
.pdf-previa-marca span{color:var(--blue);} .pdf-previa-marca small{color:var(--gray-400);font-weight:600;}
.pdf-previa-titulo{font-size:16px;font-weight:800;color:var(--navy);margin:6px 0 3px;}
.pdf-previa-sub{font-size:10.5px;color:#666666;line-height:1.4;}
.pdf-previa-sem{width:110px;height:48px;border:1px dashed var(--border);border-radius:6px;font-size:10px;color:var(--gray-400);display:flex;align-items:center;justify-content:center;text-align:center;}
.pdf-previa-regua{height:2px;background:var(--navy);margin-top:12px;}
.pdf-previa-empresa{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:2px;}
.pdf-previa .pdf-previa-marca{font-size:9px;font-weight:600;color:var(--gray-400);margin-top:5px;}

/* Acabamento executivo */
.topbar h1{position:relative;padding-left:12px;}
.topbar h1::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:var(--gold);}
.kpi-card{border-top:3px solid var(--blue);}
.kpi-value{color:var(--navy);}
.panel-title{color:var(--navy);}
.login-card{border-top:4px solid var(--gold);}
.seg a.on{background:var(--blue);}

/* Propostas */
.prop-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;}
@media (max-width:1000px){ .prop-grid{grid-template-columns:1fr;} }
.prop-lateral{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px;}
.prop-etapa{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:var(--navy);margin-bottom:16px;}
.prop-etapa span{width:24px;height:24px;border-radius:50%;background:var(--navy);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-size:12px;}
.prop-total{background:var(--navy);color:#fff;padding:18px 20px;border:none;border-top:3px solid var(--gold);}
.prop-total-rot{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);}
.prop-total-valor{font-size:27px;font-weight:800;margin-top:4px;}
.prop-total-sub{font-size:12px;color:#AEB4BD;margin-top:4px;}
.itens-tabela{width:100%;min-width:0;border-collapse:collapse;}
.itens-tabela th{background:transparent;padding:6px 6px 6px 0;color:var(--gray-400);}
.itens-tabela td{padding:5px 6px 5px 0;border-top:none;vertical-align:top;}
.itens-tabela input,.itens-tabela select{width:100%;padding:8px 9px;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;background:#fff;}
.itens-tabela .remove-link input{width:auto;}
.item-total{white-space:nowrap;font-weight:700;padding-top:13px !important;}
.chip-prop-rascunho{background:var(--gray-100);color:#444B55;}
.chip-prop-enviada{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-line);}
.chip-prop-aceita{background:#E8F6EF;color:#146C43;border-color:#BEE6D2;}
.chip-prop-recusada{background:#FDECEC;color:#B42318;border-color:#F6C9C9;}
input[type=color]{height:40px;padding:4px !important;}

/* Menu lateral: botão claro (Registrar interação) e divisor no lugar do nome da empresa */
.btn-cta-claro{background:#F2F3F5;color:#14171C;}
.btn-cta-claro:hover{background:#FFFFFF;color:#14171C;}
.sidebar-divisor{height:1px;background:rgba(255,255,255,.14);margin:18px 0 20px;}
@media (max-width:860px){ .sidebar-divisor{margin:12px 0;} }

/* ===== Segurança (mesmo padrão do Solift People) ===== */
.toast.error{background:#FEF2F2;border-color:#FBCACA;color:#A91E1E;}
.toast.error .dot{background:var(--exp);}
.toast.info,.toast.warning{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue-hover);}
.toast.info .dot,.toast.warning .dot{background:var(--blue);}
.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin-bottom:12px;}
.login-help{font-size:13px;color:#5F6670;line-height:1.5;}
.passos{margin:0 0 20px;padding-left:20px;font-size:13.5px;line-height:1.7;}
.qr-box{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:22px;}
.qr-box svg{width:184px;height:184px;border:1px solid var(--border);border-radius:10px;background:#fff;flex:none;}
.chave-manual{font-family:ui-monospace,Menlo,monospace;font-size:13px;letter-spacing:.04em;background:var(--gray-100);padding:8px 10px;border-radius:6px;word-break:break-all;color:var(--navy);}
.status-2fa{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;}
.codigos-card{border-top:4px solid var(--gold);margin-bottom:18px;}
.codigos-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:16px 0 12px;max-width:380px;}
.codigos-lista code{font-family:ui-monospace,Menlo,monospace;font-size:16px;letter-spacing:.08em;color:var(--navy);background:var(--gray-100);padding:7px 10px;border-radius:6px;text-align:center;}
.conta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px;max-width:860px;}
.conta-item{margin:0;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;max-width:none;}
.filtros{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px;}
.filtros .field{min-width:170px;margin:0;}
.acao-tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--gray-100);color:var(--navy);white-space:nowrap;}
.acao-tag.criar{background:#E7F6EE;color:#146C43;}
.acao-tag.excluir,.acao-tag.login_falhou{background:#FEECEC;color:#A91E1E;}
.acao-tag.alterar{background:var(--blue-soft);color:var(--blue);}
.acao-tag.seguranca{background:var(--gold-soft);color:#7A5A1E;}
.acao-tag.exportacao{background:#FFF0E5;color:#A84C06;}
.diff{margin:6px 0 0;padding:0;list-style:none;font-size:12px;color:#5F6670;}
.diff li{margin-top:2px;}
.diff .antes{text-decoration:line-through;color:var(--gray-400);}
.diff .depois{color:var(--gray-800);font-weight:600;}
.paginacao{display:flex;gap:14px;align-items:center;justify-content:flex-end;padding:14px 18px;font-size:13px;color:var(--gray-400);}
@media print{
  .sidebar,.topbar,.no-print,.toast{display:none !important;}
  body,#app,.view-body{background:#fff;padding:0;}
  .codigos-card{box-shadow:none;border:1px solid #999;}
}
