
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#090a0c;--surface:#111215;--surface2:#18191d;--line:#292a30;--muted:#8b8d96;--text:#f5f5f6;--red:#ed2435;--red2:#ab1728;--green:#74caa4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{background:#121317;color:#fff;border:1px solid #34353b;border-radius:6px;padding:11px 12px;outline:none;width:100%;min-width:0}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--red)}select option{background:#151515}button:focus-visible{outline:2px solid #fff;outline-offset:2px}h1,h2,h3,p{margin-top:0}.headfont,.logo,h1,h2,h3,.big,.statnum,.tabular{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;text-transform:uppercase}h1{font-size:46px;line-height:.98;letter-spacing:.3px;margin-bottom:12px;font-weight:800}h2{font-size:25px;font-weight:800;margin:0}h3{font-size:18px;font-weight:800;margin:0}.muted{color:var(--muted)}.eyebrow{font-size:10px;color:var(--red);font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}.app{display:flex;min-height:100vh}.sidebar{width:256px;min-width:256px;border-right:1px solid var(--line);background:#0d0e10;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;padding:31px 17px}.logo{font-size:34px;letter-spacing:-1.5px;font-weight:900;line-height:1}.logo b{color:var(--red)}.logo small{display:block;color:#9b9ca4;letter-spacing:3.2px;font:700 10px 'DM Sans';margin-top:8px}.sidebar .logo{padding:0 16px 42px}.navgroup{font-size:10px;letter-spacing:2px;color:#646671;font-weight:800;padding:0 16px 15px}.nav{border:0;width:100%;display:flex;align-items:center;text-align:left;background:transparent;color:#92939c;font-weight:700;border-radius:5px;padding:13px 14px;margin-bottom:6px;gap:14px}.nav.active{color:#fff;background:#202024;border-left:3px solid var(--red);padding-left:11px}.nav:hover{background:#1b1c20;color:#fff}.nav svg{width:18px;height:18px;stroke-width:1.9}.sidefoot{margin-top:auto;border-top:1px solid var(--line);padding:20px 13px 0}.tag{color:#ddd;background:#24262a;padding:6px 9px;font-size:10px;font-weight:800;letter-spacing:1px;border-radius:3px;display:inline-block}.sidefoot p{font-size:11px;line-height:1.7;color:#757781;margin:12px 0}.sidefoot .tag{color:var(--red)}.shell{flex:1;min-width:0}.main{min-width:0;padding:0 4.6vw 50px;max-width:1700px;margin:0 auto}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.crumb{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#777985;text-transform:uppercase}.crumb strong{color:#f3f3f4}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{border:1px solid #3d3e44;background:#1e1f23;color:white;padding:11px 16px;border-radius:4px;font-weight:800;letter-spacing:.4px;font-size:11px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px}.btn:hover{background:#2b2d32}.btn.red{background:var(--red);border-color:var(--red)}.btn.red:hover{background:#cf1d2b}.btn.ghost{background:transparent}.btn.small{padding:8px 10px;min-height:30px;font-size:10px}.btn.danger{color:#ff9098;border-color:#64313a}.content{padding-top:41px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:35px}.hero p{font-size:13px;line-height:1.6;color:#999ba5;max-width:580px;margin-bottom:0}.redline{height:3px;width:35px;background:var(--red);margin:21px 0 0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:34px}.stat{border:1px solid var(--line);background:linear-gradient(135deg,#191a1e,#101114);padding:22px;min-height:122px;position:relative;overflow:hidden}.stat:after{content:'';height:3px;width:29px;background:#454650;position:absolute;right:17px;top:20px}.stat.highlight:after{background:var(--red)}.statlabel{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#888b94;text-transform:uppercase}.statnum{font-size:38px;font-weight:800;line-height:1.25;margin-top:7px}.statnum span{font:600 12px 'DM Sans';color:#888;margin-left:5px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 17px}.sectionhead small{font-size:11px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}.panel{border:1px solid var(--line);background:#121316;border-radius:4px;overflow:hidden}.panelpad{padding:23px}.paneltitle{border-bottom:1px solid var(--line);padding:17px 21px;display:flex;justify-content:space-between;align-items:center;gap:15px}.paneltitle h3{font-size:18px}.engine-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.engine-card{border:1px solid #303136;background:linear-gradient(150deg,#1c1d21,#111215);padding:22px;position:relative;cursor:pointer;transition:.16s;min-height:185px}.engine-card:hover{border-color:#ad3441;transform:translateY(-2px)}.engine-card .micro{font-size:10px;letter-spacing:1.5px;color:#858792;font-weight:800}.engine-card .engine-name{font:800 29px 'Barlow Condensed';margin:22px 0 8px;text-transform:uppercase}.engine-card .engine-meta{font-size:11px;color:#91939d}.engine-card .arrow{position:absolute;right:19px;bottom:15px;color:var(--red);font-size:23px}.pill{display:inline-block;background:rgba(237,36,53,.13);color:#ff7782;font-size:10px;letter-spacing:.5px;padding:6px 9px;font-weight:800;border:1px solid rgba(237,36,53,.3);border-radius:3px}.pill.green{background:rgba(76,165,115,.12);border-color:rgba(76,165,115,.25);color:#8de2b7}.pill.grey{background:#24252a;border-color:#303136;color:#b5b5bd}.timeline-item{display:flex;gap:15px;padding:16px 0;border-bottom:1px solid #292a2f}.timeline-item:last-child{border-bottom:0}.timeline-dot{height:9px;width:9px;background:var(--red);border-radius:50%;flex-shrink:0;margin-top:6px;box-shadow:0 0 0 5px rgba(237,36,53,.1)}.timeline-item b{font-size:12px}.timeline-item p{font-size:11px;margin:6px 0 0;color:#8f919c;line-height:1.5}.empty{padding:40px 22px;text-align:center;color:#92949d;font-size:12px;line-height:1.7}.empty b{display:block;color:#fff;font:800 24px 'Barlow Condensed';margin-bottom:6px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar input{max-width:320px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:13px 16px;background:#1a1b1f;border-bottom:1px solid #313237;font-size:10px;letter-spacing:1.2px;color:#8d8f99;text-transform:uppercase}.data-table td{padding:16px;border-bottom:1px solid #27282e;font-size:12px;color:#d8d9df}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#1b1c20}.data-table td strong{color:#fff}.tablewrap{overflow-x:auto}.tabbar{display:flex;gap:4px;border-bottom:1px solid #303137;overflow-x:auto;margin:26px 0 20px}.tab{white-space:nowrap;border:0;background:transparent;color:#9a9ca5;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.6px;padding:13px 17px;border-bottom:3px solid transparent}.tab.active{color:white;border-bottom-color:var(--red)}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:10px;letter-spacing:1.1px;font-weight:800;color:#a6a8b1;text-transform:uppercase}.field.full{grid-column:1/-1}.field .hint{font-size:10px;color:#757780;line-height:1.5}.formbottom{margin-top:22px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.progress-track{height:6px;background:#33343b;overflow:hidden;border-radius:10px}.progress-bar{background:var(--red);height:100%;transition:width .25s}.progressbox{display:grid;grid-template-columns:1fr auto;gap:11px;align-items:center;margin:12px 0 20px}.progressbox small{font-size:11px;color:#bbb}.check-row{display:flex;align-items:center;gap:14px;padding:15px 16px;border-bottom:1px solid #28292e}.check-row:last-child{border:0}.check-row input{appearance:none;width:20px;height:20px;flex-shrink:0;border:1px solid #60616c;border-radius:3px;padding:0;cursor:pointer;position:relative}.check-row input:checked{background:var(--red);border-color:var(--red)}.check-row input:checked:after{content:'✓';position:absolute;left:3px;top:-3px;color:#fff;font-size:18px}.check-row label{cursor:pointer;flex:1;font-size:12px;color:#e7e7e9}.check-row input:checked+label{color:#92939d;text-decoration:line-through}.check-group{font-size:11px;font-weight:900;letter-spacing:1.8px;color:#fd6c79;padding:14px 16px;background:#191a1e;border-bottom:1px solid #303136;text-transform:uppercase}.redtext{color:#ff6774}.notice{padding:13px 16px;border:1px solid #59313a;background:#27161c;color:#ff9da5;font-size:11px;line-height:1.6;margin:16px 0}.subtle{font-size:11px;color:#84868f}.builderhead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.builderhead .status{padding-top:7px}.datacard{padding:16px;border:1px solid #2a2b31;background:#16171a;margin-bottom:10px}.datacard p{font-size:11px;color:#a3a5ac;white-space:pre-wrap;line-height:1.65;margin:8px 0}.datacard .between{display:flex;justify-content:space-between;gap:12px;align-items:center}.datacard .between strong{font-size:13px}.note-list{display:grid;gap:10px}.photo-preview{max-width:100%;max-height:220px;object-fit:cover;margin-top:12px;border:1px solid #3b3c42}.toast{position:fixed;top:max(16px,env(safe-area-inset-top));right:16px;bottom:auto;z-index:10000;max-width:min(420px,calc(100vw - 32px));pointer-events:none;background:#232428;color:white;border-left:3px solid var(--red);padding:13px 19px;box-shadow:0 10px 35px #0009;font-weight:700;font-size:12px}.mobilebar{display:none}.modalwrap{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(5px)}.modal{width:min(600px,100%);max-height:90vh;overflow:auto;border:1px solid #44454b;background:#16171a;box-shadow:0 20px 80px #000;padding:27px}.modal h2{margin-bottom:8px}.modal .formgrid{margin-top:25px}.modal{position:relative;padding-top:38px}.close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:6px;background:#26272c;border:1px solid #414249;color:#fff;font-size:25px;line-height:1;z-index:2}.close:hover{background:#3b232b;border-color:var(--red)}.footer{color:#646670;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-top:45px;border-top:1px solid var(--line);padding-top:20px}.utility-buttons{display:flex;gap:8px;flex-wrap:wrap}.files{font-size:11px}.minirow{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px} .minibadge{font-size:10px;color:#888a94;letter-spacing:1px;text-transform:uppercase}.cost{font-family:'Barlow Condensed';font-size:24px;font-weight:800}.hero .btn{flex-shrink:0}
@media(max-width:1100px){.sidebar{width:210px;min-width:210px}.main{padding-left:25px;padding-right:25px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.engine-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:740px){.sidebar{display:none}.mobilebar{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);background:#0c0d0f}.mobilebar .logo{font-size:25px}.mobilebar .logo small{font-size:8px;margin-top:3px}.mobilemenu{background:#16171a;border-bottom:1px solid var(--line);padding:8px 16px;position:sticky;top:68px;z-index:20;display:flex;gap:8px;overflow-x:auto}.mobilemenu button{background:#25262a;border:0;color:#ddd;font-size:11px;padding:10px;white-space:nowrap}.main{padding:0 16px 35px}.topbar{height:61px}.crumb{font-size:9px}.topbar .btn{padding:8px;font-size:9px;min-height:32px}.content{padding-top:28px}.hero{display:block}.hero .btn{margin-top:18px}.hero h1{font-size:37px}.stats{gap:8px;margin-bottom:25px}.stat{padding:17px;min-height:105px}.statnum{font-size:32px}.engine-list{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.formgrid .field.full{grid-column:auto}.panelpad{padding:16px}.paneltitle{padding:15px}.tab{font-size:10px;padding:12px}.modal{padding:20px}.sectionhead h2{font-size:22px}.tablewrap{overflow-x:auto}}

/* User-owned checklist & opt-in suggestions */
.custom-check-row{gap:12px}.custom-check-row label{flex:1;min-width:0;overflow-wrap:anywhere}.custom-check-row .actions{margin-left:auto;flex-shrink:0}.task-done{text-decoration:line-through;color:var(--muted)}.suggestion-section{border:1px solid var(--line);background:var(--surface);padding:21px;margin-top:18px}.suggestion-content{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.suggest-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}.suggest-row span{overflow-wrap:anywhere}.suggest-row .btn{flex-shrink:0}.suggest-group{margin-top:12px}.suggest-group .check-group{padding:10px 14px}@media(max-width:740px){.custom-check-row .actions{gap:4px}.custom-check-row .btn{padding:7px}.suggestion-section{padding:15px}}
.check-group{min-height:38px}.check-group .btn{font-size:10px}.sectionhead .actions{flex-wrap:wrap}.timeline-item{align-items:flex-start}.timeline-item p{line-height:1.6}@media(max-width:740px){.sectionhead{align-items:flex-start;flex-wrap:wrap}.sectionhead .actions{width:100%}.sectionhead .actions .btn{flex:1;min-width:120px}}

/* V1.4 workshop polish */
:root{color-scheme:dark}html{scroll-behavior:smooth}button,.panel,.nav,.tab{transition:background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease}button:not(:disabled):active{transform:scale(.975)}.content,.hero,.panel,.engine-card,.stat{animation:riseIn .32s both}@keyframes riseIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes slideToast{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast{animation:slideToast .2s ease}.suggestion-content{animation:riseIn .24s ease}.searchbar{position:relative}.searchbar input{padding-left:36px}.searchbar:before{content:'⌕';position:absolute;left:12px;top:7px;font-size:25px;color:#777}.suggest-browser{display:grid;grid-template-columns:200px minmax(0,1fr);gap:15px;margin-top:20px}.suggest-cats{display:flex;flex-direction:column;gap:5px}.suggest-cat{text-align:left;padding:11px 12px;border:1px solid transparent;color:#aaadb7;background:#191a1e;border-radius:4px;font-size:11px;font-weight:750}.suggest-cat.active{background:#2a1a20;color:#fff;border-color:#a63844}.suggest-cat span{float:right;color:#777}.suggest-results{min-width:0;border:1px solid #303138;background:#111215;border-radius:5px;overflow:hidden}.suggest-row{gap:15px}.suggest-row span{font-size:12px;line-height:1.55}.suggest-row:hover{background:#1a1b20}.suggest-head{padding:14px 15px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #303138}.suggest-head .searchbar{flex:1;max-width:340px}.suggest-head input{font-size:12px;padding-top:9px;padding-bottom:9px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:9px;margin-top:14px}.photo-grid img{width:100%;height:125px;object-fit:cover;border:1px solid #3b3c42;border-radius:4px;cursor:zoom-in}.photo-grid img:hover{border-color:var(--red)}.photo-viewer{position:fixed;inset:0;background:#000e;display:flex;align-items:center;justify-content:center;z-index:300;padding:55px 20px 25px;cursor:zoom-out}.photo-viewer img{max-width:95vw;max-height:88vh;object-fit:contain}.photo-viewer button{position:absolute;right:20px;top:17px}.dangerzone{margin-top:25px;border:1px solid #65303a;border-radius:6px;background:linear-gradient(135deg,#21161a,#141317);padding:24px}.dangerzone h3{color:#ffa2aa}.dangerzone p{color:#bcb0b4;font-size:12px;line-height:1.7}.dangerzone input{max-width:320px}.mutedlabel{display:block;color:#9b9da6;font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.settingrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #2a2b30}.settingrow:last-child{border:0}.settingrow input[type=checkbox]{width:19px;height:19px;accent-color:var(--red)}.filterhint{font-size:11px;color:#888;margin:2px 0 14px}.softbutton{border:0;background:transparent;color:#a7a9b3;font-size:11px;text-decoration:underline;padding:8px 0}.softbutton:hover{color:#fff}.searchbar input{max-width:none}.suggestion-section{margin-top:26px}.btn:focus-visible,.nav:focus-visible{outline:2px solid #fbd5d9;outline-offset:2px}
@media(max-width:750px){.suggest-browser{grid-template-columns:1fr}.suggest-cats{flex-direction:row;overflow-x:auto;padding-bottom:5px}.suggest-cat{white-space:nowrap}.suggest-head{flex-wrap:wrap}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reduced-motion *, .reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V1.5: owners, customisation and search without page remount */
.brand-logo{display:block;width:100%;max-width:190px;height:auto;object-fit:contain;object-position:left center}.sidebar .logo{padding:0 12px 35px}.mobilebar .brand-logo{max-width:130px}.brand-caption{display:block;font-size:9px;color:#a3a4ad;font-weight:800;letter-spacing:2px;margin-top:9px}.owner-meta{margin-top:9px;font-size:11px;color:#b5b6be}.owner-meta b{color:var(--red)}.owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.owner-card{padding:22px;border:1px solid var(--line);background:var(--surface)}.owner-card h2{margin:8px 0}.owner-card p{font-size:12px;color:var(--muted);line-height:1.6}.owner-card .actions{margin-top:15px}.result-empty{padding:26px;border:1px solid var(--line);color:var(--muted);font-size:12px}.filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-row select{max-width:230px}.filter-row .searchbar{flex:1;min-width:220px}.filter-row .searchbar input{max-width:none}.theme-option{display:flex;gap:12px;align-items:center;margin-top:16px}.settingrow select{width:auto;min-width:160px}.compact-mode .engine-card{min-height:135px;padding:15px}.compact-mode .engine-card .engine-name{margin:12px 0 5px;font-size:25px}.compact-mode :is(.page-detail,.page-engine,.page-inventory,.page-builds) .panelpad{padding:15px}.compact-mode .data-table td{padding:9px 12px}.compact-mode .stat{min-height:92px;padding:15px}.compact-mode .statnum{font-size:30px}.no-hours .engine-card .hour-pill{display:none}.owner-link{background:none;border:0;color:#ff7b85;padding:0;text-decoration:underline;text-underline-offset:3px}.owner-count{color:#aaa;font-size:11px}.owner-engine{padding:12px 0;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:10px}.owner-engine button{background:none;border:0;color:#fff;text-align:left;cursor:pointer}.mini-badge{display:inline-block;font-size:10px;color:#9fa2ac;padding:6px 8px;border:1px solid var(--line)}
@media(max-width:740px){.owner-grid{grid-template-columns:1fr}.mobilebar .logo{padding:0}.filter-row select{max-width:none;flex:1}}

/* PACETEK V1.6 high-volume workshop layouts */
.view-toggle{display:inline-flex;align-items:center;gap:3px;border:1px solid #37383e;border-radius:5px;padding:3px;background:#15161a;margin-left:auto;flex-shrink:0}.view-toggle .btn{border:0;color:#a7a8b0;background:transparent;padding:7px 11px;min-height:31px}.view-toggle .btn.selected{background:var(--red);color:#fff}.registry-list{display:flex;flex-direction:column;border:1px solid var(--line);background:#111216;border-radius:6px;overflow:hidden}.registry-row{display:grid;grid-template-columns:minmax(160px,2fr) minmax(100px,1fr) 90px 100px 24px;align-items:center;gap:16px;padding:13px 18px;border-bottom:1px solid #2c2d32;min-height:66px;cursor:pointer}.registry-row:last-child{border-bottom:0}.registry-row:hover,.registry-row:focus-visible{background:#1e2024}.registry-row .row-primary{min-width:0;display:flex;flex-direction:column;gap:5px}.registry-row .row-primary strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.registry-row small,.row-secondary{font-size:11px;color:#9b9ca7;overflow-wrap:anywhere}.row-arrow{color:var(--red);font-size:18px}.customer-row{grid-template-columns:minmax(180px,3fr) minmax(80px,1fr) auto}.row-actions{display:flex;gap:6px}.build-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,275px),1fr));gap:12px}.build-card{border:1px solid var(--line);padding:18px;background:#15161a;cursor:pointer;border-radius:5px;min-width:0}.build-card:hover{border-color:var(--red)}.build-card h3{font-size:22px;margin:15px 0}.build-card p{color:#a2a4ae;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.build-card .between{display:flex;justify-content:space-between;gap:10px;align-items:center}.picker-box{position:relative}.picker-search{padding-right:36px}.picker-clear{position:absolute;right:5px;top:4px;background:transparent;color:#aaa;border:0;font-size:21px;padding:5px 10px;width:auto}.picker-options{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow-y:auto;z-index:130;background:#222328;border:1px solid #555762;border-radius:5px;box-shadow:0 14px 34px #000d}.picker-options[hidden]{display:none}.picker-option{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #3a3b42;background:transparent;padding:12px 14px;color:white}.picker-option:hover,.picker-option:focus-visible{background:#34363e}.picker-option strong{display:block;font-size:12px}.picker-option small{display:block;color:#a2a3af;font-size:11px;margin-top:4px;line-height:1.4}.picker-empty{padding:15px;color:#aaa;font-size:12px}.filter-row{gap:10px}.filter-row select{width:auto;max-width:230px}.modal{overflow:visible;max-height:90vh;display:flex;flex-direction:column}.modal form{overflow-y:auto;min-height:0}.modal .formbottom{padding-bottom:4px}.modal .picker-options{position:static;max-height:180px;margin-top:5px;box-shadow:none}.modal .picker-box{min-width:0}
@media(max-width:1000px){.registry-row{grid-template-columns:minmax(120px,2fr) minmax(85px,1fr) 65px 65px 15px;gap:9px;padding:12px}.customer-row{grid-template-columns:minmax(120px,2fr) 70px auto}}
@media(max-width:740px){html,body{overflow-x:hidden}.mobilebar{gap:10px}.main{padding:0 13px 30px}.topbar{gap:5px}.topbar .actions{gap:5px}.hero{margin-bottom:22px}.hero h1{overflow-wrap:anywhere;font-size:35px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar input,.toolbar .searchbar,.toolbar select{width:100%;max-width:none}.toolbar .searchbar input{width:100%}.toolbar .filterhint{flex:1;align-self:center}.view-toggle{margin-left:0}.registry-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:13px}.registry-row .row-primary{grid-column:1;grid-row:1/3}.registry-row .row-secondary{grid-column:2;white-space:nowrap;text-align:right}.registry-row .row-arrow{display:none}.customer-row .row-primary{grid-row:auto}.customer-row .row-actions{grid-column:1/-1;justify-content:flex-start}.build-grid{grid-template-columns:1fr}.build-card{padding:15px}.btn{max-width:100%;white-space:normal}.sectionhead{flex-wrap:wrap}.actions{gap:6px}.panel{min-width:0}.formbottom{position:sticky;bottom:0;background:#17181c;padding-top:12px;z-index:2}.tablewrap{max-width:calc(100vw - 26px)}.data-table{min-width:560px}.modalwrap{padding:10px}.modal{padding:15px;width:100%;max-height:92dvh}.mobilemenu{top:57px}.content{padding-top:24px}.owner-grid,.engine-list{grid-template-columns:1fr}.settings .view-toggle{flex-wrap:wrap}}
@media(max-width:390px){.topbar .btn{font-size:9px;padding:6px}.hero h1{font-size:31px}.mobilebar{padding:11px}.statnum{font-size:28px}}
.modal:focus-within{border-color:#55565f}.stock-movement-filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.stock-movement-filter input{width:100%;max-width:340px}.stock-movement-filter select{max-width:180px}.inventory-picker-head{display:flex;flex-direction:column;gap:8px}.inventory-cat-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.inventory-cat-chips button{border:1px solid #45464d;background:#222328;border-radius:4px;color:#ccc;padding:7px 11px;font-size:11px}.inventory-cat-chips button.active{border-color:var(--red);color:#fff;background:#4a1a24}.part-status{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.6px}.part-status.installed{color:#7bdfb0}.part-status.pending{color:#f2c879}.part-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.timeline-filters{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:9px;margin:0 0 18px}.timeline-filters input,.timeline-filters select{width:100%;min-width:0}.timeline-count{font-size:11px;color:var(--muted);margin-bottom:12px}.part-pick-results{max-height:250px;overflow:auto;border:1px solid #37383f;border-radius:5px;background:#111215}.part-pick-row{padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #25262a;cursor:pointer}.part-pick-row:hover{background:#292027}.part-pick-row.selected{outline:1px solid var(--red);background:#2d1b20}.part-pick-row strong{display:block;font-size:12px}.part-pick-row small{color:#a4a5ae}.part-pick-row span{white-space:nowrap;font-size:11px;color:#e3e3e7}.inventory-picked{padding:9px 11px;background:#271b20;border:1px solid #67303a;font-size:11px;color:#f3d0d5;margin-top:8px}.stock-row .stock-quantity .pill{white-space:nowrap}@media(max-width:650px){.timeline-filters{grid-template-columns:1fr}.stock-movement-filter>*{max-width:none!important;flex:1 1 100%}.modalwrap{padding:8px}.modal{max-height:96dvh;padding:48px 17px 20px}.close{top:9px;right:9px}}
.part-optional-check{display:flex;align-items:center;gap:10px;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;cursor:pointer}.part-optional-check input{flex:0 0 18px;height:18px;accent-color:var(--red)}@media(max-width:600px){.toast{top:max(12px,env(safe-area-inset-top));left:12px;right:12px;text-align:left}}

/* V2.5 layout refinements */
.crumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;line-height:1.7}.crumb-link{border:0;background:transparent;color:#c9cad2;font-size:11px;font-weight:800;letter-spacing:.7px;padding:5px 2px;width:auto;text-align:left}.crumb-link:hover{color:var(--red);text-decoration:underline}.crumb-divider{color:#666872}.crumb strong{letter-spacing:.5px}.crumb .back-button{margin-right:7px}
.photo-grid{margin:15px 0 18px;row-gap:12px}.photo-grid + .btn,.photo-grid + .actions,.photo-grid + button,.photo-preview + button,.photo-preview + .actions{margin-top:14px}.issue-stepper{margin:14px 0 15px;display:flex;gap:7px;flex-wrap:wrap}.issue-card .pill,.issue-card .issue-severity{margin-top:7px}.issue-card .between{row-gap:16px}.issue-card .actions{row-gap:12px}.issue-card .minibadge{margin-top:8px}
.template-picker{max-height:310px;overflow:auto;display:grid;gap:8px;padding:3px}.template-choice{width:100%;background:#191a1e;border:1px solid #3a3b42;border-radius:5px;display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;padding:14px;color:#fff}.template-choice:hover,.template-choice.chosen{border-color:var(--red);background:#2a1b20}.template-choice small{color:#999aa4;white-space:nowrap}.template-choice.chosen:after{content:'✓';color:#ff6572;font-weight:900}
@media(max-width:700px){.crumb{gap:5px}.crumb-link{font-size:10px}.crumb .back-button{padding:7px}.template-choice{flex-wrap:wrap}.template-choice small{white-space:normal}.topbar{height:auto;min-height:76px;padding:10px 0}}

.back-button{margin-right:12px!important;white-space:nowrap}.stock-row{padding:14px 18px;display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line)}.stock-row:last-child{border-bottom:0}.stock-title{flex:1;min-width:0}.stock-title strong{display:block;overflow-wrap:anywhere}.stock-title small{display:block;color:#9699a2;margin-top:5px}.stock-quantity{display:flex;align-items:center;gap:10px;min-width:130px}.stock-quantity strong{font-size:22px}.stock-actions{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:700px){.stock-row{align-items:flex-start;flex-wrap:wrap}.stock-title{flex-basis:calc(100% - 148px)}.stock-quantity{min-width:120px}.stock-actions{width:100%}.back-button{margin-right:5px!important;padding:6px 8px!important}.topbar .crumb{display:flex;align-items:center;flex-wrap:wrap;letter-spacing:.2px}.stock-row .btn{flex:1}.topbar .actions .ghost{display:none}} .desktop-nav{display:flex;flex-direction:column;gap:4px}.sidebar-menu{display:none}@media(max-width:960px){.desktop-nav{display:none}.sidebar-menu{display:inline-flex}} .mobilebar .brand-logo{width:130px;max-width:100%;height:auto;object-fit:contain}.sidebar .brand-logo{width:185px;max-width:100%;height:auto;object-fit:contain}.modal:focus-within{border-color:#55565f}.stock-movement-filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.stock-movement-filter input{width:100%;max-width:340px}.stock-movement-filter select{max-width:180px}.inventory-picker-head{display:flex;flex-direction:column;gap:8px}.inventory-cat-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.inventory-cat-chips button{border:1px solid #45464d;background:#222328;border-radius:4px;color:#ccc;padding:7px 11px;font-size:11px}.inventory-cat-chips button.active{border-color:var(--red);color:#fff;background:#4a1a24}.part-status{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.6px}.part-status.installed{color:#7bdfb0}.part-status.pending{color:#f2c879}.part-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.timeline-filters{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:9px;margin:0 0 18px}.timeline-filters input,.timeline-filters select{width:100%;min-width:0}.timeline-count{font-size:11px;color:var(--muted);margin-bottom:12px}.part-pick-results{max-height:250px;overflow:auto;border:1px solid #37383f;border-radius:5px;background:#111215}.part-pick-row{padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #25262a;cursor:pointer}.part-pick-row:hover{background:#292027}.part-pick-row.selected{outline:1px solid var(--red);background:#2d1b20}.part-pick-row strong{display:block;font-size:12px}.part-pick-row small{color:#a4a5ae}.part-pick-row span{white-space:nowrap;font-size:11px;color:#e3e3e7}.inventory-picked{padding:9px 11px;background:#271b20;border:1px solid #67303a;font-size:11px;color:#f3d0d5;margin-top:8px}.stock-row .stock-quantity .pill{white-space:nowrap}@media(max-width:650px){.timeline-filters{grid-template-columns:1fr}.stock-movement-filter>*{max-width:none!important;flex:1 1 100%}.modalwrap{padding:8px}.modal{max-height:96dvh;padding:48px 17px 20px}.close{top:9px;right:9px}}


.hour-selector{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.hour-selector label{display:flex;align-items:center;gap:9px;padding:13px 16px;border:1px solid #393b42;border-radius:8px;background:#17191d;cursor:pointer;font-size:12px;font-weight:700}.hour-selector input{accent-color:#ef2438}.hour-preview{padding:12px 14px;border-left:3px solid #ec2438;background:#1b1c20;font-size:12px;color:#bbb}.issue-list{display:grid;gap:12px}.issue-card p{margin-top:12px;white-space:pre-wrap;line-height:1.6;color:#c9c9cf}.issue-severity{display:inline-block;border:1px solid;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.build-timeline{padding:8px 0}.build-event{display:flex;gap:16px;min-height:100px}.event-track{position:relative;width:18px;flex-shrink:0;display:flex;justify-content:center}.event-track:before{content:'';position:absolute;top:13px;bottom:-6px;width:2px;background:#383940}.build-event:last-child .event-track:before{display:none}.event-node{width:13px;height:13px;border:3px solid #f1263b;border-radius:50%;background:#17191c;z-index:1;position:relative;top:6px}.event-content{flex:1;min-width:0;border-bottom:1px solid #303138;padding:0 0 18px;margin-bottom:20px}.event-content strong{display:block;font-size:15px;margin:9px 0}.event-content p{white-space:pre-wrap;overflow-wrap:anywhere;color:#a9abb3;line-height:1.6;font-size:13px}.event-type{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#fa4a5c;font-weight:800}@media(max-width:650px){.hour-selector{flex-direction:column}.hour-selector label{width:100%}.build-event{gap:10px}.issue-card{padding:16px}}
.modal:focus-within{border-color:#55565f}.stock-movement-filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.stock-movement-filter input{width:100%;max-width:340px}.stock-movement-filter select{max-width:180px}.inventory-picker-head{display:flex;flex-direction:column;gap:8px}.inventory-cat-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.inventory-cat-chips button{border:1px solid #45464d;background:#222328;border-radius:4px;color:#ccc;padding:7px 11px;font-size:11px}.inventory-cat-chips button.active{border-color:var(--red);color:#fff;background:#4a1a24}.part-status{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.6px}.part-status.installed{color:#7bdfb0}.part-status.pending{color:#f2c879}.part-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.timeline-filters{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:9px;margin:0 0 18px}.timeline-filters input,.timeline-filters select{width:100%;min-width:0}.timeline-count{font-size:11px;color:var(--muted);margin-bottom:12px}.part-pick-results{max-height:250px;overflow:auto;border:1px solid #37383f;border-radius:5px;background:#111215}.part-pick-row{padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #25262a;cursor:pointer}.part-pick-row:hover{background:#292027}.part-pick-row.selected{outline:1px solid var(--red);background:#2d1b20}.part-pick-row strong{display:block;font-size:12px}.part-pick-row small{color:#a4a5ae}.part-pick-row span{white-space:nowrap;font-size:11px;color:#e3e3e7}.inventory-picked{padding:9px 11px;background:#271b20;border:1px solid #67303a;font-size:11px;color:#f3d0d5;margin-top:8px}.stock-row .stock-quantity .pill{white-space:nowrap}@media(max-width:650px){.timeline-filters{grid-template-columns:1fr}.stock-movement-filter>*{max-width:none!important;flex:1 1 100%}.modalwrap{padding:8px}.modal{max-height:96dvh;padding:48px 17px 20px}.close{top:9px;right:9px}}


.sidebar .nav svg,.mobilemenu svg{width:19px;height:19px;flex:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-stats .stat{min-height:128px}.dashboard-stats .stat small{display:block;margin-top:6px}.dashboard-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:-10px 0 28px}.dashboard-entry{padding:14px 2px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;justify-content:space-between;cursor:pointer}.dashboard-entry:last-child{border-bottom:0}.dashboard-entry>div:first-child{flex:1;min-width:0}.dashboard-entry b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-entry small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.dashboard-entry:hover b{color:var(--red)}.dashboard-entry .pill{white-space:nowrap}.dashboard-lower{margin-top:25px}
.stock-build-link{margin-left:9px!important;vertical-align:middle;color:#fff!important;border-color:var(--red)!important}
.issue-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;background:#151619;border:1px solid #35363c;border-left:4px solid var(--red);padding:22px;margin-bottom:16px}.issue-summary>div:first-child{flex:1;min-width:200px}.issue-summary-number{font:800 37px 'Barlow Condensed',Arial,sans-serif}.issue-summary-number small{font:600 13px 'DM Sans',Arial,sans-serif;color:var(--muted)}.issue-meter{height:9px;background:#33353a;border-radius:20px;overflow:hidden;margin:9px 0}.issue-meter>div{height:100%;background:var(--green);transition:width .25s}.issue-summary-badges{display:flex;gap:8px;flex-wrap:wrap}.issue-status{padding:9px 11px;border-radius:5px;font-size:10px;font-weight:800;border:1px solid #404149}.issue-status.open{color:#ff858d;border-color:#76333c}.issue-status.working{color:#f6cb80;border-color:#685332}.issue-status.resolved{color:#85ddb2;border-color:#326249}.issue-stepper{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}.issue-step{font-size:9px;letter-spacing:.5px;padding:5px 7px;background:#27282d;color:#81838d;border-radius:3px;font-weight:800}.issue-step.done,.issue-step.current{background:#214b3d;color:#a4f1c8;border:1px solid #51bd90;box-shadow:inset 0 0 0 1px #153d30}.issue-step{border:1px solid transparent}
@media(max-width:740px){.mobilemenu{position:sticky;top:58px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;overflow:visible;background:#141519;box-shadow:0 18px 28px #0009;z-index:21;border:1px solid #33343a;border-radius:0 0 9px 9px}.mobilemenu button{display:flex;align-items:center;gap:9px;border-radius:6px;padding:13px 10px;text-align:left;white-space:normal;min-height:49px;font-size:12px}.mobilemenu button.current{background:#362026;color:#fff;box-shadow:inset 3px 0 var(--red)}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shortcuts .btn{min-width:0}.dashboard-entry{align-items:flex-start}.issue-summary{padding:14px}.dashboard-stats .statnum{font-size:35px}.dashboard-lower{margin-top:12px}}
.modal:focus-within{border-color:#55565f}.stock-movement-filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.stock-movement-filter input{width:100%;max-width:340px}.stock-movement-filter select{max-width:180px}.inventory-picker-head{display:flex;flex-direction:column;gap:8px}.inventory-cat-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.inventory-cat-chips button{border:1px solid #45464d;background:#222328;border-radius:4px;color:#ccc;padding:7px 11px;font-size:11px}.inventory-cat-chips button.active{border-color:var(--red);color:#fff;background:#4a1a24}.part-status{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.6px}.part-status.installed{color:#7bdfb0}.part-status.pending{color:#f2c879}.part-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.timeline-filters{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:9px;margin:0 0 18px}.timeline-filters input,.timeline-filters select{width:100%;min-width:0}.timeline-count{font-size:11px;color:var(--muted);margin-bottom:12px}.part-pick-results{max-height:250px;overflow:auto;border:1px solid #37383f;border-radius:5px;background:#111215}.part-pick-row{padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #25262a;cursor:pointer}.part-pick-row:hover{background:#292027}.part-pick-row.selected{outline:1px solid var(--red);background:#2d1b20}.part-pick-row strong{display:block;font-size:12px}.part-pick-row small{color:#a4a5ae}.part-pick-row span{white-space:nowrap;font-size:11px;color:#e3e3e7}.inventory-picked{padding:9px 11px;background:#271b20;border:1px solid #67303a;font-size:11px;color:#f3d0d5;margin-top:8px}.stock-row .stock-quantity .pill{white-space:nowrap}@media(max-width:650px){.timeline-filters{grid-template-columns:1fr}.stock-movement-filter>*{max-width:none!important;flex:1 1 100%}.modalwrap{padding:8px}.modal{max-height:96dvh;padding:48px 17px 20px}.close{top:9px;right:9px}}

/* v2.6 workspace polish */
.sidebar .logo{cursor:pointer}
.sidebar .logo:focus-visible{outline:2px solid var(--red)}
.owner-only-reset{margin-top:28px}

/* Photo attachment controls */
.photo-entry{position:relative;min-width:0}.photo-entry img{display:block;width:100%;height:auto}.photo-entry .photo-remove{display:block;max-width:100%;margin:10px 0 6px;font-size:11px}.photo-grid{align-items:start}


/* V2.8 mobile slide-out navigation */
.mobile-drawer-backdrop{display:none}
@media(max-width:740px){
.mobile-drawer-backdrop{display:block;position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.7);backdrop-filter:blur(3px)}
.mobilemenu{position:fixed!important;display:flex!important;flex-direction:column!important;gap:4px!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;width:min(310px,87vw)!important;max-height:100dvh;overflow-y:auto!important;overflow-x:hidden!important;z-index:81!important;background:#121317!important;border:0!important;border-right:1px solid #474851!important;border-radius:0!important;box-shadow:16px 0 45px #000a!important;padding:24px 14px calc(28px + env(safe-area-inset-bottom))!important;animation:pacetek-drawer .2s ease-out both}
.mobilemenu button[data-page]{width:100%;min-height:50px;text-align:left;padding:12px 13px!important;display:flex;align-items:center;gap:13px;white-space:normal;background:transparent;border-radius:7px;color:#d6d7dd;font-size:13px}
.mobilemenu button[data-page].current{background:#302127;box-shadow:inset 3px 0 var(--red)}
.mobilemenu button[data-page] svg{height:19px;width:19px;flex-shrink:0}
.mobile-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 4px 22px;border-bottom:1px solid #36373c;margin-bottom:12px;letter-spacing:1.5px;font-size:12px}
.mobile-drawer-head button{flex:0 0 auto}
@keyframes pacetek-drawer{from{transform:translateX(-100%);opacity:.75}to{transform:translateX(0);opacity:1}}
}
@media(prefers-reduced-motion:reduce){.mobilemenu{animation:none!important}}
/* V2.8 alternate dark interface themes — user-owned preferences */
body.theme-midnight{--bg:#090f1c;--surface:#111b2b;--surface2:#1a273b;--line:#2b3850;--muted:#9caac2}
body.theme-slate{--bg:#151a1e;--surface:#20272c;--surface2:#2a3339;--line:#404950;--muted:#a6b1b7}
body.theme-burgundy{--bg:#180e14;--surface:#26151f;--surface2:#321e29;--line:#46303d;--muted:#b99eae}
body.theme-obsidian{--bg:#030405;--surface:#0a0c0f;--surface2:#111317;--line:#24272c;--muted:#989da4}
body.theme-midnight,body.theme-slate,body.theme-burgundy,body.theme-obsidian{background:var(--bg)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) .sidebar{background:var(--bg);border-color:var(--line)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.panel,.datacard,.engine-card,.stat,.suggestion-section){background:var(--surface);border-color:var(--line)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.nav.active,.tabbar,.check-group){background:var(--surface2)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.mobilebar,.modal,.data-table th){background:var(--surface2);border-color:var(--line)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) input:not([type=checkbox]),body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) select,body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) textarea{background:var(--surface);border-color:var(--line)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) .mobilemenu{background:var(--surface)!important}


/* V2.8.1 — consistent page gutters on desktop, tablet and mobile */
.shell{min-width:0;width:auto;flex:1 1 0%;max-width:100%}
.main{
  width:100%;
  max-width:1700px;
  margin-inline:auto;
  padding-inline:clamp(28px,3.5vw,72px);
  padding-bottom:54px;
  min-width:0;
}
.content{min-width:0;width:100%;padding-top:clamp(26px,3vw,42px)}
.content > *{min-width:0}
.topbar{min-width:0}
@media(max-width:1100px){
  .main{padding-inline:clamp(22px,3vw,38px)}
}
@media(max-width:740px){
  .main{
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
    padding-bottom:42px;
  }
  .content{padding-top:26px}
  .topbar{padding-block:14px;gap:12px}
  .hero,.sectionhead,.builderhead{min-width:0}
  .tablewrap{max-width:100%;overflow-x:auto}
  .mobilebar{
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
  }
}
@media(max-width:390px){
  .main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .mobilebar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
}

/* V2.8.2: keep main viewport within the available flex width, not viewport + sidebar */
.app{width:100%;max-width:100%;min-width:0}
.shell{box-sizing:border-box;min-width:0;flex:1 1 0%;width:0;max-width:none}
.main{box-sizing:border-box;width:100%;min-width:0;max-width:1700px;margin-inline:auto}
@media(max-width:740px){.shell{width:100%;flex:1 1 auto}}

/* V2.8.3: give the actual page regions their own gutters.
   These do not depend on .main's width/padding calculation. */
.app > .shell{flex:1 1 0%;width:0;min-width:0;max-width:none}
.app > .shell > .main{box-sizing:border-box;width:100%;max-width:1700px;margin-inline:auto;padding:0 0 54px!important;min-width:0}
.app > .shell > .main > .topbar,
.app > .shell > .main > .content,
.app > .shell > .main > .footer{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding-left:clamp(28px,3.4vw,62px)!important;
  padding-right:clamp(28px,3.4vw,62px)!important;
}
.app > .shell > .main > .topbar{min-height:76px}
.app > .shell > .main > .content{padding-top:clamp(28px,3vw,44px)}
.app > .shell > .main > .footer{margin-top:40px}
@media(max-width:1100px){
  .app > .shell > .main > :is(.topbar,.content,.footer){
    padding-left:28px!important;
    padding-right:28px!important;
  }
}
@media(max-width:740px){
  .app > .shell{width:100%;flex:1 1 auto}
  .app > .shell > .main > :is(.topbar,.content,.footer){
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
  }
  .app > .shell > .main > .topbar{min-height:64px}
}


/* V2.9 mobile UI stability */
.pacetek-inline-icon{display:inline-block;width:1.08em;height:1.08em;vertical-align:-.14em;flex:none;stroke:currentColor}
.searchbar:before{content:""!important;left:12px!important;top:50%!important;transform:translateY(-50%);height:19px;width:19px;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:19px 19px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b9da5' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='7'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E")}
.searchbar input{padding-left:41px!important}
@media(max-width:740px){
 input:not([type=checkbox]):not([type=radio]),textarea,select,
 .modal input,.modal textarea,.modal select,.ws-auth input,.ws-auth textarea,.ws-auth select,
 .picker-search,input[type=search],input[type=date],input[type=number]{font-size:16px!important}
 .modal{max-width:calc(100vw - 16px)}
}


/* V3.1 — compact, tappable part photo previews */
.part-photo-strip{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px;max-width:320px}
.part-photo-strip img{height:52px;width:52px;object-fit:cover;background:#17181c;border:1px solid #484b54;border-radius:6px;cursor:zoom-in}
.part-photo-strip img:hover,.part-photo-strip img:focus{border-color:var(--red);outline:1px solid var(--red)}
.part-photo-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;border-bottom:1px solid #33363d;padding:12px 0;letter-spacing:normal!important;text-transform:none!important;font-size:12px!important;flex-wrap:wrap}
.part-photo-choice img{height:68px;width:68px;object-fit:cover;border-radius:6px;border:1px solid #4b4d54}
.part-photo-choice span{flex:1}
.part-photo-choice input{width:18px;flex:none;accent-color:var(--red)}
@media(max-width:740px){.part-photo-strip img{height:56px;width:56px}}


/* V3.3: workspace hub deliberately separated from normal navigation */
.sidebar-hub-section{margin-top:auto;border-top:1px solid var(--line);padding:17px 4px 12px}
.sidebar-hub-section .workspace-hub-link{min-height:47px;border:1px solid var(--line);background:var(--surface2);color:var(--text);font-size:10px;letter-spacing:.4px;margin-bottom:8px}
.sidebar-hub-section .workspace-hub-link:hover{background:var(--surface);border-color:var(--red);color:var(--text)}
.sidebar-hub-section small{color:var(--muted);display:block;font-size:10px;padding-left:9px}
.sidebar .sidefoot{margin-top:0}
.mobile-hub-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.mobilemenu .mobile-hub-section button{width:100%;display:flex;align-items:center;gap:12px;min-height:49px;background:var(--surface2)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:6px!important;padding:12px}
.mobilemenu .mobile-hub-section button:hover{border-color:var(--red)!important;background:var(--surface)!important}
.mobile-hub-section svg{width:19px;height:19px;flex:none}
/* V3.3: consistent theme variables across every common hover and text surface */
body:is(.theme-carbon,.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.btn,.nav,.tab,.crumb-link,.registry-row,.owner-card,.engine-card,.engine-list,.stat,.panel,.datacard){border-color:var(--line)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.sidebar,.mobilebar,.topbar,.footer){border-color:var(--line)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.panel,.datacard,.stat,.engine-card,.owner-card,.registry-row,.modal,.suggestion-section,.builderhead){background:var(--surface2)!important;color:var(--text)!important;border-color:var(--line)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.btn:not(.red),.nav,.tab,.crumb-link,.inventory-cat-chip){background:var(--surface2);color:var(--text);border-color:var(--line)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.btn:not(.red):hover,.nav:hover,.tab:hover,.crumb-link:hover,.inventory-cat-chip:hover){background:var(--surface)!important;color:var(--text)!important;border-color:var(--red)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.nav.active,.tab.active,.tab.selected){background:var(--surface)!important;color:var(--text)!important;border-color:var(--red)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.tag,.pill,.minibadge,.statlabel,.filterhint,.subtle,.muted,.hero p,.sidefoot p){color:var(--muted)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.btn.red,.btn.red:hover){background:var(--red)!important;border-color:var(--red)!important;filter:brightness(1.06)}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.data-table th,.tablewrap th,.mobilemenu,.searchbar input,.toolbar input,.toolbar select,.settingrow,.team-card){background:var(--surface)!important;border-color:var(--line)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(h1,h2,h3,.engine-name,.statnum,.owner-meta,.paneltitle){color:var(--text)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) .eyebrow{color:var(--red)!important}
@media(max-width:740px){.sidebar-hub-section{margin-top:0}.mobilemenu{padding-bottom:max(30px,env(safe-area-inset-bottom))!important}}


/* V3.4: unified tone surfaces for all dark themes.
   Nested cards use the same hue family rather than leftover default charcoal. */
body.theme-carbon{--bg:#090a0c;--surface:#111215;--surface2:#18191d;--line:#292a30;--muted:#a0a2ac}
body.theme-midnight{--bg:#090f1c;--surface:#101929;--surface2:#162238;--line:#30415d;--muted:#a7b5cb}
body.theme-slate{--bg:#151a1e;--surface:#1d252a;--surface2:#263137;--line:#414c54;--muted:#b2bcc3}
body.theme-burgundy{--bg:#180e14;--surface:#22131c;--surface2:#2d1a26;--line:#503543;--muted:#c3aaba}
body.theme-obsidian{--bg:#030405;--surface:#090b0e;--surface2:#111418;--line:#2a2e34;--muted:#adb0b8}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(
 .panelpad,.paneltitle,.formgrid,.field,.datacard,.issue,.note,.build-event,.event-content,
 .timeline-filters,.timeline-results,.note-list,.part-pick-results,.part-pick-results>div,
 .owner-card,.owner-engine,.owner-grid,.registry-list,.registry-row,.engine-list,
 .setting-row,.settingrow,.settings-section,.settings-grid,.inventory-picker-head,
 .inventory-cat-chips,.part-status,.part-actions,.photo-entry,.photo-grid,
 .stock-card,.stock-row,.stock-item,.customer-row,.task-row,.check-item,
 .check-group,.group-card,.builderhead,.builder-sidebar,.builder-content,
 .modal-content,.modalhead,.modalbody,.modal-footer,.panel-header,.panel-footer
){background-color:var(--surface2)!important;border-color:var(--line)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(
 .toolbar,.filter-row,.sectionhead,.tabbar,.tab-row,.paneltitle,.panel-header,
 .data-table th,.data-table td,.inventory-picker-head,.part-pick-results,
 .timeline-filters,.page-header,.formgrid input,.formgrid select,.formgrid textarea
){border-color:var(--line)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.btn,.tab,.nav,.chip,.tag,.minibadge){
 color:var(--text);border-color:var(--line)
}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.btn:hover,.tab:hover,.nav:hover,.chip:hover){
 color:var(--text)!important;border-color:var(--red)!important
}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.muted,.subtle,.hint,.field label,.sectionhead small,.filterhint,.statlabel,.engine-meta,.owner-meta,.detail-row span){
 color:var(--muted)!important
}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) .app{background:var(--bg)!important}
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) :is(.btn.red,.eyebrow,.redline){
 border-color:var(--red)
}


/* V3.5 controls: consistent selection and navigation accents */
body :is(.view-toggle,.view-toggle .btn){border-color:var(--line)}
body .view-toggle{background:var(--surface);border:1px solid var(--line)}
body .view-toggle .btn:not(.selected){background:transparent!important;color:var(--muted)!important;border:0!important}
body .view-toggle .btn.selected,
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) .view-toggle .btn.selected{
  background:var(--red)!important;border-color:var(--red)!important;color:#07090c!important;
  box-shadow:0 0 0 1px var(--red) inset
}
body .view-toggle .btn:not(.selected):hover{background:var(--surface2)!important;color:var(--text)!important}
body .sidebar .nav:not(.active){background:transparent!important;color:var(--muted)!important}
body .sidebar .nav:not(.active):hover{background:var(--surface2)!important;color:var(--text)!important}
body .sidebar .nav.active{background:var(--surface2)!important;color:var(--text)!important;border-left-color:var(--red)!important}
body .topbar .crumb .crumb-link,
body:is(.theme-midnight,.theme-slate,.theme-burgundy,.theme-obsidian) .topbar .crumb .crumb-link{
 background:transparent!important;border:0!important;color:var(--muted)!important
}
body .topbar .crumb .crumb-link:hover{color:var(--red)!important}
body .topbar .crumb strong{color:var(--text)!important}
body .topbar .crumb-divider{color:var(--muted)!important}
body .topbar{background:var(--bg)!important}
body :is(.sidebar,.mobilebar){background:var(--bg)!important}
body .sidebar .workspace-hub-link{background:var(--surface2)!important;border:1px solid var(--line)!important;color:var(--text)!important}
body .sidebar .workspace-hub-link:hover{border-color:var(--red)!important;background:var(--surface)!important}
body :is(.btn.red,.view-toggle .btn.selected):focus-visible{outline:2px solid var(--red);outline-offset:2px}
body .settingrow{border-bottom-color:var(--line)}
body .settingrow select,body .settingrow input{accent-color:var(--red)}
body.compact-mode .page-settings .panelpad{padding:23px}
.inventory-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 28px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.inventory-pager label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700}
.inventory-pager select{min-width:80px;width:auto;background:var(--surface2);color:var(--text);border-color:var(--line)}
.inventory-pager .actions{margin:0}
.selective-export{margin-top:24px}
.selective-export .muted{line-height:1.7}
.export-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.export-columns>div{min-width:0}
.export-columns .between{gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.export-columns input[type=search]{margin:8px 0 12px}
.export-check-list{max-height:300px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.export-check-item{display:flex;align-items:flex-start;gap:12px;padding:12px 13px;border-bottom:1px solid var(--line);cursor:pointer}
.export-check-item:last-child{border-bottom:0}
.export-check-item[hidden]{display:none}
.export-check-item input,.export-option input{width:18px;height:18px;min-width:18px;flex:none;accent-color:var(--red)}
.export-check-item strong{display:block;font-size:12px;color:var(--text)}
.export-check-item small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.export-option{display:flex;align-items:center;gap:12px;padding:14px 0;color:var(--text);font-size:12px;line-height:1.6}
@media(max-width:700px){.export-columns{grid-template-columns:1fr}.inventory-pager .actions{width:100%;justify-content:space-between}}

/* V3.6: inventory pager baseline alignment */
.inventory-pager{display:flex;align-items:center!important;align-content:center;min-height:62px;gap:14px}
.inventory-pager > *{align-self:center;margin-top:0!important;margin-bottom:0!important}
.inventory-pager .filterhint{display:flex;align-items:center;line-height:1.3;margin:0!important;min-height:37px}
.inventory-pager .actions{display:flex;align-items:center;gap:10px;margin:0!important}
.inventory-pager .actions > *{align-self:center;margin:0!important;line-height:1.3}
.inventory-pager .actions .filterhint{min-height:30px}
.inventory-pager label{align-self:center;line-height:1.3;margin:0!important}
.inventory-pager label select{height:38px;min-height:38px;padding-block:7px;vertical-align:middle}
.inventory-pager .btn{align-self:center;min-height:34px}
.hub-group-title{font-size:11px;color:var(--red);font-weight:850;letter-spacing:1.6px;padding:16px 0 10px}
.hub-group-title.hub-shared-title{border-top:1px solid var(--line);margin-top:18px;padding-top:25px}
@media(max-width:650px){.inventory-pager .filterhint{min-height:auto}.inventory-pager{gap:10px}.inventory-pager .actions{width:100%}}
