
:root{color-scheme:dark;--bg:#0b2b20;--panel:#164734;--text:#f0f6f2;--muted:#a5c7b5;--green:#21c663;--line:#345b45}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 'Segoe UI',system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #91e6b2;outline-offset:3px}h1{font-size:25px;margin:0;font-weight:600}h2{font-size:20px;margin:0 0 14px}p{margin:6px 0}.app{max-width:1100px;margin:auto;min-height:100vh;padding-bottom:110px}header{background:#17513d;padding:22px 24px;border-radius:0 0 25px 25px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{letter-spacing:1px;font-size:27px;font-weight:700}.brand span{color:var(--green)}.sub{font-size:13px;color:var(--muted)}main{padding:22px}.card{background:var(--panel);border-radius:8px;padding:18px;margin-bottom:17px}.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog .card{margin:0}.carphoto{width:100%;height:190px;object-fit:cover;border-radius:13px;background:#235b40}.placeholder{height:190px;display:grid;place-items:center;background:#20553c;border-radius:13px;color:var(--muted)}.carname{font-size:18px;font-weight:600;margin-top:10px}.meta{font-size:13px;color:var(--muted);margin:7px 0 14px}.primary{background:var(--green);color:#062c17;border:0;border-radius:27px;padding:13px 18px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px}.secondary{border:1px solid #458163;background:transparent;color:#8fe5ad;border-radius:24px;padding:10px 15px}.wide{width:100%}.price{font-size:21px;font-weight:600}.price-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.chip{background:transparent;border:1px solid var(--line);border-radius:23px;color:var(--muted);padding:9px 15px}.chip.active{background:var(--green);color:#092c18;border-color:var(--green)}input,select{width:100%;min-width:0;padding:12px;border-radius:12px;border:1px solid #46725a;background:#113e2b;color:var(--text);font-size:16px}input::placeholder{color:#96bba5}label{display:block;color:var(--muted);font-size:14px;margin:14px 0 6px}.search{margin-top:17px}.row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.money{font-variant-numeric:tabular-nums;font-weight:600}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formwrap{max-width:680px;margin:auto}.split{display:grid;grid-template-columns:1fr 300px;gap:20px}.back{background:transparent;border:0;color:var(--text);padding:0;font-size:16px}.badge{display:inline-block;padding:5px 10px;border-radius:15px;background:#245d3e;color:#a2e8bc;font-size:12px}.notice{padding:13px;background:#205339;border-radius:13px;font-size:14px;color:#b9dfc5}.error{color:#ffd0c8;background:#673e36;padding:12px;border-radius:10px}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);display:flex;justify-content:space-around;background:#174b36;border-radius:24px 24px 0 0;padding:12px 8px calc(12px + env(safe-area-inset-bottom));z-index:700;box-shadow:0 -5px 25px #0002}.nav button{background:none;border:0;color:#a3c5b1;display:grid;justify-items:center;gap:4px;font-size:12px;padding:5px 12px}.nav button.active{color:#35dd7c}.nav svg{width:23px;height:23px}.proof{min-height:130px;border:1px dashed #58816a;border-radius:13px;display:grid;place-items:center;margin:13px 0;padding:12px}.proof img{max-height:240px;max-width:100%;object-fit:contain}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.modal{border:0;border-radius:20px;background:#143c2b;color:var(--text);padding:20px;width:min(94vw,640px)}dialog::backdrop{background:#0009}#map{height:360px;border-radius:13px;margin:13px 0}.location-results button{display:block;width:100%;text-align:left;background:#22563d;border:0;border-radius:8px;margin-top:7px;padding:10px;color:var(--text)}.location-name{color:#b2d3be;font-size:13px;margin-top:8px}.loading{padding:35px;text-align:center}.spinner{width:28px;height:28px;border:3px solid #417154;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}#message{position:fixed;top:10px;left:50%;transform:translateX(-50%);width:min(90%,480px);z-index:1200}#message:empty{display:none}[hidden]{display:none!important}@media(max-width:900px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media(max-width:560px){header{padding:20px}main{padding:18px}.catalog{grid-template-columns:1fr;gap:16px}.carphoto,.placeholder{height:210px}.price{font-size:20px}.two{gap:10px}.nav{width:100%}.app{padding-bottom:105px}h1{font-size:23px}.split{gap:0}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.trip-mode header,.trip-mode .nav{display:none}.trip-mode main{padding:0}.trip-mode .app{padding:0;max-width:none}.trip-wrap{height:100dvh;position:relative;overflow:hidden}#trip-map{height:100%;width:100%}.trip-back,.trip-gps{position:absolute;z-index:600;left:16px;background:#17513deb}.trip-back{top:16px}.trip-gps{top:70px;padding:10px;border-radius:24px;color:white}.trip-sheet{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:600;background:#17513d;width:min(100%,720px);border-radius:28px 28px 0 0;padding:10px 22px 22px;max-height:65dvh;overflow:auto}.trip-handle{display:block;margin:auto;background:none;border:0;color:#67917e;font-size:32px;height:26px}.trip-car,.trip-driver,.trip-work{display:flex;align-items:center;gap:14px;margin:14px 0}.trip-car-photo{width:74px;height:74px;object-fit:cover;border-radius:12px}.trip-driver-photo{width:48px;height:48px;object-fit:cover;border-radius:50%}.trip-driver{background:#164734;border-radius:16px;padding:12px}.trip-buttons{margin-left:auto;display:flex;gap:10px}.trip-buttons a{display:grid;place-items:center;background:#e2f7e7;color:#087c30;width:42px;height:42px;border-radius:12px;text-decoration:none;font-size:24px}.trip-detail{max-height:360px;opacity:1;overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.trip-sheet.compact .trip-detail{max-height:0;opacity:0}.trip-circle{width:114px;height:114px;flex-shrink:0;border-radius:50%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#30634e}.trip-circle:before{content:'';position:absolute;inset:7px;background:#17513d;border-radius:50%}.trip-circle>*{z-index:1}.trip-circle strong{font-size:25px}.trip-circle small{font-size:12px}.trip-work h2{margin-bottom:4px}.trip-car-marker img{width:40px;height:64px;object-fit:contain;transform-origin:center}.trip-waypoint{background:#673ab7;border-radius:8px;color:white;text-align:center;line-height:26px;font-weight:600}@media(prefers-reduced-motion:reduce){.trip-detail{transition:none}}@media(min-width:900px){
 .trip-mode header{display:flex;align-items:center;gap:28px;height:64px;padding:12px 24px;border-radius:0}
 .trip-mode header>.sub{display:none}
 .trip-mode header .top{width:100%}
 .trip-mode header #heading{font-size:16px}
 .trip-mode .trip-wrap{height:calc(100dvh - 64px);display:grid;grid-template-columns:360px minmax(0,1fr)}
 .trip-mode #trip-map{grid-column:2;grid-row:1;min-width:0}
 .trip-mode .trip-sheet{position:relative;grid-column:1;grid-row:1;left:auto;bottom:auto;transform:none;width:auto;max-height:none;height:100%;border-radius:0;padding:70px 22px 24px;display:flex;flex-direction:column;overflow:auto;background:#123e2e}
 .trip-mode .trip-handle{display:none}
 .trip-mode .trip-back{top:16px;left:22px;z-index:700}
 .trip-mode .trip-gps{top:18px;left:380px}
 .trip-mode .trip-car{align-items:center;margin:12px 0 20px}
 .trip-mode .trip-car-photo{width:72px;height:72px;border-radius:8px}
 .trip-mode .trip-car strong{font-size:17px;line-height:1.4}
 .trip-mode .trip-detail,.trip-mode .trip-sheet.compact .trip-detail{max-height:none;overflow:visible;opacity:1}
 .trip-mode .trip-work{margin:0 0 26px;gap:14px}
 .trip-mode .trip-circle{width:108px;height:108px}
 .trip-mode .trip-circle:before{background:#123e2e}
 .trip-mode .trip-work h2{font-size:20px}
 .trip-mode #trip-hours,.trip-mode #trip-next{font-size:13px}
 .trip-mode #trip-cost{color:#67e89b;margin-top:12px;font-size:14px}
 .trip-mode .trip-detail>p{padding:12px 0;margin:0;border-top:1px solid #345b45;font-size:14px;line-height:1.6}
 .trip-mode .trip-driver{margin-top:auto;flex-wrap:wrap;border-radius:8px;padding:14px;background:#17513d}
 .trip-mode .trip-buttons{margin-left:auto}
}

/* Published builder palette also covers the viewport and shared controls. */
html[data-builder-theme="true"]{--muted:color-mix(in srgb,var(--text) 72%,var(--bg));--line:color-mix(in srgb,var(--text) 22%,var(--bg))}
html[data-builder-theme="true"] .primary,html[data-builder-theme="true"] .chip.active{color:var(--on-primary);background:var(--green)}
html[data-builder-theme="true"] .placeholder,html[data-builder-theme="true"] .carphoto{background:var(--panel);color:var(--muted)}
html[data-builder-theme="true"] input,html[data-builder-theme="true"] select{background:var(--bg);color:var(--text);border-color:var(--line)}
html[data-builder-theme="true"] input::placeholder{color:var(--muted)}
html[data-builder-theme="true"] .secondary{color:var(--green);border-color:var(--line)}
html[data-builder-theme="true"] .nav,html[data-builder-theme="true"] .modal,html[data-builder-theme="true"] .notice,html[data-builder-theme="true"] .badge,html[data-builder-theme="true"] .location-results button{background:var(--panel);color:var(--text)}
html[data-builder-theme="true"] .nav button{color:var(--muted)}
html[data-builder-theme="true"] .nav button.active{color:var(--green)}
html[data-builder-theme="true"] .app>header{background:var(--panel)}

#rental-site[data-owner-dashboard="true"] .app{max-width:1600px;padding-bottom:0}#rental-site[data-owner-dashboard="true"] main{padding:0}.owner-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:80vh}.owner-menu{background:#123d2d;padding:24px;display:flex;flex-direction:column;gap:10px}.owner-menu button,.owner-menu a{padding:12px;text-align:left;color:#eef7f1;background:transparent;border:0;border-radius:10px;text-decoration:none}.owner-menu button.active{background:#216448}.owner-content{padding:28px;min-width:0}.owner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.owner-stats strong{font-size:34px}.owner-table{overflow:auto;background:var(--panel);border-radius:12px}.owner-table table{width:100%;border-collapse:collapse;white-space:nowrap}.owner-table td,.owner-table th{padding:14px;text-align:left;border-bottom:1px solid var(--line)}.owner-table small{display:block;color:var(--muted)}.owner-fleet{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}@media(max-width:700px){.owner-shell{grid-template-columns:1fr}.owner-menu{flex-direction:row;flex-wrap:wrap;padding:12px}.owner-menu h2{width:100%}.owner-content{padding:18px}.owner-stats{gap:8px}.owner-stats .card{padding:12px}.owner-stats strong{font-size:26px}.owner-fleet{grid-template-columns:1fr}}

.owner-tracking{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px}#tracking-list{max-height:65vh;overflow:auto}.owner-car-marker{background:transparent;border:0}@media(max-width:700px){.owner-tracking{grid-template-columns:1fr}#tracking-list{max-height:200px}}
/* Owner workspace fills the viewport, with consistent internal spacing. */
#rental-site[data-owner-dashboard="true"]{width:100%;min-height:100dvh}
#rental-site[data-owner-dashboard="true"] .app{width:100%;max-width:none;margin:0;padding:0}
#rental-site[data-owner-dashboard="true"] .app>header{border-radius:0;padding:16px 24px;border-bottom:1px solid var(--line)}
#rental-site[data-owner-dashboard="true"] .app>header .sub{margin:4px 0 0}
#rental-site[data-owner-dashboard="true"] .owner-shell{grid-template-columns:230px minmax(0,1fr);min-height:calc(100dvh - 126px)}
#rental-site[data-owner-dashboard="true"] .owner-menu{padding:22px 16px;border-right:1px solid var(--line)}
#rental-site[data-owner-dashboard="true"] .owner-menu h2{font-size:18px;margin:0 8px 12px}
#rental-site[data-owner-dashboard="true"] .owner-content{padding:24px;min-width:0}
#rental-site[data-owner-dashboard="true"] .owner-tracking{grid-template-columns:290px minmax(0,1fr);gap:18px}
#rental-site[data-owner-dashboard="true"] #owner-map{height:calc(100dvh - 270px)!important;min-height:400px!important}
#rental-site[data-owner-dashboard="true"] #tracking-list{max-height:calc(100dvh - 270px);padding-right:6px}
#rental-site[data-owner-dashboard="true"] #tracking-list .card{margin-bottom:12px;padding:16px}
@media(max-width:900px){#rental-site[data-owner-dashboard="true"] .owner-shell{grid-template-columns:190px minmax(0,1fr)}#rental-site[data-owner-dashboard="true"] .owner-tracking{grid-template-columns:220px minmax(0,1fr)}#rental-site[data-owner-dashboard="true"] .owner-content{padding:18px}}
@media(max-width:700px){#rental-site[data-owner-dashboard="true"] .owner-shell{grid-template-columns:1fr}#rental-site[data-owner-dashboard="true"] .owner-menu{padding:12px;border-right:0}#rental-site[data-owner-dashboard="true"] .owner-content{padding:14px}#rental-site[data-owner-dashboard="true"] .owner-tracking{grid-template-columns:1fr}#rental-site[data-owner-dashboard="true"] #tracking-list{max-height:210px}#rental-site[data-owner-dashboard="true"] #owner-map{height:55dvh!important;min-height:320px!important}}

.owner-consumer{display:flex;align-items:center;gap:12px;min-width:150px}
.owner-consumer-avatar{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;overflow:hidden;background:var(--line);color:var(--text);font-weight:700}
.owner-consumer-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.owner-fleet-card{display:flex;align-items:center;gap:20px}
.owner-fleet-photo{position:relative;display:grid;place-items:center;flex:0 0 180px;width:180px;height:130px;overflow:hidden;border-radius:12px;background:var(--line);font-size:12px;text-align:center}
.owner-fleet-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.owner-fleet-details{min-width:0}.owner-fleet-details h2{margin-top:0}
@media(max-width:900px){.owner-fleet-photo{flex-basis:120px;width:120px;height:100px}.owner-fleet-card{gap:14px}}
@media(max-width:420px){.owner-fleet-photo{flex-basis:95px;width:95px;height:95px}.owner-fleet-details h2{font-size:16px}}

.owner-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.owner-settings-grid .card{margin:0}.owner-settings-grid .primary{display:inline-flex;text-decoration:none;margin:12px 0}.owner-site-url{display:block;overflow-wrap:anywhere;color:var(--text);padding:14px;border:1px solid var(--line);border-radius:10px}.owner-theme-settings{margin-top:20px}.owner-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.owner-theme-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:20px;cursor:pointer}.owner-theme-choice:has(input:checked){border-color:var(--accent);background:rgba(29,195,100,.08)}.owner-theme-choice input{width:auto;margin:4px 0;flex-shrink:0}.owner-theme-choice .sub{display:block;margin-top:10px}.owner-settings-actions{display:flex;align-items:center;gap:18px}.owner-settings-actions p{margin:0}@media(max-width:900px){.owner-theme-grid{grid-template-columns:1fr}.owner-settings-grid{grid-template-columns:1fr}}@media(max-width:700px){.owner-settings-actions{flex-direction:column;align-items:flex-start}}

.owner-mobile-bar,.owner-menu-close,.owner-menu-backdrop{display:none}
@media(max-width:700px){
 .owner-mobile-bar{display:flex;padding:10px 14px;border-bottom:1px solid var(--line)}
 #rental-site[data-owner-dashboard="true"] .owner-menu{position:fixed;inset:0 auto 0 0;width:min(300px,85vw);height:100dvh;z-index:2001;overflow-y:auto;flex-direction:column;flex-wrap:nowrap;padding:18px;transform:translateX(-100%);visibility:hidden;transition:transform 240ms ease,visibility 240ms;box-shadow:8px 0 30px #0005}
 #rental-site[data-owner-dashboard="true"] .owner-menu.is-open{transform:translateX(0);visibility:visible}
 .owner-menu .owner-menu-close{display:block;align-self:flex-end}
 .owner-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;width:100%;height:100dvh;background:#0007;border:0;border-radius:0;z-index:2000}
}
@media(prefers-reduced-motion:reduce){#rental-site[data-owner-dashboard="true"] .owner-menu{transition:none}}

.tracking-fleet-panel{min-width:0}.tracking-fleet-toggle{display:none}
@media(max-width:700px){
 #rental-site[data-owner-tracking="true"] .app>header{display:none}
 #rental-site[data-owner-tracking="true"] .owner-mobile-bar{position:fixed;left:12px;top:max(12px,env(safe-area-inset-top));padding:0;border:0;z-index:1001}
 #rental-site[data-owner-tracking="true"] .owner-mobile-bar button{background:#123d2d;box-shadow:0 2px 10px #0003}
 #rental-site[data-owner-tracking="true"] .owner-content{padding:0}
 #rental-site[data-owner-tracking="true"] #owner-map{position:fixed;inset:0;width:100%;height:100dvh!important;min-height:0!important;border-radius:0!important;z-index:0}
 #rental-site[data-owner-tracking="true"] .owner-content>.top{position:fixed;right:12px;top:max(12px,env(safe-area-inset-top));z-index:1001}
 #rental-site[data-owner-tracking="true"] .owner-content>.top>div{display:none}
 #rental-site[data-owner-tracking="true"] #tracking-refresh{background:#123d2d;box-shadow:0 2px 10px #0003}
 #rental-site[data-owner-tracking="true"] #tracking-status{position:fixed;left:12px;right:12px;top:66px;z-index:1000;margin:0;padding:7px 10px;border-radius:10px;background:#123d2de8;font-size:12px;pointer-events:none}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel{position:fixed;left:0;right:0;bottom:0;z-index:1001;padding:8px 12px max(12px,env(safe-area-inset-bottom));background:#123d2df5;border-radius:18px 18px 0 0;box-shadow:0 -3px 18px #0003}
 .tracking-fleet-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;padding:4px 2px 10px;background:transparent;border:0;color:var(--text);font-weight:700}
 #rental-site[data-owner-tracking="true"] #tracking-list{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;max-height:none;padding:0;scroll-snap-type:x proximity}
 #rental-site[data-owner-tracking="true"] #tracking-list .card{flex:0 0 245px;width:245px!important;margin:0;padding:12px;scroll-snap-align:start;font-size:13px}
 #rental-site[data-owner-tracking="true"] #tracking-list .card p{margin:6px 0 0}
 #rental-site[data-owner-tracking="true"] #tracking-list .card strong{display:block;line-height:1.35}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed #tracking-list{display:none}
 #rental-site[data-owner-tracking="true"] #owner-map .leaflet-top.leaflet-left{top:108px}
 #rental-site[data-owner-tracking="true"] #owner-map .leaflet-bottom{bottom:210px}
}
/* Compact vertical fleet list in the mobile tracking bottom panel. */
@media(max-width:700px){
 #rental-site[data-owner-tracking="true"] #tracking-list{display:flex;flex-direction:column;gap:6px;max-height:25dvh;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;overscroll-behavior:contain}
 #rental-site[data-owner-tracking="true"] #tracking-list .card{flex:none;width:100%!important;padding:10px 12px;border-radius:10px;scroll-snap-align:none}
 #rental-site[data-owner-tracking="true"] #tracking-list .card strong{font-size:13px}
 #rental-site[data-owner-tracking="true"] #tracking-list .card p{margin:4px 0 0;font-size:12px}
 #rental-site[data-owner-tracking="true"] #owner-map .leaflet-bottom{bottom:calc(25dvh + 65px)}
}

#rental-site[data-owner-dashboard="true"] #tracking-list .card{display:flex;align-items:center;gap:10px}
.tracking-car-photo{position:relative;display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-sizing:border-box}
.tracking-car-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tracking-car-details{display:block;min-width:0;flex:1}

.tracking-photo-group{position:relative;display:block;width:40px;height:40px;flex:0 0 40px;margin-right:12px}
.tracking-person-badge{position:absolute;right:-10px;top:-2px;width:20px;height:20px;border-radius:50%;border:2px solid #17513d;box-sizing:border-box;overflow:hidden;background:#d9efe3;color:#123d2d;display:grid;place-items:center;font-size:9px;font-weight:700;z-index:1}
.tracking-person-badge.driver{top:auto;bottom:-2px;border-color:#45a6ed}
.tracking-person-badge img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.owner-car-marker img{position:relative;z-index:1}
.owner-car-marker[data-gps-state="moving"] img{filter:none}
.owner-car-marker[data-gps-state="stopped"] img{filter:sepia(1) saturate(6) hue-rotate(2deg) brightness(1.35)}
.owner-car-marker[data-gps-state="offline"] img{filter:sepia(1) saturate(7) hue-rotate(310deg) brightness(1.1)}
.gps-power-wave{display:none;position:absolute;left:50%;top:50%;width:48px;height:48px;border:3px solid #ff3434;border-radius:50%;pointer-events:none;box-sizing:border-box}
.owner-car-marker.power-cut .gps-power-wave{display:block;animation:gps-power-pulse 1.8s ease-out infinite}
.owner-car-marker.power-cut .gps-power-wave.second{animation-delay:.9s}
@keyframes gps-power-pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}100%{transform:translate(-50%,-50%) scale(2.1);opacity:0}}
@media(prefers-reduced-motion:reduce){.owner-car-marker.power-cut .gps-power-wave{animation:none;transform:translate(-50%,-50%);opacity:.9}.owner-car-marker.power-cut .gps-power-wave.second{display:none}}

/* Fleet can collapse on desktop while keeping its reopening control visible. */
@media(min-width:701px){
 .tracking-fleet-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;margin-bottom:8px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px}
 #rental-site[data-owner-dashboard="true"] .owner-tracking{position:relative}
 #rental-site[data-owner-dashboard="true"] .owner-tracking.fleet-hidden{grid-template-columns:minmax(0,1fr)}
 .owner-tracking.fleet-hidden .tracking-fleet-panel{position:absolute;top:12px;left:56px;z-index:1000}
 .owner-tracking.fleet-hidden .tracking-fleet-toggle{width:125px;box-shadow:0 2px 10px #0003}
 .tracking-fleet-panel.is-collapsed #tracking-list{display:none}
}
/* Tracking focuses on the map and fleet panel; polling continues in background. */
#rental-site[data-owner-tracking="true"] .owner-content>.top,
#rental-site[data-owner-tracking="true"] #tracking-status{display:none}
@media(min-width:701px){
 #rental-site[data-owner-tracking="true"] #owner-map{height:calc(100dvh - 174px)!important}
 #rental-site[data-owner-tracking="true"] #tracking-list{max-height:calc(100dvh - 224px)}
}
@media(max-width:700px){
 #rental-site[data-owner-tracking="true"] #owner-map .leaflet-top.leaflet-left{top:74px}
}

.owner-branded-header .top{display:flex;align-items:center;gap:18px}.owner-branded-header #heading,.owner-branded-header>.sub{display:none}
.owner-branded-header .brand img{display:block;border-radius:10px;object-fit:contain}
.owner-rental-name{flex:1;font-size:16px}.owner-rental-logo{position:relative;display:grid;place-items:center;width:56px;height:56px;flex:0 0 56px;border-radius:50%;overflow:hidden;background:#123d2d;border:2px solid #bce8cf}
.owner-rental-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}
@media(max-width:700px){.owner-rental-name{font-size:14px}.owner-branded-header .top{gap:12px}}
.vehicle-action-panel{position:fixed;bottom:16px;left:calc(50% + 115px);transform:translateX(-50%);width:min(680px,calc(100vw - 280px));z-index:1100;background:#123d2d;color:var(--text);padding:16px;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 24px #0005;max-height:45dvh;overflow:auto}
.vehicle-action-panel[hidden]{display:none}.vehicle-action-panel .sub{margin:4px 0}.vehicle-action-buttons{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.vehicle-action-buttons>*{text-decoration:none;padding:10px;font-size:13px}.vehicle-action-body{font-size:13px}.vehicle-history-form,.history-controls{display:flex;align-items:center;gap:10px;margin-top:12px}.history-controls input{flex:1}
@media(max-width:700px){.vehicle-action-panel{left:10px;right:10px;bottom:max(56px,env(safe-area-inset-bottom));transform:none;width:auto;padding:12px}.vehicle-action-buttons{gap:6px}.vehicle-action-buttons>*{flex:1;text-align:center;font-size:12px;padding:10px 6px}}
.owner-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.owner-profile-grid .card{margin:0}.owner-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.owner-profile-fields label{margin:0}.owner-profile-fields input[type=checkbox]{width:20px;height:20px;display:block}.owner-profile-grid form>.primary{margin-top:16px}.owner-photo-upload{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.owner-bank-row{padding:12px 0;border-bottom:1px solid var(--line)}.bank-editor{margin-top:16px}
@media(max-width:1000px){.owner-profile-grid{grid-template-columns:1fr}}@media(max-width:500px){.owner-profile-fields{grid-template-columns:1fr}}
.owner-people-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-person-row{display:flex;align-items:center;gap:14px;margin:0}.owner-person-row>div{min-width:0;overflow-wrap:anywhere}.owner-person-row p{margin:6px 0 0;font-size:14px;color:var(--muted)}.owner-person-photo{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:12px;overflow:hidden;background:var(--line)}.owner-person-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media(max-width:800px){.owner-people-list{grid-template-columns:1fr}}
.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100dvh - 150px)}.admin-sidebar{background:#123e2e;padding:20px 14px;border-right:1px solid #30634e}.admin-sidebar>button{display:block;width:100%;text-align:left;margin:6px 0}.admin-sidebar>button.active{background:#226448;color:#fff}.admin-content{padding:24px;min-width:0}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.admin-stats strong{font-size:30px}.admin-mobile-bar{display:none}.admin-table-wrap{overflow:auto;margin-top:18px}.admin-table-wrap table{width:100%;border-collapse:collapse;background:var(--panel)}.admin-table-wrap th,.admin-table-wrap td{text-align:left;padding:14px;border-bottom:1px solid #30634e}.admin-map{height:380px;margin-top:15px;border-radius:12px}.admin-content>div>.card{margin-top:18px}@media(max-width:700px){.admin-mobile-bar{display:block;padding:12px}.admin-layout{display:block;position:relative}.admin-sidebar{display:none}.admin-sidebar.admin-open{display:block;position:absolute;top:0;left:0;width:260px;max-width:90%;z-index:1100;box-shadow:10px 0 25px #0008}.admin-content{padding:14px}.admin-map{height:340px}.admin-content .top{flex-wrap:wrap}}

@media(max-width:700px){#rental-site[data-owner-tracking="true"] .admin-mobile-bar{position:fixed;left:12px;top:max(12px,env(safe-area-inset-top));padding:0;z-index:2002}#rental-site[data-owner-tracking="true"] .admin-sidebar.admin-open{position:fixed;inset:0 auto 0 0;height:100dvh;overflow-y:auto;padding-top:72px;z-index:2001}#rental-site[data-owner-tracking="true"] .admin-content{padding:0}#rental-site[data-owner-tracking="true"] .admin-content>.top{position:fixed;right:12px;top:max(12px,env(safe-area-inset-top));z-index:1001}#rental-site[data-owner-tracking="true"] .admin-content>.top>div{display:none}}
@media(min-width:701px){#rental-site[data-owner-tracking="true"] .admin-content>.top{display:none}}

.rental-office-marker{background:transparent;border:0}.office-logo-pin{position:relative;display:grid;place-items:center;width:46px;height:46px;background:#fff;color:#164936;border:3px solid #164936;border-radius:12px;box-shadow:0 2px 7px #0005;font-weight:700}.office-logo-pin:after{content:'';position:absolute;bottom:-12px;left:13px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #164936}.office-logo-pin img{position:absolute;inset:2px;width:36px;height:36px;object-fit:contain;border-radius:7px;background:#fff}

.owner-table tr[data-order-id]{cursor:pointer}.owner-table tr[data-order-id]:hover,.owner-table tr[data-order-id]:focus-visible{background:#226448;outline:2px solid #5ee5a0;outline-offset:-2px}
.owner-order-detail{padding:0;width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #30634e;border-radius:18px;background:#0c2c21;color:#e7f4ed;overflow:auto;box-shadow:0 16px 60px #0008}.owner-order-detail::backdrop{background:#0009}.order-detail-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:#164d39;border-bottom:1px solid #30634e}.order-detail-header h2,.order-detail-header p{margin:0}.order-detail-header p{margin-top:5px}.order-detail-body{padding:20px}.order-detail-status{display:inline-block;border:1px solid #4c9970;border-radius:24px;padding:7px 12px;margin:0 0 14px}.order-detail-identity{display:flex;align-items:center;gap:14px;min-width:0}.order-detail-identity h3,.order-detail-identity p{margin:4px 0}.order-detail-photo{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border-radius:12px;background:#226448}.order-detail-photo.car{width:88px;height:72px;flex-basis:88px}.order-detail-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.order-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.owner-order-detail .card{margin:0 0 14px;padding:16px}.order-detail-grid .card{margin:0}.owner-order-detail h3{margin-top:0}.owner-order-detail dl{margin:0}.owner-order-detail dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;margin:10px 0}.owner-order-detail dt{color:#afcfbe}.owner-order-detail dd{margin:0;overflow-wrap:anywhere}.order-detail-footer{padding:14px 20px;border-top:1px solid #30634e}.order-detail-evidence{display:flex;gap:14px;flex-wrap:wrap}.order-detail-evidence figure{margin:0}.order-detail-evidence img{width:180px;height:130px;object-fit:cover;border-radius:10px}.order-detail-body>.card:last-child{margin-top:14px}
@media(max-width:700px){.owner-order-detail{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0;margin:0}.order-detail-grid{grid-template-columns:1fr}.order-detail-header{padding:14px}.order-detail-body{padding:14px}.owner-order-detail dl>div{grid-template-columns:110px minmax(0,1fr)}.order-detail-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}}

/* R184: compact detail with cost sidebar and Android waypoint data. */
.owner-order-detail{width:min(980px,calc(100vw - 32px))}.order-panel-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.order-detail-main{min-width:0}.order-cost-panel{position:sticky;top:105px}.owner-order-detail .order-total{font-size:26px;color:#76e6a4;margin:10px 0 16px;overflow-wrap:anywhere}.order-panel-layout .order-detail-photo.car{width:72px;height:64px;flex-basis:72px}.order-service-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.order-service-tags span{font-size:12px;background:#23583f;border-radius:6px;padding:4px 7px}.order-detail-person{padding:10px 0}.order-detail-person+.order-detail-person{border-top:1px solid #30634e}.order-detail-person p{margin:3px 0}.order-route{border-top:1px solid #30634e;margin-top:14px;padding-top:8px}.order-route-point{display:flex;gap:10px;align-items:flex-start;padding:12px 0}.order-route-point>div{min-width:0;flex:1;overflow-wrap:anywhere}.order-route-point p{margin:4px 0;font-size:14px}.order-route-point a{font-size:12px;color:#8beaaf}.order-route-number{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:#23583f;color:#8beaaf;font-size:12px}.order-waypoints{padding:12px 0;border-block:1px solid #30634e}.order-waypoints summary,.order-documentation summary{cursor:pointer;padding:8px 0}.order-waypoint+.order-waypoint{border-top:1px solid #30634e}.order-waypoint-state{margin:0 0 8px 38px;font-size:12px;color:#9fe8b8}.order-documentation{margin-top:16px;border-top:1px solid #30634e}.order-cost-panel .order-detail-evidence{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.order-cost-panel .order-detail-evidence img{width:100%;height:90px}.order-cost-panel figcaption{font-size:12px}.order-cost-panel dl>div{grid-template-columns:1fr 1fr}.order-cost-panel dd{text-align:right}
@media(max-width:700px){.owner-order-detail{width:100vw}.order-panel-layout{grid-template-columns:1fr}.order-cost-panel{position:static}.order-panel-layout .card{margin:0 0 14px}.order-detail-body.order-panel-layout{gap:0}.order-waypoints summary,.order-documentation summary{min-height:44px;display:flex;align-items:center}.order-cost-panel .order-detail-evidence img{height:130px}}

.order-price-group{border-bottom:1px solid #30634e;padding:6px 0}.order-price-group summary{display:flex;align-items:center;gap:8px;padding:14px 0;cursor:pointer;list-style:none;font-size:13px}.order-price-group summary>span:first-child{flex:1}.order-price-group summary strong{white-space:nowrap}.price-toggle{width:16px;color:#78e9a3}.price-toggle:after{content:'+'}.order-price-group[open] .price-toggle:after{content:'−'}.order-price-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 0;font-size:12px}.order-price-row>span{min-width:0;overflow-wrap:anywhere}.order-price-row strong{white-space:nowrap;font-weight:500}.order-price-row.credit strong{color:#78e9a3}.order-price-total{border-top:1px solid #30634e;margin-top:12px;padding-top:8px}.order-price-total strong{font-weight:700}.order-cost-panel h3{margin-top:16px}.order-cost-panel [data-order-payments]{border-top:1px solid #30634e;padding-top:8px}


/* ARMI_SIDEBAR_V3 */
#rental-site[data-owner-dashboard="true"] .owner-v3-shell{
  grid-template-columns:270px minmax(0,1fr);
  transition:grid-template-columns 250ms ease;
}
#rental-site[data-owner-dashboard="true"] .owner-v3-shell.owner-v3-collapsed{
  grid-template-columns:72px minmax(0,1fr);
}
#rental-site[data-owner-dashboard="true"] .owner-menu.owner-v3-ready{
  background:#073c2c;
  color:#eefbf2;
  border-right:1px solid #176345;
  padding:18px 12px;
  gap:4px;
  min-width:0;
}
.owner-v3-brand{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  margin-bottom:15px;
  color:white;
  font-weight:750;
  white-space:nowrap;
}
.owner-v3-emblem{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#167e55;
  color:white;
}
.owner-v3-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
}
#owner-v3-collapse{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  margin-left:auto;
  border:0;
  border-radius:9px;
  background:#14523d;
  color:#effff4;
  cursor:pointer;
}
.owner-v3-group{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:12px;
}
.owner-v3-group-title{
  padding:13px 10px 7px;
  color:#a7d6bb;
  font-size:10px;
  font-weight:750;
  letter-spacing:1.2px;
}
#rental-site[data-owner-dashboard="true"] .owner-menu .owner-v3-item{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:43px;
  padding:10px 12px;
  border-radius:11px;
  font-size:13px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  color:#e2f2e8;
  cursor:pointer;
  transition:background 220ms ease,transform 220ms ease,color 220ms ease;
}
#rental-site[data-owner-dashboard="true"] .owner-menu .owner-v3-item:hover{
  background:#16563e;
  color:#fff;
  transform:translateX(2px);
}
#rental-site[data-owner-dashboard="true"] .owner-menu .owner-v3-item.active{
  background:#167e55;
  color:#fff;
  font-weight:650;
}
#rental-site[data-owner-dashboard="true"] .owner-menu .owner-v3-item:focus-visible,
#owner-v3-collapse:focus-visible{
  outline:2px solid #79f2aa;
  outline-offset:2px;
}
.owner-v3-collapsed .owner-v3-label,
.owner-v3-collapsed .owner-v3-group-title{
  display:none;
}
.owner-v3-collapsed .owner-v3-brand{
  justify-content:center;
  flex-wrap:wrap;
}
.owner-v3-collapsed .owner-v3-emblem{
  display:none;
}
.owner-v3-collapsed #owner-v3-collapse{
  margin:0;
}
#rental-site[data-owner-dashboard="true"] .owner-v3-collapsed .owner-menu{
  padding-left:12px;
  padding-right:12px;
}
#rental-site[data-owner-dashboard="true"] .owner-v3-collapsed .owner-v3-item{
  justify-content:center;
  padding:10px;
}
.owner-v3-collapsed .owner-v3-group{
  border-top:1px solid #28644c;
  padding-top:9px;
}
@media(max-width:700px){
  #rental-site[data-owner-dashboard="true"] .owner-v3-shell,
  #rental-site[data-owner-dashboard="true"] .owner-v3-shell.owner-v3-collapsed{
    grid-template-columns:minmax(0,1fr);
  }
  #rental-site[data-owner-dashboard="true"] .owner-v3-shell .owner-menu.owner-v3-ready{
    width:min(320px,85vw);
    padding:18px;
  }
  .owner-v3-collapsed .owner-v3-label,
  .owner-v3-collapsed .owner-v3-group-title{
    display:initial;
  }
  .owner-v3-collapsed .owner-v3-group-title{
    display:block;
  }
  .owner-v3-collapsed .owner-v3-emblem{
    display:grid;
  }
  #owner-v3-collapse{
    display:none;
  }
  #rental-site[data-owner-dashboard="true"] .owner-v3-collapsed .owner-v3-item{
    justify-content:flex-start;
    padding:10px 12px;
  }
}
@media(prefers-reduced-motion:reduce){
  #rental-site[data-owner-dashboard="true"] .owner-v3-shell,
  #rental-site[data-owner-dashboard="true"] .owner-menu .owner-v3-item{
    transition:none;
  }
}


