﻿/* Shared visual contract. Business interactions remain in their existing scripts. */
html[data-design]:not([data-design=classic]) {
 --bg-primary:var(--hx-bg);--bg-secondary:var(--hx-surface);--bg-tertiary:var(--hx-raised);--bg-quaternary:var(--hx-raised);--body-bg:var(--hx-bg);
 --card-bg:var(--hx-surface);--card-bg-hover:var(--hx-raised);--bg-input:var(--hx-bg);--text-primary:var(--hx-text);--text-secondary:var(--hx-muted);--text-muted:var(--hx-muted);--text-color:var(--hx-text);
 --border-color:var(--hx-border);--border-light:var(--hx-border);--border-focus:var(--hx-accent);--color-primary:var(--hx-accent);--color-primary-hover:var(--hx-accent);--color-primary-dark:var(--hx-accent);--color-primary-light:var(--hx-raised);
 --primary-color:var(--hx-accent);--color-primary-rgb:var(--hx-accent-rgb);--btn-primary-bg:var(--hx-accent);--btn-primary-hover-bg:var(--hx-accent);--btn-primary-active-bg:var(--hx-accent);--btn-upload-bg:var(--hx-accent);--btn-upload-color:var(--hx-on-accent);--btn-upload-hover-bg:var(--hx-accent);--btn-upload-active-bg:var(--hx-accent);
 --radius-sm:4px;--radius-md:var(--hx-radius);--radius-lg:var(--hx-radius);--radius-xl:calc(var(--hx-radius) + 4px);--radius-2xl:calc(var(--hx-radius) + 8px);--font-family:'Inter',system-ui,sans-serif;
 background:var(--hx-bg);color:var(--hx-text);accent-color:var(--hx-accent);
}
html[data-accent=ocean]{--hx-accent:#245ADA;--hx-on-accent:#FFFFFF}html[data-accent=violet]{--hx-accent:#7041C5;--hx-on-accent:#FFFFFF}html[data-accent=emerald]{--hx-accent:#047857;--hx-on-accent:#FFFFFF}
html[data-theme=dark][data-accent=ocean]{--hx-accent:#93B4FF;--hx-on-accent:#132342}html[data-theme=dark][data-accent=violet]{--hx-accent:#C5ACFF;--hx-on-accent:#271B40}html[data-theme=dark][data-accent=emerald]{--hx-accent:#6EE7B7;--hx-on-accent:#10281E}
html[data-accent=ocean]{--hx-accent-rgb:36,90,218}html[data-accent=violet]{--hx-accent-rgb:112,65,197}html[data-accent=emerald]{--hx-accent-rgb:4,120,87}html[data-theme=dark][data-accent=ocean]{--hx-accent-rgb:147,180,255}html[data-theme=dark][data-accent=violet]{--hx-accent-rgb:197,172,255}html[data-theme=dark][data-accent=emerald]{--hx-accent-rgb:110,231,183}
body.hx-shell{background:var(--hx-bg);color:var(--hx-text);font-family:var(--font-family);font-size:14px;line-height:1.6;margin:0;min-height:100dvh}
body.hx-standalone{padding-left:0}
.hx-shell *{box-sizing:border-box}.hx-shell :focus-visible{outline:2px solid var(--hx-accent);outline-offset:4px}.hx-shell [hidden]{display:none!important}
.hx-shell .app-container{min-width:0;padding:0;flex:1}.hx-shell .app-container>.container{max-width:1800px;width:100%;padding:var(--hx-space);gap:24px;margin:0 auto;min-width:0}
.hx-shell .main-header{background:var(--hx-surface);border-bottom:1px solid var(--hx-border);box-shadow:none;flex-shrink:0;z-index:100}
.hx-shell .header-container{max-width:none;padding:12px var(--hx-space);min-height:72px;gap:16px}.hx-shell .header-actions{gap:10px;min-width:0}
.hx-shell .card,.hx-shell .stat-card,.hx-shell .settings-card,.hx-shell .worker-card{background:var(--hx-surface);border:1px solid var(--hx-border);border-radius:var(--hx-radius);box-shadow:0 4px 24px #00000006;color:var(--hx-text)}
.hx-shell .card-header{background:transparent;border-bottom:1px solid var(--hx-border);padding:18px var(--hx-space)}.hx-shell .card-body{padding:var(--hx-space)}
.hx-settings-grid>.card{padding:0}.hx-settings-grid>.card>.card-header{margin:0}.hx-shell .card-fit-screen{background:var(--hx-surface);border:1px solid var(--hx-border);border-radius:var(--hx-radius)}
.hx-shell .error-details{background:var(--hx-raised);border-color:var(--hx-border);color:var(--hx-text)}.hx-shell .no-data{color:var(--hx-muted)}
.hx-shell .login-container{min-height:calc(100dvh - 160px);background:transparent}.hx-shell .card-login{max-width:460px;box-shadow:0 20px 70px #00000012;border-radius:var(--hx-radius)}
.hx-shell .file-upload-label{background:var(--hx-bg);border:1px dashed var(--hx-border);border-radius:var(--hx-radius);padding:32px 20px}.hx-shell .file-upload-label:hover{background:var(--hx-raised);border-color:var(--hx-accent)}
.hx-shell .file-upload-label i{color:var(--hx-accent)}.hx-shell #daily-upload-quota{font-size:12px}.hx-shell .table-wrapper{min-width:0;max-width:100%;overflow-x:auto}
.hx-shell h1,.hx-shell h2,.hx-shell h3{letter-spacing:-.035em;color:var(--hx-text)}.hx-shell h1{font-size:clamp(26px,3vw,38px);line-height:1.2}.hx-shell .card-title{letter-spacing:-.02em}
.hx-shell .btn{border-radius:var(--hx-radius);min-height:40px;font-weight:600;box-shadow:none;gap:8px;white-space:normal}.hx-shell .btn-primary,.hx-shell .btn-upload{background:var(--hx-accent);border-color:var(--hx-accent);color:var(--hx-on-accent)}
.hx-shell .btn-primary:hover,.hx-shell .btn-upload:hover{filter:brightness(.95);color:var(--hx-on-accent);background:var(--hx-accent)}.hx-shell .btn-outline{border-color:var(--hx-border);color:var(--hx-text);background:transparent}
.hx-shell .form-control,.hx-shell .form-select,.hx-shell select:not([size]),.hx-shell textarea{background-color:var(--hx-bg);color:var(--hx-text);border:1px solid var(--hx-border);border-radius:var(--hx-radius);max-width:100%;min-height:42px}
.hx-shell input::placeholder,.hx-shell textarea::placeholder{color:var(--hx-muted);opacity:1}.hx-shell label{color:var(--hx-text)}
.hx-shell table{color:var(--hx-text)}.hx-shell th{background:var(--hx-raised);color:var(--hx-muted);font-size:11px;letter-spacing:.065em;text-transform:uppercase}.hx-shell td,.hx-shell th{border-color:var(--hx-border)}
.hx-shell .table-responsive{overflow-x:auto;max-width:100%}.hx-shell .dropdown-menu,.hx-shell .user-dropdown-menu,.hx-shell .confirm-modal-box,.hx-shell .modal-content{background:var(--hx-surface);color:var(--hx-text);border:1px solid var(--hx-border);border-radius:var(--hx-radius);box-shadow:0 18px 70px #0003}
.hx-shell .dropdown-item{color:var(--hx-text)}.hx-shell .dropdown-item:hover{background:var(--hx-raised)}
.hx-sidebar{display:none}.hx-skip{position:fixed;top:-80px;left:20px;z-index:99999;background:var(--hx-accent);color:var(--hx-on-accent);padding:12px 20px}.hx-skip:focus{top:12px}
.hx-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:24px;font-weight:800;letter-spacing:-1px}.hx-brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;opacity:.7}.hx-brand-mark{width:36px;height:40px;display:grid;place-items:center;border:1px solid currentColor;border-radius:8px;color:var(--hx-accent);font-size:26px}
.hx-nav-caption{font-size:10px;letter-spacing:1.8px;opacity:.65;margin:30px 12px 12px}.hx-side-links{display:flex;flex-direction:column;gap:5px}.hx-side-links a,.hx-sidebar-footer a{color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--hx-radius);font-size:13px}.hx-side-links i{width:18px;text-align:center;opacity:.7}.hx-side-links a:hover{background:#ffffff0d}.hx-side-links a[aria-current=page]{background:color-mix(in srgb,var(--hx-sidebar-text) 12%,transparent);box-shadow:inset 3px 0 var(--hx-accent);font-weight:600}
.hx-sidebar-footer{margin-top:auto;padding-top:36px}.hx-sidebar-footer span{display:block;font-size:10px;opacity:.65;padding:20px 12px}.hx-sidebar-footer a{font-size:12px;padding:7px 12px}
.hx-appearance{position:relative}.hx-appearance summary{display:flex;gap:8px;align-items:center;cursor:pointer;padding:9px 12px;border:1px solid var(--hx-border);border-radius:var(--hx-radius);font-size:12px;list-style:none}.hx-appearance summary::-webkit-details-marker{display:none}.hx-appearance-panel{position:absolute;right:0;top:calc(100% + 12px);width:310px;max-width:calc(100vw - 24px);padding:22px;background:var(--hx-surface);border:1px solid var(--hx-border);border-radius:var(--hx-radius);box-shadow:0 16px 60px #0003;z-index:1200}.hx-appearance-panel p{font-size:12px;margin:6px 0 18px}.hx-appearance-panel fieldset{padding:0;margin:16px 0;border:0}.hx-appearance-panel legend{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.hx-segments,.hx-swatches{display:flex;gap:5px;flex-wrap:wrap}.hx-segments button,.hx-swatches button{flex:1;border:1px solid var(--hx-border);background:var(--hx-bg);color:var(--hx-text);padding:9px 7px;border-radius:5px;font-size:11px;cursor:pointer}.hx-appearance button[aria-pressed=true]{background:var(--hx-accent);color:var(--hx-on-accent);border-color:var(--hx-accent)}.hx-reset{background:none;border:0;color:var(--hx-text);text-decoration:underline;cursor:pointer}.hx-appearance button:disabled{opacity:.55;cursor:default}
.hx-page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:12px 0 8px}.hx-page-heading h1{margin:8px 0 12px}.hx-page-heading p{color:var(--hx-muted);max-width:650px;margin:0}.hx-eyebrow{color:var(--hx-accent);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.hx-status{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hx-border);border-radius:100px;padding:7px 12px;font-size:11px;white-space:nowrap}.hx-status:before{content:'';height:6px;width:6px;background:var(--hx-accent);border-radius:50%}
.hx-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hx-theme-card{border:1px solid var(--hx-border);background:var(--hx-surface);border-radius:var(--hx-radius);overflow:hidden;min-width:0}.hx-theme-card.is-active{outline:2px solid var(--hx-accent);outline-offset:3px}.hx-theme-info{padding:22px}.hx-theme-info h2{font-size:18px;margin:0 0 8px}.hx-theme-info p{color:var(--hx-muted);font-size:12px;min-height:58px}.hx-theme-actions{display:flex;gap:8px;flex-wrap:wrap}.hx-theme-actions .btn{font-size:12px}.hx-theme-actions form{margin:0}.hx-mini{height:190px;display:grid;grid-template-columns:22% 1fr;background:var(--mini-bg);color:var(--mini-text);padding:12px;gap:12px;border-bottom:1px solid var(--hx-border)}.hx-mini aside{background:var(--mini-sidebar);border-radius:4px;padding:15px 8px}.hx-mini aside b{display:block;background:var(--mini-accent);height:5px;width:65%;margin-bottom:18px}.hx-mini aside i{display:block;background:var(--mini-text);opacity:.2;height:4px;margin-bottom:14px}.hx-mini main{padding:10px 0}.hx-mini-title{height:7px;background:var(--mini-text);width:65%;margin-bottom:15px;opacity:.8}.hx-mini-row{display:flex;gap:7px;margin-bottom:12px}.hx-mini-row span{height:28px;background:var(--mini-surface);flex:1;border-radius:4px}.hx-mini-upload{background:var(--mini-surface);border-radius:5px;display:grid;place-items:center;height:74px;border:1px dashed var(--mini-accent);color:var(--mini-accent);font-size:22px}.hx-mini[data-style=minimal] aside{background:var(--mini-surface)}.hx-mini[data-style=console]{font-family:monospace}.hx-mini[data-style=technical] .hx-mini-upload{border-radius:14px}
.hx-settings-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.hx-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hx-field{display:flex;flex-direction:column;gap:7px}.hx-field label{font-size:12px;font-weight:600}.hx-field select,.hx-field input{width:100%;padding:10px}.hx-help{font-size:12px;color:var(--hx-muted)}.hx-form-actions{margin-top:24px;display:flex;gap:12px;align-items:center}.hx-preview-banner{padding:12px 18px;background:var(--hx-raised);border:1px solid var(--hx-accent);border-radius:var(--hx-radius);display:flex;justify-content:space-between;gap:12px;font-size:12px}.hx-preview-banner a{color:var(--hx-text);text-decoration:underline}.hx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hx-stat{padding:22px;border:1px solid var(--hx-border);border-radius:var(--hx-radius);background:var(--hx-surface)}.hx-stat strong{display:block;font-size:26px;letter-spacing:-1px}.hx-stat span{font-size:12px;color:var(--hx-muted)}.hx-demo-drop{border:1px dashed var(--hx-border);padding:40px 20px;text-align:center;border-radius:var(--hx-radius);background:var(--hx-bg);margin:22px 0}.hx-demo-drop i{display:block;color:var(--hx-accent);font-size:28px;margin-bottom:12px}
html[data-design=console] .hx-eyebrow,html[data-design=console] .hx-nav-caption,html[data-design=console] th{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}html[data-design=console] .card-header{border-left:2px solid var(--hx-accent)}
html[data-design=technical] .hx-page-heading{padding:24px;border:1px solid var(--hx-border);background:linear-gradient(115deg,var(--hx-surface),var(--hx-raised));border-radius:var(--hx-radius)}html[data-design=technical] .hx-brand-mark{background:var(--hx-accent);color:var(--hx-on-accent);border:0}
html[data-design=minimal] .card,html[data-design=minimal] .hx-theme-card{box-shadow:none}html[data-design=minimal] .hx-page-heading h1{font-weight:500}html[data-design=minimal] .hx-side-links a[aria-current=page]{box-shadow:none;background:color-mix(in srgb,var(--hx-sidebar-text) 9%,transparent)}
@media(min-width:1200px){.hx-shell{padding-left:224px}.hx-sidebar{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:224px;padding:30px 16px 10px;background:var(--hx-sidebar);color:var(--hx-sidebar-text);border-right:1px solid var(--hx-border);overflow-y:auto;z-index:110}.hx-shell .main-header .main-nav{display:none}.hx-shell .main-header .header-container{justify-content:space-between}.hx-shell .header-actions{margin-left:auto}.hx-shell .main-header .logo{font-size:18px}}
@media(max-width:1199px){.hx-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-settings-grid{grid-template-columns:1fr}.hx-shell .main-nav{display:none}.hx-shell .mobile-menu-toggle{display:flex!important}}
@media(max-width:767px){.hx-shell.fullscreen,.hx-shell.overflowscreen{height:auto;min-height:100dvh;overflow:auto}.hx-shell .app-container>.container{padding:16px;gap:18px}.hx-shell .header-container{padding:10px 14px;min-height:62px;gap:8px}.hx-shell .header-actions{gap:6px}.hx-appearance summary{padding:9px}.hx-appearance summary span{display:none}.hx-theme-grid,.hx-field-grid{grid-template-columns:1fr}.hx-page-heading{align-items:flex-start;flex-direction:column;gap:14px}.hx-page-heading h1{font-size:28px}.hx-stats{gap:8px}.hx-stat{padding:14px 10px}.hx-stat strong{font-size:22px}.hx-stat span{font-size:10px}.hx-shell .card-body{padding:16px}.hx-preview-banner{flex-direction:column}.hx-theme-info p{min-height:0}.hx-shell .confirm-modal-box{max-width:calc(100vw - 28px)}}
@media(max-width:767px){.hx-appearance-panel{position:fixed;top:68px;right:12px}.hx-shell .grid-cols-2{grid-template-columns:minmax(0,1fr)}.hx-shell .identity-layout{grid-template-columns:minmax(0,1fr)}.hx-shell .identity-sidebar{position:static}.hx-shell .identity-layout>.identity-sidebar .manage-nav-list{display:flex;overflow-x:auto;gap:8px}.hx-shell .identity-layout>.identity-sidebar .manage-nav-list li{flex-shrink:0}}
@media(max-width:380px){.hx-shell #themeToggle{display:none}.hx-shell .header-container .logo-text{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hx-shell *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Shared vehicle selectors: inset chevron, with room reserved for its label. */
body.hx-site .hx-menu-select { position:relative; min-width:0; color:var(--hx-text); }
body.hx-site .hx-menu-select::after {
    content:""; position:absolute; inset-inline-end:8px; top:50%;
    width:7px; height:7px; border-right:2px solid currentColor;
    border-bottom:2px solid currentColor; transform:translateY(-70%) rotate(45deg);
    pointer-events:none;
}
html body.hx-site .hx-menu-select > select {
    appearance:none; -webkit-appearance:none; background-image:none;
    width:100%; padding-inline-start:12px !important; padding-inline-end:42px !important; text-overflow:ellipsis;
}
body.hx-site .hx-menu-select:has(select:disabled)::after { opacity:.5; }
@media(forced-colors:active) {
    html body.hx-site .hx-menu-select > select { appearance:auto; }
    body.hx-site .hx-menu-select::after { display:none; }
}

body.hx-site .hx-row-selection-setting { margin-top:20px; margin-bottom:12px; }
body.hx-site .hx-row-selection-setting > label { display:flex; align-items:center; gap:8px; }
body.hx-site .hx-row-selection-setting input[type=checkbox] { flex:none; margin:0; }
body.hx-site .hx-row-selection-setting > .hx-help { display:block; margin-top:6px; }

.hx-custom-accent{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 18px;font-size:12px}.hx-custom-accent input[type=color]{width:112px;height:36px;padding:3px;border:1px solid var(--hx-border);border-radius:6px;background:var(--hx-surface);cursor:pointer}.hx-custom-accent input:disabled{opacity:.5;cursor:default}
