/* One layout, two complete themes. No canvas, video or per-frame script. */
:root{--surface:#fff;--surface2:#f1f5f9;--bg:#edf2f7;--ink:#08283f;--muted:#5c748b;--line:#d7e1ea;--brand:#ffcf00;--nav:#06273f;--nav2:#113e59;--shadow:0 8px 24px #0b2c4810;--radius:16px}
body[data-theme=dark]{--surface:#122b40;--surface2:#19364e;--bg:#071a2a;--ink:#edf5fc;--muted:#a3bacd;--line:#2b485f;--nav:#041522;--nav2:#0c2a40;--cream:#3c371e;--mint:#143e35;--green:#62dba7;--red:#ff9299;--orangeDark:#ffcf00;--shadow:0 8px 24px #0002;color-scheme:dark}
body{background:var(--bg)!important;color:var(--ink)}body:before{content:"";position:fixed;inset:0;background:url('./fleet-pattern.svg') center bottom/cover no-repeat;opacity:.12;pointer-events:none;z-index:-1}body[data-theme=dark]:before{opacity:.13}body[data-background=plain]:before{display:none}body[data-background=terrain]:before{background-image:repeating-linear-gradient(155deg,transparent 0 65px,#527a9722 66px 67px,transparent 68px 110px)}body[data-motion=on]:before{animation:fleetLight 14s ease-in-out infinite}@keyframes fleetLight{50%{opacity:.05}}@media(prefers-reduced-motion:reduce){body:before{animation:none!important}*{scroll-behavior:auto!important;transition:none!important}}
.sidebar{background:linear-gradient(160deg,var(--nav),var(--nav2));border-right:1px solid #ffffff12}.brand{cursor:pointer;align-items:center;width:100%;background:transparent}.brand-logo{background:transparent!important;border-radius:0;padding:0;width:156px;height:84px;filter:url(#brandOnDark)}.mobile-topbar .brand-logo{filter:none}.brand:focus-visible{outline-color:var(--brand)}.ec-portal-brand{background:transparent!important;padding:0}.ec-portal-brand img{height:57px;width:120px}body[data-theme=dark] .ec-portal-brand img,body[data-theme=dark] .mobile-topbar .brand-logo{filter:url(#brandOnDark)}
.topbar,.mobile-topbar{background:var(--surface)!important;color:var(--ink);border-color:var(--line)}.topbar{box-shadow:0 2px 12px #08283f08}.card,.unit-card,.pipa-card,.phone-app,.dialog,.quick-action,.wizard-unit,.dispatch-category,.picker-unit,.access-card,.assignment-card,.unit-picker,.rental-fields,.phone-unit,.phone-action,.report-controls{background:var(--surface)!important;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow)}.main,.content,.phone-body,.app-workspace{background:transparent}.unit-card-art,.custom-equipment{background:transparent!important}.table-head,.table-foot,.dialog-head,.dialog-foot,.phone-head,.phone-bottom,.phone-sync{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)}
.field input,.field select,.field textarea,input,select,textarea,.global-search,.searchbox,.full-search,.picker-search,.dispatch-search,.selectbox{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}.field label{color:var(--muted)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input:focus,select:focus,textarea:focus{outline:2px solid #c7a900}.btn{border-color:#ffcf00;background:#ffcf00;color:#06273f;box-shadow:0 3px 8px #00243e0a}.btn.secondary,.btn.ghost,.btn.dark,.icon-btn{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}.btn.danger{background:#a92d3f!important;border-color:#a92d3f!important;color:#fff!important}.btn:hover{filter:brightness(1.04)}.link{color:inherit}
.mode-switch,.chart-tabs,.subtabs,.tabs,.picker-categories button,.sync-chip,.square-icon,.avatar,.section-icon,.scope-summary,.project-type,.project-stats,.storage-destinations,.picker-selection,.counter-fields,.service-preview,.detail-banner,.preview-balance,.dispatch-selected,.timeline-item,.filterbar,.finance-filters{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}.mode-switch button.active,.chart-tabs button.active,.picker-categories button.active,.phone-bottom button.active{background:#ffcf00!important;color:#05243e!important}.subtabs button.active,.tabs button.active{color:var(--ink);border-color:#ffcf00}.btn[disabled],.module-switch[disabled]{cursor:wait}.module-card{contain:layout style}.module-switch{flex:none}.module-switch.on{background:#ffcf00}.module-switch:not(.on){background:#6e8598}.modules-grid{align-items:stretch}
th{background:var(--surface2)!important;color:var(--muted)!important;border-color:var(--line)!important}td{color:var(--ink);border-color:var(--line)!important}tbody tr:hover,.clickable-row:hover{background:var(--surface2)!important}.table-wrap{border-color:var(--line)}.list-row,.kv,.timeline-item,.app-activity{border-color:var(--line)}.list-row p,.app-activity strong{color:var(--ink)}.muted,.small.muted,.tiny.muted,.footer,.table-foot,.card-title p,.unit-card .muted{color:var(--muted)!important}.square-icon .icon{color:var(--muted)}.metric .metric-value,.metric strong{color:var(--ink)}
.category-card{background:linear-gradient(130deg,var(--surface),var(--surface2))!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.category-card h2{color:var(--ink)}.category-card:hover{border-color:#bf9f00;transform:translateY(-2px)}.fleet-categories{gap:18px}.dashboard-metrics .metric{border-top:3px solid #ffcf00}.metric{border-color:var(--line)}.unit-hero{background:var(--surface)!important;border-color:var(--line)}.unit-identity{background:linear-gradient(140deg,#05243e,#134563);color:#fff}.unit-hero-info{color:var(--ink)}.unit-hero-info p,.unit-heading p{color:var(--muted)}.unit-hero-info h2{color:var(--ink)}
body[data-theme=dark] .notice{background:#263a4b!important;border-color:#4b6377;color:#d2e1eb}body[data-theme=dark] .notice.green{background:#143e35!important;border-color:#25624c;color:#8fe2b9}body[data-theme=dark] .notice.blue{background:#173c57!important;border-color:#315e7e;color:#bbdcf4}body[data-theme=dark] .tag{background:#2b465c;color:#c8deef}body[data-theme=dark] .tag.green{background:#174b36;color:#9ae5bc}body[data-theme=dark] .tag.orange{background:#514622;color:#ffe18a}body[data-theme=dark] .tag.red{background:#542b38;color:#ffb2b8}.phone-balance{background:linear-gradient(130deg,#052c47,#174c6b)!important;color:#fff}.phone-balance .muted{color:#afcadd!important}.progress{background:var(--line)}.progress i{background:#ffcf00}.bar-track{background:var(--surface2)}.toast{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.report-preview{background:var(--surface2)}.report-paper{color:#132a3d;background:#fff}.report-paper table th{background:#eef1f5!important;color:#193246!important}.report-paper table td{color:#193246;border-color:#d9e1e7!important}.overlay{background:#02111dcc}.dialog-body{background:var(--surface);color:var(--ink)}.empty,.pilot-gate{color:var(--muted)}.connection-banner{background:var(--surface2);border-color:#baa133;color:var(--ink)}.connection-banner p{color:var(--muted)}.review-qty .box{background:var(--surface2);color:var(--ink)}.finance-summary .card,.finance-card{background:var(--surface)}
.ec-portal{background:transparent!important;--ep-bg:var(--bg);--ep-surface:var(--surface);--ep-ink:var(--ink);--ep-muted:var(--muted);--ep-line:var(--line)}.ec-portal[data-theme=dark]{--ep-bg:var(--bg);--ep-surface:var(--surface);--ep-ink:var(--ink);--ep-muted:var(--muted);--ep-line:var(--line)}.ec-portal-role,.ec-portal-finance{box-shadow:var(--shadow)}.ec-portal-featured{--ep-surface:#052b44;--ep-ink:white}.ec-portal-role-icon,.ec-login-profile>span{background:#fff3b8;color:#685200}.ec-login-profile p,.ec-login-footnote{color:var(--muted)}.ec-login-pin>button{color:var(--muted)}.ec-portal-header{background:var(--surface)}.ecomuros-access-card{background:var(--surface)!important;color:var(--ink)}.ecomuros-access-card>img{filter:none}body[data-theme=dark] .ecomuros-access-card>img{filter:url(#brandOnDark)}.access-screen{background:transparent}.ec-portal-enter{font-size:12px}.ec-login-footnote{margin-bottom:12px}
.appearance-form{max-width:1050px}.section-heading{margin-bottom:22px;margin-top:12px}.section-heading h2{margin-bottom:6px}.appearance-list{display:grid;gap:9px}.appearance-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:10px}.appearance-row strong{flex:1;font-size:12px}.appearance-order{color:var(--muted);width:26px}.appearance-row select{max-width:170px;font-size:12px;border-radius:6px;padding:8px;border:1px solid var(--line)}.appearance-row .icon-btn{height:33px;width:33px;flex:none}.section-heading+.form-grid{margin-bottom:30px}.field.full.check{display:flex;padding:10px 0}.appearance-row:focus-within{border-color:#c5a400}
@media(max-width:700px){.appearance-row{gap:6px;padding:9px}.appearance-row strong{font-size:10px}.appearance-row select{max-width:103px;font-size:10px}.appearance-row .icon-btn{width:28px;height:30px}.appearance-order{display:none}.brand-logo{padding:0}.mobile-topbar .brand{width:auto}.mobile-topbar .brand-sub{display:none}.dashboard-heading .row{flex-wrap:wrap}.ec-portal-brand img{width:88px;height:46px}.table-wrap{max-width:100%;overflow-x:auto}.phone-form .field input{font-size:16px}.topbar{gap:8px}}

/* Explicit brand surfaces and labels inherited from the original light design. */
.page-heading h1,.breadcrumb,.breadcrumb strong,.card-title h2,.card-title h2>.icon,.unit-card h2,.section-heading h2,.phone-section-title h2,.dialog h2,.phone-head h1,.phone-head h2,.phone-head strong,.app-side h1,.quick-action strong,.assignment-card h2,.unit-card-info strong,.unit-card-info b,.kv strong,.key-values strong,td strong,.footer strong,.chart-summary strong,.project-total strong,.bar-row-label,.back-link{color:var(--ink)}
.page-heading p,.page-heading .eyebrow,.metric .metric-head,.metric .unit,.metric-bottom,.list-row small,.unit-cell small,.phone-head p,.phone-head small,.quick-action small,.app-side>p,.step p,.step strong,.assignment-card small,.app-activity small,.app-activity .amount,.chart-legend,.phone-section-title .link,.subtabs button,.chart-tabs button,.mode-switch button{color:var(--muted)}
.card.metric.primary,.card.stock-panel{background:linear-gradient(125deg,#073b59,#06263e)!important;color:#fff}.metric.primary strong,.metric.primary .metric-head,.metric.primary .metric-bottom,.metric.primary .unit,.stock-panel h2,.stock-panel .pipa-number,.stock-panel .pipa-head h3{color:#edf6ff}.stock-panel .pipa-card{background:#ffffff09!important;color:#fff}.stock-panel .pipa-meta,.stock-panel .pipa-foot,.stock-panel .pipa-number small{color:#c0d1de}.metric .metric-icon{background:var(--surface2);color:var(--ink)}.metric.primary .metric-icon{background:#ffffff17;color:#ffcf00}
body[data-theme=dark] .chart-wrap svg text{fill:var(--muted)}body[data-theme=dark] .chart-wrap svg line{stroke:var(--line)}body[data-theme=dark] .chart-wrap svg [stroke="#003651"]{stroke:#77b7da}body[data-theme=dark] .chart-wrap svg rect[fill="#003651"]{fill:#5995b5}body[data-theme=dark] .tag.blue{background:#224961;color:#c2e5ff}body[data-theme=dark] .list-row:hover,body[data-theme=dark] .bar-row:hover{background:var(--surface2)}.modal-group,.file-area,.wizard-summary,.policy-preview{background:var(--surface2);color:var(--ink);border-color:var(--line)}.pilot .btn:not(.secondary):not(.ghost):not(.dark){background:#ffcf00;color:#05243e}
.brand-image{position:relative;display:inline-block;width:156px;height:84px;flex:none}.brand-image img,.ec-portal-brand .brand-image img{width:100%;height:100%;object-fit:contain;filter:none!important;background:transparent!important;padding:0;border-radius:0}.brand-image:after{content:"";display:none;position:absolute;inset:0;background:url('./ecomuros-logo.png') center/contain no-repeat;filter:url(#brandOnDark);clip-path:inset(73% 0 0 0);pointer-events:none}.sidebar .brand-image:after,body[data-theme=dark] .brand-image:after{display:block}.ec-portal-brand .brand-image{width:120px;height:64px}.mobile-topbar .brand-image{width:100px;height:54px}.access-logo{background:transparent;border:0;padding:0;margin-bottom:18px;cursor:pointer}.access-logo .brand-image{width:160px;height:86px}
@media(max-width:700px){.ec-portal-brand .brand-image{width:88px;height:47px}.top-actions{gap:5px}.topbar .mode-switch .icon{display:none}.topbar .mode-switch button{padding:7px 5px;font-size:9px}}

.topbar .global-search{min-width:40px;flex:1;overflow:hidden}.global-search span{overflow:hidden;text-overflow:ellipsis}.topbar .top-actions{flex-shrink:0}.module-card p,.module-card small{color:var(--muted)}
@media(max-width:760px){.topbar .global-search{display:none}.topbar .mode-switch{margin-left:auto}.topbar .top-actions{margin-left:auto}.mobile-topbar .top-actions{display:flex!important}.mobile-topbar .top-actions>.icon-btn{display:inline-flex!important}.mobile-topbar .top-actions>.icon-btn:nth-child(2){display:none!important}.topbar .top-actions>.icon-btn:first-child{display:inline-flex}}
@media(max-width:380px){.topbar{gap:4px}.topbar .mode-switch button{padding:6px 4px;font-size:8px}.topbar .icon-btn{width:27px;height:30px}.mobile-topbar .brand-image{width:80px;height:44px}}

.dispatch-steps .current{color:var(--ink)}.dispatch-steps .current span{color:#05243e}.wizard-unit small,.dispatch-selected small,.dispatch-category small,.pilot-gate p,.phone-head .eyebrow,.dispatch-success p{color:var(--muted)}.preview-balance strong,.dispatch-success>strong,.finance-bars button{color:var(--ink)}
@media(max-width:760px){.topbar{padding:0 10px;gap:5px}.topbar .top-actions>.icon-btn:nth-child(2){display:none}.topbar .mode-switch{gap:0}}
@media(max-width:380px){.topbar{padding:0 8px;gap:4px}.topbar .mode-switch button{padding:6px 3px}}

.category-card .category-png{position:absolute;right:5px;bottom:15px;width:55%;height:80%;object-fit:contain;pointer-events:none}.category-image-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:32px}.category-image-setting{padding:18px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;min-width:0}.category-image-setting>label{display:block;font-size:12px;margin:12px 0}.category-image-setting input[type=file]{max-width:100%;font-size:12px}.category-image-preview{height:120px;display:grid;place-items:center}.category-image-preview .category-png,.category-image-preview .fleet-art{position:static;width:180px;height:110px;object-fit:contain}@media(max-width:600px){.category-image-settings{grid-template-columns:1fr}}