/* ARMI_ARMADA_COMPACT_V31 */

/* Daftar armada vertikal */
#rental-site[data-owner-dashboard="true"] .owner-fleet {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}

/* Satu kendaraan per baris */
#rental-site[data-owner-dashboard="true"] .owner-fleet-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  min-width: 0;
  border-radius: 12px;
}

/* Foto kecil */
#rental-site[data-owner-dashboard="true"] .owner-fleet-photo {
  flex: 0 0 72px;
  width: 72px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  font-size: 9px;
  line-height: 1.2;
}

/* Foto mengikuti ukuran thumbnail */
#rental-site[data-owner-dashboard="true"] .owner-fleet-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Informasi kendaraan */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details {
  flex: 1;
  min-width: 0;
}

#rental-site[data-owner-dashboard="true"] .owner-fleet-details h2 {
  margin: 0 0 5px;
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Mobile */
@media (max-width: 700px) {
  #rental-site[data-owner-dashboard="true"] .owner-fleet-card {
    gap: 10px;
    padding: 10px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-photo {
    flex-basis: 64px;
    width: 64px;
    height: 52px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-details h2 {
    font-size: 14px;
  }
}



/* ARMI_ARMADA_COMPACT_V32 */

/* Armada memanfaatkan lebar area konten */
#rental-site[data-owner-dashboard="true"] .owner-fleet {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  gap: 8px;
  margin-top: 16px;
}

