@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=DM+Mono:wght@300;400;500&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0;touch-action:manipulation;-ms-touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.selectable-text,[contenteditable=true],input,option,select,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}:root{--bg:#f0f4f8;--s1:#ffffff;--s2:#f5f8fb;--s3:#eaf0f6;--b1:#dde4ec;--b2:#c8d3df;--b3:#b0bfcc;--tx:#0f1923;--tx2:#4a6070;--tx3:#7a90a0;--acc:#0099cc;--acc2:#e85a20;--acc3:#00a855;--acc4:#8040e0;--warn:#cc8800;--danger:#e03040;--danger-hover:#c02030;--r-retail:#0099cc;--r-eng:#00a855;--r-sales:#e85a20;--shadow:0 2px 6px rgba(0,0,0,0.1);--shadow-lg:0 8px 32px rgba(0,0,0,0.14);--sidebar-w:200px;--topbar-h:50px;--status-pending:#cc8800;--status-progress:#0099cc;--status-repairing:#8040e0;--status-hold:#d97706;--status-returning:#db2777;--status-done:#00a855;--status-paid:#0284c7;--status-closed:#e03040}.app-icon{flex:0 0 auto;vertical-align:middle}.icon-text{display:inline-flex;align-items:center;gap:.45rem;min-width:0}[data-theme=dark]{--bg:#080c10;--s1:#0e1318;--s2:#151b22;--s3:#1c242d;--b1:#1f2933;--b2:#2a3441;--b3:#364554;--tx:#e8eef4;--tx2:#8899aa;--tx3:#4d6070;--acc:#00d4ff;--acc2:#ff6b35;--acc3:#00e87a;--acc4:#b06bff;--warn:#ffb300;--danger:#ff4757;--r-retail:#00d4ff;--r-eng:#00e87a;--r-sales:#ff6b35;--shadow:0 2px 12px rgba(0,0,0,0.45);--shadow-lg:0 8px 32px rgba(0,0,0,0.55);--status-pending:#ffb300;--status-progress:#00d4ff;--status-repairing:#b06bff;--status-hold:#fb923c;--status-returning:#f472b6;--status-done:#00e87a;--status-paid:#38bdf8;--status-closed:#ff4757}body{font-family:Plus Jakarta Sans,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;font-size:13px;transition:background .25s,color .25s}.theme-switching,.theme-switching *,.theme-switching :after,.theme-switching :before{transition:none!important}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:var(--s2)}::-webkit-scrollbar-thumb{background:var(--b3);border-radius:2px}.theme-toggle{display:flex;align-items:center;gap:.4rem;padding:.28rem .6rem;background:var(--s2);border:1px solid var(--b2);border-radius:20px;cursor:pointer;font-size:.68rem;font-weight:600;color:var(--tx2);font-family:Plus Jakarta Sans,sans-serif;transition:all .2s;user-select:none}.theme-toggle:hover{border-color:var(--b3);color:var(--tx)}.toggle-track{width:28px;height:16px;border-radius:8px;background:var(--b2);position:relative;transition:background .25s;flex-shrink:0}[data-theme=light] .toggle-track{background:var(--acc)}.toggle-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .25s;box-shadow:0 1px 4px rgba(0,0,0,.25)}[data-theme=light] .toggle-thumb{transform:translateX(12px)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;overflow-x:hidden;overflow-y:auto;padding:1rem;animation:contentFadeIn .4s ease-out forwards}.login-bg-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--b1) 1px,transparent 1px),linear-gradient(90deg,var(--b1) 1px,transparent 1px);background-size:40px 40px;opacity:.4}.login-theme-toggle{position:absolute;top:1.5rem;right:1.5rem;z-index:10}.login-card{background:var(--s1);border:1px solid var(--b2);border-radius:12px;padding:2rem;width:100%;max-width:400px;position:relative;z-index:1;box-shadow:var(--shadow-lg)}.login-logo{font-family:Plus Jakarta Sans,sans-serif;font-size:1.7rem;font-weight:800;letter-spacing:-.04em;margin-bottom:.2rem;text-align:center}.login-logo span{color:var(--acc)}.login-sub{font-size:.65rem;color:var(--tx3);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem;text-align:center}.home-content{position:relative;z-index:1;width:100%;max-width:480px;padding:1rem}.home-brand{text-align:center;margin-bottom:2rem}.home-brand .login-sub{margin:.25rem 0 0;letter-spacing:.08em}.home-intro,.portal-instruction{color:var(--tx3);font-size:.78rem;line-height:1.6;text-align:center}.home-intro{margin-top:.7rem}.portal-instruction{margin-bottom:.75rem}.portal-description{font-size:.68rem;color:var(--tx3);line-height:1.4}.portal-sign-in{margin-top:.5rem;padding:.3rem .75rem;font-size:.72rem;border-radius:6px;pointer-events:none;font-weight:600}.public-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;font-size:.75rem}.public-info-brand,.public-links a{color:var(--tx2);text-decoration:none}.public-info-brand:hover,.public-links a:hover{color:var(--acc);text-decoration:underline}.public-info{min-height:100vh;width:min(100% - 2rem,760px);margin:0 auto;padding:2rem 0;display:flex;flex-direction:column}.public-info-brand{font-size:1rem;font-weight:700}.public-info-content{flex:1;padding:4rem 0;line-height:1.7}.public-info-content h1{font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.2;margin-bottom:1.25rem}.public-info-content p+p{margin-top:1rem}.login-mode-toggle{display:flex;margin-bottom:1.2rem;background:var(--s2);border-radius:8px;padding:3px;border:1px solid var(--b1);gap:0}.login-mode-btn{flex:1;padding:.45rem 0;font-size:.8rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;background:transparent;color:var(--tx3);transition:all .15s;font-family:Plus Jakarta Sans,sans-serif}.login-mode-btn.active{background:var(--s1);color:var(--tx);box-shadow:0 1px 4px rgba(0,0,0,.08)}.login-tabs{display:flex;margin-bottom:1.25rem;background:var(--bg);border-radius:8px;padding:3px;border:1px solid var(--b1)}.login-tab{flex:1;padding:.4rem .3rem;border:none;background:none;border-radius:5px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:var(--tx3);font-family:Plus Jakarta Sans,sans-serif;transition:all .2s}.login-tab.active{background:var(--s1);color:var(--tx);box-shadow:var(--shadow)}.login-tab.retail.active{color:var(--r-retail)}.login-tab.engineer.active{color:var(--r-eng)}.login-tab.sales.active{color:var(--r-sales)}.login-hint{background:var(--s2);border:1px solid var(--b1);border-radius:6px;padding:.6rem .75rem;margin-bottom:.85rem;font-size:.72rem;color:var(--tx2);cursor:pointer;transition:background .2s}.login-hint:hover{background:var(--s3)}.login-hint code{color:var(--acc);font-family:DM Mono,monospace}.login-role-desc{font-size:.72rem;color:var(--tx3);background:var(--s2);border:1px solid var(--b1);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem;line-height:1.5}.login-role-desc strong{color:var(--tx)}.login-username-preview{display:block;font-size:.68rem;color:var(--tx3);margin-top:.2rem}.login-username-preview strong{color:var(--tx)}.login-error{background:rgba(224,48,64,.08);border:1px solid rgba(224,48,64,.25);border-radius:6px;color:var(--danger)}.login-error,.login-success{padding:.5rem .75rem;font-size:.75rem;margin-bottom:.5rem}.login-success{background:rgba(0,168,85,.08);border:1px solid rgba(0,168,85,.25);border-radius:6px;color:var(--acc3)}.login-switch{text-align:center;margin-top:1rem;font-size:.75rem;color:var(--tx3)}.login-switch-btn{background:none;border:none;color:var(--acc);cursor:pointer;font-weight:600;font-size:.75rem;font-family:Plus Jakarta Sans,sans-serif;padding:0}.login-switch-btn:hover{text-decoration:underline}.login-card .btn-full{margin-top:.5rem}.form-grp{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.form-lbl{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--tx3)}.form-inp{background:var(--s2);border:1px solid var(--b2);border-radius:6px;padding:.55rem .75rem;color:var(--tx);font-size:.8rem;font-family:Plus Jakarta Sans,sans-serif;outline:none;transition:border-color .2s,background .2s;width:100%}.form-inp:focus{border-color:var(--acc);background:var(--s1)}.login-card--admin .form-inp:focus{border-color:var(--warn)}.login-card--engineer .form-inp:focus{border-color:var(--acc3)}.login-card--retail .form-inp:focus{border-color:var(--acc)}.login-card--sales .form-inp:focus{border-color:var(--acc2)}.pass-wrap{position:relative;display:flex;align-items:center;width:100%}.pass-wrap .form-inp{flex:1;padding-right:2.5rem}.pass-toggle{position:absolute;right:.6rem;background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--tx3);line-height:1;padding:.2rem;transition:color .15s,transform .1s;display:flex;align-items:center;justify-content:center}.pass-toggle:hover{color:var(--tx)}.pass-toggle:active{transform:scale(.9)}.form-sel{background:var(--s2);border:1px solid var(--b2);border-radius:6px;padding:.55rem .75rem;color:var(--tx);font-size:.8rem;font-family:Plus Jakarta Sans,sans-serif;outline:none;appearance:none;width:100%;cursor:pointer;transition:border-color .2s}.form-sel:focus{border-color:var(--acc)}.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-acc{background:var(--acc);color:#080c10}.btn-acc:hover{filter:brightness(1.15);transform:translateY(-1px)}[data-theme=light] .btn-acc{color:#fff}.btn-eng{background:var(--acc3);color:#080c10}.btn-eng:hover{filter:brightness(1.12)}[data-theme=light] .btn-eng{color:#fff}.btn-sales{background:var(--acc2);color:#fff}.btn-sales:hover{filter:brightness(1.12)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid var(--b2);color:var(--tx2)}.btn-ghost:hover{border-color:var(--b3);color:var(--tx);background:var(--s2)}.btn-warn{background:var(--warn);color:#fff}.btn-warn:hover{filter:brightness(1.1)}.btn-purple{background:var(--acc4);color:#fff}.btn-purple:hover{filter:brightness(1.12)}.btn-hold{background:rgba(255,179,0,.12);border:1px solid rgba(255,179,0,.35);color:var(--warn)}.btn-hold:hover{background:rgba(255,179,0,.22)}.btn-logout{border:1px solid var(--danger);color:var(--danger);background:transparent}.btn-logout:hover{border:1px solid var(--danger-hover);color:var(--danger-hover)}.btn-sm{padding:.3rem .6rem;font-size:.68rem}.btn-xs{padding:.18rem .45rem;font-size:.62rem}.btn-full{width:100%;justify-content:center}.shell{display:flex;min-height:100vh;flex-direction:column}.topbar{background:var(--s1);border-bottom:1px solid var(--b1);padding:0 1.25rem;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.topbar-logo{font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:800;letter-spacing:-.03em}.topbar-logo span{color:var(--acc)}.topbar-right{display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap;min-width:0}.topbar-username{font-size:.75rem;color:var(--tx2)}.role-badge{display:flex;align-items:center;gap:.35rem;padding:.22rem .6rem;border-radius:20px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.role-retail{background:rgba(0,153,204,.1);color:var(--r-retail);border:1px solid rgba(0,153,204,.2)}.role-engineer{background:rgba(0,168,85,.1);color:var(--r-eng);border:1px solid rgba(0,168,85,.2)}.role-sales{background:rgba(232,90,32,.1);color:var(--r-sales);border:1px solid rgba(232,90,32,.2)}.role-admin{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 24%,transparent)}.main-content{flex:1;min-height:0}.main-content,.sidebar{display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--s1);border-right:1px solid var(--b1);padding:.75rem 0;flex-direction:column;gap:.15rem;flex-shrink:0}.nav-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;cursor:pointer;color:var(--tx2);font-size:.78rem;font-weight:700;transition:all .15s;border-left:3px solid transparent}.nav-item:hover{background:var(--s2);color:var(--tx)}.nav-item.active{background:var(--s2);color:var(--acc);border-left-color:var(--acc)}.nav-item.active.eng{color:var(--acc3);border-left-color:var(--acc3)}.nav-item.active.sales{color:var(--acc2);border-left-color:var(--acc2)}.nav-section{padding:.4rem 1rem .2rem;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}.page-area{flex:1;overflow-y:auto;background:var(--bg);min-width:0}.page-content-enter{animation:pageEnter .3s cubic-bezier(.22,1,.36,1) forwards}@keyframes pageEnter{0%{opacity:0}to{opacity:1}}.pg-header{padding:.9rem 1.25rem .9rem 1rem;border-bottom:1px solid var(--b1);background:var(--s1);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.pg-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.pg-sub{font-size:.7rem;color:var(--tx3);margin-top:.1rem}.pg-body{padding:8px;gap:8px}.pg-header-left{display:flex;align-items:center;gap:1.2rem}.pg-header-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.job-detail-header{align-items:flex-start}.job-detail-header .pg-header-left,.job-detail-header .pg-header-left>div{min-width:0}.job-detail-header .pg-title{overflow-wrap:anywhere}.job-detail-header .pg-header-actions .btn{justify-content:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:8px}.stat-card{background:var(--s1);border:1px solid var(--b1);border-radius:8px;padding:.85rem 1rem;position:relative;overflow:hidden;box-shadow:var(--shadow);animation:statPopIn .4s cubic-bezier(.34,1.56,.64,1) backwards;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@keyframes statPopIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.stats-grid>:first-child{animation-delay:.05s}.stats-grid>:nth-child(2){animation-delay:.1s}.stats-grid>:nth-child(3){animation-delay:.15s}.stats-grid>:nth-child(4){animation-delay:.2s}.stat-card:before{content:"";position:absolute;top:0;right:0;width:48px;height:48px;border-radius:0 8px 0 100%}.stat-card.c-blue:before{background:rgba(0,153,204,.08)}.stat-card.c-green:before{background:rgba(0,168,85,.08)}.stat-card.c-orange:before{background:rgba(232,90,32,.08)}.stat-card.c-purple:before{background:rgba(128,64,224,.08)}.stat-num{font-family:DM Mono,monospace;font-size:1.6rem;font-weight:500;line-height:1}.c-blue .stat-num{color:var(--acc)}.c-green .stat-num{color:var(--acc3)}.c-orange .stat-num{color:var(--acc2)}.c-purple .stat-num{color:var(--acc4)}.stat-lbl{font-size:.62rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem}.dashboard-home{display:flex;flex-direction:column;gap:.85rem}.dh-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;background:var(--s1);border:1px solid var(--b1);border-radius:8px;padding:1rem;box-shadow:var(--shadow)}.dh-eyebrow{color:var(--tx3);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem}.dh-hero h1{font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;line-height:1.15;margin:0}.dh-hero p{margin:.3rem 0 0;color:var(--tx3);font-size:.78rem}.dh-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.dh-action,.dh-master,.dh-queue,.dh-stat{border:1px solid var(--b1);background:var(--s1);color:var(--tx);border-radius:8px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.dh-action:disabled,.dh-queue:disabled,.dh-stat:disabled{cursor:default}.dh-action:not(:disabled):hover,.dh-master:hover,.dh-queue:not(:disabled):hover,.dh-stat:not(:disabled):hover{transform:translateY(-2px);border-color:var(--b3);box-shadow:var(--shadow-lg)}.dh-action{display:flex;flex-direction:column;align-items:flex-start;min-width:132px;padding:.65rem .8rem;text-align:left}.dh-action-label{font-size:.78rem;font-weight:700}.dh-action-hint{margin-top:.15rem;color:var(--tx3);font-size:.64rem}.dh-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.dh-stat{min-height:96px;padding:.85rem;text-align:left;display:flex;flex-direction:column;justify-content:space-between}.dh-master-count,.dh-queue-count,.dh-stat-value{font-family:DM Mono,monospace;font-weight:600}.dh-stat-value{font-size:1.35rem;color:var(--acc)}.dh-master-label,.dh-stat-label{font-size:.67rem;color:var(--tx2);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.dh-stat-sub{font-size:.66rem;color:var(--tx3);margin-top:.2rem}.dh-lower-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:.85rem}.dh-content,.dh-empty,.dh-panel{background:var(--s1);border:1px solid var(--b1);border-radius:8px;box-shadow:var(--shadow)}.dh-panel{padding:.85rem}.dh-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;color:var(--tx2);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.dh-queue-list{display:grid;gap:.5rem}.dh-queue{width:100%;padding:.65rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left}.dh-queue-main{display:flex;min-width:0;flex-direction:column;gap:.15rem}.dh-queue-main strong{font-size:.78rem}.dh-queue-main small{color:var(--tx3);font-size:.66rem}.dh-queue-count{color:var(--acc);font-size:1.1rem}.dh-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.dh-master{min-height:74px;padding:.7rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem}.dh-master-count{color:var(--acc);font-size:1.15rem}.dh-empty{padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.85rem}.dh-empty h2{margin:0 0 .25rem;font-size:.88rem}.dh-empty p{margin:0;color:var(--tx3);font-size:.72rem}.dh-content{overflow:hidden}.tone-green .dh-master-count,.tone-green .dh-queue-count,.tone-green .dh-stat-value{color:var(--acc3)}.tone-orange .dh-master-count,.tone-orange .dh-queue-count,.tone-orange .dh-stat-value{color:var(--acc2)}.tone-purple .dh-master-count,.tone-purple .dh-queue-count,.tone-purple .dh-stat-value{color:var(--acc4)}.tone-warn .dh-master-count,.tone-warn .dh-queue-count,.tone-warn .dh-stat-value{color:var(--warn)}.tone-danger .dh-master-count,.tone-danger .dh-queue-count,.tone-danger .dh-stat-value{color:var(--danger)}.tbl-wrap{background:var(--s1);border:1px solid var(--b1);border-radius:8px;box-shadow:var(--shadow)}.tbl-header{padding:.7rem 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.tbl-title{font-size:.78rem;font-weight:600}.search-inp{background:var(--s2);border:1px solid var(--b2);border-radius:6px;padding:.38rem .65rem;color:var(--tx);font-size:.75rem;font-family:Plus Jakarta Sans,sans-serif;outline:none;width:180px;transition:border-color .2s}.search-inp:focus{border-color:var(--acc)}table{width:100%;border-collapse:collapse}th{background:var(--s2);padding:.5rem .85rem;text-align:left;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx3);border-bottom:1px solid var(--b1)}td{padding:.55rem .85rem;font-size:.7rem;color:var(--tx)}tr:hover td{background:var(--s2)}td input,td select{background:transparent;border:none;outline:none;color:var(--tx);font-family:Plus Jakarta Sans,sans-serif;font-size:.75rem;width:100%}td input:focus{background:var(--s2);border-radius:3px;padding:.1rem .3rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:20px;font-size:.53rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-pending{background:color-mix(in srgb,var(--status-pending) 12%,transparent);color:var(--status-pending)}.badge-progress{background:color-mix(in srgb,var(--status-progress) 12%,transparent);color:var(--status-progress)}.badge-done{background:color-mix(in srgb,var(--status-done) 12%,transparent);color:var(--status-done)}.badge-repair{background:color-mix(in srgb,var(--status-repairing) 12%,transparent);color:var(--status-repairing)}.badge-hold{background:color-mix(in srgb,var(--status-hold) 15%,transparent);color:var(--status-hold);border:1px solid color-mix(in srgb,var(--status-hold) 30%,transparent)}.badge-paid{background:color-mix(in srgb,var(--status-paid) 15%,transparent);color:var(--status-paid);border:1px solid color-mix(in srgb,var(--status-paid) 30%,transparent)}.badge-closed{background:color-mix(in srgb,var(--status-closed) 12%,transparent);color:var(--status-closed);border:1px solid color-mix(in srgb,var(--status-closed) 25%,transparent)}.badge-returning{background:color-mix(in srgb,var(--status-returning) 15%,transparent);color:var(--status-returning);border:1px solid color-mix(in srgb,var(--status-returning) 30%,transparent)}.vchr-shell{display:flex;flex-direction:column;min-height:100%}.vchr-topbar{background:var(--s1);border-bottom:1px solid var(--b1);padding:.6rem 1.25rem;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.vchr-topbar,.vchr-topbar-left{display:flex;align-items:center}.vchr-topbar-left{gap:1rem}.vchr-topbar-meta{display:flex;gap:1.5rem;font-size:.78rem;color:var(--tx2);font-family:DM Mono,monospace}.vchr-topbar-meta strong{color:var(--tx)}.vchr-id{color:var(--acc);font-weight:700}.vchr-id-gen{color:var(--tx3);display:inline-flex;align-items:center;gap:.3rem;font-style:italic}.vchr-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;font-weight:700;color:var(--acc2)}.vchr-body{padding:.85rem;flex:1;background:var(--bg)}.top-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;background:var(--s1);border:1px solid var(--b1);border-radius:8px;padding:.75rem;margin-bottom:1rem;box-shadow:var(--shadow)}.fld-wrap,.select-add-wrap{display:flex;flex-direction:column;gap:.25rem}.fld-lbl{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx3)}.fld-val{font-size:.78rem;color:var(--acc3);font-family:DM Mono,monospace;background:var(--s2);border:1px solid var(--b1);border-radius:4px;padding:.55rem}.sel-wrap{display:flex;gap:.35rem;align-items:center}.sel-inp{flex:1;background:var(--s2);border:1px solid var(--b1);border-radius:4px;padding:.35rem .55rem;color:var(--tx);font-size:.78rem;font-family:Plus Jakarta Sans,sans-serif;outline:none;appearance:none;cursor:pointer;transition:border-color .15s}.sel-inp:focus{border-color:var(--acc)}.txt-inp{background:var(--s2);border:1px solid var(--b1);border-radius:4px;padding:.35rem .55rem;color:var(--tx);font-size:.78rem;font-family:Plus Jakarta Sans,sans-serif;outline:none;width:100%;transition:border-color .15s}.txt-inp:focus{border-color:var(--acc)}.party-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.65rem}.narr-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.65rem}.items-tbl-wrap{margin-bottom:.85rem}.items-tbl{width:100%;border-collapse:collapse;font-size:.75rem;background:var(--s1);border:1px solid var(--b1);border-radius:8px;overflow:hidden}.items-tbl th{background:var(--s2);border:1px solid var(--b1);padding:.38rem .6rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);font-weight:700}.items-tbl td{border:1px solid var(--b1);padding:.28rem .45rem;background:var(--s1)}.items-tbl tr:nth-child(2n) td{background:var(--s2)}.items-tbl input,.items-tbl select{background:transparent;border:none;outline:none;color:var(--tx);font-size:.75rem;font-family:Plus Jakarta Sans,sans-serif;width:100%}.items-tbl input:focus{background:var(--s3);border-radius:2px}.add-row-btn{width:100%;background:transparent;border:1px dashed var(--b2);border-top:none;color:var(--tx3);padding:.35rem;font-size:.68rem;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .15s}.add-row-btn:hover{background:var(--s2);color:var(--acc);border-color:var(--acc)}.del-row-btn{background:none;border:none;color:var(--tx3);cursor:pointer;padding:.1rem .28rem;border-radius:3px;font-size:.68rem}.del-row-btn:hover{background:rgba(224,48,64,.12);color:var(--danger)}.amnt-cell{text-align:right;font-family:DM Mono,monospace;color:var(--acc3)}.vchr-footer{background:var(--s1);border-top:1px solid var(--b1);padding:.7rem 1.25rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -2px 8px rgba(0,0,0,.06);flex-wrap:wrap;gap:.5rem}.total-val{font-family:DM Mono,monospace;font-size:1.25rem;font-weight:500;color:var(--acc3)}.total-lbl{font-size:.6rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;align-items:center;justify-content:center;padding:.75rem;backdrop-filter:blur(4px);animation:fIn .15s ease}[data-theme=light] .overlay{background:rgba(0,0,0,.35)}@keyframes fIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--s1);border:1px solid var(--b2);border-radius:10px;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalScaleUp .3s cubic-bezier(.34,1.56,.64,1) forwards}.modal-lg{max-width:700px}@keyframes modalScaleUp{0%{transform:scale(.95) translateY(16px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-hd{padding:.85rem 1.1rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between}.modal-ttl{font-size:.82rem;font-weight:700;font-family:Plus Jakarta Sans,sans-serif}.modal-close{background:none;border:none;color:var(--tx3);font-size:1rem;cursor:pointer;padding:.18rem .38rem;border-radius:4px}.modal-close:hover{background:var(--s2);color:var(--tx)}.modal-bd{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.75rem}.modal-ft{padding:.85rem 1.1rem;border-top:1px solid var(--b1);display:flex;justify-content:flex-end;gap:.65rem}.form-row{grid-template-columns:1fr 1fr}.form-row,.form-row3{display:grid;gap:.65rem}.form-row3{grid-template-columns:1fr 1fr 1fr}.form-grp2{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.form-lbl2{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--tx3)}.view-toggle{display:flex;gap:.25rem}.view-btn{background:var(--s2);border:1px solid var(--b2);color:var(--tx3);padding:.3rem .55rem;border-radius:5px;cursor:pointer;font-size:.75rem;transition:all .15s}.view-btn.active{background:var(--s1);border-color:var(--b3);color:var(--tx)}.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.job-card{background:var(--s1);border:1px solid var(--b1);border-radius:8px;padding:.85rem;cursor:pointer;transition:all .2s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden;box-shadow:var(--shadow);animation:listSlideUp .35s cubic-bezier(.16,1,.3,1) backwards}.job-card:hover{border-color:var(--b3);transform:translateY(-4px);box-shadow:var(--shadow-lg)}@keyframes listSlideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.grid-view>:first-child{animation-delay:.05s}.grid-view>:nth-child(2){animation-delay:.1s}.grid-view>:nth-child(3){animation-delay:.15s}.grid-view>:nth-child(4){animation-delay:.2s}.grid-view>:nth-child(5){animation-delay:.25s}.grid-view>:nth-child(6){animation-delay:.3s}.grid-view>:nth-child(7){animation-delay:.35s}.grid-view>:nth-child(8){animation-delay:.4s}.grid-view>:nth-child(n+9){animation-delay:.45s}.job-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px}.job-card.status-pending:after{background:var(--warn)}.job-card.status-in-progress:after{background:var(--r-retail)}.job-card.status-done:after{background:var(--acc3)}.job-card.status-on-hold:after{background:var(--warn)}.card-id{font-family:DM Mono,monospace;font-size:.72rem;color:var(--acc);margin-bottom:.3rem}.card-party{font-size:.82rem;font-weight:600;margin-bottom:.2rem}.card-narr{font-size:.7rem;color:var(--tx2);margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.card-date{font-size:.65rem;color:var(--tx3)}.card-date,.card-total{font-family:DM Mono,monospace}.card-total{font-size:.78rem;color:var(--acc3);font-weight:500}.job-detail{background:var(--s1);border:1px solid var(--b1);border-radius:8px;padding:1rem 1.1rem;box-shadow:var(--shadow)}.job-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:.85rem}.jd-item{display:flex;flex-direction:column;gap:.18rem}.jd-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3)}.jd-val{font-size:.78rem;color:var(--tx)}.jd-val.mono{font-family:DM Mono,monospace;color:var(--acc)}.narr-box{background:var(--s2);border:1px solid var(--b1);border-radius:6px;padding:.65rem}.repair-section{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--b1)}.section-title{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx3);margin-bottom:.65rem}.repair-type-sel{display:flex;gap:.4rem;margin-bottom:.85rem;flex-wrap:wrap}.repair-chip{padding:.32rem .85rem;border-radius:20px;border:1px solid var(--b2);background:var(--s2);color:var(--tx2);font-size:.72rem;cursor:pointer;transition:all .15s;font-family:Plus Jakarta Sans,sans-serif}.repair-chip.active-repair{border-color:var(--acc4);background:rgba(128,64,224,.1);color:var(--acc4)}.repair-chip.active-done{border-color:var(--acc3);background:rgba(0,168,85,.1);color:var(--acc3)}.repair-items-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}.repair-empty{padding:.85rem;text-align:center;color:var(--tx3);font-size:.75rem;background:var(--s2);border-radius:6px;border:1px dashed var(--b2)}.no-repair-box{background:rgba(81,0,202,.1);border:1px dashed rgba(81,0,202,.3);border-radius:6px}.job-done-box,.no-repair-box{margin-top:.85rem;padding:.65rem;font-size:.72rem;color:var(--tx3);text-align:center}.job-done-box{background:rgba(0,204,7,.05);border:1px dashed rgba(0,204,24,.3);border-radius:6px}.hold-lock-msg{margin-top:.85rem;padding:.65rem;background:rgba(204,136,0,.05);border:1px dashed rgba(204,136,0,.3);border-radius:6px;font-size:.72rem;color:var(--tx3);text-align:center}.hold-list{display:flex;flex-direction:column;gap:.65rem}.hold-card{background:var(--s1);border:1px solid var(--b1);border-left:3px solid var(--warn);border-radius:8px;padding:.85rem;box-shadow:var(--shadow)}.hold-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.hold-card-info{flex:1;min-width:0}.hold-card-id{font-family:DM Mono,monospace;font-size:.72rem;color:var(--acc);margin-bottom:.18rem}.hold-card-narr{font-size:.8rem;font-weight:600;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hold-card-meta{font-size:.65rem;color:var(--tx3);font-family:DM Mono,monospace}.hold-card-actions{display:flex;gap:.35rem;flex-shrink:0;flex-wrap:wrap}.hold-banner{border:1px solid rgba(204,136,0,.3);border-radius:8px;padding:.75rem .9rem;margin-bottom:.85rem;display:flex;align-items:flex-start;gap:.65rem}.hold-banner,.hold-reason-box{background:rgba(204,136,0,.07)}.hold-reason-box{border:1px solid rgba(204,136,0,.25);border-radius:6px;padding:.75rem;margin-top:.5rem}.hold-info-row{font-size:.65rem;color:var(--tx3);margin-top:.35rem;font-family:DM Mono,monospace}.hold-form-area{gap:.65rem}.hold-form-area,.qr-wrap{display:flex;flex-direction:column}.qr-wrap{align-items:center;gap:.85rem;padding:1.25rem}.qr-img{border-radius:8px;border:4px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.2)}.qr-id{font-family:DM Mono,monospace;font-size:1rem;color:var(--acc);font-weight:500}.empty-state{padding:2.5rem;text-align:center;color:var(--tx3)}.empty-state h3{font-size:.9rem;color:var(--tx2);margin-bottom:.4rem}.bottom-2col{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}.mini-panel{background:var(--s1);border:1px solid var(--b1);border-radius:8px;padding:.65rem;box-shadow:var(--shadow)}.mini-title{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx3);margin-bottom:.4rem}.mini-tbl{width:100%;border-collapse:collapse;font-size:.68rem}.mini-tbl th{color:var(--tx3);font-size:.6rem;text-transform:uppercase;letter-spacing:.06em}.mini-tbl td,.mini-tbl th{border-bottom:1px solid var(--b1);padding:.25rem .45rem}.mini-tbl td{color:var(--tx2)}.mini-tbl input{background:transparent;border:none;outline:none;color:var(--tx);width:100%;font-size:.68rem}.mini-tbl input,.spinner-container{font-family:Plus Jakarta Sans,sans-serif}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);color:var(--tx3)}.spinner{width:40px;height:40px;border:4px solid var(--b2);border-top-color:var(--acc);border-radius:50%;animation:spinner-spin 1s linear infinite;margin-bottom:1rem}@keyframes spinner-spin{to{transform:rotate(1turn)}}.spinner-text{font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;animation:spinner-pulse 1.5s ease-in-out infinite}@keyframes spinner-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes ring-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse-opacity{0%,to{opacity:.4}50%{opacity:1}}.pageloader{position:fixed;inset:0;background:var(--bg);justify-content:center;z-index:9999;gap:1.25rem}.pageloader,.pageloader-inner{display:flex;align-items:center;flex-direction:column}.pageloader-inner{gap:1rem}.google-style-spinner{display:block;transform-box:fill-box;transform-origin:center;animation:google-style-spinner-rotator .85s linear infinite;backface-visibility:hidden;will-change:transform}@keyframes google-style-spinner-rotator{to{transform:rotate(1turn)}}.google-style-spinner-path{stroke-dasharray:130 188.5;stroke-dashoffset:0;transform-box:fill-box;transform-origin:center;animation:none}.pageloader-logo{font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:-.03em;color:var(--tx)}.pageloader-msg{font-size:.72rem;color:var(--tx3);letter-spacing:.1em;text-transform:uppercase;animation:pulse-opacity 1.5s ease-in-out infinite}.overlay-loader{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);z-index:8888;display:flex;align-items:center;justify-content:center;animation:fIn .15s ease}[data-theme=light] .overlay-loader{background:rgba(0,0,0,.3)}.overlay-loader-box{background:var(--s1);border:1px solid var(--b2);border-radius:12px;padding:2rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:var(--shadow-lg);animation:modalScaleUp .25s cubic-bezier(.34,1.56,.64,1) forwards;min-width:180px}.ol-msg{font-size:.78rem;font-weight:600;color:var(--tx2);letter-spacing:.04em}.btn-spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:ring-spin .7s linear infinite;vertical-align:middle;margin-right:.25rem;flex-shrink:0}.btn-acc .btn-spinner,.btn-eng .btn-spinner{border-color:rgba(0,0,0,.2)}[data-theme=light] .btn-acc .btn-spinner,[data-theme=light] .btn-eng .btn-spinner{border-color:rgba(255,255,255,.3)}.vchr-id-gen .btn-spinner{border-top-color:var(--tx3);border-color:var(--b2)}.db-busy-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--tx3);font-family:DM Mono,monospace;background:var(--s2);border:1px solid var(--b1);border-radius:20px;padding:.22rem .65rem}.skeleton-row td{border-bottom:1px solid var(--b1);padding:.55rem .85rem}.skeleton-cell{height:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--s2) 86%,var(--tx3)) 25%,color-mix(in srgb,var(--s3) 88%,white) 50%,color-mix(in srgb,var(--s2) 86%,var(--tx3)) 75%);background-size:200% 100%;border-radius:4px;animation:skeleton-shimmer 1.4s infinite;max-width:100%;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.section-loader{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:2rem;color:var(--tx3);font-size:.75rem}.section-loader-msg{font-size:.72rem;color:var(--tx3)}.toast{position:fixed;top:1.5rem;left:50%;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:8px;font-size:.78rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;box-shadow:var(--shadow-lg);white-space:nowrap;animation:toast-in .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(0)}to{opacity:1;transform:translateX(-50%) translateY(12px)}}.toast-success{background:var(--acc3);color:#fff}.toast-error{background:var(--danger);color:#fff}.toast-info{background:var(--acc);color:#fff}[data-theme=light] .toast-info{color:#fff}.toast-icon{font-size:.9rem;font-weight:700}@media (min-width:1400px){:root{--sidebar-w:220px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid-view{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.pg-body{padding:.5rem}.pg-header{padding:1rem}.top-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1023px){:root{--sidebar-w:160px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}.top-grid{grid-template-columns:repeat(2,1fr)}.bottom-2col{grid-template-columns:1fr}.job-detail-grid{grid-template-columns:repeat(2,1fr)}.form-row3{grid-template-columns:1fr 1fr}.search-inp{width:150px}.topbar-username{display:none}}@media (max-width:767px){:root{--topbar-h:46px}.main-content{flex-direction:column}.page-area{overflow-y:auto}.mobile-nav{display:flex;overflow-x:auto;background:var(--s1);border-bottom:1px solid var(--b1);padding:0 .5rem;gap:0;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav-item{flex-shrink:0;padding:.65rem .85rem;font-size:.72rem;font-weight:600;cursor:pointer;color:var(--tx2);border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}.mobile-nav-item.active{color:var(--acc);border-bottom-color:var(--acc)}.mobile-nav-item.active.eng{color:var(--acc3);border-bottom-color:var(--acc3)}.mobile-nav-item.active.sales{color:var(--acc2);border-bottom-color:var(--acc2)}.pg-header{padding:.75rem 1rem}.pg-body{padding:.85rem}.pg-title{font-size:.9rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.85rem}.stat-num{font-size:1.35rem}.top-grid{grid-template-columns:1fr 1fr;padding:.65rem;gap:.5rem}.bottom-2col,.party-row{grid-template-columns:1fr}.job-detail-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.form-row{grid-template-columns:1fr}.form-row3{grid-template-columns:1fr 1fr}.vchr-topbar{padding:.5rem .85rem;flex-direction:column;align-items:flex-start}.vchr-body{padding:.65rem}.vchr-footer{padding:.6rem .85rem}.total-val{font-size:1.1rem}.topbar{padding:0 .85rem;z-index:1001}.topbar-right{gap:.4rem}.role-badge,.theme-toggle span:last-child,.topbar-user-name{display:none}.search-inp{width:100%}.grid-view{grid-template-columns:1fr 1fr;gap:.6rem}td.hide-mobile,th.hide-mobile{display:none}.pg-header-left{display:flex;justify-content:space-between;align-items:center;width:100%}.hold-card-top{flex-direction:column;gap:.5rem}.hold-card-actions{width:100%;justify-content:flex-end}.hold-banner{flex-wrap:wrap}.repair-items-header{flex-wrap:wrap;gap:.4rem}.toast{top:3rem;font-size:.72rem}.overlay-loader-box{padding:1.5rem 2rem}.vchr-topbar-meta{display:none}}@media (max-width:479px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row3,.grid-view,.top-grid{grid-template-columns:1fr}.job-detail-grid{grid-template-columns:1fr 1fr}.vchr-topbar>div:last-child{display:none}.modal{border-radius:10px 10px 0 0;max-height:95vh}.overlay{align-items:flex-end;padding:0}.login-card{padding:1.5rem 1.25rem;margin:0 1.5rem;max-width:100%;display:flex;flex-direction:column;justify-content:center}.pg-header-actions .btn{font-size:.6rem;padding:.18rem .4rem}.job-detail-header .pg-header-actions .btn{min-height:40px;padding:.45rem .55rem;font-size:.68rem}.hold-card-actions .btn{font-size:.6rem}.toast{transform:none;white-space:normal}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}.mobile-restriction-msg{display:none;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center;background-color:var(--bg);color:var(--tx);font-family:Plus Jakarta Sans,sans-serif;z-index:9999}.mobile-restriction-msg h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--danger)}.mobile-restriction-msg p{color:var(--tx2);font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem}@media (max-width:768px){.desktop-app-wrapper{display:none!important}.mobile-restriction-msg{display:flex!important}}.loader-fullscreen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loader-fullscreen-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.loader-logo{font-family:Plus Jakarta Sans,sans-serif;font-size:2.4rem;font-weight:800;letter-spacing:-.04em;color:var(--tx);animation:loaderLogoPulse 1.6s ease-in-out infinite}.loader-logo span{color:var(--acc)}@keyframes loaderLogoPulse{0%,to{opacity:.7}50%{opacity:1}}.loader-track{width:180px;height:4px;background:var(--b2);border-radius:2px;overflow:hidden}.loader-fill{height:100%;width:40%;background:var(--acc);border-radius:2px;animation:loaderFillSlide 1.4s cubic-bezier(.4,0,.6,1) infinite}@keyframes loaderFillSlide{0%{transform:translateX(-100%);width:40%}50%{transform:translateX(100%);width:70%}to{transform:translateX(250%);width:40%}}.loader-fullscreen-label{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);animation:loaderLogoPulse 1.6s ease-in-out infinite}.loader-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:9000;background:var(--b1);overflow:hidden}.loader-bar:after{content:"";position:absolute;top:0;left:0;height:100%;width:35%;background:linear-gradient(90deg,var(--acc),var(--acc3));border-radius:2px;animation:barSlide 1.2s cubic-bezier(.4,0,.6,1) infinite}@keyframes barSlide{0%{transform:translateX(-100%)}to{transform:translateX(380%)}}.loader-ring{flex-shrink:0}.loader-ring--sm{width:28px;height:28px}.loader-ring--md{width:40px;height:40px}.loader-ring--lg{width:52px;height:52px}.loader-ring-arc{transform-origin:center;animation:ringRotate .9s linear infinite}@keyframes ringRotate{to{transform:rotate(1turn)}}.loader-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:2rem}.loader-inline-label{font-size:.72rem;color:var(--tx3);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.loader-overlay{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:rgba(240,244,248,.88);backdrop-filter:blur(4px);border-radius:inherit}[data-theme=dark] .loader-overlay{background:rgba(8,12,16,.88)}.loader-overlay-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3)}.loader-btn-wrap{display:inline-flex;align-items:center;gap:.4rem}.loader-btn-svg{width:13px;height:13px;flex-shrink:0}.login-loading-overlay{position:absolute;z-index:50;border-radius:12px;overflow:hidden}.login-loading-overlay,.vchr-saving-overlay{inset:0;display:flex;align-items:center;justify-content:center}.vchr-saving-overlay{position:fixed;z-index:500;background:rgba(8,12,16,.55);backdrop-filter:blur(6px)}[data-theme=light] .vchr-saving-overlay{background:rgba(240,244,248,.7)}.detail-busy-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.68rem;color:var(--tx3);font-family:DM Mono,monospace;padding:.2rem .5rem;background:var(--s2);border:1px solid var(--b1);border-radius:4px}.detail-busy-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:dotPulse 1s ease-in-out infinite;flex-shrink:0}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.stat-card--warn{background:rgba(204,136,0,.06);border:1px solid rgba(204,136,0,.2)}.login-tab.admin,.stat-num--warn{color:var(--warn)}.login-tab.admin{border-color:rgba(255,179,0,.25)}.login-tab.admin:hover{background:rgba(255,179,0,.08);border-color:rgba(255,179,0,.5)}.login-tab.admin.active{background:rgba(255,179,0,.12);border-color:var(--warn);color:var(--warn);box-shadow:0 0 0 2px rgba(255,179,0,.15)}.login-card--admin{border-color:rgba(255,179,0,.3);box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,179,0,.15),0 0 32px rgba(255,179,0,.06)}.login-logo--admin{background:linear-gradient(135deg,var(--warn),#ff9500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:adminLogoGlow 2.5s ease-in-out infinite}@keyframes adminLogoGlow{0%,to{filter:drop-shadow(0 0 4px rgba(255,179,0,.3))}50%{filter:drop-shadow(0 0 12px rgba(255,179,0,.6))}}.login-admin-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;margin-bottom:.25rem;background:linear-gradient(135deg,rgba(255,179,0,.1),rgba(232,90,32,.07));border:1px solid rgba(255,179,0,.28);border-radius:8px;animation:bannerSlideIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-admin-banner-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.login-admin-banner-title{font-size:.75rem;font-weight:700;color:var(--warn);letter-spacing:.02em}.login-admin-banner-sub{font-size:.65rem;color:var(--tx3);margin-top:.1rem}.btn-admin{background:var(--warn);color:#080c10;font-weight:700}[data-theme=light] .btn-admin{color:#fff}.btn-admin:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 4px 16px rgba(204,136,0,.35)}.login-admin-note{text-align:center;font-size:.62rem;color:var(--tx3);padding:.45rem .75rem;background:var(--s2);border:1px solid var(--b1);border-radius:6px;letter-spacing:.02em;animation:bannerSlideIn .3s ease}.aem-list{display:flex;flex-direction:column;gap:.4rem;max-height:280px;overflow-y:auto;padding-right:.25rem}.aem-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .75rem;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);cursor:pointer;text-align:left;transition:all .15s ease}.aem-item:hover{border-color:var(--b3);background:var(--s1);transform:translateX(2px)}.aem-item--active{border-color:var(--acc3);background:rgba(34,197,94,.06);box-shadow:0 0 0 3px rgba(34,197,94,.12)}.aem-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--acc3),var(--acc));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0}.aem-info{flex:1;min-width:0}.aem-name{font-size:.8rem;font-weight:600;color:var(--tx)}.aem-username{font-size:.65rem;color:var(--tx3);font-family:DM Mono,monospace;margin-top:.05rem}.aem-check{font-size:.85rem;color:var(--acc3);font-weight:700;flex-shrink:0}.eng-readonly-box{padding:.75rem 1rem;background:rgba(100,116,139,.06);border:1px solid var(--b2);border-radius:8px;font-size:.78rem;color:var(--tx2);margin-top:.6rem;line-height:1.5}.eng-unassigned-note{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--tx3);background:var(--s2);border:1px solid var(--b1);border-radius:4px;padding:.2rem .55rem;font-family:DM Mono,monospace}.jl-root{background:var(--s1);border:1px solid var(--b1);border-radius:12px;box-shadow:var(--shadow)}.jl-topbar{justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--b1);background:var(--s1)}.jl-topbar,.jl-topbar-left{display:flex;align-items:center;flex-wrap:wrap}.jl-topbar-left{gap:.75rem}.jl-topbar-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.jl-count{display:flex;align-items:baseline;flex-shrink:0}.jl-count-num{font-size:1.1rem;font-weight:600;color:var(--tx)}.jl-count-num,.jl-count-of{font-family:DM Mono,monospace}.jl-count-of{font-size:.65rem;color:var(--tx3)}.jl-status-pills{display:flex;gap:.3rem;flex-wrap:wrap}.jl-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;border-radius:20px;border:1.5px solid var(--b2);background:var(--s2);font-size:.65rem;font-weight:600;color:var(--tx3);cursor:pointer;transition:all .15s ease;white-space:nowrap}.jl-pill:hover{background:color-mix(in srgb,var(--pill-color,var(--acc)) 8%,var(--s1))}.jl-pill.active,.jl-pill:hover{border-color:var(--pill-color,var(--acc));color:var(--pill-color,var(--acc))}.jl-pill.active{background:color-mix(in srgb,var(--pill-color,var(--acc)) 10%,var(--s1));box-shadow:0 0 0 3px color-mix(in srgb,var(--pill-color,var(--acc)) 15%,transparent)}.jl-pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 3px;border-radius:10px;background:color-mix(in srgb,currentColor 12%,transparent);font-size:.58rem;font-family:DM Mono,monospace}.jl-search-wrap{position:relative;display:flex;align-items:center}.jl-search-icon{position:absolute;left:.55rem;font-size:.95rem;color:var(--tx3);pointer-events:none;line-height:1}.jl-search{height:30px;width:200px;padding:0 1.8rem 0 1.7rem;border:1.5px solid var(--b2);border-radius:8px;background:var(--s2);color:var(--tx);font-size:.72rem;font-family:Plus Jakarta Sans,sans-serif;transition:border-color .15s,box-shadow .15s;outline:none}.jl-search:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(59,130,246,.12);background:var(--s1)}.jl-search-clear{position:absolute;right:.45rem;background:none;border:none;color:var(--tx3);font-size:.65rem;cursor:pointer;line-height:1;padding:.1rem;transition:color .12s}.jl-search-clear:hover,.jl-sort-sel{color:var(--tx)}.jl-sort-sel{height:30px;padding:0 1.8rem 0 .6rem;border:1.5px solid var(--b2);border-radius:8px;background:var(--s2);font-size:.7rem;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;outline:none;transition:border-color .15s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center}.jl-sort-sel:focus{border-color:var(--acc)}.jl-filter-btn{display:inline-flex;align-items:center;gap:.35rem;height:30px;padding:0 .75rem;border:1.5px solid var(--b2);border-radius:8px;background:var(--s2);color:var(--tx2);font-size:.72rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap}.jl-filter-btn:hover{border-color:var(--b3);color:var(--tx);background:var(--s1)}.jl-filter-btn.active{background:color-mix(in srgb,var(--acc) 8%,var(--s1))}.jl-filter-btn.active,.jl-filter-btn.has-filters{border-color:var(--acc);color:var(--acc)}.jl-filter-icon{font-size:1rem}.jl-filter-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--acc);color:#fff;font-size:.58rem;font-weight:700}.jl-view-toggle{display:flex;border:1.5px solid var(--b2);border-radius:8px;overflow:hidden}.jl-view-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;background:var(--s2);border:none;color:var(--tx3);cursor:pointer;transition:all .12s}.jl-view-btn+.jl-view-btn{border-left:1px solid var(--b2)}.jl-view-btn:hover{background:var(--s1);color:var(--tx)}.jl-view-btn.active{background:var(--s1);color:var(--acc)}.jl-filter-panel{padding:.85rem 1rem;border-bottom:1px solid var(--b1);background:var(--s2);animation:filterSlide .2s cubic-bezier(.25,1,.5,1)}@keyframes filterSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.jl-filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem}.jl-fld{display:flex;flex-direction:column;gap:.25rem}.jl-fld-lbl{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tx3)}.jl-fld-date,.jl-fld-sel{height:30px;padding:0 .6rem;border:1.5px solid var(--b2);border-radius:7px;background:var(--s1);color:var(--tx);font-size:.72rem;font-family:Plus Jakarta Sans,sans-serif;outline:none;transition:border-color .15s;cursor:pointer}.jl-fld-date:focus,.jl-fld-sel:focus{border-color:var(--acc)}.jl-fld-sel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:1.6rem}.jl-active-chips{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.65rem;padding-top:.6rem;border-top:1px solid var(--b1)}.jl-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:20px;background:color-mix(in srgb,var(--acc) 10%,var(--s1));border:1px solid color-mix(in srgb,var(--acc) 30%,transparent);color:var(--acc);font-size:.65rem;font-weight:600}.jl-chip button{background:none;border:none;cursor:pointer;color:inherit;font-size:.6rem;line-height:1;opacity:.7;padding:0;transition:opacity .1s}.jl-chip button:hover{opacity:1}.jl-clear-all{background:none;border:1px solid var(--b2);border-radius:20px;padding:.2rem .6rem;font-size:.65rem;color:var(--tx3);cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .12s}.jl-clear-all:hover{border-color:var(--danger);color:var(--danger)}.jl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2rem;gap:.4rem;text-align:center}.jl-empty-icon{font-size:2.5rem;opacity:.4}.jl-empty-title{font-size:.88rem;font-weight:600;color:var(--tx2)}.jl-empty-sub{font-size:.72rem;color:var(--tx3)}.jl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;padding:1rem;overflow-y:auto}.jl-card{background:var(--s2);border:1.5px solid var(--b1);border-radius:10px;cursor:pointer;transition:transform .18s cubic-bezier(.25,1,.5,1),box-shadow .18s,border-color .15s;display:flex;flex-direction:column;gap:.4rem;padding:.8rem;position:relative}.jl-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--status-accent,var(--b2));transition:opacity .15s}.jl-card.status-pending{--status-accent:var(--status-pending)}.jl-card.status-in-progress{--status-accent:var(--status-progress)}.jl-card.status-on-hold{--status-accent:var(--status-hold)}.jl-card.status-done{--status-accent:var(--status-done)}.jl-card.status-closed{--status-accent:var(--status-closed)}.jl-card.status-paid{--status-accent:var(--status-paid)}.jl-card.status-returning{--status-accent:var(--status-returning)}.jl-card.status-repairing{--status-accent:var(--status-repairing)}.jl-card.status-no-repair{--status-accent:var(--status-returning)}.jl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--b3)}.jl-card-hd{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.jl-card-id{font-family:DM Mono,monospace;color:var(--acc)}.jl-card-party{color:var(--tx)}.jl-card-narr{color:var(--tx2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jl-card-tags{display:flex;justify-content:space-between;flex-wrap:wrap}.jl-card-eng{color:var(--acc3);background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:4px;font-size:.65rem;padding:.1rem .4rem}.jl-card-ft{display:flex;align-items:center;justify-content:space-between;margin-top:.15rem}.jl-card-date{font-size:.62rem;color:var(--tx3)}.jl-card-date,.jl-card-total{font-family:DM Mono,monospace}.jl-card-total{color:var(--acc3)}.jl-card-actions{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.2rem;padding-top:.5rem;border-top:1px solid var(--b1)}.jl-table-wrap{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden}.jl-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.jl-table .jl-col-id{width:13%}.jl-table .jl-col-date,.jl-table .jl-col-engineer,.jl-table .jl-col-party,.jl-table .jl-col-store{width:10%}.jl-table .jl-narr-cell,.jl-table th.hide-mobile{width:16%}.jl-table .jl-col-status{width:12%}.jl-table .jl-col-total{width:8%}.jl-table .jl-col-actions{width:10%}.jl-table thead tr{background:var(--s2);border-bottom:1px solid var(--b1)}.jl-table th{text-transform:uppercase;letter-spacing:.09em;color:var(--tx3);text-align:left;white-space:nowrap}.jl-row{cursor:pointer;border-bottom:1px solid var(--b1);transition:background .1s}.jl-row:hover{background:var(--s2)}.jl-id-cell{font-family:DM Mono,monospace;color:var(--acc);white-space:nowrap}.jl-party-cell{max-width:130px;white-space:nowrap}.jl-narr-cell,.jl-party-cell,.jl-table .jl-col-engineer,.jl-table .jl-col-store{overflow:hidden;text-overflow:ellipsis}.jl-narr-cell{max-width:180px;white-space:nowrap;color:var(--tx2)}.jl-row-actions{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;justify-content:flex-start;min-width:0}.jl-eng-pill{font-size:.65rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.4);color:var(--acc3);border-radius:4px;padding:.12rem .45rem;white-space:nowrap}.jl-card-eng--me,.jl-eng-pill--me{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.45);color:var(--acc3);font-weight:700}.eng-me-badge{background:rgba(34,197,94,.12)!important;border:1px solid rgba(34,197,94,.4)!important;color:var(--acc3)!important;font-weight:700}.jl-unassigned-pill{font-size:.63rem;color:red;font-style:italic;background:rgba(197,34,34,.07);border:1px solid rgba(197,34,34,.2);border-radius:4px;padding:.12rem .45rem;white-space:nowrap}.mobile-only{display:none}@media (max-width:768px){.mobile-only{display:flex}.desktop-only{display:none}}@media (max-width:1023px){.jl-topbar{flex-direction:column;align-items:flex-start}.jl-topbar-right{width:100%}.jl-filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.jl-topbar{gap:.65rem;padding:.65rem}.jl-topbar-left{gap:.5rem}.jl-topbar-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-items:stretch}.jl-filter-btn,.jl-sort-wrap,.jl-view-toggle{width:100%;min-width:0}.jl-search-wrap{width:100%}.jl-search-wrap,.jl-topbar-right .jl-sort-wrap:first-child,.jl-view-toggle{grid-column:1/-1}.jl-search,.jl-sort-sel{width:100%}.jl-filter-btn{justify-content:center}.jl-view-toggle{display:grid;grid-template-columns:repeat(2,1fr)}.jl-view-btn{width:auto}.jl-status-pills{gap:.25rem}.jl-pill{padding:.18rem .45rem;font-size:.6rem}.jl-filter-grid{grid-template-columns:1fr 1fr}.jl-grid{grid-template-columns:1fr;padding:.65rem}}@media (max-width:768px){.sidebar{position:fixed;top:var(--topbar-h);left:calc(-1 * var(--sidebar-w));bottom:0;z-index:1000;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.15)}.sidebar.open{left:0}.sidebar-overlay{position:fixed;top:var(--topbar-h);left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:999;animation:fIn .2s ease}.pg-header-actions{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.4rem}.topbar-logo{font-size:.9rem}.role-badge,.topbar-username{display:none}.job-detail-grid{grid-template-columns:1fr 1fr;gap:.5rem}.jd-val{font-size:.72rem}td,th{padding:.4rem .5rem}.topbar-menu-toggle{padding:.4rem!important;color:var(--tx)!important;display:flex!important;align-items:center;justify-content:center;border:1px solid var(--b2)!important;border-radius:8px!important;margin-right:.25rem;background:var(--s1)!important;box-shadow:var(--shadow)}.nav-section{display:flex;align-items:center;justify-content:space-between;padding-right:1rem}.sidebar-close-btn{background:none;border:none;color:var(--tx3);font-size:1rem;cursor:pointer;padding:.4rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.sidebar-close-btn:hover{background:var(--s3);color:var(--tx)}}@media (max-width:423px){.jl-search{width:140px}}.profile-grid{display:grid;grid-template-columns:1fr;gap:8px}@media (min-width:1024px){.profile-grid{grid-template-columns:3fr 4fr}}.profile-card{background:var(--s1);border:1px solid var(--b1);border-radius:10px;padding:1.5rem;box-shadow:var(--shadow)}.profile-card-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700;margin-bottom:.5rem;color:var(--tx);display:flex;align-items:center;gap:.4rem}.profile-card-desc{font-size:.72rem;color:var(--tx3);margin-bottom:1.25rem;line-height:1.4}.session-list{display:flex;flex-direction:column;gap:.75rem}.session-item{background:var(--s2);border:1px solid var(--b2);border-radius:8px;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:all .2s}.session-item.current-device{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 6%,transparent)}.session-device-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--s3);border-radius:50%;color:var(--tx2)}.session-details{flex:1;display:flex;flex-direction:column;gap:.15rem}.session-meta{font-weight:600;font-size:.82rem;color:var(--tx);display:flex;align-items:center;gap:.4rem}.session-badge{font-size:.58rem;padding:.1rem .4rem;border-radius:10px;background:rgba(0,168,85,.12);color:var(--acc3);font-weight:700;text-transform:uppercase}.session-subtext{font-size:.7rem;color:var(--tx3)}.passkey-list{display:flex;flex-direction:column;gap:.5rem}.passkey-item{background:var(--s2);border:1px solid var(--b2);border-radius:8px;padding:.75rem 1rem;justify-content:space-between;gap:1rem}.passkey-info,.passkey-item{display:flex;align-items:center}.passkey-info{gap:.6rem;font-size:.82rem;font-weight:600;color:var(--tx)}.passkey-meta{font-size:.68rem;color:var(--tx3);font-weight:400;margin-top:.1rem}.passkey-icon{font-size:1.1rem}.profile-skeleton-list{gap:.65rem}.profile-skeleton-item{pointer-events:none;min-height:62px}.profile-skeleton-main{display:flex;align-items:center;gap:.75rem;min-width:0;width:100%}.profile-skeleton-copy{display:flex;flex:1;flex-direction:column;gap:.45rem;min-width:0;max-width:260px}.profile-skeleton-copy-wide{max-width:340px}.profile-skeleton-icon{width:28px;height:28px;border-radius:50%;flex:0 0 28px}.profile-skeleton-avatar{width:40px;height:40px;border-radius:50%;flex:0 0 40px}.profile-skeleton-title{width:52%;height:12px}.profile-skeleton-title-wide{width:70%}.profile-skeleton-subtitle{width:78%;height:8px}.profile-skeleton-subtitle-short{width:42%}.profile-skeleton-button{width:64px;height:24px;border-radius:6px;flex:0 0 64px}@media (max-width:560px){.profile-skeleton-item{align-items:flex-start}.profile-skeleton-button{width:46px;flex-basis:46px}}.btn-passkey-login{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;background:var(--s2);border:1px solid var(--b2);color:var(--tx);padding:.55rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;margin-top:.75rem;transition:all .2s}.btn-passkey-login:hover{background:var(--s3);border-color:var(--b3)}.topbar-user-btn:hover{background-color:var(--s3)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.portal-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.1rem 1rem .9rem;background:var(--s1);border-radius:10px;cursor:pointer;text-align:left;text-decoration:none;transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow)}.portal-card:hover{transform:translateY(-3px);background:var(--s2)}.portal-card .btn{transition:all .22s ease}.portal-card--retail{border:1.5px solid color-mix(in srgb,var(--r-retail) 25%,var(--b2))}.portal-card--retail:hover{border-color:var(--r-retail);box-shadow:0 8px 24px color-mix(in srgb,var(--r-retail) 12%,transparent)}.portal-card--retail:hover .btn{background:var(--r-retail);color:#080c10;box-shadow:0 4px 12px color-mix(in srgb,var(--r-retail) 30%,transparent)}[data-theme=light] .portal-card--retail:hover .btn{color:#fff}.portal-card--engineer{border:1.5px solid color-mix(in srgb,var(--r-eng) 25%,var(--b2))}.portal-card--engineer:hover{border-color:var(--r-eng);box-shadow:0 8px 24px color-mix(in srgb,var(--r-eng) 12%,transparent)}.portal-card--engineer:hover .btn{background:var(--r-eng);color:#080c10;box-shadow:0 4px 12px color-mix(in srgb,var(--r-eng) 30%,transparent)}[data-theme=light] .portal-card--engineer:hover .btn{color:#fff}.portal-card--sales{border:1.5px solid color-mix(in srgb,var(--r-sales) 25%,var(--b2))}.portal-card--sales:hover{border-color:var(--r-sales);box-shadow:0 8px 24px color-mix(in srgb,var(--r-sales) 12%,transparent)}.portal-card--sales:hover .btn{background:var(--r-sales);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--r-sales) 30%,transparent)}.portal-card--admin{border:1.5px solid color-mix(in srgb,var(--warn) 25%,var(--b2))}.portal-card--admin:hover{border-color:var(--warn);box-shadow:0 8px 24px color-mix(in srgb,var(--warn) 12%,transparent)}.portal-card--admin:hover .btn{background:var(--warn);color:#080c10;box-shadow:0 4px 12px color-mix(in srgb,var(--warn) 30%,transparent)}[data-theme=light] .portal-card--admin:hover .btn{color:#fff}@media (max-width:420px){.portal-grid{grid-template-columns:1fr}}.shell.role-engineer{--acc:var(--acc3)}.shell.role-sales{--acc:var(--acc2)}.shell.role-admin{--acc:var(--warn)}.analytics-filters{display:flex;gap:8px;align-items:flex-end;flex-wrap:nowrap;justify-content:flex-end;margin-right:8px;min-width:0;max-width:100%}.filter-group{display:flex;flex-direction:column;flex:0 0 auto;gap:.2rem;min-width:fit-content}.filter-group:has(.btn){flex:0 0 auto;min-width:fit-content}.analytics-filters .dashboard-select{width:fit-content;min-width:max-content;max-width:100%}.filter-group:has(.btn) .btn{width:fit-content;min-width:max-content}.filter-group label{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--tx3);letter-spacing:.05em}.dashboard-select{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--b2);background:var(--s1);color:var(--tx);font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:500;outline:none;cursor:pointer;transition:all .2s}.dashboard-select:focus,.dashboard-select:hover{border-color:var(--acc)}.dashboard-charts-row{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-bottom:8px}@media (max-width:900px){.dashboard-charts-row{grid-template-columns:1fr}}.chart-card{background:var(--s1);border:1px solid var(--b1);border-radius:12px;padding:1.2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative;transition:all .3s}.chart-card:hover{box-shadow:var(--shadow-lg);border-color:var(--b2)}.chart-card-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700;color:var(--tx)}.chart-card-subtitle{font-size:.7rem;color:var(--tx3);margin-bottom:.5rem}.donut-chart-container{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:1rem;flex:1}.donut-svg-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.donut-center-num{font-family:DM Mono,monospace;font-size:1.5rem;font-weight:700;fill:var(--tx)}.donut-center-lbl{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;fill:var(--tx3)}.donut-legend{display:flex;flex-direction:column;gap:.4rem;min-width:140px}.legend-item{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid transparent;border-radius:6px;padding:.25rem .5rem;cursor:pointer;width:100%;text-align:left;font-family:Plus Jakarta Sans,sans-serif;color:var(--tx);transition:all .2s}.legend-item:hover{background:var(--s2);border-color:var(--b1)}.legend-item.active{background:var(--s3);border-color:var(--acc);font-weight:600}.legend-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-label{font-size:.75rem;color:var(--tx2);flex:1}.legend-count{font-family:DM Mono,monospace;font-size:.75rem;font-weight:600;color:var(--tx3)}.chart-tooltip{position:absolute;background:var(--s1);border:1px solid var(--b2);box-shadow:var(--shadow-lg);border-radius:8px;padding:.5rem .75rem;font-size:.75rem;color:var(--tx);pointer-events:none;z-index:10;animation:tooltipFadeIn .15s ease-out}.donut-tooltip{top:50%;left:50%;transform:translate(-50%,-50%)}.donut-tooltip,.trend-tooltip{background:var(--s1);border-color:var(--b3)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.trend-chart-container{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center}.trend-svg-wrapper{position:relative;width:100%}.chart-empty-state{display:flex;align-items:center;justify-content:center;color:var(--tx3);font-size:.8rem;height:150px;border:1px dashed var(--b2);border-radius:8px;width:100%}.dashboard-lower-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:8px;min-width:0;max-width:100%}@media (max-width:900px){.dashboard-lower-row{grid-template-columns:1fr}}.lower-charts-col{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%}.items-bars-container,.store-bars-container{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-height:300px;overflow-y:auto;padding-right:4px}.store-bar-row{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.store-bar-label{width:120px;font-weight:500;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.4rem}.store-bar-rank{font-size:.65rem;font-weight:700;background:var(--s3);color:var(--tx3);padding:.1rem .3rem;border-radius:4px;min-width:22px;text-align:center}.store-bar-rank.item-rank{background:rgba(128,64,224,.1);color:var(--acc4)}.store-bar-track{flex:1;height:8px;background:var(--s2);border-radius:4px;overflow:hidden;border:1px solid var(--b1)}.store-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--acc) 0,var(--status-progress) 100%);border-radius:4px;transition:width .8s cubic-bezier(.16,1,.3,1)}.store-bar-fill.item-fill{background:linear-gradient(90deg,var(--acc4) 0,var(--status-repairing) 100%)}.store-bar-count{font-family:DM Mono,monospace;font-weight:600;color:var(--tx2);font-size:.75rem;width:55px;text-align:right}.insights-panel-card{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--s2) 72%,transparent),transparent 120px),var(--s1);border:1px solid var(--b1);border-radius:8px;overflow:hidden;padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;min-width:0;max-width:100%}.insights-panel-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--warn),var(--acc),var(--acc3));pointer-events:none}.insights-panel-title{position:relative;display:flex;align-items:center;gap:.45rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:700;color:var(--tx);letter-spacing:0}.insights-panel-subtitle{font-size:.68rem;color:var(--tx3);margin-bottom:.85rem}.insights-content{display:grid;align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:10px;overflow:visible;flex:1;width:100%;min-height:0;min-width:0;max-width:100%}.items-bars-container::-webkit-scrollbar,.store-bars-container::-webkit-scrollbar{width:3px}.items-bars-container::-webkit-scrollbar-track,.store-bars-container::-webkit-scrollbar-track{background:var(--s2)}.items-bars-container::-webkit-scrollbar-thumb,.store-bars-container::-webkit-scrollbar-thumb{background:var(--b3);border-radius:2px}body,html{overflow-x:hidden}.shell{height:100dvh;max-height:100dvh;overflow:hidden}.jl-root,.jl-table-wrap,.main-content,.page-area,.pg-body{min-width:0;max-width:100%}.page-area{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.sidebar{overflow:hidden!important}.pg-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.pg-body:has(>.jl-root),.pg-body:has(>.tab-pane-content:has(>.jl-root:only-child)){overflow:hidden}.jl-root{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.jl-table-wrap{width:100%}@media (min-width:768px){.jl-table thead th{position:sticky;top:0;z-index:2;background:var(--s2)}}.pjm-table-wrap,.table-responsive{min-height:0;overflow:hidden}.pjm-table-wrap,.table-responsive,.tbl-wrap>div:has(>table){overflow:auto;overscroll-behavior:contain}.tbl-wrap>div:has(>table){max-height:min(560px,calc(100dvh - 220px))}.pjm-table-wrap,.table-responsive{max-height:min(620px,calc(100dvh - 220px))}.finance-table thead th,.pjm-table thead th,.tbl-wrap table thead th{position:sticky;top:0;z-index:2}body,html{width:100%;max-width:100%}.shell{min-height:100dvh}.chart-card,.jl-root,.main-content,.modal,.page-area,.pg-body,.pg-header,.portal-card,.profile-card,.stat-card,.tbl-wrap,.topbar{min-width:0}.chart-card,.jl-root,.page-area,.pg-body,.tbl-wrap{max-width:100%}.topbar{gap:8px}.analytics-filters,.jl-topbar-left,.jl-topbar-right,.pg-header-actions,.pg-header-left,.pg-header>*,.tbl-header>*,.topbar-right,.topbar>div:first-child{min-width:0}.eng-name,.jl-card-narr,.jl-card-party,.leader-name,.pg-sub,.pg-title,.tbl-title,.topbar-logo{overflow:hidden;text-overflow:ellipsis}.eng-name,.jl-card-party,.leader-name,.pg-title,.tbl-title,.topbar-logo{white-space:nowrap}.finance-table,.jl-table-wrap,.pjm-table-wrap,.table-responsive,.tbl-wrap{max-width:100%}.jl-table-wrap,.pjm-table-wrap,.table-responsive,.tbl-wrap>div:has(>table){overflow-x:auto;overscroll-behavior-x:contain}.dashboard-select,.form-inp,.jl-fld-date,.jl-fld-sel,.jl-search,.jl-sort-sel,.search-inp,.sel-inp,.txt-inp{max-width:100%}@media (max-width:1023px){.admin-master-grid,.admin-stats-row,.engineers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-filters{width:100%;flex-wrap:wrap;justify-content:flex-start;margin-right:0}}@media (max-width:767px){.topbar{padding:0 8px}.topbar>div:first-child{flex:1}.topbar-logo{max-width:42vw}.topbar-right{flex-shrink:0;justify-content:flex-end}.pg-header{align-items:center;gap:8px;padding:8px}.analytics-filters,.jl-topbar-left,.jl-topbar-right,.tbl-header>div{width:100%}.jl-topbar-right,.tbl-header>div{align-items:stretch}.dashboard-select,.jl-filter-btn,.jl-search,.jl-search-wrap,.jl-sort-sel,.jl-view-toggle,.pg-header-actions .btn,.search-inp,.tbl-header .btn{width:100%}.analytics-filters .filter-group{width:auto;flex:0 0 auto;min-width:fit-content}.analytics-filters .filter-group:has(.btn){flex:0 0 auto;min-width:fit-content}.analytics-filters .filter-group:has(.btn) .btn{width:fit-content;min-width:max-content}.pg-header>*{width:auto}.pg-header>div:first-child{flex:0 1 auto;min-width:min(100%,220px)}.pg-header-actions{width:auto;flex:0 1 auto}.job-detail-header{gap:15px;padding:10px}.job-detail-header .pg-header-left .btn{padding:.45rem .7rem}.job-detail-header .pg-header-actions{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:0}.analytics-tabs-wrapper,.jl-status-pills{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:2px;scrollbar-width:none}.analytics-tabs-wrapper::-webkit-scrollbar,.jl-status-pills::-webkit-scrollbar{display:none}.analytics-tab,.jl-pill{flex-shrink:0}.admin-master-grid,.admin-stats-row,.customers-items-row,.dashboard-lower-row,.engineers-grid,.stats-grid{grid-template-columns:1fr}.admin-master-grid,.admin-stats-row,.customers-items-row,.engineers-grid,.stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}.dashboard-charts-row,.finance-row{grid-template-columns:1fr}.confirm-dialog,.modal{width:min(100%,calc(100vw - 16px));max-height:calc(100dvh - 16px)}}@media (max-width:479px){.login-page{align-items:flex-start;padding:8px}.login-theme-toggle{position:static;align-self:flex-end;margin-bottom:8px}.login-card{margin:0;padding:16px}.portal-grid{grid-template-columns:1fr}.topbar-logo{max-width:50vw}.btn,.portal-card .btn{min-width:0}.toast{left:8px;right:8px;width:auto;max-width:none}}.jl-root,.jl-table-wrap{min-width:0;max-width:100%}.jl-table-wrap{flex:1;min-height:0;max-height:100%;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.jl-table{min-width:860px}.insight-section-alert{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.55rem;width:100%;min-width:0;min-height:230px;max-height:330px;border:1px solid var(--b1);border-radius:8px;background:color-mix(in srgb,var(--s2) 58%,transparent);padding:.75rem;font-size:.78rem;overflow:hidden}.insight-section-alert:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--warn)}.insight-section-alert:after{content:"";position:absolute;inset:-40px -44px auto auto;width:92px;height:92px;border-radius:999px;background:color-mix(in srgb,var(--warn) 12%,transparent);pointer-events:none}.insight-section-alert.warning{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--s2))}.insight-section-alert.warning:before{background:var(--warn)}.insight-section-alert.warning:after{background:color-mix(in srgb,var(--warn) 14%,transparent)}.insight-section-alert.success{border-color:var(--acc3);background:color-mix(in srgb,var(--acc3) 7%,var(--s2))}.insight-section-alert.success:before{background:var(--acc3)}.insight-section-alert.success:after{background:color-mix(in srgb,var(--acc3) 14%,transparent)}.insight-section-alert.danger{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--s2))}.insight-section-alert.danger:before{background:var(--danger)}.insight-section-alert.danger:after{background:color-mix(in srgb,var(--danger) 14%,transparent)}.insight-alert-header{display:flex;align-items:center;gap:.55rem;min-width:0;margin-bottom:0;font-size:.78rem;color:var(--tx)}.insight-alert-header .icon{display:inline-grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid var(--b1);border-radius:8px;background:var(--s1);font-size:.8rem}.insight-alert-header strong{min-width:0;line-height:1.25;overflow-wrap:anywhere}.insight-section-alert p{color:var(--tx2);margin:0;font-size:.72rem;line-height:1.45;padding-left:2.6rem}.quick-action-list{display:grid;align-content:start;gap:6px;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior-y:auto;touch-action:pan-y;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--b3) transparent}.quick-action-list::-webkit-scrollbar{width:4px}.quick-action-list::-webkit-scrollbar-track{background:transparent}.quick-action-list::-webkit-scrollbar-thumb{background:var(--b3);border-radius:999px}.quick-action-btn{position:relative;min-height:34px;background:color-mix(in srgb,var(--s1) 82%,transparent);border:1px solid var(--b1);border-radius:6px;padding:.42rem 2rem .42rem .65rem;text-align:left;font-size:.72rem;cursor:pointer;color:var(--tx2);font-weight:500;transition:border-color .18s ease,background .18s ease,color .18s ease;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.quick-action-btn:after{content:"View";position:absolute;right:.55rem;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.quick-action-btn:hover{background:var(--s1);border-color:var(--acc);color:var(--tx)}@media (max-width:767px){.insights-content{grid-template-columns:1fr}.insight-section-alert{min-height:auto;max-height:none}.insight-section-alert p{padding-left:0}.quick-action-list{max-height:220px}.quick-action-btn{white-space:nowrap}.quick-action-btn:after{position:absolute;display:inline;transform:translateY(-50%);margin-top:0}}.insights-all-clear{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;gap:.5rem;flex:1}.insights-all-clear .clear-icon{font-size:2.2rem}.insights-all-clear h4{font-weight:700;color:var(--acc3);font-size:.9rem}.insights-all-clear p{font-size:.75rem;color:var(--tx3);max-width:200px}.dashboard-joblist-section-header{border-top:1px solid var(--b1);margin-top:8px;padding-top:8px;margin-bottom:8px}.dashboard-joblist-section-header .section-title{font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700;color:var(--tx)}.filter-badge-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.status-indicator-badge{color:#fff;padding:.15rem .4rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase}.clear-filter-btn{background:var(--s2);border:1px solid var(--b2);color:var(--tx2);font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s}.clear-filter-btn:hover{background:var(--b1);color:var(--tx);border-color:var(--b3)}.sales-recent-jobs-card{display:flex;flex-direction:column;gap:.75rem;min-width:0;width:100%;margin-top:.9rem}.sales-recent-jobs-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;min-width:0;padding:0 .15rem}.sales-recent-jobs-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tx)}.sales-recent-jobs-subtitle{margin-top:.18rem;font-size:.72rem;color:var(--tx3)}.sales-recent-jobs-card .jl-root{flex:0 0 auto;width:100%}.sales-recent-jobs-card .jl-table-wrap{max-height:none}.sales-recent-jobs-card .jl-table thead th{top:0}.tab-pane-content:not(:has(>.jl-root:only-child)) .sales-recent-jobs-card .jl-root,.tab-pane-content:not(:has(>.jl-root:only-child)) .sales-recent-jobs-card .jl-table-wrap{overflow:hidden!important}.tab-pane-content:not(:has(>.jl-root:only-child)) .sales-recent-jobs-card .jl-table thead th,.tab-pane-content:not(:has(>.jl-root:only-child)) .sales-recent-jobs-card .jl-topbar{position:static}@media (max-width:760px){.sales-recent-jobs-header{align-items:flex-start;flex-direction:column}}.stat-card.c-red:before{background:rgba(224,48,64,.08)}.c-red .stat-num{color:var(--danger)}.analytics-tabs-wrapper{background:var(--s1);border-bottom:1px solid var(--b1);padding:0 1.25rem;display:flex;align-items:center;overflow-x:auto;scrollbar-width:none}.analytics-tabs-wrapper::-webkit-scrollbar{display:none}.analytics-tabs{display:flex;gap:8px}.analytics-tab{background:none;border:none;padding:.85rem .25rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:700;color:var(--tx2);cursor:pointer;display:flex;align-items:center;gap:.4rem;position:relative;transition:color .2s;white-space:nowrap}.analytics-tab:hover{color:var(--tx)}.analytics-tab.active{color:var(--acc)}.analytics-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--acc);border-radius:2px 2px 0 0;animation:tabLineEnter .2s ease forwards}@keyframes tabLineEnter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tab-pane-content{animation:tabFadeIn .3s cubic-bezier(.22,1,.36,1) forwards}.tab-pane-content:has(>.jl-root:only-child){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.engineers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.engineer-workload-card{background:var(--s1);border:1px solid var(--b1);border-radius:10px;padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s;overflow:hidden}.engineer-workload-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.eng-card-header{display:flex;align-items:center;gap:.75rem}.eng-avatar-placeholder{background:var(--s3);color:var(--acc);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.eng-avatar,.eng-avatar-placeholder{width:36px;height:36px;border-radius:50%;border:1px solid var(--b2)}.eng-avatar{object-fit:cover}.eng-info{flex:1;min-width:0}.eng-name{font-weight:700;color:var(--tx);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-username{font-size:.7rem;color:var(--tx3)}.load-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:12px;letter-spacing:.05em}.load-low{background:rgba(0,168,85,.1);color:var(--acc3);border:1px solid rgba(0,168,85,.2)}.load-medium{background:rgba(0,153,204,.1);color:var(--acc);border:1px solid rgba(0,153,204,.2)}.load-high{background:rgba(224,48,64,.1);color:var(--danger);border:1px solid rgba(224,48,64,.2)}.eng-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;background:var(--s2);padding:.6rem;border-radius:8px;text-align:center}.eng-stat{display:flex;flex-direction:column;gap:.15rem}.eng-stat .num{font-family:DM Mono,monospace;font-size:1.1rem;font-weight:600;color:var(--tx)}.eng-stat .lbl{font-size:.58rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em}.eng-progress-container{display:flex;flex-direction:column;gap:.35rem}.progress-lbl-row{display:flex;justify-content:space-between;font-size:.68rem;color:var(--tx2);font-weight:600}.capacity-bar-track{height:6px;background:var(--s3);border-radius:3px;overflow:hidden}.capacity-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.capacity-bar-fill.load-low{background:var(--acc3)}.capacity-bar-fill.load-medium{background:var(--acc)}.capacity-bar-fill.load-high{background:var(--danger)}.eng-active-jobs-list{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--b1);padding-top:8px;flex:1;overflow:hidden}.eng-active-jobs-list .list-title{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--tx3);letter-spacing:.05em}.eng-jobs-scroll{max-height:210px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.eng-job-row-btn{background:var(--s2);border:1px solid var(--b1);border-radius:6px;padding:.4rem .5rem;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;transition:all .15s;width:100%;font-family:inherit}.eng-job-row-btn:hover{background:var(--s3);border-color:var(--b2)}.eng-job-row-btn .job-id-col{font-family:DM Mono,monospace;font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:.35rem;color:var(--tx)}.eng-job-row-btn .job-id-col .dot{width:6px;height:6px;border-radius:50%;display:inline-block}.eng-job-row-btn .job-party-col{font-size:.72rem;color:var(--tx2);font-weight:600;flex:1;margin-left:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-job-row-btn .job-status-col{font-size:.65rem;font-weight:700;color:var(--tx3)}.eng-no-jobs{font-size:.72rem;color:var(--tx3);text-align:center;padding:1.5rem 0;background:var(--s2);border-radius:6px;border:1px dashed var(--b1)}.finance-row{display:grid;grid-template-columns:1fr 1.2fr;gap:8px}@media (max-width:900px){.finance-row{grid-template-columns:1fr}}.finance-col-left,.finance-col-right{display:flex;flex-direction:column;gap:8px}.unpaid-invoices-list{max-height:380px;overflow-y:auto;padding-right:.25rem}.unpaid-invoices-list::-webkit-scrollbar{width:3px}.unpaid-invoices-list::-webkit-scrollbar-track{background:var(--s2)}.unpaid-invoices-list::-webkit-scrollbar-thumb{background:var(--b3);border-radius:2px}.finance-payment-modes{display:flex;flex-direction:column;gap:8px;margin:8px 0}.payment-mode-bar-row{display:flex;flex-direction:column;gap:.3rem}.payment-mode-bar-row .mode-info{display:flex;justify-content:space-between;font-size:.72rem;font-weight:600;color:var(--tx)}.payment-mode-bar-row .mode-amount{font-family:DM Mono,monospace;font-weight:700}.payment-mode-bar-row .mode-track{height:8px;background:var(--s3);border-radius:4px;overflow:hidden}.payment-mode-bar-row .mode-fill{height:100%;border-radius:4px;transition:width .4s ease}.payment-mode-bar-row .mode-percentage{align-self:flex-end;font-size:.62rem;color:var(--tx3);font-weight:700}.finance-table{width:100%;border-collapse:collapse;font-size:.75rem}.finance-table th{text-align:left;padding:.5rem .6rem;border-bottom:2px solid var(--b1);color:var(--tx3);text-transform:uppercase;font-size:.62rem;letter-spacing:.05em}.finance-table td{padding:.6rem;border-bottom:1px solid var(--b1);vertical-align:middle}.finance-table tr:hover td{background:var(--s2)}.finance-table .party-name{font-weight:700;color:var(--tx)}.finance-table .status-sub{font-size:.65rem;color:var(--tx3);display:flex;align-items:center;gap:.25rem;margin-top:.15rem}.finance-table .status-sub .dot{width:5px;height:5px;border-radius:50%}.table-responsive{width:100%;overflow-x:auto}.customers-items-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width:800px){.customers-items-row{grid-template-columns:1fr}}.customers-leaderboard{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;padding-right:4px}.customers-leaderboard::-webkit-scrollbar{width:3px}.customers-leaderboard::-webkit-scrollbar-track{background:var(--s2)}.customers-leaderboard::-webkit-scrollbar-thumb{background:var(--b3);border-radius:2px}.leaderboard-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--s2);border:1px solid var(--b1);border-radius:8px;transition:transform .15s}.leaderboard-row:hover{transform:translateX(3px);border-color:var(--b2)}.leader-position-badge{width:24px;height:24px;border-radius:50%;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}.leaderboard-row:first-child .leader-position-badge{background:#ffd700;color:#000}.leaderboard-row:nth-child(2) .leader-position-badge{background:#c0c0c0;color:#000}.leaderboard-row:nth-child(3) .leader-position-badge{background:#cd7f32;color:#fff}.leader-details{flex:1;min-width:0}.leader-name{font-weight:700;color:var(--tx);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-volume{font-size:.65rem;color:var(--tx3)}.leader-revenue{font-family:DM Mono,monospace;font-weight:700;color:var(--acc3);font-size:.8rem}.empty-tab-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;background:var(--s1);border:1px dashed var(--b2);border-radius:10px;color:var(--tx3)}.empty-tab-state .icon{font-size:2.5rem;margin-bottom:.75rem}.empty-tab-state h3{font-size:1rem;font-weight:700;color:var(--tx);margin-bottom:.35rem}.empty-tab-state p{font-size:.78rem;max-width:320px}.items-bars-container{max-height:380px;overflow-y:auto;padding-right:.25rem}.items-bars-container::-webkit-scrollbar{width:3px}.items-bars-container::-webkit-scrollbar-track{background:var(--s2)}.items-bars-container::-webkit-scrollbar-thumb{background:var(--b3);border-radius:2px}.tab-pane-content:not(:has(>.jl-root:only-child)) .jl-root{max-width:100%!important;overflow:hidden!important;max-height:none!important}.tab-pane-content:not(:has(>.jl-root:only-child)) .jl-table-wrap{max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;max-height:none!important}@media (min-width:768px){.tab-pane-content:not(:has(>.jl-root:only-child)) .dashboard-joblist-section-header{position:static;background:var(--bg)}.tab-pane-content:not(:has(>.jl-root:only-child)) .dashboard-joblist-section-header:before{display:none}.tab-pane-content:not(:has(>.jl-root:only-child)) .jl-topbar{position:static;background:var(--s1);border-radius:12px 12px 0 0}.tab-pane-content:not(:has(>.jl-root:only-child)) .jl-topbar:after{display:none}.tab-pane-content:not(:has(>.jl-root:only-child)) .jl-table thead th{position:static;top:auto;z-index:auto;background:var(--s2);box-shadow:none}}