:root{--ink: #172426;--ink-soft: #526165;--surface: #ffffff;--surface-subtle: #f6f8f8;--surface-muted: #edf2f2;--border: #d9e2e2;--border-strong: #b8c7c7;--brand: #087c72;--brand-strong: #05645d;--brand-soft: #dff4f1;--blue: #2563a8;--amber: #a15c07;--red: #b42318;--shadow-sm: 0 1px 2px rgba(23, 36, 38, .05);--shadow-md: 0 12px 32px rgba(23, 36, 38, .1);color:var(--ink);background:var(--surface-subtle);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--surface-subtle)}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease}button:disabled{cursor:not-allowed;opacity:.65}.auth-layout{display:grid;min-height:100vh;place-items:center;padding:20px;background:linear-gradient(90deg,#0f766eeb,#1e40afb8),url(https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1600&q=70) center/cover}.auth-shell{min-height:100vh}.login-panel{width:min(100%,420px);padding:28px;border:1px solid #dbe3ea;border-radius:8px;background:#fffffff7;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-panel h1{margin-bottom:0;color:#17202a;font-size:1.55rem;line-height:1.05}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.login-brand>div{min-width:0}.login-brand .eyebrow{margin-bottom:4px}.login-panel .eyebrow{color:#0f766e}.login-form,.record-form{display:grid;gap:16px}.login-field{display:grid;gap:7px}.login-form label,.login-field label,.record-form label{display:grid;gap:7px;color:#334155;font-size:.92rem;font-weight:700}.login-form input,.record-form input,.record-form select,.record-form textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid #b8c4d1;border-radius:6px;color:#17202a;background:#fff}.password-field{position:relative;display:block}.password-field input{padding-right:48px}.login-form .password-field button{position:absolute;top:4px;right:4px;display:grid;width:36px;min-height:34px;place-items:center;padding:0;border:0;border-radius:5px;color:var(--ink-soft);background:transparent}.login-form .password-field button:hover{color:var(--brand-strong);background:var(--brand-soft)}.record-form textarea{resize:vertical}.record-form .checkbox-field{display:flex;min-height:42px;align-items:center;gap:10px}.record-form .checkbox-field input{width:18px;min-height:18px}.form-context,.responsible-context{display:grid;min-height:52px;align-content:center;gap:2px;padding:9px 12px;border-left:3px solid var(--brand);color:var(--ink);background:var(--brand-soft)}.form-context span,.responsible-context span{color:var(--ink-soft);font-size:.68rem;font-weight:800;text-transform:uppercase}.form-context strong,.responsible-context strong{font-size:.9rem}.responsible-context small{color:var(--ink-soft);font-size:.78rem}.location-picker{display:grid;gap:10px;padding-top:4px}.location-picker-heading,.location-picker-heading>div,.location-picker-actions{display:flex;align-items:center}.location-picker-heading{justify-content:space-between;gap:12px}.location-picker-heading>div,.location-picker-actions{gap:8px}.location-picker-actions .secondary-action{width:auto}.location-map{isolation:isolate;height:320px;overflow:hidden;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-muted)}.location-map .leaflet-container{width:100%;height:100%}.location-marker-shell{display:grid;place-items:center;border:3px solid #ffffff;border-radius:50%;background:var(--brand);box-shadow:0 3px 10px #17242647}.location-marker-dot{width:10px;height:10px;border-radius:50%;background:#fff}.location-picker-caption,.location-picker-error{margin:0;color:var(--ink-soft);font-size:.78rem}.location-picker-error{color:var(--red);font-weight:650}.location-results{display:grid;gap:5px;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.location-results button{display:flex;min-height:42px;align-items:center;gap:9px;padding:7px 9px;border:0;border-radius:4px;color:var(--ink);background:transparent;text-align:left}.location-results button:hover{color:var(--brand-strong);background:var(--brand-soft)}.manual-coordinates{color:var(--ink-soft);font-size:.82rem}.manual-coordinates summary{cursor:pointer;font-weight:700}.manual-coordinates>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.point-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border);border-radius:7px;background:var(--surface-muted)}.point-mode-selector button{min-height:40px;border:1px solid transparent;border-radius:5px;color:var(--ink-soft);background:transparent;font-weight:750}.point-mode-selector button.active{border-color:var(--border);color:var(--brand-strong);background:var(--surface);box-shadow:var(--shadow-sm)}.onboarding-section{min-width:0;margin:8px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--border)}.onboarding-section legend{padding:0 10px 0 0;color:var(--ink);font-size:1rem;font-weight:800}.onboarding-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.onboarding-fields label{display:grid;min-width:0;gap:7px;color:#334155;font-size:.92rem;font-weight:700}.onboarding-fields input,.onboarding-fields select,.onboarding-fields textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid #b8c4d1;border-radius:6px;color:#17202a;background:#fff}.login-form input:focus,.record-form input:focus,.record-form select:focus,.record-form textarea:focus{border-color:#0f766e;outline:3px solid rgba(15,118,110,.18)}.login-form button,.primary-action,.secondary-action,.topbar button,.action-grid button,.panel-heading button,.status-banner button{min-height:42px;border:0;border-radius:6px;color:#fff;background:#0f766e}.secondary-link{display:inline-flex;min-height:32px;align-items:center;padding:0 11px;border:1px solid #cfd8e3;border-radius:6px;color:#0f766e;background:#fff;font-weight:700;text-decoration:none}.secondary-link:hover{border-color:#0f766e}.login-form button,.primary-action,.secondary-action{width:100%}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary-action{border:1px solid #cfd8e3;color:#334155;background:#fff}.topbar button{min-width:82px;padding:0 16px;background:#334155}.form-error{margin:0;color:#b42318;font-size:.92rem;font-weight:600}.success-toast{position:fixed;top:82px;right:22px;z-index:80;display:flex;max-width:min(380px,calc(100vw - 24px));min-height:48px;align-items:center;gap:9px;padding:11px 14px;border:1px solid #9bd4c5;border-radius:8px;color:#075f50;background:#edfbf7;box-shadow:var(--shadow-md);font-size:.86rem;font-weight:750}.field-hint{color:#526171;font-size:.78rem;font-weight:500;line-height:1.35}.loading-session{margin:0;padding:24px 0;color:#526171}.application-frame{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh;background:var(--surface-subtle)}.app-sidebar{position:sticky;top:0;z-index:20;display:flex;height:100vh;flex-direction:column;padding:22px 14px;border-right:1px solid var(--border);background:var(--surface)}.brand-lockup{display:flex;min-height:52px;align-items:center;gap:11px;padding:4px 8px 18px}.brand-mark,.mobile-brand{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:8px;color:#fff;background:var(--brand)}.brand-lockup>div{display:grid;min-width:0;gap:2px}.brand-lockup strong{overflow:hidden;color:var(--ink);font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.brand-lockup span:last-child{color:var(--ink-soft);font-size:.72rem}.sidebar-nav{display:grid;gap:2px;overflow-y:auto;padding:4px 0 18px}.sidebar-nav-item{display:grid;gap:2px}.nav-group-label{margin:14px 10px 5px;color:#768487;font-size:.65rem;font-weight:800;text-transform:uppercase}.sidebar-nav button{display:flex;width:100%;min-height:40px;align-items:center;gap:10px;padding:0 10px;border:1px solid transparent;border-radius:6px;color:#3e4d50;background:transparent;font-size:.88rem;font-weight:650;text-align:left}.sidebar-nav button:hover{color:var(--brand-strong);background:var(--brand-soft)}.sidebar-nav button[aria-current=page]{border-color:#b9e1dc;color:var(--brand-strong);background:var(--brand-soft);box-shadow:inset 3px 0 var(--brand)}.app-workspace{min-width:0}.workspace-header{position:sticky;top:0;z-index:15;display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:18px;padding:10px 28px;border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-brand{display:none}.workspace-context{display:grid;gap:2px}.workspace-context span{color:var(--ink-soft);font-size:.68rem;font-weight:800;text-transform:uppercase}.workspace-context strong{color:var(--ink);font-size:1rem}.campaign-switcher{display:grid;grid-template-columns:auto minmax(0,1fr);min-width:min(330px,32vw);align-items:center;column-gap:8px;color:var(--brand-strong)}.campaign-switcher>svg{grid-row:1 / 3}.campaign-switcher>span{color:var(--ink-soft);font-size:.65rem;font-weight:800;text-transform:uppercase}.campaign-switcher select{width:100%;min-width:0;border:0;color:var(--ink);background:transparent;font-size:.82rem;font-weight:750}.campaign-switcher select:focus-visible{border-radius:4px;outline:3px solid rgba(15,118,110,.18)}.campaign-switcher.empty{grid-template-columns:auto 1fr}.campaign-selection-layout{min-height:100vh;background:var(--surface-subtle)}.campaign-selection-header{display:flex;min-height:72px;align-items:center;justify-content:space-between;padding:10px clamp(16px,5vw,64px);border-bottom:1px solid var(--border);background:var(--surface)}.campaign-selection-header .brand-lockup{padding:0}.campaign-selection-header .secondary-button{min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:6px;color:var(--ink);background:var(--surface)}.campaign-selection-content{width:min(760px,calc(100% - 32px));margin:0 auto;padding:clamp(54px,10vh,110px) 0 48px}.campaign-selection-content h1{max-width:680px;margin:6px 0 12px;color:var(--ink);font-size:2.4rem;letter-spacing:0;line-height:1.1}.campaign-selection-content>p:not(.eyebrow){margin:0;color:var(--ink-soft)}.campaign-selection-list{display:grid;gap:10px;margin-top:34px}.campaign-selection-list button{display:flex;width:100%;min-height:72px;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left}.campaign-selection-list button:hover{border-color:#8acdc4;color:var(--brand-strong);background:#f8fffd}.campaign-selection-list button>span{display:grid;min-width:0;gap:4px}.campaign-selection-list strong,.campaign-selection-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-selection-list small{color:var(--ink-soft)}.user-summary{display:flex;align-items:center;gap:10px}.user-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;background:#315c65;font-size:.74rem;font-weight:850}.user-summary>div{display:grid;gap:1px}.user-summary strong{color:var(--ink);font-size:.82rem}.user-summary span:not(.user-avatar){color:var(--ink-soft);font-size:.7rem}.logout-button{display:inline-flex;min-height:36px;align-items:center;gap:7px;margin-left:6px;padding:0 10px;border:1px solid var(--border);border-radius:6px;color:#415053;background:var(--surface);font-size:.78rem;font-weight:750}.logout-button:hover{border-color:#f0b7b2;color:var(--red);background:#fff5f4}.app-main{width:min(1420px,100%);margin:0 auto;padding:24px 28px 48px}.mobile-bottom-nav{display:none}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 42px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.topbar div{display:grid;gap:4px}.topbar strong{color:#17202a}.topbar span{color:#526171;font-size:.9rem}.section-nav{display:flex;gap:8px;margin-bottom:18px;overflow-x:auto;padding-bottom:4px}.section-nav button{min-height:40px;flex:0 0 auto;padding:0 14px;border:1px solid #cfd8e3;border-radius:6px;color:#334155;background:#fff}.section-nav button[aria-current=page]{border-color:#0f766e;color:#fff;background:#0f766e}.hero{display:flex;align-items:flex-end;min-height:180px;padding:28px;border-radius:8px;color:#fff;background:linear-gradient(90deg,#0f766eeb,#1e40afb8),url(https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1600&q=70) center/cover}.eyebrow{margin:0 0 8px;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:2rem;line-height:1.1;letter-spacing:0}.hero h1{font-size:clamp(2.2rem,7vw,4.2rem);line-height:.98}h2{margin-bottom:14px;font-size:1.12rem;line-height:1.2}.summary{max-width:560px;margin-bottom:0;color:#dbeafe;font-size:1.02rem;line-height:1.5}.indicator-grid,.action-grid{display:grid;gap:12px;margin-top:18px}.indicator-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.indicator-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.indicator,.actions,.panel{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm)}.indicator{display:flex;min-height:96px;align-items:center;gap:13px;padding:17px}.indicator-action{padding:0}.indicator-action-content{display:flex;width:100%;min-height:94px;align-items:center;gap:13px;padding:17px;border:0;border-radius:7px;color:inherit;background:transparent;text-align:left;cursor:pointer}.indicator-action-content:hover{background:#fffbeb}.indicator-action-content:focus-visible{outline:3px solid rgba(15,118,110,.24);outline-offset:-3px}.indicator-icon{display:grid!important;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:8px;color:var(--brand-strong)!important;background:var(--brand-soft)}.indicator:nth-child(3) .indicator-icon{color:#7a4c05!important;background:#fff2cf}.indicator:nth-child(4) .indicator-icon{color:var(--red)!important;background:#fee9e7}.indicator-copy{min-width:0}.indicator span{display:block;color:#526171;font-size:.88rem}.indicator strong{display:block;margin-top:8px;font-size:2rem;line-height:1}.actions,.panel{margin-top:18px;padding:20px}.action-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.action-grid button{display:flex;min-height:52px;align-items:center;gap:9px;padding:12px;text-align:left}.action-grid button span{margin-right:auto}.action-grid .action-arrow{opacity:.68}.dashboard-header{display:flex;min-height:94px;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 18px;border-bottom:1px solid #dbe3ea}.dashboard-header h1{margin-bottom:6px}.dashboard-header .eyebrow{color:#0f766e}.dashboard-header .summary{color:#526171}.data-quality-badge{display:inline-flex;min-height:32px;align-items:center;padding:6px 10px;border:1px solid #f3cc79;border-radius:6px;color:#784b08;background:#fff8e6;font-size:.82rem;font-weight:800}.dashboard-filter-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;margin-top:18px;padding:16px;border:1px solid #dbe3ea;border-radius:8px;background:#fff}.dashboard-filter-band label{display:grid;min-width:0;gap:6px;color:#334155;font-size:.78rem;font-weight:800}.dashboard-filter-band select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #b8c4d1;border-radius:6px;color:#17202a;background:#fff}.dashboard-filter-band select:focus{border-color:#0f766e;outline:3px solid rgba(15,118,110,.18)}.clear-filters{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:0 13px;border:1px solid #cfd8e3;border-radius:6px;color:#334155;background:#fff;white-space:nowrap}.map-workspace,.coverage-section,.unmapped-section{margin-top:22px;padding-top:20px;border-top:1px solid #dbe3ea}.map-heading,.unmapped-section{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.map-heading h2,.unmapped-section h2{margin-bottom:0}.map-heading>span{color:#526171;font-size:.86rem;font-weight:700}.map-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(270px,.9fr);min-height:480px;margin-top:14px;overflow:hidden;border:1px solid #cfd8e3;border-radius:8px;background:#fff}.dashboard-map,.dashboard-map .leaflet-container{width:100%;min-height:480px}.dashboard-map{isolation:isolate}.dashboard-map .leaflet-container{background:#dce7ea;font-family:inherit}.map-marker-shell{border:0;background:transparent}.map-marker{display:grid;width:44px;height:44px;place-items:center;border:3px solid #ffffff;border-radius:50%;color:#fff;background:#0f766e;box-shadow:0 4px 12px #17202a4d;font-size:.86rem;font-weight:900}.map-marker.selected{outline:4px solid #f5b942;outline-offset:2px}.map-marker-implantacao{background:#2563a8}.map-marker-pausado{background:#a15c07}.map-marker-encerrado{background:#64748b}.map-marker-com_problema{background:#b42318}.map-popup{display:grid;gap:5px;min-width:210px;color:#17202a}.map-popup span{color:#526171;font-size:.82rem}.map-detail{min-width:0;padding:22px;border-left:1px solid #dbe3ea;background:#fff}.map-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-detail h3{margin:18px 0 8px;overflow-wrap:anywhere;font-size:1.18rem}.map-detail>p{color:#526171;line-height:1.45}.map-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin:22px 0}.map-metrics div{min-width:0}.map-metrics dt{color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}.map-metrics dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:.9rem;font-weight:800}.map-detail>button{display:inline-flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px;color:#fff;background:#0f766e}.coverage-section .panel-heading{margin-bottom:14px}.coverage-section .panel-heading button{display:inline-flex;align-items:center;gap:7px}.unmapped-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.unmapped-list button{display:grid;gap:2px;max-width:280px;padding:8px 10px;border:1px solid #e2b752;border-radius:6px;color:#5f3d08;background:#fffaf0;text-align:left}.unmapped-list span{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading h1,.panel-heading h2{margin-bottom:0}.panel-heading button,.status-banner button{flex:0 0 auto;padding:0 14px}.counter-pill{display:inline-flex;min-width:38px;min-height:32px;align-items:center;justify-content:center;border-radius:999px;color:#0f766e;background:#ccfbf1;font-weight:800;align-self:flex-start}.module-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.module-grid .panel{margin-top:0}.record-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{min-width:0;margin:0;padding:14px 0 0;border:0;border-top:1px solid var(--border)}.form-section:first-of-type{padding-top:0;border-top:0}.form-section legend{margin-bottom:12px;padding:0;color:var(--ink);font-size:.82rem;font-weight:800}.form-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.table-secondary{display:block;margin-top:3px;color:var(--ink-soft)}.supplier-delivery-title{display:flex;align-items:center;gap:7px}.supplier-delivery-summary{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px}.supplier-delivery-summary>strong{color:var(--brand-strong);font-size:1.6rem}.supplier-delivery-summary>div{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px 16px;margin-top:8px;color:var(--ink-soft)}.record-form input:hover,.record-form select:hover,.record-form textarea:hover{border-color:var(--border-strong)}.record-form input[type=file]{padding:6px;color:var(--ink-soft);background:var(--surface-subtle)}.record-form input[type=file]::file-selector-button{min-height:32px;margin-right:10px;padding:0 11px;border:1px solid var(--border);border-radius:5px;color:var(--brand-strong);background:var(--surface);font-weight:750;cursor:pointer}.advanced-fields{border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle)}.advanced-fields summary{padding:10px 12px;color:var(--ink-soft);font-size:.8rem;font-weight:750;cursor:pointer}.advanced-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 12px}.span-2{grid-column:1 / -1}.status-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:12px;border:1px solid #bae6fd;border-radius:8px;color:#075985;background:#f0f9ff;font-size:.92rem;font-weight:700}.status-banner.error{border-color:#fecaca;color:#991b1b;background:#fff1f2}.status-banner.error button{background:#991b1b}.connectivity-strip{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;color:var(--ink-soft);background:var(--surface-subtle);font-size:.78rem}.connectivity-strip>span,.offline-queue-item>div:first-child>span{display:inline-flex;align-items:center;gap:6px}.connectivity-strip.online>span:first-child{color:#08745f}.connectivity-strip.offline{border-color:#f5c974;color:#854d0e;background:#fffbeb}.queue-notice{margin:0 0 12px;padding:9px 10px;border-left:3px solid var(--brand);color:var(--ink-soft);background:#f0fdfa;font-size:.8rem;font-weight:650}.offline-queue{margin-bottom:16px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle)}.offline-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid var(--border)}.offline-queue-heading>div,.offline-queue-heading>div>div{display:flex;min-width:0;align-items:center;gap:8px}.offline-queue-heading>div>div{align-items:flex-start;flex-direction:column;gap:1px}.offline-queue-heading strong{color:var(--ink);font-size:.83rem}.offline-queue-heading span:not(.offline-queue-icon){color:var(--ink-muted);font-size:.7rem}.offline-queue-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:6px;color:var(--brand-strong);background:#ccfbf1}.compact-action{width:auto;min-height:32px;padding:0 10px;font-size:.75rem}.offline-queue-list{display:grid}.offline-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:10px;border-bottom:1px solid var(--border);background:var(--surface)}.offline-queue-item:last-child{border-bottom:0;border-radius:0 0 7px 7px}.offline-queue-item>div:first-child{display:grid;min-width:0;gap:3px}.offline-queue-item>div:first-child strong{overflow:hidden;color:var(--ink);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.offline-queue-item>div:first-child span,.offline-queue-item>p{color:var(--ink-muted);font-size:.72rem}.offline-queue-item>p{grid-column:1 / -1;margin:0;color:#991b1b}.queue-status{align-self:start;padding:4px 7px;border-radius:999px;color:#075985;background:#e0f2fe;font-size:.66rem;font-weight:800;white-space:nowrap}.queue-status.failed{color:#991b1b;background:#fee2e2}.offline-queue-actions{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px}.quiet-danger-action{display:inline-flex;min-height:32px;align-items:center;gap:6px;padding:0 9px;border:1px solid #fecaca;border-radius:5px;color:#991b1b;background:#fff;font-size:.75rem;font-weight:750}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:640px;font-size:.92rem}th,td{padding:12px 10px;border-bottom:1px solid #e5edf5;text-align:left;vertical-align:middle}th{color:#526171;font-size:.78rem;text-transform:uppercase}tbody tr:hover{background:#f4faf9}.table-actions{display:flex;gap:8px}.icon-action{display:inline-grid;width:34px;min-width:34px;height:34px;min-height:34px;place-items:center;padding:0}.table-actions button,.detail-heading button,.document-actions a{min-height:32px;padding:0 10px;border:1px solid #cfd8e3;border-radius:6px;color:#334155;background:#fff;text-decoration:none}.table-actions button:hover,.detail-heading button:hover,.document-actions a:hover,.secondary-action:hover{border-color:#0f766e;color:#0f766e}.document-actions{display:flex;flex-wrap:wrap;gap:8px}.document-actions a{display:inline-flex;align-items:center}.detail-panel{margin-top:18px;padding-top:16px;border-top:1px solid #e5edf5}.detail-panel h3{margin:22px 0 10px;font-size:1rem}.workflow-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.workflow-actions button{min-height:40px}.receipt-issue-button,.receipt-links a{display:inline-flex;align-items:center;justify-content:center;gap:7px}.receipt-issue-button{padding-inline:14px}.receipt-summary dd{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.financial-adjustment,.payment-form{margin-top:18px;padding-top:18px;border-top:1px solid #e2e8f0}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.detail-heading strong{font-size:1rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.detail-grid div{min-width:0}.detail-grid dt{color:#526171;font-size:.78rem;font-weight:800;text-transform:uppercase}.detail-grid dd{margin:4px 0 0;overflow-wrap:anywhere;color:#17202a;line-height:1.45}.status-pill{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:0 10px;color:#334155;background:#e2e8f0;font-size:.8rem;font-weight:800;white-space:nowrap}.status-pill.ativo,.status-pill.ativa{color:#065f46;background:#d1fae5}.status-pill.inativo,.status-pill.encerrado,.status-pill.encerrada{color:#475569;background:#e2e8f0}.status-pill.planejada,.status-pill.implantacao,.status-pill.em_analise{color:#1d4ed8;background:#dbeafe}.status-pill.pausada,.status-pill.pausado{color:#92400e;background:#fef3c7}.status-pill.com_problema{color:#991b1b;background:#fee2e2}.status-pill.bloqueado{color:#7f1d1d;background:#fecaca}.status-pill.material-bom{color:#065f46;background:#d1fae5}.status-pill.material-danificado,.status-pill.material-extraviado{color:#991b1b;background:#fee2e2}.status-pill.material-reposicao{color:#784b08;background:#fff3cd}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.module-title-band{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.module-title-band h1{margin:3px 0 0;font-size:1.55rem}.module-title-band p{margin:5px 0 0;color:var(--ink-soft)}.reports-workspace{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:520px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.report-catalog{display:grid;align-content:start;gap:3px;padding:12px;border-right:1px solid var(--border);background:#f9fbfb}.report-catalog button{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:68px;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:6px;color:var(--ink);background:transparent;text-align:left}.report-catalog button:hover,.report-catalog button.active{border-color:#b9e1dc;color:var(--brand-strong);background:var(--brand-soft)}.report-catalog button>span:first-child{display:grid;width:34px;height:34px;place-items:center;border-radius:6px;background:var(--surface)}.report-catalog button>span:last-child{display:grid;min-width:0;gap:3px}.report-catalog strong,.report-catalog small{overflow:hidden;text-overflow:ellipsis}.report-catalog strong{font-size:.86rem;white-space:nowrap}.report-catalog small{color:var(--ink-soft);font-size:.7rem;line-height:1.35}.report-builder{padding:28px}.report-builder-heading span{color:var(--ink-soft);font-size:.68rem;font-weight:800;text-transform:uppercase}.report-builder-heading h2{margin:5px 0;font-size:1.25rem}.report-builder-heading p{margin:0;color:var(--ink-soft)}.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin:28px 0 22px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.report-filters label,.audit-filters label{display:grid;gap:6px;color:var(--ink-soft);font-size:.74rem;font-weight:750}.report-filters input,.audit-filters input,.audit-filters select{min-height:40px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:6px;color:var(--ink);background:var(--surface)}.report-actions{display:flex;flex-wrap:wrap;gap:9px}.report-actions button{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--brand);border-radius:6px;color:#fff;background:var(--brand);font-weight:750}.report-actions button.secondary{color:var(--brand-strong);background:var(--surface)}.report-actions button:hover{border-color:var(--brand-strong);background:var(--brand-strong)}.report-actions button.secondary:hover{color:#fff}.audit-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,220px) minmax(170px,240px);gap:12px;margin-bottom:16px}.audit-filters .search-field{position:relative;display:flex;align-items:center}.audit-filters .search-field svg{position:absolute;left:11px;color:var(--ink-soft)}.audit-filters .search-field input{width:100%;padding-left:36px}.audit-records{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.audit-records td:nth-child(5){max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill.criado{color:#065f46;background:#d1fae5}.status-pill.alterado,.status-pill.transicao{color:#1d4ed8;background:#dbeafe}.status-pill.arquivo_acessado{color:#784b08;background:#fff3cd}.audit-drawer-backdrop{position:fixed;inset:0;z-index:100;background:#17242652}.audit-drawer{position:absolute;top:0;right:0;width:min(520px,100%);height:100%;overflow-y:auto;background:var(--surface);box-shadow:-16px 0 40px #17242626}.audit-drawer>header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:72px;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:#fffffff5}.audit-drawer>header>span{display:grid;width:36px;height:36px;place-items:center;border-radius:6px;color:var(--brand-strong);background:var(--brand-soft)}.audit-drawer>header>div{display:grid;min-width:0;gap:3px}.audit-drawer>header small{color:var(--ink-soft)}.audit-drawer-content{display:grid;gap:22px;padding:18px}.audit-drawer-content h3{margin:0 0 9px;font-size:.9rem}.audit-drawer-content section>p{margin:0;color:var(--ink-soft);font-size:.82rem}.user-header-actions,.user-form-actions,.protected-user,.user-role-list{display:flex;align-items:center}.user-header-actions,.user-form-actions{gap:8px}.user-records td:nth-child(3){max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity{display:grid;min-width:0;gap:2px}.user-identity strong,.user-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity small{color:var(--ink-soft);font-size:.72rem}.user-role-list{flex-wrap:wrap;gap:5px}.user-role-list>span{padding:3px 7px;border:1px solid #c9dedb;border-radius:999px;color:var(--brand-strong);background:#f0fdfa;font-size:.69rem;font-weight:750}.protected-user{width:max-content;gap:5px;color:var(--ink-soft);font-size:.72rem;font-weight:700}.user-form{padding:18px}.campaign-access-list{display:grid;gap:5px;margin:0;padding:12px;border:1px solid var(--border);border-radius:6px}.campaign-access-list legend{padding:0 5px;color:var(--ink-soft);font-size:.76rem;font-weight:800}.campaign-access-list p{margin:0;color:var(--ink-soft);font-size:.78rem}.password-drawer{width:min(420px,100%)}.user-form-actions>button{flex:1}.audit-summary,.audit-values{display:grid;gap:8px;margin:0}.audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-summary div,.audit-values div{min-width:0;padding-bottom:8px;border-bottom:1px solid var(--border)}.audit-summary dt,.audit-values dt{color:var(--ink-soft);font-size:.68rem;font-weight:800;text-transform:uppercase}.audit-summary dd,.audit-values dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:.84rem}.bairro-list{display:grid;gap:10px}.bairro-row{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(120px,1.3fr) auto auto;gap:12px;align-items:center;min-height:50px;padding:10px 12px;border:1px solid #e5edf5;border-radius:8px;background:#fbfdff}.bairro-bar{height:8px;overflow:hidden;border-radius:4px;background:#e5edf5}.bairro-bar span{display:block;height:100%;border-radius:inherit;background:#16857c}.bairro-row span{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.bairro-row strong{color:#0f766e}.bairro-row small{color:#526171}.empty-state{margin-bottom:0;color:#526171;line-height:1.5}.placeholder-panel{min-height:280px}button:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.routes-workspace,.field-route{display:grid;gap:18px}.routes-page-heading,.field-route-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.routes-page-heading h1,.field-route-heading h1{margin:0;color:var(--ink);font-size:1.75rem;letter-spacing:0;line-height:1.15}.routes-page-heading p:last-child,.field-route-heading p,.field-route-heading>div>span{margin:6px 0 0;color:var(--ink-soft)}.field-route-heading>div>span,.transport-chip{display:inline-flex;align-items:center;gap:7px}.transport-chip{min-height:34px;padding:0 11px;border:1px solid #b8d4df;border-radius:6px;color:#18536b;background:#eef8fb;font-size:.78rem;font-weight:800}.route-alert,.route-loading{display:flex;min-height:44px;align-items:center;gap:9px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:6px;color:var(--ink-soft);background:var(--surface);font-size:.86rem}.route-alert.error{border-color:#efc1bd;color:var(--red);background:#fff7f6}.route-alert.success{border-color:#abd9c7;color:#176647;background:#f0fbf5}.route-alert.warning{border-color:#efd09c;color:#8a4c05;background:#fff9ec}.route-empty-band,.return-to-base{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #c7d8df;border-radius:7px;background:#f5fafc}.route-empty-band>div,.return-to-base>div{display:grid;gap:3px}.route-empty-band span,.return-to-base span{color:var(--ink-soft);font-size:.82rem}.route-planner-layout{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.route-planner-form{display:grid;align-content:start;border-right:1px solid var(--border)}.route-form-section,.route-base-form{display:grid;gap:15px;padding:18px;border-bottom:1px solid var(--border)}.route-base-form{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.route-band-heading,.plan-preview-heading,.offline-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.route-band-heading>div{display:grid;gap:3px}.route-band-heading>div>span{color:var(--ink-soft);font-size:.75rem}.route-band-heading>svg{color:var(--brand)}.route-band-heading>button{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:5px;color:var(--ink-soft);background:transparent}.segmented-control{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--surface-muted)}.segmented-control button{min-height:38px;padding:0 10px;border:0;border-radius:5px;color:var(--ink-soft);background:transparent;font-size:.82rem;font-weight:750}.segmented-control button[aria-pressed=true]{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #1724261f}.inventory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.inventory-summary>div{display:flex;min-width:0;align-items:center;gap:11px;padding:15px 16px}.inventory-summary>div+div{border-left:1px solid var(--border)}.inventory-summary svg{flex:0 0 auto;color:var(--brand-strong)}.inventory-summary>div:nth-child(3) svg{color:#a16207}.inventory-summary>div:nth-child(4) svg{color:#1d4ed8}.inventory-summary span{display:grid;min-width:0}.inventory-summary strong{color:var(--ink);font-size:1.25rem;line-height:1.1}.inventory-summary small{margin-top:3px;overflow-wrap:anywhere;color:var(--ink-soft);font-size:.72rem;line-height:1.3}.inventory-tabs{width:min(100%,560px);margin-bottom:16px}.inventory-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.inventory-panel{margin-top:0}.inventory-form{max-width:840px}.inventory-table{min-width:880px}.material-pending-heading{align-items:flex-start}.material-pending-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.material-pending-summary span{display:inline-flex;min-height:30px;align-items:center;gap:4px;padding:0 9px;border:1px solid var(--border);border-radius:5px;color:var(--ink-soft);background:var(--surface-muted);font-size:.76rem;font-weight:700}.material-pending-summary span:first-child{border-color:#f1d38b;color:#7a4c05;background:#fffbeb}.material-pending-table{min-width:1040px}.material-pending-table td:first-child small{display:block;max-width:220px;margin-top:3px;color:var(--ink-soft);line-height:1.3}.material-pending-status{display:inline-flex;min-height:27px;align-items:center;padding:0 8px;border-radius:4px;font-size:.74rem;font-weight:800;white-space:nowrap}.material-pending-status.confirmed{color:#8a4b08;background:#fff2cf}.material-pending-status.unchecked{color:#475569;background:#eef2f7}.material-pending-actions{display:flex;min-width:310px;gap:7px}.material-pending-actions .compact-action{flex:1 1 0;white-space:nowrap}.location-cell{display:inline-flex;min-width:0;align-items:center;gap:8px}.location-cell svg{flex:0 0 auto;color:var(--brand-strong)}.location-cell strong{overflow-wrap:anywhere}.movement-kind{display:inline-flex;min-height:27px;align-items:center;padding:0 8px;border-left:3px solid #0f766e;border-radius:4px;color:#115e59;background:#ecfdf5;font-size:.78rem;font-weight:800;white-space:nowrap}.movement-dano,.movement-perda,.movement-ajuste_saida{border-left-color:#b42318;color:#991b1b;background:#fff1f2}.movement-recolhimento,.movement-transferencia,.movement-ajuste_entrada{border-left-color:#1d4ed8;color:#1e40af;background:#eff6ff}.route-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-form-grid label,.outing-settings label,.point-limit-field,.route-dialog label{display:grid;gap:6px;color:#3d4b4e;font-size:.78rem;font-weight:750}.route-form-grid input,.route-form-grid select,.outing-settings input,.outing-settings select,.point-limit-field input,.route-dialog textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:6px;color:var(--ink);background:var(--surface)}.route-form-grid .span-2{grid-column:1 / -1}.neighborhood-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.neighborhood-picker label{position:relative;display:grid;min-width:0;gap:2px;padding:10px 10px 10px 36px;border:1px solid var(--border);border-radius:6px;color:var(--ink);background:var(--surface);cursor:pointer}.neighborhood-picker label.selected{border-color:#71bcb3;background:var(--brand-soft)}.neighborhood-picker input{position:absolute;top:13px;left:11px;width:16px;height:16px;accent-color:var(--brand)}.neighborhood-picker span{overflow:hidden;font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.neighborhood-picker small{color:var(--ink-soft);font-size:.7rem}.mandatory-point-picker{border-top:1px solid var(--border);padding-top:10px}.mandatory-point-picker summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink);font-size:.78rem;font-weight:800;cursor:pointer}.mandatory-point-picker summary span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:var(--brand-strong);background:var(--brand-soft);font-size:.68rem}.mandatory-point-picker>div{display:grid;max-height:210px;overflow-y:auto;margin-top:9px;border:1px solid var(--border);border-radius:6px}.mandatory-point-picker label{display:flex;min-height:45px;align-items:center;gap:9px;padding:7px 9px;border-bottom:1px solid var(--border);cursor:pointer}.mandatory-point-picker label:last-child{border-bottom:0}.mandatory-point-picker input{width:17px;height:17px;accent-color:var(--brand)}.mandatory-point-picker label>span{display:grid;min-width:0;gap:2px}.mandatory-point-picker strong,.mandatory-point-picker small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mandatory-point-picker strong{font-size:.76rem}.mandatory-point-picker small{color:var(--ink-soft);font-size:.67rem}.outing-settings{display:grid;gap:10px}.outing-settings>div{display:grid;grid-template-columns:74px minmax(0,1fr) minmax(0,1fr);align-items:end;gap:9px;padding:10px;border-left:3px solid #4b91be;background:#f5f9fc}.outing-settings>div>strong{align-self:center;font-size:.8rem}.point-limit-field{grid-template-columns:minmax(0,1fr) 90px;align-items:center}.route-generate-action{min-height:48px;margin:18px}.route-plan-preview{min-width:0;background:#f8fafa}.route-preview-empty{display:grid;min-height:520px;place-items:center;align-content:center;gap:8px;padding:24px;color:var(--ink-soft);text-align:center}.route-preview-empty svg{color:#759297}.plan-preview-content{display:grid;gap:14px;padding:18px}.plan-preview-heading>div:first-child{min-width:0}.plan-preview-heading h2{margin:7px 0 2px;font-size:1.1rem}.plan-preview-heading p{margin:0;color:var(--ink-soft);font-size:.78rem}.plan-preview-heading>div:last-child{display:grid;text-align:right}.plan-preview-heading>div:last-child strong{color:var(--blue);font-size:1.5rem}.plan-preview-heading>div:last-child span{color:var(--ink-soft);font-size:.7rem}.route-status,.stop-state{display:inline-flex;width:fit-content;min-height:24px;align-items:center;padding:0 8px;border-radius:999px;color:#4c5d60;background:#e8eeee;font-size:.68rem;font-weight:800;white-space:nowrap}.route-status.publicado,.route-status.em_andamento{color:#18536b;background:#dff1f8}.route-status.concluido,.stop-state.fiscalizada{color:#176647;background:#dcf5e8}.route-status.concluido_parcial,.stop-state.com_problema,.stop-state.pulada,.stop-state.inacessivel{color:#8a4c05;background:#fff0cf}.route-status.cancelado,.stop-state.cancelada{color:#8b3129;background:#fce5e3}.preview-outing-tabs,.field-outing-tabs{display:flex;gap:7px;overflow-x:auto}.preview-outing-tabs button,.field-outing-tabs button{min-height:38px;flex:1 0 auto;padding:0 11px;border:1px solid var(--border);border-radius:6px;color:var(--ink-soft);background:var(--surface);font-size:.76rem;font-weight:750}.preview-outing-tabs button[aria-pressed=true],.field-outing-tabs button[aria-pressed=true]{border-color:#69b6ad;color:var(--brand-strong);background:var(--brand-soft)}.plan-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:6px;background:var(--surface)}.plan-metrics>div{display:grid;gap:3px;padding:10px;border-right:1px solid var(--border)}.plan-metrics>div:last-child{border-right:0}.plan-metrics span{color:var(--ink-soft);font-size:.66rem}.plan-metrics strong{font-size:.84rem}.route-map{min-height:370px;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:#e7eef0}.route-map .leaflet-container{width:100%;min-height:370px}.route-marker-shell{border:0;background:transparent}.route-marker{display:grid;width:36px;height:36px;place-items:center;border:3px solid #ffffff;border-radius:50%;color:#fff;background:#2563a8;box-shadow:0 2px 8px #17242652;font-size:.78rem;font-weight:900}.route-marker.selected{box-shadow:0 0 0 4px #f5a623,0 2px 8px #17242652}.route-marker-base{width:40px;height:40px;background:#172426}.route-marker-fiscalizada{background:#21805b}.route-marker-com_problema,.route-marker-pulada,.route-marker-inacessivel{background:#bd6b08}.route-marker-cancelada{background:#7d898b}.route-map-popup{display:grid;gap:3px}.preview-stop-list{display:grid;max-height:260px;gap:0;overflow-y:auto;margin:0;padding:0;list-style:none}.preview-stop-list li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 3px;border-bottom:1px solid var(--border)}.preview-stop-list li>span:first-child,.stop-sequence{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:.72rem;font-weight:850}.preview-stop-list li div{display:grid;min-width:0;gap:2px}.preview-stop-list small,.preview-stop-list li>span:last-child{color:var(--ink-soft);font-size:.7rem}.plan-preview-actions{display:flex;gap:8px}.plan-preview-actions .primary-action{flex:1}.route-history{display:grid;gap:10px;padding-top:4px}.route-history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.route-history-list button{display:flex;min-width:0;min-height:60px;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:6px;color:var(--ink);background:var(--surface);text-align:left}.route-history-list button[aria-pressed=true]{border-color:#6dbbb2;box-shadow:inset 3px 0 var(--brand)}.route-history-list button>span:first-child{display:grid;min-width:0;gap:3px}.route-history-list strong,.route-history-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-history-list strong{font-size:.78rem}.route-history-list small{color:var(--ink-soft);font-size:.69rem}.field-route{width:min(920px,100%);margin:0 auto}.field-route-empty{display:grid;min-height:420px;place-items:center;align-content:center;gap:10px;color:var(--ink-soft);text-align:center}.field-route-empty h1,.field-route-empty p{margin:0}.field-outing-tabs button{display:grid;gap:2px;padding:8px 12px;text-align:left}.field-outing-tabs small{font-size:.68rem}.field-route-progress{display:grid;gap:9px;padding:14px 16px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.field-route-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.field-route-progress progress{width:100%;height:8px;accent-color:var(--brand)}.field-route-metrics{display:flex;flex-wrap:wrap;gap:14px;color:var(--ink-soft);font-size:.74rem}.field-route-metrics span{display:inline-flex;align-items:center;gap:5px}.field-primary-action,.field-secondary-action,.next-stop-actions a,.field-route-toolbar a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:7px;font-weight:800;text-decoration:none}.field-primary-action{color:#fff;background:var(--brand)}.field-secondary-action{border-color:var(--border-strong);color:var(--ink);background:var(--surface)}.next-stop-panel{display:grid;grid-template-columns:66px minmax(0,1fr);gap:14px 16px;padding:18px;border:1px solid #91c9c2;border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #17242614}.next-stop-order{display:grid;width:62px;height:62px;place-items:center;align-content:center;border-radius:7px;color:#fff;background:var(--blue)}.next-stop-order span{font-size:.62rem;font-weight:750;text-transform:uppercase}.next-stop-order strong{font-size:1.55rem;line-height:1}.next-stop-content{min-width:0}.next-stop-content>span{color:var(--blue);font-size:.7rem;font-weight:850;text-transform:uppercase}.next-stop-content h2{margin:3px 0;font-size:1.2rem;letter-spacing:0}.next-stop-content p,.next-stop-content small{margin:0;color:var(--ink-soft);line-height:1.4}.next-stop-facts,.priority-reasons,.next-stop-actions{grid-column:1 / -1}.next-stop-facts{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:12px;border-top:1px solid var(--border);color:#3d4b4e;font-size:.8rem}.next-stop-facts span{display:inline-flex;align-items:center;gap:6px}.priority-reasons{display:flex;flex-wrap:wrap;gap:6px}.priority-reasons span{padding:4px 7px;border-radius:4px;color:#8a4c05;background:#fff0cf;font-size:.68rem;font-weight:750}.next-stop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.next-stop-actions a{border-color:#9bc5dc;color:#18536b;background:#edf7fb}.next-stop-actions .field-secondary-action{grid-column:1 / -1;min-height:40px}.field-route-toolbar{display:flex;justify-content:flex-end}.field-route-toolbar a{min-height:40px;border-color:var(--border);color:var(--ink);background:var(--surface);font-size:.78rem}.field-stop-list{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.field-stop-list button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:62px;padding:9px 11px;border:0;border-bottom:1px solid var(--border);color:var(--ink);background:transparent;text-align:left}.field-stop-list button:last-child{border-bottom:0}.field-stop-list button[aria-current=true]{background:#f0f8f7}.field-stop-list button>span:nth-child(2){display:grid;min-width:0;gap:3px}.field-stop-list strong,.field-stop-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-stop-list strong{font-size:.82rem}.field-stop-list small{color:var(--ink-soft);font-size:.7rem}.stop-sequence.fiscalizada{background:#21805b}.stop-sequence.pulada,.stop-sequence.inacessivel,.stop-sequence.com_problema{background:#bd6b08}.return-to-base>svg{flex:0 0 auto;color:#21805b}.route-dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#17242685}.route-dialog{display:grid;width:min(440px,100%);gap:16px;padding:18px;border-radius:8px;background:var(--surface);box-shadow:var(--shadow-md)}.route-dialog textarea{resize:vertical}.route-inspection-context{display:flex;min-height:58px;align-items:center;gap:10px;padding:10px 12px;border:1px solid #8fcac2;border-radius:7px;color:var(--brand-strong);background:var(--brand-soft)}.route-inspection-context>div{display:grid;gap:2px}.route-inspection-context span{color:var(--ink-soft);font-size:.7rem;font-weight:750;text-transform:uppercase}.route-inspection-context strong{color:var(--ink);font-size:.84rem}@media(max-width:1120px){.route-planner-layout{grid-template-columns:minmax(330px,.85fr) minmax(430px,1.15fr)}.route-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.action-grid,.module-grid{grid-template-columns:1fr}.indicator-grid,.inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-summary>div+div{border-left:0}.inventory-summary>div:nth-child(2n){border-left:1px solid var(--border)}.inventory-summary>div:nth-child(n+3){border-top:1px solid var(--border)}.dashboard-filter-band{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout{grid-template-columns:1fr}.map-detail{border-top:1px solid #dbe3ea;border-left:0}.record-form,.form-section-grid,.reports-workspace{grid-template-columns:1fr}.report-catalog{grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--border)}.audit-filters{grid-template-columns:1fr 1fr}.audit-filters .search-field{grid-column:1 / -1}.route-planner-layout{grid-template-columns:1fr}.route-planner-form{border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:840px){.application-frame{grid-template-columns:1fr}.app-sidebar{display:none}.workspace-header{min-height:60px;padding:8px 12px}.mobile-brand{display:grid}.workspace-context{display:none}.campaign-switcher{min-width:0;flex:1;margin-right:auto}.campaign-switcher>span{display:none}.campaign-switcher>svg{grid-row:auto}.campaign-switcher select{max-width:min(52vw,300px)}.campaign-selection-content h1{font-size:1.8rem}.location-picker-heading{align-items:flex-start;flex-direction:column}.location-picker-actions{width:100%}.location-picker-actions .secondary-action{flex:1}.location-map{height:280px}.report-catalog{display:flex;overflow-x:auto}.report-catalog button{min-width:220px}.report-builder{padding:18px 14px}.report-filters,.audit-filters{grid-template-columns:1fr}.audit-filters .search-field{grid-column:auto}.audit-summary,.onboarding-fields{grid-template-columns:1fr}.onboarding-fields .span-2{grid-column:auto}.user-avatar,.user-summary>div,.logout-button span{display:none}.logout-button{width:38px;padding:0;justify-content:center}.app-main{padding:16px 12px 96px}.success-toast{top:68px;right:12px}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:50;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;min-height:68px;padding:6px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid var(--border);background:#fffffff7;box-shadow:0 -8px 24px #17242614;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav button{display:grid;min-width:0;min-height:54px;place-items:center;align-content:center;gap:3px;padding:3px;border:0;border-radius:6px;color:#657477;background:transparent;font-size:.65rem;font-weight:750}.mobile-bottom-nav button[aria-current=page]{color:var(--brand-strong);background:var(--brand-soft)}.mobile-bottom-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routes-page-heading,.field-route-heading{align-items:stretch}.route-map,.route-map .leaflet-container{min-height:320px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:720px){.app-shell{width:min(100% - 20px,1180px);padding:12px 0 28px}.topbar,.dashboard-header,.map-heading,.unmapped-section{align-items:stretch;flex-direction:column}.dashboard-filter-band,.indicator-grid,.inventory-summary{grid-template-columns:1fr}.inventory-summary>div:nth-child(2n){border-left:0}.inventory-summary>div:nth-child(n+2){border-top:1px solid var(--border)}.inventory-tabs{width:100%;overflow-x:auto;grid-auto-columns:minmax(112px,1fr)}.advanced-fields-grid{grid-template-columns:1fr}.routes-page-heading,.field-route-heading,.route-empty-band,.return-to-base{align-items:stretch;flex-direction:column}.routes-page-heading h1,.field-route-heading h1{font-size:1.45rem}.transport-chip,.field-route-heading>.route-status{align-self:flex-start}.route-form-grid,.neighborhood-picker,.plan-metrics,.next-stop-actions{grid-template-columns:1fr}.route-form-grid .span-2,.next-stop-actions .field-secondary-action{grid-column:auto}.outing-settings>div{grid-template-columns:1fr 1fr}.outing-settings>div>strong{grid-column:1 / -1}.route-history-list{grid-template-columns:1fr}.plan-metrics>div{border-right:0;border-bottom:1px solid var(--border)}.plan-metrics>div:last-child{border-bottom:0}.route-map,.route-map .leaflet-container{min-height:300px}.next-stop-panel{grid-template-columns:54px minmax(0,1fr);padding:14px}.next-stop-order{width:52px;height:52px}.next-stop-content h2{font-size:1.05rem}.next-stop-actions a,.next-stop-actions button,.field-primary-action{width:100%}.field-route-metrics{gap:8px 12px}.field-stop-list button{grid-template-columns:32px minmax(0,1fr)}.field-stop-list .stop-state{grid-column:2}.route-dialog-backdrop{align-items:end;padding:0}.route-dialog{width:100%;border-radius:8px 8px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.map-layout,.dashboard-map,.dashboard-map .leaflet-container{min-height:390px}.map-detail{min-height:auto}.unmapped-list{justify-content:stretch}.unmapped-list button{width:100%;max-width:none}.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%;min-width:0}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:10px}.table-wrap tr{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.table-wrap td{display:grid;grid-template-columns:minmax(88px,.38fr) minmax(0,.62fr);gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #e8eeee;overflow-wrap:anywhere;text-align:right}.table-wrap td:last-child{border-bottom:0}.table-wrap td:before{content:attr(data-label);color:var(--ink-soft);font-size:.68rem;font-weight:800;text-align:left;text-transform:uppercase}.table-wrap td .table-actions,.table-wrap td>button{justify-self:end}.table-wrap td .status-pill{width:max-content;justify-self:end}.table-wrap td .location-cell{justify-self:end}.inventory-tabs{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.material-pending-summary{justify-content:flex-start}.material-pending-table td[data-label=Ações]{grid-template-columns:1fr;align-items:stretch}.material-pending-actions{width:100%;min-width:0;flex-direction:column}.material-pending-actions .compact-action{width:100%;flex:none}.hero{min-height:220px;padding:22px}.panel-heading,.status-banner,.bairro-row,.detail-grid{align-items:stretch;grid-template-columns:1fr}.panel-heading,.status-banner{flex-direction:column}.panel-heading button,.status-banner button{width:100%}.indicator{min-height:86px}.detail-heading,.table-actions,.document-actions{align-items:stretch;flex-direction:column}}