/* Kartu menjadi baris horizontal */
#rental-site[data-owner-dashboard="true"] .owner-fleet-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 78px;
  gap: 14px;
  padding: 10px 14px;
  box-sizing: border-box;
  border-radius: 10px;
}

/* Thumbnail kecil */
#rental-site[data-owner-dashboard="true"] .owner-fleet-photo {
  position: relative;
  flex: 0 0 72px;
  width: 72px;
  height: 56px;
  align-self: center;
  border-radius: 8px;
}

#rental-site[data-owner-dashboard="true"] .owner-fleet-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Detail kendaraan lebih rapat */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 16px;
  row-gap: 4px;
}

#rental-site[data-owner-dashboard="true"] .owner-fleet-details h2 {
  flex: 1 1 260px;
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
}

/* Jarak elemen detail */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details p,
#rental-site[data-owner-dashboard="true"] .owner-fleet-details small {
  margin: 0;
  line-height: 1.4;
}

/* Tombol edit ditempatkan di ujung baris */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details button {
  margin-left: auto;
  flex-shrink: 0;
}

/* Tablet dan mobile */
@media(max-width:900px) {
  #rental-site[data-owner-dashboard="true"] .owner-fleet-details h2 {
    flex-basis: 100%;
  }
}

@media(max-width:700px) {
  #rental-site[data-owner-dashboard="true"] .owner-fleet-card {
    padding: 10px;
    gap: 10px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-photo {
    flex-basis: 60px;
    width: 60px;
    height: 52px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-details {
    column-gap: 10px;
    row-gap: 3px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-details h2 {
    font-size: 13px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-details button {
    margin-left: 0;
  }
}


/* ARMI_ARMADA_V33 */

/* Lebar penuh dalam area dashboard */
#rental-site[data-owner-dashboard="true"] .owner-content {
  min-width: 0;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

#rental-site[data-owner-dashboard="true"] .owner-content .owner-fleet {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  gap: 8px;
}

/* Kartu satu baris */
#rental-site[data-owner-dashboard="true"] .owner-fleet-card {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 76px;
  padding: 10px 14px;
  gap: 14px;
  box-sizing: border-box;
}

/* Foto thumbnail */
#rental-site[data-owner-dashboard="true"] .owner-fleet-photo {
  flex: 0 0 72px;
  width: 72px;
  height: 56px;
}

