
:root{
  --bg:#f4f6f8;
  --panel:#ffffff;
  --text:#17202a;
  --muted:#6b7280;
  --primary:#d92532;
  --primary-dark:#b81e29;
  --nav:#131c2b;
  --border:#e5e7eb;
  --success:#0f9d58;
  --warning:#d97706;
  --danger:#c62828;
  --shadow:0 8px 28px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
#app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{background:var(--nav);color:#fff;padding:20px;display:flex;flex-direction:column;gap:24px}
.brand{display:flex;gap:12px;align-items:center}
.brand-mark{width:48px;height:48px;border-radius:14px;background:var(--primary);display:grid;place-items:center;font-weight:800}
.brand small{display:block;color:#aeb7c4;margin-top:4px}
nav{display:flex;flex-direction:column;gap:8px}
nav button,.sidebar-footer button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:12px 14px;border-radius:10px}
nav button.active,nav button:hover{background:#223047;color:#fff}
.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;color:#9ca3af;font-size:13px}
.main{padding:26px;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.topbar h1{margin:0 0 5px}
.topbar p{margin:0;color:var(--muted)}
.primary{border:0;background:var(--primary);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700}
.primary:hover{background:var(--primary-dark)}
.secondary{border:1px solid var(--border);background:#fff;color:var(--text);padding:10px 14px;border-radius:10px}
.danger{border:0;background:#fee2e2;color:#991b1b;padding:9px 12px;border-radius:9px}
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.kpi .label{color:var(--muted);font-size:13px}
.kpi .value{font-size:28px;font-weight:800;margin-top:8px}
.two-col{grid-template-columns:1.2fr .8fr;margin-top:16px}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.section-title h2{margin:0;font-size:18px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);font-size:14px}
th{color:var(--muted);font-weight:600}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;background:#eef2ff;color:#3730a3}
.badge.ok{background:#dcfce7;color:#166534}
.badge.warn{background:#fef3c7;color:#92400e}
.badge.danger{background:#fee2e2;color:#991b1b}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;color:var(--muted)}
.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:10px;padding:11px;background:#fff}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:grid;place-items:center;padding:20px;z-index:20}
.modal.hidden{display:none}
.modal-card{background:#fff;width:min(900px,100%);max-height:90vh;overflow:auto;border-radius:18px;padding:20px}
.modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:16px}
.modal-head h2{margin:0}
.modal-head button{border:0;background:transparent;font-size:18px}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}
.toolbar input{flex:1;border:1px solid var(--border);padding:11px;border-radius:10px}
.item-row{display:grid;grid-template-columns:2fr .6fr .8fr .8fr auto;gap:8px;align-items:end;margin-bottom:8px}
.summary{display:flex;justify-content:flex-end;gap:28px;margin-top:12px;font-weight:700}
.empty{padding:26px;text-align:center;color:var(--muted)}
@media (max-width: 980px){
  #app{grid-template-columns:86px 1fr}
  .brand>div:last-child,.sidebar-footer span{display:none}
  nav button{font-size:0;text-align:center}
  nav button::first-letter{font-size:14px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
}
@media (max-width: 680px){
  #app{display:block}
  .sidebar{position:fixed;left:0;right:0;bottom:0;height:68px;z-index:10;padding:8px 10px;flex-direction:row;align-items:center}
  .brand,.sidebar-footer{display:none}
  nav{width:100%;flex-direction:row;justify-content:space-around}
  nav button{font-size:11px;padding:9px}
  .main{padding:18px 14px 86px}
  .topbar{align-items:flex-start}
  .kpis,.form-grid{grid-template-columns:1fr}
  .item-row{grid-template-columns:1fr 1fr}
}

.login-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f6f8}
.login-card{width:min(420px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.12)}
.login-brand{margin-bottom:22px}.login-card h1{margin:0 0 6px}.login-card p{margin:0 0 20px;color:#68717d}
.login-card form{display:grid;gap:10px}.login-card input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d8dde5;border-radius:10px;font:inherit}
.login-card button{margin-top:8px}.login-error{min-height:20px;color:#b42318;font-size:.9rem}.hidden{display:none!important}


/* Fase 1.5 — OS integrada */
.customer-info{padding:10px 12px;border:1px solid #e1e6ec;border-radius:10px;background:#f8fafc;line-height:1.45;font-size:13px}.customer-info span{color:#667085}.catalog-add{display:flex;gap:10px;align-items:end;margin:8px 0}.catalog-add .grow{flex:1}.compact-actions{margin:8px 0 12px}.quick-create{border:1px solid #e1e6ec;border-radius:12px;padding:14px;margin:8px 0 14px;background:#fbfcfd}.mini-grid{margin-top:10px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.summary-grid>div{border:1px solid #e1e6ec;border-radius:12px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:5px}.summary-grid span{font-size:12px;color:#667085}.summary-grid strong{font-size:18px}.item-row-v2{grid-template-columns:120px minmax(220px,2fr) 100px 120px 120px auto}.item-kind .badge{display:inline-block;margin-top:7px}@media(max-width:900px){.catalog-add{flex-direction:column;align-items:stretch}.summary-grid{grid-template-columns:1fr}.item-row-v2{grid-template-columns:1fr 1fr}.item-desc{grid-column:1/-1}}

/* Fase 1.6 — Orçamentos, vendas e A5 */
.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media(max-width:680px){nav{overflow-x:auto;justify-content:flex-start}nav button{min-width:max-content}}

.notice{background:#fff7e6;border:1px solid #f0c36d;border-radius:10px;padding:12px}.badge.warn{background:#fff1f0;color:#b42318}.table-wrap small{color:#667085}
.danger-text{color:#b42318!important;font-weight:800}


/* Fase 1.9 — Agenda, Técnicos e Timeline */
.ops-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ops-summary>div{border:1px solid var(--border);border-radius:12px;padding:14px;background:#f8fafc;display:flex;flex-direction:column;gap:5px}.ops-summary span{font-size:12px;color:var(--muted)}.ops-summary strong{font-size:24px}.agenda-mini{display:grid;gap:8px}.agenda-mini-row{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:10px;border:1px solid var(--border);border-radius:10px}.agenda-mini-row small{display:block;color:var(--muted);margin-top:4px}.timeline-box{margin-top:18px;border-top:1px solid var(--border);padding-top:16px}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:10px;position:relative;padding:6px 0 12px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);margin-top:5px}.timeline-item p{margin:3px 0}.timeline-item small{color:var(--muted)}
@media(max-width:680px){.ops-summary{grid-template-columns:1fr}.agenda-mini-row{grid-template-columns:1fr}}

/* Fase 1.10 — Fluxo operacional, agenda avançada e conflitos */
.sidebar{overflow-y:auto}
.agenda-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.view-tabs{display:flex;gap:8px;flex-wrap:wrap}
.view-tabs .active-view{background:#223047;color:#fff;border-color:#223047}
.row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:270px}
.row-actions button{padding:7px 10px;font-size:12px}
.workflow-box{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fbfcfd}
.workflow-actions{display:flex;gap:8px;flex-wrap:wrap}
.workflow-actions button{flex:1 1 150px}
@media(max-width:680px){.agenda-viewbar{align-items:stretch;flex-direction:column}.row-actions{min-width:0}.workflow-actions{flex-direction:column}}


/* Fase 1.10.1 — Padronização em maiúsculas e aprovação formal */
body, button, input, select, textarea, table, .badge { text-transform: uppercase; }
input[type="email"] { text-transform: none; }
.approval-box{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}
.approval-meta{margin:12px 0 0;color:var(--muted);font-size:12px}

/* Fase 1.11 — Entrega/retirada e conclusão controlada */
.delivery-box{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff}
.workflow-actions button:disabled{opacity:.45;cursor:not-allowed}


/* Fase 1.15 — Garantias e Pós-venda */
.warranty-toolbar{align-items:stretch}.warranty-toolbar select{min-width:250px;border:1px solid var(--border);border-radius:10px;padding:11px;background:#fff}.warranty-kpis{margin-bottom:0}@media(max-width:680px){.warranty-toolbar{flex-direction:column}.warranty-toolbar select{width:100%;min-width:0}}

/* FASE 1.16 — RELATÓRIOS E CMV */
.report-filter .toolbar{align-items:end;flex-wrap:wrap}.report-filter .field{min-width:190px}.report-grid{margin-top:16px}.report-kpis{margin-top:16px}.report-grid .card{min-width:0}@media print{.sidebar,.topbar,.report-filter,#quickAction{display:none!important}.main{margin:0!important;padding:0!important}.card{box-shadow:none!important;break-inside:avoid}body{background:#fff!important}}

/* FASE 1.17 — DRE GERENCIAL E RENTABILIDADE */
.dre-card{margin-top:16px}.dre-card .section-title span{font-size:12px;color:var(--muted)}.dre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dre-grid>div{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:12px;padding:14px;background:#f8fafc}.dre-grid span{font-size:12px;color:var(--muted)}.dre-grid strong{font-size:20px}.dre-grid .dre-emphasis{background:#fff}.dre-note{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.5}@media(max-width:900px){.dre-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.dre-grid{grid-template-columns:1fr}}

/* FASE 1.18 — PAINEL DE GESTÃO, RENTABILIDADE POR CLIENTE E RESPONSIVIDADE */
.management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.report-section{margin-top:16px}
.responsive-table{width:100%;overflow-x:auto}
.responsive-table table{width:100%;table-layout:auto}
.responsive-table th,.responsive-table td{padding:10px 8px;font-size:12px;white-space:normal;vertical-align:middle}
.responsive-table th{line-height:1.2}
.responsive-table .badge{white-space:nowrap}
.mix-box{display:grid;gap:18px}
.mix-row>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}
.mix-row span{font-size:12px;color:var(--muted)}
.mix-row strong{font-size:14px}
.mix-track{height:10px;border-radius:999px;background:#eef2f7;overflow:hidden}
.mix-track i{display:block;height:100%;background:var(--primary);border-radius:999px}
.compact-empty{padding:12px 0}
@media(max-width:1100px){.management-grid{grid-template-columns:1fr}.responsive-table th,.responsive-table td{font-size:11px;padding:9px 6px}}
@media(max-width:760px){.report-filter .toolbar{align-items:stretch;flex-direction:column}.report-filter .field{min-width:0;width:100%}.report-filter .toolbar button{width:100%}.mix-row>div:first-child{align-items:flex-start;flex-direction:column}.responsive-table{overflow-x:auto}.responsive-table table{min-width:620px}}

/* FASE 1.19 — DASHBOARD EXECUTIVO, METAS E COMPARATIVOS */
.executive-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.executive-topline>div{display:flex;flex-direction:column;gap:3px}.executive-topline strong{font-size:14px}.executive-topline span{font-size:11px;color:var(--muted)}
.executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.executive-kpi{display:flex;flex-direction:column;gap:7px}.executive-kpi>span:first-child{font-size:12px;color:var(--muted)}.executive-kpi>strong{font-size:26px;line-height:1.1}.compare{display:inline-flex;width:max-content;max-width:100%;font-size:10px;font-weight:700;padding:5px 8px;border-radius:999px}.compare.up{background:#dcfce7;color:#166534}.compare.down{background:#fee2e2;color:#991b1b}.compare.neutral{background:#f1f5f9;color:#64748b}
.goals-panel{margin-bottom:16px}.goals-panel small{color:var(--muted)}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.goal-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fbfcfd}.goal-head,.goal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.goal-head span{font-size:12px;color:var(--muted)}.goal-head strong{font-size:14px}.goal-track{height:11px;border-radius:999px;background:#e9eef4;overflow:hidden;margin:12px 0}.goal-track i{display:block;height:100%;background:var(--primary);border-radius:999px}.goal-foot{font-size:10px;color:var(--muted)}
.executive-charts{margin-bottom:16px}.executive-chart{height:220px;display:flex;align-items:flex-end;gap:14px;padding:16px 6px 0;border-bottom:1px solid var(--border)}.chart-group{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:0}.chart-bars{height:180px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.bar{display:block;width:18%;max-width:20px;min-width:6px;border-radius:5px 5px 0 0;background:#94a3b8}.bar.revenue{background:var(--primary)}.bar.cmv{background:#64748b}.bar.profit{background:#16a34a}.bar.expense{background:#d97706}.chart-group>span{font-size:10px;color:var(--muted);white-space:nowrap}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:10px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:9px;height:9px;border-radius:2px;background:#94a3b8}.legend-dot.revenue{background:var(--primary)}.legend-dot.cmv{background:#64748b}.legend-dot.profit{background:#16a34a}.legend-dot.expense{background:#d97706}
.management-strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.management-strip .kpi{min-width:0}.management-strip .value{font-size:20px}
@media(max-width:1050px){.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-grid{grid-template-columns:1fr}.executive-charts{grid-template-columns:1fr}}
@media(max-width:680px){.executive-topline{align-items:stretch;flex-direction:column}.executive-kpis{grid-template-columns:1fr}.executive-kpi>strong{font-size:23px}.goal-head,.goal-foot{align-items:flex-start;flex-direction:column}.executive-chart{gap:7px;height:190px}.chart-bars{height:150px}.management-strip{grid-template-columns:1fr}}

/* FASE 1.20 — BLUE CLEAN CRM UI */
:root{
  --bg:#f5f8fd;--panel:#ffffff;--text:#10213d;--muted:#70809a;
  --primary:#1268e8;--primary-dark:#0a4fbe;--nav:#071d4b;--nav2:#0a2d73;
  --border:#dfe7f2;--success:#18a66b;--warning:#f59e0b;--danger:#ef4444;
  --shadow:0 8px 26px rgba(32,71,123,.08);--soft-blue:#eaf3ff;
}
html,body{max-width:100%;overflow-x:hidden}
body{background:linear-gradient(180deg,#f8fbff 0,#f3f6fb 100%);letter-spacing:0}
#app{grid-template-columns:220px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#08275f 0%,#071d4b 70%,#06193d 100%);padding:18px 14px;gap:18px;box-shadow:8px 0 30px rgba(8,39,95,.08)}
.brand{padding:4px 4px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{background:linear-gradient(135deg,#4aa7ff,#0757d6);box-shadow:0 8px 24px rgba(0,104,255,.28);border-radius:14px}
.brand-symbol{font-size:25px;font-weight:900;font-style:italic;color:#fff}
.brand strong{font-size:18px;letter-spacing:.7px}.brand small{font-size:10px;color:#b8cff4;letter-spacing:.4px}
nav{gap:4px}nav button{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:#dbe9ff;font-size:12px;font-weight:650;white-space:nowrap}
nav button .nav-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:#dceaff;font-size:14px;border:1px solid rgba(255,255,255,.12)}
nav button:hover{background:rgba(52,133,255,.16)}nav button.active{background:linear-gradient(90deg,#176fe7,#2484ff);box-shadow:0 8px 18px rgba(18,104,232,.25);color:#fff}
nav button.active .nav-icon{background:rgba(255,255,255,.15)}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.sidebar-footer button{color:#c9dcfa}
.main{padding:18px 22px 32px;min-width:0;overflow:hidden}
.topbar{height:58px;margin:-18px -22px 18px;padding:9px 22px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 10px rgba(21,53,94,.04);align-items:center}
.top-search-wrap{position:relative;flex:1;max-width:520px}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:19px;color:#61728e}.top-search{width:100%;height:39px;border:1px solid var(--border);border-radius:11px;background:#f8fbff;padding:0 14px 0 40px;outline:none;color:#213654}.top-search:focus{border-color:#87b8ff;box-shadow:0 0 0 3px rgba(18,104,232,.08)}
.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{position:relative;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#2b4772}.notification-dot{position:absolute;right:5px;top:4px;width:14px;height:14px;background:#ef4444;color:white;border-radius:50%;font-size:8px;display:grid;place-items:center}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:10px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#dceaff;color:#0757d6;font-weight:800;font-size:11px}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:10px}.user-chip small{font-size:9px;color:var(--muted)}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.page-heading h1{margin:0 0 2px;font-size:22px;letter-spacing:-.2px}.page-heading p{margin:0;color:var(--muted);font-size:11px}
.primary{background:linear-gradient(135deg,#1170f2,#0757d6);box-shadow:0 6px 14px rgba(18,104,232,.18);border-radius:10px;padding:10px 15px}.primary:hover{background:#0757d6}.secondary{border-color:#d7e3f2;color:#213654;border-radius:9px;background:#fff}.secondary:hover{background:#f5f9ff;border-color:#9fc5ff}
.card{border:1px solid #e1e9f4;border-radius:14px;box-shadow:0 5px 18px rgba(35,78,129,.06);padding:16px}.kpi .value{color:#0a1f3e}
.executive-topline{display:none}.executive-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.executive-kpi{position:relative;overflow:hidden}.executive-kpi:after{content:"";position:absolute;right:-18px;top:-18px;width:72px;height:72px;border-radius:50%;background:#eaf3ff}.executive-kpi>span:first-child,.kpi .label{font-size:10px;color:#637694;font-weight:700}.executive-kpi>strong{font-size:22px;z-index:1}.compare{font-size:9px;z-index:1}
.goals-panel{background:linear-gradient(180deg,#fff,#fbfdff)}.goal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.goal-card{background:#fff;padding:12px;border-color:#e3eaf3}.goal-track{height:8px}.goal-track i{background:linear-gradient(90deg,#1268e8,#39a0ff)}
.executive-charts{grid-template-columns:1.35fr .65fr;gap:14px}.executive-chart{height:200px;border-bottom:0;background:linear-gradient(180deg,#fbfdff,#fff);border-radius:10px;padding:18px 8px 4px}.chart-bars{height:155px}.bar{border-radius:5px 5px 2px 2px}.bar.revenue{background:#1268e8}.bar.cmv{background:#f4a20b}.bar.profit{background:#18a66b}.bar.expense{background:#ef5350}.legend-dot.revenue{background:#1268e8}.legend-dot.cmv{background:#f4a20b}.legend-dot.profit{background:#18a66b}.legend-dot.expense{background:#ef5350}
.management-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.management-strip .card{padding:12px}.management-strip .value{font-size:17px}.management-strip .label{font-size:9px}
.two-col{gap:14px}.section-title h2{font-size:14px;letter-spacing:.2px}.section-title small{font-size:9px;color:var(--muted)}
.badge{background:#eaf3ff;color:#0757d6}.badge.ok{background:#e6f8ef;color:#07824d}.badge.warn{background:#fff4dc;color:#a56300}.badge.danger{background:#ffe8e8;color:#c53333}
.table-wrap,.responsive-table{max-width:100%;overflow:auto}table{width:100%}th{font-size:10px;color:#61738f}td{font-size:11px;color:#263b59}
.modal{background:rgba(5,22,55,.52);backdrop-filter:blur(3px)}.modal-card{border-radius:18px;box-shadow:0 24px 70px rgba(4,30,76,.2)}
.login-gate{background:radial-gradient(circle at top right,#dcebff 0,#f6f9ff 48%,#edf4ff 100%)}.login-card{border:1px solid #dbe7f6;box-shadow:0 25px 60px rgba(16,74,151,.14)}
.report-filter{border-top:3px solid #1268e8}.dre-grid>div{background:#fbfdff}.mix-track{background:#edf3fb}.mix-track i{background:linear-gradient(90deg,#1268e8,#39a0ff)}
@media print{.topbar,.page-heading,.sidebar,#quickAction,.report-filter,.top-actions{display:none!important}#app{display:block!important}.main{padding:0!important}.card{border:0!important;box-shadow:none!important}.report-section,.dre-card{page-break-inside:avoid}.responsive-table{overflow:visible!important}.responsive-table table{min-width:0!important}}
@media(max-width:1250px){#app{grid-template-columns:205px minmax(0,1fr)}.executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.management-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){#app{grid-template-columns:78px minmax(0,1fr)}.brand>div:last-child{display:none}nav button span:last-child{display:none}nav button{justify-content:center}.executive-charts{grid-template-columns:1fr}.management-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.user-chip div{display:none}}
@media(max-width:680px){#app{display:block}.sidebar{height:67px;padding:7px 9px;background:#08275f}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav button{min-width:65px}.sidebar nav button:nth-child(n+6){display:none}.main{padding:12px 12px 82px}.topbar{margin:-12px -12px 12px;padding:8px 12px}.top-search-wrap{display:none}.user-chip{display:none}.top-actions{margin-left:auto}.page-heading h1{font-size:19px}.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-kpi>strong{font-size:18px}.goal-grid{grid-template-columns:1fr}.management-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-chart{height:180px}.chart-bars{height:140px}.top-actions .primary{padding:9px 10px;font-size:10px}}
.report-print-header{display:none;align-items:center;justify-content:space-between;border-bottom:2px solid #1268e8;padding:0 0 12px;margin-bottom:14px}.report-print-header>div{display:flex;flex-direction:column;gap:3px}.report-print-header strong{font-size:16px;color:#0b2d66}.report-print-header span{font-size:9px;color:#637694}.print-brand strong{font-size:20px;color:#1268e8}
@media print{.report-print-header{display:flex!important} @page{size:A4;margin:12mm} body{font-size:10px}.report-kpis{grid-template-columns:repeat(4,1fr)!important}.management-grid{grid-template-columns:1fr!important}.card{padding:10px!important}.kpi .value{font-size:16px!important}th,td{font-size:8px!important;padding:6px!important}.section-title h2{font-size:12px!important}}


/* FASE 1.21 — DASHBOARD PREMIUM CLEAN E RESPONSIVO */
#content{min-width:0;max-width:100%}.main,.card,.grid,.two-col,.dashboard-main-grid,.dashboard-lower-grid{min-width:0}
.executive-topline{display:flex!important;margin-bottom:12px}.dash-actions{display:flex;gap:8px}.secondary.mini{padding:7px 10px;font-size:9px;white-space:nowrap}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.72fr) minmax(280px,.82fr);gap:14px;margin-top:14px}.dashboard-chart-card,.dashboard-side-card{min-height:286px}.dashboard-chart-card .executive-chart{height:188px}.dashboard-side-card{display:flex;flex-direction:column}.dashboard-mix{display:grid;gap:18px;margin-top:14px}.dash-mix-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.dash-mix-row strong{color:var(--text);font-size:11px}.dash-mix-track{height:8px;background:#edf3fb;border-radius:99px;margin-top:8px;overflow:hidden}.dash-mix-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1268e8,#54a8ff)}.dashboard-total{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);display:flex;justify-content:space-between}.dashboard-total span{font-size:10px;color:var(--muted)}.dashboard-total strong{font-size:18px}
.agenda-mini-list{display:grid;gap:7px}.agenda-mini-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border-radius:10px;background:#f8fbff;border:1px solid #edf2f8}.agenda-mini-item time{font-weight:800;color:#1268e8;font-size:11px}.agenda-mini-item div{min-width:0}.agenda-mini-item strong,.agenda-mini-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-mini-item strong{font-size:10px}.agenda-mini-item div span{font-size:9px;color:var(--muted);margin-top:2px}.agenda-mini-item>.badge{font-size:8px}
.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(300px,.9fr);gap:14px;margin-top:14px}.activity-list,.profit-list{display:grid;gap:4px}.activity-item{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #edf2f8}.activity-item:last-child{border-bottom:0}.activity-item>i{width:8px;height:8px;border-radius:50%;background:#1268e8;margin-top:5px}.activity-item.money>i{background:#18a66b}.activity-item.expense>i{background:#ef5350}.activity-item strong{font-size:10px}.activity-item p{margin:2px 0;font-size:9px;color:#38506f}.activity-item small{font-size:8px;color:var(--muted)}.profit-item{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #edf2f8}.profit-item:last-child{border-bottom:0}.profit-item b{width:23px;height:23px;border-radius:8px;background:#eaf3ff;color:#1268e8;display:grid;place-items:center;font-size:10px}.profit-item strong,.profit-item span{display:block}.profit-item strong{font-size:10px}.profit-item span{font-size:8px;color:var(--muted);margin-top:2px}.profit-item em{font-style:normal;font-weight:800;color:#18a66b;font-size:10px}.finance-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finance-mini-grid>div{padding:11px;border:1px solid #e5edf7;border-radius:10px;background:#fbfdff}.finance-mini-grid span,.finance-mini-grid strong{display:block}.finance-mini-grid span{font-size:8px;color:var(--muted);margin-bottom:4px}.finance-mini-grid strong{font-size:13px}.dashboard-alerts{margin-top:14px;grid-template-columns:repeat(5,minmax(0,1fr))}.quick-actions-panel{margin-top:14px}.quick-actions-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.quick-action{border:1px solid #dce7f5;background:#fff;color:#19375e;border-radius:10px;padding:11px 7px;font-size:9px;font-weight:800}.quick-action:hover{border-color:#91bfff;background:#f4f9ff;color:#0757d6}.compact-empty{padding:18px 8px!important}.goals-panel{margin-top:14px}
.executive-kpi{min-width:0}.executive-kpi>span:first-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.executive-kpi>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.executive-kpis{min-width:0}.card{overflow:hidden}.table-wrap,.responsive-table{overflow-x:auto;overscroll-behavior-inline:contain}body{overflow-x:hidden!important}.main{width:100%;box-sizing:border-box}.topbar{box-sizing:border-box}.page-heading{min-width:0}
@media(max-width:1320px){.dashboard-main-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,.75fr)}.dashboard-main-grid>.dashboard-side-card:last-child{grid-column:1/-1;min-height:auto}.agenda-mini-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-vision{grid-column:1/-1}.dashboard-alerts{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.dashboard-main-grid,.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-main-grid>.dashboard-side-card:last-child,.finance-vision{grid-column:auto}.agenda-mini-list{grid-template-columns:1fr}.dashboard-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.executive-topline{flex-direction:column;align-items:stretch}.dash-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-main-grid,.dashboard-lower-grid{gap:10px}.dashboard-chart-card,.dashboard-side-card{min-height:auto}.dashboard-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-mini-grid{grid-template-columns:1fr 1fr}.agenda-mini-item{grid-template-columns:42px minmax(0,1fr)}.agenda-mini-item>.badge{grid-column:2}.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-kpi>strong{font-size:17px}}

/* V1.22.5 — IDENTIDADE VISUAL NEXT OS OFICIAL */
.brand-official-login{display:block!important;border:0!important;padding:0!important;margin:0 auto 18px!important;text-align:center}
.brand-logo-full{display:block;width:min(100%,360px);height:auto;margin:0 auto;border-radius:18px;box-shadow:0 18px 44px rgba(0,52,120,.18)}
.brand-official-sidebar{gap:10px;min-height:64px}
.brand-logo-icon{width:50px;height:50px;object-fit:cover;border-radius:14px;box-shadow:0 8px 24px rgba(0,154,255,.28);flex:0 0 auto}
.brand-official-sidebar strong{font-size:18px;letter-spacing:.8px;color:#fff}
.brand-official-sidebar small{font-size:9px;color:#bfe5ff;letter-spacing:.8px}
@media(max-width:980px){.brand-official-sidebar{justify-content:center}.brand-logo-icon{width:48px;height:48px}.brand-official-sidebar>div{display:none!important}}
@media(max-width:680px){.brand-official-sidebar{display:none!important}.brand-logo-full{width:min(100%,290px)}}

/* V1.22.7 — Identidade visual unificada NEXT OS */
.brand-logo-icon{width:58px;height:58px;border-radius:16px}
.brand-official-sidebar{min-height:76px;padding-top:6px;padding-bottom:16px}
.brand-official-sidebar strong{font-size:19px}.brand-official-sidebar small{font-size:9.5px}
.report-print-header .print-brand{display:flex;flex-direction:row;align-items:center;gap:8px}
.report-print-header .print-brand img{width:38px;height:38px;border-radius:9px;object-fit:cover}
.report-print-header .print-brand>div{display:flex;flex-direction:column;gap:2px}
@media(max-width:980px){.brand-logo-icon{width:52px;height:52px}}
 .inline-input{display:flex;gap:8px;align-items:center}.inline-input input{flex:1}.inline-input button{white-space:nowrap}

/* ===== V5.0 — NFS-e e segurança ===== */
.link-button{background:none;border:0;padding:6px 0;color:#0757d6;font-weight:700;text-decoration:underline;cursor:pointer;font-size:12px}
.login-card .link-button{display:block;margin:10px auto 0}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}
a.button-link.primary{color:#fff}
a.button-link.secondary{color:#213654;border:1px solid #d7e3f2}
.danger-notice{background:#fff1f0;border-color:#f5b5ae;color:#7a1d14}
.form-errors:empty{display:none}
.form-errors{margin-top:14px;background:#fff1f0;border:1px solid #f5b5ae;border-radius:10px;padding:10px 14px;color:#7a1d14;font-weight:700;font-size:13px}
.form-errors ul{margin:0;padding-left:18px}
.form-errors li{margin:3px 0}
.muted{color:#64748b;font-size:11px}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.checklist li{padding:9px 11px;border-radius:9px;font-size:13px;font-weight:700;border:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.checklist li.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.checklist li.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.checklist li.bad{background:#fff1f0;border-color:#f5b5ae;color:#991b1b}
.nfse-mini{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px dashed #d7e3f2;font-size:13px}
.nfse-mini > div{flex:1;min-width:180px}
.nfse-mini .badge{margin-top:0}
.nfse-summary{margin-top:12px}
@media (max-width:700px){.nfse-mini > div{min-width:100%}}
