:root{--navy:#0f172a;--navy2:#18233b;--accent:#2563eb;--bg:#f3f6fa;--card:#fff;--text:#172033;--muted:#64748b;--border:#dbe3ec;--success:#0f766e;--danger:#b91c1c}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent)}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:var(--navy);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand,.login-brand{display:flex;align-items:center;gap:12px}.brand{margin-bottom:30px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:23px;font-weight:800}.brand strong{font-size:18px}.brand small,.topbar small,.user-chip small{display:block;color:#94a3b8;margin-top:2px}.sidebar nav{display:grid;gap:6px}.sidebar nav a,.sidebar nav span{padding:11px 12px;border-radius:9px;color:#dbeafe;text-decoration:none;display:flex;justify-content:space-between}.sidebar nav a:hover,.sidebar nav a.active{background:var(--navy2);color:#fff}.sidebar .disabled{opacity:.55}.sidebar em{font-size:10px;font-style:normal}.sidebar form{margin-top:auto}.logout{width:100%;background:transparent;color:#e2e8f0;border:1px solid #334155;border-radius:9px;padding:10px;cursor:pointer}.content-area{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.user-chip{display:flex;align-items:center;gap:9px}.user-chip>span{width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:700}.main-content{padding:28px;max-width:1500px;margin:auto}.hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff,#eef4ff);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:20px}.hero h1{margin:0 0 8px;font-size:24px}.hero p{margin:0;color:var(--muted)}.status-badge{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric-card,.panel{background:var(--card);border:1px solid var(--border);border-radius:14px}.metric-card{padding:18px}.metric-card small,.metric-card span{color:var(--muted)}.metric-card strong{display:block;font-size:30px;margin:8px 0}.metric-card span{font-size:13px}.panel{padding:22px;margin-top:20px}.panel h2{margin-top:0}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;color:#334155}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dbeafe,transparent 40%),var(--bg)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:30px;box-shadow:0 20px 60px rgba(15,23,42,.10)}.login-brand{margin-bottom:24px}.login-brand h1{margin:0}.login-brand p{margin:5px 0 0;color:var(--muted)}label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}input{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;font:inherit}input:focus{outline:3px solid #dbeafe;border-color:var(--accent)}.remember{display:flex;align-items:center;gap:8px;font-weight:400}.remember input{width:auto}.primary{width:100%;border:0;border-radius:9px;background:var(--accent);color:#fff;padding:12px;font-weight:700;cursor:pointer;margin-top:8px}.helper{display:block;margin-top:18px;color:var(--muted);line-height:1.5}.flash-stack{display:grid;gap:8px;margin-bottom:16px}.flash{padding:11px 13px;border-radius:9px;border:1px solid}.flash.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.flash.danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.flash.warning,.flash.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.error-page{text-align:center}.error-page h1{font-size:64px;margin:0}.error-page p{color:var(--muted)}@media(max-width:900px){.app-shell{grid-template-columns:190px 1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.app-shell{display:block}.sidebar{min-height:auto}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar form{margin-top:18px}.topbar{padding:0 16px}.main-content{padding:16px}.metric-grid,.check-grid{grid-template-columns:1fr}.hero{align-items:flex-start;gap:16px}.user-chip div{display:none}}

/* Sprint 3 — Chamados */
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{font-size:28px;margin:0 0 6px}.page-heading p{margin:0;color:var(--muted)}.back-link{display:inline-block;margin-bottom:10px;text-decoration:none}.filter-panel{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:18px}.filter-panel label{margin:0;color:#334155}.filter-panel input,.filter-panel select{margin-top:6px}.filter-panel select{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;background:#fff;font:inherit}.filter-actions{display:flex;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:11px 15px;text-decoration:none;border:1px solid transparent;font-weight:700;cursor:pointer;white-space:nowrap}.primary-inline{background:var(--accent);color:#fff}.secondary{background:#fff;color:#334155;border-color:#cbd5e1}.table-panel{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.data-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:1050px}.data-table th{background:#f8fafc;color:#475569;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:13px 14px;border-bottom:1px solid var(--border)}.data-table td{padding:13px 14px;border-bottom:1px solid #edf2f7;font-size:14px}.data-table tbody tr:hover{background:#f8fbff}.table-link{font-weight:700;text-decoration:none}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:700;white-space:nowrap}.status-aberto,.status-aberta{background:#dbeafe;color:#1d4ed8}.status-pendencia,.status-pendência{background:#fef3c7;color:#92400e}.status-finalizado,.status-finalizada{background:#d1fae5;color:#065f46}.status-pago,.status-paga{background:#ede9fe;color:#5b21b6}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#f8fafc}.pagination a{text-decoration:none;font-weight:700}.empty-state{text-align:center;padding:70px 20px}.empty-state strong{font-size:18px}.empty-state p,.muted{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.detail-card{margin-top:0;margin-bottom:18px}.detail-card h2{font-size:18px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-grid small,.long-field small,.part-row small,.finance-grid small{display:block;color:var(--muted);margin-bottom:5px}.copyable{user-select:text;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:9px 10px;min-height:39px}.multiline{white-space:pre-wrap;min-height:80px}.long-field{margin-top:16px}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.finance-grid>div{border:1px solid #e2e8f0;border-radius:10px;padding:14px}.finance-grid strong{font-size:19px}.parts-list{display:grid;gap:10px}.part-row{display:grid;grid-template-columns:32px 160px minmax(280px,1fr) 100px auto;gap:12px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:10px}.part-number{width:28px;height:28px;border-radius:50%;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:800}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center}.timeline-item>span{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}.timeline-item p{margin:4px 0 0;color:var(--muted)}.timeline-values{text-align:right;color:#475569;font-size:13px}.quick-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.quick-actions h2,.notice p{margin-bottom:5px}.quick-actions p,.notice p{color:var(--muted)}.notice{border-left:4px solid #f59e0b}@media(max-width:1100px){.filter-panel{grid-template-columns:1fr 1fr}.search-wide{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}}@media(max-width:700px){.filter-panel,.field-grid,.finance-grid{grid-template-columns:1fr}.part-row{grid-template-columns:32px 1fr}.part-description{grid-column:2}.quick-actions{align-items:flex-start;flex-direction:column}}

/* Sprint 4 — Estoque */
.heading-actions,.form-actions,.section-title{display:flex;align-items:center;gap:10px}.stock-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.stock-search{display:flex;align-items:end;gap:10px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:18px}.stock-search label{margin:0;flex:1}.stock-search input{margin-top:6px}.stock-table{min-width:1100px}.quantity-pill{display:inline-flex;min-width:42px;justify-content:center;border-radius:999px;padding:5px 10px;background:#dcfce7;color:#166534;font-weight:800}.quantity-pill.zero{background:#f1f5f9;color:#64748b}.availability{display:inline-flex;align-items:center;justify-content:center;min-width:48px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.availability.available{background:#dcfce7;color:#166534}.availability.unavailable{background:#fee2e2;color:#991b1b}.tech-chips{display:flex;flex-wrap:wrap;gap:6px}.tech-chips span,.movement-type{display:inline-flex;border-radius:999px;padding:5px 8px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700}.section-title{justify-content:space-between}.section-title h2{margin-bottom:4px}.section-title p{margin:0;color:var(--muted)}.movement-list{display:grid}.movement-list article{display:grid;grid-template-columns:minmax(0,1fr) 220px 60px;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2f7}.movement-list article:last-child{border-bottom:0}.movement-list article>div:first-child span,.movement-list small,.table-subtitle{display:block;color:var(--muted);margin-top:4px}.movement-form{max-width:980px;margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{margin:0}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;background:#fff;font:inherit}.form-grid textarea{resize:vertical}.wide{grid-column:1/-1}.form-actions{justify-content:flex-end;margin-top:22px}.movement-table{min-width:1250px}.pagination>div{display:flex;gap:18px}@media(max-width:1000px){.stock-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.heading-actions,.stock-search{align-items:stretch;flex-direction:column}.stock-metrics,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.movement-list article{grid-template-columns:1fr auto}.movement-list article>div:nth-child(2){grid-row:2}.form-actions{align-items:stretch;flex-direction:column-reverse}}
.finance-summary-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.summary-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}.summary-card small,.summary-card span{display:block;color:var(--muted)}.summary-card strong{display:block;font-size:24px;margin:10px 0 7px}.profit-card strong{color:#166534}.financial-filter-panel{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(4,minmax(135px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:18px}.financial-filter-panel label{margin:0;color:#334155}.financial-filter-panel input,.financial-filter-panel select{width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:9px;padding:10px 11px;background:#fff;font:inherit}.financial-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.financial-table{min-width:920px}.table-subtext{display:block;color:var(--muted);margin-top:4px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.technician-summary{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;align-self:start}.technician-summary h2{margin:0 0 4px;font-size:18px}.technician-payment-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf2f7}.technician-payment-row small{display:block;color:var(--muted);margin-top:3px}.rules-box{display:grid;gap:7px;background:#f8fafc;border-radius:10px;padding:13px;margin-top:16px;font-size:13px}.rules-box span{color:#475569}.pagination>div{display:flex;align-items:center;gap:16px}@media(max-width:1250px){.finance-summary-cards{grid-template-columns:repeat(3,1fr)}.financial-filter-panel{grid-template-columns:repeat(3,1fr)}.search-wide{grid-column:1/-1}.financial-layout{grid-template-columns:1fr}.technician-summary{order:-1}}@media(max-width:700px){.finance-summary-cards,.financial-filter-panel{grid-template-columns:1fr}}

/* Sprint 6 — Dashboard inteligente e pesquisa global */
.topbar{gap:18px}.topbar-title{min-width:180px}.global-search{margin-left:auto;display:flex;align-items:center;width:min(460px,42vw);border:1px solid #cbd5e1;border-radius:10px;background:#fff;overflow:hidden}.global-search input{width:100%;border:0;outline:0;padding:10px 12px;font:inherit;background:transparent}.global-search button{border:0;background:transparent;padding:8px 13px;font-size:21px;color:#475569;cursor:pointer}.version-badge{display:inline-flex;align-items:center;border-radius:999px;background:#e0e7ff;color:#3730a3;padding:7px 11px;font-size:12px;font-weight:800}.priority-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.priority-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--border);border-top:4px solid #94a3b8;border-radius:14px;padding:16px;color:inherit;transition:.15s ease}.priority-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.08)}.priority-card span,.priority-card small{display:block;color:var(--muted)}.priority-card strong{display:block;font-size:28px;margin:8px 0 5px}.priority-card.warning{border-top-color:#f59e0b}.priority-card.danger{border-top-color:#ef4444}.priority-card.info{border-top-color:#3b82f6}.priority-card.attention{border-top-color:#8b5cf6}.priority-card.success{border-top-color:#10b981}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr);gap:18px}.dashboard-panel{margin:0}.section-title a{font-size:13px;font-weight:800;text-decoration:none}.priority-list{display:grid;margin-top:8px}.priority-list>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf2f7;text-decoration:none;color:inherit}.priority-list>a:last-child{border-bottom:0}.priority-list strong,.priority-list span{display:block}.priority-list> a > div:first-child span{color:var(--muted);margin-top:4px;font-size:13px}.priority-meta{text-align:right}.priority-meta small{display:block;color:var(--muted);margin-top:5px}.monthly-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 20px}.monthly-grid>div{border:1px solid #e2e8f0;border-radius:10px;padding:12px}.monthly-grid small{display:block;color:var(--muted);margin-bottom:6px}.monthly-grid strong{font-size:18px}.monthly-grid .profit{background:#ecfdf5;border-color:#a7f3d0}.monthly-grid .profit strong{color:#166534}.monthly-panel h3{font-size:15px;margin:0 0 4px}.ranking-list{display:grid}.ranking-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf2f7}.ranking-list>div:last-child{border-bottom:0}.ranking-list span,.ranking-list small{display:block}.ranking-list small{color:var(--muted);margin-top:3px}.shortcut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.shortcut-grid a{display:block;background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px;text-decoration:none;color:inherit}.shortcut-grid a:hover{border-color:#93c5fd;background:#f8fbff}.shortcut-grid strong,.shortcut-grid span{display:block}.shortcut-grid span{color:var(--muted);margin-top:5px;font-size:13px}.global-search-page{display:flex;gap:10px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:18px}.global-search-page input{flex:1;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;font:inherit}.search-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.search-result-list{display:grid}.search-result-list>a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #edf2f7;text-decoration:none;color:inherit}.search-result-list>a:last-child{border-bottom:0}.search-result-list span,.search-result-list small{display:block}.search-result-list small{color:var(--muted);margin-top:4px;line-height:1.35}.empty-inline{padding:22px 0;color:var(--muted);text-align:center}
@media(max-width:1200px){.priority-grid{grid-template-columns:repeat(3,1fr)}.dashboard-main-grid{grid-template-columns:1fr}.global-search{width:min(380px,38vw)}}
@media(max-width:800px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 16px}.global-search{order:3;width:100%}.priority-grid{grid-template-columns:1fr 1fr}.search-results-grid,.shortcut-grid{grid-template-columns:1fr}.dashboard-heading{align-items:flex-start}.monthly-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.priority-grid,.monthly-grid{grid-template-columns:1fr}.priority-list>a{align-items:flex-start}.priority-meta{min-width:100px}.global-search-page{flex-direction:column}}

/* Versão 3.3/3.4 — Relatórios, Rotas e Administração */
.report-filter{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:18px}.report-filter label,.route-filter label{margin:0}.report-filter select,.route-filter select,.admin-panel select,.user-admin-list select{width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:9px;padding:10px;background:#fff;font:inherit}.report-grid{display:grid;grid-template-columns:1fr;gap:18px}.report-panel{margin-top:0}.compact{min-width:760px}.compact th,.compact td{padding:10px 12px}.route-filter{display:flex;gap:12px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:18px}.route-filter input{margin-top:6px}.route-metrics{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.route-list{display:grid}.route-list article{display:grid;grid-template-columns:190px minmax(160px,1fr) 180px 130px auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #edf2f7}.route-list article:last-child{border-bottom:0}.route-city span,.route-numbers span,.route-money span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.route-bar{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.route-bar i{display:block;height:100%;background:#2563eb;border-radius:999px;min-width:3px}.route-money{text-align:right}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:18px}.admin-panel{margin-top:0}.user-admin-list{display:grid}.user-admin-list form{display:grid;grid-template-columns:minmax(150px,1fr) 130px 110px minmax(150px,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #edf2f7}.user-admin-list small{display:block;color:var(--muted);margin-top:3px}.user-admin-list input,.user-admin-list select{margin:0}.log-payload{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
@media(max-width:1200px){.report-filter{grid-template-columns:repeat(3,1fr)}.admin-grid{grid-template-columns:1fr}.route-list article{grid-template-columns:150px 1fr 160px auto}.route-money{display:none}}
@media(max-width:760px){.report-filter,.route-metrics{grid-template-columns:1fr}.route-filter{align-items:stretch;flex-direction:column}.route-list article{grid-template-columns:1fr auto}.route-bar{grid-column:1/-1}.route-numbers{grid-column:1}.route-list article>a{grid-column:2;grid-row:1}.user-admin-list form{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}}
/* Versão 4.0 — fluxo financeiro, pagamentos, peças e agenda */
.expanded-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.success-card strong{color:#166534}.warning-card strong{color:#92400e}.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-form{display:inline}.button.tiny{padding:7px 9px;font-size:12px}.paid-check{font-weight:800;color:#166534}.payment-aguardando_pagamento{background:#fef3c7;color:#92400e}.payment-pago{background:#d1fae5;color:#065f46}.payment-nao_pago{background:#e2e8f0;color:#334155}.technician-payment-block{border-bottom:1px solid #edf2f7;padding-bottom:10px}.pay-tech-form{display:flex;gap:8px;padding:0 0 10px}.pay-tech-form select,.workflow-bar select{border:1px solid #cbd5e1;border-radius:8px;padding:7px;background:#fff}.align-right{text-align:right}.workflow-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.workflow-bar>div:first-child span{display:block;color:var(--muted);margin-top:5px}.workflow-bar form{display:flex;gap:8px;align-items:center}.add-part-details{margin-top:16px;border-top:1px solid #e2e8f0;padding-top:14px}.add-part-details summary{cursor:pointer;font-weight:800}.part-usage-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.part-usage-form label{display:grid;gap:5px;color:#475569;font-size:13px}.part-usage-form input{border:1px solid #cbd5e1;border-radius:8px;padding:9px}.part-usage-form .wide{grid-column:span 2}.part-usage-form .check-label{display:flex;align-items:center;gap:8px}.part-usage-form .check-label input{width:auto}.used-part-row{grid-template-columns:32px 150px minmax(260px,1fr) 180px auto}.agenda-filter{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:18px;flex-wrap:wrap}.agenda-filter input,.agenda-filter select{border:1px solid #cbd5e1;border-radius:9px;padding:10px}.route-city-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.route-city-card{margin:0}@media(max-width:1250px){.expanded-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.expanded-cards,.route-city-grid,.part-usage-form{grid-template-columns:1fr}.part-usage-form .wide{grid-column:auto}.workflow-bar{align-items:flex-start;flex-direction:column}.used-part-row{grid-template-columns:32px 1fr}.used-part-row .part-description{grid-column:2}.heading-actions{align-items:stretch}}
.pending-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pending-grid>.panel{margin:0}@media(max-width:1100px){.pending-grid{grid-template-columns:1fr}}
.status-overview{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.status-overview a{background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px;text-decoration:none;color:inherit}.status-overview small{display:block;color:var(--muted)}.status-overview strong{display:block;font-size:24px;margin-top:5px}@media(max-width:1000px){.status-overview{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.status-overview{grid-template-columns:repeat(2,1fr)}}
/* Versão 4.1 — conferências salvas por print */
.conference-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.conference-grid>.panel{margin:0}.drop-zone{min-height:240px;border:2px dashed #94a3b8;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#f8fafc;text-align:center;padding:24px}.drop-zone.dragging{border-color:#2563eb;background:#eff6ff}.drop-zone small,.drop-zone span{color:var(--muted)}.image-preview-wrap{margin-top:14px;text-align:center}.image-preview-wrap img{max-width:100%;max-height:430px;border-radius:10px;border:1px solid var(--border)}.ocr-progress{margin-top:14px}.ocr-progress>div{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden}.ocr-progress i{display:block;height:100%;width:0;background:#2563eb;transition:width .2s}.ocr-progress span{display:block;margin-top:7px;color:var(--muted);font-size:13px}.conference-textarea{width:100%;min-height:300px;border:1px solid #cbd5e1;border-radius:10px;padding:12px;font:inherit;resize:vertical}.info-panel{background:#eff6ff;border-color:#bfdbfe}.conference-metrics{margin-bottom:18px}.exception-panel{border-left:4px solid #f59e0b}.exception-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.exception-grid>div{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px}.exception-grid strong,.exception-grid span{display:block}.exception-grid span{margin-top:5px;color:#78350f}.conference-save-bar{position:sticky;bottom:12px;display:flex;align-items:end;gap:14px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;margin-top:18px;box-shadow:0 12px 35px rgba(15,23,42,.12)}.conference-save-bar label{flex:1;margin:0}.conference-status-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.conference-status-tabs a{padding:8px 12px;border:1px solid var(--border);border-radius:999px;text-decoration:none;color:#334155;background:#fff;font-weight:700;font-size:13px}.conference-status-tabs a.active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.conference-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.conference-aguardando_pagamento{background:#fef3c7;color:#92400e}.conference-pago{background:#d1fae5;color:#065f46}.conference-cancelado{background:#e2e8f0;color:#475569}.conference-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.conference-detail-grid>.panel{margin:0}.conference-tech-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f7}.conference-actions{display:flex;align-items:end;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-top:18px}.confirm-payment-form{display:flex;gap:10px;align-items:end}.confirm-payment-form label{margin:0}.confirm-payment-form select{border:1px solid #cbd5e1;border-radius:9px;padding:10px;background:#fff}.success-panel{background:#ecfdf5;border-color:#a7f3d0;color:#166534}@media(max-width:900px){.conference-grid,.conference-detail-grid{grid-template-columns:1fr}.exception-grid{grid-template-columns:1fr}.conference-actions,.confirm-payment-form{flex-direction:column;align-items:stretch}.conference-save-bar{position:static;flex-direction:column;align-items:stretch}}

.mirror-banner{display:flex;gap:12px;align-items:center;padding:10px 14px;margin-bottom:16px;border:1px solid rgba(80,120,170,.25);border-radius:10px;background:rgba(80,120,170,.08);font-size:13px}.mirror-banner strong{white-space:nowrap}.mirror-banner span{opacity:.8}

/* ======================================================================
   Interface Novaryn Control — 2026-08-08
   Espelha a identidade visual do aplicativo desktop sem alterar regras.
   ====================================================================== */
:root{
  --navy:#161D33;
  --navy2:#1C2540;
  --accent:#1697FF;
  --bg:#0F1424;
  --card:#161D33;
  --text:#F3F6FC;
  --muted:#AEB8CF;
  --border:#25304F;
  --success:#2CB67D;
  --warning:#F6C85F;
  --danger:#EF5B5B;
  --violet:#8B7CFF;
  --orange:#F97316;
  --input:#11182B;
}
html{background:var(--bg)}
body{background:var(--bg);color:var(--text);font-family:"Segoe UI",Inter,Arial,sans-serif}
a{color:#63B8FF}
.app-shell{grid-template-columns:235px minmax(0,1fr);background:var(--bg)}
.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);padding:0 10px 10px;border-right:1px solid #202A47;overflow:hidden}
.control-brand{height:182px;margin:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;padding-top:14px;text-align:center}
.brand-logo{width:auto;max-width:180px;height:auto;max-height:112px;object-fit:contain;display:block;margin-bottom:5px}
.control-brand strong{font-size:17px;letter-spacing:.015em;color:var(--text);line-height:1.25}
.control-brand .web-sync-caption{color:var(--muted);font-size:11px;margin-top:8px;letter-spacing:.15em}
.control-menu{display:block!important;height:calc(100vh - 250px);overflow-y:auto;padding:0 3px 8px;scrollbar-width:thin;scrollbar-color:#405071 transparent}
.control-menu::-webkit-scrollbar{width:8px}.control-menu::-webkit-scrollbar-thumb{background:#405071;border-radius:10px}.control-menu::-webkit-scrollbar-thumb:hover{background:#59698D}
.sidebar nav .menu-group{display:block;padding:15px 7px 4px!important;color:#7B87A8!important;font-size:10px;font-weight:800;letter-spacing:.06em;opacity:1!important}
.sidebar nav a,.sidebar nav .disabled{min-height:40px;margin:2px 0;padding:10px 10px;border-radius:8px;color:#F0F4FF;text-decoration:none;display:flex;align-items:center;justify-content:flex-start;gap:10px;font-size:13px;font-weight:700;transition:background .12s ease,color .12s ease}
.sidebar nav a b,.sidebar nav .disabled b{display:inline-flex;align-items:center;justify-content:center;width:22px;min-width:22px;color:#D6DFFF;font-size:15px}
.sidebar nav a:hover,.sidebar nav a.active{background:var(--navy2);color:#fff}
.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--accent)}
.sidebar nav .disabled{opacity:.48}.sidebar nav .disabled em{margin-left:auto;color:#7B87A8;font-size:9px}
.sidebar-footer{margin-top:auto;padding-top:5px}.sidebar-footer form{margin:0}.sidebar-footer>small{display:block;text-align:center;color:#66718C;font-size:10px;padding:9px 0 0}
.logout{background:#1C2540;color:#DCE5FA;border:1px solid #364266;border-radius:8px;padding:9px}.logout:hover{background:#25304F}
.content-area{background:var(--bg)}
.topbar{height:76px;background:#11182B;border-bottom:1px solid var(--border);padding:0 28px;color:var(--text)}
.topbar-title strong{font-size:17px}.brand small,.topbar small,.user-chip small{color:#7B87A8}
.global-search{background:#161D33;border-color:#2B385C}.global-search input{background:transparent!important;color:var(--text)!important;border:0!important}.global-search input::placeholder{color:#75819F}.global-search input:focus{outline:0!important}.global-search button{color:#DCE5FA;background:transparent}
.user-chip>span{background:#1C3B61;color:#63B8FF;border:1px solid #285886}.user-chip{color:var(--text)}
.main-content{background:var(--bg);padding:24px 28px;max-width:none}
.page-heading h1,.dashboard-heading h1,.hero h1,.panel h2,.panel h3,.login-card h1{color:var(--text)}
.page-heading p,.dashboard-heading p,.hero p,.helper,.empty-state p{color:var(--muted)}
.hero,.metric-card,.panel,.filter-panel,.table-panel,.route-filter,.agenda-filter,.conference-actions,.conference-save-bar,.status-overview a{background:var(--card);border-color:var(--border);box-shadow:none}
.hero{background:var(--card)}
.metric-card{border:1px solid var(--border);border-radius:14px;padding:18px}.metric-card small,.metric-card span{color:var(--muted)}.metric-card strong{color:var(--text)}
.status-badge{background:#163B5D;color:#64BCFF}
label,.filter-panel label,.part-usage-form label{color:#C9D3E9}
input,select,textarea,.filter-panel select,.report-filter select,.route-filter select,.admin-panel select,.user-admin-list select,.pay-tech-form select,.workflow-bar select,.confirm-payment-form select,.conference-textarea,.part-usage-form input,.agenda-filter input,.agenda-filter select{background:#11182B!important;color:var(--text)!important;border-color:#364266!important}
input::placeholder,textarea::placeholder{color:#74809B}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(22,151,255,.25)!important;border-color:var(--accent)!important}
.button,.primary{border-radius:8px}.primary,.primary-inline{background:var(--accent);color:#fff}.primary:hover,.primary-inline:hover{background:#0878D1}.secondary{background:#364266;color:#F3F6FC;border-color:#46557F}.secondary:hover{background:#46557F}
.table-panel{overflow:hidden}.data-table{color:var(--text)}.data-table th{background:#1C2640;color:#D8E2FF;border-color:#2A3555}.data-table td{border-color:#232E4B;color:#E6ECFF}.data-table tbody tr:nth-child(odd){background:#151E33}.data-table tbody tr:nth-child(even){background:#121A2C}.data-table tbody tr:hover{background:#1D2945}.pagination{background:#11182B;border-top:1px solid var(--border);color:var(--muted)}
.table-link{color:#63B8FF}.status{background:#364266;color:#DDE5F6}.status-aberto,.status-aberta{background:#12395B;color:#64BCFF}.status-pendencia,.status-pendência{background:#4A3B14;color:#F6C85F}.status-finalizado,.status-finalizada{background:#173B31;color:#5AD6A1}.status-pago,.status-paga{background:#342E5B;color:#B7AAFF}
.payment-aguardando_pagamento,.conference-aguardando_pagamento{background:#4A3B14;color:#F6C85F}.payment-pago,.conference-pago{background:#173B31;color:#5AD6A1}.payment-nao_pago,.conference-cancelado{background:#303A56;color:#CAD3E7}
.check-grid{color:#D1DBED}.empty-state{color:var(--muted)}
.flash.success{background:#14382D;border-color:#255C49;color:#75E0B0}.flash.danger{background:#421F29;border-color:#703342;color:#FF9AA6}.flash.warning,.flash.info{background:#18324C;border-color:#28557E;color:#8BCBFF}
.mirror-banner{background:#162A43;border-color:#28537D;color:#D7E9FF}.mirror-banner span{color:#AFC4DD}
.priority-card,.monthly-card,.dashboard-panel,.shortcut-card,.search-result-card{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}.priority-card span,.monthly-card span,.dashboard-panel p,.shortcut-card span{color:var(--muted)!important}
.priority-list>a{border-color:#273250!important;color:var(--text)!important}.priority-list>a:hover{background:#1B2742!important}.priority-meta{color:var(--muted)!important}
.route-list article,.user-admin-list form,.technician-payment-block,.conference-tech-row{border-color:#28324F}.route-bar,.ocr-progress>div{background:#28334E}.route-bar i,.ocr-progress i{background:var(--accent)}
.drop-zone{background:#11182B;border-color:#405071;color:var(--text)}.drop-zone.dragging{background:#142B46;border-color:var(--accent)}.info-panel{background:#142B46;border-color:#28537D}.exception-panel{border-left-color:var(--warning)}.exception-grid>div{background:#3D3217;border-color:#665424}.exception-grid span{color:#F1D993}.success-panel{background:#14382D;border-color:#255C49;color:#75E0B0}
.auth-page{background:radial-gradient(circle at top left,#162B48,transparent 42%),var(--bg)}.login-card{background:var(--card);border-color:var(--border);box-shadow:0 24px 70px rgba(0,0,0,.35)}.login-brand{justify-content:center}.login-brand .brand-mark{background:var(--accent)}
.report-filter{background:var(--card);border-color:var(--border)}
.log-payload{color:var(--muted)}
@media(max-width:900px){.app-shell{grid-template-columns:205px 1fr}.sidebar{padding-left:8px;padding-right:8px}.brand-logo{max-width:155px}.control-brand strong{font-size:15px}}
@media(max-width:650px){.app-shell{display:block}.sidebar{position:relative;height:auto;min-height:auto;padding-bottom:12px}.control-brand{height:145px}.brand-logo{max-height:82px}.control-menu{height:auto;max-height:none;display:grid!important;grid-template-columns:1fr 1fr}.sidebar nav .menu-group{grid-column:1/-1}.sidebar-footer{margin-top:12px}.topbar{background:#11182B}.main-content{padding:16px}}


/* ======================================================================
   Refinamento visual Control — 2026-08-08
   Ajustes de densidade, tipografia, cartões e cabeçalho para aproximar o
   navegador da experiência desktop. Somente apresentação; sem regras.
   ====================================================================== */
:root{
  --bg:#11182B;
  --navy:#161D33;
  --navy2:#1D2742;
  --card:#18213A;
  --card-elevated:#1B2642;
  --border:#2A3657;
  --text:#F4F7FF;
  --muted:#A8B3CB;
  --accent:#1697FF;
}
body{font-weight:500;letter-spacing:.002em}
.app-shell{grid-template-columns:220px minmax(0,1fr)}
.sidebar{background:#151D33;border-right:1px solid #253150;padding:0 9px 10px}
.control-brand{height:168px;padding-top:12px}
.brand-logo{max-width:170px;max-height:108px;margin-bottom:6px}
.control-brand strong{font-size:16px;font-weight:800;letter-spacing:.025em}
.control-menu{height:calc(100vh - 229px)}
.sidebar nav .menu-group{padding:13px 8px 4px!important;color:#8290B2!important;font-size:9px;letter-spacing:.09em}
.sidebar nav a,.sidebar nav .disabled{min-height:39px;margin:1px 0;padding:9px 9px;border-radius:7px;font-size:13px;font-weight:700;gap:8px}
.sidebar nav a b,.sidebar nav .disabled b{width:25px;min-width:25px;font-size:17px;font-weight:800}
.sidebar nav a.active{background:#202B49;box-shadow:inset 3px 0 0 var(--accent),0 1px 0 rgba(255,255,255,.02)}
.sidebar nav a:hover{background:#1D2946}
.sidebar-footer>small{letter-spacing:.08em;font-size:9px;color:#687696}
.logout{font-weight:700}

.topbar{height:70px;background:#121A2D;border-bottom:1px solid #283452;padding:0 24px;gap:16px;box-shadow:0 1px 0 rgba(0,0,0,.12)}
.topbar-title{min-width:170px}.topbar-title strong{font-size:16px;font-weight:800}.topbar-title small{font-size:9px;letter-spacing:.12em;margin-top:4px}
.global-search{width:min(470px,43vw);height:42px;border-radius:8px;background:#18213A;border:1px solid #304064;box-shadow:inset 0 1px 0 rgba(255,255,255,.015)}
.global-search input{font-size:14px;font-weight:500;padding:9px 12px!important}.global-search button{font-size:20px;padding:7px 12px}
.user-chip{padding-left:4px}.user-chip>span{width:36px;height:36px;font-size:14px}.user-chip>div{font-size:14px;font-weight:700}.user-chip small{font-size:10px;letter-spacing:.04em}

.main-content{padding:23px 28px 32px;background:var(--bg)}
.page-heading{margin-bottom:18px}.page-heading h1,.dashboard-heading h1{font-size:27px;line-height:1.12;font-weight:800;letter-spacing:-.02em}.page-heading p,.dashboard-heading p{font-size:14px;margin-top:6px}
.mirror-banner{border-radius:8px;margin-bottom:20px;padding:9px 13px;background:#17304D;border-color:#2A5A88;box-shadow:inset 3px 0 0 #289FFF}.mirror-banner strong{font-size:12px}.mirror-banner span{font-size:12px}

/* Todos os cartões ficam escuros, compactos e com profundidade semelhante ao desktop. */
.metric-card,.panel,.filter-panel,.table-panel,.route-filter,.agenda-filter,.conference-actions,.conference-save-bar,
.status-overview a,.summary-card,.financial-filter-panel,.technician-summary,.stock-search,.global-search-page,
.shortcut-grid a,.monthly-grid>div,.finance-grid>div,.copyable,.rules-box{
  background:var(--card)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}
.panel,.table-panel,.metric-card,.summary-card,.filter-panel,.stock-search,.financial-filter-panel,.technician-summary,
.shortcut-grid a,.status-overview a{border-radius:10px;box-shadow:0 4px 14px rgba(3,8,20,.16),inset 0 1px 0 rgba(255,255,255,.018)}
.panel{padding:19px}.metric-card,.summary-card{padding:16px}
.metric-card strong,.summary-card strong{font-weight:800;letter-spacing:-.02em}
.summary-card small,.summary-card span,.metric-card small,.metric-card span{color:var(--muted)!important}
.summary-card strong{color:var(--text)}
.success-card strong,.profit-card strong{color:#54D59A!important}.warning-card strong{color:#F0A158!important}

.priority-grid{gap:12px;margin-bottom:18px}.priority-card{min-height:120px;border-radius:10px!important;padding:15px!important;background:var(--card)!important;border:1px solid var(--border)!important;border-top:3px solid #60708F!important;box-shadow:0 4px 14px rgba(3,8,20,.16)}
.priority-card:hover{transform:translateY(-1px);background:var(--card-elevated)!important;box-shadow:0 7px 18px rgba(3,8,20,.23)}
.priority-card.warning{border-top-color:#F59E0B!important}.priority-card.danger{border-top-color:#EF5350!important}.priority-card.info{border-top-color:#4388F5!important}.priority-card.attention{border-top-color:#8B5CF6!important}.priority-card.success{border-top-color:#20B486!important}
.priority-card span{font-size:14px}.priority-card strong{font-size:29px;font-weight:800;margin:9px 0 5px}.priority-card small{font-size:12px;color:var(--muted)!important}
.finance-summary-cards{gap:12px}.dashboard-cash .summary-card{min-height:142px}.dashboard-cash .summary-card small{font-size:12px}.dashboard-cash .summary-card strong{font-size:23px;margin:11px 0 7px}.dashboard-cash .summary-card span{font-size:13px;line-height:1.45}
.status-overview{gap:10px}.status-overview a{padding:12px 13px;transition:.12s ease}.status-overview a:hover,.shortcut-grid a:hover{background:var(--card-elevated)!important;border-color:#3A4C76!important}.status-overview small{color:var(--muted)}.status-overview strong{font-size:23px;font-weight:800}
.dashboard-main-grid{gap:16px}.dashboard-panel{background:var(--card)!important}.dashboard-panel h2{font-weight:800}.monthly-grid>div{border-radius:8px;padding:11px}.monthly-grid .profit{background:#17352F!important;border-color:#285B4B!important}.monthly-grid .profit strong{color:#54D59A!important}.ranking-list>div,.priority-list>a,.conference-tech-row,.technician-payment-row{border-color:#293554!important}
.shortcut-grid{gap:12px}.shortcut-grid a{border-radius:9px!important;padding:15px}.shortcut-grid strong{font-weight:800}.shortcut-grid span{color:var(--muted)!important}

/* Tabelas com densidade semelhante à grade do Control. */
.data-table th{font-size:11px;font-weight:800;letter-spacing:.045em;padding:11px 12px;background:#202B47!important}.data-table td{padding:11px 12px;font-size:13px}.data-table tbody tr:nth-child(odd){background:#171F35}.data-table tbody tr:nth-child(even){background:#141C30}.data-table tbody tr:hover{background:#202B49}.table-panel{box-shadow:0 4px 14px rgba(3,8,20,.14)}

/* Botões, campos e badges menos "web" e mais próximos dos controles desktop. */
.button,.primary,.secondary,.logout,input,select,textarea,.status,.availability,.quantity-pill{border-radius:7px!important}
.button,.primary,.secondary{font-weight:700;box-shadow:none}.primary,.primary-inline{background:#168FEF}.primary:hover,.primary-inline:hover{background:#0D7DCE}.secondary{background:#273452!important;border-color:#3A4A70!important}.status,.availability,.quantity-pill{font-weight:800}

/* Login na mesma identidade do aplicativo. */
.auth-page{background:radial-gradient(circle at 20% 0,#182D4C,transparent 36%),#10172A}.login-card{border-radius:12px;box-shadow:0 22px 65px rgba(0,0,0,.38)}

@media(max-width:900px){.app-shell{grid-template-columns:195px 1fr}.control-brand{height:155px}.brand-logo{max-width:150px}.control-menu{height:calc(100vh - 216px)}.main-content{padding:20px}.priority-card{min-height:auto}}
@media(max-width:650px){.app-shell{display:block}.control-brand{height:138px}.control-menu{height:auto}.topbar{padding:10px 14px;min-height:68px}.main-content{padding:14px}.global-search{height:40px}}


/* Refinamento visual v4 — acabamento desktop, sem alterar regras de negócio. */
@media(min-width:901px){
  .app-shell{grid-template-columns:212px minmax(0,1fr)}
  .sidebar{padding-left:8px;padding-right:8px}
  .control-brand{height:164px;padding-top:8px}
  .brand-logo{max-width:184px;max-height:118px;margin-bottom:4px}
  .control-menu{height:calc(100vh - 222px)}
  .sidebar nav .menu-group{padding-top:10px!important;padding-bottom:2px!important}
  .sidebar nav a,.sidebar nav .disabled{min-height:36px;margin:0;padding:7px 8px;font-size:12.5px}
  .sidebar nav a b,.sidebar nav .disabled b{width:23px;min-width:23px;font-size:16px}
}

/* Busca do topo com resposta visual semelhante a um controle desktop. */
.global-search{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}
.global-search:focus-within{border-color:#1697FF;box-shadow:0 0 0 3px rgba(22,151,255,.13),inset 0 1px 0 rgba(255,255,255,.025);background:#1A2540;transform:translateY(-1px)}
.global-search button{transition:color .16s ease,transform .16s ease}.global-search:focus-within button{color:#63BBFF;transform:scale(1.05)}

/* Leitura mais rápida dos indicadores. */
.priority-card strong{font-size:33px!important;line-height:1;font-variant-numeric:tabular-nums}
.dashboard-cash .summary-card strong{font-size:26px!important;line-height:1.08;font-variant-numeric:tabular-nums}
.status-overview strong{font-size:25px!important;font-variant-numeric:tabular-nums}
.monthly-grid strong{font-size:20px;font-variant-numeric:tabular-nums}

/* Ícones discretos nos cards de prioridade. */
.priority-card .card-label{display:flex!important;align-items:center;gap:8px;font-weight:700;color:#C4CDE1!important}
.dashboard-icon{width:22px;height:22px;border-radius:6px;display:inline-grid;place-items:center;font-style:normal;font-size:13px;line-height:1;background:#222F4D;border:1px solid #334263;color:#DCE7FA}
.priority-card.warning .dashboard-icon{color:#FBBF24;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
.priority-card.danger .dashboard-icon{color:#FF7772;border-color:rgba(239,83,80,.35);background:rgba(239,83,80,.08)}
.priority-card.info .dashboard-icon{color:#69A5FF;border-color:rgba(67,136,245,.35);background:rgba(67,136,245,.08)}
.priority-card.attention .dashboard-icon{color:#B48AFF;border-color:rgba(139,92,246,.35);background:rgba(139,92,246,.08)}
.priority-card.success .dashboard-icon{color:#51D6A6;border-color:rgba(32,180,134,.35);background:rgba(32,180,134,.08)}

/* Interações sutis: dão sensação de aplicativo sem exagerar. */
.priority-card,.summary-card,.status-overview a,.shortcut-grid a,.dashboard-panel,.metric-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}
.priority-card:hover,.summary-card:hover,.status-overview a:hover,.shortcut-grid a:hover,.metric-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(3,8,20,.25),inset 0 1px 0 rgba(255,255,255,.025);border-color:#3A4B74!important}
.dashboard-panel:hover{border-color:#344469!important;box-shadow:0 7px 18px rgba(3,8,20,.20),inset 0 1px 0 rgba(255,255,255,.02)}

/* Evita animações em dispositivos que pedem menos movimento. */
@media(prefers-reduced-motion:reduce){.global-search,.global-search button,.priority-card,.summary-card,.status-overview a,.shortcut-grid a,.dashboard-panel,.metric-card{transition:none!important;transform:none!important}}

/* Notas fiscais — paridade com o Control */
.invoice-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:7px;border:1px solid #344469;background:#202B47;color:#DDE6F7;font-size:11px;font-weight:800;white-space:nowrap}.status-recebida{color:#55D9A9;border-color:rgba(39,190,137,.4);background:rgba(39,190,137,.09)}.status-parcial{color:#F7C75C;border-color:rgba(245,180,45,.4);background:rgba(245,180,45,.09)}.status-aguardando,.status-nao_classificada{color:#79B7FF}.status-cancelada{color:#FF8580;border-color:rgba(239,83,80,.35);background:rgba(239,83,80,.08)}
.table-sub{display:block;margin-top:3px;color:#7F8DA9;font-size:10px}.small-button{min-height:28px!important;padding:5px 9px!important}.back-link{display:inline-block;margin-bottom:6px;color:#69AFFF;text-decoration:none;font-size:12px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-grid>div{padding:11px;border-radius:8px;background:#151E34;border:1px solid #263551}.info-grid small{display:block;color:#7F8DA9;margin-bottom:5px}.mono-wrap{font-family:Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.invoice-detail-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin-bottom:14px}.receipt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.success-button{background:#168965!important;color:#fff!important;border-color:#2AA980!important}.danger-button{background:#6B292D!important;color:#fff!important;border-color:#934048!important}.partial-box{padding-top:12px;border-top:1px solid #293856}.partial-box>p{margin:4px 0 12px;color:#8794AD;font-size:12px}.partial-box label{display:grid;grid-template-columns:minmax(0,1fr) 110px 90px;gap:8px;align-items:center;margin-bottom:8px;color:#D8E1F2;font-size:11px}.partial-box input{width:100%}.partial-box small{color:#7F8DA9}.pagination{display:flex;justify-content:center;gap:18px;align-items:center;margin:14px 0;color:#8794AD;font-size:12px}.pagination a{color:#69AFFF;text-decoration:none}.invoice-metrics{margin-bottom:14px}
@media(max-width:900px){.invoice-detail-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.partial-box label{grid-template-columns:1fr}.partial-box small{margin-top:-5px}}

/* Importar OS — paridade com o Control Desktop */
.import-os-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:18px}.import-os-hero h1{margin:4px 0 7px;font-size:26px}.import-os-hero p{margin:0;color:var(--muted);max-width:720px}.import-rules{display:grid;gap:7px;min-width:320px;font-size:13px;color:#c5d2e7}.import-rules span{background:rgba(22,151,255,.07);border:1px solid rgba(22,151,255,.18);border-radius:9px;padding:8px 10px}.import-rules b{color:#35d07f}.import-os-panel{padding:18px}.import-drop-form{display:grid;gap:14px}.import-drop-zone{position:relative;display:grid;place-items:center;text-align:center;min-height:210px;border:1px dashed #49607f;border-radius:13px;background:#121a2c;cursor:pointer;transition:.18s ease;padding:28px}.import-drop-zone:hover,.import-drop-zone.dragging{border-color:#1697ff;background:#14233a;transform:translateY(-1px)}.import-drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#1697ff;color:white;font-size:27px;margin-bottom:9px}.import-drop-zone strong{font-size:17px;color:#f2f7ff}.import-drop-zone small{color:var(--muted);margin-top:4px}.import-drop-zone em{font-style:normal;color:#7fc4ff;margin-top:12px;font-size:13px}.import-actions{display:flex;align-items:center;gap:14px}.import-actions span{font-size:12px;color:var(--muted)}.import-result-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.import-result-stats article{min-height:96px}.danger-card strong{color:#ff6b78}.table-scroll{overflow:auto}.compact-table td{vertical-align:middle}.cell-wrap{white-space:normal;min-width:320px;max-width:520px}.simple-list{display:grid}.simple-list>div{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.simple-list>div:last-child{border-bottom:0}.simple-list span,.simple-list small{color:var(--muted)}.simple-list a{color:#62b9ff;font-weight:700}.error-list>div{grid-template-columns:220px 1fr}.import-history>div{grid-template-columns:150px 1fr 150px}.empty-state{color:var(--muted)}
@media(max-width:900px){.import-os-hero{flex-direction:column}.import-rules{min-width:0;width:100%}.import-result-stats{grid-template-columns:repeat(2,1fr)}.simple-list>div,.import-history>div,.error-list>div{grid-template-columns:1fr}.import-actions{align-items:flex-start;flex-direction:column}}

/* Retorno dos Técnicos — paridade com Novaryn Control */
.return-upload-panel{margin-bottom:16px}.upload-inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.file-picker{display:inline-flex;align-items:center;gap:10px;background:#1C2540;border:1px solid #2D385B;border-radius:8px;padding:9px 12px;cursor:pointer}.file-picker input{max-width:360px}.small-text{font-size:.82rem;margin-top:9px}.returns-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:16px;align-items:start}.returns-list-panel{min-width:0}.return-editor-panel{position:sticky;top:84px}.return-form{display:grid;gap:12px}.return-form label{display:grid;gap:6px;font-size:.86rem;color:#D8E0F2}.return-form input,.return-form select{width:100%;box-sizing:border-box;background:#0F1424;color:#F3F6FC;border:1px solid #344061;border-radius:8px;padding:9px 10px}.return-form label>small{color:#AEB8CF;line-height:1.35}.return-order-summary{display:grid;gap:3px;background:#1C2540;border:1px solid #303C60;border-radius:10px;padding:12px}.return-order-summary span,.return-order-summary small{color:#AEB8CF}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.return-parts{border:1px solid #303C60;border-radius:10px;background:#11182B;padding:10px}.return-parts summary{cursor:pointer;font-weight:700}.pending-part-box{display:grid;gap:7px;background:#1C2540;border-radius:9px;padding:10px;margin-top:10px}.full-width{width:100%}.selected-row td{background:rgba(22,151,255,.08)!important}.recent-returns-panel{margin-top:16px}.status-pronto{background:rgba(44,182,125,.15);color:#64D8A7}.status-os-não-encontrada,.status-os-nao-encontrada,.status-informar-os{background:rgba(246,200,95,.15);color:#F6C85F}@media(max-width:1200px){.returns-layout{grid-template-columns:1fr}.return-editor-panel{position:static}}@media(max-width:720px){.two-fields{grid-template-columns:1fr}.upload-inline-form{align-items:stretch}.file-picker{display:grid}}

/* Técnicos — paridade com o painel do Novaryn Control */
.technician-top-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.technician-top-metrics .metric-card{min-height:104px}.technician-top-metrics .metric-card strong{font-size:24px;margin:8px 0 4px}.technician-top-metrics .metric-card span{font-size:11px}.technician-cards{display:grid;gap:14px}.technician-card{background:#161F34;border:1px solid #293653;border-radius:12px;box-shadow:0 5px 16px rgba(3,8,20,.16);overflow:hidden;transition:.15s ease}.technician-card:hover{transform:translateY(-1px);border-color:#3A4B74;box-shadow:0 8px 20px rgba(3,8,20,.22)}.technician-card>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px 9px}.technician-card h2{margin:0;color:#F3F6FC;font-size:20px;letter-spacing:-.01em}.technician-card header span{display:block;margin-top:4px;color:#8391AB;font-size:11px}.technician-card header span strong{color:#AFC0DC}.technician-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding:0 13px 14px}.technician-stat-grid>div{display:grid;place-items:center;min-height:78px;text-align:center;background:#1C2741;border:1px solid #2B395A;border-radius:9px;padding:9px}.technician-stat-grid small{color:#8491A9;font-size:10px;font-weight:700}.technician-stat-grid strong{font-size:18px;margin-top:5px;font-variant-numeric:tabular-nums}.value-warning{color:#F2B34F}.value-success{color:#55D6A3}.value-danger{color:#FF7672}.value-purple{color:#A994FF}.value-money{color:#EDB660}.technician-card>footer{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid #25314C;padding:10px 18px;color:#8090AB;font-size:11px;background:#141C30}.disabled-action{cursor:not-allowed;opacity:.68}.novaryn-dialog{width:min(460px,calc(100vw - 28px));border:1px solid #334362;border-radius:12px;background:#161F34;color:#F3F6FC;padding:0;box-shadow:0 26px 70px rgba(0,0,0,.5)}.novaryn-dialog::backdrop{background:rgba(3,8,20,.68)}.novaryn-dialog form{padding:17px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.dialog-head strong{font-size:18px}.dialog-head small{display:block;color:#8391AB;margin-top:3px}.dialog-head button{border:0;background:transparent;color:#AEB8CF;font-size:25px;cursor:pointer}.novaryn-dialog label{display:grid;gap:6px;color:#D8E1F2;font-size:12px}.novaryn-dialog input{width:100%;box-sizing:border-box}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media(max-width:1180px){.technician-top-metrics{grid-template-columns:repeat(3,1fr)}.technician-stat-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.technician-top-metrics{grid-template-columns:1fr 1fr}.technician-stat-grid{grid-template-columns:1fr 1fr}.technician-card>header{align-items:flex-start}.technician-card>footer{gap:8px 14px}}

/* OS com retornos / múltiplas visitas */
.visit-chip{display:inline-block;margin:2px 5px 2px 0;padding:4px 7px;border:1px solid #334366;border-radius:8px;background:#151f37;font-size:11px;white-space:nowrap}.compact-metrics{margin-bottom:14px}

.bar-report{display:grid;gap:18px;margin-top:18px}.bar-report-row{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:18px}.bar-report-row small{display:block;color:var(--muted);margin-top:4px}.bar-track{height:16px;background:#11182b;border:1px solid #2a3556;border-radius:999px;overflow:hidden}.bar-track span{display:block;height:100%;background:#1697ff;border-radius:999px}.wrap-status{flex-wrap:wrap}.wrap-status>div{min-width:130px}.close-day-sequence{display:grid;gap:4px;color:var(--text)}.close-day-sequence p{margin:0;padding:8px 0;border-bottom:1px solid #25304f}.close-day-action{padding:18px}.supplier-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stock-pending-row{display:grid;grid-template-columns:140px minmax(260px,1fr) 110px 150px auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #25304f}.history-list{display:grid;gap:10px}.history-event{display:grid;grid-template-columns:160px 170px 1fr;gap:14px;padding:12px;border:1px solid #25304f;border-radius:10px;background:#12192c}.history-event small{color:var(--muted)}@media(max-width:800px){.bar-report-row,.stock-pending-row,.history-event,.supplier-preview-grid{grid-template-columns:1fr}}

/* Auditoria do Sistema */
.audit-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.audit-score{display:block;font-size:3.2rem;line-height:1;color:#f8fafc;margin:.2rem 0}.audit-meta{display:flex;gap:10px;flex-wrap:wrap}.audit-meta span{background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.14);padding:9px 12px;border-radius:10px;color:#94a3b8}.audit-meta b{color:#e2e8f0}.audit-category .section-title{margin-bottom:10px}.audit-details{margin-top:8px}.audit-details summary{cursor:pointer;color:#38bdf8}.audit-details ul{margin:8px 0 0;padding-left:20px;color:#cbd5e1}.audit-upload input[type=file]{padding:12px;background:#11182a;border:1px dashed #334155;border-radius:10px;color:#cbd5e1}

/* Backup profissional */
.backup-heading{align-items:flex-end}.backup-heading h1{margin-top:5px}.back-link{color:#57b6ff;text-decoration:none;font-size:12px}.backup-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.backup-metrics .metric-card{min-height:105px}.backup-date{font-size:20px!important}.backup-scope-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.backup-scope-grid>div{display:grid;gap:5px;padding:13px;background:#151f36;border:1px solid #2a3859;border-radius:10px}.backup-scope-grid b{color:#55d6a3}.backup-scope-grid span{font-size:11px;color:#8e9bb3;line-height:1.4}.backup-scope-grid .backup-excluded b{color:#f2b34f}.backup-counts{display:block;color:#8190aa;margin-top:3px}.table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.table-actions form{margin:0}.backup-upload-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.backup-upload-form input[type=file]{flex:1;min-width:280px;background:#11182b;border:1px dashed #354566;border-radius:9px;color:#cfd8e8;padding:10px}.backup-inspection{margin-top:14px}.backup-inspection h2{margin-top:0}.backup-ok{border-color:rgba(85,214,163,.35)}.backup-fail{border-color:rgba(255,118,114,.35)}.restore-warning{border-color:rgba(242,179,79,.25);background:linear-gradient(180deg,#171f34,#151c30)}.restore-warning h2{color:#f2b34f}.status-warning{background:rgba(242,179,79,.14);color:#f2b34f}@media(max-width:1100px){.backup-scope-grid{grid-template-columns:repeat(2,1fr)}.backup-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.backup-scope-grid,.backup-metrics{grid-template-columns:1fr}.backup-upload-form{align-items:stretch}.backup-upload-form input[type=file]{min-width:0}.table-actions{display:grid}.table-actions .button{width:100%}}

/* Ficha / edição de OS — refinamento Cloud Primary */
.os-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.os-title-line h1{margin:0}.os-heading-actions{align-self:flex-end;flex-wrap:wrap;justify-content:flex-end}.os-heading-actions form{margin:0}.os-workflow-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:0;margin-bottom:18px}.workflow-state-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;flex:1}.workflow-state-grid>div{display:grid;gap:3px;padding:11px 13px;border:1px solid var(--border);background:#f8fafc;border-radius:10px}.workflow-state-grid small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.workflow-state-grid strong{font-size:14px}.workflow-state-grid span{font-size:12px;color:var(--muted)}.workflow-actions{justify-content:flex-end;flex-wrap:wrap}.workflow-actions form{margin:0}.pay-inline-form{display:flex;gap:8px;align-items:center}.pay-inline-form select{border:1px solid #cbd5e1;border-radius:9px;padding:10px 11px;background:#fff}.os-main-grid{grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr)}.os-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-summary-card{align-self:start}.profit-box{background:#ecfdf5!important;border-color:#a7f3d0!important}.profit-box strong{color:#047857}.paid-mini{color:#047857;font-weight:700}.visits-timeline .timeline-item{padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff}.tiny{padding:7px 10px;font-size:12px}.add-part-details{margin-top:14px}.add-part-details summary{cursor:pointer;font-weight:700;color:var(--accent)}

.os-edit-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:18px;align-items:start}.os-edit-layout .edit-section{grid-column:1}.edit-finance-preview{grid-column:2;grid-row:1 / span 2;position:sticky;top:92px}.os-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.os-edit-grid label,.visit-editor-card label{margin-top:0}.os-edit-grid select,.visit-editor-card select,.workflow-actions select{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;background:#fff;font:inherit}.os-edit-grid textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;font:inherit;resize:vertical}.os-edit-grid input:focus,.os-edit-grid select:focus,.os-edit-grid textarea:focus,.visit-editor-card select:focus,.visit-editor-card input:focus{outline:3px solid #dbeafe;border-color:var(--accent)}.os-edit-grid .wide{grid-column:1/-1}.visit-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visit-editor-card{border:1px solid #dbe3ec;background:#f8fafc;border-radius:12px;padding:14px}.visit-editor-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}.visit-editor-title>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}.locked-note{display:block;margin-top:8px;color:#92400e;background:#fef3c7;border-radius:8px;padding:7px 9px}.edit-finance-note{font-size:12px;line-height:1.5;margin:14px 0 0}.sticky-form-actions{position:sticky;bottom:0;z-index:15;display:flex;justify-content:flex-end;gap:10px;background:rgba(243,246,250,.94);backdrop-filter:blur(8px);border-top:1px solid var(--border);padding:14px 0 4px;margin-top:4px}.history-event span{line-height:1.45;overflow-wrap:anywhere}
@media(max-width:1100px){.os-main-grid,.os-edit-layout{grid-template-columns:1fr}.os-edit-layout .edit-section,.edit-finance-preview{grid-column:1}.edit-finance-preview{grid-row:auto;position:static}.workflow-state-grid{grid-template-columns:1fr 1fr}.os-workflow-bar{align-items:stretch;flex-direction:column}.workflow-actions{justify-content:flex-start}}
@media(max-width:760px){.os-detail-heading,.os-edit-heading{flex-direction:column}.os-heading-actions{align-self:stretch;justify-content:flex-start}.workflow-state-grid,.os-field-grid,.os-edit-grid,.visit-editor-grid{grid-template-columns:1fr}.pay-inline-form{align-items:stretch;flex-direction:column}.sticky-form-actions{padding:12px}.sticky-form-actions .button{flex:1}}

/* Novaryn Fotos */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.photo-card{background:#151f36;border:1px solid #2b3a5b;border-radius:13px;overflow:hidden;padding-bottom:12px}.photo-preview{display:block;aspect-ratio:4/3;background:#0e1527;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .18s ease}.photo-preview:hover img{transform:scale(1.025)}.photo-meta{display:grid;gap:3px;padding:11px 12px 8px}.photo-meta strong{color:#f2f6fc}.photo-meta span,.photo-meta small{color:#8f9db6;font-size:12px}.photo-card form{padding:0 12px;margin:0}.empty-photo-state{text-align:center;padding:40px 20px}.photo-summary-panel .section-title{align-items:center}.photo-summary-panel .heading-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:650px){.photo-grid{grid-template-columns:1fr 1fr}.photo-summary-panel .section-title{align-items:flex-start;flex-direction:column}}@media(max-width:430px){.photo-grid{grid-template-columns:1fr}}