/* Detail tersusun dalam grid */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details {
  display: grid;
  grid-template-columns:
    minmax(180px, 2fr)
    minmax(140px, 1.3fr)
    minmax(90px, auto)
    minmax(115px, auto);
  grid-auto-flow: row;
  align-items: center;
  gap: 3px 14px;
  flex: 1;
  width: 100%;
  min-width: 0;
}

/* Nama dan nomor polisi berdampingan secara vertikal */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details h2 {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
}

#rental-site[data-owner-dashboard="true"] .owner-fleet-details > p:first-of-type {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  font-size: 12px;
  color: #b9e7cb;
}

/* Detail lain mengikuti kolom tersedia */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details > p {
  margin: 0;
  line-height: 1.4;
  font-size: 12px;
}

/* Tombol edit hanya tampil jika diberikan oleh JavaScript */
#rental-site[data-owner-dashboard="true"] .owner-fleet-details > button {
  justify-self: end;
  margin: 0;
  white-space: nowrap;
}

/* Tablet */
@media (max-width: 1100px) {
  #rental-site[data-owner-dashboard="true"] .owner-fleet-details {
    grid-template-columns: minmax(150px, 1fr) minmax(100px, 1fr);
    gap: 5px 12px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  #rental-site[data-owner-dashboard="true"] .owner-fleet-card {
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-photo {
    flex: 0 0 60px;
    width: 60px;
    height: 52px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-details {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-details h2,
  #rental-site[data-owner-dashboard="true"] .owner-fleet-details > p:first-of-type {
    grid-column: 1;
    grid-row: auto;
  }

  #rental-site[data-owner-dashboard="true"] .owner-fleet-details > button {
    justify-self: start;
    margin-top: 4px;
  }
}

