.operation-page{display:grid;gap:18px}
.operation-page>.card-header,.operation-block{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.operation-page>.card-header{margin-bottom:0}
.operation-page h2,.operation-block h3{margin:0 0 6px}
.operation-page .eyebrow{margin:0 0 6px;color:#738397;font-size:10px;font-weight:750;letter-spacing:.11em}
.operation-filters{padding:0;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
.operation-filters>div{min-width:0}
.operation-filters input,.operation-filters select{width:100%;border:1px solid #ccd8e2;border-radius:8px;padding:10px;color:#344459;background:#fff;font:inherit;font-size:13px}
.operation-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.operation-metrics .metric{min-height:102px}
.operation-columns{display:grid;grid-template-columns:1fr;gap:16px}
.operation-block{min-width:0}
.operation-block>.card-header{padding:0 0 14px;border-bottom:1px solid var(--line);margin-bottom:16px}
.operation-count{color:#708096;font-size:12px}
.operation-company-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.operation-company{min-width:0;border:1px solid #e0e7ed;border-radius:11px;padding:17px;background:linear-gradient(150deg,#fff,#f9fbfc);display:grid;gap:15px;box-shadow:0 3px 12px #16263b08}
.operation-company-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.operation-company h4{margin:0 0 5px;color:#1c2d42;font-size:16px}
.operation-company p{margin:0;color:#63748a;font-size:12px;line-height:1.6}
.operation-state{flex:none;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}
.operation-state.is-tracked{background:#e8f5ed;color:#23764c}.operation-state.is-untracked{background:#f0f2f5;color:#657386}
.operation-company-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.operation-company-kpis>div{min-width:0;padding:10px 11px;border-radius:8px;background:#f3f6f8}
.operation-company-kpis span,.operation-company-kpis strong{display:block}
.operation-company-kpis span{color:#708096;font-size:10px;line-height:1.5}
.operation-company-kpis strong{margin-top:4px;color:#25374d;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.operation-progress{height:6px;border-radius:10px;background:#e7edf1;overflow:hidden}.operation-progress span{display:block;height:100%;border-radius:inherit;background:#428f6c}
.operation-no-rate{color:#738397;font-size:11px}
.operation-company-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.operation-company-actions button,.operation-history-actions button{border:1px solid #d5dee6;border-radius:7px;background:#fff;color:#344459;padding:8px 11px;font:inherit;font-size:11px;font-weight:650;cursor:pointer}
.operation-company-actions .primary{border-color:#216d58;background:#216d58;color:#fff}
.operation-details-dialog{width:min(760px,calc(100vw - 28px));max-height:min(86vh,900px);overflow:auto}
.operation-details-dialog #operation-company-details{padding:14px 0}
.operation-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.operation-detail-summary p{margin:0;color:#63748a;font-size:13px}.operation-detail-summary strong{color:#26384e}
.operation-history-section{margin-top:10px}.operation-history-section>.card-header{margin-bottom:10px}
.operation-history-list{display:grid;gap:9px;max-height:42vh;overflow:auto}
.operation-history-item{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fafcfd}
.operation-history-item>div:first-child{display:flex;justify-content:space-between;gap:10px;color:#26384e;font-size:12px}
.operation-history-item>div:first-child span{color:#728197;font-size:11px}
.operation-history-item p{margin:8px 0 0;color:#617187;font-size:12px;line-height:1.5}
.operation-history-item .operation-history-observation{white-space:pre-wrap;overflow-wrap:anywhere}
.operation-history-actions{display:flex;justify-content:flex-end;margin-top:8px}
.operation-page .map-status{margin:0}
.map-company-card{border-top:1px solid var(--line);padding:15px 20px;background:#fff}
.map-company-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-company-heading h3{margin:0;color:#23364b;font-size:16px}
.map-company-address{margin:10px 0;color:#64758a;font-size:12px;line-height:1.6}
.map-company-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.map-company-stats>div{min-width:0;padding:9px;border-radius:7px;background:#f3f6f8}.map-company-stats span,.map-company-stats strong{display:block}
.map-company-stats span{color:#738397;font-size:10px}.map-company-stats strong{margin-top:4px;color:#26384e;font-size:12px;overflow-wrap:anywhere}
.map-company-demo{color:#826528;font-size:10px}
.operator-legend{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center}.operator-color-key{display:inline-flex;align-items:center;gap:5px;color:#536477;font-size:10px}.operator-color-key i{display:grid;place-items:center;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:var(--operator-color);box-shadow:0 0 0 1px #b8c4ce;color:#fff;font-size:7px;font-style:normal;font-weight:750}.operator-color-key i.unassigned{background:#718096}
.point-pin{display:grid;place-items:center;width:30px;height:30px;border-width:3px}.point-pin>span{color:#fff;font-size:8px;font-weight:800;line-height:1;text-shadow:0 1px 2px #0008}
.operation-health,.health-indicator{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #dfe6eb;border-left:4px solid #8a96a3;border-radius:7px;background:#f4f6f8;color:#566578;font-size:11px}.operation-health b,.health-indicator b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e0e5e9;font-size:12px}.health-green{border-left-color:#368353!important;background:#edf7ef!important;color:#24623b!important}.health-green b{background:#d5eddb!important}.health-yellow{border-left-color:#c08a16!important;background:#fff8e5!important;color:#79590d!important}.health-yellow b{background:#ffedb4!important}.health-red{border-left-color:#bf4d4d!important;background:#fff0f0!important;color:#8c3333!important}.health-red b{background:#f8d7d7!important}.health-neutral{border-left-color:#8a96a3!important;background:#f4f6f8!important;color:#566578!important}.health-cell{grid-column:span 2}.health-indicator{padding:5px 7px;font-size:10px}.health-indicator b{width:17px;height:17px;font-size:10px}
.operation-history-actions{gap:8px;flex-wrap:wrap}.operation-history-actions button.danger-text{color:#a43c3c;border-color:#ebcaca}.operation-history-actions button:disabled{opacity:.55;cursor:wait}
.operation-progress.health-green span{background:#368353}.operation-progress.health-yellow span{background:#c08a16}.operation-progress.health-red span{background:#bf4d4d}.operation-no-rate{border-left:3px solid #8a96a3;padding:5px 8px}
@media(max-width:950px){.operation-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:650px){.operation-page>.card-header{align-items:flex-start;gap:12px;flex-wrap:wrap;padding:16px}.operation-filters{grid-template-columns:1fr}.operation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-metrics .metric{padding:13px;min-height:90px}.operation-metrics .metric strong{font-size:19px}.operation-block{padding:14px}.operation-company-list{grid-template-columns:1fr}.operation-company{padding:14px}.operation-detail-summary{grid-template-columns:1fr}.operation-details-dialog{padding:16px}.map-company-card{padding:13px}.map-company-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Milebs v0.5 · execução de visitas e portal simulado do operador. */
.visit-management{display:grid;gap:18px}.simulation-disclaimer,.portal-simulation-banner,.portal-isolation-note{margin:0;padding:12px 14px;border:1px solid #dfe8e8;border-radius:9px;background:#f6f9f9;color:#52676d;font-size:12px;line-height:1.55}.visit-admin-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}.visit-admin-filters>div{display:grid;gap:6px}.visit-admin-filters label,.portal-header label{color:#50636b;font-size:11px;font-weight:650}.visit-admin-filters input,.visit-admin-filters select,.portal-header select{width:100%;min-width:0;padding:10px;border:1px solid #d2dfe2;border-radius:8px;background:#fff;color:#29424b;font:inherit;font-size:12px}.visit-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.visit-metrics .metric{min-height:95px}.visit-metrics .metric strong{font-size:24px}.visit-metrics .metric small{display:block;max-width:260px;margin-top:5px;color:#78898e;font-size:9px;line-height:1.5}.visit-list-heading{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.visit-list-heading h3{margin:0;font-size:15px}.visit-list-heading span{color:#718189;font-size:11px}.visit-admin-list{display:grid;gap:10px}.execution-visit-card,.portal-visit-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e1e9eb;border-radius:10px;background:#fff;box-shadow:0 3px 10px #163b4608}.execution-visit-card:hover,.portal-visit-card:hover{border-color:#c7d9d9}.visit-card-main{min-width:0;flex:1}.visit-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.visit-card-title h3,.portal-visit-card h3{margin:3px 0 7px;color:#263f47;font-size:15px}.visit-card-title .eyebrow{margin:0;color:#809096;font-size:9px;font-weight:700;letter-spacing:.08em}.visit-card-meta,.visit-card-reason,.portal-visit-card p{margin:5px 0;color:#5b7077;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.visit-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.visit-status{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;background:#eef2f2;color:#566970;font-size:10px;font-weight:700}.visit-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.visit-status.pending{background:#f2f5f5;color:#65757a}.visit-status.progress{background:#e8f2ff;color:#2e64a1}.visit-status.completed{background:#e7f5ec;color:#287344}.visit-status.not-completed{background:#fff3e5;color:#986021}.visit-status.cancelled{background:#fbecec;color:#9a4a4a}.visit-empty{display:grid;gap:5px;padding:24px;border:1px dashed #d4e0e2;border-radius:10px;background:#fafcfc;color:#61747b;font-size:12px}.visit-empty strong{color:#344d55;font-size:13px}.visit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.visit-detail-grid p{display:grid;gap:5px;margin:0;padding:11px;border:1px solid #e8edef;border-radius:8px}.visit-detail-grid span{color:#798a8f;font-size:10px}.visit-detail-grid b{color:#314a52;font-size:12px;overflow-wrap:anywhere}.visit-observation,.visit-timeline{margin-top:18px}.visit-observation h3,.visit-timeline h3{font-size:13px}.visit-observation p{padding:12px;border-radius:8px;background:#f7f9f9;color:#52686e;font-size:12px;line-height:1.6}.visit-timeline ol{display:grid;gap:9px;margin:0;padding:0;list-style:none}.visit-timeline li{display:grid;gap:5px;padding:11px;border-left:3px solid #78aa9a;background:#f8faf9}.visit-timeline li b{font-size:12px;color:#36564f}.visit-timeline li time,.visit-timeline li small,.visit-timeline li span,.visit-timeline li p{font-size:10px;color:#63767a}.visit-add-note{display:grid;gap:6px;margin:15px 0 9px;color:#52676d;font-size:11px;font-weight:650}.visit-add-note textarea{width:100%;padding:10px;border:1px solid #d5e0e2;border-radius:8px;font:inherit;font-size:12px}.portal-mode .sidebar nav[aria-label="Navegação principal"],.portal-mode .sidebar .nav-caption,.portal-mode .sidebar-note,.portal-mode .data-toolbar,.portal-mode .page-heading,.portal-mode .demo-notice,.portal-mode .page-footer{display:none}.operator-portal{display:grid;gap:16px}.portal-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,250px) auto;align-items:center;gap:18px;padding:20px;border:1px solid #dce7e8;border-radius:12px;background:linear-gradient(120deg,#fff,#f2f8f6)}.portal-header h1{margin:3px 0;font-size:23px}.portal-header p{margin:4px 0;color:#62777d;font-size:12px}.portal-header .eyebrow{font-size:9px;font-weight:700;letter-spacing:.12em}.portal-header label{display:grid;gap:6px}.portal-admin-return{align-self:end;padding:10px 12px;border:1px solid #d8e3e4;border-radius:8px;background:#fff;color:#395a5e;font-size:11px;text-decoration:none}.portal-simulation-banner{border-color:#eadfb9;background:#fffaf0;color:#765b26}.portal-tabs{display:flex;gap:6px;overflow-x:auto;padding:5px;border:1px solid #e1e9ea;border-radius:10px;background:#f7f9f9}.portal-tabs a{flex:0 0 auto;padding:10px 15px;border-radius:7px;color:#5d7278;font-size:12px;text-decoration:none}.portal-tabs a[aria-selected=true]{background:#fff;color:#285e55;box-shadow:0 2px 7px #1e42430f;font-weight:700}.portal-subpanel{min-height:280px;padding:20px;border:1px solid #e0e8ea;border-radius:12px;background:#fff;box-shadow:0 5px 16px #183a4608}.portal-subpanel>h2,.portal-day-heading h2,.portal-home-visits h2{margin:0;color:#304950;font-size:17px}.portal-day-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.portal-day-heading time,.portal-day-heading p{color:#708188;font-size:11px}.portal-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portal-summary-cards article{display:grid;gap:8px;min-height:105px;padding:15px;border:1px solid #e2e9ea;border-radius:9px;background:#fbfcfc}.portal-summary-cards span{color:#718187;font-size:10px}.portal-summary-cards strong{color:#244b4a;font-size:26px}.portal-summary-cards small{color:#66797e;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-home-visits,.portal-visit-group{margin-top:21px}.portal-home-visits h2,.portal-visit-group h3{margin:0 0 10px;font-size:14px}.portal-visit-group h3{color:#51696f}.portal-visit-card{margin:9px 0}.portal-observation{padding-left:9px;border-left:2px solid #83ad9e}.portal-route-link{display:inline-block;margin-top:10px;text-decoration:none}.portal-isolation-note{margin-top:18px;font-size:10px}.portal-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.portal-detail-actions button{min-height:42px}.portal-identity-note{color:#79898d;font-size:10px;line-height:1.5}.portal-route-status{margin:0;padding:11px 13px;border:1px solid #e3e9e9;border-top:0;background:#f7faf9;color:#5c7076;font-size:11px;line-height:1.5}.portal-route-sequence ol{display:grid;gap:9px;margin:14px 0 0;padding:0;list-style:none}.portal-route-sequence li{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid #e2e9ea;border-radius:9px}.portal-route-sequence li>span{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:#e7f2ef;color:#2e685b;font-weight:700}.portal-route-sequence li div{display:grid;gap:4px}.portal-route-sequence li b{font-size:12px}.portal-route-sequence li small{color:#66797e;font-size:10px;line-height:1.45}#portal-route-map{height:390px;border:1px solid #dae4e5;border-radius:10px;background:#eaf0ef}.portal-visit-group>div:empty{display:none}
@media(max-width:950px){.visit-admin-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}.portal-header{grid-template-columns:1fr 1fr}.portal-admin-return{justify-self:start}.visit-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.visit-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.execution-visit-card,.portal-visit-card{align-items:stretch;flex-direction:column}.visit-card-actions{justify-content:flex-start}.visit-card-actions button,.portal-visit-card button{min-height:42px}.visit-card-title{align-items:flex-start;flex-direction:column}.portal-header{grid-template-columns:1fr;padding:15px}.portal-header h1{font-size:20px}.portal-header label{max-width:none}.portal-admin-return{justify-self:stretch;text-align:center}.portal-subpanel{padding:14px}.portal-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-day-heading{align-items:flex-start;flex-direction:column}.visit-detail-grid{grid-template-columns:1fr}#portal-route-map{height:320px}}
@media(max-width:390px){.visit-admin-filters{grid-template-columns:1fr}.visit-metrics{grid-template-columns:1fr}.portal-summary-cards{grid-template-columns:1fr}.portal-tabs a{padding:10px 11px}.portal-simulation-banner{font-size:11px}}
@media(prefers-reduced-motion:reduce){.execution-visit-card,.portal-visit-card,.portal-tabs a{transition:none!important}}
