/* Somente a entrada /cliente. A operação desktop mantém seus componentes. */
.customer-app{height:var(--xtrack-vh,100vh);overflow:hidden;background:#f2f6f4;--client-nav:56px;--client-head:62px;--client-safe-bottom:env(safe-area-inset-bottom,0px)}
.customer-app .sidebar,.customer-app .footer,.customer-app .mobile-menu,.customer-app .topbar .clock,.customer-app .topbar .live-pill,.customer-app .top-divider,.customer-app .company-context,.customer-app .topbar-right>.avatar,.customer-app .sound-toggle{display:none!important}
.customer-app #app,.customer-app .app-shell{height:100%;min-height:0}.customer-app .main{margin:0!important;min-width:0;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.customer-app .topbar{height:var(--client-head);padding:0 18px;background:#102b31;border:0;color:white;position:relative;flex-shrink:0;top:0;z-index:30;gap:8px}
.customer-app .topbar .crumb{gap:10px;min-width:0}.customer-app .topbar .crumb>span,.customer-app .topbar .crumb>.icon,.customer-app #crumb{display:none}.customer-app .internal-back{color:#d7e4df;padding:8px;margin:0}.customer-app .internal-back span{display:none}
.client-brand{display:flex;align-items:center;gap:9px;background:none;color:white;text-align:left;font-size:17px;font-weight:750;letter-spacing:1px;padding:0}.client-brand .brand-symbol{width:31px;height:34px;font-size:24px;border-radius:9px}.client-brand small{display:block;font-size:7px;letter-spacing:1.6px;color:#c7f575;margin-top:3px;font-weight:500}.customer-app .alert-shortcut{min-width:42px;height:36px;background:#ffffff0d;border-color:#ffffff22;color:#e3f2e8}.customer-app .alert-shortcut.has-alerts{color:#c7f575;background:#c7f57512;border-color:#c7f57540}
.customer-app .content{padding:20px 16px 24px;max-width:920px;margin:0 auto;min-height:0;flex:1;width:100%;overflow:auto;overscroll-behavior:contain}.customer-app .page-heading{margin-bottom:22px;gap:10px}.customer-app .page-heading h1{font-size:25px;letter-spacing:-.8px}.customer-app .page-heading p{font-size:12px;line-height:1.6;max-width:560px}.customer-app .heading-actions{flex-wrap:wrap}.customer-app .heading-actions button{font-size:11px}
.client-bottom{position:relative;flex-shrink:0;bottom:auto;left:auto;right:auto;z-index:40;display:flex;align-items:stretch;padding:3px 12px calc(3px + var(--client-safe-bottom));height:calc(var(--client-nav) + var(--client-safe-bottom));min-height:var(--client-nav);border-top:1px solid #dfebe4;background:#fff;box-shadow:0 -6px 28px #16392b07;gap:8px}.client-bottom button{position:relative;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:13px;background:none;color:#7c8f88;font-size:10px;font-weight:600;min-width:0}.client-bottom button .icon{width:22px;height:22px}.client-bottom button[aria-current=page]{background:#eaf3e8;color:#24563f}.client-bottom button[aria-current=page]:before{content:'';position:absolute;top:0;height:3px;width:22px;border-radius:3px;background:#8fc741}.client-bottom i{position:absolute;top:4px;left:calc(50% + 6px);font-style:normal;font-size:8px;background:#d34653;color:white;padding:2px 4px;border-radius:8px}
.client-search{margin-bottom:18px}.client-search .search-wrap{background:white;border:1px solid #dfe9e4;height:46px;border-radius:13px}.client-search input{font-size:13px}.client-list-tabs{display:flex;gap:7px;align-items:center;margin-top:14px}.client-list-tabs>button{display:flex;align-items:center;gap:5px;padding:9px 13px;border-radius:18px;background:#e8eeeb;color:#788a80;font-size:12px}.client-list-tabs>button[aria-pressed=true]{background:#183d30;color:#fff}.client-list-tabs .icon{width:14px;height:14px}.client-list-tabs select{min-width:0;margin-left:auto;background:none;border:0;color:#657f6d;font-size:10px;padding:7px;max-width:145px}.client-fleet{display:grid;gap:13px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.client-vehicle-row{background:#fff;border:1px solid #e0e9e4;border-radius:18px;padding:16px;position:relative;box-shadow:0 3px 12px #12372603}.client-vehicle-row.selected{border-color:#8bb897}.client-vehicle-open{display:flex;gap:11px;align-items:center;width:100%;text-align:left;padding:0;background:none;color:var(--ink);touch-action:pan-y}.client-vehicle-open .stack{flex:1;min-width:0}.client-vehicle-open .stack strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-vehicle-open .stack small{font-size:10px;color:var(--muted)}.client-row-speed{font-size:20px;font-weight:600}.client-row-speed small{display:block;color:var(--muted);font-size:8px;font-weight:400;text-align:right}.client-row-state{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:14px 0 7px}.client-star{display:flex;align-items:center;justify-content:center;background:transparent;color:#93a59a;border:0;min-width:36px;min-height:36px;border-radius:10px}.client-star .icon{width:20px;height:20px}.client-star.is-favorite{color:#507d29;background:#eff6e8}.client-star.is-favorite .icon{fill:#d9edac}.client-row-clock{display:flex;align-items:center;gap:5px;color:#536e60;font-size:11px}.client-row-clock .icon{width:13px;height:13px}.client-row-contact{color:#8a9c91;font-size:9px;margin:6px 30px 0 0}.client-more{position:absolute;bottom:10px;right:10px;background:none;color:#5e786b;min-width:34px;min-height:34px;border-radius:9px;display:grid;place-items:center}.client-marker-hit{display:contents}
.customer-app[data-client-page=monitor] .content{padding:0;max-width:none;min-height:0;overflow:hidden}.customer-app[data-client-page=monitor] #page{height:100%;min-height:0}.customer-app[data-client-page=monitor] #network-error:not(:empty){position:absolute;z-index:29;top:var(--client-head);left:10px;right:10px}.client-map-stage{height:100%;display:flex;flex-direction:column;min-height:0}.client-map{position:relative;flex:1;min-height:90px;overflow:hidden}.client-map .map-area{height:100%;min-height:0!important;border-radius:0}.client-map .xtrack-map-canvas{height:100%}.client-map-search{position:absolute;z-index:6;top:13px;left:12px;right:64px;max-width:380px;min-height:42px;display:flex;align-items:center;gap:9px;background:#fff;color:#7b8e83;border:1px solid #dce6de;border-radius:13px;box-shadow:0 3px 14px #133c2315;padding:10px 13px;text-align:left;font-size:12px}.client-map-search .icon{width:18px;height:18px}.client-map-search b{margin-left:auto;background:#edf5e7;color:#577c3a;font-size:10px;border-radius:7px;padding:3px 7px}.client-map-tools{display:flex;position:absolute;z-index:7;right:12px;top:13px;flex-direction:column;gap:8px}.client-map-tools button{width:40px;min-height:40px;border-radius:12px;box-shadow:0 3px 12px #153b2512;font-size:0;padding:9px;overflow:hidden;color:#466953}.client-map-tools button.following{color:#244d38;background:#d4f19b;border-color:#afcd80}.client-map-provider{position:absolute;bottom:24px;left:8px;z-index:4;padding:3px 6px;background:#ffffffbb;color:#527063;border-radius:5px;font-size:8px;pointer-events:none}.client-map .leaflet-control-zoom{margin-top:68px}.client-map .gm-style-mtc{margin-top:58px!important}.client-map .map-no-fix .callout{max-width:260px;background:#fffffff2;font-size:11px}.client-map .map-no-fix .callout h3{font-size:14px}
.client-map-welcome{display:flex;gap:12px;align-items:center;background:#fff;padding:17px 18px;border-top:1px solid #dfe9e1}.client-map-welcome .brand-symbol{width:32px;height:34px;font-size:23px}.client-map-welcome>div{flex:1}.client-map-welcome strong{font-size:13px}.client-map-welcome p{font-size:10px;line-height:1.6;color:#87988c;margin-top:4px}.client-map-welcome .icon-button{border:0;background:#edf4e9}
.client-sheet{background:white;border-top:1px solid #dfe8df;box-shadow:0 -7px 24px #193a2409;padding:0 17px 5px;border-radius:20px 20px 0 0;margin-top:0;position:relative;z-index:10;max-height:calc(var(--xtrack-vh,100vh)*0.59);display:flex;flex-direction:column}.client-sheet-handle{display:flex;justify-content:center;align-items:center;min-height:19px;width:100%;flex-shrink:0;background:none;touch-action:none}.client-sheet-handle i{width:34px;height:4px;background:#d7e1da;border-radius:4px}.client-sheet-title{display:flex;align-items:center;gap:10px;flex-shrink:0}.client-sheet-title .fleet-vehicle{width:36px;height:36px;min-width:36px;border-radius:12px}.client-sheet-title .fleet-vehicle .icon{width:23px;height:23px}.client-sheet-title>.stack{flex:1;min-width:0}.client-sheet-title h2{font-size:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.client-sheet-title .stack>span{font-size:9px;color:#8c9c91}.client-sheet-title>.icon-button{min-height:34px;border:0;background:#f2f6f2;padding:7px}.client-sheet-state{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.client-sheet-state>strong{font-size:16px}.client-sheet-state>strong small{font-size:9px;color:#7f9486;font-weight:400}.customer-app .vehicle-state{font-size:10px;max-width:100%;white-space:normal;line-height:1.3}.client-sheet-state .vehicle-state .icon{width:13px;height:13px}.client-sheet-shortcuts{display:flex;align-items:center;border-top:1px solid #edf1ee;flex-shrink:0;margin-top:2px;padding-top:3px}.client-sheet-shortcuts button{display:flex;gap:6px;align-items:center;justify-content:center;background:none;color:#4d745d;flex:1;min-height:36px;font-size:10px}.client-sheet-shortcuts .icon{width:16px;height:16px}.client-sheet-tabs{display:flex;gap:20px;flex-shrink:0;border-bottom:1px solid #e7eee7}.client-sheet-tabs button{background:none;padding:8px 0;color:#8b9e90;font-size:11px;border-bottom:2px solid transparent}.client-sheet-tabs [aria-selected=true]{color:#285339;border-bottom-color:#6e9a44;font-weight:600}.client-sheet-content{overflow:auto;min-height:0;padding:12px 0 6px;overscroll-behavior:contain}.client-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:9px 0}.client-facts>div{display:flex;flex-direction:column;gap:5px;min-width:0}.client-facts span{color:#8b9d90;font-size:9px}.client-facts strong{font-size:11px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.client-internal-battery{display:flex;align-items:flex-start;gap:12px;margin:15px 0 10px;padding:12px;border:1px solid #e4eddf;background:#f7faf5;border-radius:12px}.client-internal-battery>span{font-size:10px;color:#69816c;display:flex;gap:5px;align-items:center}.client-internal-battery>span .icon{width:17px;height:17px}.client-internal-battery .battery-reading{flex:1}.client-internal-battery .battery-reading>strong{font-size:11px}.client-internal-battery .battery-reading>small{font-size:8px;line-height:1.5}.client-address{font-size:11px;line-height:1.6;color:#4a6854}.client-quality,.client-old-position{font-size:8px;color:#91a08f;line-height:1.6;margin-top:7px}.client-old-position{color:#a07621;font-size:10px}.client-sheet #vehicle-daily{display:block;min-height:0}.client-sheet .vehicle-daily-value{display:flex;align-items:center;justify-content:space-between;padding:13px 0}.client-sheet .vehicle-daily-note{font-size:11px}
.customer-app dialog:not(.release-dialog){width:min(560px,calc(100% - 24px));max-height:calc(var(--xtrack-vh,100vh) - 40px);border-radius:20px}.customer-app dialog .dialog-head{padding:18px 20px;border-bottom:1px solid #e6eee4}.customer-app dialog .dialog-head h2{font-size:18px}.customer-app dialog .dialog-body{padding:18px 20px}.client-action-identity{display:flex;gap:12px;align-items:center;margin-bottom:14px}.client-action-identity .fleet-vehicle{width:38px;height:38px;border-radius:12px}.client-action-identity strong{font-size:14px}.client-action-identity p{font-size:10px;margin-top:5px;color:#82957e}.client-actions{display:flex;flex-direction:column;gap:3px}.client-action{width:100%;display:flex;align-items:center;gap:13px;text-align:left;background:transparent;border:0;min-height:49px;border-radius:10px;color:#345b40;padding:10px 7px}.client-action:hover{background:#f1f6ed}.client-action>.icon:first-child{width:20px;height:20px;color:#779567}.client-action>span{flex:1;font-size:12px}.client-action>.icon:last-child{width:15px;height:15px;color:#a0b198}.client-account-intro{display:flex;align-items:center;gap:15px;margin:8px 0 26px}.client-account-intro>.avatar{width:50px;height:50px;border-radius:17px;background:#dcecc9;color:#42622e;font-size:19px}.client-account-intro h1{font-size:20px;letter-spacing:-.5px}.client-account-intro p{color:#7f957f;font-size:12px;margin-top:5px}.client-version{display:block;font-size:9px;color:#98a992;margin-top:7px}.client-more-options{padding:7px 14px;border-radius:18px}.client-more-options .client-action{border-bottom:1px solid #edf2e8;border-radius:0;min-height:55px}.client-more-options .client-action:last-child{border-bottom:0}.client-pilot-note{font-size:10px;color:#95a58e;line-height:1.8;text-align:center;margin:20px auto;max-width:400px}.client-help p{font-size:12px;line-height:1.8;color:#72876b;margin-bottom:20px}.client-help p strong{display:block;color:#35582e;font-size:13px}.client-help .icon{width:15px;height:15px;vertical-align:middle}.client-resource-toolbar{margin-bottom:15px}.client-resource-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #e6eee1}.client-resource-row>div{flex:1;min-width:0}.client-resource-row strong{font-size:13px}.client-resource-row p{font-size:10px;color:#7b9474;line-height:1.7;margin:5px 0}.client-resource-row small{color:#95a58d;font-size:9px}.client-estimate{padding:15px;border-radius:12px;background:#f0f6e9;margin:15px 0;display:flex;flex-direction:column;gap:8px}.client-estimate span,.client-estimate small{font-size:10px;color:#829572}.client-estimate strong{font-size:19px;color:#3a622c}
.customer-app .history-controls{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.customer-app .history-controls .form-field{margin:0;min-width:0}.customer-app .history-controls .form-field:first-child{grid-column:1/-1}.customer-app .history-controls>button{grid-column:1/-1}.customer-app .history-grid{display:flex;flex-direction:column}.customer-app .history-grid .map-area{height:calc(var(--xtrack-vh,100vh)*0.44);min-height:240px}.customer-app .journey-metrics{grid-template-columns:1fr 1fr;gap:14px}.customer-app .journey-metrics strong{font-size:19px}.customer-app .journey-summary{padding:18px}.customer-app .journey-summary .area-toolbar{gap:8px}.customer-app .area-toolbar button{font-size:11px}.customer-app .history-list{max-height:400px}.customer-app .alert-row{padding:15px;gap:10px;flex-wrap:wrap}.customer-app .alert-row .event-symbol{width:30px;height:30px}.customer-app .alert-content{flex:1;min-width:180px}.customer-app .alert-actions{width:100%;display:flex;justify-content:flex-end;flex-direction:row}.customer-app .alert-title{font-size:13px}.customer-app .alert-actions button{font-size:10px}.customer-app #document-panel{padding:18px}.customer-app .table-wrap{overflow:auto}.customer-app .form-grid{gap:12px}.customer-app .form-field input,.customer-app .form-field select,.customer-app .form-field textarea{font-size:14px;min-width:0}.customer-app .dialog-actions{flex-wrap:wrap}.customer-app .dialog-actions button{flex:1;min-height:42px}
@media(min-width:760px){.customer-app .client-bottom{max-width:500px;align-self:center;left:auto;right:auto;width:100%;transform:none;border:1px solid #dce7d7;border-bottom:0;border-radius:20px 20px 0 0}.customer-app .client-map-stage{position:relative}.customer-app #client-sheet{position:absolute;bottom:16px;left:20px;width:390px;z-index:12}.customer-app .client-sheet{border-radius:20px;box-shadow:0 8px 30px #173f2530;margin:0;max-height:calc(var(--xtrack-vh,100vh)*0.68)}.customer-app .client-map-welcome{border-radius:16px;box-shadow:0 4px 16px #12382324}.customer-app .client-map-search{left:20px;top:20px}.customer-app .client-map-tools{right:20px;top:20px}.customer-app .content{padding-left:30px;padding-right:30px}.customer-app .client-sheet-content{max-height:430px}.customer-app .client-bottom button{font-size:11px}}
@media(max-height:590px){.customer-app{--client-head:48px;--client-nav:52px}.client-sheet.expanded{max-height:calc(var(--xtrack-vh,100vh)*0.57)}.client-sheet-state{margin:5px 0}.client-bottom button .icon{width:19px;height:19px}.client-bottom button{font-size:9px}.customer-app dialog:not(.release-dialog){max-height:calc(var(--xtrack-vh,100vh) - 16px)}}

/* Toque sem zoom acidental, alvos confortáveis e desenho acessível em celular. */
.customer-app button,.customer-app a{touch-action:manipulation}
.customer-app .client-vehicle-row,.customer-app .vehicle-marker{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.customer-app .client-star,.customer-app .client-more,.customer-app .icon-button{min-width:44px;min-height:44px}
.customer-app .client-sheet-handle{min-height:17px}
.customer-app .client-sheet-tabs button,.customer-app .client-sheet-shortcuts button{min-height:44px}
.customer-app .form-field input,.customer-app .form-field select,.customer-app .form-field textarea{font-size:16px;min-height:44px}
.customer-app dialog .dialog-head{flex-shrink:0}.customer-app dialog .dialog-head button{min-width:44px;min-height:44px}
.customer-app dialog .dialog-body{min-height:0;overscroll-behavior:contain;max-height:calc(var(--xtrack-vh,100vh) - 120px)}
.customer-app #fence-form>.fence-map{height:260px;min-height:260px;margin:0 0 16px;touch-action:none}
.customer-app #fence-form .dialog-actions{position:sticky;bottom:-18px;background:white;padding:12px 0;margin-top:12px;z-index:3}
.customer-app .fence-drawing-tools{gap:8px;flex-wrap:wrap}.customer-app .fence-drawing-tools button{min-height:44px}
.map-fence-label{background:#f6fcef;border:1px solid #8eae73;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:600;color:#335728;white-space:nowrap;pointer-events:none;width:max-content}

/* A centralização explícita evita o posicionamento incorreto do dialog na WebView antiga. */
.customer-app dialog[open]{position:fixed;left:50%;top:50%;right:auto;bottom:auto;margin:0;transform:translate(-50%,-50%);max-height:calc(var(--xtrack-vh,100vh) - 24px)}
.customer-app .release-dialog[open]{height:calc(var(--xtrack-vh,100vh) - 24px);max-height:720px}
.customer-app .release-dialog .release-content{flex:1;min-height:0;overflow:auto}

/* La navegação tem uma linha própria no layout, sem encobrir cards ou ficha. */
.customer-app .client-vehicle-open::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;z-index:1}
.customer-app .client-vehicle-open:focus-visible::after{outline:2px solid #699f44;outline-offset:2px}
.customer-app .client-star,.customer-app .client-more{position:relative;z-index:2}
.customer-app .client-more{position:absolute}
.client-row-address{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.6;color:#4f6c5c;margin:9px 42px 7px 0;min-height:18px}
.client-row-state{margin-top:7px;margin-bottom:5px}
.client-sheet-grab{touch-action:none;cursor:pointer;flex-shrink:0}
.client-sheet-grab:focus-visible{outline:2px solid #81ae54;border-radius:10px}
.client-batteries{display:flex;flex-wrap:wrap;gap:7px 16px;padding:6px 0 10px;flex-shrink:0;color:#688474;font-size:10px;line-height:1.6}
.client-batteries>span{display:flex;align-items:center;gap:5px}.client-batteries .icon{width:16px;height:16px;flex-shrink:0}.client-batteries strong{color:#294e3d;font-size:11px}.client-batteries small{font-size:9px}.client-batteries .battery-low strong{color:#b5444e}
.client-sheet-state{margin:6px 0}.client-sheet-shortcuts{margin:0}.client-sheet-location{display:flex;align-items:flex-start;gap:7px;margin-top:8px}.client-sheet-location>.icon{width:17px;height:17px;flex-shrink:0}.client-sheet-location small{font-size:9px;color:#7e9186;line-height:1.5}.client-sheet .client-facts{gap:10px;margin:0 0 10px}.client-sheet-content{padding:10px 0}
@media(max-height:590px){.client-batteries{padding-bottom:5px}.client-sheet-handle{min-height:12px}.client-sheet.expanded{max-height:calc(var(--xtrack-vh,100vh) - var(--client-head) - var(--client-nav) - 90px)}.client-sheet-title h2{font-size:13px}}
/* Opções agrupadas recolhem após escolher, preservando espaço no mapa. */
.client-map-options{position:absolute;z-index:20;right:12px;top:64px;width:calc(100% - 24px);max-width:340px;max-height:calc(100% - 80px);overflow:auto;padding:10px 12px;background:#fff;border:1px solid #dce8df;border-radius:17px;box-shadow:0 8px 30px #163c2926}
.client-map-options[hidden]{display:none}.client-map-option-head{display:flex;align-items:center;justify-content:space-between}.client-map-option-head strong{font-size:14px}.client-map-option-head .icon-button{border:0;background:none}.client-map-groups{display:flex;gap:4px;border-bottom:1px solid #e2ebe4;padding-bottom:8px}.client-map-groups button{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;min-height:48px;font-size:10px;background:#f4f7f3;color:#6e8577;border-radius:10px}.client-map-groups .icon{width:19px;height:19px}.client-map-groups [aria-pressed=true]{color:#284f3b;background:#e6f2d7}.client-map-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.client-map-choices button{display:flex;align-items:center;justify-content:space-between;min-height:44px;background:#f7faf5;border:1px solid #e4ece1;color:#46634f;text-align:left;border-radius:10px;padding:8px;font-size:11px;gap:5px}.client-map-choices [aria-pressed=true]{border-color:#a4c580;background:#eff7e6;color:#2b5a34}.client-map-choices .icon{width:15px;height:15px;flex-shrink:0}.client-map-choices p,.client-map-choices small{grid-column:1/-1;font-size:10px;color:#82947e;line-height:1.5;margin:4px 0}.client-map-choices button:disabled{opacity:.45}.customer-app .client-map-tools #follow{font-size:0}.customer-app .client-map-tools{gap:6px}.customer-app .client-map .gm-style-mtc{display:none}
/* Lista curta: veículo, evento e idade. Os detalhes ficam no toque. */
.client-alert-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.client-alert-heading h1{font-size:23px;letter-spacing:-.5px}.client-alert-heading p{font-size:11px;color:#809487;margin-top:5px}.client-alert-heading>.icon-button{border:1px solid #dce7df;background:white}
.client-alert-filters{margin:-6px 0 14px;font-size:11px;color:#617f69}.client-alert-filters summary{padding:10px 0;cursor:pointer}.client-filter-fields{display:flex;gap:8px}.client-filter-fields select{width:50%;min-width:0;min-height:42px;border:1px solid #dfe8df;border-radius:9px;font-size:11px;background:white;padding:8px}
.client-notifications{background:#fff;border:1px solid #e0e9e2;border-radius:16px;overflow:hidden}.client-notification{width:100%;display:flex;align-items:flex-start;text-align:left;gap:10px;background:white;border-bottom:1px solid #edf1ec;padding:13px 12px;color:#284d39;min-height:76px}.client-notification:last-child{border-bottom:0}.client-notification.unread{background:#f7fbf3}.client-notification-symbol{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#eaf4e5;color:#50825a;flex-shrink:0}.client-notification-symbol .icon{width:16px;height:16px}.client-notification.severity-critical .client-notification-symbol{background:#fcebee;color:#bd3e51}.client-notification.severity-warning .client-notification-symbol{background:#fff1d8;color:#ad7b1d}.client-notification-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.client-notification-body strong{font-size:12px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}.client-notification-body>span{font-size:12px;color:#58715e}.client-notification-body small{font-size:10px;color:#91a18e}.client-notification>.icon{width:14px;height:14px;color:#a0b39a;margin-top:5px;flex-shrink:0}.client-unread-dot{width:6px;height:6px;background:#8ab95d;border-radius:50%;margin-top:7px;flex-shrink:0}.client-notification-detail>p{font-size:12px;line-height:1.7;color:#6d826a;margin:10px 0}
.customer-app .customer-row{flex-wrap:wrap;padding:15px}.customer-app .customer-row>.stack{min-width:160px}.customer-app .customer-row .table-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.customer-app .customer-row .table-actions button{min-height:40px;font-size:11px}.customer-app .fence-list-tools{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:12px}.customer-app .fence-list-tools button{font-size:11px;min-height:42px}
.customer-app .app-shell{display:block;min-height:0}.customer-app .main{grid-column:auto}
@media(min-width:600px) and (max-height:590px){
 .customer-app .client-map-stage{position:relative}.customer-app #client-sheet{position:absolute;left:12px;bottom:10px;width:370px;max-width:calc(100% - 80px);z-index:12}
 .customer-app .client-sheet,.customer-app .client-sheet.expanded{max-height:calc(var(--xtrack-vh,100vh) - var(--client-head) - var(--client-nav) - 20px);border-radius:16px;box-shadow:0 4px 25px #153b2526}
 .customer-app .client-sheet-tabs button{min-height:32px;padding:5px 0}.customer-app .client-sheet-shortcuts button{min-height:36px}.customer-app .client-sheet-content{max-height:110px}.customer-app .client-map-welcome{border-radius:14px}
}

/* Margens equivalentes para WebViews que ainda não implementam gap no Flexbox. */
.xtrack-no-flex-gap .customer-app .client-brand>span+span{margin-left:9px}
.xtrack-no-flex-gap .customer-app .client-vehicle-open>.stack{margin-left:11px}
.xtrack-no-flex-gap .customer-app .client-vehicle-open>.client-row-speed{margin-left:11px}
.xtrack-no-flex-gap .customer-app .client-vehicle-open .stack>small{margin-top:4px}
.xtrack-no-flex-gap .customer-app .client-row-clock>.icon{margin-right:5px}
.xtrack-no-flex-gap .customer-app .client-sheet-title>.stack{margin-left:10px}
.xtrack-no-flex-gap .customer-app .client-sheet-title>button{margin-left:8px}
.xtrack-no-flex-gap .customer-app .client-sheet-title .stack>span{margin-top:3px}
.xtrack-no-flex-gap .customer-app .client-batteries>span+span{margin-left:14px}
.xtrack-no-flex-gap .customer-app .client-batteries>span>.icon{margin-right:5px}
.xtrack-no-flex-gap .customer-app .client-sheet-tabs>button+button{margin-left:20px}
.xtrack-no-flex-gap .customer-app .client-sheet-shortcuts .icon{margin-right:6px}
.xtrack-no-flex-gap .customer-app .vehicle-state .icon{margin-right:5px}
.xtrack-no-flex-gap .customer-app .client-list-tabs>button+button{margin-left:7px}
.xtrack-no-flex-gap .customer-app .client-list-tabs>button>.icon{margin-right:5px}
.xtrack-no-flex-gap .customer-app .client-map-search>.icon{margin-right:9px}
.xtrack-no-flex-gap .customer-app .client-map-tools>button+button{margin-top:6px}
.xtrack-no-flex-gap .customer-app .client-map-groups>button+button{margin-left:4px}
.xtrack-no-flex-gap .customer-app .client-map-groups .icon{margin-bottom:4px}
.xtrack-no-flex-gap .customer-app .client-notification>span+span{margin-left:10px}
.xtrack-no-flex-gap .customer-app .client-notification-body>*+*{margin-top:4px}
.xtrack-no-flex-gap .customer-app .client-notification>.icon,.xtrack-no-flex-gap .customer-app .client-unread-dot{margin-left:8px}
.xtrack-no-flex-gap .customer-app .client-sheet-location>div{margin-left:7px}
.xtrack-no-flex-gap .customer-app .client-action>.icon:first-child{margin-right:13px}
.xtrack-no-flex-gap .customer-app .client-bottom button+button{margin-left:8px}
.xtrack-no-flex-gap .customer-app .client-bottom button>span{margin-top:4px}
@media(min-width:600px) and (max-height:590px){.customer-app .client-sheet-title .fleet-vehicle{display:none}}

/* A moldura Android já respeita as barras do sistema; não somar essa área de novo. */
.customer-app.client-android{--client-safe-bottom:0px}
.customer-app .client-bottom button{gap:2px;min-height:44px;border-radius:10px;font-size:9px}
.customer-app .client-bottom button .icon{width:20px;height:20px}.customer-app .client-bottom button[aria-current=page]:before{height:2px;width:20px}
.xtrack-no-flex-gap .customer-app .client-bottom button>span{margin-top:2px}
@media(max-height:590px){.customer-app .client-bottom button .icon{width:18px;height:18px}}
/* Seletor no mesmo vocabulário visual das ações rápidas. */
.customer-app .client-list-tabs>button.client-state-filter{flex:1;min-width:0;max-width:154px;min-height:44px;margin-left:auto;padding:6px 7px;border:1px solid #dfe9e1;border-radius:11px;background:#fff;color:#5c7867;font-size:10px;gap:4px}
.client-state-filter>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-state-filter>.icon{width:13px;height:13px;transform:rotate(90deg)}
.xtrack-no-flex-gap .customer-app .client-list-tabs>button.client-state-filter{margin-left:auto}.xtrack-no-flex-gap .customer-app .client-state-filter>.icon{margin-left:4px}
.client-filter-options .client-action.is-selected{background:#edf6e6;color:#2c653d}.client-filter-options .client-action.is-selected>.icon:last-child{color:#4e8b46}
/* O endereço tem alvo independente do botão que cobre o card. */
.customer-app .client-row-address{position:relative;z-index:2;display:flex;align-items:center;width:calc(100% - 36px);min-height:44px;gap:6px;padding:2px 0;margin:5px 36px 4px 0;background:none;border:0;text-align:left;font-size:11px;color:#4f6c5c;line-height:1.6}
.client-row-address>.icon{width:14px;height:14px;align-self:flex-start;margin-top:5px}.client-row-address>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.client-row-address:hover>span{text-decoration:underline}.client-row-address:disabled{opacity:.65;cursor:default}
.customer-app .client-address{border:0;background:none;padding:0;text-align:left;min-height:36px;line-height:1.6}.client-address:hover{text-decoration:underline}.client-action-identity>small{display:block;font-size:10px;color:#849483;line-height:1.5;margin-top:6px}
.xtrack-no-flex-gap .customer-app .client-row-address>.icon{margin-right:6px}
.client-action-identity.client-address-identity{display:block}.client-address-identity p{font-size:12px;line-height:1.6;color:#526e5e;margin:7px 0 0}.client-address-identity>small{margin-top:7px}
/* Uma única etiqueta: ignição acima, identificação ao centro, velocidade abaixo. */
.marker-name.client-marker-label{position:absolute;left:43px;top:24px;transform:translateY(-50%);display:flex;flex-direction:column;max-width:180px;min-width:56px;padding:0;border-radius:7px;overflow:hidden;white-space:normal;line-height:1.3}
.client-marker-label>*{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;margin:0}
.client-marker-label>.client-marker-center{font-size:10px;font-weight:650;padding:4px 7px}.client-marker-label>.client-marker-above,.client-marker-label>.client-marker-below{font-size:9px;font-weight:500;background:#ffffff24}
.client-marker-label>.client-marker-above{border-bottom:1px solid #ffffff38}.client-marker-label>.client-marker-below{border-top:1px solid #ffffff38}
/* Estado e evento têm cores próprias; o ponto de não lida continua separado. */
.client-notification.event-ignition-on{border-left:3px solid #429263}.client-notification.event-ignition-off{border-left:3px solid #95a0ad}
.client-notification.event-ignition-on.unread{background:#f3faf4}.client-notification.event-ignition-off.unread{background:#f6f7fa}
.client-notification.event-ignition-on .client-notification-symbol{background:#dff2e4;color:#237146}.client-notification.event-ignition-off .client-notification-symbol{background:#e8edf2;color:#617183}
.client-notification.event-ignition-on .client-notification-body>span{color:#2c7045;font-weight:550}.client-notification.event-ignition-off .client-notification-body>span{color:#647286;font-weight:550}
.client-notification.event-area-enter .client-notification-symbol{background:#e0f1ef;color:#267a70}.client-notification.event-area-exit .client-notification-symbol{background:#fff0d7;color:#a86a18}
.client-notification.event-critical .client-notification-symbol{background:#fce6eb;color:#b63b53}.client-notification.event-warning .client-notification-symbol{background:#fff0d7;color:#a86a18}

.client-marker-label>.client-marker-owner{font-size:10px;font-weight:500;border-top:1px solid #ffffff38}
.client-map-choices [data-map-option="preset-full"]{grid-column:1/-1}