/* ARMI: sembunyikan header bawaan ketika Web Builder aktif */
#rental-site[data-builder-home="true"] .app > header {
  display: none;
}

/* ARMI: sembunyikan header bawaan pada dashboard Owner */
#rental-site[data-owner-dashboard="true"] .app > header {
  display: none;
}


/* ARMI Fleet V4.7 */
.tracking-photo-group{
 position:relative;width:64px;height:58px;
 flex:0 0 64px;margin-right:4px;
}
.tracking-car-photo{
 width:64px;height:58px;flex:0 0 64px;
 border-radius:10px;
}
.tracking-car-photo img{
 width:100%;height:100%;object-fit:cover;
}
.fleet47-badges{
 position:absolute;top:2px;right:2px;
 display:flex;gap:2px;z-index:3;
 pointer-events:none;
}
.fleet47-badge{
 display:grid;place-items:center;
 width:19px;height:19px;border-radius:50%;
 background:#7d8784;color:#fff;
 border:1px solid #fff9;
 box-shadow:0 1px 3px #0006;
}
.fleet47-badge.on{background:#0a9b62}
.fleet47-badge.off{background:#d84242}
.fleet47-badge svg{
 width:13px;height:13px;fill:none;
 stroke:currentColor;stroke-width:2.2;
 stroke-linecap:round;stroke-linejoin:round;
}
.tracking-person-badge{
 z-index:4;right:-8px;top:24px;
}
.tracking-person-badge.driver{
 top:auto;bottom:-7px;
}
.fleet47-filters{
 display:grid;grid-template-columns:1fr 1fr;
 gap:7px;margin-bottom:10px;
}
.fleet47-filters input{grid-column:1/-1}
.fleet47-filters input,.fleet47-filters select{
 width:100%;min-width:0;box-sizing:border-box;
 padding:8px;border:1px solid var(--line);
 border-radius:9px;
 background:var(--panel);color:var(--text);
}
.fleet47-empty{padding:10px;font-size:12px}
.tracking-fleet-panel.is-collapsed .fleet47-filters,
.tracking-fleet-panel.is-collapsed .tracking-car-details,
.tracking-fleet-panel.is-collapsed .tracking-person-badge{
 display:none!important;
}
@media(min-width:701px){
 #rental-site[data-owner-dashboard="true"] .owner-tracking.fleet-hidden{
  grid-template-columns:96px minmax(0,1fr);
 }
 .owner-tracking.fleet-hidden .tracking-fleet-panel{
  position:relative;top:auto;left:auto;
  z-index:1;width:96px;min-width:0;
 }
 .owner-tracking.fleet-hidden .tracking-fleet-toggle{
  width:96px;min-width:0;padding:8px 5px;
  font-size:12px;
 }
 .tracking-fleet-panel.is-collapsed #tracking-list{
  display:flex;flex-direction:column;gap:7px;
  max-height:calc(100dvh - 260px);
  overflow-y:auto;padding:2px;
 }
 .tracking-fleet-panel.is-collapsed #tracking-list .card{
  display:flex;justify-content:center;
  width:100%!important;padding:4px;margin:0;
 }
 .tracking-fleet-panel.is-collapsed .tracking-photo-group{
  margin:0;
 }
}
@media(max-width:700px){
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed #tracking-list{
  display:flex;flex-direction:row;gap:7px;
  max-height:84px;overflow-x:auto;
  overflow-y:hidden;padding:3px;
 }
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed #tracking-list .card{
  flex:0 0 76px;width:76px!important;
  padding:5px;margin:0;
 }
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed .tracking-photo-group{
  margin:0;
 }
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed~#owner-map .leaflet-bottom{
  bottom:110px;
 }
}

