@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--font: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", Consolas, "SF Mono", monospace;--nav-h: 0px;color-scheme:dark;--bg-base: #0F1418;--bg: radial-gradient(1200px 600px at 85% -10%, rgba(240, 133, 58, .18), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(66, 133, 244, .12), transparent 60%), linear-gradient(180deg, #12171D 0%, #0D1114 100%);--grid: rgba(255, 255, 255, .035);--panel: rgba(255, 255, 255, .06);--panel-2: rgba(255, 255, 255, .1);--panel-solid: #1A2129;--border: rgba(255, 255, 255, .12);--hair: rgba(255, 255, 255, .08);--highlight: rgba(255, 255, 255, .14);--shadow: 0 12px 32px rgba(0, 0, 0, .35);--blur: blur(18px) saturate(140%);--text: #EAF0F5;--text-muted: #9AA5B1;--text-faint: #6B7682;--accent: #F0853A;--accent-hover: #F79A55;--accent-bg: rgba(240, 133, 58, .16);--accent-glow: rgba(240, 133, 58, .35);--on-accent: #FFFFFF;--red: #E5484D;--red-bg: rgba(229, 72, 77, .18);--amber: #E39A2C;--amber-bg: rgba(227, 154, 44, .18);--blue: #4F97DE;--blue-bg: rgba(79, 151, 222, .18);--green: #3FB56E;--green-bg: rgba(63, 181, 110, .18);--violet: #A98BEA;--violet-bg: rgba(169, 139, 234, .18);--input-bg: rgba(255, 255, 255, .06);--input-border: rgba(255, 255, 255, .16);--focus-ring: rgba(240, 133, 58, .35);--ribbon-bg: rgba(18, 23, 29, .62);--ribbon-fg: #EAF0F5;--ribbon-link: #AEB7C2;--ribbon-border: rgba(255, 255, 255, .1);--ribbon-active: rgba(255, 255, 255, .1);--radius: 12px;--radius-sm: 8px;--radius-xs: 6px}@media (max-width: 1023px){:root{color-scheme:light;--bg-base: #F2F3F5;--bg: #F2F3F5;--grid: transparent;--panel: #FFFFFF;--panel-2: #F7F8FA;--panel-solid: #FFFFFF;--border: #D7DCE2;--hair: #E8ECF0;--highlight: transparent;--shadow: 0 1px 2px rgba(20, 25, 30, .06);--blur: none;--text: #1C232B;--text-muted: #5C6773;--text-faint: #8A939D;--accent: #E8791D;--accent-hover: #CF6812;--accent-bg: #FDF1E6;--accent-glow: rgba(232, 121, 29, .22);--red: #C93A3A;--red-bg: #FBE9E9;--amber: #D98A12;--amber-bg: #FDF3E3;--blue: #2F6FBF;--blue-bg: #E8F0FA;--green: #2E8B57;--green-bg: #E6F4EC;--violet: #6B4FBB;--violet-bg: #EFEAFB;--input-bg: #FFFFFF;--input-border: #D7DCE2;--focus-ring: rgba(232, 121, 29, .25);--ribbon-bg: #1C232B;--ribbon-fg: #F2F4F6;--ribbon-link: #AEB7C2;--ribbon-border: #2A333D;--ribbon-active: #2A333D;--radius: 8px;--radius-sm: 6px;--radius-xs: 4px}}*{box-sizing:border-box}html{background:var(--bg-base);font-size:15px}body{margin:0;padding:0;min-height:100vh;font-family:var(--font);color:var(--text);line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 40px 40px,var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.container{max-width:none;margin:0 auto;padding:1.5rem}h1{margin:0 0 1rem;font-size:1.5rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}h2{margin:1.5rem 0 .75rem;font-size:1.05rem;font-weight:600;color:var(--text)}h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--text)}h2{position:relative;padding-bottom:.55rem}h2:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--border)}h2:before{content:"";position:absolute;left:0;bottom:-4px;width:1px;height:9px;background:var(--border);box-shadow:calc(100% - 1px) 0 0 var(--border)}h2 .section-note{float:right;margin-left:1rem;color:var(--text-muted);font-size:.8rem;font-weight:400;letter-spacing:0;text-transform:none}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.page-header h1{margin:0}.page-eyebrow{display:block;margin-bottom:.15rem;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.page-eyebrow+h1{margin-top:0}h1 .h-mono{font-family:var(--font-mono);font-weight:600}.page-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.back-link{margin:0 0 1rem;font-size:.85rem;font-weight:600}.back-link a{color:var(--text-muted)}.back-link a:hover{color:var(--accent)}.mono{font-family:var(--font-mono);font-size:.85rem;font-variant-numeric:tabular-nums}.mono.small{font-size:.78rem}.muted{color:var(--text-muted)}.center{text-align:center}.error{color:var(--red)}.small{font-size:.85rem}.text-ok{color:var(--green)}.text-warn{color:var(--amber)}.text-bad{color:var(--red)}.text-info{color:var(--blue)}.strong{font-weight:600}.label{color:var(--text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.value{font-weight:600;font-variant-numeric:tabular-nums}.value.ok{color:var(--green)}.status-list{list-style:none;padding:0;margin:0}.status-list li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--hair)}.status-list li:last-child{border-bottom:none}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem 1.5rem}.meta-grid>div .label{margin-bottom:.25rem}@keyframes blink-pulse{0%,to{opacity:1}50%{opacity:.25}}.blink{animation:blink-pulse 1s ease-in-out infinite}@media (max-width: 640px){.container{padding:1rem}h1{font-size:1.25rem}.meta-grid{grid-template-columns:1fr 1fr}}.nav{position:sticky;top:0;z-index:100;background:var(--ribbon-bg);color:var(--ribbon-fg);border-bottom:1px solid var(--ribbon-border);box-shadow:inset 0 1px 0 var(--highlight);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.nav-inner{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .75rem;padding:.45rem 1.25rem}.nav-brand{order:1;margin-right:auto;display:flex;align-items:center;gap:.6rem;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.12em;white-space:nowrap}.nav-brand svg{flex:none}.nav-menu{display:contents}.nav-menu-head{display:none}.nav-links{order:4;flex-basis:100%;display:flex;flex-wrap:wrap;gap:.15rem .25rem}.nav-link{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;border-radius:var(--radius-sm);color:var(--ribbon-link);font-size:.9rem;font-weight:500;text-decoration:none;white-space:nowrap}.nav-link:hover{background:var(--ribbon-active);color:var(--ribbon-fg)}.nav-link.active{background:var(--ribbon-active);color:var(--ribbon-fg);font-weight:600;border:1px solid var(--ribbon-border);box-shadow:inset 0 1px 0 var(--highlight)}.nav-mark{display:none;flex:none;color:var(--accent)}.nav-link.active .nav-mark{display:inline-block}.nav-account{order:2;display:flex;align-items:center;gap:.4rem;font-size:.9rem}.nav-account .nav-link{padding:.3rem .65rem;border:1px solid var(--ribbon-border);background:transparent;color:var(--ribbon-link);font:inherit;font-size:.85rem;font-weight:500;cursor:pointer}.nav-account .nav-link:hover{color:var(--ribbon-fg);background:var(--ribbon-active)}.assistant-fab{order:3;display:inline-flex;align-items:center;gap:.45rem;height:2.1rem;padding:0 .8rem;font:inherit;font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--ribbon-fg);background:transparent;border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:0 0 16px var(--accent-glow),inset 0 1px 0 var(--highlight);cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.assistant-fab:hover{background:var(--ribbon-active);box-shadow:0 0 22px var(--accent-glow)}.assistant-fab-icon{color:var(--accent);font-size:.95rem;line-height:1}.hal-eye{width:9px;height:9px;border-radius:50%;background:#ff1a1a;box-shadow:0 0 4px #ff1a1ad9,0 0 8px #ff3c3c8c,inset 0 0 2px #ffc8c899;animation:hal-pulse 1.6s ease-in-out infinite;flex-shrink:0}@keyframes hal-pulse{0%,to{background:#c00000;box-shadow:0 0 3px #c000008c,0 0 5px #c000004d;transform:scale(.9)}50%{background:#ff3030;box-shadow:0 0 6px #ff3c3cf2,0 0 14px #ff5050a6,0 0 22px #ff646459;transform:scale(1.15)}}.nav-menu-toggle{display:none;order:5}@media (max-width: 640px){.nav{position:static;backdrop-filter:none;-webkit-backdrop-filter:none}.nav-inner{padding:.4rem .75rem;gap:.35rem .5rem}.nav-brand{font-size:.72rem}.assistant-fab{height:40px}.assistant-fab-icon{display:none}.nav-menu-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:0 .8rem;border:1px solid var(--ribbon-border);border-radius:var(--radius-sm);background:var(--ribbon-active);color:var(--ribbon-fg);font:inherit;font-size:.85rem;font-weight:600;letter-spacing:.02em;cursor:pointer}.nav-menu{display:none}.nav-menu.open{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;padding:.5rem .75rem 2rem;overflow-y:auto;background:var(--ribbon-bg);color:var(--ribbon-fg)}.nav-menu.open .nav-menu-head{order:0;display:flex;align-items:center;justify-content:space-between;padding:.35rem .25rem .5rem;font-weight:700;font-size:1.05rem}.nav-menu-close{min-width:44px;min-height:44px;border:1px solid var(--ribbon-border);border-radius:var(--radius-sm);background:var(--ribbon-active);color:var(--ribbon-fg);font-size:1.2rem;cursor:pointer}.nav-menu.open .nav-links{order:1;flex-direction:column;flex-basis:auto;gap:.15rem}.nav-menu.open .nav-link{display:flex;min-height:44px;padding:.7rem .9rem;font-size:1.05rem;border-radius:var(--radius-sm);border:0}.nav-menu.open .nav-link.active{background:var(--ribbon-active);border:1px solid var(--ribbon-border)}.nav-menu.open .nav-account{order:2;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--ribbon-border);font-size:1rem}.nav-menu.open .nav-account .nav-link{min-height:44px;text-align:left;font-size:1rem}body.nav-menu-open{overflow:hidden}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow),inset 0 1px 0 var(--highlight);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.card.empty{text-align:center;color:var(--text-muted);padding:2rem}.warning-card{border-color:var(--amber);background:var(--amber-bg)}.success-card{border-color:var(--green);background:var(--green-bg)}.error-card{border-color:var(--red);background:var(--red-bg);color:var(--red)}.import-summary{border-color:var(--blue)}.card.edge-green{border-left:4px solid var(--green)}.card.edge-amber{border-left:4px solid var(--amber)}.card.edge-red{border-left:4px solid var(--red)}.card.edge-blue{border-left:4px solid var(--blue)}.card.edge-accent{border-left:4px solid var(--accent)}.btn,.btn-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.35rem;padding:.45rem .95rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:inset 0 1px 0 var(--highlight);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover:not(:disabled),.btn-link:hover{background:var(--panel-2);border-color:var(--text-faint);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.green,.btn.green:hover:not(:disabled){background:var(--green);border-color:var(--green);color:#fff}.btn.red,.btn.red:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}.btn.amber,.btn.amber:hover:not(:disabled){background:var(--amber);border-color:var(--amber);color:#1c232b}.btn.green:hover:not(:disabled),.btn.red:hover:not(:disabled),.btn.amber:hover:not(:disabled){filter:brightness(1.1)}.btn.xl{font-size:1.4rem;padding:1rem 3rem;border-radius:var(--radius)}.btn.primary{background:linear-gradient(180deg,#ffffff38,#fff0 55%),var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 6px 18px var(--accent-glow),inset 0 1px #ffffff4d;text-shadow:0 1px 1px rgba(0,0,0,.15)}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffffff38,#fff0 55%),var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.btn-danger{display:inline-flex;align-items:center;padding:.3rem .65rem;border:1px solid var(--red);border-radius:var(--radius-xs);background:transparent;color:var(--red);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.btn-danger:hover:not(:disabled){background:var(--red-bg)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.button-row{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}.btn-copy{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}.btn-copy:hover{text-decoration:underline}.link-btn{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}input[type=text],input[type=email],input[type=number],input[type=date],input[type=search],input[type=tel],input[type=url],input[type=password],select,textarea{width:100%;padding:.5rem .7rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);font:inherit;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}input::placeholder,textarea::placeholder{color:var(--text-faint);opacity:1}input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=date]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=password]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}select option{background:var(--panel-solid);color:var(--text)}input:disabled,select:disabled,textarea:disabled{opacity:.55}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}input[type=file]{font-size:.9rem;color:var(--text-muted)}.search{margin-bottom:1rem}.inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inline-form input{flex:1;min-width:200px}.radio-group{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}.radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.status{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-xs);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status-quote{background:var(--blue-bg);color:var(--blue)}.status-accepted{background:var(--green-bg);color:var(--green)}.status-in_progress{background:var(--amber-bg);color:var(--amber)}.status-dispatched{background:var(--violet-bg);color:var(--violet)}.status-invoiced{background:var(--panel-2);color:var(--text-muted)}.chip{display:inline-block;padding:.05rem .5rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;border-radius:999px;background:var(--panel-2);color:var(--text-muted);white-space:nowrap}.chip-sm{padding:.05rem .4rem;font-size:.65rem}.chip-express{background:#16181d;color:#fff;font-weight:700;font-size:.8rem;padding:.12rem .6rem}.chip-exp-warn{background:var(--amber-bg);color:var(--amber);font-weight:700;font-size:.8rem;padding:.12rem .6rem}.chip-bad{background:var(--red-bg);color:var(--red);font-weight:600;white-space:normal}.chip-warn{background:var(--amber-bg);color:var(--amber);font-weight:600;white-space:normal}.chip-ok{background:var(--green-bg);color:var(--green);font-weight:600}.chip-info{background:var(--blue-bg);color:var(--blue);font-weight:600}.chip-md{font-size:.8rem;padding:.12rem .6rem}.step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:1px solid var(--border);border-radius:50%;font-family:var(--font-mono);font-size:13px;font-weight:600}.step-num.first{background:var(--green-bg);color:var(--green);border-color:transparent}.track{position:relative;background:var(--hair);border-radius:var(--radius-sm);overflow:hidden}.warn-chip{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;font:inherit;font-size:.7rem;font-weight:700;letter-spacing:.04em;background:var(--amber);color:#1c232b;border:0;border-radius:999px;cursor:pointer;white-space:nowrap}.warn-chip:hover:not(:disabled){filter:brightness(1.08)}.warn-chip:disabled{opacity:.6;cursor:wait}.health-chip{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;white-space:nowrap;background:var(--green-bg);color:var(--green);cursor:help}.health-chip.bad{background:var(--red-bg);color:var(--red);font-weight:600}.health-chip.warn{background:var(--amber-bg);color:var(--amber);font-weight:600}.src-chip{display:inline-block;margin-left:.25rem;padding:0 .3rem;border-radius:3px;font-size:.62rem;letter-spacing:.04em;background:var(--green-bg);color:var(--green);vertical-align:middle;cursor:help;text-decoration:none;border-bottom:0}.pick-chip{display:inline-block;margin:.1rem .2rem 0 0;padding:.05rem .45rem;border:1px solid var(--red);border-radius:999px;background:transparent;color:var(--red);font-size:.72rem;cursor:pointer}.pick-chip:hover{background:var(--red-bg)}.suggest-chip{display:inline-block;margin-top:.2rem;padding:.05rem .45rem;border:1px dashed var(--amber);border-radius:999px;background:var(--amber-bg);color:var(--amber);font-size:.72rem;cursor:pointer;text-align:left}.suggest-chip:hover{filter:brightness(1.08)}.conflict-note{color:var(--red);font-size:.78rem;margin-top:.2rem}.row-flag.bad,.file-flag.bad{color:var(--red);font-weight:600}.row-flag.warn,.file-flag.warn{color:var(--amber)}.row-flag.info,.file-flag.info{color:var(--text-muted)}.file-flag{font-size:.82rem;margin-top:.25rem}.file-flag label{cursor:pointer}.nc1-status{display:inline-block;padding:.05rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.nc1-status.ok{background:var(--green-bg);color:var(--green)}.nc1-status.warning{background:var(--amber-bg);color:var(--amber)}.nc1-status.failed{background:var(--red-bg);color:var(--red)}.nc1-status.none{background:var(--panel-2);color:var(--text-muted);font-weight:400}.nc1-warn-text{font-size:.8rem;color:var(--amber);margin-top:.15rem;white-space:normal}.freight-chip{display:inline-block;margin-left:4px;padding:1px 6px;font:inherit;font-size:10px;font-weight:700;letter-spacing:.02em;background:var(--amber);color:#1c232b;border:none;border-radius:4px;cursor:pointer;white-space:nowrap}.freight-chip:hover{filter:brightness(1.08)}.freight-ok{margin-left:4px;color:var(--green);font-weight:700;cursor:pointer}.kpi-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0}.kpi-tile{position:relative;overflow:hidden;min-width:0;padding:.85rem 1rem;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow),inset 0 1px 0 var(--highlight);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.kpi-tile:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--border)}.kpi-tile:hover{background:var(--panel-2)}.kpi-tile.kpi-zero{opacity:.55}.kpi-tile.kpi-active{outline:2px solid var(--accent);outline-offset:1px;opacity:1}.kpi-value{font-family:var(--font-mono);font-size:1.9rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.kpi-label{margin-top:.3rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.kpi-red:not(.kpi-zero):before{background:var(--red);box-shadow:0 0 14px var(--red)}.kpi-amber:not(.kpi-zero):before{background:var(--amber);box-shadow:0 0 14px var(--amber)}.kpi-neutral:not(.kpi-zero):before{background:var(--blue);box-shadow:0 0 14px var(--blue)}.kpi-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.5rem 0;padding:.45rem .75rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-bg);font-size:.85rem}.kpi-filter-clear{border:1px solid var(--accent);border-radius:var(--radius-xs);background:transparent;color:var(--accent);padding:.2rem .6rem;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;background:var(--panel);margin:1rem 0}.dropzone.dragging{border-color:var(--accent);background:var(--accent-bg)}.dropzone.disabled{opacity:.5}.dropzone p{margin:0 0 1rem;color:var(--text-muted)}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.75rem}.bulk-bar strong{font-weight:600;font-size:.9rem}.bulk-bar select,.bulk-bar input{padding:.3rem .5rem;font-size:.9rem}.grid-signal-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;align-items:center;font-size:.85rem;padding:.45rem .75rem;margin:0 0 .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text)}.grid-signal-summary.has-flags{border-color:var(--amber);background:var(--amber-bg)}.grid-signal-summary label{cursor:pointer;white-space:nowrap}.act-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-xs);overflow:hidden}.act-btn{border:0;background:var(--panel);color:var(--text-muted);padding:.25rem .6rem;font:inherit;font-size:.8rem;cursor:pointer}.act-btn+.act-btn{border-left:1px solid var(--border)}.act-btn.on{background:var(--green);color:#fff;font-weight:600}.act-btn.skip.on{background:var(--text-faint)}.act-btn:hover:not(.on){background:var(--panel-2)}.notes-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;cursor:default}.notes-modal{background:var(--panel-solid);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 48px #00000073;width:min(480px,94vw);max-height:80vh;overflow-y:auto;padding:.9rem 1rem;text-align:left;white-space:normal}.notes-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.notes-close{border:none;background:none;font-size:1rem;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem}.notes-list{list-style:none;margin:0 0 .75rem;padding:0}.notes-list li{padding:.35rem .5rem;border-bottom:1px solid var(--hair);font-size:.88rem}.notes-list li:last-child{border-bottom:none}.notes-input{width:100%;box-sizing:border-box;font:inherit;font-size:.9rem;padding:.45rem .55rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);resize:vertical}.notes-btn-row{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.notes-add-btn{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);padding:.35rem .9rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.notes-add-btn:disabled{opacity:.5;cursor:default}.notes-fix-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-muted);padding:.35rem .7rem;font:inherit;font-size:.8rem;cursor:pointer}.stage-popover{background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 12px 32px #0006;padding:.35rem;display:flex;flex-direction:column;gap:.2rem;z-index:1000;min-width:130px}.stage-popover button{background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);padding:.35rem .6rem;font:inherit;font-size:.85rem;color:var(--text);text-align:center;cursor:pointer;white-space:nowrap}.stage-popover-opt:hover{background:var(--panel-2);border-color:var(--border)}.stage-popover-opt.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.stage-popover-clear{color:var(--amber);font-size:.8rem}.stage-popover-cancel{color:var(--text-muted);font-size:.8rem}.part-preview-cell{position:relative}.part-preview-trigger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;color:#444;cursor:pointer}.part-preview-trigger:hover{border-color:var(--accent)}.part-preview-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.part-preview-popover{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;width:380px;max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--panel-solid);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 48px #00000073}.part-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--hair)}.part-preview-close{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--text-muted);padding:0 .25rem}.part-preview-close:hover{color:var(--text)}.part-preview-body{padding:.75rem}.part-preview-svg-host{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xs);padding:.5rem;min-height:200px;overflow:hidden}.part-preview-svg-host svg{display:block;max-width:100%;max-height:320px;height:auto;width:auto}.part-preview-popover.expanded{width:calc(100vw - 1.5rem);max-width:calc(100vw - 1.5rem);height:calc(100vh - 1.5rem);max-height:calc(100vh - 1.5rem)}.part-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.4rem}.part-preview-toolbar .btn{padding:.2rem .55rem;min-height:0;font-size:.82rem;min-width:2rem}.part-preview-viewport{position:relative;overflow:hidden;width:100%;height:320px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xs);cursor:grab;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.part-preview-viewport:active{cursor:grabbing}.part-preview-viewport.expanded{height:calc(100vh - 12rem);min-height:240px}.part-preview-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.part-preview-stage .part-preview-svg-host{position:absolute;top:0;right:0;bottom:0;left:0;display:block;padding:0;border:0;min-height:0;background:#fff}.part-preview-stage .part-preview-svg-host svg{display:block;width:100%;height:100%;max-width:none;max-height:none}.part-preview-stage .hole-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.part-preview-stage .hole-overlay text{paint-order:stroke;stroke:#fff;stroke-width:.35px}@media (max-width: 640px){.part-preview-popover{width:calc(100vw - 1.5rem);max-width:380px}.part-preview-trigger{width:36px;height:36px}.part-preview-popover.expanded{width:100vw;max-width:100vw;height:100vh;border-radius:0}.part-preview-viewport{height:55vh}}.quote-table-wrap,.jobs-table-wrap{overflow-x:visible}.quote-table-wrap.tight,.jobs-table-wrap.tight,.entry-grid-wrap{overflow-x:auto}.quote-table-wrap.tight .quote-items thead th,.quote-table-wrap.tight .quote-items tfoot td,.jobs-table-wrap.tight .jobtrak-table th{position:static}@media (max-width: 640px){.quote-table-wrap,.jobs-table-wrap{overflow-x:auto}.quote-items thead th,.quote-items tfoot td,.jobtrak-table th{position:static}}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--hair)}th{font-weight:600;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}td.num{font-family:var(--font-mono);font-size:.86rem}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--panel-2)}tr.row-warning{background:var(--amber-bg)}.quote-items th,.quote-items td{padding:.45rem .3rem}.quote-items td{font-size:.86rem}.quote-items thead th{position:sticky;top:var(--nav-h);z-index:2;background:var(--panel-solid);box-shadow:inset 0 -1px 0 var(--border)}.quote-items tfoot td{position:sticky;bottom:0;z-index:2;font-weight:700;white-space:nowrap;background:var(--panel-solid);border-top:0;box-shadow:inset 0 2px 0 var(--text)}.quote-items tbody tr:hover td{background:var(--panel-2)}@media (max-width: 640px){.quote-items th:first-child,.quote-items td:first-child{position:sticky;left:0;z-index:3;background:var(--panel-solid);box-shadow:inset -1px 0 0 var(--border)}}.jobs-toolbar{display:flex;align-items:center;gap:1rem;margin:.5rem 0;flex-wrap:wrap}.jobs-toolbar .search{flex:1 1 280px;margin:0}.jt-tabs{display:flex;gap:2px;margin:1rem 0 0;border-bottom:1px solid var(--border)}.jt-tab{position:relative;background:transparent;color:var(--text-muted);border:0;padding:.65rem 1rem;font:inherit;font-size:.82rem;font-weight:600;letter-spacing:.06em;cursor:pointer}.jt-tab:hover,.jt-tab.active{color:var(--text)}.jt-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.jt-tab-count{display:inline-block;margin-left:.5rem;padding:.05rem .5rem;font-family:var(--font-mono);font-size:.72rem;background:var(--panel-2);color:var(--text-muted);border-radius:999px}.jobs-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow),inset 0 1px 0 var(--highlight);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.jobtrak-table{width:100%;border-collapse:collapse;font-size:.9rem}.jobtrak-table th{position:sticky;top:var(--nav-h);z-index:2;background:var(--panel-solid);text-align:left;font-weight:600;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:.5rem .6rem;border-bottom:1px solid var(--border);border-right:1px solid var(--hair)}.jobtrak-table td{padding:.55rem .6rem;border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);vertical-align:middle}.jobtrak-table th:last-child,.jobtrak-table td:last-child{border-right:none}.jobtrak-table tbody tr:not([class*=row-]):hover td{background:var(--panel-2)}.jobtrak-table .nowrap{white-space:nowrap}.jobtrak-table .stage-col{text-align:center;min-width:56px}.jobtrak-table .status-col{font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;min-width:110px}.jobtrak-table .notes-cell{font-size:.82rem}.notes-cell-clickable{cursor:pointer;max-width:220px}.notes-preview{display:inline-block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.notes-add-hint{color:var(--text-faint);font-weight:600}.notes-cell-clickable:hover .notes-add-hint{color:var(--accent)}.notes-more-chip{display:inline-block;margin-left:.35rem;padding:0 .35rem;border-radius:8px;background:var(--panel-2);color:var(--text-muted);font-size:.7rem;font-weight:600}.sheets-btn{margin-left:6px;padding:0 5px;font-size:12px;line-height:1.5;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;vertical-align:1px}.sheets-btn:hover{background:var(--panel-2)}.sheets-table{width:100%;border-collapse:collapse;font-size:14px}.sheets-table th,.sheets-table td{text-align:left;padding:4px 8px 4px 0}.sheets-table .sheets-qty{text-align:center}.sheets-table td.sheets-qty{font-size:17px;font-family:var(--font-mono)}.sheets-table th{font-size:12px;color:var(--text-muted);font-weight:600}.sheets-table td{border-top:1px solid var(--hair);border-bottom:0}.job-link{color:var(--accent);cursor:pointer;font-weight:600;font-family:var(--font-mono);font-size:.86rem;text-decoration:none}.job-link:hover{text-decoration:underline}.priority-cell{cursor:pointer;position:relative}.priority-cell:hover .priority-text{text-decoration:underline}.special-cell-input{width:4.5rem;background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 4px;font:inherit;font-size:.85rem;color:inherit;text-align:right}.date-cell-input{background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 4px;font:inherit;font-size:.85rem;color:inherit;width:8.5rem}.jobtrak-table .special-cell-input,.jobtrak-table .date-cell-input{background:transparent;border-color:transparent;box-shadow:none}.jobtrak-table .special-cell-input:hover,.jobtrak-table .date-cell-input:hover{border-color:#0003}.jobtrak-table .special-cell-input:focus,.jobtrak-table .date-cell-input:focus{outline:none;border-color:var(--accent);background:#ffffffd9;color:#1c232b;box-shadow:0 0 0 2px var(--focus-ring)}.special-cell-input:disabled,.date-cell-input:disabled{opacity:.6;cursor:wait}.jobtrak-table tr.row-busy{cursor:wait}.jobtrak-table tr.row-busy td{pointer-events:none;opacity:.85}.jobtrak-table tr.row-busy td.stage-cell{position:relative}.jobtrak-table tr.row-busy td.stage-cell:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(0,0,0,.2);border-top-color:var(--accent);border-radius:50%;animation:jt-spin .8s linear infinite}.jobtrak-table tr.row-busy td.stage-cell .stage-cell-content{visibility:hidden}@keyframes jt-spin{to{transform:rotate(360deg)}}.stage-cell{text-align:center;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none;position:relative;min-width:56px}.stage-cell.cell-readonly{cursor:default}.stage-cell-content{display:inline-block;min-width:1.2em}.cell-empty{background:transparent;color:transparent}.cell-empty:hover{background:var(--panel-2)}.cell-readonly.cell-empty:hover{background:transparent}.cell-done{background:var(--panel-2);color:var(--green)}.cell-done:hover{filter:brightness(1.1)}.jobtrak-table tr.row-overdue td{background:#ff2d2d;color:#000}.jobtrak-table tr.row-due-today td{background:#ff8f1f;color:#000}.jobtrak-table tr.row-due-tomorrow td{background:#5dade2;color:#000}.jobtrak-table tr.row-due-2 td{background:#85c1e9;color:#000}.jobtrak-table tr.row-due-3 td{background:#aed6f1;color:#000}.jobtrak-table tr.row-due-4 td{background:#d6eaf8;color:#000}.jobtrak-table tr.row-archived td{background:#c8eac8;color:#000}.jobtrak-table tr.row-dispatch td{background:#fff3a8;color:#000}.jobtrak-table tr[class*=row-] td{border-bottom-color:#0000001f;border-right-color:#00000014}.jobtrak-table tr[class*=row-] .muted{color:#000000a6}.jobtrak-table tr[class*=row-] .job-link{color:#000;text-decoration:underline}.jobtrak-table tr[class*=row-] td.cell-empty:hover{background-image:linear-gradient(#0000001f,#0000001f)}.jobtrak-table tr[class*=row-] td.cell-done{background-image:linear-gradient(#0000001f,#0000001f);color:#000}.jobtrak-table tbody tr[class*=row-] td.cell-entered{background-image:none}.jobtrak-table tr[class*=row-] *,.jobtrak-table tr[class*=row-] .chip,.jobtrak-table tr[class*=row-] .chip-exp-warn{color:#000}.jobtrak-table tr[class*=row-] .chip{background:#00000014}.jobtrak-table tr[class*=row-] .chip-express{color:#fff;background:#16181d}.jobtrak-table tr[class*=row-] .notes-more-chip{background:#0000001a}.due-overdue{color:var(--red);font-weight:600}.due-today{color:var(--amber);font-weight:600}@media (max-width: 600px){.kpi-tiles{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.5rem 0}.kpi-tile{padding:.5rem .6rem}.kpi-value{font-size:1.4rem}.kpi-label{font-size:.6rem;line-height:1.1}.page-header{flex-wrap:wrap;gap:.5rem}.page-header h1{font-size:1.4rem}.jobtrak-table{font-size:.82rem}.jobtrak-table th,.jobtrak-table td{padding:.4rem .45rem}.stage-cell{min-width:50px}}.dxf-grid-wrap{overflow-x:auto;margin:0 -.5rem;padding:0 .5rem}.dxf-grid{width:100%;border-collapse:collapse;font-size:.88rem}.dxf-grid th,.dxf-grid td{padding:.45rem .5rem;border-bottom:1px solid var(--hair);vertical-align:top;text-align:left}.dxf-grid th{font-weight:600;font-size:.72rem;color:var(--text-muted);background:var(--panel-2)}.dxf-grid th .th-sub{font-weight:400;font-size:.65rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.dxf-grid td.num,.dxf-grid th.num{text-align:right;font-variant-numeric:tabular-nums}.dxf-grid select,.dxf-grid input[type=text],.dxf-grid input[type=number]{padding:.25rem .4rem;font-size:.85rem;border-radius:var(--radius-xs)}.dxf-grid tr.row-skip td,.dxf-grid tr.row-skip td.mono{color:var(--text-faint)}.dxf-grid tr.file-group-row td{background:var(--panel-2);border-top:2px solid var(--border);padding:.5rem .6rem;white-space:normal}.file-group-head{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline}.dxf-grid tr.row-health-bad td{background:var(--red-bg)}.dxf-grid tr.row-health-warn td{background:var(--amber-bg)}.dxf-grid tr.row-skip.row-health-bad td,.dxf-grid tr.row-skip.row-health-warn td{color:var(--text-faint)}.dxf-grid .cell-prefilled{border-color:var(--green);background:var(--green-bg)}.dxf-grid .cell-invalid,.parts-table .cell-invalid{border-color:var(--red)!important;box-shadow:0 0 0 2px var(--red-bg)}.dxf-grid td.part-cell{min-width:12rem;max-width:22rem;white-space:normal}.dxf-grid .part-name{font-weight:600}.dxf-grid .part-cell .row-flag{font-size:.78rem;margin-top:.15rem}.dxf-grid input.holes-input{width:3.6rem;text-align:right}.dxf-grid input.cell-operator{border-color:var(--amber);background:var(--amber-bg)}.dxf-grid tr.filter-note td{background:var(--panel-2);border-top:0;padding:.25rem .6rem}.layers-panel{margin-top:.35rem;font-size:.8rem}.layers-panel summary{cursor:pointer;color:var(--text-muted)}.layers-panel table{width:auto;border-collapse:collapse;margin-top:.25rem;font-size:.78rem}.layers-panel th,.layers-panel td{padding:.15rem .5rem;border-bottom:1px solid var(--hair);text-align:left}.layers-panel select{padding:.1rem .3rem;font-size:.78rem}.layer-swatch{display:inline-block;width:.8rem;height:.8rem;border:1px solid var(--text-faint);vertical-align:middle;margin-right:.25rem}.nc1-table tr.nc1-failed td{background:var(--red-bg)}.nc1-table tr.nc1-warning td{background:var(--amber-bg)}.nc1-table tr.nc1-failed .nc1-warn-text{color:var(--red)}.reread-diff{font-size:.82rem;margin-top:.5rem}.reread-diff table{width:auto;border-collapse:collapse}.reread-diff th,.reread-diff td{padding:.15rem .6rem;border-bottom:1px solid var(--hair);text-align:left}.reread-diff .changed td{font-weight:600}@media (max-width: 640px){.dxf-grid-wrap{overflow-x:visible;margin:0;padding:0}.dxf-grid,.dxf-grid tbody,.dxf-grid tr,.dxf-grid td{display:block;width:100%}.dxf-grid thead{display:none}.dxf-grid tr{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 .6rem;padding:.35rem 0;background:var(--panel)}.dxf-grid tr.file-group-row{border-color:var(--border);padding:0}.dxf-grid tr.file-group-row td{border-top:0;border-radius:var(--radius-sm)}.dxf-grid td{border-bottom:0;padding:.25rem .6rem}.dxf-grid td[data-label]{display:grid;grid-template-columns:5.5rem minmax(0,1fr);column-gap:.5rem;row-gap:.15rem;align-items:start}.dxf-grid td[data-label]:before{content:attr(data-label);grid-column:1;grid-row:1;color:var(--text-muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;padding-top:.25rem}.dxf-grid td[data-label]>*{grid-column:2;min-width:0}.dxf-grid td[data-label]>.row-flag,.dxf-grid td[data-label]>.conflict-note{white-space:normal;overflow-wrap:anywhere}.dxf-grid .src-chip:after{content:" " attr(title);font-size:.7rem;letter-spacing:0;text-transform:none;color:var(--text-muted)}.dxf-grid td.num{text-align:left}.dxf-grid td.part-cell{max-width:none}.dxf-grid td[data-label=Part]>.part-name{font-size:.95rem}.dxf-grid td[data-label="Import?"]{border-top:1px solid var(--hair);margin-top:.25rem;padding-top:.45rem}.dxf-grid tr.row-health-bad,.dxf-grid tr.row-health-bad td{background:var(--red-bg)}.dxf-grid tr.row-health-warn,.dxf-grid tr.row-health-warn td{background:var(--amber-bg)}.dxf-grid tr.row-skip{opacity:.75}}.entry-grid th,.entry-grid td{text-align:left;vertical-align:top}.entry-grid th.num,.entry-grid td.num{text-align:left}.entry-grid input[type=text],.entry-grid input[type=number],.entry-grid select{padding:.4rem .5rem;font-size:.9rem}@media (max-width: 640px){table{font-size:.78rem}th,td{padding:.4rem .3rem}.parts-table th:last-child,.parts-table td:last-child{display:none}.parts-table.entry-grid th:last-child,.parts-table.entry-grid td:last-child{display:table-cell}}.settings-row{display:grid;grid-template-columns:16rem 8rem minmax(0,1fr);align-items:center;gap:.35rem .75rem;padding:.3rem 0}.settings-label{overflow-wrap:anywhere}.settings-input{white-space:nowrap}.settings-input input{width:6rem}.settings-desc{font-size:.8rem}@media (max-width: 640px){.settings-row{grid-template-columns:minmax(0,1fr) 8rem}.settings-desc{grid-column:1 / -1}}.quote-totals{max-width:26rem;margin-left:auto}.quote-totals .totals-row{display:flex;justify-content:space-between;padding:.25rem 0;font-variant-numeric:tabular-nums}.quote-totals .totals-row>span:last-child{font-family:var(--font-mono)}.quote-totals .totals-rule{border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem;font-weight:600}.quote-totals .totals-grand{border-top:2px solid var(--text);margin-top:.25rem;padding-top:.5rem;font-weight:700;font-size:1.1rem}.quote-totals .totals-grand>span:last-child{color:var(--accent);font-size:1.35rem}.quote-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.quote-express{display:inline-flex;align-items:center;gap:.4rem;-webkit-user-select:none;user-select:none}.quote-express input[type=checkbox]{width:1.05rem;height:1.05rem}.quote-line-notes{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--hair);font-size:.85rem}@media (max-width: 640px){.quote-totals{max-width:none}.quote-actions{gap:.6rem}}.dash-machines{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.dash-machine{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem;background:var(--panel);color:var(--text);font:inherit;cursor:pointer;flex:1 1 240px;text-align:left;box-shadow:var(--shadow),inset 0 1px 0 var(--highlight)}.dash-machine:hover{background:var(--panel-2)}.dash-machine-top{display:flex;align-items:center;gap:.6rem}.dash-machine-sub{color:var(--text-muted);font-size:.85rem}.dash-fault{color:var(--red);font-weight:700}.dash-machine-name{font-weight:700;font-size:1.05rem}.dash-machine-state{color:#fff;border-radius:999px;padding:.2rem .7rem;font-size:.85rem;font-weight:600;white-space:nowrap}.dash-machine-since{color:var(--text-muted);font-size:.85rem;margin-left:auto}.dash-section{margin:1.4rem 0}.dash-section h2{margin-top:0}.dash-money{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.dash-money-card{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow),inset 0 1px 0 var(--highlight)}.dash-money-card:hover{background:var(--panel-2)}div.dash-money-card{cursor:default}div.dash-money-card:hover{background:var(--panel)}.dash-money-title{font-size:.7rem;font-weight:600;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.4rem;text-transform:uppercase}.dash-money-row{display:flex;align-items:baseline;gap:.5rem;padding:.1rem 0}.dash-money-row>span:first-child{color:var(--text-muted);width:4.2rem}.dash-money-row strong{font-size:1.05rem;font-family:var(--font-mono)}.dash-money-dollars{margin-left:auto;font-weight:600;font-family:var(--font-mono)}.dash-money-big{font-size:1.9rem;font-weight:600;line-height:1.2;font-family:var(--font-mono)}.dash-money-sub{color:var(--text-muted);font-size:.85rem}.dash-note{color:var(--text-muted);font-size:.9rem;margin-bottom:.4rem}.dash-empty{color:var(--text-muted);font-size:.9rem}.dash-chase{border-collapse:collapse;width:100%;max-width:560px}.dash-chase td{padding:.45rem .6rem;border-bottom:1px solid var(--hair)}.dash-chase tr{cursor:pointer}.dash-chase tr:hover td{background:var(--panel-2)}.dash-chase-value{text-align:right;font-weight:600;font-family:var(--font-mono)}.dash-link-row{display:block;border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem;background:var(--panel);color:var(--text);font:inherit;cursor:pointer;text-align:left;margin-top:.5rem;width:100%;max-width:560px}.dash-link-row:hover{background:var(--panel-2)}.dash-link-warn{border-color:var(--amber);background:var(--amber-bg)}.dash-crew{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.dash-crew-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:999px;padding:.35rem .8rem;background:var(--panel);color:var(--text);font:inherit;font-size:.9rem;cursor:pointer}.dash-crew-chip:hover{background:var(--panel-2)}.dash-crew-off{opacity:.6}.dash-crew-dot{width:9px;height:9px;border-radius:50%;margin-left:.2rem}.dash-report-btn{font:inherit;font-weight:600;padding:.45rem .9rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:transparent;color:var(--accent);cursor:pointer}.dash-report-btn:hover:not(:disabled){background:var(--accent-bg)}.dash-report-btn:disabled{opacity:.6;cursor:wait}.dash-report{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);margin:1rem 0;overflow:hidden}.dash-report-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .9rem;border-bottom:1px solid var(--hair)}.dash-report-bar button{font:inherit;font-size:.85rem;padding:.25rem .7rem;margin-left:.4rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:transparent;color:var(--text);cursor:pointer}.dash-report-bar button:hover:not(:disabled){background:var(--panel-2)}.dash-report-text{margin:0;padding:.9rem;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:.9rem;line-height:1.45;max-height:60vh;overflow-y:auto}.assistant-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;background:var(--panel-solid);color:var(--text);border-left:1px solid var(--border);box-shadow:-12px 0 32px #00000059;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease;z-index:1000}.assistant-panel.open{transform:translate(0)}.assistant-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:var(--panel)}.assistant-title{font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:.4rem}.assistant-icon{color:var(--accent);font-size:1.1rem}.assistant-header-actions{display:inline-flex;align-items:center;gap:.4rem}.assistant-new{background:transparent;border:1px solid var(--border);color:var(--text);font:inherit;font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:var(--radius-xs);cursor:pointer;line-height:1}.assistant-new:hover:not(:disabled){background:var(--panel-2);border-color:var(--accent)}.assistant-new:disabled{opacity:.5;cursor:not-allowed}.assistant-close{background:transparent;border:0;color:var(--text-muted);font-size:1.4rem;line-height:1;cursor:pointer;width:2rem;height:2rem;border-radius:var(--radius-xs)}.assistant-close:hover{background:var(--panel-2);color:var(--text)}.assistant-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.assistant-empty{color:var(--text-muted);font-size:.9rem}.assistant-empty p{margin:0 0 .5rem}.assistant-mockup-note{font-size:.8rem}.assistant-msg{max-width:85%;padding:.6rem .8rem;border-radius:var(--radius);font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.assistant-msg-user{align-self:flex-end;background:var(--accent-bg);border:1px solid var(--accent);color:var(--text)}.assistant-msg-assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.assistant-typing{display:inline-flex;align-items:center;gap:4px;padding:.7rem .85rem}.assistant-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:assistant-blink 1.2s infinite}.assistant-dot:nth-child(2){animation-delay:.2s}.assistant-dot:nth-child(3){animation-delay:.4s}@keyframes assistant-blink{0%,60%,to{opacity:.3}30%{opacity:1}}.assistant-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem 1rem 0;border-top:1px solid var(--border);background:var(--panel)}.assistant-chip{font:inherit;font-size:.78rem;padding:.3rem .65rem;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.assistant-chip:hover:not(:disabled){border-color:var(--accent)}.assistant-chip:disabled{opacity:.5;cursor:not-allowed}.assistant-input-row{display:flex;gap:.5rem;padding:.75rem 1rem 1rem;background:var(--panel);border-top:1px solid var(--border)}.assistant-input{flex:1;resize:none;font:inherit;font-size:.9rem;padding:.5rem .65rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text)}.assistant-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.assistant-send{align-self:flex-end}@media (max-width: 600px){.assistant-panel{width:100vw}}
