:root{--color-bg:#fbfbfd;--color-surface:#ffffff;--color-card:#ffffff;--color-border:#d2d2d7;--color-text:#1d1d1f;--color-muted:#6e6e73;--color-accent:#0071e3;--color-accent-dim:#005bb8;--color-accent-rgb:0,113,227;--color-accent-text:#ffffff;--color-accent-glow:rgba(0,113,227,.22);--color-accent-glow-sm:rgba(0,113,227,.14);--color-accent-glow-xs:rgba(0,113,227,.08);--color-accent-tint:rgba(0,113,227,.10);--color-secondary:#0071e3;--color-secondary-dim:#005bb8;--color-secondary-text:#ffffff;--color-secondary-glow:rgba(0,113,227,.22);--color-secondary-tint:rgba(0,113,227,.10);--color-danger:#d70015;--color-download:#0071e3;--color-success:#1a9c4f;--color-warning:#b8690a;--sidebar-width:240px;--topbar-height:56px;--radius:10px;--transition:0.15s ease;--background:var(--color-bg);--foreground:var(--color-text);--card-bg:var(--color-card);--card-foreground:var(--color-text);--border:var(--color-border);--input:var(--color-border);--ring:var(--color-accent);--muted:var(--color-surface);--muted-foreground:var(--color-muted);--color-surface-hover:#f5f5f7;--color-bg-deep:#f0f0f3;--color-input-border:#c7c7cd;--color-input-border-hover:#aeaeb4;--color-dropdown-bg:#ffffff;--color-scrollbar-track:#f0f0f3;--color-scrollbar-thumb:#c4c4cd;--color-scrollbar-thumb-hover:#aeaeb4;--color-placeholder:#86868b;--color-hover:rgba(0,0,0,.04);--color-active:rgba(0,0,0,.07);--destructive:var(--color-danger);--shadow-xs:0 1px 2px 0 rgba(0,0,0,.04);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05),0 1px 3px 0 rgba(0,0,0,.04);--shadow-md:0 2px 6px -1px rgba(0,0,0,.07),0 4px 12px -4px rgba(0,0,0,.08);--shadow-lg:0 10px 24px -8px rgba(0,0,0,.12),0 6px 12px -8px rgba(0,0,0,.10);--shadow-xl:0 24px 50px -20px rgba(0,0,0,.18),0 12px 24px -16px rgba(0,0,0,.12);--shadow-glow:0 0 0 1px var(--color-accent),0 0 0 4px var(--color-accent-glow);--ease-out-quad:cubic-bezier(.25,.46,.45,.94);--ease-out-expo:cubic-bezier(.16,1,.3,1);--transition-fast:120ms var(--ease-out-quad);--transition-base:180ms var(--ease-out-quad);--transition-slow:320ms var(--ease-out-expo)}.combobox{position:relative;display:inline-block;width:240px;max-width:100%;vertical-align:middle;font-family:'Inter',system-ui,-apple-system,sans-serif}.combobox.is-disabled{opacity:.5;pointer-events:none}.combobox-trigger{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:8px;width:100%;min-height:38px;padding:8px 12px!important;border-radius:8px!important;border:1px solid var(--color-input-border)!important;background:var(--color-surface)!important;color:var(--color-text)!important;font-size:13px!important;font-weight:500;font-family:inherit!important;text-align:left;cursor:pointer;outline:none;box-shadow:var(--shadow-sm);transition:border-color 150ms ease,box-shadow 150ms ease,background 150ms ease}.combobox-trigger:hover{border-color:var(--color-input-border-hover)!important;background:var(--color-surface-hover)!important}.combobox-trigger:focus-visible,.combobox-trigger.is-open{border-color:var(--color-accent)!important;box-shadow:0 0 0 3px var(--color-accent-glow),var(--shadow-xs)}.combobox-trigger .cb-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combobox-trigger .cb-placeholder{color:var(--color-placeholder);font-weight:400}.combobox-trigger .cb-chevron{flex-shrink:0;opacity:.65;font-size:13px;transition:transform 180ms ease}.combobox-trigger.is-open .cb-chevron{transform:rotate(180deg);opacity:1}.combobox-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;min-width:100%;width:max-content;max-width:360px;background:var(--color-dropdown-bg);border:1px solid var(--color-input-border);border-radius:10px;box-shadow:0 10px 38px -10px rgba(0,0,0,.16),0 10px 20px -15px rgba(0,0,0,.10),0 0 0 1px rgba(0,0,0,.04);overflow:hidden;opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top left;pointer-events:none;transition:opacity 140ms ease,transform 140ms cubic-bezier(.16,1,.3,1)}.combobox-panel.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.combobox-search-wrap{position:relative;padding:8px;border-bottom:1px solid var(--color-input-border);background:var(--color-surface)}.combobox-search{width:100%;height:34px;padding:0 12px 0 34px;background:var(--color-bg-deep);border:1px solid var(--color-input-border);border-radius:7px;color:var(--color-text);font-size:13px;font-family:inherit;outline:none;transition:border-color 120ms ease,box-shadow 120ms ease}.combobox-search::placeholder{color:var(--color-placeholder)}.combobox-search:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow-sm)}.combobox-search-icon{position:absolute;top:50%;left:19px;transform:translateY(-50%);color:var(--color-placeholder);pointer-events:none;font-size:13px}.combobox-list{max-height:320px;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}.combobox-list::-webkit-scrollbar{width:6px}.combobox-list::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:3px}.combobox-option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px!important;border-radius:6px;font-size:13px;color:var(--color-text)!important;cursor:pointer;text-decoration:none!important;user-select:none;transition:background 100ms ease,color 100ms ease;line-height:1.4}.combobox-option:hover{background:var(--color-surface-hover)!important;color:var(--color-text)!important}.combobox-option.is-active{background:var(--color-accent-glow-xs)!important;color:var(--color-text)!important}.combobox-option.is-selected{background:var(--color-accent-tint)!important;color:var(--color-accent)!important;font-weight:600}.combobox-option .cb-check{opacity:0;font-size:13px;color:var(--color-accent)}.combobox-option.is-selected .cb-check{opacity:1}.combobox-option .cb-count{font-size:11px;color:var(--color-placeholder);font-weight:500;margin-left:8px}.combobox-empty{padding:28px 18px;text-align:center;color:var(--color-placeholder);font-size:12px}.filter-toolbar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;margin-bottom:16px;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid color-mix(in srgb,var(--color-border) 60%,transparent)}.filter-toolbar .filter-search{flex:1;min-width:200px;max-width:280px;display:flex;gap:6px}.filter-toolbar .filter-meta{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-muted);white-space:nowrap}.vehicle-row{position:relative}.vehicle-row:nth-child(odd):not(.header-row){background:color-mix(in srgb,var(--color-surface) 92%,var(--color-bg) 8%)}.vehicle-row::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent 70%);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.vehicle-row:hover:not(.header-row)::before{opacity:1}.vehicle-row:not(.header-row):hover{transform:translateX(2px);transition:transform var(--transition-base)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:12px 4px;border-top:1px solid var(--color-border);flex-wrap:wrap}.pagination-info{font-size:12px;color:var(--color-muted)}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-btn{min-width:34px;height:34px;padding:0 10px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:all var(--transition-fast)}.pagination-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface))}.pagination-btn.is-active{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent);font-weight:700}.pagination-btn.is-disabled{opacity:.4;pointer-events:none}.pagination-ellipsis{color:var(--color-muted);padding:0 4px;font-size:14px}@keyframes page-fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-fade{animation:page-fade-in 280ms var(--ease-out-expo) both}*,*::before,*::after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Inter','Segoe UI',system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-dim)}hr{border-color:var(--color-border);margin:0.75rem 0}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track);border-left:1px solid var(--color-border)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border:2px solid var(--color-scrollbar-track);border-radius:6px;min-height:32px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background:var(--color-accent)}::-webkit-scrollbar-corner{background:var(--color-scrollbar-track)}html:not([data-no-scrollbar-glow]) ::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04)}.portal-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:1000;transition:transform var(--transition);overflow-y:auto;overflow-x:hidden}.sidebar.collapsed{transform:translateX(calc(-1 * var(--sidebar-width)))}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid var(--color-border);min-height:var(--topbar-height);text-decoration:none}.sidebar-logo-icon{width:32px;height:32px;background:var(--color-accent);border-radius:calc(var(--radius) - 2px);display:flex;align-items:center;justify-content:center;color:var(--color-accent-text);font-size:15px;font-weight:800;flex-shrink:0}.sidebar-logo-text{font-size:12px;font-weight:700;color:var(--color-text);letter-spacing:0.8px;line-height:1.2}.sidebar-logo-sub{font-size:10px;color:var(--color-muted);font-weight:400;letter-spacing:0}.sidebar-nav{flex:1;padding:8px 0}.sidebar-group-label{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--color-muted);padding:12px 16px 4px;margin-top:4px}.sidebar-link{display:flex;align-items:center;gap:9px;padding:7px 16px;color:var(--color-muted);font-size:13px;font-weight:500;border-radius:0;transition:background var(--transition),color var(--transition);position:relative;text-decoration:none}.sidebar-link:hover{background:var(--color-hover);color:var(--color-text)}.sidebar-link.active{background:var(--color-accent-tint);color:var(--color-accent)}.sidebar-link.active::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--color-accent);border-radius:0 2px 2px 0}.sidebar-link i{font-size:14px;width:16px;text-align:center;flex-shrink:0}.sidebar-badge{margin-left:auto;background:var(--color-accent);color:var(--color-accent-text);font-size:10px;font-weight:700;padding:1px 6px;border-radius:20px;min-width:18px;text-align:center}.sidebar-footer{border-top:1px solid var(--color-border);padding:12px}.sidebar-balance{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;font-size:12px;color:var(--color-muted)}.sidebar-balance-amount{font-size:14px;font-weight:700;color:var(--color-text)}.btn-add-balance{display:block;width:100%;padding:7px;background:var(--color-accent);color:var(--color-accent-text);font-size:12px;font-weight:600;border:none;border-radius:var(--radius);text-align:center;margin-top:6px;cursor:pointer;transition:opacity var(--transition);text-decoration:none}.btn-add-balance:hover{opacity:0.85;color:var(--color-accent-text)}.portal-main{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition)}.portal-main.full-width{margin-left:0}.topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:900}.topbar-toggle{background:none;border:none;color:var(--color-muted);font-size:18px;cursor:pointer;padding:4px 6px;border-radius:var(--radius);transition:color var(--transition);line-height:1}.topbar-toggle:hover{color:var(--color-text)}.topbar-title{font-size:14px;font-weight:600;color:var(--color-text);flex:1}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-icon-btn{background:none;border:1px solid var(--color-border);color:var(--color-muted);width:32px;height:32px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--transition),border-color var(--transition);font-size:14px;text-decoration:none;position:relative}.topbar-icon-btn:hover{color:var(--color-text);border-color:var(--color-muted)}.topbar-notif-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;background:var(--color-accent);border-radius:50%;border:1px solid var(--color-surface)}.topbar-user{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:var(--radius);border:1px solid var(--color-border);transition:border-color var(--transition),background var(--transition);text-decoration:none;color:var(--color-text)}.topbar-user:hover{border-color:var(--color-muted);background:var(--color-hover);color:var(--color-text)}.topbar-avatar{width:26px;height:26px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-accent-text);font-size:11px;font-weight:700;flex-shrink:0}.topbar-user-name{font-size:13px;font-weight:500;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-menu{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:4px;min-width:160px;box-shadow:var(--shadow-lg)}.dropdown-item{color:var(--color-text);font-size:13px;padding:6px 10px;border-radius:calc(var(--radius) - 2px);transition:background var(--transition);display:flex;align-items:center;gap:8px}.dropdown-item:hover{background:var(--color-hover);color:var(--color-text)}.dropdown-item i{width:14px;font-size:13px;color:var(--color-muted)}.dropdown-divider{border-color:var(--color-border);margin:3px 0}.page-content{padding:24px;flex:1}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px}.page-header h1{font-size:20px;font-weight:700;color:var(--color-text);margin:0;letter-spacing:-0.3px}.page-header p{color:var(--color-muted);font-size:13px;margin:3px 0 0}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text)}.card-header{background:transparent;border-bottom:1px solid var(--color-border);padding:14px 16px;font-size:14px;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px;letter-spacing:-0.1px}.card-header i{color:var(--color-accent);font-size:15px}.card-body{padding:16px}.stat-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;position:relative;overflow:hidden}.stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--color-accent);opacity:0.5}.stat-card-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.6px;color:var(--color-muted);margin-bottom:8px}.stat-card-value{font-size:26px;font-weight:700;color:var(--color-text);line-height:1;margin-bottom:4px;letter-spacing:-0.5px}.stat-card-sub{font-size:12px;color:var(--color-muted)}.stat-card-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:32px;color:var(--color-accent);opacity:0.12}.stat-card--highlight{border-color:color-mix(in srgb,var(--color-accent) 35%,transparent);background:var(--color-accent-glow-xs)}.stat-card--highlight::after{opacity:1}.stat-card--highlight .stat-card-value{color:var(--color-accent)}.stat-card--highlight .stat-card-label{color:var(--color-accent);opacity:.8}.table{color:var(--color-text);margin-bottom:0}.table>:not(caption)>*>*{background-color:transparent;color:var(--color-text);border-bottom-color:var(--color-border);padding:10px 14px}.table thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:8px 14px}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:var(--color-hover)}.table-container{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.table-toolbar{padding:12px 16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{font-size:13px;font-weight:500;border-radius:var(--radius);padding:7px 14px;transition:all var(--transition);border:1px solid transparent;display:inline-flex;align-items:center;gap:6px;line-height:1.4}.btn-accent{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent);font-weight:600}.btn-accent:hover{opacity:0.88;color:var(--color-accent-text);border-color:var(--color-accent)}.btn-download{background:var(--color-download);color:#fff;border-color:var(--color-download);font-size:12px;padding:5px 12px;font-weight:600}.btn-download:hover{opacity:0.85;color:#fff}.btn-outline-muted{background:transparent;color:var(--color-muted);border-color:var(--color-border)}.btn-outline-muted:hover{background:rgba(0,0,0,0.04);color:var(--color-text);border-color:var(--color-muted)}.btn-ghost{background:transparent;border:none;color:var(--color-muted);padding:5px 8px}.btn-ghost:hover{background:rgba(0,0,0,0.04);color:var(--color-text)}.btn-sm{padding:4px 10px;font-size:12px}.btn-xs{padding:2px 8px;font-size:11px}.badge-status{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;letter-spacing:0.2px}.badge-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.badge-pending{background:rgba(245,158,11,0.12);color:var(--color-warning)}.badge-in_progress{background:var(--color-accent-glow-xs);color:var(--color-accent)}.badge-completed{background:rgba(34,197,94,0.12);color:var(--color-success)}.badge-revision{background:rgba(239,68,68,0.12);color:var(--color-danger)}.badge-cancelled{background:rgba(113,113,122,0.15);color:var(--color-muted)}.badge-downloaded{background:var(--color-accent-glow-xs);color:var(--color-download)}.form-control,.form-select{background-color:var(--color-surface)!important;border:1px solid var(--color-border)!important;color:var(--color-text)!important;border-radius:var(--radius);font-size:14px;padding:8px 12px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-control:focus,.form-select:focus{background-color:var(--color-surface)!important;border-color:var(--color-accent)!important;color:var(--color-text)!important;box-shadow:0 0 0 2px var(--color-accent-glow-sm)!important;outline:none}.form-control::placeholder{color:var(--color-placeholder)}.form-select{appearance:auto}.form-select option{background:var(--color-card);color:var(--color-text)}.form-label{font-size:13px;font-weight:500;color:var(--color-text);margin-bottom:6px;display:block}.form-check-input{background-color:transparent;border-color:var(--color-border);border-radius:4px}.form-check-input:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.form-check-label{font-size:13px;color:var(--color-text)}.invalid-feedback{font-size:12px;color:var(--color-danger)}.form-control.is-invalid{border-color:var(--color-danger)}.form-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:16px}.form-section-header{padding:12px 16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--color-text)}.form-section-header .step-num{width:20px;height:20px;background:var(--color-accent);color:var(--color-accent-text);border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.form-section-body{padding:16px}.file-drop-zone{border:1px dashed var(--color-border);border-radius:var(--radius);padding:32px;text-align:center;cursor:pointer;transition:border-color var(--transition),background var(--transition);position:relative}.file-drop-zone:hover,.file-drop-zone.drag-over{border-color:var(--color-accent);background:var(--color-accent-glow-xs)}.file-drop-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.file-drop-icon{font-size:32px;color:var(--color-muted);margin-bottom:8px}.file-drop-text{color:var(--color-muted);font-size:13px}.file-detected-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(34,197,94,0.12);color:var(--color-success);border-radius:20px;font-size:12px;font-weight:500;margin-top:8px}.portal-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:16px}.portal-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition),border-color var(--transition);background:none;border-top:none;border-left:none;border-right:none}.portal-tab:hover{color:var(--color-text)}.portal-tab.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.options-group{margin-bottom:16px}.options-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;color:var(--color-muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--color-border)}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}.option-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),background var(--transition);user-select:none}.option-item:hover{border-color:var(--color-accent);background:var(--color-hover)}.option-item.selected{border-color:var(--color-accent);background:var(--color-accent-tint)}.option-item.locked{opacity:0.35;cursor:not-allowed;pointer-events:none}.option-item input[type="checkbox"],.option-item input[type="radio"]{accent-color:var(--color-accent);width:14px;height:14px;flex-shrink:0}.option-item-name{font-size:12px;font-weight:500;flex:1}.option-item-price{font-size:11px;font-weight:600;color:var(--color-accent);white-space:nowrap}.selected-options-sidebar{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);position:sticky;top:calc(var(--topbar-height) + 16px)}.selected-options-sidebar .card-header{justify-content:space-between}.selected-item-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;border-bottom:1px solid var(--color-border);gap:8px}.selected-item-row:last-child{border-bottom:none}.selected-item-name{color:var(--color-text)}.selected-item-price{color:var(--color-accent);font-weight:600;white-space:nowrap;flex-shrink:0}.total-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0 4px;font-weight:700;font-size:15px;margin-top:4px;border-top:1px solid var(--color-border)}.total-amount{color:var(--color-accent)}.submit-bar{position:fixed;bottom:0;left:var(--sidebar-width);right:0;background:var(--color-surface);border-top:1px solid var(--color-border);padding:12px 24px;display:flex;align-items:center;gap:16px;z-index:800;transition:left var(--transition)}.submit-bar.full-width{left:0}.submit-bar-indicators{display:flex;gap:12px;flex:1;flex-wrap:wrap}.submit-indicator{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--color-muted)}.submit-indicator.done{color:var(--color-success)}.submit-indicator.done i::before{content:"\f26b"}.submit-bar-total{font-size:15px;font-weight:700;color:var(--color-text);white-space:nowrap}.submit-bar-total span{color:var(--color-accent)}.progress-stepper{display:flex;align-items:flex-start;gap:0;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:80px;position:relative}.step:not(:last-child)::after{content:'';position:absolute;top:13px;left:calc(50% + 14px);right:calc(-50% + 14px);height:1px;background:var(--color-border)}.step.done:not(:last-child)::after,.step.active:not(:last-child)::after{background:var(--color-accent)}.step-circle{width:26px;height:26px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--color-muted);z-index:1;position:relative;transition:all var(--transition)}.step.done .step-circle{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.step.active .step-circle{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.step-label{font-size:11px;font-weight:500;color:var(--color-muted);margin-top:6px;text-align:center;white-space:nowrap}.step.active .step-label{color:var(--color-accent)}.step.done .step-label{color:var(--color-text)}.alert{border-radius:var(--radius);font-size:13px;padding:10px 14px;border-width:1px;border-style:solid}.alert-success{background:rgba(34,197,94,0.08);border-color:rgba(34,197,94,0.2);color:var(--color-success)}.alert-warning{background:rgba(245,158,11,0.08);border-color:rgba(245,158,11,0.2);color:var(--color-warning)}.alert-danger{background:rgba(239,68,68,0.08);border-color:rgba(239,68,68,0.2);color:var(--color-danger)}.alert-error{background:rgba(239,68,68,0.08);border-color:rgba(239,68,68,0.2);color:var(--color-danger)}.alert-info{background:var(--color-accent-glow-xs);border-color:var(--color-accent-glow-sm);color:var(--color-accent)}.empty-state{text-align:center;padding:48px 24px}.empty-state-icon{font-size:40px;color:var(--color-border);margin-bottom:12px}.empty-state h3{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:4px}.empty-state p{color:var(--color-muted);font-size:13px;margin-bottom:16px}.low-balance-banner{background:rgba(245,158,11,0.07);border:1px solid rgba(245,158,11,0.2);border-radius:var(--radius);padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-warning);margin-bottom:16px}.loyalty-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.loyalty-tiers{display:flex;gap:8px;margin:12px 0}.loyalty-tier{flex:1;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px;text-align:center;font-size:11px}.loyalty-tier.achieved{border-color:var(--color-accent);background:var(--color-accent-tint)}.loyalty-tier-name{font-weight:600;color:var(--color-text)}.loyalty-tier-req{color:var(--color-muted);margin-top:2px}.loyalty-tier-disc{color:var(--color-accent);font-weight:600;font-size:13px;margin-top:4px}.loyalty-progress-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.loyalty-progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width 0.5s ease}.message-thread{display:flex;flex-direction:column;gap:10px;padding:12px;max-height:420px;overflow-y:auto}.message-bubble{max-width:72%;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.5}.message-bubble.from-dealer{background:var(--color-accent);color:var(--color-accent-text);border:1px solid var(--color-accent);align-self:flex-end;border-bottom-right-radius:3px}.message-bubble.from-tuner{background:var(--color-surface);border:1px solid var(--color-border);align-self:flex-start;border-bottom-left-radius:3px}.message-meta{font-size:10px;color:var(--color-muted);margin-top:3px}.activity-log{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;gap:10px;padding:8px 0;border-left:1px solid var(--color-border);padding-left:14px;margin-left:8px;position:relative;font-size:12px}.activity-item::before{content:'';position:absolute;left:-4px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--color-border)}.activity-item:first-child::before{background:var(--color-accent)}.activity-time{color:var(--color-muted);white-space:nowrap;min-width:90px}.activity-desc{color:var(--color-text)}.search-input-wrap{position:relative}.search-input-wrap i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-muted);font-size:13px}.search-input-wrap .form-control{padding-left:32px}.pagination .page-link{background:transparent;border-color:var(--color-border);color:var(--color-muted);font-size:13px}.pagination .page-link:hover{background:var(--color-hover);color:var(--color-text);border-color:var(--color-border)}.pagination .page-item.active .page-link{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.pagination .page-item.disabled .page-link{background:transparent;color:var(--color-muted);opacity:0.4}.public-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.public-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 24px;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between}.public-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-text)}.public-nav-brand .brand-icon{width:28px;height:28px;background:var(--color-accent);border-radius:calc(var(--radius) - 2px);display:flex;align-items:center;justify-content:center;color:var(--color-accent-text);font-weight:800;font-size:13px}.auth-card{width:100%;max-width:420px;margin:0 auto;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}.auth-card h2{font-size:20px;font-weight:700;color:var(--color-text);margin-bottom:4px;letter-spacing:-0.3px}.auth-card .subtitle{color:var(--color-muted);font-size:13px;margin-bottom:20px}.text-accent{color:var(--color-accent)!important}.text-muted{color:var(--color-muted)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.text-danger{color:var(--color-danger)!important}.text-download{color:var(--color-download)!important}.bg-card{background:var(--color-card)!important}.bg-surface{background:var(--color-surface)!important}.border-accent{border-color:var(--color-accent)!important}.rounded-portal{border-radius:var(--radius)}@media (max-width:768px){.sidebar{transform:translateX(calc(-1 * var(--sidebar-width)))}.sidebar.open{transform:translateX(0)}.portal-main{margin-left:0}.submit-bar{left:0}.page-content{padding:16px}.options-grid{grid-template-columns:1fr 1fr}}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:999}.sidebar-overlay.show{display:block}.ts-wrapper{width:100%}.ts-control{background-color:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius)!important;color:var(--color-text)!important;font-size:14px!important;padding:7px 12px!important;min-height:38px!important;box-shadow:none!important;cursor:text}.ts-control input{color:var(--color-text)!important;background:transparent!important}.ts-control input::placeholder{color:var(--color-muted)!important}.ts-wrapper.focus .ts-control{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px var(--color-accent-glow-sm)!important}.ts-dropdown{background:var(--color-card)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-lg)!important;color:var(--color-text)!important;margin-top:3px!important;z-index:2000!important}.ts-dropdown .option{padding:7px 12px!important;font-size:13px!important;color:var(--color-text)!important;cursor:pointer}.ts-dropdown .option:hover,.ts-dropdown .option.active{background:var(--color-hover)!important;color:var(--color-text)!important}.ts-dropdown .option.selected{background:var(--color-accent-tint)!important;color:var(--color-accent)!important}.ts-dropdown .create{color:var(--color-accent)!important;padding:7px 12px!important;font-size:13px!important}.ts-dropdown .no-results{color:var(--color-muted)!important;padding:7px 12px!important;font-size:13px!important}.ts-control .item{color:var(--color-text)!important}.modal-content{background:var(--color-card);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius)}.modal-header{border-bottom-color:var(--color-border);padding:14px 16px}.modal-footer{border-top-color:var(--color-border);padding:10px 16px}.btn-close{filter:invert(1) brightness(0.5)}.btn-close:hover{filter:invert(1) brightness(0.9)}.nav-tabs{border-bottom-color:var(--color-border)}.nav-tabs .nav-link{color:var(--color-muted);border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:13px;font-weight:500;background:none;border-radius:0}.nav-tabs .nav-link:hover{color:var(--color-text)}.nav-tabs .nav-link.active{background:none;color:var(--color-text);border-bottom-color:var(--color-accent)}.btn-secondary,.btn.btn-secondary{background:var(--color-secondary)!important;color:var(--color-secondary-text)!important;border:1px solid var(--color-secondary)!important;font-weight:700;transition:background 140ms ease,border-color 140ms ease,box-shadow 140ms ease}.btn-secondary:hover,.btn.btn-secondary:hover{background:var(--color-secondary-dim)!important;border-color:var(--color-secondary-dim)!important;color:var(--color-secondary-text)!important}.btn-secondary:focus,.btn.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px var(--color-secondary-glow)!important}.btn-outline-secondary{background:transparent!important;color:var(--color-secondary)!important;border:1px solid var(--color-secondary)!important}.btn-outline-secondary:hover{background:var(--color-secondary-tint)!important;color:var(--color-secondary)!important}.combobox-trigger.is-open{border-color:var(--color-secondary)!important;box-shadow:0 0 0 3px var(--color-secondary-glow),var(--shadow-xs)!important}.combobox-trigger.is-open .cb-chevron{color:var(--color-secondary);opacity:1}.combobox-search:focus{border-color:var(--color-secondary)!important;box-shadow:0 0 0 2px var(--color-secondary-glow)!important}.combobox-option:hover,.combobox-option.is-active{background:var(--color-secondary-tint)!important;color:var(--color-text)!important}.combobox-option.is-selected{background:var(--color-secondary-tint)!important;color:var(--color-secondary)!important;font-weight:600}.combobox-option .cb-check{color:var(--color-secondary)}.make-pill.active,.stage-btn.active,.pill.is-active{background:var(--color-secondary-tint)!important;border-color:var(--color-secondary)!important;color:var(--color-secondary)!important}.pagination-btn.is-active{background:var(--color-secondary)!important;color:var(--color-secondary-text)!important;border-color:var(--color-secondary)!important}.pagination-btn:hover{border-color:var(--color-secondary)!important;color:var(--color-secondary)!important;background:var(--color-secondary-tint)!important}.notif-dot,.badge-notification{background:var(--color-secondary);border-radius:50%;display:inline-block;width:10px;height:10px;box-shadow:0 0 0 3px var(--color-secondary-glow);animation:notif-pulse 1.8s ease-in-out infinite}@keyframes notif-pulse{0%,100%{box-shadow:0 0 0 3px var(--color-secondary-glow)}50%{box-shadow:0 0 0 6px rgba(160,214,52,.06)}}.tune-link.has-results,.download-icon,a[href$="/download/"] i.bi-download{color:var(--color-secondary)!important}.tune-link.has-results:hover{background:var(--color-secondary-tint)!important;border-color:var(--color-secondary)!important;color:var(--color-secondary)!important}.sidebar-link:hover{background:var(--color-secondary-tint);color:var(--color-secondary)}.sidebar-link.active{background:var(--color-secondary-tint)!important;color:var(--color-secondary)!important;border-left:2px solid var(--color-secondary)}nav a:hover,.navbar a:hover{text-decoration:none}a.text-secondary,a.link-interactive{color:var(--color-secondary)!important}a:hover.link-interactive{color:var(--color-secondary-dim)!important}.form-control:focus,input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="search"]:focus,textarea:focus,select:focus{border-color:var(--color-secondary)!important;box-shadow:0 0 0 3px var(--color-secondary-glow)!important;outline:none}input[type="checkbox"],input[type="radio"]{accent-color:var(--color-secondary)}::-webkit-scrollbar-thumb:active{background:var(--color-secondary)!important}.sidebar-group-label{color:var(--sidebar-label,#6e6e73)!important;font-weight:700!important;font-size:11px!important;letter-spacing:0.8px!important}.sidebar-link{color:var(--sidebar-link,#424245)!important;font-weight:500!important;letter-spacing:0.15px;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;text-rendering:geometricPrecision}.sidebar-link:hover{color:var(--color-secondary)!important;background:var(--color-secondary-tint)!important}.sidebar-link.active{color:var(--color-secondary)!important;background:var(--color-secondary-tint)!important}.sidebar-link-logout,.sidebar-link.sidebar-link-logout{color:var(--sidebar-logout,#d70015)!important}.sidebar-link-logout:hover{color:#b3000f!important;background:rgba(215,0,21,0.08)!important}@keyframes topbar-highlight-cycle{0%{background-position:0% 50%}100%{background-position:200% 50%}}.topbar.is-live-highlight{position:relative;isolation:isolate}.topbar.is-live-highlight::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:4px;background:linear-gradient(90deg,#ff0040,#ff7700,#ffeb00,#39ff14,#00f0ff,#0080ff,#a000ff,#ff0080,#ff0040,#ff7700,#ffeb00,#39ff14,#00f0ff,#0080ff,#a000ff,#ff0080);background-size:200% 100%;animation:topbar-highlight-cycle var(--topbar-highlight-speed,6s) linear infinite;box-shadow:0 0 14px rgba(255,255,255,.18);z-index:2}.promo-banner{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:10px;margin-bottom:18px;border:1px solid var(--color-border);background:var(--color-surface);position:relative;font-size:13.5px}.promo-banner-content{flex:1;min-width:0;line-height:1.5}.promo-banner-title{font-weight:800;margin-right:6px}.promo-banner-cta{flex-shrink:0;padding:8px 18px;border-radius:7px;background:var(--color-accent);color:var(--color-accent-text)!important;font-weight:700;font-size:13px;text-decoration:none!important;border:1px solid var(--color-accent);transition:background .12s ease,transform .12s ease;white-space:nowrap}.promo-banner-cta:hover{background:var(--color-accent-dim);transform:translateY(-1px)}.promo-banner-close{flex-shrink:0;background:transparent;border:none;color:inherit;opacity:.65;font-size:18px;cursor:pointer;padding:0 4px}.promo-banner-close:hover{opacity:1}.promo-banner.tone-info,.promo-banner.tone-success,.promo-banner.tone-warning,.promo-banner.tone-danger{color:#0a0a0a!important;border-width:2px;font-weight:600}.promo-banner.tone-info{background:#00f0ff;border-color:#00b8c8;box-shadow:0 0 24px rgba(0,240,255,.45),inset 0 0 0 1px rgba(255,255,255,.30)}.promo-banner.tone-success{background:#39ff14;border-color:#1ec500;box-shadow:0 0 24px rgba(57,255,20,.45),inset 0 0 0 1px rgba(255,255,255,.30)}.promo-banner.tone-warning{background:#ffeb00;border-color:#d4c100;box-shadow:0 0 24px rgba(255,235,0,.45),inset 0 0 0 1px rgba(255,255,255,.30)}.promo-banner.tone-danger{background:#ff0040;border-color:#b30030;box-shadow:0 0 24px rgba(255,0,64,.45),inset 0 0 0 1px rgba(255,255,255,.30);color:#fff!important}.promo-banner.tone-info .promo-banner-cta,.promo-banner.tone-success .promo-banner-cta,.promo-banner.tone-warning .promo-banner-cta{background:rgba(0,0,0,.20);color:#0a0a0a!important;border-color:rgba(0,0,0,.22)}.promo-banner.tone-danger .promo-banner-cta{background:rgba(0,0,0,.30);color:#fff!important;border-color:rgba(255,255,255,.25)}.promo-banner.tone-info .promo-banner-close,.promo-banner.tone-success .promo-banner-close,.promo-banner.tone-warning .promo-banner-close{color:#0a0a0a}@keyframes rainbow-cycle{0%{background-position:0% 50%}100%{background-position:100% 50%}}.promo-banner.tone-promo{background:linear-gradient(90deg,#ff0040,#ff7700,#ffeb00,#39ff14,#00f0ff,#0080ff,#a000ff,#ff0080,#ff0040,#ff7700,#ffeb00,#39ff14,#00f0ff,#0080ff,#a000ff,#ff0080)!important;background-size:200% 100%!important;animation:rainbow-cycle 10s linear infinite;border:2px solid rgba(255,255,255,.30);color:#ffffff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.55);box-shadow:0 0 32px rgba(255,80,200,.35),inset 0 0 0 1px rgba(255,255,255,.18)}.promo-banner.tone-promo .promo-banner-cta{background:rgba(0,0,0,.30);color:#fff!important;border-color:rgba(255,255,255,.40);text-shadow:0 1px 2px rgba(0,0,0,.55)}.promo-banner.tone-promo .promo-banner-close{color:#fff}@keyframes police-red{0%,49.9%{opacity:1;box-shadow:0 0 80px 12px #ff0010 inset}50%,100%{opacity:0.18;box-shadow:0 0 0 0 #ff0010 inset}}@keyframes police-blue{0%,49.9%{opacity:0.18;box-shadow:0 0 0 0 #0040ff inset}50%,100%{opacity:1;box-shadow:0 0 80px 12px #0040ff inset}}.promo-banner.tone-police{background:#0a0014!important;border:2px solid rgba(255,255,255,.30)!important;color:#ffffff!important;font-weight:800;text-shadow:0 0 4px #fff,0 0 8px rgba(255,255,255,.6);position:relative;overflow:hidden;z-index:0;letter-spacing:0.2px}.promo-banner.tone-police::before,.promo-banner.tone-police::after{content:"";position:absolute;top:0;bottom:0;width:55%;pointer-events:none;z-index:-1}.promo-banner.tone-police::before{left:0;background:radial-gradient(ellipse at left center,#ff0010 0%,#ff0010 22%,rgba(255,0,16,0.55) 45%,transparent 75%);animation:police-red 0.55s steps(1,end) infinite}.promo-banner.tone-police::after{right:0;background:radial-gradient(ellipse at right center,#0040ff 0%,#0040ff 22%,rgba(0,64,255,0.55) 45%,transparent 75%);animation:police-blue 0.55s steps(1,end) infinite}.promo-banner.tone-police .promo-banner-content,.promo-banner.tone-police .promo-banner-cta,.promo-banner.tone-police .promo-banner-close{position:relative;z-index:1}.promo-banner.tone-police .promo-banner-cta{background:rgba(0,0,0,.55);color:#fff!important;border-color:#fff;text-shadow:none;font-weight:700}.promo-banner.tone-police .promo-banner-close{color:#fff}.sidebar{background:var(--sidebar-bg,#ffffff)!important;border-right:1px solid var(--color-border)!important}.sidebar-logo{border-bottom:1px solid var(--color-border)!important}.sidebar-logo-text{color:var(--sidebar-logo-text,#1d1d1f)!important}.sidebar-logo-sub{color:var(--sidebar-logo-sub,#6e6e73)!important}.sidebar-link:hover{background:var(--color-hover)!important;color:var(--color-text)!important}.sidebar-link.active{background:var(--color-accent-tint)!important;color:var(--color-accent)!important}.sidebar-link.active::before{background:var(--color-accent)!important}.sidebar-link-logout:hover{background:color-mix(in srgb,var(--sidebar-logout,#d70015) 9%,transparent)!important;color:var(--sidebar-logout,#d70015)!important}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:var(--color-surface);border-left:1px solid var(--color-border)}.sidebar::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border:2px solid var(--color-surface);border-radius:5px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}.sidebar .account-info,.sidebar .dealer-badge{background:var(--color-surface-hover);border:1px solid var(--color-border);color:var(--color-text)}