/* R379.17: exact compact cards, vertical photo rail. */
#rental-site[data-owner-dashboard="true"] .owner-tracking:not(.fleet-hidden){grid-template-columns:250px minmax(0,1fr);gap:8px}
#rental-site[data-owner-dashboard="true"] .tracking-fleet-panel{min-width:0;padding:8px;border-radius:13px;background:#0b3026}
#rental-site[data-owner-dashboard="true"] .tracking-fleet-toggle{display:flex;width:100%;min-height:36px;align-items:center;justify-content:space-between;padding:7px 10px;margin:0 0 7px;border:1px solid #ffffff22;border-radius:10px;background:#174a3a;color:#e6f8ed;font-size:13px}
#rental-site[data-owner-dashboard="true"] .tracking-fleet-panel:not(.is-collapsed) .fleet47-filters{display:grid;grid-template-columns:1fr;gap:5px;margin:0 0 8px}
#rental-site[data-owner-dashboard="true"] .tracking-fleet-panel:not(.is-collapsed) .fleet47-filters input{grid-column:1;min-height:33px}
#rental-site[data-owner-dashboard="true"] .tracking-fleet-panel:not(.is-collapsed) .fleet47-filters select{min-height:32px}
#rental-site[data-owner-dashboard="true"] #tracking-list{display:flex;flex-direction:column;gap:7px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
#rental-site[data-owner-dashboard="true"] #tracking-list .card{display:flex;align-items:center;gap:8px;min-height:68px;height:auto;padding:6px!important;margin:0!important;border:1px solid #ffffff18!important;border-radius:12px;background:#194c3b;color:#e8f8ef!important;box-sizing:border-box;box-shadow:none}
#rental-site[data-owner-dashboard="true"] #tracking-list .card:hover{background:#28634d}
#rental-site[data-owner-dashboard="true"] #tracking-list .card.fleet47-selected{border:2px solid #4de6a0!important;background:#2b7156}
#rental-site[data-owner-dashboard="true"] #tracking-list .tracking-photo-group{width:58px;height:56px;flex:0 0 58px;margin:0}
#rental-site[data-owner-dashboard="true"] #tracking-list .tracking-car-photo{width:58px;height:56px;flex:0 0 58px;border-radius:9px}
#rental-site[data-owner-dashboard="true"] #tracking-list .tracking-car-details{min-width:0;flex:1;overflow:hidden}
#rental-site[data-owner-dashboard="true"] #tracking-list .tracking-car-details strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.22;margin:0 0 3px}
#rental-site[data-owner-dashboard="true"] #tracking-list .tracking-car-details p{margin:2px 0!important;font-size:10px!important;line-height:1.25;color:#b6d8c9;overflow:hidden;text-overflow:ellipsis}
#rental-site[data-owner-dashboard="true"] #tracking-list .tracking-car-details p:last-child{display:none}
#rental-site[data-owner-dashboard="true"] .tracking-fleet-panel.is-collapsed .fleet47-filters,#rental-site[data-owner-dashboard="true"] .tracking-fleet-panel.is-collapsed .tracking-car-details,#rental-site[data-owner-dashboard="true"] .tracking-fleet-panel.is-collapsed .tracking-person-badge{display:none!important}
@media(min-width:701px){
 #rental-site[data-owner-dashboard="true"] .owner-tracking.fleet-hidden{grid-template-columns:86px minmax(0,1fr);gap:8px}
 #rental-site[data-owner-dashboard="true"] .owner-tracking.fleet-hidden .tracking-fleet-panel{position:relative;top:auto;left:auto;width:86px;min-width:0;padding:5px}
 #rental-site[data-owner-dashboard="true"] .owner-tracking.fleet-hidden .tracking-fleet-toggle{width:100%;font-size:11px;padding:6px 3px}
 #rental-site[data-owner-dashboard="true"] .tracking-fleet-panel.is-collapsed #tracking-list{display:flex!important;flex-direction:column;gap:6px;overflow-y:auto;overflow-x:hidden;padding:0;max-height:calc(100dvh - 160px)!important}
 #rental-site[data-owner-dashboard="true"] .tracking-fleet-panel.is-collapsed #tracking-list .card{display:flex;justify-content:center;min-height:65px;padding:3px!important}
 #rental-site[data-owner-dashboard="true"] .tracking-fleet-panel.is-collapsed #tracking-list .tracking-photo-group{margin:0}
}
@media(max-width:700px){
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel:not(.is-collapsed) #tracking-list{display:flex;flex-direction:column;gap:6px;max-height:35dvh;overflow-y:auto;overflow-x:hidden}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel:not(.is-collapsed) #tracking-list .card{display:flex;align-items:center;gap:8px;min-height:68px;padding:6px!important}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel:not(.is-collapsed) .fleet47-filters{display:grid;grid-template-columns:1fr 1fr}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel:not(.is-collapsed) .fleet47-filters input{grid-column:1/-1}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed #tracking-list{display:flex!important;flex-direction:column;gap:5px;max-height:35dvh;overflow-y:auto;overflow-x:hidden}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed{left:8px;right:auto;bottom:10px;width:86px;max-height:55dvh;overflow:hidden;border-radius:14px;padding:5px}
 #rental-site[data-owner-tracking="true"] .tracking-fleet-panel.is-collapsed #tracking-list .card{width:100%!important;flex:none;padding:3px!important;justify-content:center}
}


/* ARMI R379.18 FLEET CARD FIX */

#rental-site .tracking-fleet-panel:not(.is-collapsed)
#tracking-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
#tracking-list > .card {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 74px;
    height: auto !important;
    padding: 7px !important;
    margin: 0 !important;
    overflow: hidden;
    box-sizing: border-box;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
