:root{font-family:Arial,system-ui,sans-serif;color:#112a40;background:#e7eef3;font-size:16px;--blue:#004977;--gold:#cd8600}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:10px;padding:14px;background:#e8f0f6;color:#112a40;font-weight:700;min-height:48px}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #cd8600;outline-offset:3px}.app{max-width:540px;margin:auto;min-height:100dvh;background:#f9fbfd;box-shadow:0 0 30px #102b3e22}header{background:#102b3e;color:white;display:flex;align-items:center;justify-content:space-between;padding:16px;position:sticky;top:0;z-index:500;gap:8px}header button{background:transparent;color:white;font-size:24px;padding:4px 12px}.brand{font-size:27px;letter-spacing:3px;font-weight:800;color:white;text-decoration:none;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:5px}#syncBadge{font-size:12px;max-width:115px;text-align:right;line-height:1.4}main{padding:16px 16px 110px}h1{font-size:24px;margin:12px 0}h2{font-size:20px;margin:12px 0}h3{font-size:17px;margin:8px 0}p{line-height:1.5}small,.muted{color:#53677b;font-size:13px}.equipment{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #dce5ec}.equipment img{width:82px;height:70px;object-fit:cover;border-radius:10px}.machine{font-size:40px;background:#edf3f7;border-radius:10px;padding:10px}.equipment h1{margin:0 0 4px}.identity{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.identity strong,.stat strong{display:block;margin-top:5px;font-size:15px}.activity{width:100%;text-align:left;background:#daf2d9;padding:18px;border:1px solid #c8e7c7}.activity.unproductive{background:#ffdfdc;border-color:#f1bbb5}.activity.unknown{background:#e8edf3;border-color:#d4dce4}.activity small{display:block;font-size:12px;font-weight:700;color:#223d31}.activity strong{display:block;font-size:20px;line-height:1.3;margin:6px 0;text-transform:uppercase}.activity span{font-size:14px;font-weight:400}.clock{text-align:center;padding:22px 0 16px}.clock small{font-weight:700;color:#112a40}.clock strong{display:block;font-size:44px;letter-spacing:1px;font-variant-numeric:tabular-nums;margin-top:6px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 0 14px}.stat{background:#edf3f8;border-radius:7px;padding:12px 7px;text-align:center}.stat small{font-size:12px}.mainactions,.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.mainactions button{padding:20px 8px;color:white;background:#344854}.mainactions .danger{background:#d72d2d}.grid{grid-template-columns:repeat(3,1fr)}.grid button{font-size:13px;padding:16px 6px;line-height:1.4;min-height:78px}.grid button b{font-size:24px;display:block;margin-bottom:6px}.primary{background:var(--blue);color:white}.gold{background:var(--gold);color:#fff}.full{width:100%;margin-top:12px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:540px;background:#f9fbfd;display:flex;gap:4px;padding:10px 10px max(10px,env(safe-area-inset-bottom));border-top:1px solid #d6e1e9;z-index:600}nav button{flex:1;font-size:24px;background:transparent;padding:8px 2px}nav button span{display:block;font-size:12px;font-weight:400;margin-top:4px}nav button.active{background:#102b3e;color:white;box-shadow:inset 0 -3px #27b83b}nav[hidden]{display:none}label{display:block;font-size:14px;font-weight:600;margin:16px 0 6px}input,select,textarea{display:block;width:100%;border:1px solid #c6d3dc;border-radius:8px;padding:13px;margin-top:6px;background:white;color:#112a40}input[type=checkbox]{width:auto;display:inline}a{color:#004977}.card{border:1px solid #dce5ec;border-radius:12px;padding:16px;margin:14px 0;background:#fff}.notice{background:#fff5df;border-left:3px solid #cd8600;padding:12px;font-size:14px;line-height:1.5}.error{color:#a12121;overflow-wrap:anywhere}.timeline{list-style:none;padding:0}.timeline li{padding:12px 12px 12px 18px;border-left:4px solid #a7b5c0;margin:12px 0;background:white;border-radius:0 9px 9px 0}.timeline li.productive{border-color:#169b38}.timeline li.unproductive{border-color:#de352f}.timeline span{display:block;font-size:13px;margin:6px 0}.listbuttons{display:grid;gap:10px}.listbuttons button{text-align:left}.listbuttons button small{display:block;margin-top:5px;font-weight:400}dialog{width:min(490px,94vw);max-height:88dvh;overflow:auto;border:0;border-radius:16px;padding:22px;color:#112a40}dialog::backdrop{background:#102b3ebb}.dialogactions{display:flex;gap:10px;margin-top:20px}.dialogactions button{flex:1}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);background:#102b3e;color:white;border-radius:10px;padding:14px 20px;z-index:1000;max-width:90vw}#map{height:48dvh;min-height:280px;border-radius:10px;background:#dce5ec}.maplegend{display:flex;gap:12px;margin:10px 0;font-size:12px}.maplegend span::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;background:#159936;margin-right:5px}.maplegend span:nth-child(2)::before{background:#df342a}.maplegend span:nth-child(3)::before{background:#8997a1}.maptools{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.maptools button{font-size:12px;padding:9px}.maptools button.active{background:#004977;color:#fff}.tractor{font-size:32px;text-shadow:0 2px 3px #fff;background:transparent!important;border:0!important}.leaflet-container{font-family:inherit}.photo-thumb{max-width:100%;max-height:220px;border-radius:8px}.empty{text-align:center;padding:30px 12px}.metricrow{display:flex;justify-content:space-between;border-bottom:1px solid #dce5ec;padding:12px 0;font-size:14px}.period{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pending{font-size:12px;color:#986200}.good{color:#138033}.help{font-size:14px;line-height:1.65}@media(min-width:800px){.app{margin:24px auto;border-radius:18px;overflow:hidden;min-height:calc(100dvh - 48px)}header{position:relative}nav{bottom:24px;border-radius:0 0 18px 18px}main{min-height:70vh}}@media(max-width:360px){.clock strong{font-size:38px}.grid{grid-template-columns:1fr 1fr}.identity{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}
/* Operator layout: compact working surface, persistent navigation. */
.app{height:100dvh;min-height:0;display:flex;flex-direction:column;margin:0 auto;border-radius:0;overflow:hidden}header{position:relative;flex:none;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}header .brand{font-size:25px}header button{min-width:44px}main{flex:1;min-height:0;overflow:auto;padding:12px 14px}#bottom{position:static;transform:none;flex:none;width:100%;padding:6px 8px max(6px,env(safe-area-inset-bottom));border-radius:0}#bottom button{min-height:52px;padding:6px 2px;border-radius:8px}svg:not(.leaflet-zoom-animated){width:24px;height:24px;flex-shrink:0}#bottom svg{display:block;margin:auto}#bottom button span{font-size:11px;margin-top:4px}.point-layout{min-height:100%;display:flex;flex-direction:column;gap:9px}.equipment{background:#fff;border:1px solid #dce5ec;border-radius:12px;padding:9px 10px;gap:12px}.equipment img{width:70px;height:61px;object-fit:contain;background:white}.equipment h1{font-size:25px;margin:0 0 3px}.equipment>div:last-child{min-width:0}.equipment small{line-height:1.3}.machine{font-size:32px;padding:8px}.identity{padding:1px 3px;gap:12px;grid-template-columns:1.15fr 1fr}.identity>div+div{border-left:1px solid #dce5ec;padding-left:12px}.identity strong{font-size:13px;line-height:1.3;margin-top:3px;overflow-wrap:anywhere}.identity strong span{display:block;font-weight:400;font-size:12px;margin-top:2px}.identity small{font-size:11px}.activity{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;min-height:78px;border-radius:11px;gap:8px}.activity strong{font-size:18px;margin:4px 0;line-height:1.2}.activity small{font-size:10px;letter-spacing:.7px}.activity span{font-size:12px}.activity .activity-chevron{font-size:32px}.clock{padding:3px 0;flex:1;display:flex;flex-direction:column;justify-content:center;min-height:82px}.clock>small{font-size:10px;letter-spacing:.9px}.clock>strong{font-size:42px;line-height:1.1;margin:4px 0}.time-summary{display:flex;justify-content:center;gap:16px;font-size:10px;color:#53677b}.time-summary b{display:block;font-weight:600;margin-top:3px}.stats{grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.stat{padding:9px 4px;background:#edf2f6;border:1px solid #e2e9ee}.stat small{font-size:10px}.stat strong{font-size:13px;margin-top:4px}.mainactions{margin:0;gap:9px}.mainactions button{padding:10px 5px;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.mainactions svg{width:18px;height:18px}.grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.grid button{min-height:65px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11px;line-height:1.2;border:1px solid #dbe5ec;background:#eaf1f6}.grid .map-action{border:1px solid #38a657;background:#f1faf3;color:#207d3a}.section-heading small{font-size:10px;letter-spacing:.8px}.section-heading h1{font-size:23px;margin:6px 0 0;line-height:1.2}.login-layout{display:flex;flex-direction:column;gap:16px;max-width:450px;margin:auto}.login-panel{padding:18px 16px;background:white;border:1px solid #dce5ec;border-radius:12px}.login-panel label{margin-top:18px}.login-panel input{font-size:16px}.turn-card{background:#f1f5f8;border-radius:8px;padding:12px;margin-top:16px}.turn-card label{margin:0;font-size:12px;color:#53677b}.turn-card p{margin:6px 0 0;font-size:15px}.turn-card select{font-size:14px}.login-panel .error{font-size:13px;line-height:1.4;margin:12px 0 0}.login-panel .error:empty{display:none}.login-panel .full{margin-top:18px;font-size:14px}.refresh-link{font-size:13px;background:transparent;border:1px solid #dce5ec}.test-label{font-size:12px;background:#fff5df;padding:8px;border-radius:5px}.more-layout{display:flex;flex-direction:column;gap:14px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.menu-grid button,.menu-link{padding:14px 9px;min-height:58px;text-align:left;font-size:13px;background:white;border:1px solid #dce5ec;border-radius:9px}.menu-link{display:flex;align-items:center;font-weight:700;text-decoration:none}.turn-overview{background:#edf3f7;padding:12px;border-radius:9px;font-size:14px}.turn-overview small{display:block;margin-top:5px}.history-layout{min-height:100%;display:flex;flex-direction:column;gap:12px}.history-summary{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:10px;background:#edf3f7;border-radius:8px}.history-summary small{font-size:11px}.timeline{margin:0;display:grid;gap:9px}.timeline li{margin:0;padding:10px 12px}.timeline h3{font-size:15px;margin:5px 0}.timeline small{font-size:11px}.timeline span{font-size:12px;margin:5px 0;overflow-wrap:anywhere}.history-pager{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.history-pager button{font-size:12px;min-height:44px;padding:10px 14px}.history-pager button:disabled{cursor:default}.record-detail{padding:0;background:none;min-height:24px;font-size:11px;color:#004977;text-decoration:underline}.record-excerpt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.record-body{white-space:pre-wrap;overflow-wrap:anywhere}main[data-screen=map]{display:flex;flex-direction:column;gap:7px}main[data-screen=map] h1{font-size:20px;margin:0}main[data-screen=map] #map{height:auto;min-height:180px;flex:1}main[data-screen=map] .maplegend{margin:0;font-size:10px}main[data-screen=map] .maptools{margin:0;flex-wrap:nowrap;gap:4px}main[data-screen=map] .maptools button{padding:6px;flex:1;min-height:38px;font-size:11px}main[data-screen=map] .card{margin:0;padding:10px;font-size:12px}main[data-screen=map] #gpsText{font-size:11px;margin:0}main[data-screen=map] .period label{font-size:11px;margin:0}main[data-screen=map] .period input{padding:7px;font-size:12px}#toast{bottom:90px;font-size:13px}
@media(max-height:740px){.point-layout{gap:6px}.point-layout .equipment{padding:7px 9px}.point-layout .equipment img{height:48px;width:58px}.point-layout .equipment h1{font-size:22px}.point-layout .activity{min-height:67px;padding:8px 12px}.point-layout .activity strong{font-size:16px}.point-layout .clock{min-height:74px}.point-layout .clock>strong{font-size:36px}.point-layout .grid button{min-height:56px;padding:6px 3px}.point-layout .stat{padding:7px 3px}.login-layout{gap:10px}.login-panel{padding:14px}.login-panel label{margin-top:12px}.turn-card{margin-top:12px;padding:10px}}
@media(min-width:800px){.app{height:100dvh;margin:0 auto;border-radius:0}main{min-height:0}}

#appUpdate{flex:none;border-radius:0;min-height:40px;padding:8px;background:#fff0c6;color:#493700;font-size:13px}
/* Menu operacional em linhas, conforme referência de campo. */
.operator-menu{min-height:100%;display:flex;flex-direction:column;gap:10px}.scheduled-banner{padding:10px 12px;background:#edf3f7;border:1px solid #d8e2e9;border-radius:8px}.scheduled-banner small{font-size:12px;display:block}.scheduled-banner strong{display:block;font-size:15px;margin-top:4px}.scheduled-banner>span{display:block;font-size:12px;color:#53677b;margin-top:4px}.menu-lines{display:flex;flex-direction:column;border:1px solid #d4e0e8;border-radius:10px;overflow:hidden;margin:auto 0;background:white}.menu-lines button{display:flex;align-items:center;justify-content:space-between;gap:10px;background:white;border-radius:0;border-bottom:1px solid #dce5ec;text-align:left;min-height:49px;padding:12px 14px;font-size:14px;font-weight:600}.menu-lines button:last-child{border-bottom:0}.menu-lines button>span:first-child{flex:1;text-align:center}.menu-lines button>span:last-child{font-size:21px;font-weight:400;color:#53677b}.menu-extras{font-size:13px}.menu-extras summary{cursor:pointer;text-align:center;padding:8px}.menu-extras .menu-grid{margin-top:8px}.context-strip{min-height:30px;padding:5px 10px;text-align:left;font-size:12px;background:#edf3f7;font-weight:400}.parameters-layout{max-width:460px;margin:auto}.parameters-layout label{font-size:14px}.parameters-layout select{font-size:16px}.closing-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.closing-totals>div{padding:14px;background:#edf3f7;border-radius:8px}.closing-totals>div:last-child{grid-column:1/-1;padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.closing-totals strong{display:block;font-size:24px;margin-top:5px;font-variant-numeric:tabular-nums}.closing-totals>div:last-child strong{font-size:18px;margin:0}.closing-production{border:1px solid #d5e0e8;border-radius:9px;margin:14px 0;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.closing-production legend{font-size:14px;font-weight:700;padding:0 5px}.closing-production label{margin:0;font-size:13px}.closing-production input{min-width:0}.checklist-result{background:white;border:1px solid #dce5ec;border-radius:9px;padding:14px;margin:12px 0}.checklist-result summary{font-size:14px;font-weight:700;cursor:pointer;line-height:1.5}.check-answer{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f6;font-size:14px}.check-answer strong{font-size:13px}.checklist-result p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.checklist-result small{display:block;margin-top:12px}#closeForm .muted{font-size:13px}@media(max-height:740px){.operator-menu{gap:7px}.menu-lines button{min-height:43px;padding:9px 12px}.operator-menu .equipment img{height:46px}.scheduled-banner{padding:7px 10px}}
.parameter-wizard{height:100%;min-height:540px;display:flex;flex-direction:column;gap:12px;max-width:460px;margin:auto}.parameter-wizard .section-heading h1{font-size:27px}.wizard-progress{display:flex;gap:7px}.wizard-progress span{height:6px;flex:1;background:#dfe7ed;border-radius:5px;font-size:0}.wizard-progress .done{background:#004977}.wizard-context{font-size:14px;line-height:1.4;color:#53677b;margin:0}.wizard-search{font-size:14px;margin:0}.wizard-search input{font-size:16px;min-height:46px}.wizard-choices{display:flex;flex-direction:column;gap:8px;flex:1}.wizard-choices>button{background:white;border:1px solid #cddbe5;text-align:left;padding:12px 14px;min-height:54px;display:block}.wizard-choices strong{font-size:16px;font-weight:600;display:block;overflow-wrap:anywhere}.wizard-choices small{display:block;font-size:12px;margin-top:4px}.wizard-choices>button:active{background:#e5eff5;border-color:#004977}.wizard-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.wizard-pager button{min-height:38px;font-size:13px;padding:8px 12px}.wizard-footer{border-top:1px solid #dce5ec;padding-top:12px;display:flex;align-items:center;gap:12px}.wizard-footer small{font-size:12px;line-height:1.4;flex:1}.wizard-footer button{font-size:12px;min-height:42px;padding:10px}.parameter-wizard .error:empty{display:none}.stop-only>p{font-size:15px;color:#53677b}.stop-only .section-heading{margin-top:20px}.stop-only #elapsed{font-size:32px;font-variant-numeric:tabular-nums}.stop-only .card{margin:18px 0}.stop-only .card h2{font-size:18px}header button:disabled{opacity:.3}@media(max-height:740px){.parameter-wizard{min-height:480px;gap:9px}.wizard-choices>button{min-height:50px;padding:10px 12px}}
/* One decision per screen: identification and checklist. */
.single-step{display:flex;flex-direction:column;gap:14px;padding:20px 0;max-width:640px;margin:auto;width:100%}.single-step h1{font-size:clamp(23px,5vw,32px);line-height:1.2;margin:0;overflow-wrap:anywhere}.single-step>small{color:var(--muted,#587083)}.single-step form{display:grid;gap:12px}.single-step form label{margin:0}.step-choices{display:grid;gap:10px}.step-choices button{min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:left;padding:14px 18px}.step-choices small{font-size:13px;font-weight:400}.checklist-step progress{width:100%;height:6px;accent-color:#00577f}.checklist-step textarea{min-height:110px}.single-step .error:empty{display:none}#screen[data-screen=login]>.equipment{margin-bottom:0}#screen[data-screen=login]>.full{margin-top:12px}@media(max-height:740px){.single-step{gap:10px;padding:12px 0}.step-choices button{min-height:48px;padding:10px 14px}}

.bulletin-history .section-heading p{font-size:14px;margin:6px 0;color:#587083}.bulletin-history{gap:10px}.history-table-scroll{width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid #dce5ec}.history-table-scroll::-webkit-scrollbar{display:none}.history-table-scroll:focus-visible{outline:2px solid #00577f;outline-offset:2px}.activity-history-table{width:100%;min-width:1350px;border-collapse:collapse;background:#fff;font-size:14px;table-layout:auto}.activity-history-table th,.activity-history-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #dce5ec;white-space:nowrap;vertical-align:middle;font-variant-numeric:tabular-nums}.activity-history-table th{background:#eaf1f6;font-weight:600}.activity-history-table tbody tr:nth-child(even){background:#f3f6f8}.activity-history-table tbody tr:last-child td{border-bottom:0}.bulletin-history .history-pager{padding-bottom:4px}@media(min-width:1000px){.app:has(.bulletin-history){max-width:1600px}}@media(max-height:740px){.activity-history-table th,.activity-history-table td{padding:8px 10px}.bulletin-history{gap:6px}.bulletin-history .section-heading h1{font-size:20px}}

/* History stays inside the viewport; records advance only by pagination. */
html:has(.bulletin-history),body:has(.bulletin-history){height:100%;overflow:hidden;overscroll-behavior-y:none}main[data-screen=history]{overflow:hidden;min-height:0;overscroll-behavior-y:none;touch-action:pan-x pinch-zoom}main[data-screen=history] .bulletin-history{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}main[data-screen=history] .section-heading,main[data-screen=history] .history-pager{flex-shrink:0}main[data-screen=history] .history-table-scroll{flex:0 1 auto;min-height:0;overflow-y:hidden;touch-action:pan-x pinch-zoom;overscroll-behavior:none}main[data-screen=history] .history-pager{margin-top:auto}
/* Fixed working screen: size the contents, rather than clipping a tall page. */
html:has(.point-layout),body:has(.point-layout){height:100%;overflow:hidden;overscroll-behavior:none}
body:has(.point-layout) .app{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;margin:auto}
main[data-screen=point]:has(.point-layout){overflow:hidden;overscroll-behavior:none;touch-action:pinch-zoom;padding:8px 12px;container-type:size}
main[data-screen=point] .point-layout{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto auto minmax(62px,1fr) auto auto auto;gap:6px}
.point-layout>.equipment{padding:6px 9px;min-height:0;margin:0}.point-layout>.equipment img{width:54px;height:46px}.point-layout>.equipment h1{font-size:22px}.point-layout>.equipment small{font-size:12px}.point-layout>.equipment p{font-size:12px!important;margin-top:2px!important}.point-layout>.context-strip{min-height:26px;padding:4px 9px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.point-layout>.identity{padding:0 3px}.point-layout>.identity strong{margin-top:2px;font-size:12px}.point-layout>.identity strong span{font-size:12px}.point-layout>.activity{min-height:64px;padding:7px 12px}.point-layout>.activity strong{font-size:17px;margin:3px 0}.point-layout>.activity span{font-size:12px}.point-layout>.clock{min-height:0;padding:0;gap:0}.point-layout>.clock>strong{font-size:36px;margin:2px 0;line-height:1}.point-layout .time-summary b{margin-top:1px}.point-layout>.stats .stat{padding:6px 3px}.point-layout>.mainactions button{min-height:42px;padding:8px 4px}.point-layout>.grid{gap:6px}.point-layout>.grid button{min-height:51px;padding:5px 3px;gap:3px;font-size:11px}.point-layout>.grid svg{width:21px;height:21px}
@container (max-height:520px){.point-layout>.equipment{padding:4px 8px}.point-layout>.equipment img{height:36px;width:46px}.point-layout>.equipment h1{font-size:19px}.point-layout>.activity{min-height:56px;padding:5px 10px}.point-layout>.activity strong{font-size:16px}.point-layout>.grid button{min-height:44px}.point-layout>.grid svg{width:18px;height:18px}.point-layout>.clock>strong{font-size:30px}.point-layout>.stats .stat{padding:4px 3px}}
@media(orientation:landscape) and (max-height:540px){body:has(.point-layout) .app{max-width:none}main[data-screen=point] .point-layout{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto 1fr;gap:5px 12px}.point-layout>.equipment{grid-column:1;grid-row:1}.point-layout>.context-strip{grid-column:1;grid-row:2}.point-layout>.identity{grid-column:1;grid-row:3}.point-layout>.activity{grid-column:1;grid-row:4}.point-layout>.clock{grid-column:2;grid-row:1}.point-layout>.stats{grid-column:2;grid-row:2}.point-layout>.mainactions{grid-column:2;grid-row:3}.point-layout>.grid{grid-column:2;grid-row:4;grid-template-columns:repeat(6,1fr)}.point-layout>.grid button{min-height:44px;font-size:10px}}
/* All operator screens use a fixed viewport and explicit content pages. */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}
body .app,body:has(.point-layout) .app{position:fixed;inset:0;width:100%;height:var(--operator-height,100dvh);min-height:0;margin:auto;overflow:hidden}
main#screen{overflow:hidden!important;overscroll-behavior:none;scroll-behavior:auto;touch-action:manipulation}
header,#bottom{flex-shrink:0}input,select,textarea{font-size:16px!important}textarea{resize:none;overflow:hidden}
.history-table-scroll{touch-action:pan-x!important}#map{touch-action:none}
.viewport-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:5px 12px;background:#f9fbfd;border-top:1px solid #dce5ec;font-size:13px}.viewport-pager[hidden]{display:none}.viewport-pager button{min-height:40px;padding:8px 14px;font-size:13px}
dialog[open]{display:flex;flex-direction:column;max-height:calc(var(--operator-height,100dvh) - 24px);overflow:hidden;padding:16px}#dialogContent{min-height:0;overflow:hidden;scroll-behavior:auto}dialog>.viewport-pager{margin:8px -16px -16px;padding:8px 16px}.parameter-wizard{min-height:0}.operator-menu{min-height:0}.single-step{padding:12px 0;gap:10px}
.offline-map-tools{display:flex;gap:6px;margin-top:6px}.offline-map-tools button{min-height:38px;padding:7px 10px;font-size:12px}#offlineMapStatus{display:block;font-size:12px;line-height:1.35;margin:5px 0}#map{background:#eef0e8}
#equipmentDrawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(390px,92vw);max-width:92vw;height:var(--operator-height,100dvh);max-height:var(--operator-height,100dvh);border-radius:0 14px 14px 0;padding:0;overflow:hidden;background:#f9fbfd;box-shadow:8px 0 32px #102b3e33}#equipmentDrawer[open]{display:flex;flex-direction:column}#equipmentDrawer::backdrop{background:#102b3e80}.drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#102b3e;color:white;flex:none}.drawer-heading h2{font-size:18px;margin:0}.drawer-heading button{background:transparent;color:white;min-height:40px;font-size:26px;padding:0 10px}#drawerContent{min-height:0;flex:1;overflow:hidden;padding:12px 14px}.drawer-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.drawer-tabs button{min-height:40px;font-size:13px;padding:8px}.drawer-tabs [aria-selected=true]{background:#004977;color:white}.drawer-section .equipment{margin-bottom:12px}.drawer-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #e0e8ed;font-size:14px;line-height:1.35}.drawer-row>span{color:#53677b;flex:1}.drawer-row>strong{font-weight:600;text-align:right;max-width:58%;overflow-wrap:anywhere}#equipmentDrawer .viewport-pager{margin:0;padding-bottom:max(8px,env(safe-area-inset-bottom))}.voice-toggle{display:flex;align-items:center;gap:10px;font-size:14px}.voice-toggle input{width:20px;height:20px;margin:0}.drawer-section .error{font-size:13px}.drawer-section .error:empty{display:none}
main[data-screen=point] .point-layout{grid-template-rows:auto auto auto minmax(90px,1fr) auto auto auto;gap:10px}.point-layout>.activity{min-height:78px;padding:12px 14px}.point-layout>.activity strong{font-size:20px}.point-layout>.clock>strong{font-size:44px}.point-layout>.grid button{min-height:58px;font-size:12px}.point-layout>.grid svg{width:24px;height:24px}@container(max-height:520px){main[data-screen=point] .point-layout{gap:6px;grid-template-rows:auto auto auto minmax(64px,1fr) auto auto auto}.point-layout>.activity{min-height:64px;padding:7px 12px}.point-layout>.clock>strong{font-size:36px}.point-layout>.grid button{min-height:48px}}
@media(orientation:landscape) and (max-height:540px){main[data-screen=point] .point-layout{grid-template-rows:auto auto 1fr;gap:5px 12px}.point-layout>.context-strip{grid-column:1;grid-row:1}.point-layout>.identity{grid-column:1;grid-row:2}.point-layout>.activity{grid-column:1;grid-row:3}.point-layout>.clock{grid-column:2;grid-row:1}.point-layout>.stats{grid-column:2;grid-row:2}.point-layout>.mainactions{grid-column:1;grid-row:4}.point-layout>.grid{grid-column:2;grid-row:3 / 5}.point-layout>.grid button{min-height:44px}}

/* Keyboard: top anchored shell, compact entry, no DOM replacement or lost caret. */
body .app,body:has(.point-layout) .app{inset:var(--operator-top,0px) 0 auto;margin:0 auto}

/* Focused fields stay within the visual viewport above the keyboard. */
.history-table-scroll,main[data-screen=history] .history-table-scroll{overflow:auto!important;touch-action:pan-x pan-y!important;flex:1 1 0;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.activity-history-table thead th{position:sticky;top:0;z-index:1;background:#edf3f7}

/* Map uses the same context and spacing as the working screen. */
main[data-screen=map]{gap:8px;padding:10px 14px;min-height:0}
.map-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.map-heading small{font-size:12px}.map-heading button{font-size:12px;min-height:40px;padding:8px 12px}.map-context{padding:9px 12px;background:#eaf2f6;border-radius:8px;font-size:14px;font-weight:700}.map-context small{display:block;font-size:12px;font-weight:400;margin-top:3px}
main[data-screen=map] #map{flex:1 1 0;min-height:80px;border:1px solid #d8e3eb;border-radius:10px;background:#edf2f6}
main[data-screen=map] .maptools button{font-size:13px}main[data-screen=map] .maplegend{font-size:11px;gap:10px}.map-readings{display:flex;justify-content:space-between;gap:8px;align-items:center}.map-readings strong{white-space:nowrap;font-size:14px}main[data-screen=map] #offlineMapStatus{font-size:11px;margin:0}main[data-screen=map] #segmentDetail{padding:8px 10px;border-top:1px solid #d8e3eb;font-size:12px;max-height:90px;overflow:hidden}#segmentDetail h3,#segmentDetail p{margin:2px 0;font-size:12px}
#activitySearch[hidden]{display:none}#showActivitySearch{width:100%;text-align:left;font-size:14px;margin-bottom:10px}

.trip-counter{min-height:36px;padding:7px 12px;font-size:13px;text-align:left;background:#eaf2f6;color:#102b3e}

.pile-tools{display:flex;gap:6px}.pile-tools button{min-height:36px;padding:7px 10px;font-size:12px}.pile-tools .trip-counter{flex:1}#pileHint{font-size:11px}

/* Menu principal: oito ações no espaço restante, sem o banner de atividade. */
.operator-menu:not(:has(.menu-extras[open])){height:100%;gap:8px}
.operator-menu>.equipment,.operator-menu>.menu-extras{flex:none}
.operator-menu:not(:has(.menu-extras[open]))>.menu-lines{flex:1;min-height:0;margin:0;display:grid;grid-template-rows:repeat(8,minmax(40px,1fr))}
.operator-menu:not(:has(.menu-extras[open]))>.menu-lines button{min-height:40px;padding:6px 12px}

.simulation-tools{display:flex;gap:6px}.simulation-tools button{flex:1;min-height:34px;padding:6px 10px;font-size:12px;border:1px solid #cd8600;background:#fff5df}.simulation-tractor{background:#fff5df;border:2px solid #cd8600;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:grab}

.front-arrow{color:#004977;font-size:22px;text-align:center;line-height:22px}.simulation-tools{flex-wrap:wrap}.simulation-tools button{min-width:90px}

/* Orientação contextual fora da área interativa do mapa. */
main[data-screen=map] #pileHint.map-guide{flex:none;display:block;background:#ffad42;color:#111;border:1px solid #db850b;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;margin:0}
@media(max-height:700px){main[data-screen=map] #pileHint.map-guide{padding:7px 10px}}

/* v37: mapa como superfície principal, opções em diálogo */
main[data-screen=map]{padding:8px;overflow:hidden;display:flex;min-height:0}
.map-workspace{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;gap:6px}
.map-workspace .map-heading{flex:none;display:flex;align-items:center;justify-content:space-between;margin:0;min-height:36px}
.map-workspace .map-heading button{padding:8px 12px;min-height:36px}
.map-stage{position:relative;flex:1;min-height:120px;overflow:hidden;border-radius:12px}
main[data-screen=map] .map-stage #map{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:12px}
main[data-screen=map] .map-stage #pileHint.map-guide{position:absolute;top:10px;left:54px;right:10px;z-index:500;margin:0;padding:8px 10px;font-size:14px;box-shadow:0 2px 8px #0002;pointer-events:none}
.map-stage .map-center{position:absolute;right:10px;bottom:30px;z-index:500;padding:10px;background:#fff;box-shadow:0 2px 8px #0002}
.map-workspace .map-context{padding:7px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:36px;font-size:14px;margin:0;flex:none}
.map-workspace .map-context small{font-size:12px}
.map-workspace .pile-tools{display:flex;flex:none;gap:6px;margin:0}
.map-workspace .pile-tools button{padding:10px 8px;min-height:44px;font-size:14px;flex:1}
.map-workspace #confirmPile{background:#004977;color:white}
.map-workspace [hidden]{display:none!important}
.area-actions,.cycle-run,.sim-controls{display:flex;gap:6px;flex:none;align-items:stretch}.area-actions button,.cycle-run button,.sim-controls button{flex:1;min-height:42px;padding:8px 5px;font-size:14px}.area-actions #markLoad{border:1px solid #247b43;color:#185e31}.area-actions #markPile{border:1px solid #004977;color:#004977}.area-actions #showCycleAreas{flex:.65}.sim-controls{align-items:center;font-size:14px}.sim-controls button[aria-pressed=true]{background:#004977;color:white}.map-guide{background:#ffdb9c!important;color:#171717!important}.map-workspace .pile-tools #tripCounter{font-size:13px;padding:5px;min-height:30px}

#pileHint .cycle-countdown{display:block;font-size:1.5rem;font-weight:800;color:#111;line-height:1.2}#pileHint progress{display:block;width:100%;height:8px;margin-top:4px;accent-color:#ca7900}

.stop-choice{color:#102b3e}.stop-context{display:flex;align-items:center;gap:8px;background:#fff1d2;padding:10px 12px;border-radius:8px;color:#242424;font-size:.85rem}.stop-status-dot{width:8px;height:8px;background:#c98200;border-radius:50%;flex:none}.stop-choice .stop-instruction{font-size:.95rem;margin:14px 0}.stop-actions{display:grid;gap:12px}.stop-actions .stop-option{display:grid;grid-template-columns:24px minmax(0,1fr) 12px;align-items:center;gap:10px;width:100%;margin:0;padding:16px 12px;border:1px solid #cbdbe5;border-radius:12px;background:#edf4f8;color:#102b3e;text-align:left;min-height:80px}.stop-option strong{display:block;font-size:1rem;line-height:1.3}.stop-option small{display:block;font-size:.76rem;line-height:1.4;margin-top:4px;font-weight:400}.stop-actions .stop-suggested{background:#004d73;color:white;border-color:#004d73}.stop-option-icon{font-size:1.5rem}.stop-actions .stop-option:focus{outline:none}.stop-actions .stop-option:focus-visible{outline:3px solid #cc8500;outline-offset:3px}

.map-speed-box{display:flex;flex-direction:column;align-items:center;min-width:110px;line-height:1.15}.map-speed-box #mapSpeed{font-size:22px;font-variant-numeric:tabular-nums;white-space:nowrap}.map-speed-box #mapMotion{font-size:10px;font-weight:500;max-width:160px;text-align:center;margin-top:3px}.map-speed-box[data-motion="moving"]{color:#087837}.map-speed-box[data-motion="low"]{color:#855300}

/* Integrated operator workspace approved by PH. */
main[data-screen=point]:has(.point-map-layout){overflow:hidden!important;display:flex;padding:10px 12px;min-height:0}
.point-map-layout{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.point-map-layout .context-strip{flex:none;margin:0;padding:8px 12px;min-height:30px;text-align:left;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.point-current{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;min-height:60px;border:1px solid #d5e3e9;border-radius:12px;flex:none;background:#eaf2f6}
.point-current.productive{background:#e0f4df;border-color:#b9e5b9}.point-current.unproductive{background:#ffe2df;border-color:#f5bab4}.point-current>div{flex:1;min-width:0}.point-current small{display:block;font-size:10px;letter-spacing:.7px;margin-bottom:5px}.point-current>div strong{font-size:14px;display:block;line-height:1.2}.point-current #elapsed{font-size:21px;font-variant-numeric:tabular-nums;white-space:nowrap;border-left:1px solid #aac6b7;padding-left:10px}
.point-map-layout .point-guide{flex:none;margin:0;padding:7px 10px;font-size:12px;line-height:1.25;border-radius:9px;max-height:64px;overflow:hidden}.point-guide:empty{display:none}
.point-map-layout .map-stage{flex:1;min-height:100px;border-radius:12px}.point-map-layout #map{position:absolute;inset:0;height:100%;width:100%;min-height:0}.point-map-layout .leaflet-top.leaflet-left{top:auto;bottom:26px}.point-speed{position:absolute;z-index:500;top:10px;left:10px;background:#fff;padding:10px 13px;border-radius:9px;align-items:flex-start;box-shadow:0 2px 7px #0002}.point-speed #mapSpeed{font-size:28px}.point-speed #mapMotion{font-size:11px}.point-expand{position:absolute;right:10px;top:10px;z-index:500;background:white;min-height:38px;width:38px;padding:4px;font-size:25px;border-radius:8px}.point-map-layout .map-center{font-size:12px;padding:9px;min-height:36px}
.point-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#e9f3f9;border-radius:12px;padding:9px 0;flex:none}.point-summary>div{display:flex;align-items:center;flex-direction:column;gap:4px;border-right:1px solid #d2e1eb}.point-summary>div:last-child{border:0}.point-summary svg{width:20px;height:20px}.point-summary small{font-size:11px;color:#536e83}.point-summary strong{font-size:18px;font-variant-numeric:tabular-nums}.point-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;flex:none}.point-quick button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;padding:8px 3px;min-height:62px;border-radius:12px}.point-quick svg{width:26px;height:26px}.point-quick .primary{background:#102f40;color:white}
@media(max-height:700px){.point-current{padding:7px;min-height:48px}.point-summary{padding:5px 0}.point-summary svg{display:none}.point-quick button{min-height:47px}.point-quick svg{width:19px;height:19px}.point-map-layout{gap:5px}.point-speed #mapSpeed{font-size:23px}}

.map-style-toggle{position:absolute;z-index:500;right:10px;bottom:78px;background:#fff;color:#102f40;padding:8px 10px;min-height:36px;font-size:12px;border-radius:8px;box-shadow:0 2px 8px #0002}
/* Rotograma e créditos compactos: mapa continua sendo a superfície principal. */
#map .leaflet-control-attribution{font-size:10px!important;line-height:1.2!important;max-width:270px;padding:2px 4px;background:rgba(255,255,255,.85)}
.roto-editor{position:absolute;z-index:700;left:8px;right:8px;bottom:32px;padding:10px;background:#ffe0a0;color:#171717;border:1px solid #dc8900;border-radius:12px;font-size:13px}
.roto-editor div{display:flex;gap:5px;margin-top:6px}.roto-editor button{font-size:12px;padding:7px;min-height:36px;flex:1}
.roto-status{position:absolute;z-index:450;left:8px;right:8px;bottom:25px;background:#fff3d7;color:#171717;border-radius:8px;padding:7px;font-size:13px;pointer-events:none;max-width:65%}
.roto-buttons{display:grid;gap:8px}
/* v63: cores mais vivas e ações inferiores uniformes. */
.point-current.productive{background:#a9e9ae;border-color:#36b44b;color:#102f40}
.point-current.unproductive{background:#ffaaa1;border-color:#e64b3e;color:#102f40}
.point-current small{color:#25485a}
.point-map-layout .point-guide,.map-workspace .map-guide{background:#ffbc4c!important;color:#171717!important}
.point-summary{background:#cce8f7}.point-summary>div{border-right-color:#9bc7de}.point-summary small{color:#294f65}
.point-summary>div:nth-child(2) svg,.point-summary #prodTime{color:#08742d}
.point-summary>div:nth-child(3) svg,.point-summary #unprodTime{color:#ad2822}
.point-quick button,#bottom button{background:#102f40;color:#fff;border-color:#102f40}
#bottom button.active{background:#102f40;color:#fff;box-shadow:inset 0 -4px 0 #25ce47}
.point-quick button:active,#bottom button:active{background:#19475e}
.point-quick button:focus-visible,#bottom button:focus-visible{outline:3px solid #ffbc4c;outline-offset:-3px}

/* v64: navegação no menu principal, área operacional até a base. */
#bottom{display:none!important}
.app>main{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
.point-map-layout .point-quick button{min-height:66px}
.operator-menu:not(:has(.menu-extras[open]))>.menu-lines{grid-template-rows:repeat(9,minmax(36px,1fr))}
.operator-menu .menu-device{flex:none;background:#102f40;color:#fff;padding:10px;min-height:42px;font-size:14px}
.operator-menu>.equipment{padding:8px;gap:10px}.operator-menu>.equipment img{height:46px;width:58px}.operator-menu>.equipment h1{font-size:22px}.operator-menu>.equipment p{margin:3px 0;font-size:12px}
#toast{bottom:max(16px,env(safe-area-inset-bottom))}
@media(max-height:700px){.point-map-layout .point-quick button{min-height:48px}.operator-menu{gap:5px}.operator-menu .menu-lines button{padding:7px;min-height:34px;font-size:13px}}
/* v66: hierarquia de local e controles compactos. */
.point-map-layout .context-strip{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.8fr);gap:10px;padding:8px 10px;white-space:normal;text-align:left}
.context-strip>span{min-width:0;border-left:1px solid #bad1dd;padding-left:10px}.context-strip>span:first-child{border:0;padding-left:0}.context-strip small{display:block;font-size:10px;color:#476777;margin:0 0 3px}.context-strip strong{display:block;font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-stage .map-icon-button{width:40px;height:40px;min-height:40px;padding:9px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#fff;color:#102f40}.map-icon-button svg{width:22px;height:22px}.map-stage .map-center{bottom:26px}.map-stage .map-style-toggle{bottom:74px}
.point-speed,.map-speed-box{min-width:0;width:66px;height:66px;justify-content:center;align-items:center;padding:5px;gap:0;border-radius:9px}.point-speed #mapSpeed,.map-speed-box #mapSpeed{font-size:21px;line-height:1.1;letter-spacing:-.5px}.speed-unit{font-size:11px;font-weight:600;line-height:1.3}.map-speed-box #mapMotion{font-size:9px;line-height:1;margin-top:3px;max-width:60px}.map-speed-box[data-motion=stopped]{color:#102f40}
.operation-footer{display:flex!important;justify-content:space-between;gap:14px;flex:none;padding:5px 3px;margin:0;font-size:12px}.operation-footer span{min-width:0}.operation-footer small{display:block;font-size:10px;color:#536e83}.operation-footer strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operation-footer span:first-child{flex:1}
.area-symbol{display:flex;align-items:center;justify-content:center;border:2px solid white;border-radius:50%;color:white;font-size:19px;font-weight:800;box-shadow:0 1px 4px #0005}.load-symbol{background:#17823b}.unload-symbol{background:#00557d}.wait-symbol{background:#bd7700}

/* GPS distances in the current shift, compact to preserve map space. */
.distance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;background:#cce8f7;border-radius:10px;padding:7px 0}.distance-summary>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0 3px;border-right:1px solid #9bc7de}.distance-summary>div:last-child{border:0}.distance-summary small{font-size:10px;text-align:center;color:#294f65}.distance-summary strong{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}#distanceProductive{color:#08742d}#distanceUnproductive{color:#ad2822}@media(max-height:700px){.distance-summary{padding:4px 0}.distance-summary strong{font-size:14px}}

.indicator-footer{flex:none;background:#102f40;color:#fff;border-radius:12px;padding:8px 5px;margin:0}.indicator-footer>button{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;background:none;color:inherit;padding:0;border:0;border-radius:0;min-height:0}.indicator-footer button>span{display:flex;flex-direction:column;gap:3px;align-items:center;border-right:1px solid #446170}.indicator-footer button>span:last-child{border:0}.indicator-footer button small{font-size:11px;font-weight:500}.indicator-footer strong{font-size:22px;font-variant-numeric:tabular-nums}.indicator-footer>#kpiStatus{display:block;text-align:center;font-size:10px;color:#cee0ec;margin-top:4px}.indicator-hours>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #dce6ed}.distance-summary{background:#102f40;color:white}.distance-summary small{color:#dceaf4}.distance-summary #distanceProductive{color:#80ec9c}.distance-summary #distanceUnproductive{color:#ffb5ab}@media(max-height:700px){.indicator-footer{padding:5px}.indicator-footer strong{font-size:18px}}

.fence-choices{display:grid;gap:10px}.fence-choices button{display:flex;flex-direction:column;text-align:left;gap:6px;padding:16px}.fence-choices small{font-weight:400}.fence-controls{display:grid;grid-template-columns:1fr 40px 1fr 40px;gap:6px;flex:none}.fence-controls button{padding:10px 4px;font-size:12px;min-height:44px}.fence-controls button.primary{background:#004977;color:white}

.point-fence-icons{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:500}.point-fence-icons button{width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:9px;border:0;border-radius:9px;color:#fff;box-shadow:0 2px 7px #0003}.point-fence-icons .fence-icon-load{background:#207b3d}.point-fence-icons .fence-icon-unload{background:#004977}.point-fence-icons svg{width:26px;height:26px}.point-fence-icons button:disabled{opacity:.45}

.point-map-menu{position:absolute;right:10px;top:58px;z-index:500;width:40px;height:40px;min-height:40px;padding:9px;border-radius:9px;background:white;color:#102f40;box-shadow:0 2px 7px #0002}.point-map-menu svg{width:22px;height:22px}.point-map-layout.map-expanded>:not(.map-stage):not(.point-guide):not(.fence-controls):not(.sim-controls){display:none!important}.point-map-layout.map-expanded .map-stage{flex:1;min-height:0}.map-menu-sections{display:grid;gap:8px}.map-menu-sections details{border:1px solid #cfdee6;border-radius:9px;padding:10px}.map-menu-sections summary{font-weight:700;cursor:pointer;padding:4px}.map-menu-sections details>button{width:100%;margin-top:8px}.map-menu-sections label{font-size:14px;margin:8px 0}.map-menu-sections input[type=checkbox]{width:auto;display:inline-block}.map-menu-sections p{font-size:14px}

.app>main[data-screen="point"]{padding-bottom:env(safe-area-inset-bottom,0px)!important}.point-map-layout .point-quick{margin-top:auto;margin-bottom:0;flex:none}.point-map-layout #offlineMapStatus[hidden]{display:none!important}.map-stage #centerMap[aria-pressed="true"]{background:#004977;color:#fff}
/* v73: compact unproductive shortcuts; current activity stays above the map. */
.point-quick{grid-template-columns:1fr 1fr .8fr!important}
.point-quick [data-quick-slot]{position:relative;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;gap:4px!important}
.point-quick [data-quick-slot] small{color:#bfd3df;font-size:11px;line-height:1.1}
.point-quick [data-quick-slot] span{font-size:14px;line-height:1.15;overflow-wrap:anywhere}
.point-quick [data-quick-slot][aria-pressed="true"]{box-shadow:inset 0 -4px #2bca4c}
.point-quick [data-quick-slot].holding:after{content:'';position:absolute;bottom:0;left:0;height:4px;background:#ffb52e;animation:quick-hold 1s linear forwards}
@keyframes quick-hold{from{width:0}to{width:100%}}
/* v76 — compact fence size controls, no keyboard. */
.fence-sizing{display:flex;gap:8px;flex:none;padding:6px 8px;background:#ffdb96;border-radius:10px;color:#17232c}
.fence-sizing label{flex:1;min-width:0;font-size:12px;margin:0}
.fence-sizing output{font-weight:700}
.fence-sizing input[type=range]{width:100%;height:24px;min-height:0;padding:0;margin:2px 0 0;accent-color:#004977}
.point-map-layout.map-expanded .fence-sizing{display:flex!important}
/* v77: restrained map menu with thin dividers and comfortable touch targets. */
dialog:has(.map-menu-sections){border-radius:18px;padding:18px 18px 12px;box-shadow:0 16px 48px #102b3e26}
#dialogContent .map-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:19px;font-weight:600;letter-spacing:-.3px;margin:0 0 12px}
.map-menu-heading button{width:40px;height:40px;min-height:40px;padding:0;background:transparent;color:#5b7280;font-size:26px;font-weight:400;border-radius:50%}
.map-menu-sections{display:block}
.map-menu-sections details{border:0;border-bottom:1px solid #e7edf1;border-radius:0;padding:0}
.map-menu-sections details:last-child{border-bottom:0}
.map-menu-sections summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:55px;padding:12px 3px;font-size:15px;font-weight:500;color:#203e50}
.map-menu-sections summary::-webkit-details-marker{display:none}
.map-menu-sections summary::marker{content:''}
.map-menu-sections summary svg{width:21px;height:21px;flex:none;color:#577787}
.map-menu-chevron{margin-left:auto;color:#8195a1;font-size:23px;font-weight:400;transition:transform .15s}
.map-menu-sections details[open] .map-menu-chevron{transform:rotate(90deg)}
.map-menu-sections details[open] summary{color:#004977}
.map-menu-body{padding:2px 0 12px 33px}
.map-menu-body>button{width:100%;margin:4px 0;text-align:left}
.map-menu-body button{font-size:14px;font-weight:500;min-height:44px;padding:11px 12px;border-radius:8px;background:#edf3f6}
.map-menu-body button.primary{background:#004977;color:white}
.map-menu-body p{font-size:13px;color:#536b79;line-height:1.5;margin:8px 0}
.map-menu-body label{font-size:13px;font-weight:400}
.map-menu-body input:not([type=checkbox]){font-size:16px;padding:9px;min-height:42px}
.map-menu-body .maptools{flex-wrap:nowrap;gap:4px}
.map-menu-body .maptools button{flex:1;padding:9px 5px}
.map-menu-body [aria-pressed=true]{background:#004977;color:white}
/* v78: shared centered message cards. */
#dialog,#manualConfirm{position:fixed;inset:0;margin:auto!important;width:min(360px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(var(--operator-height,100dvh) - 32px);height:fit-content;border:0;border-radius:18px;padding:20px;box-shadow:0 16px 48px #102b3e26}
#manualConfirm:not([open]){display:none}
#manualConfirm::backdrop{background:#102b3e88}
.manual-confirm-card{width:100%;text-align:center}
.confirm-eyebrow{font-size:11px;letter-spacing:1px;font-weight:600;color:#627987}
.manual-confirm-card h2{font-size:21px;line-height:1.3;margin:12px 0;overflow-wrap:anywhere}
.manual-confirm-card p{font-size:14px;color:#526b7b;line-height:1.5;margin:12px 0 18px}
#manualProgress{display:block;appearance:none;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:#e8eff3;margin-bottom:22px}
#manualProgress::-webkit-progress-bar{background:#e8eff3;border-radius:8px}
#manualProgress::-webkit-progress-value{background:#ec920b;border-radius:8px}
#manualProgress::-moz-progress-bar{background:#ec920b;border-radius:8px}
#cancelManualActivity{width:100%;min-height:46px;font-size:15px;font-weight:600;background:#edf3f6;color:#15374a}
#toast{top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:20px;border-radius:18px;text-align:center;box-shadow:0 12px 40px #102b3e22}

/* v79 — Menu operacional em faixas */
#screen[data-screen="more"]{background:#fff}
.operator-menu.command-menu{height:100%;min-height:0;gap:0;background:#fff}
.command-context{display:flex;align-items:center;justify-content:space-between;padding:8px 6px 16px;gap:12px}
.command-context>div{display:flex;flex-direction:column;gap:4px}
.command-context small{font-size:10px;letter-spacing:1.4px;color:#607786;font-weight:600}
.command-context strong{font-size:25px;line-height:1.2;color:#102f40}
.command-context button{width:44px;height:44px;padding:11px;background:#edf4f7;border-radius:50%;color:#102f40}
.command-context svg,.command-footer svg{width:22px;height:22px;flex:none}
.command-status{display:flex;align-items:center;gap:16px;background:#edf4f7;border-radius:10px;padding:13px 16px;margin-bottom:18px}
.command-status>div:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.command-status small{font-size:11px;color:#526d7c}
.command-status strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.command-trips{display:flex;flex-direction:column;text-align:center;border-left:1px solid #cfdee6;padding-left:16px;gap:2px}
.command-trips strong{font-size:24px;color:#004e75}
.operator-menu.command-menu>.menu-lines{flex:1;min-height:0;margin:0;border:0;border-radius:0;display:grid;grid-template-rows:repeat(5,minmax(44px,1fr));max-height:360px;overflow:visible}
.operator-menu.command-menu .menu-lines button{position:relative;min-height:44px;padding:10px 32px;border-bottom:1px solid #e0e8ed;border-radius:0;color:#12364a;font-size:16px;font-weight:600;background:#fff}
.operator-menu.command-menu .menu-lines button>span:first-child{text-align:center}
.operator-menu.command-menu .menu-lines button>span:last-child{position:absolute;right:12px;font-size:22px;color:#476777}
.operator-menu.command-menu .menu-lines .command-primary{background:#fff4de;border-left:3px solid #e6a027}
.operator-menu.command-menu .menu-lines button:active{background:#e6f0f5}
.command-footer{margin-top:auto;padding:20px 0 max(8px,env(safe-area-inset-bottom));flex:none}
.command-footer button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;background:#102f40;color:#fff;font-size:15px;border-radius:10px}
.command-footer button:disabled{opacity:.4}
.drawer-secondary{display:flex;flex-direction:column;gap:8px;margin-top:18px;border-top:1px solid #dae5eb;padding-top:16px}
@media(max-height:650px){.command-context{padding:2px 4px 8px}.command-status{padding:8px 12px;margin-bottom:8px}.command-footer{padding-top:10px}.operator-menu.command-menu .menu-lines button{font-size:14px}}

/* v80 — Menu compacto com ícones e alinhamento à esquerda */
.compact-command .command-context{padding:2px 0 14px;gap:10px;flex:none}
.compact-command .command-context h1{font-size:21px;line-height:1.3;font-weight:650;flex:1;margin:0}
.compact-command .command-context button{background:transparent;border-radius:10px;width:44px;height:44px;padding:10px}
.menu-turn-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 16px;border-bottom:1px solid #e6ecef;margin-bottom:16px;flex:none}
.menu-turn-strip>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.menu-turn-strip strong{font-size:15px;color:#12364a}
.menu-turn-strip span{font-size:11px;color:#5b707c;line-height:1.4;overflow-wrap:anywhere}
.menu-turn-strip small{white-space:nowrap;color:#607580;font-size:12px}
.menu-turn-strip b{color:#163b4c;font-size:17px;margin-right:3px}
.operator-menu.command-menu.compact-command>.menu-lines{display:flex;flex-direction:column;flex:none;max-height:none;gap:0}
.operator-menu.command-menu.compact-command .menu-lines button{display:flex;align-items:center;justify-content:flex-start;gap:15px;min-height:58px;padding:12px 14px;font-size:15px;font-weight:550;border:0;border-bottom:1px solid #e6ecef;background:transparent}
.compact-command .menu-lines svg{width:22px;height:22px;flex:none;color:#466778}
.operator-menu.command-menu.compact-command .menu-lines .command-label{flex:1;text-align:left;position:static;color:#15394c;font-size:15px}
.operator-menu.command-menu.compact-command .menu-lines .command-arrow{position:static;flex:none;font-size:21px;color:#7f929d}
.operator-menu.command-menu.compact-command .menu-lines .command-primary{background:#fff0d8;border-radius:9px;border-bottom:0;margin-bottom:5px}
.compact-command .menu-lines .command-primary svg{color:#b76800}
.compact-command .command-footer{padding-top:24px}
.compact-command .command-footer button{background:transparent;color:#b0473c;border-top:1px solid #e6ecef;border-radius:0;justify-content:flex-start;padding:14px;gap:15px;font-size:14px;font-weight:550;min-height:52px}
.compact-command .command-footer button>span:first-of-type{flex:1;text-align:left}
.compact-command .command-footer button>span:last-child{font-size:21px}
@media(max-height:650px){.compact-command .command-context{padding-bottom:4px}.menu-turn-strip{padding:6px 4px 10px;margin-bottom:8px}.operator-menu.command-menu.compact-command .menu-lines button{min-height:48px;padding:8px 12px}.compact-command .command-footer{padding-top:10px}}

/* v81: neutraliza estilos globais de navegação e cabeçalho no menu interno */
.operator-menu.command-menu.compact-command>.menu-lines,.drawer-secondary{position:static;inset:auto;transform:none;width:100%;max-width:none;padding:0;border-top:0;z-index:auto}
.operator-menu.command-menu.compact-command>.menu-lines button{flex:none}
.operator-menu.command-menu.compact-command>.menu-lines button span{margin-top:0}
.compact-command .command-context{position:static;inset:auto;z-index:auto;background:#fff;color:#12364a}

/* v82 — Retorno ao menu na tela de apontamento */
#menuButton svg{display:block;width:26px;height:26px;stroke:currentColor;color:#fff}

/* v83 — Histórico compacto, incluindo o controle de correção */
.activity-history-table{font-size:12px}
.activity-history-table th,.activity-history-table td{padding:5px 9px;line-height:20px;height:auto}
.activity-history-table td button{min-height:26px;padding:3px 8px;font-size:11px;line-height:20px;border-radius:5px}
.activity-history-table thead th{padding-top:7px;padding-bottom:7px}

/* v84 — Lista com rolagem e painel de telemetria à direita */
#dialog:has(#activityList) #dialogContent{display:flex;flex-direction:column;overflow:hidden;max-height:calc(var(--operator-height,100dvh) - 80px)}
#dialog:has(#activityList) #dialogContent>h2,#dialog:has(#activityList) .dialogactions,#showActivitySearch,#activitySearch{flex-shrink:0}
#activityList{overflow-y:auto!important;min-height:0;touch-action:pan-y!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#dialog:has(#activityList) .viewport-pager{display:none!important}
#telemetryDrawer{position:fixed;inset:0 0 0 auto;margin:0;height:100%;max-height:100%;width:min(360px,92vw);max-width:92vw;border:0;border-radius:18px 0 0 18px;padding:24px 20px max(20px,env(safe-area-inset-bottom));color:#143447;background:#fff;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}
#telemetryDrawer::backdrop{background:#102b3e88}
.telemetry-title{display:flex;justify-content:space-between;align-items:center}.telemetry-title h2{margin:0}.telemetry-title button{font-size:24px;min-height:44px;width:44px;padding:4px;background:#edf3f6}
.telemetry-signals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.signal{display:flex;align-items:center;flex-direction:column;gap:8px;background:#f1f5f7;border-radius:12px;padding:16px}.signal svg{width:32px;height:32px}.signal.unknown{color:#81909a}.signal.on{color:#16843b}.signal.off{color:#d73535}.signal strong{font-size:14px}.signal small{font-size:12px}
.telemetry-values>div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e6edf1;font-size:14px}.telemetry-can{margin-top:20px;background:#f1f5f7;padding:14px;border-radius:10px}.telemetry-can h3{font-size:14px}.telemetry-can p{font-size:14px}

/* v85 — Telemetria no padrão do painel de equipamento */
#telemetryDrawer{inset:0 0 0 auto;width:min(390px,92vw);max-width:92vw;height:var(--operator-height,100dvh);max-height:var(--operator-height,100dvh);border-radius:14px 0 0 14px;padding:0;overflow:hidden;background:#f9fbfd;box-shadow:-8px 0 32px #102b3e33}
#telemetryDrawer[open]{display:flex;flex-direction:column}
#telemetryDrawer::backdrop{background:#102b3e80}
.telemetry-content{min-height:0;flex:1;overflow-y:auto;padding:12px 14px max(14px,env(safe-area-inset-bottom));touch-action:pan-y;overscroll-behavior:contain}
.telemetry-content .equipment{border:1px solid #dce5ec;border-radius:12px;background:white;padding:12px;margin-bottom:12px}
.telemetry-content .equipment img{width:70px;height:60px;object-fit:contain}
.telemetry-content .equipment h1{font-size:26px}
.telemetry-content .telemetry-signals{margin:12px 0}

/* v86 — Símbolos de ignição e motor */
.telemetry-signals .signal svg{width:44px;height:44px;transform:none;fill:currentColor;stroke:none}

.turn-indicators{display:flex;flex-direction:column;margin:16px 0;gap:10px}.turn-indicators>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 14px;background:#edf4f7;border-radius:10px}.turn-indicators span{font-size:14px;line-height:1.4}.turn-indicators strong{font-size:26px;color:#004977;white-space:nowrap}
/* Guided area setup */
.wizard-target{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:600;pointer-events:none;color:#102f40;background:#fff;border:2px solid #102f40;border-radius:50%;width:30px;height:30px;line-height:25px;text-align:center;font-size:25px;box-shadow:0 1px 5px #0004}
.fence-controls.wizard-controls{grid-template-columns:auto 1fr 1.4fr auto;gap:6px}.wizard-controls button{min-height:44px;font-size:13px}.fence-sizing[hidden],.point-map-layout.map-expanded .fence-sizing[hidden]{display:none!important}.wizard-condition{display:flex;align-items:center;gap:8px;flex:none;font-size:13px}.wizard-condition button{min-height:40px;padding:8px 14px}.wizard-condition button[aria-pressed=true]{background:#004977;color:#fff}.point-map-layout.map-expanded .wizard-condition{display:flex!important}
.fence-sizing input[type=range]{touch-action:pan-x!important;min-height:44px;cursor:ew-resize;width:100%}
/* Main menu cards matching the telemetry tab buttons. */
.operator-menu.command-menu.compact-command>.menu-lines{gap:8px}
.operator-menu.command-menu.compact-command .menu-lines button,.operator-menu.command-menu.compact-command .menu-lines .command-primary,.operator-menu.command-menu.compact-command .command-footer button{background:#e6eff4;border:0;border-radius:14px;margin:0;padding:12px 16px;min-height:50px;justify-content:center;gap:0;color:#143447;font-weight:700}
.operator-menu.command-menu.compact-command .menu-lines .command-label,.operator-menu.command-menu.compact-command .command-footer button>span:first-of-type{flex:1;text-align:center;font-size:16px;font-weight:700;color:inherit}
.operator-menu.command-menu.compact-command .menu-lines svg,.operator-menu.command-menu.compact-command .menu-lines .command-arrow,.operator-menu.command-menu.compact-command .command-footer svg,.operator-menu.command-menu.compact-command .command-footer button>span:last-child{display:none}
.operator-menu.command-menu.compact-command .command-footer{padding-top:12px}
.operator-menu.command-menu.compact-command .command-footer button{color:#b0473c}
.operator-menu.command-menu.compact-command .menu-turn-strip{padding:6px 4px 12px;margin-bottom:12px}
@media(max-height:700px){.operator-menu.command-menu.compact-command>.menu-lines{gap:6px}.operator-menu.command-menu.compact-command .menu-lines button,.operator-menu.command-menu.compact-command .command-footer button{min-height:44px;padding:8px 12px}.operator-menu.command-menu.compact-command .command-context{padding-bottom:4px}}
.marte-preview-notice{margin:12px 0;font-size:14px}.marte-preview-notice p{margin:6px 0 0}.marte-import{margin-top:18px;padding-top:12px;border-top:1px solid #d7e3e9}.marte-import label{display:block;background:#e6eff4;padding:12px;border-radius:12px;font-weight:700}.marte-import input{max-width:100%;margin-top:8px;font-size:14px}.marte-import small,.marte-report-times small{display:block;margin:8px 0;color:#536c7c}.marte-report-times{margin:20px 0 12px;border-top:1px solid #d7e3e9}.telemetry-content .drawer-row{overflow-wrap:anywhere}

.vl6-setup{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #d7e3e9}.vl6-setup h3{margin-top:0}.vl6-setup p,.vl6-setup small{font-size:14px;line-height:1.45}.vl6-setup fieldset{border:0;margin:12px 0;padding:0;min-width:0}.vl6-setup label{display:block;margin:12px 0}.vl6-setup input{width:100%;box-sizing:border-box;font-size:16px;min-height:44px}.vl6-setup button{margin-top:10px}.vl6-setup summary{padding:12px 0;cursor:pointer}.vl6-device small{display:block;font-weight:400}.vl6-setup .error:empty{display:none}
.vl6-terminal-entry{margin-bottom:16px;background:#123344;color:#fff}.vl6-terminal h3{font-size:22px;margin:18px 0 6px}.vl6-terminal-module{font-size:14px;color:#526b7c;overflow-wrap:anywhere}.vl6-terminal-back{min-height:44px;font-size:14px;padding:10px 14px}.vl6-terminal-notice{background:#ffdda0;border-radius:12px;padding:12px;color:#152a36;font-size:14px;line-height:1.45}.vl6-terminal label{display:block;font-size:14px;font-weight:700;margin:14px 0 7px}.vl6-terminal textarea,.vl6-terminal select{box-sizing:border-box;width:100%;min-height:44px;font-size:16px;padding:12px;border:1px solid #becfd8;border-radius:10px;background:#fff;color:#102b3e}.vl6-terminal textarea{font-family:ui-monospace,monospace;resize:vertical;overflow-wrap:anywhere}.vl6-terminal-note{font-size:14px;line-height:1.45;color:#536c7c}.vl6-terminal .error:empty{display:none}.vl6-log-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.vl6-log-heading h4{margin:0;font-size:16px}.vl6-log-heading button{min-height:44px;font-size:14px;padding:8px 10px}#vl6TerminalLog{list-style:none;padding:0;margin:12px 0;max-height:330px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;border:1px solid #d7e3e9;border-radius:12px;background:white}#vl6TerminalLog li{padding:12px;border-bottom:1px solid #e3ebef;font-size:14px}#vl6TerminalLog li:last-child{border-bottom:0}#vl6TerminalLog li>div{display:flex;align-items:center;justify-content:space-between;gap:8px}#vl6TerminalLog time,#vl6TerminalLog small{font-size:12px;color:#536c7c}#vl6TerminalLog pre{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;line-height:1.4}#vl6TerminalLog .vl6-log-tx{border-left:3px solid #005078}#vl6TerminalLog .vl6-log-rx{border-left:3px solid #1d803e}#vl6TerminalLog .vl6-log-info{background:#edf3f6}#vl6TerminalLog .vl6-log-empty{color:#536c7c;line-height:1.5}

.vl6-query-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.vl6-query-buttons button{min-height:44px;padding:10px 14px;font-size:14px}.vl6-terminal .vl6-log-heading{flex-wrap:wrap}

/* v102 — visible manual cycle learning, using the compact map menu. */
.learning-menu-entry{display:flex;align-items:center;gap:14px;width:100%;padding:18px 4px!important;background:transparent!important;border:0;border-bottom:1px solid #dce6eb;border-radius:0!important;color:#173d50;text-align:left;font-weight:600;font-size:1rem}
.learning-menu-entry>svg{width:25px;height:25px;flex:none;color:#b57500}
.learning-menu-entry>span:nth-child(2){flex:1}
.learning-menu-entry small{display:block;margin-top:4px;color:#526b7a;font-size:.875rem;font-weight:400;line-height:1.35}
.learning-menu-entry>span:last-child{color:#718e9b;font-size:1.5rem}
.learning-panel>p{font-size:1rem;line-height:1.5;margin:0 0 16px}
.learning-steps{list-style:none;margin:12px 0 18px;padding:0;display:grid;gap:8px}
.learning-steps li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #dce6eb;border-radius:12px;background:#f7fafc;font-size:1rem;line-height:1.35}
.learning-step-number{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:#e4edf2;color:#345666;font-size:.9rem;font-weight:700}
.learning-steps small{display:block;font-size:.875rem;color:#586f7c;margin-top:2px}
.learning-steps .done{border-color:#abd5b5;background:#edf8f0}
.learning-steps .done .learning-step-number{background:#217e3f;color:white}
.learning-steps .current{border-color:#d5a044;background:#fff6e7}
.learning-steps .current .learning-step-number{background:#aa6500;color:white}
.learning-help{font-size:.9375rem!important;line-height:1.45;color:#294c60;margin:14px 0}
.learning-actions{display:grid;gap:8px}
.learning-actions button{width:100%;min-height:44px;font-size:1rem;padding:12px!important}
.learning-actions [hidden]{display:none!important}
.learning-actions .learning-cancel{color:#9b352f;background:#faecea}
#pileHint.learning-map-status{font-size:.875rem;line-height:1.35}
.learning-stage-panel{text-align:center;padding-top:2px}
.learning-stage-head{display:grid;gap:10px;margin-bottom:22px;text-align:left}
.learning-stage-kicker{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:#9b6100}
.learning-stage-dots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.learning-stage-dots span{height:5px;border-radius:999px;background:#dce6eb}
.learning-stage-dots span.done{background:#21844a}
.learning-stage-dots span.current{background:#d88a00}
.learning-stage-number,.learning-stage-check{display:grid;place-items:center;width:72px;height:72px;margin:6px auto 14px;border-radius:50%;background:#fff2d7;color:#a96100;font-size:2rem;font-weight:800}
.learning-stage-check{background:#e6f5ea;color:#217e3f}
.learning-stage-panel h3{margin:0 0 10px;color:#102f43;font-size:1.65rem;line-height:1.2}
.learning-stage-instruction,.learning-stage-complete p{margin:0 auto 14px;max-width:32rem;color:#294c60;font-size:1rem;line-height:1.55}
.learning-stage-status{min-height:48px;margin:0 0 18px;padding:11px 12px;border-radius:12px;background:#edf4f7;color:#294c60;font-size:.9rem;line-height:1.4;text-align:left}
.learning-stage-complete{display:grid;gap:10px}
.learning-stage-complete .learning-stage-kicker{text-align:left}
.learning-stage-complete button{width:100%;min-height:48px}
.map-stage .map-learn-cycle{position:absolute;left:10px;bottom:26px;z-index:500;box-shadow:0 2px 7px #0002}
.map-stage .map-learn-cycle:disabled{opacity:.45}

/* Inset overlay keeps map size, gestures and controls unchanged. */
.map-stage.automatic-enabled::after{content:"";position:absolute;inset:0;z-index:600;border:4px solid #119b35;border-radius:inherit;pointer-events:none;box-sizing:border-box}

/* Operational location: soft orange, distinct from automatic/productivity green. */
.point-map-layout .context-strip{background:#fff0dd;color:#102b3e}
.point-map-layout .context-strip>span{border-left-color:#e5caaa}
.point-map-layout .context-strip small{color:#405565}

/* Approved OPERA identity: preserve the operational screen's available height. */
header .brand{display:flex;flex-direction:column;align-items:center;min-width:0;flex:0 1 190px;letter-spacing:0;line-height:1}
header .brand .opera-logo{display:block;width:100%;height:auto;max-height:64px;object-fit:contain}
header .brand small{font-size:9px;letter-spacing:2px;margin:0;color:#d6e3ec}
@media(max-width:360px){header .brand{flex-basis:160px}header #syncBadge{max-width:85px;font-size:11px}}

header .opera-logo-window{display:block;position:relative;width:100%;height:44px;overflow:hidden}
header .brand .opera-logo{position:absolute;width:122%;max-width:none;max-height:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%)}

/* Compact identity and stateful sync icon. */
.app>header .brand{flex:0 1 140px}
.app>header .opera-logo-window{height:32px}
.app>header .brand small{font-size:8px;letter-spacing:1.6px}
.app>header #syncBadge{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;max-width:32px;color:#c5d7e1}
#syncBadge svg{width:22px;height:22px}
#syncBadge[data-state="sending"]{color:#ff982f}
#syncBadge[data-state="sending"] svg{animation:opera-loading-spin 1.2s linear infinite normal;transform-origin:center}
#syncBadge[data-state="synced"]{color:#7cde91}
#syncBadge[data-state="pending"]{color:#ffbe5e}
#syncBadge[data-state="error"]{color:#ff9184}
#processingIndicator{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;pointer-events:none}
#processingIndicator[hidden]{display:none}
.opera-processing-mark{position:relative;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#102b3e;box-shadow:0 3px 16px #102b3e30}
.opera-processing-mark img{width:48px;height:48px;border-radius:50%;display:block}
.opera-processing-mark::after{content:"";position:absolute;inset:-4px;border:3px solid #d8e2e9;border-top-color:#f47721;border-right-color:#f47721;border-radius:50%;animation:opera-loading-spin .9s linear infinite}
@keyframes opera-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#syncBadge[data-state="sending"] svg,.opera-processing-mark::after{animation:none}}

#equipmentDrawer.drawer-dragging,#telemetryDrawer.drawer-dragging{transition:none;will-change:transform;user-select:none}
#equipmentDrawer.drawer-settling,#telemetryDrawer.drawer-settling{transition:transform 180ms ease-out;will-change:transform}
#equipmentDrawer.drawer-dragging::backdrop,#telemetryDrawer.drawer-dragging::backdrop,#equipmentDrawer.drawer-settling::backdrop,#telemetryDrawer.drawer-settling::backdrop{opacity:var(--drawer-shade,1)}
#equipmentDrawer.drawer-settling::backdrop,#telemetryDrawer.drawer-settling::backdrop{transition:opacity 180ms ease-out}
@media(prefers-reduced-motion:reduce){#equipmentDrawer.drawer-settling,#telemetryDrawer.drawer-settling,#equipmentDrawer.drawer-settling::backdrop,#telemetryDrawer.drawer-settling::backdrop{transition:none}}

/* Both side panels occupy two thirds of the viewport. */
#equipmentDrawer,#telemetryDrawer{width:calc(100vw * 2 / 3);max-width:calc(100vw * 2 / 3);min-width:0}
#equipmentDrawer .drawer-tabs,#telemetryDrawer .drawer-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
#equipmentDrawer .drawer-row>*,#telemetryDrawer .drawer-row>*{min-width:0;overflow-wrap:anywhere}
#equipmentDrawer .equipment>div{min-width:0;overflow-wrap:anywhere}

.offline-map-label{max-width:220px;padding:4px 6px;background:#ffffffde;color:#193b4d;border-radius:5px;font-size:11px;pointer-events:none}

/* Compact, icon-only signal states. Labels remain available to assistive tech. */
.telemetry-content .telemetry-signals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.telemetry-signals .signal{height:68px;min-width:0;padding:12px;justify-content:center;border-radius:10px;gap:0}
.telemetry-signals .signal svg{width:38px;height:38px;flex:none}
#equipmentDrawer::backdrop,#telemetryDrawer::backdrop{background:rgba(16,43,62,.55);opacity:1;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
/* Keep the complete approved logo centered, without crop or stretch. */
.app>header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;column-gap:10px}
.app>header .brand{width:min(160px,100%);justify-self:center}
.app>header .opera-logo-window{height:auto;aspect-ratio:2048/683;overflow:visible}
.app>header .brand .opera-logo{position:static;width:100%;height:auto;max-height:none;transform:none;object-fit:contain}
.app>header #syncBadge{justify-self:center}
.app>header #menuButton{padding:4px;min-width:0}

/* Bluetooth action sits beside the close control on every telemetry tab. */
#telemetryDrawer .drawer-heading{gap:6px}
#telemetryDrawer .drawer-heading h2{margin-right:auto;min-width:0}
#telemetryDrawer .drawer-heading [data-close-telemetry]{order:3}
#telemetryDrawer .drawer-heading .telemetry-bluetooth{order:2;display:grid;place-items:center;width:40px;height:40px;min-width:40px;padding:8px;background:#eaf4fc;color:#12619b;border-radius:10px}
.telemetry-bluetooth svg{width:22px;height:27px}
#telemetryDrawer .drawer-heading .telemetry-bluetooth.connected{color:#137939;background:#dff5e6}
#telemetryDrawer .drawer-heading .telemetry-bluetooth.connecting{opacity:.6}

/* Client identity and bottom actions on operator identification. */
#screen[data-screen=login]{display:flex;flex-direction:column;padding:12px 16px 0;min-height:0;container-type:size}
.login-layout{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:640px;margin:0 auto;gap:12px}
.login-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}
.client-identity{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin:2px 0 16px}
.client-identity img{width:190px;height:88px;object-fit:contain}.client-identity strong{font-size:18px}.client-identity span,.client-identity small{font-size:14px;color:#587083}
.login-content>.equipment{padding:10px 12px;margin-bottom:10px}.login-content>.equipment img{width:66px;height:54px;object-fit:contain}.login-content>.equipment h1{font-size:25px}.login-content>.equipment p{display:none}
.login-content .single-step{margin:0;padding:10px 0;gap:10px}.login-content .single-step h1{font-size:26px}
.login-actions{flex:none;display:grid;gap:8px;margin-top:auto;padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}.login-actions .full{margin:0;width:100%;min-height:48px}
@container(max-height:540px){.client-identity{margin-bottom:8px;gap:2px}.client-identity img{height:60px;width:150px}.login-content>.equipment{padding:6px 10px}.login-content .single-step{gap:6px;padding:6px 0}}
@container(max-height:350px){.client-identity,.login-content>.equipment{display:none}.login-actions .full{min-height:40px;padding:8px}.login-layout{gap:6px}}

/* Keep identification visible while the software keyboard uses the lower screen. */
.keyboard-open .app:has(#screen[data-screen=login])>header{padding-top:6px;padding-bottom:6px;min-height:48px}
.keyboard-open .app:has(#screen[data-screen=login]) .opera-logo-window{height:36px;width:140px}
.keyboard-open #screen[data-screen=login]{padding-top:6px}
.keyboard-open .login-content>.client-identity,.keyboard-open .login-content>.equipment{display:none}
.keyboard-open .login-content .single-step{padding:2px 0;gap:4px}
.keyboard-open .login-content .single-step>small{display:none}
.keyboard-open .login-content .single-step h1{font-size:21px}
.keyboard-open .login-content label{margin-top:4px}
.keyboard-open .login-layout{gap:6px}
.keyboard-open .login-actions{gap:6px;padding-bottom:4px}
.keyboard-open .login-actions .full{min-height:42px;padding:10px}

/* OPERA menu: compact white cards, real shift context and fixed closing action. */
#screen[data-screen=more]:has(.opera-menu){background:#f3f6f8;padding:14px 16px 0;container-type:size}
.operator-menu.command-menu.compact-command.opera-menu{background:transparent;display:flex;flex-direction:column;gap:0;height:100%;min-height:0}
.opera-summary{display:flex;align-items:center;gap:12px;flex:none;width:100%;text-align:left;border:1px solid #e4ebef;border-radius:16px;background:#fff;padding:14px;box-shadow:0 3px 10px #102b3e08;color:#112a40}
.opera-avatar{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;border-radius:50%;background:#e7f0f7;color:#075280;font-size:21px;font-weight:700;overflow:hidden}.opera-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}
.opera-summary-main{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.opera-summary-main>strong{font-size:25px;line-height:1.1}.opera-summary-main>small{font-size:13px;font-weight:400;color:#53677b;line-height:1.3;overflow-wrap:anywhere}
.opera-status{font-size:13px;font-weight:500;line-height:1.25;align-self:flex-start;border-radius:6px;padding:3px 6px;overflow-wrap:anywhere;background:#eef1f4;color:#53677b}.opera-status.productive{background:#e6f5e9;color:#21783d}.opera-status.unproductive{background:#fff1dd;color:#865200}
.opera-trips{display:flex;flex-direction:column;align-items:center;border-left:1px solid #e4ebef;padding-left:12px;flex:none;gap:2px}.opera-trips strong{font-size:25px}.opera-trips span{font-size:14px}.opera-trips small{font-size:12px;font-weight:400;color:#637887}
.opera-menu-title{font-size:18px;margin:15px 2px 10px;flex:none}
.operator-menu.command-menu.compact-command.opera-menu>.menu-lines{position:static;transform:none;width:100%;max-width:none;display:grid;grid-template-rows:repeat(7,minmax(44px,1fr));flex:1;min-height:0;max-height:none;gap:7px;padding:0;margin:0;background:transparent;overflow-y:auto;overscroll-behavior:contain}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines button{display:flex;justify-content:flex-start;gap:12px;padding:7px 12px;min-height:44px;background:#fff;border:1px solid #e4ebef;border-radius:12px;margin:0;box-shadow:0 2px 6px #102b3e05}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines .command-label{position:static;text-align:left;flex:1;color:#143447;font-size:16px;line-height:1.2}.opera-menu .command-label small{display:block;font-size:12px;font-weight:400;color:#637887;margin-top:3px;line-height:1.2}
.opera-menu .opera-menu-icon{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:9px;background:#eaf2f8;color:#075280}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines svg{display:block;width:23px;height:23px;color:inherit}
.opera-menu .command-primary .opera-menu-icon{background:#fff0dc;color:#b36706}
.operator-menu.command-menu.compact-command.opera-menu .command-footer{flex:none;margin-top:0;padding:12px 0 max(5px,env(safe-area-inset-bottom))}
.operator-menu.command-menu.compact-command.opera-menu .command-footer button{display:flex;gap:10px;min-height:46px;background:transparent;color:#ac3632;border:1px solid #bd514c;border-radius:12px;padding:10px}
.operator-menu.command-menu.compact-command.opera-menu .command-footer svg{display:block;width:22px;height:22px}
.operator-menu.command-menu.compact-command.opera-menu .command-footer button>span{display:block;position:static;flex:none;font-size:16px;color:inherit}
@container(max-height:610px){.opera-summary{padding:9px;gap:9px}.opera-avatar{width:42px;height:42px}.opera-summary-main>strong{font-size:22px}.opera-menu-title{margin:10px 2px 7px;font-size:16px}.operator-menu.command-menu.compact-command.opera-menu>.menu-lines{gap:5px}.opera-menu .command-label small{display:none}.operator-menu.command-menu.compact-command.opera-menu .command-footer{padding-top:8px}}
@container(max-height:450px){.opera-summary-main>small,.opera-trips small{display:none}.opera-summary{padding:6px 9px}.opera-avatar{width:34px;height:34px}.opera-menu-title{margin:6px 2px;font-size:14px}.operator-menu.command-menu.compact-command.opera-menu .command-footer button{min-height:42px;padding:8px}}

/* Reference menu: colored icon tiles, subtitles, chevrons and softly raised cards. */
#screen[data-screen=more]:has(.opera-menu){background:#eff3f6;padding:18px 18px 0}
.opera-summary{border:0;border-radius:19px;padding:16px;box-shadow:0 7px 18px #20324912}
.opera-avatar{background:linear-gradient(145deg,#388cf0,#1559c0);color:#fff;border:3px solid #2d7cdf;box-shadow:inset 0 0 0 2px #ffffff20;width:54px;height:54px}
.opera-menu-title{font-size:19px;margin:18px 10px 12px}
.operator-menu.command-menu.compact-command.opera-menu>.menu-lines{grid-template-rows:repeat(7,minmax(56px,1fr));gap:9px;padding:0 1px 8px}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines button{border:0;border-radius:15px;gap:13px;padding:7px 14px;box-shadow:0 5px 12px #20324914;min-height:56px}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines .command-label{font-size:18px;font-weight:700;min-width:0;line-height:1.15}
.opera-menu .command-label small{display:block;font-size:13px;color:#354954;line-height:1.2;margin-top:4px;font-weight:400}
.opera-menu .opera-menu-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(145deg,#70aafa,#4e66e8);color:#fff}
.opera-menu .command-primary .opera-menu-icon{background:linear-gradient(145deg,#70aafa,#5655ed);color:#fff}
.opera-menu [data-action=parameters] .opera-menu-icon{background:linear-gradient(145deg,#ff9872,#ffad41)}
.opera-menu [data-action=history] .opera-menu-icon{background:linear-gradient(145deg,#a76bf2,#6851eb)}
.opera-menu [data-action=note] .opera-menu-icon{background:linear-gradient(145deg,#e5b357,#d58a13)}
.opera-menu [data-action=checklist] .opera-menu-icon,.opera-menu [data-action=checklistSummary] .opera-menu-icon{background:linear-gradient(145deg,#69c7a9,#2bafa5)}
.opera-menu [data-indicator-details] .opera-menu-icon{background:linear-gradient(145deg,#35cdd0,#369fc9)}
.opera-menu [data-refresh-config] .opera-menu-icon{background:linear-gradient(145deg,#89b8f0,#5987d1)}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines svg{width:27px;height:27px;color:#fff}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines .command-arrow{display:block;position:static;flex:none;font-size:26px;font-weight:400;line-height:1;color:#8c959a}
.operator-menu.command-menu.compact-command.opera-menu .command-footer{padding-top:14px}
.operator-menu.command-menu.compact-command.opera-menu .command-footer button{border:1.5px solid #b63338;border-radius:16px;color:#b1252e;min-height:46px}
@container(max-height:630px){.opera-summary{padding:11px}.opera-menu-title{margin:12px 8px 8px;font-size:17px}.operator-menu.command-menu.compact-command.opera-menu>.menu-lines{gap:7px;grid-template-rows:repeat(7,minmax(51px,1fr))}.operator-menu.command-menu.compact-command.opera-menu .menu-lines button{padding:5px 12px;min-height:51px;gap:11px}.opera-menu .opera-menu-icon{width:38px;height:38px}.operator-menu.command-menu.compact-command.opera-menu .menu-lines .command-label{font-size:16px}.opera-menu .command-label small{display:block;font-size:12px;margin-top:2px}.operator-menu.command-menu.compact-command.opera-menu .command-footer{padding-top:9px}}

/* Equal square icon tiles: override the legacy first-child flex expansion. */
.operator-menu.command-menu.compact-command.opera-menu .menu-lines button>.opera-menu-icon{display:flex;align-items:center;justify-content:center;position:static;flex:0 0 40px;width:40px;min-width:40px;max-width:40px;height:40px;aspect-ratio:1;border-radius:8px;margin:0;padding:0;align-self:center}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines .command-label{font-size:16px;text-align:left}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines button{justify-content:flex-start;gap:12px}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines [data-indicator-details] svg{fill:currentColor;stroke-width:1}
.operator-menu.command-menu.compact-command.opera-menu .menu-lines [data-refresh-config] svg{stroke-width:2.1}
.operator-menu.command-menu.compact-command.opera-menu .command-footer{margin-top:auto;padding-bottom:max(2px,calc(env(safe-area-inset-bottom,0px) - 12px))}
@container(max-height:630px){.operator-menu.command-menu.compact-command.opera-menu .menu-lines button>.opera-menu-icon{flex-basis:38px;width:38px;min-width:38px;max-width:38px;height:38px}.operator-menu.command-menu.compact-command.opera-menu .menu-lines .command-label{font-size:15px}}

/* Approved OPERA indicators: navy, white cards and restrained colored charts. */
#screen[data-screen=indicators]{background:#edf3f7;padding:14px 16px 10px;overflow:hidden;container-type:size}
.indicator-dashboard{height:100%;display:flex;flex-direction:column;gap:11px;color:#102e43;max-width:680px;margin:0 auto}
.indicator-dashboard h1,.indicator-dashboard h2,.indicator-dashboard p{margin:0}.id-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.id-heading h1{font-size:26px;letter-spacing:-.5px}.id-heading small{color:#8095ab;font-size:12px}
.id-card{background:#fff;border:0;border-radius:16px;padding:14px;box-shadow:0 7px 20px #18354b05}.id-equipment{display:flex;align-items:center;gap:14px;flex:none}.id-equipment .opera-avatar{width:54px;height:54px;border:3px solid #3089e8;background:#fff}.id-equipment>div{min-width:0}.id-equipment>div>strong{display:block;font-size:27px;line-height:1.1;margin-bottom:6px}.id-equipment>div>span{display:block;background:#edf2f6;color:#597187;padding:4px 7px;border-radius:7px;font-size:14px;overflow-wrap:anywhere}
.id-tabs{display:grid;grid-template-columns:1fr 1fr;background:#e3edf3;border:1px solid #fff;border-radius:12px;padding:0;flex:none}.id-tabs button{background:transparent;min-height:40px;border:0;border-radius:11px;font-size:16px;color:#536d81}.id-tabs button[aria-pressed=true]{background:#14364b;color:white}
.id-content{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.id-content>*{flex-shrink:0}.id-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.id-metrics .id-card{display:flex;align-items:center;gap:11px;padding:12px}.id-icon{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;border-radius:9px;color:#fff}.id-icon svg{width:28px;height:28px}.id-orange{background:linear-gradient(140deg,#ffb34c,#ff942f)}.id-cyan{background:linear-gradient(140deg,#27cbd0,#29acce)}.id-blue{background:linear-gradient(140deg,#92bdf4,#6498df)}.id-metrics strong{display:block;font-size:32px;line-height:1.1;letter-spacing:-1px}.id-metrics span:not(.id-icon){display:block;color:#5c7388;font-size:13px;margin-top:4px;white-space:nowrap}.id-metrics .id-card>div{min-width:0}
.indicator-dashboard h2{font-size:18px;line-height:1.2;letter-spacing:-.3px}.id-composition-body{display:flex;align-items:center;gap:16px;margin-top:14px}.id-donut{width:136px;height:136px;flex:0 0 136px;border-radius:50%;display:grid;place-items:center}.id-donut>div{background:white;border-radius:50%;width:94px;height:94px;display:flex;align-items:center;justify-content:center;flex-direction:column}.id-donut strong{font-size:25px;letter-spacing:-.8px}.id-donut small{font-size:12px;color:#8093a8;margin-top:3px}.id-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:11px}.id-legend button{display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;min-height:0;font-size:13px;font-weight:400;text-align:left;border-radius:0;color:#5c7388}.id-legend i,.id-evolution-key i{width:12px;height:12px;border-radius:50%;flex:0 0 12px}.id-legend strong{margin-left:auto;white-space:nowrap;font-size:14px;color:#102e43;font-variant-numeric:tabular-nums}.id-legend span{flex:1}
.id-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.id-section-heading small{font-size:11px;color:#8295aa}.id-performance-row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:13px}.id-performance-row>span{font-size:15px}.id-performance-row>strong{grid-column:2;grid-row:1/3;align-self:center;font-size:23px;font-variant-numeric:tabular-nums}.id-track{height:10px;border-radius:20px;background:#e9f1f6;overflow:hidden}.id-track i{height:100%;display:block;border-radius:20px}.id-warning{display:flex;align-items:center;gap:9px;background:#fff7e5;padding:12px;border-radius:15px;color:#86501c}.id-warning .id-icon{width:36px;height:36px;flex-basis:36px}.id-warning strong{font-size:12px;display:block}.id-warning small{font-size:11px;display:block;margin-top:5px}.id-warning button{background:#ffedd0;color:#b66516;font-size:12px;border:0;padding:8px;margin-left:auto;min-height:35px;white-space:nowrap}.id-formulas{width:100%;display:flex;align-items:center;gap:13px;text-align:left;font-weight:400;font-size:16px;min-height:54px;padding:10px 14px}.id-formulas .id-icon{width:36px;height:36px;flex-basis:36px}.id-formulas>span:last-child{margin-left:auto;color:#87959f;font-size:25px}.id-footer{margin-top:auto;flex:none}.id-footer button{display:flex;align-items:center;justify-content:center;gap:12px;background:#14364b;color:white;border:0;border-radius:12px;width:100%;min-height:44px;font-size:15px}.id-footer svg{width:22px;height:22px}.id-columns{display:flex;align-items:flex-end;gap:12px;overflow-x:auto;padding-top:22px}.id-columns>div{min-width:28px;flex:1;text-align:center;font-size:14px}.id-columns span{display:block;background:#ffa23c;border-radius:5px 5px 0 0;margin:6px auto;width:80%}.id-columns small{font-size:11px;color:#60778b}.id-timeline{display:flex;height:35px;border-radius:7px;overflow:hidden;margin-top:20px}.id-timeline button{min-width:2px;min-height:0;padding:0;border:0;border-radius:0}.id-time-labels{display:flex;justify-content:space-between;font-size:12px;margin-top:7px}.id-evolution-key{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;font-size:13px}.id-evolution-key span{display:flex;gap:6px;align-items:center}.id-empty{padding:20px;font-size:16px;line-height:1.5}
@container(max-height:690px){.indicator-dashboard{gap:8px}.id-card{padding:11px}.id-equipment{padding:10px 14px}.id-equipment .opera-avatar{width:46px;height:46px}.id-equipment>div>strong{font-size:24px}.id-content{gap:8px}.id-donut{width:120px;height:120px;flex-basis:120px}.id-donut>div{width:82px;height:82px}.id-donut strong{font-size:22px}.id-composition-body{margin-top:10px;gap:12px}.id-legend{gap:9px}.id-metrics strong{font-size:29px}.id-performance-row{margin-top:10px}.id-heading h1{font-size:24px}}
@media(max-width:370px){#screen[data-screen=indicators]{padding:10px}.id-composition-body{gap:9px}.id-legend button{font-size:12px}.id-legend strong{font-size:13px}.id-metrics .id-card{gap:7px}.id-metrics .id-icon{width:36px;flex-basis:36px;height:36px}.id-metrics strong{font-size:27px}.id-metrics span:not(.id-icon){font-size:12px}}
.indicator-dashboard .id-tabs{position:static;transform:none;max-width:none;width:100%;left:auto;bottom:auto;z-index:auto;gap:0}.indicator-dashboard .id-tabs button{padding:9px}

.id-basis{display:block;font-size:12px;color:#627c91;line-height:1.4;margin-top:7px}

/* Shared operator drawers: equipment on the left, telemetry on the right. */
:is(#equipmentDrawer,#telemetryDrawer){width:min(420px,92vw);max-width:92vw;background:#fff;color:#102b3e}
#equipmentDrawer{border-radius:0 0 24px 0}
#telemetryDrawer{border-radius:0 0 0 24px}
:is(#equipmentDrawer,#telemetryDrawer)::backdrop{background:#102b3e88;backdrop-filter:blur(3px)}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-heading{background:#102f3e;padding:18px 16px;padding-top:max(18px,env(safe-area-inset-top));gap:10px}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-heading h2{font-size:21px;font-weight:750;color:#fff}
#closeDrawer,#telemetryDrawer .drawer-heading [data-close-telemetry]{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;min-height:46px;padding:0;border:3px solid #d99120;border-radius:15px;background:#fff;color:#d99120;font-size:32px;line-height:1}
#drawerContent,.telemetry-content{padding:18px 16px max(16px,env(safe-area-inset-bottom))}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-tabs button{min-height:54px;padding:12px 6px;border:0;border-radius:13px;background:#eaf0f5;color:#102b3e;font-size:15px;font-weight:700;box-shadow:none}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-tabs [aria-selected=true]{background:#004977;color:#fff}
:is(#equipmentDrawer,#telemetryDrawer) .equipment{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:16px 12px;border:1px solid #dce2e8;border-radius:18px;background:#fff;box-shadow:none}
:is(#equipmentDrawer,#telemetryDrawer) .equipment img,:is(#equipmentDrawer,#telemetryDrawer) .equipment>.machine{width:68px;height:68px;min-width:68px;flex:0 0 68px;border:3px solid #2e83d7;border-radius:50%;object-fit:contain;background:#fff;padding:4px;box-sizing:border-box}
:is(#equipmentDrawer,#telemetryDrawer) .equipment>.machine{display:grid;place-items:center;font-size:34px}
:is(#equipmentDrawer,#telemetryDrawer) .equipment>div{min-width:0;overflow-wrap:anywhere}
:is(#equipmentDrawer,#telemetryDrawer) .equipment h1{font-size:30px;line-height:1.1;margin:0 0 8px;color:#102b3e}
:is(#equipmentDrawer,#telemetryDrawer) .equipment small{font-size:14px;line-height:1.4;color:#536575}
:is(#equipmentDrawer,#telemetryDrawer) .equipment p{font-size:14px!important;line-height:1.4;color:#102b3e}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-section-title{font-size:21px;line-height:1.25;font-weight:750;margin:22px 0 12px;color:#102b3e}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #dce2e8;font-size:14px;line-height:1.4}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-row>span{color:#536575}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-row>strong{max-width:none;min-width:0;font-weight:700;text-align:right;color:#102b3e;overflow-wrap:anywhere}
#equipmentDrawer .drawer-metric,#equipmentDrawer [data-drawer-page]:not([data-drawer-page=equipment]) .drawer-row,#telemetryDrawer .drawer-row{padding:12px 10px;margin-bottom:6px;border:0;border-radius:12px;background:#edf1f5}
:is(#equipmentDrawer,#telemetryDrawer) .full{border-radius:12px;min-height:46px}
:is(#equipmentDrawer,#telemetryDrawer) button:focus-visible{outline:3px solid #d99120;outline-offset:2px}
@media(max-width:360px){:is(#equipmentDrawer,#telemetryDrawer) .equipment{gap:10px;padding:12px 10px}:is(#equipmentDrawer,#telemetryDrawer) .equipment h1{font-size:26px}:is(#equipmentDrawer,#telemetryDrawer) .drawer-row{font-size:13px;gap:8px}}

/* Native vertical scrolling inside the left drawer; header stays fixed. */
#drawerContent{overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}

/* Narrow side panels, matching the two-thirds reference. */
:is(#equipmentDrawer,#telemetryDrawer){width:min(360px,67vw);max-width:67vw;min-width:0;margin:0;container-type:inline-size}
#equipmentDrawer{left:0;right:auto}
#telemetryDrawer{left:auto;right:0}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-heading{padding-left:12px;padding-right:12px;gap:6px}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-heading h2{font-size:18px;min-width:0;line-height:1.25}
#closeDrawer,#telemetryDrawer .drawer-heading [data-close-telemetry]{flex-basis:40px;width:40px;height:40px;min-height:40px;border-radius:13px;font-size:28px}
#drawerContent,.telemetry-content{min-width:0;width:100%;padding-left:12px;padding-right:12px;overflow-x:hidden}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-tabs{gap:7px;margin-bottom:14px}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-tabs button{font-size:14px;min-width:0;min-height:46px;padding:10px 3px;white-space:normal;word-break:normal;overflow-wrap:normal}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-section{min-width:0;max-width:100%}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-section-title{font-size:19px;margin:18px 0 10px}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-row{word-break:normal;overflow-wrap:normal}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-row>span{min-width:0;overflow-wrap:normal;word-break:normal}
:is(#equipmentDrawer,#telemetryDrawer) .drawer-row>strong{word-break:normal;overflow-wrap:break-word}
:is(#equipmentDrawer,#telemetryDrawer) :is(button.full,label.full){min-width:0;max-width:100%;padding:12px 8px;font-size:14px;line-height:1.4;white-space:normal;word-break:normal;overflow-wrap:normal}
:is(#equipmentDrawer,#telemetryDrawer) :is(input,select,textarea,fieldset){min-width:0;max-width:100%;box-sizing:border-box}
:is(#equipmentDrawer,#telemetryDrawer) input[type=file]{width:100%;font-size:14px}
@container(max-width:300px){
 :is(#equipmentDrawer,#telemetryDrawer) .equipment{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px 10px;padding:12px;margin-bottom:14px}
 :is(#equipmentDrawer,#telemetryDrawer) .equipment>div:not(.machine){display:contents}
 :is(#equipmentDrawer,#telemetryDrawer) .equipment img,:is(#equipmentDrawer,#telemetryDrawer) .equipment>.machine{width:52px;height:52px;min-width:52px;grid-column:1;grid-row:1;font-size:26px}
 :is(#equipmentDrawer,#telemetryDrawer) .equipment h1{grid-column:2;grid-row:1;align-self:center;font-size:26px;margin:0;overflow-wrap:break-word}
 :is(#equipmentDrawer,#telemetryDrawer) .equipment :is(small,p){grid-column:1/-1;margin:0!important;word-break:normal;overflow-wrap:break-word}
 :is(#equipmentDrawer,#telemetryDrawer) .drawer-row{grid-template-columns:minmax(0,1fr);gap:4px;font-size:14px}
 :is(#equipmentDrawer,#telemetryDrawer) .drawer-row>strong{text-align:left}
 #equipmentDrawer [data-drawer-page=records] .drawer-row{grid-template-columns:minmax(0,1fr) max-content;gap:8px}
 #equipmentDrawer [data-drawer-page=records] .drawer-row>strong{text-align:right}
 #telemetryDrawer .drawer-heading .telemetry-bluetooth{width:32px;min-width:32px;height:36px;min-height:36px;padding:5px}
}
@container(max-width:240px){:is(#equipmentDrawer,#telemetryDrawer) .drawer-tabs{grid-template-columns:minmax(0,1fr)}#equipmentDrawer [data-drawer-page=records] .drawer-row{grid-template-columns:minmax(0,1fr)}#equipmentDrawer [data-drawer-page=records] .drawer-row>strong{text-align:left}}

#activityList button:disabled{opacity:.55;cursor:not-allowed}#activityList [data-motion-rule]{white-space:normal}.activity-motion-notice{margin:8px 0;padding:12px;border-left:4px solid #d58a00}.activity-motion-notice p{margin:6px 0}.activity-motion-notice button{padding:10px;font-size:16px}

.activity-motion-notice{display:flex;align-items:center;gap:8px;flex:none;margin:0;padding:8px 10px;background:#fff0cd;color:#493710;border-radius:8px;font-size:13px;line-height:1.25}.activity-motion-notice>span{flex:1;min-width:0;overflow-wrap:anywhere}.activity-motion-notice button{flex:none;min-height:36px;font-size:13px;padding:8px}.point-map-layout.map-expanded>.activity-motion-notice{display:flex!important}

.connected-status{margin:8px 0;padding:12px 14px;border:1px solid #b8d7c7;border-left:4px solid #16814a;border-radius:12px;background:#edf8f1;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:14px;color:#163b2b}.connected-status>strong,.connected-status>span,.connected-status>small{width:100%}.connected-status button{font-size:13px;padding:8px 10px;background:#fff;border:1px solid #b8d7c7;border-radius:8px;color:#163b2b;min-height:40px}.connected-status.connected-stale{background:#fff6df;border-color:#cb952f;color:#69490e}
