*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f6fb;color:#142033}a{text-decoration:none}
.layout{display:block;min-height:100vh}.sidebar{background:#0f172a;color:#fff;padding:22px;display:flex;flex-direction:column}.content{padding:22px 22px 22px 32px;margin-left:300px;min-height:100vh;transition:margin-left .22s ease,padding .22s ease}
.brand{display:flex;gap:14px;align-items:center}.brand.side{margin-bottom:28px}.brand-badge{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:22px}
.brand h2{margin:0}.brand p{margin:4px 0 0;color:#cbd5e1}
.nav{display:grid;gap:8px}.nav a{padding:12px 14px;border-radius:12px;color:#cbd5e1;background:rgba(255,255,255,.04)}.nav a.active,.nav a:hover{background:#1d4ed8;color:#fff}
.user-box{margin-top:auto;padding:16px;border-radius:14px;background:rgba(255,255,255,.05);display:grid;gap:8px}.user-box span{color:#cbd5e1}
.top-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.top-cards.finance{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.08);margin-bottom:16px}.card.stat span{display:block;color:#64748b;margin-bottom:8px}.card.stat strong{font-size:24px}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.section-head h3{margin:0}.section-head span{color:#64748b;font-size:14px}
.section-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full-row{grid-column:1/-1}
label{display:block;margin-bottom:6px;font-weight:700;color:#334155}input,select{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:12px;outline:none;background:#fff}input:focus,select:focus{border-color:#2563eb}
textarea{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:12px;outline:none;background:#fff;resize:vertical;font:inherit}
textarea:focus{border-color:#2563eb}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:none;border-radius:12px;cursor:pointer;font-weight:700}.btn.primary{background:#1d4ed8;color:#fff}.btn.small{padding:10px 12px}
.alert{padding:14px 16px;border-radius:14px;margin-bottom:16px}.alert.success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left;white-space:nowrap;vertical-align:top}th{color:#475569;background:#f8fafc}
.inline-form{display:grid;grid-template-columns:140px auto;gap:8px;align-items:center}
.produto-edit-form{display:grid;grid-template-columns:200px 110px 120px 110px auto;gap:8px;align-items:center}
@media (max-width:1200px){.top-cards{grid-template-columns:repeat(2,1fr)}.top-cards.finance{grid-template-columns:1fr}.grid.two,.form-grid{grid-template-columns:1fr}.inline-form,.produto-edit-form{grid-template-columns:1fr}}
@media (max-width:820px){.layout{grid-template-columns:1fr}.sidebar{padding-bottom:14px}.top-cards{grid-template-columns:1fr}}\n
.estoque-inline{display:grid;gap:8px}
.estoque-valor{font-weight:700}
.estoque-inline-form{display:grid;grid-template-columns:140px auto;gap:8px;align-items:center}
@media (max-width:1200px){.estoque-inline-form{grid-template-columns:1fr}}


.product-panel{padding:20px}
.product-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:16px}
.product-card{border:1px solid #e2e8f0;border-radius:18px;padding:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 8px 20px rgba(15,23,42,.05)}
.product-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed #dbeafe}
.product-top h4{margin:0 0 2px 0;font-size:14px;line-height:1.15}
.product-top p{margin:0;color:#64748b;font-size:12px;line-height:1.35}
.stock-badge{background:#eef6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:8px 10px;border-radius:999px;font-weight:700;font-size:13px}
.product-edit-compact{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(110px,.7fr)) auto;gap:10px;align-items:end}
.mini-field label{font-size:12px;margin-bottom:4px;color:#64748b}
.mini-field.grow{min-width:0}
.mini-actions{display:flex;align-items:end}
.stock-tools{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}
.product-card-featured{border-color:#1d4ed8;box-shadow:0 12px 28px rgba(29,78,216,.14);background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%)}
.product-create-box{margin-bottom:18px;padding:16px;border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.product-create-form{margin-top:8px}
.product-card-form{margin-top:0}
.product-card-actions{display:flex;justify-content:flex-end}
.product-delete-form{margin-top:10px;display:flex;justify-content:flex-end}
.product-card-note{display:block;color:#64748b;font-size:12px;line-height:1.45}
.stock-adjust-form{display:grid;grid-template-columns:auto 120px auto auto;gap:8px;align-items:center}
.compact-card{padding:16px}
.compact-stock-form{display:grid;grid-template-columns:minmax(220px,1.5fr) 140px minmax(180px,1fr) auto;gap:10px}
.btn.ghost{background:#e2e8f0;color:#0f172a}
@media (max-width:1200px){
  .product-grid{grid-template-columns:1fr}
  .product-edit-compact,.compact-stock-form,.stock-adjust-form{grid-template-columns:1fr}
}


.product-hero{background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 55%,#06b6d4 100%);color:#fff;border:none}
.hero-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.hero-row h3{margin:0;font-size:24px;color:#fff}
.hero-row span{color:#dbeafe}
.hero-chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:10px 14px;border-radius:999px;font-weight:700}
.quick-entry-form{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(180px,1.25fr) minmax(120px,.7fr) minmax(120px,.7fr) minmax(180px,1fr) minmax(150px,.8fr);gap:10px;align-items:end}
.quick-entry-form input,.quick-entry-form select{border:none}
.quick-diverse-form,.quick-diverse-tip{display:none}
.product-search-field{border:none;background:#eff6ff;color:#0f172a}
.quick-new-product-fields{margin-top:8px;padding:12px;border-radius:16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22)}
.quick-new-product-grid label{color:#fff}
.quick-new-product-tip{margin:6px 0 4px;color:#dbeafe}
.quick-entry-form .btn{min-height:46px;width:100%;white-space:nowrap}
.sale-item-row .product-search-field{margin-bottom:8px;border:1px solid #cbd5e1;background:#f8fafc}
.quick-exit-form{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.18);
}
.table-muted{
  color:#64748b;
  font-size:12px;
  font-weight:700;
}
.mini-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mini-product-card{padding:14px;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #dbeafe;box-shadow:0 8px 20px rgba(29,78,216,.08)}
.mini-product-card:nth-child(4n+1){background:linear-gradient(180deg,#dd0808 0%,#ffffff 100%)}
.mini-product-card:nth-child(4n+2){background:linear-gradient(180deg,#c0074e 0%,#ffffff 100%)}
.mini-product-card:nth-child(4n+3){background:linear-gradient(180deg,#01250c 0%,#ffffff 100%)}
.mini-product-card:nth-child(4n+4){background:linear-gradient(180deg,#301b02 0%,#ffffff 100%)}
.mini-title{font-weight:800;font-size:14px;line-height:1.25;margin-bottom:8px}
.mini-meta{font-size:12px;color:#64748b;margin-bottom:10px}
.mini-description{font-size:12px;line-height:1.45;color:#334155;min-height:34px;margin-bottom:12px}
.mini-stock{font-size:20px;font-weight:800;color:#1d4ed8}
.entry-action-form{display:grid;grid-template-columns:120px auto;gap:8px;align-items:center}
.btn.danger{background:#dc2626;color:#fff}
@media (max-width:1200px){
  .quick-entry-form,.entry-action-form{grid-template-columns:1fr}
  .mini-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .hero-row{flex-direction:column;align-items:flex-start}
  .mini-product-grid{grid-template-columns:1fr}
}


.mini-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mini-product-card{
  position:relative;
  padding:18px;
  border-radius:24px;
  border:none;
  box-shadow:0 18px 35px rgba(15,23,42,.14);
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease;
  overflow:hidden;
}
.mini-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 42px rgba(15,23,42,.18);
}
.mini-product-card::after{
  content:"";
  position:absolute;
  inset:auto -20px -30px auto;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  filter:blur(2px);
}
.mini-topline{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  opacity:.82;
  margin-bottom:10px;
}
.mini-title{
  font-weight:900;
  font-size:18px;
  line-height:1.15;
  margin-bottom:10px;
  color:#ad1212;
  text-shadow:0 1px 0 rgba(8, 1, 1, 0.08);
}
.mini-meta{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  color:#fff;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  padding:6px 10px;
  border-radius:999px;
  margin-bottom:14px;
}
.mini-stock-label{
  font-size:12px;
  color:rgba(255,255,255,.88);
  margin-bottom:6px;
  font-weight:700;
}
.mini-stock{
  font-size:30px;
  font-weight:900;
  color:#fff;
  line-height:1;
}
.color-1{background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%)}
.color-2{background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%)}
.color-3{background:linear-gradient(135deg,#ea580c 0%,#facc15 100%)}
.color-4{background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%)}
.color-5{background:linear-gradient(135deg,#dc2626 0%,#fb7185 100%)}
.color-6{background:linear-gradient(135deg,#0f172a 0%,#334155 100%)}

@media (max-width:1200px){
  .mini-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .mini-product-grid{grid-template-columns:1fr}
  .mini-title{font-size:17px}
  .mini-stock{font-size:26px}
}


/* CONTRASTE MELHORADO */
.mini-product-card{
  color:#f10909 !important;
}

.mini-product-card .mini-title,
.mini-product-card .mini-stock,
.mini-product-card .mini-meta,
.mini-product-card .mini-stock-label{
  color:#ce0707 !important;
}

.mini-product-card{
  background-blend-mode: overlay;
}

.color-1{background:linear-gradient(135deg,#1e3a8a 0%,#0284c7 100%)}
.color-2{background:linear-gradient(135deg,#581c87 0%,#be185d 100%)}
.color-3{background:linear-gradient(135deg,#9a3412 0%,#ca8a04 100%)}
.color-4{background:linear-gradient(135deg,#14532d 0%,#16a34a 100%)}
.color-5{background:linear-gradient(135deg,#7f1d1d 0%,#e11d48 100%)}
.color-6{background:linear-gradient(135deg,#020617 0%,#1e293b 100%)}

/* sombra mais forte */
.mini-product-card{
  box-shadow:0 20px 45px rgba(0,0,0,.35);
}

/* melhorar legibilidade */
.mini-title{
  font-size:19px;
  font-weight:900;
}

.mini-stock{
  font-size:32px;
  font-weight:900;
}

/* leve fundo interno para leitura */
.mini-product-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.15);
  border-radius:24px;
}


/* NOVO ESTILO: FUNDO BRANCO + AZUL */
.mini-product-card{
  background:#5a5656 !important;
  color:#041c5e !important;
  border:2px solid #e0edff;
  box-shadow:0 15px 35px rgba(29,78,216,.15);
}

.mini-title{
  color:#1e3a8a !important;
  font-size:18px;
  font-weight:900;
}

.mini-meta{
  color:#2563eb !important;
  background:#eff6ff;
  border:none;
}

.mini-stock-label{
  color:#475569 !important;
}

.mini-stock{
  color:#1d4ed8 !important;
  font-size:30px;
  font-weight:900;
}

.mini-product-card::before,
.mini-product-card::after{
  display:none !important;
}


/* CRM SOLCONECT NAVIGATION AND USABILITY LAYER */
:root{
  --crm-bg:#eef4fb;
  --crm-surface:#ffffff;
  --crm-line:#d7e3f4;
  --crm-text:#122033;
  --crm-muted:#5f7188;
  --crm-primary:#0f4fc9;
  --crm-primary-dark:#0b2f77;
  --crm-solar:#0f766e;
  --crm-warm:#d97706;
}

html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at top left, rgba(14,165,233,.14), transparent 22%),
    radial-gradient(circle at top right, rgba(16,185,129,.10), transparent 18%),
    linear-gradient(180deg,#f7fbff 0%,var(--crm-bg) 100%);
  color:var(--crm-text);
}
*,*::before,*::after{
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}

.layout{align-items:start}
.sidebar{
  position:fixed;
  top:0;
  left:0;
  width:300px;
  height:100vh;
  min-height:100vh;
  max-height:100vh;
  overflow:hidden;
  transition:width .22s ease, padding .22s ease;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    linear-gradient(180deg,#0b1830 0%,#11274a 100%);
  border-right:1px solid rgba(255,255,255,.06);
  gap:18px;
}
.sidebar-topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.sidebar-toggle{
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(191,219,254,.2);
  background:rgba(255,255,255,.08);
  color:#f8fbff;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.sidebar-toggle:hover{
  background:rgba(37,99,235,.28);
  border-color:rgba(147,197,253,.45);
  transform:translateY(-1px);
}
.sidebar-overview{
  margin:0 0 18px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(191,219,254,.18);
  display:grid;
  gap:6px;
}
.sidebar-overview strong{font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.sidebar-overview span{color:#d8e4f5;font-size:15px;line-height:1.45}
.nav{
  display:grid;
  gap:16px;
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding-right:6px;
}
.nav-group{display:grid;gap:10px}
.nav-group-head{
  display:grid;
  gap:4px;
  padding:10px 2px 8px;
  position:sticky;
  top:0;
  z-index:3;
  background:linear-gradient(180deg,rgba(11,24,48,.98),rgba(11,24,48,.9));
  backdrop-filter:blur(8px);
}
.nav-group-head strong{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#f8fbff}
.nav-group-head span{font-size:12px;color:#9db3cf}
.nav-group-links{display:grid;gap:8px}
.nav-link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:13px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(191,219,254,.08);
  color:#e8f1ff;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.nav-link:hover{
  transform:translateX(3px);
  border-color:rgba(125,211,252,.3);
  background:rgba(37,99,235,.2);
  box-shadow:0 12px 24px rgba(2,6,23,.18);
}
.nav-link.active{
  background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(59,130,246,.28));
  border-color:rgba(147,197,253,.42);
  box-shadow:0 14px 28px rgba(2,6,23,.24);
}
.nav-link-copy{display:grid;gap:4px;min-width:0}
.nav-link-label{font-weight:800;color:#fff}
.nav-link-copy small{color:#c4d5ea;font-size:12px;line-height:1.35}
.nav-link-count{
  min-width:34px;
  padding:6px 9px;
  border-radius:999px;
  text-align:center;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
body.sidebar-collapsed .sidebar{
  width:112px;
  padding:18px 12px;
}
body.sidebar-collapsed .content{
  margin-left:112px;
  padding-left:24px;
}
body.sidebar-collapsed .sidebar-topbar{
  flex-direction:column;
  align-items:center;
}
body.sidebar-collapsed .brand.side{
  width:100%;
  justify-content:center;
  margin-bottom:10px;
}
body.sidebar-collapsed .brand.side > div:last-child,
body.sidebar-collapsed .sidebar-overview,
body.sidebar-collapsed .nav-group-head span,
body.sidebar-collapsed .nav-link-copy small,
body.sidebar-collapsed .user-box span{
  display:none;
}
body.sidebar-collapsed .nav{
  padding-right:0;
}
body.sidebar-collapsed .nav-group{
  gap:8px;
}
body.sidebar-collapsed .nav-group-head{
  padding:4px 0 2px;
  text-align:center;
}
body.sidebar-collapsed .nav-group-head strong{
  font-size:10px;
  line-height:1.15;
}
body.sidebar-collapsed .nav-link{
  min-height:64px;
  padding:10px 8px;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  gap:8px;
}
body.sidebar-collapsed .nav-link-copy{
  justify-items:center;
}
body.sidebar-collapsed .nav-link-label{
  font-size:12px;
  line-height:1.15;
}
body.sidebar-collapsed .nav-link-count{
  min-width:28px;
  padding:4px 7px;
}
body.sidebar-collapsed .user-box{
  margin-top:10px;
  padding:12px 10px;
  text-align:center;
}
body.sidebar-collapsed .user-box strong{
  font-size:12px;
  line-height:1.2;
}
.content{padding:26px}
.workspace-hero{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);
  gap:18px;
  padding:22px;
  margin-bottom:18px;
  border-radius:24px;
  background:
    radial-gradient(circle at top right, rgba(125,211,252,.28), transparent 30%),
    linear-gradient(135deg,#0f172a 0%,#173f8a 58%,#0f766e 100%);
  color:#fff;
  box-shadow:0 24px 40px rgba(15,23,42,.16);
}
.workspace-hero-main h1{
  margin:8px 0 10px;
  font-size:34px;
  line-height:1.05;
}
.workspace-hero-main p{
  margin:0;
  max-width:760px;
  color:#d9e7fb;
  font-size:15px;
  line-height:1.6;
}
.hero-eyebrow{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  font-size:12px;
  font-weight:700;
}
.workspace-hero-stats{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.hero-stat-card{
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
}
.hero-stat-card small{
  display:block;
  margin-bottom:8px;
  color:#dbeafe;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.hero-stat-card strong{
  font-size:24px;
  line-height:1.1;
  color:#fff;
}
.module-shortcuts-card{
  margin-bottom:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.module-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.module-shortcut-pill{
  display:inline-flex;
  align-items:center;
  padding:11px 14px;
  border-radius:999px;
  border:1px solid var(--crm-line);
  background:#fff;
  color:var(--crm-primary-dark);
  font-weight:700;
  box-shadow:0 10px 20px rgba(15,23,42,.06);
}
.module-shortcut-pill:hover{
  border-color:#93c5fd;
  color:var(--crm-primary);
  background:#eff6ff;
}
.card{
  border:1px solid rgba(215,227,244,.85);
}
.section-head h3{font-size:22px}
.section-head span{max-width:560px;line-height:1.45}
.solar-entry-card{
  border:1px solid rgba(15,118,110,.18);
  box-shadow:0 18px 36px rgba(15,118,110,.08);
}
.solar-budget-card,
.proposal-document{
  border:1px solid rgba(15,118,110,.18);
  box-shadow:0 18px 36px rgba(15,118,110,.08);
}
.proposal-page{
  background:#fff;
  border-radius:18px;
  padding:18px;
  position:relative;
  overflow:hidden;
}
.proposal-page::before{
  content:"";
  position:absolute;
  inset:8%;
  background:url("assets/solconect-energy-solution.png") center center / contain no-repeat;
  opacity:.045;
  pointer-events:none;
  z-index:0;
}
.proposal-page > *{
  position:relative;
  z-index:1;
}
.proposal-top-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.proposal-head a{
  color:inherit;
  font-weight:700;
  text-decoration:none;
}
.proposal-head a:hover{
  text-decoration:underline;
}
.proposal-logo{
  display:block;
  max-width:160px;
  max-height:95px;
  object-fit:contain;
  margin:0 auto 10px;
}
.proposal-head{
  border-bottom:2px solid #dbeafe;
  padding-bottom:12px;
}
.product-budget-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.product-budget-items-panel{
  padding:16px;
  border:1px solid #dbeafe;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}
.product-budget-items-panel .section-head{
  margin-bottom:12px;
}
.product-budget-items-box{
  display:grid;
  gap:12px;
}
.product-budget-item-row{
  display:grid;
  grid-template-columns:minmax(280px,1.6fr) minmax(120px,.55fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;
  gap:10px;
  align-items:end;
  padding:14px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:#fff;
}
.product-budget-item-main{
  display:grid;
  gap:8px;
}
.product-budget-pick-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.product-budget-row-action{
  display:flex;
  align-items:end;
}
.product-budget-row-action .btn{
  min-width:108px;
}
.product-budget-document .contract-table td:nth-child(3){
  white-space:normal;
}
.product-budget-document .proposal-price-highlight{
  margin-top:4px;
}
#sales-budget-document .proposal-price-highlight span{
  font-size:30px;
}
.proposal-investment-grid .proposal-price-highlight{
  grid-column:1/-1;
  display:grid;
  gap:6px;
  padding:18px 20px;
  border:2px solid #0f766e;
  border-radius:20px;
  background:linear-gradient(135deg,#ecfdf5 0%,#dbeafe 100%);
  box-shadow:0 16px 30px rgba(15,118,110,.12);
}
.proposal-investment-grid .proposal-price-highlight strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.proposal-investment-grid .proposal-price-highlight span{
  display:block;
  color:#0f172a;
  font-size:34px;
  line-height:1.05;
  font-weight:900;
}
.proposal-investment-grid .proposal-price-highlight small{
  display:block;
  color:#0f766e;
  font-size:12px;
  font-weight:700;
}
.proposal-generation-chart{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px;
  align-items:end;
  padding:14px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  margin:8px 0 14px;
}
.proposal-generation-month{
  display:grid;
  gap:6px;
  align-items:end;
  justify-items:center;
  min-width:0;
}
.proposal-generation-bar{
  position:relative;
  width:100%;
  min-height:12px;
  border-radius:12px 12px 4px 4px;
  background:linear-gradient(180deg,#facc15 0%,#2563eb 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-align:center;
  text-shadow:0 1px 2px rgba(15,23,42,.45);
  padding:4px 2px;
}
.proposal-generation-bar span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  padding:3px 4px;
  border-radius:999px;
  background:rgba(15,23,42,.72);
}
.proposal-generation-month strong{
  font-size:11px;
  color:#0f172a;
  font-weight:900;
}
.proposal-average-chart{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid #bfdbfe;
  border-radius:18px;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 68%);
  margin:8px 0 14px;
}
.proposal-average-number{
  display:grid;
  gap:4px;
}
.proposal-average-number small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.proposal-average-number strong{
  color:#0f172a;
  font-size:22px;
}
.proposal-average-number span{
  color:#475569;
  font-weight:700;
}
.proposal-average-track{
  min-height:42px;
  border-radius:999px;
  overflow:hidden;
  background:#dbeafe;
  border:1px solid #bfdbfe;
}
.proposal-average-fill{
  height:100%;
  min-width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#0f766e,#2563eb);
  font-weight:900;
  white-space:nowrap;
}
.proposal-acceptance{
  padding:12px 14px;
  border:1px solid #cbd5e1;
  border-radius:16px;
  background:#fff;
}
.acceptance-checks{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
  font-weight:800;
  color:#0f172a;
}
.solar-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.solar-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.legacy-solar-entry{display:none}
.crm-row.status-pendente,
.parcela-card.status-pendente{border-left-color:var(--crm-warm)}
.crm-row.status-parcial,
.parcela-card.status-parcial{border-left-color:var(--crm-primary)}
.crm-row.status-pago,
.parcela-card.status-pago,
.crm-row.status-recebido{border-left-color:#16a34a}
.crm-shortcuts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.crm-shortcut{
  padding:14px;
  border-radius:16px;
  border:1px solid var(--crm-line);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.crm-shortcut strong{display:block;margin-bottom:6px;color:var(--crm-primary-dark)}
.crm-shortcut span{color:var(--crm-muted);line-height:1.45}
.solar-accounting-card{
  border:1px solid #fde68a;
  background:linear-gradient(180deg,#fffef7 0%,#ffffff 100%);
  box-shadow:0 14px 30px rgba(245,158,11,.08);
}
.widget-caption{
  margin-top:8px;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}
.accounting-status-list{
  margin-top:16px;
}
.accounting-status-list .status-item{
  border:1px solid #f5d88d;
  background:#fff;
  border-radius:14px;
  padding:12px 14px;
}
.product-hero{
  box-shadow:0 20px 38px rgba(13,31,67,.22);
}
.mini-product-card{
  border-radius:20px !important;
  border:1px solid #dbeafe !important;
  border-left:6px solid #1d4ed8 !important;
}
.sale-actions .btn.ghost,
.solar-form-actions .btn.ghost{
  background:#eff6ff;
  color:#1542a3;
}
.top-cards .card.stat strong{letter-spacing:-.02em}
.field-tip{display:block;margin-top:6px;color:var(--crm-muted);font-size:12px;line-height:1.35}

@media (max-width:1200px){
  .workspace-hero{grid-template-columns:1fr}
  .crm-shortcuts{grid-template-columns:1fr}
}

@media (max-width:980px){
  .layout{display:block}
  .sidebar{
    position:relative;
    left:auto;
    width:auto;
    min-height:auto;
    max-height:none;
    overflow:visible;
  }
  .sidebar-topbar{
    align-items:center;
  }
  .sidebar-toggle{
    display:none;
  }
  .content{
    margin-left:0;
    padding:22px 18px;
    min-height:auto;
  }
  .nav-group-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:820px){
  .content{padding:18px}
  .workspace-hero{padding:18px;border-radius:20px}
  .workspace-hero-main h1{font-size:28px}
  .nav-group-links{grid-template-columns:1fr}
  .module-shortcuts{display:grid;grid-template-columns:1fr 1fr}
  .solar-form-grid{grid-template-columns:1fr}
  .solar-form-actions{flex-direction:column}
}

@media (max-width:640px){
  .module-shortcuts{grid-template-columns:1fr}
  .top-cards{grid-template-columns:1fr !important}
  .hero-stat-card strong{font-size:20px}
}

.mini-product-card{
  background:#ffffff !important;
  border:2px solid #2563eb !important;
  border-left:8px solid #1d4ed8 !important;
  box-shadow:0 10px 30px rgba(0,0,0,0.1) !important;
}

.mini-product-card *{
  color:#0f172a !important;
  opacity:1 !important;
}

.mini-product-card .mini-stock{
  color:#1d4ed8 !important;
  font-size:28px !important;
  font-weight:900 !important;
}

.mini-product-card::before,
.mini-product-card::after{
  display:none !important;
}


/* VENDAS EM CARDS SUSPENSOS */
.suspended-card{
  border:1px solid #dbeafe;
  box-shadow:0 14px 30px rgba(37,99,235,.10);
}
.suspended-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(37,99,235,.16);
}
.sales-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.sale-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:20px;
  padding:18px;
  box-shadow:0 14px 28px rgba(37,99,235,.08);
  transition:transform .18s ease, box-shadow .18s ease;
}
.sale-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 36px rgba(37,99,235,.14);
}
.sale-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}
.sale-card-top h4{
  margin:0 0 4px 0;
  color:#0f172a;
  font-size:17px;
}
.sale-card-top p{
  margin:0;
  color:#64748b;
  font-size:13px;
}
.sale-date{
  background:#eff6ff;
  color:#2563eb;
  border:1px solid #bfdbfe;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:700;
}
.sale-meta{
  display:grid;
  gap:10px;
}
.sale-meta span{
  display:block;
  color:#475569;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
}
.sale-meta strong{
  color:#0f172a;
}
@media (max-width:1200px){
  .sales-card-grid{
    grid-template-columns:1fr;
  }
}


.sale-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.sale-edit-box{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dbeafe;
}
.sale-edit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.sale-edit-submit{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
}
@media (max-width:1200px){
  .sale-edit-form{
    grid-template-columns:1fr;
  }
}


.sales-toolbar-card{
  border:1px solid #dbeafe;
  box-shadow:0 12px 28px rgba(37,99,235,.08);
}
.dashboard-toolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.backup-import-form{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.open-payments-card{
  border:1px solid #dbeafe;
  box-shadow:0 10px 24px rgba(37,99,235,.08);
}
.open-payments-list{
  display:grid;
  gap:10px;
}
.open-payments-item{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid #e2e8f0;
  background:#fff;
}
.open-payments-item > div{display:grid;gap:4px}
.open-payments-item strong{color:#0f172a}
.open-payments-item span{color:#64748b;font-size:13px}
.open-payments-item.due-today{background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);border-color:#fdba74}
.open-payments-item.due-today strong:last-child{color:#c2410c}
.open-payments-item.overdue{background:linear-gradient(180deg,#fef2f2 0%,#ffffff 100%);border-color:#fecaca}
.open-payments-item.overdue strong:last-child{color:#b91c1c}
.open-payments-item.upcoming{background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);border-color:#bfdbfe}
.open-payments-item.upcoming strong:last-child{color:#2563eb}
.due-today-alert{
  background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);
  color:#9a3412;
  border:1px solid #fdba74;
  box-shadow:0 8px 18px rgba(249,115,22,.10);
}
.overdue-solar-alert{
  background:linear-gradient(135deg,#fef2f2 0%,#ffe2e2 100%);
  color:#991b1b;
  border:1px solid #fca5a5;
  box-shadow:0 10px 22px rgba(220,38,38,.12);
}
.overdue-solar-alert .due-today-inline span{
  background:#fff7f7;
  border-color:#fecaca;
  color:#991b1b;
}
.due-today-inline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.due-today-inline span{
  background:#fff;
  border:1px solid #fed7aa;
  border-radius:999px;
  padding:6px 10px;
  font-weight:700;
  font-size:12px;
}

.chart-legend{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.chart-legend span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#475569;
  font-weight:600;
  font-size:13px;
}
.legend-dot{width:12px;height:12px;border-radius:999px;display:inline-block}
.legend-dot.faturado{background:#2563eb}
.legend-dot.recebido{background:#10b981}
.legend-dot.aberto{background:#f97316}
.finance-chart{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  align-items:end;
  min-height:240px;
  padding:10px 4px 0;
}
.finance-month{display:grid;gap:8px;align-items:end;justify-items:center}
.finance-month .bars{
  width:100%;
  min-height:190px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  padding:0 8px;
}
.finance-month .bar{width:24px;border-radius:10px 10px 0 0;box-shadow:0 10px 18px rgba(15,23,42,.08)}
.finance-month .bar.faturado{background:linear-gradient(180deg,#60a5fa 0%,#2563eb 100%)}
.finance-month .bar.recebido{background:linear-gradient(180deg,#6ee7b7 0%,#10b981 100%)}
.finance-month .bar.aberto{background:linear-gradient(180deg,#fdba74 0%,#f97316 100%)}
.month-label{color:#64748b;font-size:12px;font-weight:700}
.alert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.alert-tile{
  border:1px solid #fde68a;
  background:linear-gradient(180deg,#fffdf5 0%,#fff7db 100%);
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 20px rgba(245,158,11,.08);
}
.alert-tile strong{display:block;color:#92400e;margin-bottom:6px}
.alert-tile span{color:#b45309;font-weight:700}
.empty-note{color:#64748b;font-weight:600;padding:12px 0}

.crm-finance-card{
  border:1px solid #dbeafe;
  box-shadow:0 12px 28px rgba(37,99,235,.08);
}
.crm-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.company-control-card{
  border:1px solid #dbeafe;
  box-shadow:0 14px 28px rgba(37,99,235,.08);
}
.company-control-filebar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:12px 14px;
  margin-bottom:16px;
  border-radius:16px;
  background:#eff6ff;
  color:#1e3a8a;
}
.company-control-summary-grid{
  margin-top:4px;
}
.company-entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.company-entry-card{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.company-entry-card .section-head{
  margin-bottom:0;
}
.company-entry-card .form-grid{
  margin-bottom:0;
}
.company-control-bars{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:end;
}
.company-control-bar-card{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  min-width:0;
}
.company-control-bar-track{
  height:240px;
  display:flex;
  align-items:flex-end;
}
.company-control-bar{
  width:100%;
  border-radius:18px 18px 10px 10px;
  min-height:18px;
  background:#1d4ed8;
}
.company-control-bar.services{background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%)}
.company-control-bar.received{background:linear-gradient(180deg,#10b981 0%,#059669 100%)}
.company-control-bar.expenses{background:linear-gradient(180deg,#f97316 0%,#ea580c 100%)}
.company-control-bar.positive{background:linear-gradient(180deg,#22c55e 0%,#16a34a 100%)}
.company-control-bar.negative{background:linear-gradient(180deg,#ef4444 0%,#dc2626 100%)}
.company-control-bar.pending{background:linear-gradient(180deg,#a855f7 0%,#7c3aed 100%)}
.company-control-bar-card strong{
  color:#0f172a;
  font-size:20px;
}
.company-control-bar-card span{
  color:#334155;
  font-weight:700;
}
.company-control-bar-card small{
  color:#64748b;
  line-height:1.4;
}
.company-project-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.company-project-card{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  min-width:0;
}
.company-project-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.company-project-head h4{
  margin:0 0 4px 0;
  color:#0f172a;
}
.company-project-head p{
  margin:0;
  color:#64748b;
  font-size:13px;
}
.company-project-meta{
  gap:10px;
}
.company-formula-list{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:14px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:13px;
}
.company-receipts-list{
  display:grid;
  gap:8px;
}
.company-control-top-cards{
  margin-bottom:18px;
}
.sabrina-report-card{
  border:1px solid #dbeafe;
  box-shadow:0 12px 28px rgba(37,99,235,.08);
}
.sabrina-report-table tfoot th{
  background:#eff6ff;
  color:#0f172a;
}
.crm-summary-item{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:16px;
  padding:14px;
}
.crm-summary-item small{display:block;color:#64748b;margin-bottom:6px;font-weight:700}
.crm-summary-item strong{font-size:22px;color:#0f172a}
.crm-list{display:grid;gap:14px}
.crm-row{
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  padding:16px;
  display:grid;
  gap:14px;
}
.crm-row.status-pendente{border-left:6px solid #f97316}
.crm-row.status-parcial{border-left:6px solid #2563eb}
.crm-row.status-recebido{border-left:6px solid #10b981}
.crm-row.status-aberta{border-left:6px solid #f97316}
.crm-row.status-paga{border-left:6px solid #10b981}
.crm-head{display:grid;gap:4px;margin-bottom:8px}
.crm-head strong{font-size:16px;color:#0f172a}
.crm-head span{color:#64748b}
.crm-meta{display:flex;flex-wrap:wrap;gap:12px}
.crm-meta span{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  padding:6px 10px;
  border-radius:999px;
  color:#475569;
  font-size:12px;
  font-weight:700;
}
.crm-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}
.crm-obs-form{display:grid;gap:10px}
.crm-obs-form textarea{
  width:100%;
  min-height:86px;
  resize:vertical;
  padding:12px 13px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  outline:none;
  background:#fff;
  color:#0f172a;
  font-family:Arial,Helvetica,sans-serif;
}
.crm-obs-form textarea:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}


.sales-toolbar-card{
  border:1px solid #dbeafe;
  box-shadow:0 12px 28px rgba(37,99,235,.08);
}
.suspended-card{
  border:1px solid #dbeafe;
  box-shadow:0 14px 30px rgba(37,99,235,.10);
}
.suspended-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(37,99,235,.16);
}
.dashboard-toolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.backup-import-form{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.sales-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.sale-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:20px;
  padding:18px;
  box-shadow:0 14px 28px rgba(37,99,235,.08);
  transition:transform .18s ease, box-shadow .18s ease;
}
.sale-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 36px rgba(37,99,235,.14);
}
.sale-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}
.sale-card-top h4{
  margin:0 0 4px 0;
  color:#0f172a;
  font-size:17px;
}
.sale-card-top p{
  margin:0;
  color:#64748b;
  font-size:13px;
}
.sale-date{
  background:#eff6ff;
  color:#2563eb;
  border:1px solid #bfdbfe;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:700;
}
.sale-meta{
  display:grid;
  gap:10px;
  margin-bottom:14px;
}
.sale-meta span{
  display:block;
  color:#475569;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
}
.sale-meta strong{
  color:#0f172a;
}
.sale-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.sale-edit-box{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dbeafe;
}
.sale-edit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.sale-edit-submit{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
}
@media (max-width:1200px){
  .sales-card-grid,.dashboard-grid,.crm-summary-grid,.alert-grid{
    grid-template-columns:1fr;
  }
  .company-project-grid,
  .company-entry-grid,
  .company-control-bars{
    grid-template-columns:1fr;
  }
  .sale-edit-form,.crm-actions,.backup-import-form{
    grid-template-columns:1fr;
  }
}


.finance-filter-card{
  border:1px solid #dbeafe;
  box-shadow:0 10px 24px rgba(37,99,235,.08);
}
.finance-filter-form{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  gap:10px;
  align-items:center;
}
.finance-expense-form textarea{
  width:100%;
  min-height:84px;
  resize:vertical;
  padding:12px 13px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  outline:none;
  background:#fff;
  color:#0f172a;
  font-family:Arial,Helvetica,sans-serif;
}
.expense-list .crm-meta span:last-child{
  width:100%;
  border-radius:14px;
}
.finance-filter-form .btn.ghost{
  text-align:center;
}
.crm-product-badge{
  display:inline-flex;
  margin-top:6px;
  background:linear-gradient(135deg,#eff6ff,#dbeafe);
  color:#1d4ed8 !important;
  border:1px solid #bfdbfe;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:800;
  width:max-content;
}
.crm-shortcuts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.crm-shortcut{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 20px rgba(37,99,235,.06);
}
.crm-shortcut strong{
  display:block;
  color:#0f172a;
  margin-bottom:6px;
}
.crm-shortcut span{
  color:#64748b;
  font-size:13px;
}
@media (max-width:1200px){
  .finance-filter-form,.crm-shortcuts{
    grid-template-columns:1fr;
  }
}


.solar-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.solar-summary-item{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 20px rgba(37,99,235,.06);
}
.solar-summary-item small{
  display:block;
  color:#64748b;
  margin-bottom:6px;
  font-weight:700;
}
.solar-summary-item strong{
  font-size:22px;
  color:#0f172a;
}
.solar-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.solar-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:20px;
  padding:18px;
  box-shadow:0 14px 28px rgba(37,99,235,.08);
}
.solar-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}
.solar-card-top h4{
  margin:0 0 4px 0;
  color:#0f172a;
  font-size:17px;
}
.solar-card-top p{
  margin:0;
  color:#64748b;
  font-size:13px;
}
@media (max-width:1200px){
  .solar-summary-grid,.solar-card-grid{
    grid-template-columns:1fr;
  }
}

.solar-lock-card{max-width:720px}.solar-access-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}@media (max-width:900px){.solar-access-form{grid-template-columns:1fr}}

.field-tip{display:block;margin-top:4px;color:#64748b;font-size:11px}


.contract-filter-card,
.contract-document{
  border:1px solid #dbeafe;
  box-shadow:0 12px 28px rgba(37,99,235,.08);
}
.contract-selector-form{
  display:grid;
  grid-template-columns:minmax(260px,1.5fr) 180px auto auto;
  gap:10px;
  align-items:center;
}
.contract-head{
  text-align:center;
  margin-bottom:24px;
}
.contract-head h2{
  margin:0 0 6px 0;
  color:#0f172a;
  font-size:26px;
}
.contract-head p{
  margin:0;
  color:#64748b;
}
.contract-document h3{
  margin:22px 0 8px;
  color:#0f172a;
  font-size:17px;
}
.contract-document p{
  color:#334155;
  line-height:1.65;
  margin:0 0 10px;
}
.contract-signature{
  margin-top:32px;
}
.service-guide-form{
  display:grid;
  gap:18px;
}
.service-guide-grid,
.contract-data-grid,
.signature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.service-guide-grid .full-row{
  grid-column:1/-1;
}
.service-guide-block{
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  border-radius:18px;
  padding:16px;
}
.service-guide-block h4{
  margin:0 0 12px;
  color:#0f172a;
  font-size:15px;
}
.checklist-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.checklist-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px 90px;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:#fff;
}
.check-choice{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
  font-weight:700;
  color:#0f172a;
}
.check-choice input{
  margin:0;
}
.material-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.contract-table{
  width:100%;
  border-collapse:collapse;
  margin:12px 0 18px;
}
.contract-table th,
.contract-table td{
  border:1px solid #cbd5e1;
  padding:9px 10px;
  text-align:left;
  vertical-align:top;
}
.contract-table thead th{
  background:#eff6ff;
}
.contract-table tbody th{
  width:32%;
  background:#f8fafc;
}
.contract-note{
  padding:12px 14px;
  border-radius:14px;
  background:#eff6ff;
}
@media print{
  html,body{
    width:210mm !important;
    min-height:297mm !important;
    background:#fff !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }
  .sidebar,.top-cards,.no-print,.nav,.user-box,.alert,.contract-filter-card{
    display:none !important;
  }
  body.tab-orcamento_solar .content > *{
    display:none !important;
  }
  body.tab-orcamento_solar #solar-budget-document{
    display:block !important;
  }
  body.tab-contrato .content > *{
    display:none !important;
  }
  body.tab-contrato #contract-document{
    display:block !important;
  }
  .layout{
    display:block !important;
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .content{
    padding:0 !important;
    margin-left:0 !important;
    background:#fff !important;
    min-height:auto !important;
    width:100% !important;
  }
  .contract-document{
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
  }
  body.print-solar-clients .content > *{
    display:none !important;
  }
  body.print-solar-clients #solar-finance-clients{
    display:block !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
  }
  body.print-solar-clients #solar-finance-clients .section-head-actions,
  body.print-solar-clients #solar-finance-clients .sale-actions,
  body.print-solar-clients #solar-finance-clients .parcela-form{
    display:none !important;
  }
  body.print-solar-clients #solar-finance-clients .crm-row,
  body.print-solar-clients #solar-finance-clients .parcela-card{
    box-shadow:none !important;
    break-inside:avoid;
  }
  body.print-products-budget .content > *{
    display:none !important;
  }
  body.print-products-budget #products-budget-document{
    display:block !important;
    border:none !important;
    box-shadow:none !important;
    padding:9mm !important;
    margin:0 !important;
    width:210mm !important;
    min-height:297mm !important;
  }
  body.print-products-budget #products-budget-document .proposal-page{
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    min-height:279mm !important;
  }
  body.print-products-budget #products-budget-document .proposal-top-actions{
    display:none !important;
  }
  body.print-products-budget #products-budget-document .contract-data-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }
  body.print-products-budget #products-budget-document .contract-data-grid > div{
    padding:5px 7px !important;
    border:1px solid #dbeafe !important;
    border-radius:8px !important;
    background:#f8fbff !important;
  }
  body.print-products-budget #products-budget-document .proposal-price-highlight{
    padding:7px 8px !important;
    border:1.6px solid #0f766e !important;
    border-radius:10px !important;
    box-shadow:none !important;
  }
  body.print-products-budget #products-budget-document .proposal-price-highlight strong{
    font-size:8px !important;
    line-height:1.12 !important;
  }
  body.print-products-budget #products-budget-document .proposal-price-highlight span{
    font-size:16px !important;
    line-height:1.04 !important;
  }
  body.print-products-budget #products-budget-document .proposal-price-highlight small{
    display:none !important;
  }
  body.print-products-budget #products-budget-document .contract-table th,
  body.print-products-budget #products-budget-document .contract-table td,
  body.print-products-budget #products-budget-document .proposal-page p{
    font-size:8.6px !important;
    line-height:1.15 !important;
    white-space:normal !important;
  }
  body.print-sale-budget .content > *{
    display:none !important;
  }
  body.print-sale-budget #sales-budget-document{
    display:block !important;
    border:none !important;
    box-shadow:none !important;
    padding:9mm !important;
    margin:0 !important;
    width:210mm !important;
    min-height:297mm !important;
  }
  body.print-sale-budget #sales-budget-document .proposal-page{
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    min-height:279mm !important;
  }
  body.print-sale-budget #sales-budget-document .proposal-top-actions{
    display:none !important;
  }
  body.print-sale-budget #sales-budget-document .contract-data-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }
  body.print-sale-budget #sales-budget-document .contract-data-grid > div{
    padding:5px 7px !important;
    border:1px solid #dbeafe !important;
    border-radius:8px !important;
    background:#f8fbff !important;
  }
  body.print-sale-budget #sales-budget-document .proposal-price-highlight{
    padding:7px 8px !important;
    border:1.6px solid #0f766e !important;
    border-radius:10px !important;
    box-shadow:none !important;
  }
  body.print-sale-budget #sales-budget-document .proposal-price-highlight strong{
    font-size:8px !important;
    line-height:1.12 !important;
  }
  body.print-sale-budget #sales-budget-document .proposal-price-highlight span{
    font-size:14px !important;
    line-height:1.04 !important;
  }
  body.print-sale-budget #sales-budget-document .proposal-price-highlight small{
    display:none !important;
  }
  body.print-sale-budget #sales-budget-document .contract-table th,
  body.print-sale-budget #sales-budget-document .contract-table td,
  body.print-sale-budget #sales-budget-document .proposal-page p{
    font-size:8.6px !important;
    line-height:1.15 !important;
    white-space:normal !important;
  }
  body.print-sabrina-commission .content > *{
    display:none !important;
  }
  body.print-sabrina-commission #finance-sabrina-report{
    display:block !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
  }
  body.print-sabrina-commission #finance-sabrina-report .section-head-actions{
    display:none !important;
  }
  body.print-sabrina-commission #finance-sabrina-report table{
    width:100% !important;
  }
  body.print-sabrina-commission #finance-sabrina-report th,
  body.print-sabrina-commission #finance-sabrina-report td{
    white-space:normal !important;
  }
  body.print-sabrina-commission #finance-sabrina-report th:nth-child(3),
  body.print-sabrina-commission #finance-sabrina-report td:nth-child(3){
    display:none !important;
  }
}
@media (max-width:1200px){
  .contract-selector-form{
    grid-template-columns:1fr;
  }
  .product-budget-form-grid,
  .product-budget-item-row,
  .product-budget-pick-wrap{
    grid-template-columns:1fr;
  }
  .product-budget-row-action .btn{
    width:100%;
  }
  .service-guide-grid,
  .contract-data-grid,
  .signature-grid,
  .material-grid{
    grid-template-columns:1fr;
  }
  .checklist-item{
    grid-template-columns:1fr;
  }
}


.contract-document{
  font-size:14px;
  line-height:1.45;
}
.contract-logo{
  display:block;
  max-width:180px;
  max-height:100px;
  object-fit:contain;
  margin:0 auto 12px;
}
.contract-head{
  text-align:center;
  margin-bottom:16px;
}
.contract-head h2{
  font-size:22px;
  line-height:1.2;
  margin:0 0 4px 0;
}
.contract-head p{
  font-size:13px;
}
.contract-document h3{
  margin:14px 0 6px;
  font-size:15px;
}
.contract-document p{
  font-size:13px;
  line-height:1.4;
  margin:0 0 8px;
}
.contract-signature{
  margin-top:20px;
}
.contract-page,
.guide-page{
  display:grid;
  gap:8px;
}
.guide-page{
  margin-top:24px;
}
.contract-subhead{
  margin-bottom:10px;
}
.contract-signature-compact{
  margin-top:10px;
}
@media print{
  @page{
    size:A4;
    margin:0;
  }
  .contract-logo{
    max-width:120px;
    max-height:58px;
    margin-bottom:6px;
  }
  .contract-document{
    font-size:10px !important;
    line-height:1.18 !important;
  }
  .proposal-document,
  .proposal-page{
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    font-size:10px !important;
    line-height:1.18 !important;
    overflow:visible !important;
    width:100% !important;
    max-width:100% !important;
  }
  body.tab-orcamento_solar #solar-budget-document{
    box-sizing:border-box !important;
    min-height:297mm !important;
    padding:9mm !important;
    width:210mm !important;
  }
  body.tab-orcamento_solar .proposal-page{
    box-sizing:border-box !important;
    min-height:279mm !important;
  }
  body.tab-contrato #contract-document{
    padding:9mm !important;
  }
  .proposal-page::before{
    inset:16mm 8mm !important;
    opacity:.025 !important;
  }
  .proposal-page h3{
    font-size:11px !important;
    margin:4px 0 2px !important;
  }
  .proposal-logo{
    max-width:96px !important;
    max-height:58px !important;
    margin-bottom:2px !important;
  }
  body.tab-orcamento_solar .proposal-head{
    padding-bottom:4px !important;
    margin-bottom:4px !important;
  }
  body.tab-orcamento_solar .proposal-head h2{
    font-size:15px !important;
    margin-bottom:2px !important;
  }
  body.tab-orcamento_solar .proposal-head p{
    font-size:8.2px !important;
    line-height:1.15 !important;
  }
  body.tab-orcamento_solar .contract-data-grid,
  body.tab-orcamento_solar .signature-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }
  body.tab-orcamento_solar .contract-data-grid > div{
    padding:5px 7px !important;
    border:1px solid #dbeafe !important;
    border-radius:8px !important;
    background:#f8fbff !important;
  }
  body.tab-orcamento_solar .proposal-investment-grid .proposal-price-highlight{
    grid-column:1/-1 !important;
    padding:7px 8px !important;
    border:1.6px solid #0f766e !important;
    border-radius:10px !important;
    background:linear-gradient(135deg,#ecfdf5 0%,#dbeafe 100%) !important;
    box-shadow:none !important;
    break-inside:avoid !important;
  }
  body.tab-orcamento_solar .proposal-investment-grid .proposal-price-highlight strong{
    font-size:8px !important;
    line-height:1.12 !important;
    letter-spacing:.08em !important;
    color:#0f172a !important;
  }
  body.tab-orcamento_solar .proposal-investment-grid .proposal-price-highlight span{
    font-size:16px !important;
    line-height:1.04 !important;
    font-weight:900 !important;
    color:#0f172a !important;
  }
  body.tab-orcamento_solar .proposal-investment-grid .proposal-price-highlight small{
    display:block !important;
    font-size:7.4px !important;
    line-height:1.12 !important;
    color:#0f766e !important;
    font-weight:700 !important;
  }
  body.tab-orcamento_solar .contract-data-grid strong{
    display:block;
    font-size:7.8px !important;
    line-height:1.12 !important;
  }
  body.tab-orcamento_solar .contract-data-grid span{
    display:block;
    font-size:9px !important;
    line-height:1.16 !important;
  }
  body.tab-orcamento_solar .contract-table{
    margin:4px 0 5px !important;
  }
  body.tab-orcamento_solar .contract-table th,
  body.tab-orcamento_solar .contract-table td{
    padding:4px 6px !important;
    font-size:8.4px !important;
    line-height:1.15 !important;
  }
  body.tab-orcamento_solar .proposal-page p{
    font-size:8.7px !important;
    line-height:1.17 !important;
    margin:0 0 4px !important;
  }
  body.tab-orcamento_solar .contract-note{
    padding:5px 7px !important;
    font-size:8.4px !important;
    line-height:1.17 !important;
    margin:4px 0 !important;
  }
  .proposal-generation-chart{
    gap:4px !important;
    padding:5px !important;
    margin:4px 0 5px !important;
    break-inside:avoid;
    border-radius:10px !important;
    background:#eef6ff !important;
  }
  .proposal-generation-bar{
    max-height:none !important;
    min-height:10px !important;
    font-size:7.8px !important;
    padding:2px !important;
    background:#2563eb !important;
    box-shadow:inset 0 0 0 999px #2563eb !important;
    color:#fff !important;
    text-shadow:none !important;
  }
  .proposal-generation-bar span{
    min-width:auto !important;
    padding:2px 3px !important;
    background:#0f172a !important;
    box-shadow:inset 0 0 0 999px #0f172a !important;
    color:#fff !important;
    border-radius:4px !important;
  }
  .proposal-generation-month strong{
    font-size:7.4px !important;
    line-height:1.08 !important;
  }
  .proposal-average-chart{
    grid-template-columns:1fr 1.4fr !important;
    gap:6px !important;
    padding:6px !important;
    margin:4px 0 5px !important;
    break-inside:avoid;
    border-radius:10px !important;
    background:#eff6ff !important;
  }
  .proposal-average-number strong{
    font-size:11px !important;
  }
  .proposal-average-number small,
  .proposal-average-number span,
  .proposal-average-fill,
  .proposal-acceptance,
  .acceptance-checks{
    font-size:8px !important;
    line-height:1.15 !important;
  }
  .proposal-average-track{
    min-height:22px !important;
    background:#dbeafe !important;
    box-shadow:inset 0 0 0 999px #dbeafe !important;
  }
  .proposal-average-fill{
    background:#0f766e !important;
    box-shadow:inset 0 0 0 999px #0f766e !important;
    color:#fff !important;
    padding:0 6px !important;
  }
  .proposal-acceptance{
    padding:5px 7px !important;
    break-inside:avoid;
    border-radius:8px !important;
    margin:2px 0 !important;
  }
  .acceptance-checks{
    gap:8px !important;
    margin-top:4px !important;
  }
  body.tab-orcamento_solar .contract-signature{
    margin-top:8px !important;
  }
  body.tab-orcamento_solar .contract-signature div{
    min-height:28px !important;
    padding-top:18px !important;
    font-size:8.4px !important;
  }
  body.tab-orcamento_solar #solar-budget-document,
  body.tab-orcamento_solar .proposal-page{
    page-break-after:avoid !important;
    break-after:avoid !important;
  }
  .contract-head{
    margin-bottom:6px !important;
  }
  .contract-head h2{
    font-size:14px !important;
    margin-bottom:2px !important;
  }
  .contract-head p{
    font-size:8.6px !important;
  }
  .contract-document h3{
    font-size:10px !important;
    margin:4px 0 2px !important;
  }
  .contract-document p{
    font-size:8.8px !important;
    line-height:1.16 !important;
    margin:0 0 3px !important;
  }
  .contract-signature{
    margin-top:6px !important;
    break-inside:avoid;
  }
  .contract-table th,
  .contract-table td{
    padding:3px 5px !important;
    font-size:8.5px !important;
  }
  .contract-note{
    padding:5px 7px !important;
    font-size:8.4px !important;
  }
  .contract-data-grid,
  .signature-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  .contract-page{
    min-height:calc(297mm - 18mm);
    align-content:start;
    break-after:page;
    page-break-after:always;
  }
  .guide-page{
    min-height:calc(297mm - 18mm);
    margin-top:0 !important;
    break-before:page;
    page-break-before:always;
    align-content:start;
  }
  .contract-subhead{
    margin-bottom:4px !important;
  }
  .guide-page .contract-table,
  .guide-page .contract-signature,
  .guide-page .contract-note{
    break-inside:avoid;
  }
}


.parcelas-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.parcela-card{
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 18px rgba(37,99,235,.06);
}
.parcela-card.status-pendente{border-left:6px solid #f97316}
.parcela-card.status-parcial{border-left:6px solid #2563eb}
.parcela-card.status-pago{border-left:6px solid #10b981}
.parcela-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.parcela-head strong{color:#0f172a}
.parcela-head span{color:#0f172a;font-weight:800}
.parcela-meta{
  display:grid;
  gap:4px;
  margin-bottom:10px;
}
.parcela-meta span{
  color:#64748b;
  font-size:12px;
}
.parcela-form{
  display:grid;
  gap:8px;
}
.parcela-balance{
  display:grid;
  gap:4px;
  margin-bottom:10px;
}
.parcela-balance span{
  color:#0f172a;
  font-size:12px;
  font-weight:700;
}
.btn.ghost{
  background:#fff;
  color:#2563eb;
  border:1px solid #bfdbfe;
}
@media (max-width:1200px){
  .parcelas-grid{
    grid-template-columns:1fr;
  }
}


.form-solar-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 14px;
}
.form-solar-grid .full {
 grid-column: span 2;
}
.form-solar-grid input {
 height: 38px;
 border-radius: 10px;
 border: 1px solid #cbd5e1;
 padding: 8px 10px;
}
.form-solar-grid textarea,
.solar-form-grid textarea,
.sale-edit-form textarea{
 min-height: 96px;
 border-radius: 10px;
 border: 1px solid #cbd5e1;
 padding: 10px;
 width: 100%;
 resize: vertical;
 font: inherit;
}
.form-solar-grid label {
 font-size: 13px;
 color: #475569;
 margin-bottom: 4px;
 display: block;
}
.solar-parcel-box{
 display:none;
}
.solar-parcel-summary{
 margin-top:8px;
 padding:10px 12px;
 border-radius:12px;
 background:#eff6ff;
 color:#1e3a8a;
 font-size:12px;
 line-height:1.4;
}
.sale-parcel-box{
 display:none;
}
.sale-condition-card{
 display:grid;
 gap:10px;
 padding:12px 14px;
 border:1px solid #dbeafe;
 border-radius:16px;
 background:#f8fbff;
}
.sale-condition-options{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
}
.sale-condition-option{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:46px;
 padding:10px 12px;
 border:1px solid #bfdbfe;
 border-radius:14px;
 background:#ffffff;
 color:#1e3a8a;
 font-weight:700;
 cursor:pointer;
 transition:.18s ease;
}
.sale-condition-option input{
 width:16px;
 height:16px;
 margin:0;
 accent-color:#2563eb;
}
.sale-condition-option.is-active{
 border-color:#2563eb;
 background:linear-gradient(135deg,#dbeafe 0%,#eff6ff 100%);
 box-shadow:0 8px 22px rgba(37,99,235,.14);
}
.sale-condition-option span{
 display:block;
 text-align:center;
}
.sale-parcel-summary{
 margin-top:8px;
 padding:10px 12px;
 border-radius:12px;
 background:#f0fdf4;
 color:#166534;
 font-size:12px;
 line-height:1.4;
}
.sale-items-panel{
 display:grid;
 gap:12px;
 padding:14px;
 border:1px solid #dbeafe;
 border-radius:16px;
 background:#f8fbff;
 min-width:0;
 overflow:hidden;
}
.sale-items-header{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:12px;
 flex-wrap:wrap;
}
.sale-items-header > div{flex:1 1 260px;min-width:0}
.sale-items-header .btn{flex:0 0 auto;min-width:140px}
.sale-items-box{
 display:grid;
 gap:10px;
 min-width:0;
}
.sale-item-row{
 display:grid;
 grid-template-columns:minmax(0,2.1fr) minmax(100px,.75fr) minmax(120px,.85fr) minmax(110px,.7fr);
 gap:10px;
 align-items:end;
 padding:12px;
 border:1px solid #dbeafe;
 border-radius:14px;
 background:#fff;
 width:100%;
 max-width:100%;
 box-sizing:border-box;
}
.sale-item-row > div{min-width:0}
.sale-item-product{
 display:grid;
 gap:8px;
 min-width:0;
}
.sale-product-picker{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:8px;
 align-items:center;
 min-width:0;
}
.sale-product-picker select{
 min-width:0;
}
.sale-pick-button{
 min-width:148px;
 white-space:nowrap;
}
.sale-item-row-action{
 display:flex;
 justify-content:flex-end;
}
.sale-item-row-action .btn{min-width:110px}
.sales-flow-layout{
 display:grid;
 grid-template-columns:1fr;
 gap:16px;
 margin-bottom:16px;
}
#sales-new,
#sales-list{
 width:100%;
}
.sales-month-panel{
 display:grid;
 gap:16px;
 margin-bottom:16px;
}
.sales-month-top{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;
}
.sales-month-top-card{
 display:grid;
 gap:6px;
 padding:16px 18px;
 border-radius:18px;
 border:1px solid #dbeafe;
 background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.sales-month-top-card.current{
 background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);
}
.sales-month-top-card.emphasis{
 background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);
}
.sales-month-top-card small{
 color:#1d4ed8;
 font-size:11px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.sales-month-top-card strong{
 color:#0f172a;
 font-size:28px;
 line-height:1.1;
}
.sales-month-top-card span{
 color:#475569;
 font-size:13px;
 font-weight:600;
}
.sales-month-grid{
 display:grid;
 grid-template-columns:1.1fr .9fr;
 gap:16px;
}
.sales-month-box{
 display:grid;
 gap:14px;
 padding:18px;
 border-radius:20px;
 border:1px solid #dbeafe;
 background:#ffffff;
 box-shadow:0 14px 34px rgba(15,23,42,.05);
}
.sales-month-box-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:12px;
 flex-wrap:wrap;
}
.sales-month-box-head h4{
 margin:0;
 color:#0f172a;
 font-size:20px;
}
.sales-month-box-head span{
 color:#64748b;
 font-size:13px;
 font-weight:600;
}
.sales-month-summary-list,
.sales-kpi-stack,
.sales-month-sale-list{
 display:grid;
 gap:10px;
}
.sales-month-summary-row,
.sales-kpi-line,
.sales-month-sale-row{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:14px;
 padding:12px 14px;
 border-radius:14px;
 border:1px solid #e2e8f0;
 background:#f8fafc;
}
.sales-month-summary-row strong,
.sales-kpi-line strong,
.sales-month-sale-row strong{
 color:#0f172a;
}
.sales-month-summary-row span,
.sales-kpi-line span,
.sales-month-sale-row span{
 color:#475569;
 font-size:13px;
 font-weight:600;
}
.sales-month-values{
 display:grid;
 justify-items:flex-end;
 gap:4px;
}
.sales-month-summary-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:14px;
}
.sales-month-mini-card{
 display:grid;
 gap:6px;
 padding:16px;
 border-radius:18px;
 border:1px solid #dbeafe;
 background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.sales-month-mini-card small{
 color:#1d4ed8;
 font-size:11px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.sales-month-mini-card strong{
 color:#0f172a;
 font-size:22px;
 line-height:1.15;
}
.sales-month-mini-card span{
 color:#475569;
 font-size:13px;
 font-weight:600;
}
.sales-month-history-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
}
.sales-month-history-card{
 display:grid;
 gap:12px;
 padding:18px;
 border-radius:20px;
 border:1px solid #dbeafe;
 background:#ffffff;
 box-shadow:0 14px 34px rgba(15,23,42,.05);
}
.sales-month-history-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:10px;
}
.sales-month-history-head h4{
 margin:0;
 color:#0f172a;
 font-size:20px;
}
.sales-month-history-head span{
 color:#64748b;
 font-size:13px;
 font-weight:600;
}
.empty-state-inline{
 padding:16px;
 border-radius:16px;
 border:1px dashed #bfdbfe;
 background:#eff6ff;
 color:#1e3a8a;
 font-weight:700;
}
.sale-item-list{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin-top:12px;
}
.sale-item-list span{
 display:inline-flex;
 align-items:center;
 padding:8px 10px;
 border-radius:999px;
 background:#eff6ff;
 color:#1d4ed8;
 font-size:12px;
 font-weight:600;
}
.sale-documents-panel,
.crm-documents-panel{
 display:grid;
 gap:10px;
 margin-top:14px;
 padding:12px 14px;
 border:1px solid #dbeafe;
 border-radius:14px;
 background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}
.sale-documents-head{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 flex-wrap:wrap;
}
.sale-documents-head strong{
 color:#0f172a;
}
.sale-documents-head span{
 color:#64748b;
 font-size:12px;
 font-weight:700;
}
.document-upload-form{
 display:grid;
 grid-template-columns:160px minmax(0,1fr) auto;
 gap:10px;
 align-items:center;
}
.document-upload-form.compact{
 grid-template-columns:140px minmax(0,1fr) auto;
}
.document-upload-form select,
.document-upload-form input[type="file"]{
 width:100%;
}
.document-list{
 display:grid;
 gap:8px;
}
.document-item{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:12px;
 padding:10px 12px;
 border:1px solid #dbeafe;
 border-radius:12px;
 background:#fff;
}
.document-item strong{
 display:block;
 color:#1d4ed8;
 margin-bottom:3px;
}
.document-item span{
 color:#475569;
 font-size:13px;
 line-height:1.35;
 word-break:break-word;
}
.document-item-actions{
 display:flex;
 gap:8px;
 align-items:center;
 flex-wrap:wrap;
}
.document-item-actions form{
 margin:0;
}
.document-inline-links{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
}
.document-inline-links a{
 display:inline-flex;
 align-items:center;
 padding:7px 10px;
 border-radius:999px;
 background:#eff6ff;
 color:#1d4ed8;
 font-weight:700;
 text-decoration:none;
}
.document-inline-links a:hover{
 background:#dbeafe;
}
@media (max-width:900px){
 .document-upload-form,
 .document-upload-form.compact,
 .document-item{
  grid-template-columns:1fr;
  flex-direction:column;
  align-items:stretch;
 }
 .document-item-actions{
  justify-content:flex-start;
 }
}


/* Ocultar topo geral apenas na aba Solar, mantendo a estrutura do sistema intacta */
body.tab-solar .top-cards:first-of-type{
  display:none !important;
}
body.tab-solar .solar-hideable-alert{
  display:none !important;
}


body.tab-financeiro_solar .top-cards:first-of-type{
  display:none !important;
}

#valor_mao_obra[readonly],
#valor_parcela_mao_obra_view[readonly],
input[name="valor_total_base_view"][readonly],
input[name="ajuste_financeiro_view"][readonly]{
  background:#f8fbff;
  font-weight:700;
}


/* MOBILE FIX LAYER */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

.layout,
.layout > *,
.content,
.card,
.sale-card,
.solar-card,
.crm-row,
.open-payments-item,
.finance-widget{
  min-width:0;
}

img{
  max-width:100%;
  height:auto;
}

@media (max-width:900px){
  .sidebar{
    position:relative !important;
    top:auto !important;
    min-height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px;
  }
  .brand.side{
    margin-bottom:18px;
  }
  .content{
    padding:16px;
  }
  .workspace-hero{
    grid-template-columns:1fr;
    padding:18px;
  }
  .workspace-hero-stats{
    grid-template-columns:1fr;
  }
  .section-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .section-head span{
    max-width:none;
  }
  .section-head-actions{
    width:100%;
    justify-content:flex-start;
  }
  .proposal-top-actions{
    justify-content:flex-start;
  }
  .top-cards,
  .top-cards.finance,
  .premium-finance-cards,
  .grid.two,
  .dashboard-grid,
  .crm-summary-grid,
  .alert-grid,
  .sales-card-grid,
  .parcelas-grid,
  .mini-product-grid,
  .product-grid,
  .solar-form-grid,
  .form-grid,
  .sale-edit-form,
  .crm-actions,
  .contract-selector-form,
  .finance-filter-form,
  .quick-entry-form,
  .compact-stock-form,
  .product-edit-compact,
  .stock-adjust-form,
  .entry-action-form{
    grid-template-columns:1fr !important;
  }
  .open-payments-item,
  .hero-row,
  .dashboard-toolbar,
  .backup-import-form,
  .sale-actions,
  .solar-form-actions,
  .due-today-inline{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .open-payments-item{
    gap:10px;
  }
  .open-payments-item > div{
    width:100%;
  }
  .sale-actions form,
  .dashboard-toolbar form,
  .backup-import-form input[type="file"]{
    width:100%;
  }
  .btn,
  .sale-actions .btn,
  .dashboard-toolbar .btn,
  .contract-selector-form .btn,
  .solar-form-actions .btn{
    width:100%;
  }
  .module-shortcuts{
    grid-template-columns:1fr 1fr;
    display:grid;
  }
  .sales-month-top,
  .sales-month-grid,
  .sales-month-summary-grid,
  .sales-month-history-grid{
    grid-template-columns:1fr;
  }
  .sale-condition-options{
    grid-template-columns:1fr;
  }
  .sale-items-header{
    flex-direction:column;
    align-items:stretch;
  }
  .sale-item-row{
    grid-template-columns:1fr;
  }
  .sale-product-picker{
    grid-template-columns:1fr;
  }
  .sale-item-row-action{
    justify-content:stretch;
  }
  .sale-item-row-action .btn{
    width:100%;
  }
  .sale-pick-button{
    width:100%;
    min-width:0;
  }
  .module-shortcut-pill{
    justify-content:center;
    text-align:center;
  }
  .nav-group-links{
    grid-template-columns:1fr !important;
  }
  .crm-meta{
    gap:8px;
  }
  .crm-meta span{
    width:100%;
    border-radius:12px;
  }
  .table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

@media (max-width:640px){
  .content{
    padding:12px;
  }
  .brand.side{
    align-items:flex-start;
  }
  .brand-badge{
    width:46px;
    height:46px;
    font-size:20px;
  }
  .brand h2{
    font-size:18px;
  }
  .brand p,
  .sidebar-overview span,
  .nav-link-copy small{
    font-size:12px;
  }
  .workspace-hero{
    padding:16px;
    border-radius:18px;
  }
  .workspace-hero-main h1{
    font-size:22px;
    line-height:1.1;
  }
  .hero-badges{
    gap:8px;
  }
  .hero-badge,
  .nav-link-count{
    font-size:11px;
  }
  .top-cards .card.stat strong,
  .hero-stat-card strong{
    font-size:18px;
  }
  .module-shortcuts{
    grid-template-columns:1fr;
  }
  .card{
    padding:14px;
    border-radius:16px;
  }
  input,select,textarea,.btn{
    font-size:16px;
  }
  .sale-date{
    align-self:flex-start;
  }
  .finance-chart{
    grid-template-columns:repeat(3,minmax(0,1fr));
    min-height:auto;
    gap:10px;
  }
  .finance-month .bars{
    min-height:140px;
    padding:0;
  }
  .finance-month .bar{
    width:18px;
  }
}