.tracking-photo-group {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    margin: 0;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
.tracking-car-photo {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
.tracking-car-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    gap: 2px;
    overflow: hidden;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
.tracking-car-details strong {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 15px;
    max-height: 30px;
    margin: 0;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
.tracking-car-details p {
    font-size: 10px;
    line-height: 13px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
.tracking-car-details p.sub {
    opacity: .85;
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
#tracking-list > .card:hover {
    border-color: #49dc9d !important;
    background: rgba(53, 131, 98, .25);
}

#rental-site .tracking-fleet-panel:not(.is-collapsed)
#tracking-list > .card.is-selected {
    outline: 2px solid #4de3a2;
    outline-offset: -2px;
    background: rgba(62, 155, 112, .25);
}



/* R379.21: tracking viewport and independent fleet scrolling */

@media (min-width: 701px) {
  #rental-site[data-owner-dashboard="true"]:has(.owner-tracking) {
    height: 100dvh !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #rental-site[data-owner-dashboard="true"]:has(.owner-tracking)
  .app {
    height: 100dvh !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #rental-site[data-owner-dashboard="true"]:has(.owner-tracking)
  .owner-shell,
  #rental-site[data-owner-dashboard="true"]:has(.owner-tracking)
  .owner-v3-shell,
  #rental-site[data-owner-dashboard="true"]:has(.owner-tracking)
  .admin-layout {
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  #rental-site[data-owner-dashboard="true"]:has(.owner-tracking)
  .owner-content,
  #rental-site[data-owner-dashboard="true"]:has(.owner-tracking)
  .admin-content {
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  #rental-site[data-owner-dashboard="true"] .owner-tracking {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }

  #rental-site[data-owner-dashboard="true"]
  .owner-tracking .tracking-fleet-panel {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  #rental-site[data-owner-dashboard="true"]
  .tracking-fleet-toggle,
  #rental-site[data-owner-dashboard="true"]
  .fleet47-filters {
    flex: 0 0 auto !important;
    min-height: 0;
  }

  #rental-site[data-owner-dashboard="true"]
  .tracking-fleet-panel #tracking-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }

  #rental-site[data-owner-dashboard="true"]
  .owner-tracking #owner-map {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }
}

/* Keep filters visible and prevent long names wrapping. */
#rental-site[data-owner-dashboard="true"]
.tracking-fleet-panel .fleet47-filters {
  position: relative;
  z-index: 2;
  overflow: visible;
}

#rental-site[data-owner-dashboard="true"]
#tracking-list .tracking-car-details {
  min-width: 0 !important;
  overflow: hidden !important;
}

#rental-site[data-owner-dashboard="true"]
#tracking-list .tracking-car-details strong {
  display: block !important;
  width: 100%;
  min-width: 0;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  -webkit-line-clamp: unset !important;
}

/* Preserve photo-only rail when collapsed. */
@media (min-width: 701px) {
  #rental-site[data-owner-dashboard="true"]
  .tracking-fleet-panel.is-collapsed #tracking-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  #rental-site[data-owner-dashboard="true"]
  .tracking-fleet-panel.is-collapsed
  .tracking-car-details {
    display: none !important;
  }
}

/* Mobile: fixed map and independently scrolling fleet list. */
@media (max-width: 700px) {
  #rental-site[data-owner-tracking="true"] {
    height: 100dvh;
    overflow: hidden;
  }

  #rental-site[data-owner-tracking="true"]
  .tracking-fleet-panel:not(.is-collapsed) {
    display: flex;
    flex-direction: column;
    max-height: 55dvh;
    overflow: hidden;
  }

  #rental-site[data-owner-tracking="true"]
  .tracking-fleet-panel:not(.is-collapsed)
  #tracking-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}


/* R379.23 - Armada panel toggle icons */
#rental-site .tracking-fleet-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

#rental-site .tracking-fleet-toggle svg {
  width: 17px;
  height: 17px;
  display: block;
}

#rental-site .fleet-toggle-car {
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #236c50;
  color: #e5fff0;
}

#rental-site .fleet-toggle-label {
  flex: 1;
  min-width: 0;
  text-align: left;
  font-weight: 600;
}

#rental-site .fleet-toggle-open {
  display: none;
}

#rental-site .fleet-toggle-close,
#rental-site .fleet-toggle-open {
  flex: 0 0 auto;
}

#rental-site .tracking-fleet-panel.is-collapsed
.fleet-toggle-label,
#rental-site .tracking-fleet-panel.is-collapsed
.fleet-toggle-close {
  display: none;
}

#rental-site .tracking-fleet-panel.is-collapsed
.fleet-toggle-open {
  display: grid;
  place-items: center;
}

#rental-site .tracking-fleet-panel.is-collapsed
.tracking-fleet-toggle {
  justify-content: space-between;
  gap: 2px;
  padding: 4px 3px;
}

#rental-site .tracking-fleet-panel.is-collapsed
.fleet-toggle-car {
  flex-basis: 27px;
  width: 27px;
  height: 27px;
}

#rental-site .tracking-fleet-panel.is-collapsed
.fleet-toggle-open svg {
  width: 16px;
  height: 16px;
}



/* R379.26 PROFILE ACCORDION */
.owner-profile-grid.armi-profile-accordion {
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
  max-width:1100px;
}

.armi-profile-accordion > article.card {
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  border:1px solid #28634d;
  border-radius:16px;
  background:#103c2f;
}

.armi-profile-trigger {
  display:flex;
  align-items:center;
  width:100%;
  min-height:76px;
  gap:14px;
  padding:16px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.armi-profile-trigger:hover {
  background:#1a523e;
}

.armi-profile-trigger:focus-visible {
  outline:2px solid #48e59b;
  outline-offset:-3px;
}

.armi-profile-symbol {
  display:grid;
  place-items:center;
  flex:0 0 44px;
  height:44px;
  border-radius:12px;
  background:#22664b;
  font-size:23px;
}

.armi-profile-titles {
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
  gap:5px;
}

.armi-profile-titles strong {
  font-size:15px;
  line-height:1.3;
}

.armi-profile-titles small {
  color:#b1d6c2;
  font-size:12px;
  line-height:1.4;
}

.armi-profile-chevron {
  font-size:24px;
  transition:transform .2s ease;
}

.armi-profile-trigger[aria-expanded="true"]
.armi-profile-chevron {
  transform:rotate(180deg);
}

.armi-profile-body {
  padding:18px;
  border-top:1px solid #28634d;
}

.armi-profile-body[hidden] {
  display:none !important;
}

.armi-profile-body > h2 {
  display:none;
}

.armi-profile-summary {
  display:flex;
  align-items:center;
  gap:16px;
  width:100%;
  max-width:1100px;
  margin:18px 0;
  padding:22px;
  border:1px solid #317458;
  border-radius:18px;
  background:linear-gradient(135deg,#174d39,#0c3429);
  box-sizing:border-box;
}

.armi-profile-summary-icon {
  display:grid;
  place-items:center;
  flex:0 0 70px;
  height:70px;
  border-radius:16px;
  background:#236b4e;
  font-size:32px;
}

.armi-profile-summary h2 {
  margin:0 0 6px;
  font-size:21px;
  overflow-wrap:anywhere;
}

.armi-profile-summary p {
  margin:0;
  color:#b8d9c8;
  overflow-wrap:anywhere;
}

@media(max-width:600px) {
  .armi-profile-trigger {
    padding:12px;
    gap:10px;
  }
  .armi-profile-body {
    padding:12px;
  }
  .armi-profile-summary {
    padding:14px;
  }
  .armi-profile-summary-icon {
    flex-basis:52px;
    height:52px;
    font-size:25px;
  }
  .armi-profile-summary h2 {
    font-size:17px;
  }
}

/* R379.27 - ARMI PROFILE AURORA SWITCH */
#rental-site .owner-profile-grid
.owner-profile-fields input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: inline-block;
  width: 52px;
  min-width: 52px;
  height: 29px;
  margin: 5px 0;
  padding: 0;
  border: 1px solid #547363;
  border-radius: 999px;
  background: #52645d;
  cursor: pointer;
  vertical-align: middle;
  box-sizing: border-box;
  transition: background .22s ease,
              border-color .22s ease,
              box-shadow .22s ease;
}

#rental-site .owner-profile-grid
.owner-profile-fields input[type="checkbox"]::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 5px #0004;
  transition: transform .22s ease;
}

#rental-site .owner-profile-grid
.owner-profile-fields input[type="checkbox"]:checked {
  background: #19bd75;
  border-color: #38e69a;
  box-shadow: 0 0 12px #19bd7533;
}

#rental-site .owner-profile-grid
.owner-profile-fields input[type="checkbox"]:checked::before {
  transform: translateX(23px);
}

#rental-site .owner-profile-grid
.owner-profile-fields input[type="checkbox"]:focus-visible {
  outline: 3px solid #b5f7d1;
  outline-offset: 3px;
}

#rental-site .owner-profile-grid
.owner-profile-fields input[type="checkbox"]:disabled {
  opacity: .5;
  cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
  #rental-site .owner-profile-grid
  .owner-profile-fields input[type="checkbox"],
  #rental-site .owner-profile-grid
  .owner-profile-fields input[type="checkbox"]::before {
    transition: none;
  }
}



/* R379.28 - FULL WIDTH PROFILE AND REAL BRANDING */

#rental-site .owner-profile-grid.armi-profile-accordion {
  width:100%;
  max-width:none;
  min-width:0;
  box-sizing:border-box;
}

#rental-site .armi-profile-summary {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  max-width:none;
  min-height:190px;
  padding:28px;
  box-sizing:border-box;
  background:linear-gradient(135deg,#184f3c,#0a3026);
}

#rental-site .armi-profile-background {
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
}

#rental-site .armi-profile-summary::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(
    90deg,
    rgba(5,29,22,.88) 0%,
    rgba(5,29,22,.66) 50%,
    rgba(5,29,22,.35) 100%
  );
  pointer-events:none;
}

#rental-site .armi-profile-summary-icon {
  overflow:hidden;
  width:88px;
  height:88px;
  flex:0 0 88px;
  border:2px solid rgba(255,255,255,.65);
  background:rgba(14,61,44,.65);
  color:#fff;
  font-size:35px;
  box-shadow:0 5px 18px rgba(0,0,0,.2);
}

#rental-site .armi-profile-summary-icon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

#rental-site .armi-profile-summary h2,
#rental-site .armi-profile-summary p {
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.55);
}

#rental-site .armi-profile-accordion > article.card {
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

@media(max-width:600px) {
  #rental-site .armi-profile-summary {
    min-height:155px;
    padding:16px;
  }
  #rental-site .armi-profile-summary-icon {
    width:62px;
    height:62px;
    flex-basis:62px;
  }
}



/* R379.31-A: Responsive switch and related fields */
#rental-site .owner-profile-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

#rental-site .owner-profile-fields > label {
  min-width: 0;
}

