* { scrollbar-width: thin; scrollbar-color: #334155 #020617; }
:root {
  --company-primary: #be185d;
  --company-secondary: #7c3aed;
  --company-accent: #f59e0b;
  --company-primary-rgb: 190, 24, 93;
  --company-secondary-rgb: 124, 58, 237;
  --company-accent-rgb: 245, 158, 11;
}
body { background: radial-gradient(circle at top left, rgba(var(--company-primary-rgb), .18), transparent 34rem), #020617; }
a { color: rgb(var(--company-accent-rgb)); }
.label { display:block; margin-bottom:.35rem; font-size:.8rem; color:#94a3b8; }
.input, .select, .textarea { width:100%; border:1px solid #334155; background:#020617; color:#e2e8f0; border-radius:1rem; padding:.75rem .9rem; outline:none; }
.input:focus, .select:focus, .textarea:focus { border-color:var(--company-primary); box-shadow:0 0 0 3px rgba(var(--company-primary-rgb),.16); }
.textarea { min-height: 88px; }
.btn-primary { border-radius:1rem; background:linear-gradient(135deg,var(--company-primary),var(--company-accent),var(--company-secondary)); padding:.8rem 1rem; font-weight:700; color:white; box-shadow:0 16px 40px rgba(var(--company-primary-rgb),.18); }
.btn-primary:hover { filter:brightness(1.08); }
.btn-secondary { border:1px solid #334155; background:#0f172a; color:#e2e8f0; border-radius:1rem; padding:.72rem 1rem; font-weight:600; }
.btn-secondary:hover { border-color:var(--company-primary); box-shadow:0 0 0 3px rgba(var(--company-primary-rgb),.10); }
.btn-secondary.danger { color:#fecaca; border-color:rgba(248,113,113,.35); }
.nav { width:100%; text-align:left; border-radius:1rem; padding:.85rem 1rem; color:#94a3b8; transition:.18s ease; }
.nav:hover, .nav.active { background:linear-gradient(135deg,rgba(var(--company-primary-rgb),.18),rgba(15,23,42,.92)); color:#fff; box-shadow: inset 3px 0 0 var(--company-accent); }
.nav-group-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; color:#cbd5e1; font-weight:800; font-size:.8rem; text-transform:uppercase; letter-spacing:.16em; padding:.3rem .15rem; }
.nav-group-items { margin-top:.35rem; display:grid; gap:.25rem; }
.card { min-width:0; border:1px solid #1e293b; background:linear-gradient(180deg,rgba(15,23,42,.78),rgba(2,6,23,.70)); border-radius:1.5rem; padding:1.25rem; box-shadow:0 20px 50px rgba(0,0,0,.18); }
.card:hover { border-color:rgba(var(--company-primary-rgb),.28); }
.kpi { border:1px solid #1e293b; background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(2,6,23,.8)); border-radius:1.5rem; padding:1.25rem; }
.kpi:first-child { border-color:rgba(var(--company-primary-rgb),.42); }
.table-wrap { width:100%; max-width:100%; overflow:hidden; }
.table-desktop { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.table { width:100%; min-width:max-content; border-collapse:separate; border-spacing:0 .55rem; }
.table th { text-align:left; color:#94a3b8; font-size:.75rem; font-weight:600; padding:0 .75rem; }
.table td { background:#0f172a; border-top:1px solid #1e293b; border-bottom:1px solid #1e293b; padding:.85rem .75rem; color:#e2e8f0; }
.table td:first-child { border-left:1px solid #1e293b; border-radius:1rem 0 0 1rem; }
.table td:last-child { border-right:1px solid #1e293b; border-radius:0 1rem 1rem 0; }
.table-mobile { display:none; }
.budget-desc-cell { max-width:clamp(9rem,16vw,15rem); min-width:8rem; line-height:1.25; white-space:normal; }
.budget-desc-cell strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f8fafc; }
.budget-desc-cell span { display:-webkit-box; margin-top:.2rem; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#94a3b8; font-size:.72rem; }
.table-card { margin-bottom:.85rem; border:1px solid #1e293b; border-radius:1.1rem; background:#0f172a; padding:.85rem; }
.table-card-row { display:grid; grid-template-columns:minmax(6.5rem,.36fr) 1fr; gap:.75rem; border-bottom:1px solid rgba(51,65,85,.55); padding:.65rem 0; }
.table-card-row:last-child { border-bottom:0; padding-bottom:0; }
.table-card-row:first-child { padding-top:0; }
.table-card-label { font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:#64748b; }
.table-card-value { min-width:0; color:#e2e8f0; }
.badge { display:inline-flex; align-items:center; border-radius:999px; padding:.35rem .7rem; font-size:.75rem; border:1px solid #334155; color:#cbd5e1; background:rgba(15,23,42,.65); }
.app-sidebar { overflow:hidden; transform:translateX(-105%); transition:transform .22s ease; box-shadow:0 24px 80px rgba(0,0,0,.42); }
.app-sidebar.is-open { transform:translateX(0); }
.app-main { min-height:100vh; margin-left:0 !important; transition:margin .22s ease; }
.app-header { border:1px solid rgba(30,41,59,.9); background:linear-gradient(135deg,rgba(15,23,42,.88),rgba(2,6,23,.72)); border-radius:1.6rem; padding:1rem; box-shadow:0 24px 70px rgba(0,0,0,.20); }
.brand-card { background:linear-gradient(135deg,rgba(var(--company-primary-rgb),.14),rgba(var(--company-secondary-rgb),.08)) !important; border-color:rgba(var(--company-primary-rgb),.28) !important; }
.company-logo-box { width:3rem; height:3rem; border-radius:1rem; border:1px solid rgba(var(--company-primary-rgb),.35); background:linear-gradient(135deg,rgba(var(--company-primary-rgb),.24),rgba(var(--company-secondary-rgb),.16)); display:flex; align-items:center; justify-content:center; flex:0 0 auto; overflow:hidden; }
.company-logo-box-lg { width:4rem; height:4rem; border-radius:1.25rem; }
.company-logo-box-sm { width:2.25rem; height:2.25rem; border-radius:.8rem; }
.company-logo-img { width:100%; height:100%; object-fit:contain; background:#fff; padding:.25rem; }
.company-logo-fallback { color:#fff; font-weight:900; letter-spacing:.08em; font-size:.85rem; }
.company-logo-box-lg .company-logo-fallback { font-size:1rem; }
.module-icon { width:2.35rem; height:2.35rem; border-radius:.9rem; display:inline-flex; align-items:center; justify-content:center; background:rgba(var(--company-primary-rgb),.16); border:1px solid rgba(var(--company-primary-rgb),.30); box-shadow:inset 0 0 0 1px rgba(255,255,255,.03); }
.mobile-topbar { position:sticky; top:0; z-index:35; min-height:4rem; display:flex; align-items:center; gap:.5rem; border-bottom:1px solid #1e293b; background:rgba(2,6,23,.96); padding:.6rem .75rem; backdrop-filter:blur(16px); }
.sidebar-backdrop { position:fixed; inset:0; z-index:30; background:rgba(2,6,23,.72); backdrop-filter:blur(3px); }
.page-action-rail:empty { display:none; }
.page-action-card, .finance-shortcut-rail { border:1px solid #1e293b; border-radius:1.25rem; background:rgba(15,23,42,.72); padding:.75rem; }
.finance-shortcut-panel .btn-primary, .finance-shortcut-panel .btn-secondary { width:100%; text-align:center; }
body.sidebar-open { overflow:hidden; }
.professional-modal-form.is-open { position:fixed; top:clamp(.65rem,2.5vh,1.25rem); left:50%; z-index:80; width:min(1120px, calc(100vw - 1.25rem)); max-height:calc(100vh - 1.3rem); transform:translateX(-50%); overflow:auto; border:1px solid rgba(51,65,85,.95); border-radius:1.6rem; background:rgba(2,6,23,.97); padding:1rem; box-shadow:0 0 0 9999px rgba(2,6,23,.78), 0 28px 90px rgba(0,0,0,.55); backdrop-filter:blur(18px); }
.professional-modal-form.is-open > .card:first-of-type { margin-top:0; }
.record-details-open { overflow:hidden; }
#recordDetailsModal.flex { display:flex; align-items:flex-start; justify-content:center; overflow-y:auto; overscroll-behavior:contain; }
.record-details-panel { margin:clamp(.35rem,2vh,1rem) auto; max-height:calc(100vh - clamp(.7rem,4vh,2rem)); overflow:hidden; background:rgba(15,23,42,.98); }
.record-details-head { position:sticky; top:0; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; border-bottom:1px solid #1e293b; border-radius:1.5rem 1.5rem 0 0; background:rgba(15,23,42,.98); padding:1rem; backdrop-filter:blur(12px); }
.record-details-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; max-height:calc(100vh - 8.25rem); overflow-y:auto; padding:1rem; }
.record-detail-card { min-width:0; border:1px solid #1e293b; border-radius:1rem; background:#020617; padding:.85rem; }
.record-detail-label { margin-bottom:.35rem; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#64748b; }
.record-detail-value { overflow-wrap:anywhere; word-break:break-word; font-size:.9rem; line-height:1.45; color:#f8fafc; }
.professional-list-only { grid-template-columns:minmax(0,1fr) !important; }
.professional-list-only > :not(.professional-modal-form) { grid-column:1 / -1 !important; width:100%; min-width:0; }
.master-companies-browser { width:100%; min-width:0; }
.master-companies-browser .table td:first-child { min-width:17rem; }
.master-companies-browser .table td:nth-child(4) { max-width:26rem; white-space:normal; }
.professional-modal-head { position:sticky; top:-1rem; z-index:2; margin:-1rem -1rem 1rem; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; border-bottom:1px solid #1e293b; border-radius:1.6rem 1.6rem 0 0; background:rgba(15,23,42,.98); padding:1rem; backdrop-filter:blur(12px); }
.professional-modal-title { margin-top:.25rem; font-size:1.35rem; font-weight:900; color:#f8fafc; }
.customer-search-mobile { display:none; }
.customer-search-card { display:flex; gap:.9rem; border:1px solid #1e293b; border-radius:1.25rem; background:#0f172a; padding:1rem; }
.customer-search-select { min-height:3rem; }
.product-search-mobile { display:none; }
.product-search-card { border:1px solid #1e293b; border-radius:1.25rem; background:#0f172a; padding:.75rem; }
.product-selection-grid { display:grid; grid-template-columns:1.05fr 1fr .9fr; gap:.6rem; align-items:stretch; }
.product-selection-col { min-width:0; border:1px solid rgba(51,65,85,.7); border-radius:1rem; background:rgba(2,6,23,.45); padding:.65rem; }
.product-selection-label { font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:#64748b; }
.product-selection-action { display:flex; flex-direction:column; justify-content:space-between; }
.product-search-select { min-height:2.85rem; }
.product-select-icon-btn { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; min-width:2.65rem; min-height:2.65rem; padding:.55rem .7rem; border-radius:.9rem; font-size:1.15rem; line-height:1; white-space:nowrap; }
.product-select-icon-btn-desktop { font-size:.95rem; }
.product-select-icon-label { font-size:.78rem; font-weight:800; }
@media (max-width: 1023px) {
  .app-sidebar { transform:translateX(-105%); }
  .app-sidebar.is-open { transform:translateX(0); }
  .app-main { margin-left:0 !important; padding-top:1rem; }
  body.sidebar-open { overflow:hidden; }
  .app-header { display:none !important; }
}
@media (max-width: 640px) {
  .card, .kpi { border-radius:1.1rem; padding:1rem; }
  .table { font-size:.82rem; }
  .table-desktop { display:none; }
  .table-mobile { display:block; }
  .table-card-row { grid-template-columns:1fr; gap:.25rem; }
  #orderItemsBox { overflow-x:visible !important; }
  .btn-primary, .btn-secondary { padding:.68rem .85rem; }
  .professional-modal-form.is-open { inset:0; width:100vw; max-height:100vh; height:100vh; transform:none; border:0; border-radius:0; padding:.75rem; }
  .professional-modal-head { top:-.75rem; margin:-.75rem -.75rem .75rem; border-radius:0; }
  .professional-modal-title { font-size:1.15rem; }
  .record-details-panel { margin:0; max-height:100vh; border-radius:0; }
  .record-details-head { border-radius:0; padding:.85rem; }
  .record-details-body { grid-template-columns:1fr; max-height:calc(100vh - 6.25rem); padding:.75rem; }
  .record-detail-card { padding:.75rem; }
  .browser-actions { display:grid; width:100%; gap:.5rem; }
  .browser-actions .btn-primary, .browser-actions .btn-secondary { width:100%; }
  .customer-search-desktop { display:none; }
  .customer-search-mobile { display:block; }
  .customer-results { position:static !important; margin-top:.5rem; max-height:16rem; }
  .customer-search-open { min-height:3.25rem; font-size:.95rem; }
  .product-search-desktop { display:none; }
  .product-search-mobile { display:block; }
  .product-selection-grid { grid-template-columns:1fr 1fr .9fr; gap:.45rem; }
  .product-selection-col { padding:.55rem; }
  .product-search-select { width:100%; min-width:2.45rem; min-height:2.55rem; padding:.5rem; font-size:1.25rem; }
}
.branding-preview-card { --preview-primary: var(--company-primary); --preview-secondary: var(--company-secondary); --preview-accent: var(--company-accent); background:linear-gradient(135deg,rgba(15,23,42,.95),rgba(2,6,23,.86)) !important; }
.branding-preview-card .company-logo-box { border-color: color-mix(in srgb, var(--preview-primary) 55%, #334155); background:linear-gradient(135deg,var(--preview-primary),var(--preview-secondary)); }
.branding-preview-card .module-icon { background: color-mix(in srgb, var(--preview-primary) 18%, transparent); border-color: color-mix(in srgb, var(--preview-primary) 38%, #334155); }
.branding-preview-card .btn-primary { background:linear-gradient(135deg,var(--preview-primary),var(--preview-accent),var(--preview-secondary)); }
.branding-preview-card .badge { border-color: color-mix(in srgb, var(--preview-accent) 45%, #334155); }

/* MVP Manutenção / Assistência Técnica */
[data-maint-view].active,
.btn-secondary.active {
  border-color: rgba(45, 212, 191, .55);
  background: linear-gradient(135deg, rgba(20,184,166,.18), rgba(59,130,246,.14));
  color: #ccfbf1;
}
#maintenance_dashboard table th,
#maintenance_tickets table th,
#maintenance_orders table th,
#maintenance_time table th,
#maintenance_materials table th {
  color:#94a3b8;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.65rem .5rem;
}
#maintenance_dashboard table td,
#maintenance_tickets table td,
#maintenance_orders table td,
#maintenance_time table td,
#maintenance_materials table td {
  padding:.7rem .5rem;
  vertical-align:top;
}
@media (max-width: 640px) {
  [id^="maintenance_"] .card { padding:.9rem; }
  [id^="maintenance_"] table { min-width:720px; }
  [id^="maintenance_"] .btn-primary,
  [id^="maintenance_"] .btn-secondary { min-height:2.75rem; }
}

/* Melhorias mobile Manutenção */
.maintenance-os-card { border-color: rgba(20,184,166,.24); background: linear-gradient(135deg, rgba(15,23,42,.98), rgba(2,6,23,.92)); }
.maintenance-os-card details summary { list-style: none; }
.maintenance-os-card details summary::-webkit-details-marker { display:none; }
.maintenance-os-card details[open] { border-color: rgba(45,212,191,.32); }
@media (max-width: 640px) {
  .maintenance-os-card { padding: .95rem; }
  .maintenance-os-card .grid { gap: .55rem; }
  .maintenance-os-card .btn-primary,
  .maintenance-os-card .btn-secondary { width: 100%; min-height: 3rem; }
  .maintenance-os-card input[type="file"] { font-size: .82rem; }
}

/* Detalhe de OS, galeria e assinatura mobile */
.maintenance-detail-modal { position: fixed; inset: 0; z-index: 140; }
.maintenance-detail-modal.hidden { display: none; }
.maintenance-detail-backdrop { position:absolute; inset:0; background:rgba(2,6,23,.78); backdrop-filter: blur(6px); }
.maintenance-detail-panel { position:absolute; inset:1.25rem; overflow:auto; border:1px solid rgba(45,212,191,.24); border-radius:1.5rem; background:#020617; padding:1rem; box-shadow:0 30px 90px rgba(0,0,0,.5); }
.maintenance-gallery { margin-top:.85rem; display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:.75rem; }
.maintenance-attachment { display:flex; min-height:8.5rem; flex-direction:column; gap:.5rem; border:1px solid #1e293b; border-radius:1rem; background:#0f172a; padding:.55rem; color:#cbd5e1; font-size:.78rem; overflow:hidden; }
.maintenance-attachment img { height:6.5rem; width:100%; border-radius:.75rem; object-fit:cover; background:#020617; }
.maintenance-attachment-file { height:6.5rem; display:flex; align-items:center; justify-content:center; border-radius:.75rem; background:#020617; font-size:2rem; }
.maintenance-signature-canvas { width:100%; height:170px; border:1px dashed rgba(45,212,191,.45); border-radius:1rem; background:#fff; touch-action:none; }
@media (max-width: 640px) {
  .maintenance-detail-panel { inset:0; border-radius:0; padding:.85rem; }
  .maintenance-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* 2026-05-15 — Cabeçalho compacto e abas operacionais */
.app-header.compact {
  border-color: rgba(30,41,59,.72);
  background: linear-gradient(135deg,rgba(15,23,42,.82),rgba(2,6,23,.68));
  border-radius: 1.15rem;
  padding: .65rem .8rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.14);
}
.app-header-main { display:flex; align-items:center; justify-content:space-between; gap:.85rem; min-width:0; }
.header-ops { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; flex-wrap:wrap; }
.app-header.compact .company-logo-box-lg { width:2.75rem; height:2.75rem; border-radius:.9rem; }
.app-header.compact .company-logo-img { padding:.18rem; }
.app-header.compact #pageTitle { color:#f8fafc; letter-spacing:-.025em; text-shadow:none; line-height:1.05; }
.app-header.compact #pageBreadcrumb { line-height:1.15; }
.app-header.compact .module-icon { width:1.85rem; height:1.85rem; border-radius:.65rem; font-size:.95rem; box-shadow:none; }
.header-page-actions .btn-primary,
.header-page-actions .btn-secondary,
.compact-action { min-height:2.25rem; padding:.5rem .75rem !important; border-radius:.78rem; font-size:.82rem; box-shadow:none; }
.compact-badge { min-height:2.25rem; padding:.35rem .62rem; font-size:.72rem; }
.module-tabs-rail:empty { display:none; }
.module-tabs { display:flex; align-items:center; gap:.45rem; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid rgba(30,41,59,.8); border-radius:1rem; background:rgba(15,23,42,.58); padding:.38rem; }
.module-tab { flex:0 0 auto; border:1px solid transparent; border-radius:.78rem; padding:.5rem .72rem; color:#94a3b8; font-size:.82rem; font-weight:800; line-height:1; white-space:nowrap; transition:.16s ease; }
.module-tab:hover { color:#fff; border-color:rgba(var(--company-primary-rgb),.36); background:rgba(var(--company-primary-rgb),.10); }
.module-tab.active { color:#fff; border-color:rgba(var(--company-accent-rgb),.65); background:linear-gradient(135deg,rgba(var(--company-primary-rgb),.24),rgba(var(--company-secondary-rgb),.16)); box-shadow: inset 0 -2px 0 var(--company-accent); }
.module-tabs-more { position:relative; flex:0 0 auto; }
.module-tabs-more > summary { list-style:none; cursor:pointer; border:1px solid #334155; border-radius:.78rem; padding:.5rem .72rem; color:#cbd5e1; font-size:.82rem; font-weight:900; line-height:1; background:#0f172a; }
.module-tabs-more > summary::-webkit-details-marker { display:none; }
.module-tabs-more[open] > summary { border-color:rgba(var(--company-primary-rgb),.45); color:#fff; }
.module-tabs-more > div { position:absolute; right:0; top:calc(100% + .35rem); z-index:45; min-width:13rem; display:grid; gap:.25rem; border:1px solid #334155; border-radius:1rem; background:#020617; padding:.45rem; box-shadow:0 18px 50px rgba(0,0,0,.35); }
.module-tab.compact { width:100%; text-align:left; }
.mobile-icon-btn { min-width:2.25rem; min-height:2.25rem; padding:.45rem .62rem !important; border-radius:.8rem; }
.mobile-action-menu { position:sticky; top:3.35rem; z-index:34; border-bottom:1px solid #1e293b; background:rgba(2,6,23,.98); padding:.6rem .75rem; backdrop-filter:blur(16px); }
.mobile-action-card { border:1px solid #1e293b; border-radius:1rem; background:rgba(15,23,42,.88); padding:.75rem; }
.mobile-action-meta { display:flex; justify-content:space-between; gap:.75rem; color:#94a3b8; font-size:.72rem; }
.mobile-action-buttons { margin-top:.65rem; display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.mobile-action-buttons .btn-primary,
.mobile-action-buttons .btn-secondary { width:100%; min-height:2.4rem; padding:.55rem .65rem !important; border-radius:.8rem; font-size:.82rem; box-shadow:none; }
@media (max-width: 1279px) {
  .app-header-main { align-items:flex-start; flex-direction:column; }
  .header-ops { justify-content:flex-start; }
}
@media (max-width: 1023px) {
  .mobile-topbar { min-height:3.35rem; padding:.45rem .65rem; }
  .company-logo-box-sm { width:2rem; height:2rem; border-radius:.7rem; }
  .module-tabs { border-radius:.85rem; padding:.32rem; margin-top:-.25rem; }
  .module-tab, .module-tabs-more > summary { padding:.48rem .62rem; font-size:.78rem; }
}
@media (max-width: 640px) {
  .module-tabs-more > div { position:fixed; left:.75rem; right:.75rem; top:7.2rem; }
  .mobile-action-buttons { grid-template-columns:1fr; }
}

/* 2026-05-15 — Menus internos recolhidos/accordion */
.nav-group { border:1px solid rgba(30,41,59,.72); border-radius:1rem; background:rgba(15,23,42,.34); padding:.32rem; transition:border-color .18s ease, background .18s ease; }
.nav-group:hover { border-color:rgba(var(--company-primary-rgb),.28); }
.nav-group.is-open { border-color:rgba(var(--company-primary-rgb),.42); background:rgba(15,23,42,.58); }
.nav-group-toggle { min-height:2.35rem; border-radius:.78rem; padding:.55rem .7rem; color:#cbd5e1; font-size:.78rem; letter-spacing:.04em; text-transform:none; font-weight:900; }
.nav-group-toggle:hover { background:rgba(var(--company-primary-rgb),.10); color:#fff; }
.nav-group-toggle span { transition:transform .18s ease; color:#94a3b8; }
.nav-group.is-open .nav-group-toggle { color:#fff; background:linear-gradient(135deg,rgba(var(--company-primary-rgb),.16),rgba(15,23,42,.40)); }
.nav-group.is-open .nav-group-toggle span { transform:rotate(180deg); color:rgb(var(--company-accent-rgb)); }
.nav-group-items { display:grid; gap:.25rem; margin-top:.35rem; max-height:30rem; overflow:hidden; opacity:1; transition:max-height .22s ease, opacity .18s ease, margin .18s ease; }
.nav-group:not(.is-open) .nav-group-items { max-height:0; opacity:0; margin-top:0; pointer-events:none; }
.nav-group .nav { border-radius:.78rem; padding:.62rem .72rem; font-size:.88rem; }
.nav-group .nav.active { color:#fff; background:linear-gradient(135deg,rgba(var(--company-primary-rgb),.22),rgba(var(--company-secondary-rgb),.12)); box-shadow:inset 3px 0 0 var(--company-accent); }
.module-tabs-accordion { border:1px solid rgba(30,41,59,.82); border-radius:1rem; background:rgba(15,23,42,.58); overflow:visible; }
.module-tabs-toggle { width:100%; min-height:2.55rem; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.65rem; border-radius:1rem; padding:.55rem .75rem; text-align:left; color:#e2e8f0; transition:background .18s ease, border-color .18s ease; }
.module-tabs-toggle:hover { background:rgba(var(--company-primary-rgb),.10); }
.module-tabs-title { font-weight:950; color:#f8fafc; }
.module-tabs-current { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#94a3b8; font-size:.78rem; }
.module-tabs-chevron { color:rgb(var(--company-accent-rgb)); transition:transform .18s ease; justify-self:end; }
.module-tabs-accordion.is-open .module-tabs-toggle { border-bottom:1px solid rgba(30,41,59,.70); border-radius:1rem 1rem 0 0; background:linear-gradient(135deg,rgba(var(--company-primary-rgb),.16),rgba(15,23,42,.35)); }
.module-tabs-accordion.is-open .module-tabs-chevron { transform:rotate(180deg); }
.module-tabs-panel { display:flex; align-items:center; gap:.45rem; max-height:0; overflow:hidden; opacity:0; padding:0 .38rem; transition:max-height .22s ease, opacity .18s ease, padding .18s ease; }
.module-tabs-accordion.is-open .module-tabs-panel { max-height:9rem; opacity:1; overflow:visible; padding:.38rem; }
.module-tabs { border:0; background:transparent; padding:0; }
.module-tabs-more { position:relative; flex:0 0 auto; }
.module-tabs-more > summary { display:flex; align-items:center; gap:.35rem; }
.module-tabs-more > summary::after { content:'▾'; color:rgb(var(--company-accent-rgb)); font-size:.75rem; }
.module-tabs-more[open] > summary::after { transform:rotate(180deg); }
.module-tabs-more > div { z-index:70; }
@media (max-width: 1023px) {
  .nav-group-toggle { min-height:2.65rem; padding:.65rem .75rem; }
  .nav-group .nav { padding:.7rem .75rem; }
  .module-tabs-rail { position:relative; z-index:28; }
  .module-tabs-accordion { border-radius:.9rem; }
  .module-tabs-toggle { min-height:2.45rem; padding:.5rem .65rem; grid-template-columns:auto minmax(3rem,1fr) auto; }
  .module-tabs-accordion.is-open .module-tabs-panel { max-height:14rem; overflow:auto; align-items:stretch; flex-wrap:wrap; }
  .module-tab { flex:1 1 auto; text-align:center; }
}
@media (max-width: 640px) {
  .module-tabs-panel { display:grid; grid-template-columns:1fr 1fr; }
  .module-tabs-accordion.is-open .module-tabs-panel { max-height:18rem; }
  .module-tabs-more { grid-column:1 / -1; width:100%; }
  .module-tabs-more > summary { justify-content:center; width:100%; }
  .module-tabs-more > div { position:static; min-width:100%; margin-top:.4rem; }
  .module-tab.compact { text-align:center; }
}

/* 2026-05-15 — UX mobile do Orçamento sem ativar PWA */
.budget-page .text-slate-500 { color:#94a3b8; }
.budget-hero-card { overflow:hidden; }
.budget-hero-actions .btn-primary,
.budget-hero-actions .btn-secondary { min-height:2.65rem; }
@media (max-width: 1023px) {
  .app-main { padding-bottom: calc(4.75rem + env(safe-area-inset-bottom)); }
  .module-tabs-rail { margin-bottom:.7rem; }
  .module-tabs-accordion:not(.is-open) .module-tabs-panel { display:none; }
}
@media (max-width: 640px) {
  .mobile-topbar { min-height:3.15rem; padding:.42rem .55rem; gap:.42rem; }
  .mobile-icon-btn { min-width:2.15rem; min-height:2.15rem; padding:.38rem .52rem !important; }
  .mobile-topbar #mobilePageTitle { font-size:.86rem; line-height:1.05; }
  .mobile-topbar #mobileCompanyName { max-width:10rem; }
  .app-main { padding:.75rem .65rem calc(5.25rem + env(safe-area-inset-bottom)) !important; }
  .budget-page { gap:.85rem; }
  .budget-hero-card { padding:1rem; border-radius:1.15rem; }
  .budget-hero-card h3 { font-size:1.55rem; line-height:1.05; letter-spacing:-.03em; }
  .budget-hero-card p { line-height:1.35; }
  .budget-hero-actions { display:grid; grid-template-columns:1fr; width:100%; gap:.55rem; }
  .budget-hero-actions .btn-primary { width:100%; min-height:3.05rem; }
  .budget-hero-actions #refreshBudgetBtn { display:none; }
  .budget-summary-grid { grid-template-columns:1fr 1fr !important; gap:.7rem !important; margin-top:.9rem !important; }
  .budget-summary-card { min-height:4.6rem; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.1rem .55rem; border-radius:1rem; padding:.82rem .88rem !important; }
  .budget-summary-label { grid-column:1; grid-row:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; letter-spacing:.14em !important; font-size:.64rem !important; color:#cbd5e1 !important; }
  .budget-summary-value { grid-column:2; grid-row:1 / 3; margin:0 !important; font-size:1.75rem !important; line-height:1; }
  .budget-summary-hint { grid-column:1; grid-row:2; margin:.15rem 0 0 !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem !important; color:#94a3b8 !important; }
  .budget-browser-card { padding:.95rem; border-radius:1.15rem; }
  .budget-browser-card .table-card { border-radius:1rem; padding:.78rem; }
  .budget-browser-card .table-card-label { color:#94a3b8; }
  .budget-browser-card .table-card-value { color:#f8fafc; }
  .budget-browser-card .table-card-value .flex.flex-wrap.gap-2 { display:grid; grid-template-columns:1fr; }
  .budget-browser-card .table-card-value .btn-primary,
  .budget-browser-card .table-card-value .btn-secondary { width:100%; min-height:2.55rem; }
}
@media (max-width: 420px) {
  #mobileCompanyLogoBox { display:none; }
  .mobile-topbar #mobileCompanyName { display:none; }
  .mobile-topbar #mobilePageTitle { font-size:.9rem; }
}

/* 2026-05-15 — limpeza mobile geral e pedidos compactos */
.orders-compact-mobile { display:none; }
@media (max-width: 640px) {
  .browser-toolbar { margin-bottom:.85rem !important; padding:.95rem !important; border-radius:1.15rem !important; }
  .browser-toolbar > div:first-child > p:first-child { display:none; }
  .browser-toolbar > div:first-child > p:last-child { display:none; }
  .browser-toolbar h3 { margin-top:0 !important; font-size:1.35rem !important; line-height:1.1; }
  .browser-toolbar .browser-actions { margin-top:.7rem; display:grid; width:100%; grid-template-columns:1fr; gap:.55rem; }
  .browser-toolbar .browser-actions .btn-primary,
  .browser-toolbar .browser-actions .btn-secondary { width:100%; min-height:2.8rem; }
  #ordersBrowserList,
  #orders_history > .card { padding:.95rem !important; border-radius:1.15rem !important; }
  #ordersBrowserList > .mb-4 p,
  #orders_history .card > div:first-child p.mt-1 { display:none; }
  #ordersHistorySearch,
  #orderBrowserSearch { min-height:2.9rem; }
  .orders-responsive-list .table-desktop { display:none !important; }
  .orders-compact-mobile { display:grid; gap:.62rem; }
  .order-compact-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem .75rem; align-items:center; border:1px solid #1e293b; border-radius:1rem; background:#0f172a; padding:.78rem .82rem; }
  .order-compact-client { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f8fafc; font-size:.95rem; font-weight:850; }
  .order-compact-date { margin-top:.12rem; color:#94a3b8; font-size:.72rem; line-height:1.2; }
  .order-compact-value { justify-self:end; color:#f8fafc; font-size:1rem; font-weight:950; white-space:nowrap; }
  .order-compact-actions { grid-column:1 / -1; display:grid; grid-template-columns:1fr; gap:.45rem; }
  .order-compact-actions .btn-secondary { min-height:2.35rem; width:100%; border-radius:.85rem; padding:.55rem .75rem !important; font-size:.82rem; }
}

/* 2026-05-15 — Novo orçamento: cliente compacto e adicionar item no final */
@media (max-width: 640px) {
  .customer-selector-compact > .grid { grid-template-columns:1fr 1fr; gap:.5rem; }
  .customer-selector-compact > .grid > .relative { grid-column:1 / -1; }
  .customer-selector-compact .customer-search { min-height:2.85rem; font-size:.95rem; }
  .customer-selector-compact .customer-search-open,
  .customer-selector-compact .customer-new-open { min-height:2.45rem !important; border-radius:.9rem; padding:.55rem .7rem !important; font-size:.82rem !important; line-height:1.1; }
  .customer-selector-compact > p { font-size:.7rem; line-height:1.25; }
  #addBudgetItemBtn { min-height:2.8rem; border-style:dashed; }
}

/* 2026-05-15 — Card mobile detalhado do orçamento */
.budget-mobile-detail-list { display:none; }
@media (max-width: 640px) {
  .budget-responsive-list .table-desktop { display:none !important; }
  .budget-mobile-detail-list { display:grid; gap:.72rem; margin-top:.9rem; }
  .budget-mobile-detail-card { border:1px solid #1e293b; border-radius:1rem; background:#0f172a; padding:.88rem; }
  .budget-mobile-detail-meta { display:flex; flex-wrap:wrap; gap:.28rem .45rem; align-items:center; color:#94a3b8; font-size:.72rem; line-height:1.2; }
  .budget-mobile-detail-meta span:first-child { color:#f8fafc; font-weight:900; }
  .budget-mobile-detail-meta span:not(:last-child)::after { content:'·'; margin-left:.45rem; color:#475569; }
  .budget-mobile-detail-desc { margin-top:.7rem; display:grid; gap:.18rem; }
  .budget-mobile-detail-desc span,
  .budget-mobile-detail-footer span { color:#94a3b8; font-size:.64rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
  .budget-mobile-detail-desc strong { color:#f8fafc; font-size:.98rem; line-height:1.25; font-weight:800; }
  .budget-mobile-detail-footer { margin-top:.75rem; display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
  .budget-mobile-detail-footer strong { display:block; margin-top:.1rem; color:#f8fafc; font-size:1.12rem; font-weight:950; }
  .budget-mobile-detail-actions { margin-top:.75rem; }
  .budget-mobile-detail-actions .flex.flex-wrap.gap-2 { display:grid; grid-template-columns:1fr; gap:.45rem; }
  .budget-mobile-detail-actions .btn-primary,
  .budget-mobile-detail-actions .btn-secondary { width:100%; min-height:2.35rem; border-radius:.85rem; padding:.55rem .75rem !important; font-size:.82rem; }
}

/* 2026-05-15 — Card orçamento: cliente e ação centralizada */
@media (max-width: 640px) {
  .budget-mobile-detail-customer { margin-top:.68rem; display:grid; gap:.16rem; }
  .budget-mobile-detail-customer span { color:#94a3b8; font-size:.64rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
  .budget-mobile-detail-customer strong { color:#f8fafc; font-size:1rem; line-height:1.2; font-weight:900; }
  .budget-mobile-detail-actions a.btn-secondary,
  .budget-mobile-detail-actions button.btn-secondary,
  .budget-mobile-detail-actions button.btn-primary { display:inline-flex; align-items:center; justify-content:center; text-align:center; }
}

/* 2026-05-15 — Orçamento: ações principais + menu Mais */
.budget-more-actions { position:relative; }
.budget-more-actions > summary { list-style:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; text-align:center; }
.budget-more-actions > summary::-webkit-details-marker { display:none; }
.budget-more-actions > summary::after { content:'▾'; color:#94a3b8; font-size:.72rem; }
.budget-more-actions[open] > summary::after { transform:rotate(180deg); }
.budget-more-actions-panel { position:absolute; right:0; top:calc(100% + .45rem); z-index:75; min-width:13rem; display:grid; gap:.4rem; border:1px solid #334155; border-radius:1rem; background:#020617; padding:.5rem; box-shadow:0 20px 55px rgba(0,0,0,.45); }
.budget-more-actions-panel .btn-secondary { display:inline-flex; align-items:center; justify-content:center; width:100%; text-align:center; }
@media (max-width: 640px) {
  .budget-actions { display:grid !important; grid-template-columns:1fr 1fr; gap:.5rem !important; }
  .budget-actions > .detail-budget,
  .budget-actions > a.btn-secondary { width:100%; min-height:2.45rem; display:inline-flex; align-items:center; justify-content:center; text-align:center; }
  .budget-more-actions { grid-column:1 / -1; width:100%; }
  .budget-more-actions > summary { width:100%; min-height:2.45rem; }
  .budget-more-actions-panel { position:static; margin-top:.5rem; min-width:0; width:100%; box-shadow:none; background:rgba(2,6,23,.55); }
}

/* 2026-05-15 — Referências: botões compactos no mobile */
@media (max-width: 640px) {
  #budget_references .card { padding:1rem !important; }
  #budget_references .btn-primary,
  #budget_references .btn-secondary { min-height:2.35rem; border-radius:.85rem; padding:.52rem .72rem !important; font-size:.82rem; line-height:1.1; }
  #budget_references > .space-y-6 { gap:1rem; }
  #budget_references .card:first-of-type .flex.flex-wrap.gap-2 { display:grid; grid-template-columns:1fr 1fr; gap:.5rem !important; width:100%; }
  #budget_references .card:first-of-type .flex.flex-wrap.gap-2 > button { width:100%; }
  #budget_references #openBudgetReferenceModalSecondary,
  #budget_references #openBudgetMaterialModalSecondary,
  #budget_references #openBudgetProcessModalSecondary { align-self:flex-start; width:auto; min-width:8rem; }
  #budget_references #budgetReferenceSearchClear,
  #budget_references #budgetMaterialSearchClear,
  #budget_references #budgetProcessSearchClear { justify-self:end; width:auto; min-width:5.5rem; }
  #budget_references .table-card-value .flex.flex-wrap.gap-2 { display:grid; grid-template-columns:1fr 1fr; gap:.45rem !important; }
  #budget_references .table-card-value .flex.flex-wrap.gap-2 > button { width:100%; min-height:2.2rem; }
}
