*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}img,video{max-width:100%;height:auto}button,input,select,textarea{font-family:inherit;font-size:inherit}*{box-sizing:border-box}:root{--green-900:#003d26;--green-700:#006b42;--green-500:#10b981;--green-100:#d1fae5;--green-50:#ecfdf5;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-300:#d1d5db;--gray-100:#f3f4f6;--gray-50:#f9fafb;--blue-700:#1d4ed8;--blue-100:#dbeafe;--blue-50:#eff6ff;--amber-700:#b45309;--amber-100:#fde68a;--amber-50:#fffbeb;--red-700:#b91c1c;--red-100:#fee2e2;--red-50:#fef2f2;--orange-700:#c2410c;--orange-100:#ffedd5;--orange-50:#fff7ed;--bg-page:#f0f4f1;--bg-card:#fff;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000012, 0 1px 4px #0000000a;--shadow-lg:0 8px 30px #00000017, 0 2px 8px #0000000d;--font:"Segoe UI", system-ui, -apple-system, sans-serif;font-size:15px;line-height:1.6}body{font-family:var(--font);background:var(--bg-page);color:var(--gray-900);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{color:var(--gray-900);margin:0;font-weight:600;line-height:1.25}h1{letter-spacing:-.4px;font-size:28px}h2{font-size:20px}h3{font-size:16px}p{margin:0}label{color:var(--gray-700);letter-spacing:.01em;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.app-container,.page-container,.mobile-container{max-width:1160px;min-height:100vh;margin:0 auto;padding:28px 24px}.app-container{justify-content:center;align-items:center;display:flex}.topbar,.mobile-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.topbar h1,.mobile-header h1{margin-bottom:4px;font-size:28px}.topbar p,.mobile-header p{color:var(--gray-500);font-size:14px}.topbar small,.admin-topbar small{color:var(--gray-500);margin-top:4px;font-size:12px;display:block}.admin-topbar{align-items:flex-start}.header-actions{flex-shrink:0;gap:8px;margin-top:4px;display:flex}.page-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--green-700);margin-bottom:6px;font-size:11px;font-weight:700;display:inline-block}.btn{border-radius:var(--radius-md);background:var(--green-700);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;height:48px;padding:0 22px;font-size:15px;font-weight:700;transition:background .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--green-900)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.action-btn{width:100%;margin-top:4px}.btn.aprovar{background:var(--green-700)}.btn.reprovar{background:var(--red-700)}.btn.secondary{background:var(--gray-700)}.btn-small{border-radius:var(--radius-sm);background:var(--gray-900);color:#fff;cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;height:38px;padding:0 16px;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.btn-small:hover{background:var(--green-700)}.btn-small:disabled{opacity:.5;cursor:not-allowed}.btn-small.secondary{background:var(--gray-500)}.btn-small.secondary:hover{background:var(--gray-700)}.btn-remover{border-radius:var(--radius-sm);background:var(--red-100);height:38px;color:var(--red-700);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.btn-remover:hover{background:var(--red-700);color:#fff}.btn-remover:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:36px 32px}.section-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:20px;padding:24px}.section-card h2{margin-bottom:6px}.section-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.section-title-row p{color:var(--gray-500);margin-top:4px;font-size:13px}.brand{text-align:center;margin-bottom:28px}.brand h1{color:var(--green-700);letter-spacing:-1px;margin-bottom:6px;font-size:36px}.brand p{color:var(--gray-500);font-size:15px}.demo-badge{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-100);border-radius:999px;align-items:center;gap:6px;margin:12px 0 6px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-flex}.demo-badge:before{content:"";background:var(--green-500);border-radius:50%;flex-shrink:0;width:7px;height:7px}.version-text{color:var(--gray-500);margin-top:4px;font-size:12px}.form{flex-direction:column;gap:14px;display:flex}.form input{border:1.5px solid var(--gray-300);border-radius:var(--radius-md);background:var(--gray-50);width:100%;height:48px;color:var(--gray-900);outline:none;padding:0 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.form input:focus{border-color:var(--green-700);background:#fff;box-shadow:0 0 0 3px #006b421a}.api-info{color:var(--gray-500);word-break:break-all;text-align:center;margin-top:20px;font-size:12px}.login-footer-info{border-top:1px solid var(--gray-100);text-align:center;color:var(--gray-500);margin-top:16px;padding-top:16px;font-size:13px;line-height:1.6}.login-footer-info strong{color:var(--green-700)}.admin-hero-card{background:linear-gradient(135deg, var(--green-700) 0%, #008c54 100%);color:#fff;border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:32px;display:flex;box-shadow:0 12px 40px #006b4240}.admin-hero-card h2{color:#fff;margin:10px 0 8px;font-size:22px}.admin-hero-card p{color:#ffffffd9;font-size:14px;line-height:1.6}.admin-hero-card .demo-badge{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.admin-hero-status{text-align:center;border-radius:var(--radius-lg);background:#ffffff26;border:1px solid #ffffff40;flex-shrink:0;min-width:140px;padding:18px 20px}.admin-hero-status span{color:#fffc;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px;display:block}.admin-hero-status strong{color:#fff;font-size:18px}.grid-cards,.admin-metrics-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.metric-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:22px}.metric-card span{color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:600;display:block}.metric-card strong{color:var(--green-700);margin-bottom:6px;font-size:34px;font-weight:700;line-height:1;display:block}.metric-card small{color:var(--gray-500);font-size:12px}.metric-card.metric-primary{background:var(--green-50);border-color:var(--green-100)}.metric-card.metric-primary strong{color:var(--green-700)}.metric-card.metric-warning{background:var(--orange-50);border-color:var(--orange-100)}.metric-card.metric-warning strong{color:var(--orange-700)}.metric-card.metric-success{background:var(--green-50);border-color:var(--green-100)}.admin-actions-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.admin-action-card{background:var(--gray-50);border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.admin-action-card:hover{border-color:var(--green-700);background:var(--green-50);box-shadow:var(--shadow-md)}.admin-action-card span{font-size:26px;line-height:1}.admin-action-card strong{color:var(--gray-900);font-size:15px;font-weight:700}.admin-action-card p{color:var(--gray-500);font-size:13px;line-height:1.5}.system-status-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.system-status-item{text-align:center;border-radius:var(--radius-md);border:1.5px solid var(--gray-100);background:var(--gray-50);padding:18px}.system-status-item strong{color:var(--gray-700);margin-bottom:6px;font-size:14px;display:block}.system-status-item span{font-size:14px;font-weight:700}.system-status-item.online span{color:var(--green-700)}.page-container .section-card form{width:100%}.page-container .section-card form label,.admin-date-filter label,.roteiro-admin-filter-form label,.roteiro-admin-item-form-grid label,.roteiro-admin-observation-field label,.filters-grid label{color:var(--gray-700);letter-spacing:.01em;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.page-container .section-card form input,.page-container .section-card form select,.page-container .section-card form textarea,.roteiro-admin-filter-form input,.roteiro-admin-filter-form select,.roteiro-admin-item-form-grid input,.roteiro-admin-item-form-grid select,.roteiro-admin-observation-field input,.roteiro-admin-observation-field textarea,.admin-date-filter input,.admin-date-filter select,.filters-grid input,.filters-grid select,.search-input{border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--gray-50);width:100%;min-height:46px;color:var(--gray-900);font-size:14px;font-family:var(--font);outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s,background .15s}.page-container .section-card form input:focus,.page-container .section-card form select:focus,.page-container .section-card form textarea:focus,.roteiro-admin-filter-form input:focus,.roteiro-admin-filter-form select:focus,.roteiro-admin-item-form-grid input:focus,.admin-date-filter input:focus,.admin-date-filter select:focus,.filters-grid input:focus,.filters-grid select:focus,.search-input:focus{border-color:var(--green-700);background:#fff;box-shadow:0 0 0 3px #006b421a}.page-container .section-card form textarea,.roteiro-admin-observation-field textarea{resize:vertical;min-height:90px;padding:12px 14px}.admin-date-filter{grid-template-columns:1fr 160px;align-items:end;gap:12px;margin-bottom:20px;display:grid}.roteiro-admin-hero{background:linear-gradient(135deg, var(--green-700) 0%, #008c54 100%);color:#fff;border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:28px 32px;display:flex;box-shadow:0 12px 40px #006b4238}.roteiro-admin-hero .roteiro-admin-eyebrow{color:#ffffffd9}.roteiro-admin-hero h2{color:#fff;margin:6px 0;font-size:24px}.roteiro-admin-hero p{color:#ffffffd9;font-size:14px}.roteiro-admin-hero-status{text-align:center;border-radius:var(--radius-md);background:#ffffff26;border:1px solid #ffffff40;flex-shrink:0;min-width:140px;padding:16px 20px}.roteiro-admin-hero-status span{color:#fffc;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;display:block}.roteiro-admin-hero-status strong{color:#fff;font-size:18px}.roteiro-admin-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--green-700);margin-bottom:6px;font-size:11px;font-weight:700;display:inline-block}.roteiro-admin-summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.roteiro-summary-card{border:1.5px solid var(--gray-100)}.roteiro-summary-card.warning{background:var(--orange-50);border-color:var(--orange-100)}.roteiro-summary-card.warning strong{color:var(--orange-700)}.roteiro-summary-card.progress{background:var(--blue-50);border-color:var(--blue-100)}.roteiro-summary-card.progress strong{color:var(--blue-700)}.roteiro-summary-card.success{background:var(--green-50);border-color:var(--green-100)}.roteiro-admin-filter-form{grid-template-columns:1fr 1fr auto auto;align-items:end;gap:14px;margin-top:18px;display:grid}.roteiro-admin-item-form-grid{grid-template-columns:repeat(3,1fr);align-items:end;gap:14px;margin-bottom:14px;display:grid}.roteiro-admin-observation-field{margin-bottom:14px}.roteiro-admin-section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.roteiro-admin-section-header h2{margin-bottom:4px}.roteiro-admin-section-header p{color:var(--gray-500);font-size:13px}.roteiro-admin-items-list{grid-template-columns:1fr;gap:14px;display:grid}.roteiro-admin-item-card{background:var(--bg-card);border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;transition:border-color .15s}.roteiro-admin-item-card:hover{border-color:var(--green-100)}.roteiro-admin-item-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.roteiro-admin-item-header h3{margin:4px 0 6px;font-size:17px}.roteiro-admin-item-header p{color:var(--gray-500);margin-top:3px;font-size:13px}.roteiro-admin-card-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.roteiro-admin-list{grid-template-columns:1fr;gap:14px;display:grid}.roteiro-admin-card{background:var(--bg-card);border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.roteiro-admin-card-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.roteiro-admin-card-header h3{margin:4px 0 6px;font-size:17px}.roteiro-admin-card-header p{color:var(--gray-500);margin-top:3px;font-size:13px}.roteiro-admin-add-card{border-radius:var(--radius-lg);border:1.5px dashed var(--green-100);background:var(--green-50);margin-top:20px;padding:22px}.roteiro-admin-add-card h3{margin-bottom:4px}.roteiro-admin-add-card p{color:var(--green-700);font-size:13px}.roteiro-admin-form{flex-direction:column;gap:0;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px;display:grid}.roteiro-admin-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.route-status-pill{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:100px;padding:6px 14px;font-size:11px;font-weight:700;display:inline-flex}.status-pendente{background:var(--orange-50);color:var(--orange-700)}.status-em_andamento{background:var(--blue-50);color:var(--blue-700)}.status-concluido,.status-ativo,.status-validada{background:var(--green-50);color:var(--green-700)}.status-cancelado{background:var(--red-50);color:var(--red-700)}.status-inativo{background:var(--gray-100);color:var(--gray-500)}.status-parcial{background:var(--amber-50);color:var(--amber-700)}.badge{text-transform:uppercase;letter-spacing:.05em;background:var(--gray-100);color:var(--gray-700);border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge.pendente{background:var(--orange-50);color:var(--orange-700)}.badge.em_andamento{background:var(--blue-50);color:var(--blue-700)}.badge.concluido,.badge.finalizada,.badge.aprovada{background:var(--green-50);color:var(--green-700)}.badge.reprovada{background:var(--red-50);color:var(--red-700)}.badge.antes{background:var(--blue-50);color:var(--blue-700)}.badge.depois{color:#6d28d9;background:#f5f3ff}.erro-texto{background:var(--red-50);color:var(--red-700);border:1px solid var(--red-100);border-radius:var(--radius-sm);margin-bottom:14px;padding:12px 16px;font-size:14px}.sucesso-texto{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-100);border-radius:var(--radius-sm);margin-bottom:14px;padding:12px 16px;font-size:14px}.aviso-texto{background:var(--orange-50);color:var(--orange-700);border:1px solid var(--orange-100);border-radius:var(--radius-sm);text-align:center;margin-bottom:10px;padding:12px 16px;font-size:13px}.info-text{color:var(--gray-500);background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-sm);margin-bottom:14px;padding:12px 16px;font-size:13px}.empty-state-text{background:var(--gray-50);border:1.5px dashed var(--gray-300);border-radius:var(--radius-md);color:var(--gray-500);text-align:center;padding:20px;font-size:14px}.info-visita{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);margin:16px 0;padding:16px}.info-visita p{color:var(--gray-700);margin:6px 0;font-size:13px}.foto-status-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.foto-ok,.foto-pendente{border-radius:var(--radius-md);text-align:center;padding:14px}.foto-ok{background:var(--green-50);border:1px solid var(--green-100);color:var(--green-700)}.foto-pendente{background:var(--orange-50);border:1px solid var(--orange-100);color:var(--orange-700)}.foto-ok strong,.foto-pendente strong{margin-bottom:4px;font-size:12px;font-weight:700;display:block}.foto-ok span,.foto-pendente span{font-size:13px}.foto-box{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);margin:16px 0;padding:18px}.foto-box h3{color:var(--gray-900);margin-bottom:14px;font-size:15px}.foto-upload{border:1.5px dashed var(--gray-300);border-radius:var(--radius-md);text-align:center;color:var(--green-700);cursor:pointer;background:#fff;margin-bottom:12px;padding:16px;font-size:14px;font-weight:700;transition:border-color .15s,background .15s;display:block}.foto-upload:hover{border-color:var(--green-700);background:var(--green-50)}.foto-upload input{display:none}.foto-preview{background:var(--gray-50);border-radius:var(--radius-md);text-align:center;width:100%;margin:12px 0;padding:10px}.foto-preview img{object-fit:contain;border-radius:var(--radius-sm);width:100%;max-height:420px}.foto-visita-preview{border:1px solid var(--gray-100);border-radius:var(--radius-md);background:#fff;margin-bottom:12px;padding:14px}.foto-visita-topo{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.foto-visita-topo strong{color:var(--gray-900);font-size:13px}.foto-visita-preview img{object-fit:contain;border-radius:var(--radius-sm);background:var(--gray-50);width:100%;max-height:360px}.foto-visita-preview p{color:var(--gray-500);text-align:center;margin:8px 0 0;font-size:13px}.fotos-preview-lista{margin-top:16px}.fotos-preview-lista h3{text-align:center;margin-bottom:12px;font-size:14px}.foto-preview-loading{text-align:center;color:var(--gray-500);padding:20px;font-size:13px}.foto-preview-error{text-align:center}.foto-card-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--green-700);margin-bottom:5px;font-size:11px;font-weight:700;display:inline-block}.fotos-resumo-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;display:grid}.foto-resumo-card{background:var(--bg-card);border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);padding:18px}.foto-resumo-card span{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.foto-resumo-card strong{color:var(--green-700);font-size:30px;font-weight:700}.foto-resumo-card.pendente{background:var(--orange-50);border-color:var(--orange-100)}.foto-resumo-card.pendente strong{color:var(--orange-700)}.foto-resumo-card.aprovada{background:var(--green-50);border-color:var(--green-100)}.foto-resumo-card.aprovada strong{color:var(--green-700)}.foto-resumo-card.reprovada{background:var(--red-50);border-color:var(--red-100)}.foto-resumo-card.reprovada strong{color:var(--red-700)}.foto-card{background:var(--bg-card);border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.foto-card-topo{justify-content:space-between;gap:14px;margin-bottom:16px;display:flex}.foto-card-topo h3{margin:4px 0 5px;font-size:16px}.foto-card-topo p{color:var(--gray-500);margin-top:3px;font-size:13px}.foto-badges{flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:6px;display:flex}.foto-detalhes{background:var(--gray-50);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;padding:14px;display:grid}.foto-detalhes div{flex-direction:column;gap:3px;display:flex}.foto-detalhes strong{color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.foto-detalhes span{color:var(--gray-900);word-break:break-word;font-size:13px}.foto-detail-full{grid-column:1/-1}.motivo-reprovacao strong,.motivo-reprovacao span{color:var(--red-700)!important}.foto-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.foto-status-finalizado{text-align:center;color:var(--gray-500);background:var(--gray-50);border-radius:var(--radius-sm);margin-top:12px;padding:12px;font-size:14px;font-weight:600}.fotos-demo-lista{grid-template-columns:1fr;gap:16px;display:grid}.fotos-result-card{padding:24px}.form-actions-row{grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:4px;display:grid}.empty-state-card{text-align:center;background:var(--gray-50);border-radius:var(--radius-md);color:var(--gray-500);padding:32px}.empty-state-card strong{color:var(--gray-700);margin-bottom:6px;font-size:15px;display:block}.empty-state-card p{font-size:13px}.filters-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.roteiro-filtro{grid-template-columns:1fr;gap:14px;display:grid}.roteiro-filtro label{color:var(--gray-700);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.roteiro-filtro input{border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--gray-50);width:100%;height:46px;padding:0 14px;font-size:14px}.aviso-card{background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--radius-md);margin-bottom:12px;padding:14px 16px}.aviso-card h3{color:var(--amber-700);margin-bottom:4px;font-size:14px}.aviso-card p{color:var(--amber-700);font-size:13px}.roteiro-resumo-card{background:var(--gray-50);border:1.5px solid var(--gray-100);border-radius:var(--radius-md);margin-bottom:12px;padding:16px}.roteiro-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.roteiro-header h3{margin-bottom:3px;font-size:15px}.roteiro-header p{color:var(--gray-500);font-size:13px}.roteiro-btn{width:100%;margin-top:10px}.loja-card{background:var(--gray-50);border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);margin-bottom:14px;padding:18px}.loja-topo{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.loja-card p{color:var(--gray-700);margin:6px 0;font-size:13px}.status.online{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-100);border-radius:var(--radius-sm);text-align:center;padding:12px 16px;font-size:14px;font-weight:700}.visita-concluida-btn{background:var(--green-500)}.tabs-row{background:var(--gray-100);border-radius:var(--radius-sm);gap:4px;margin-bottom:20px;padding:4px;display:flex}.tab-btn{height:36px;color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;font-size:13px;font-weight:700;transition:background .15s,color .15s}.tab-btn.active{color:var(--gray-900);box-shadow:var(--shadow-sm);background:#fff}.route-locked-text{color:var(--gray-500);font-size:13px;font-weight:700}.route-order-field input{text-align:center;font-weight:700}.form-actions{align-items:center;gap:12px;margin-top:16px;display:flex}@media (width<=960px){.grid-cards,.admin-metrics-grid,.roteiro-admin-summary-grid{grid-template-columns:repeat(2,1fr)}.fotos-resumo-grid{grid-template-columns:repeat(3,1fr)}.filters-grid{grid-template-columns:repeat(2,1fr)}.roteiro-admin-filter-form{grid-template-columns:1fr 1fr}.admin-actions-grid{grid-template-columns:1fr}.foto-detalhes{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.app-container,.page-container,.mobile-container{padding:16px}h1{font-size:22px}.topbar,.mobile-header{gap:10px}.grid-cards,.admin-metrics-grid,.roteiro-admin-summary-grid,.fotos-resumo-grid,.filters-grid,.roteiro-admin-filter-form,.roteiro-admin-item-form-grid,.form-grid,.foto-status-grid{grid-template-columns:1fr}.card{padding:24px 20px}.admin-hero-card,.roteiro-admin-hero{flex-direction:column}.roteiro-admin-section-header,.roteiro-admin-item-header,.foto-card-topo{flex-direction:column;align-items:stretch}.route-status-pill{width:100%}.roteiro-admin-card-actions{flex-direction:column;align-items:stretch}.roteiro-admin-card-actions button{width:100%}.foto-actions,.form-actions-row,.foto-detalhes,.admin-date-filter{grid-template-columns:1fr}.fotos-resumo-grid{grid-template-columns:repeat(2,1fr)}.system-status-grid{grid-template-columns:1fr}}.status-pendente_aprovacao,.badge.pendente_aprovacao{background:var(--amber-50);color:var(--amber-700)}.status-justificativa_aprovada,.badge.justificativa_aprovada{background:var(--green-50);color:var(--green-700)}.status-justificativa_reprovada,.badge.justificativa_reprovada{background:var(--red-50);color:var(--red-700)}