#rental-site .owner-profile-fields > label:has(> input[type="checkbox"]) {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  grid-column: 1 / -1;
  padding: 14px 16px;
  border: 1px solid rgba(128, 148, 140, .25);
  border-radius: 14px;
}

#rental-site .owner-profile-fields > label:has(> input[type="checkbox"])
  > input[type="checkbox"] {
  flex: 0 0 auto;
  margin-left: auto;
}

#rental-site .owner-profile-fields > label:has(> input[type="checkbox"])
  + label {
  grid-column: 1 / -1;
}

@media (max-width: 760px) {
  #rental-site .owner-profile-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  #rental-site .owner-profile-fields input[type="checkbox"] {
    transition: none;
  }
}


/* R379.31-B: UI-only searchable bank catalog */
.armi-bank-picker{
  grid-column:1/-1;
  display:grid;
  gap:10px;
  min-width:0;
  margin:8px 0 14px;
}
.armi-bank-picker>label{
  display:grid;
  gap:8px;
  font-weight:600;
}
.armi-bank-picker input[type="search"]{
  width:100%;
  min-height:44px;
}
.armi-bank-results{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:8px;
  max-height:270px;
  overflow:auto;
}
.armi-bank-option{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  min-height:60px;
  padding:10px;
  text-align:left;
  border:1px solid rgba(128,128,128,.25);
  border-radius:12px;
  background:transparent;
  color:inherit;
  cursor:pointer;
}
.armi-bank-option:hover,
.armi-bank-option:focus-visible{
  border-color:#22a06b;
  background:rgba(34,160,107,.08);
}
.armi-bank-badge{
  display:grid;
  place-items:center;
  flex:none;
  width:42px;
  height:42px;
  border-radius:10px;
  background:rgba(34,160,107,.13);
  color:#138458;
  font-size:11px;
  font-weight:800;
}
.armi-bank-option>span:last-child{
  display:grid;
  gap:3px;
  min-width:0;
}
.armi-bank-option strong{
  font-size:13px;
  overflow-wrap:anywhere;
}
.armi-bank-option small{
  font-size:11px;
  opacity:.7;
}
.armi-bank-note,
.armi-bank-empty{
  font-size:12px;
  opacity:.75;
  margin:0;
}
@media(max-width:600px){
  .armi-bank-results{grid-template-columns:1fr}
}


/* ==========================================================
   R379.31-CD BANK UI
   Compact cards + searchable dropdown + responsive editor
   ========================================================== */

.bank-list:has(.armi-bank-card){
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
 margin:14px 0;
}

.owner-bank-row.armi-bank-card{
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 gap:14px;
 min-width:0;
 margin:0;
 padding:16px;
 border:1px solid rgba(114,177,144,.28);
 border-radius:15px;
 background:rgba(255,255,255,.035);
}

.armi-bank-card-main{
 display:flex;
 align-items:flex-start;
 gap:12px;
 min-width:0;
}

.armi-bank-card-icon{
 display:grid;
 place-items:center;
 flex:0 0 44px;
 width:44px;
 height:44px;
 border-radius:12px;
 background:rgba(40,176,110,.14);
 font-size:23px;
}

.armi-bank-card-info{
 display:flex;
 flex:1;
 flex-direction:column;
 gap:5px;
 min-width:0;
}

.armi-bank-card-info strong{
 font-size:15px;
 overflow-wrap:anywhere;
}

.armi-bank-account-number{
 font-size:14px;
 font-weight:600;
 font-variant-numeric:tabular-nums;
 overflow-wrap:anywhere;
}

.armi-bank-card-info small{
 font-size:12px;
 opacity:.75;
 overflow-wrap:anywhere;
}

.armi-bank-card-footer{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 flex-wrap:wrap;
 padding-top:12px;
 border-top:1px solid rgba(128,160,145,.18);
}

.armi-bank-card-status,
.armi-bank-card-actions{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:7px;
}

.armi-bank-status{
 display:inline-flex;
 align-items:center;
 min-height:24px;
 padding:3px 9px;
 border-radius:999px;
 font-size:11px;
 font-weight:700;
 white-space:nowrap;
}

.armi-bank-primary{
 color:#ffe2a0;
 background:rgba(227,175,60,.17);
}

.armi-bank-active{
 color:#a3efc4;
 background:rgba(30,176,103,.17);
}

.armi-bank-inactive{
 color:#d2d6d4;
 background:rgba(140,150,145,.17);
}

.armi-bank-card-actions button{
 min-height:35px;
 padding:7px 12px;
 border-radius:9px;
}

/* Account editor */
.bank-editor:not(:empty){
 margin-top:14px;
 padding:18px;
 border:1px solid rgba(114,177,144,.28);
 border-radius:15px;
 background:rgba(0,0,0,.08);
}

.armi-bank-editor-heading{
 display:flex;
 flex-direction:column;
 gap:5px;
 margin-bottom:16px;
}

.armi-bank-editor-heading strong{
 font-size:17px;
}

.armi-bank-editor-heading small{
 opacity:.7;
}

.bank-editor form{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 align-items:start;
 gap:14px;
}

.bank-editor form>label{
 min-width:0;
}

.bank-editor form>label input:not([type="checkbox"]){
 width:100%;
 min-height:43px;
}

.bank-editor form>.armi-bank-picker{
 grid-column:1/-1;
}

.bank-editor form>p[role="status"]{
 grid-column:1/-1;
}

/* Searchable dropdown */
.armi-bank-picker{
 position:relative;
}

.armi-bank-picker .armi-bank-results{
 position:absolute;
 top:calc(100% - 6px);
 left:0;
 right:0;
 z-index:100;
 display:flex;
 flex-direction:column;
 gap:4px;
 max-height:300px;
 overflow-y:auto;
 overflow-x:hidden;
 padding:6px;
 border:1px solid rgba(91,190,145,.4);
 border-radius:12px;
 background:#10392c;
 box-shadow:0 16px 36px rgba(0,0,0,.3);
}

.armi-bank-picker .armi-bank-results[hidden]{
 display:none!important;
}

.armi-bank-picker .armi-bank-option{
 width:100%;
 min-height:48px;
 flex:0 0 auto;
}

.armi-bank-picker .armi-bank-option:focus-visible{
 outline:2px solid #40c78b;
 outline-offset:-2px;
}

@media(max-width:900px){
 .bank-list:has(.armi-bank-card){
  grid-template-columns:1fr;
 }
}

@media(max-width:640px){
 .bank-editor:not(:empty){
  padding:13px;
 }

 .bank-editor form{
  grid-template-columns:1fr;
 }

 .armi-bank-card-footer{
  align-items:stretch;
  flex-direction:column;
 }

 .armi-bank-card-actions button{
  flex:1;
 }
}

/* ==========================================================
   R379.31-E BANK SWITCH
   UI-only: original checkbox and FormData are preserved
   ========================================================== */

.bank-editor input[type="checkbox"][name="is_primary"],
.bank-editor input[type="checkbox"][name="is_active"] {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 50px;
  min-width: 50px;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 0;
  border: 1px solid #7c8984;
  border-radius: 999px;
  background: #788780;
  cursor: pointer;
  vertical-align: middle;
  transition: background-color .2s ease, border-color .2s ease;
}

.bank-editor input[type="checkbox"][name="is_primary"]::before,
.bank-editor input[type="checkbox"][name="is_active"]::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  transition: transform .2s ease;
}

.bank-editor input[type="checkbox"][name="is_primary"]:checked,
.bank-editor input[type="checkbox"][name="is_active"]:checked {
  background: #16a765;
  border-color: #16a765;
}

.bank-editor input[type="checkbox"][name="is_primary"]:checked::before,
.bank-editor input[type="checkbox"][name="is_active"]:checked::before {
  transform: translateX(22px);
}

.bank-editor input[type="checkbox"]:focus-visible {
  outline: 3px solid rgba(22,167,101,.35);
  outline-offset: 3px;
}

.bank-editor input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: .5;
}

@media (prefers-reduced-motion: reduce) {
  .bank-editor input[type="checkbox"],
  .bank-editor input[type="checkbox"]::before {
    transition: none;
  }
}

/* R379.31-F BANK SWITCH ALIGNMENT */

/* Each switch occupies one complete form-grid row */
.bank-editor form > label:has(> input[type="checkbox"][name="is_primary"]),
.bank-editor form > label:has(> input[type="checkbox"][name="is_active"]) {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  min-height: 56px;
  padding: 10px 14px;
  margin: 0;
  border: 1px solid rgba(128,160,145,.25);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  font-size: 14px;
  font-weight: 500;
}

/* Switch always stays at the far right */
.bank-editor form > label > input[type="checkbox"][name="is_primary"],
.bank-editor form > label > input[type="checkbox"][name="is_active"] {
  flex: 0 0 50px;
  margin: 0 0 0 auto;
  align-self: center;
}

/* Mobile layout */
@media (max-width: 600px) {
  .bank-editor form > label:has(> input[type="checkbox"][name="is_primary"]),
  .bank-editor form > label:has(> input[type="checkbox"][name="is_active"]) {
    min-height: 54px;
    padding: 10px 12px;
  }
}
