@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--sm-cyan:#1e3a8a;--sm-cyan-dark:#172554;--sm-cyan-light:#e8eef7;--sm-email-bar:#4e9ee4;--sm-email-bar-dark:#3d8fd6;--sm-accent-soft:#eff6ff;--sm-text:#0f172a;--sm-text-secondary:#475569;--sm-text-muted:#64748b;--sm-border:#cbd5e1;--sm-border-light:#e2e8f0;--sm-border-subtle:#eef2f7;--sm-bg:#f1f5f9;--sm-bg-alt:#f8fafc;--sm-white:#fff;--sm-surface:#fff;--sm-surface-muted:#f8fafc;--sm-surface-hover:#f1f5f9;--sm-header-bg:var(--sm-email-bar);--sm-header-bg-dark:var(--sm-email-bar-dark);--sm-header-text:hsla(0,0%,100%,.92);--sm-header-text-muted:hsla(0,0%,100%,.72);--sm-header-border:hsla(0,0%,100%,.14);--sm-error:#dc2626;--sm-radius:10px;--sm-radius-sm:8px;--sm-radius-md:10px;--sm-radius-lg:14px;--sm-radius-pill:999px;--sm-shadow-sm:0 1px 2px rgba(15,23,42,.06);--sm-shadow-md:0 4px 14px rgba(15,23,42,.08);--sm-shadow-card:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);--sm-font:"Inter",system-ui,-apple-system,sans-serif;--sm-text-base:11px;--sm-text-sm:10px;--sm-table-cell-y:.3rem;--sm-table-cell-x:.55rem;--sm-content-max:min(1500px, calc(100vw - 3rem) );--sm-status-sent:#f2fa00;--sm-status-approved:#c8fab6;--sm-status-new:#e8f0fe;--sm-status-scheduled:#fff3e0;--sm-status-parts:#f3e5f5;--sm-status-paid:#c8fab6}*,:after,:before{box-sizing:border-box}body{margin:0;font-family:var(--sm-font);font-size:var(--sm-text-base);background:var(--sm-bg);color:var(--sm-text);line-height:1.35;-webkit-font-smoothing:antialiased}a{color:var(--sm-cyan-dark);text-decoration:none}a:hover{color:var(--sm-cyan);text-decoration:underline}h1,h2,h3{font-weight:700;letter-spacing:-.02em;color:var(--sm-text)}button,input,select,textarea{font-family:inherit}.app-shell{min-height:100vh}.app-header,.app-shell{display:flex;flex-direction:column}.app-header{background:var(--sm-header-bg);color:var(--sm-header-text);padding:.35rem 1rem 0;border-bottom:1px solid var(--sm-header-border)}.app-header-top{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:3rem;padding-bottom:.3rem}.app-header-end{min-width:0;z-index:1}.app-header a{color:var(--sm-header-text-muted);text-decoration:none;font-weight:600}.app-header-brand{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-shrink:0}.app-header-brand:hover{text-decoration:none;opacity:.92}.app-header-logo{display:block;height:48px;width:auto}.app-nav{display:flex;gap:.1rem;font-size:.75rem;flex-wrap:wrap;align-items:center;justify-content:center;border-top:1px solid var(--sm-header-border);padding:.2rem 0 .25rem}.app-nav a{color:#fff;font-weight:600;padding:.3rem .5rem;border-bottom:2px solid transparent;text-transform:none;white-space:nowrap}.app-nav a:hover{color:#fff;opacity:.85;text-decoration:none}.app-nav a.router-link-active,.app-nav-section.active{color:#fff;border-bottom-color:#fff}.app-subheader{background:var(--sm-white);border-bottom:1px solid var(--sm-border-light);padding:0 1rem}.app-subnav{display:flex;gap:.25rem;flex-wrap:wrap;max-width:var(--sm-content-max);margin:0 auto;padding:.45rem 0}.app-subnav a{color:var(--sm-text-muted);font-size:.75rem;font-weight:600;padding:.38rem .7rem;border-radius:var(--sm-radius-pill);border:1px solid transparent;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-subnav a:hover{color:var(--sm-text);background:var(--sm-bg-alt);text-decoration:none}.app-subnav a.active{background:var(--sm-accent-soft);border-color:#4e9ee440;color:var(--sm-cyan-dark)}.app-user{display:flex;align-items:center;gap:.65rem}.app-user-name{color:var(--sm-header-text);font-size:.75rem;font-weight:500}.app-user-role{background:#ffffff38;color:#fff;border-radius:var(--sm-radius-pill);padding:.15rem .5rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.app-signout{background:#ffffff14;border:1px solid var(--sm-header-border);color:var(--sm-header-text-muted);border-radius:var(--sm-radius-pill);padding:.3rem .75rem;font-size:.6875rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.app-signout:hover{border-color:#fff;color:#fff}.app-main{flex:1;padding:.65rem 1rem 1rem;max-width:var(--sm-content-max);margin:0 auto}.app-main,.portal-page{width:100%}.app-main h1{margin:0 0 .5rem;font-size:1.0625rem;font-weight:700;letter-spacing:-.025em}.portal-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.65rem;padding:.6rem .75rem;background:var(--sm-surface);border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-md);box-shadow:var(--sm-shadow-card)}.portal-toolbar-search,.portal-toolbar-select,.search-bar input,.search-bar select{padding:.38rem .7rem;border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-pill);font-size:.75rem;background:var(--sm-bg-alt);color:var(--sm-text);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.portal-toolbar-search:focus,.portal-toolbar-select:focus,.search-bar input:focus,.search-bar select:focus{outline:none;border-color:var(--sm-email-bar);background:var(--sm-white);box-shadow:0 0 0 3px #4e9ee42e}.portal-toolbar-search{min-width:260px;flex:1 1 260px}.portal-toolbar-select{min-width:180px}.portal-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.btn-primary,.btn-secondary,.portal-toolbar-btn,button.btn-generate{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none;white-space:nowrap;border-radius:var(--sm-radius-sm);padding:.36rem .75rem;font-size:.75rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.btn-primary,.login-form button[type=submit],.portal-toolbar-btn.btn-primary,button.btn-generate{background:var(--sm-cyan);color:var(--sm-white);border:1px solid transparent;box-shadow:var(--sm-shadow-sm)}.btn-primary:hover:not(:disabled),.login-form button[type=submit]:hover:not(:disabled),.portal-toolbar-btn.btn-primary:hover,button.btn-generate:hover:not(:disabled){background:var(--sm-cyan-dark);box-shadow:var(--sm-shadow-md);transform:translateY(-1px);text-decoration:none}.btn-secondary,.portal-toolbar-btn.btn-secondary{background:var(--sm-white);color:var(--sm-text-secondary);border:1px solid var(--sm-border-light);box-shadow:var(--sm-shadow-sm)}.btn-secondary:hover:not(:disabled),.portal-toolbar-btn.btn-secondary:hover{border-color:var(--sm-email-bar);color:var(--sm-cyan-dark);background:var(--sm-accent-soft);text-decoration:none}.btn-primary:disabled,.btn-secondary:disabled,.login-form button[type=submit]:disabled,.portal-toolbar-btn:disabled,button.btn-generate:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.job-table-card,.portal-table-card,.table-card{padding:0;overflow:hidden}.card{background:var(--sm-surface);border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-md);padding:.75rem 1rem;margin-bottom:.75rem;box-shadow:var(--sm-shadow-card)}.table-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.65rem .75rem .35rem}.table-card-header h2{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:-.02em}.card h2,.card h3{margin:0 0 .5rem}.muted{color:var(--sm-text-muted)}.muted,.table{font-size:var(--sm-text-base)}.table{width:100%;border-collapse:separate;border-spacing:0;margin:0}.table td,.table th{text-align:left;padding:var(--sm-table-cell-y) var(--sm-table-cell-x);border:none;border-bottom:1px solid var(--sm-border-subtle);vertical-align:middle;line-height:1.25;font-size:var(--sm-text-base)}.table th{background:var(--sm-surface-muted);color:var(--sm-text-secondary);font-size:var(--sm-text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--sm-border-light);white-space:nowrap}.table tbody tr{background:var(--sm-white);transition:background .12s ease}.table tbody tr:nth-child(2n){background:var(--sm-bg-alt)}.table tbody tr:hover{background:var(--sm-accent-soft)}.table tbody tr:last-child td,.table tfoot td{border-bottom:none}.table tfoot td{font-weight:700;background:var(--sm-surface-muted);border-top:1px solid var(--sm-border-light)}.table .num,.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table td a{color:var(--sm-cyan-dark);font-weight:600;text-decoration:none}.table td a:hover{color:var(--sm-email-bar-dark);text-decoration:underline}.table .total-paid{background:var(--sm-status-paid)!important}.table .status-sent{background:var(--sm-status-sent)!important}.table .status-approved{background:var(--sm-status-approved)!important}.table .status-new{background:var(--sm-status-new)!important}.table .status-scheduled{background:var(--sm-status-scheduled)!important}.table .status-parts{background:var(--sm-status-parts)!important}.status-pill.status-sent{background:var(--sm-status-sent)}.status-pill.status-approved{background:var(--sm-status-approved)}.status-pill.status-new{background:var(--sm-status-new)}.status-pill.status-scheduled{background:var(--sm-status-scheduled)}.status-pill.status-parts{background:var(--sm-status-parts)}.status-pill.skipped{background:#f1f5f9;color:#64748b}.status-pill.invoiced{background:var(--sm-accent-soft);color:var(--sm-cyan-dark)}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--sm-radius-pill);font-size:.75rem;font-weight:600;background:var(--sm-border-subtle)}.badge.open{background:var(--sm-accent-soft);color:var(--sm-cyan-dark)}.badge.closed{background:var(--sm-bg);color:var(--sm-text-muted)}.search-bar{margin-bottom:1rem}.search-bar input,.search-bar select{max-width:360px}.status-pill{display:inline-flex;align-items:center;border-radius:var(--sm-radius-pill);padding:.12rem .45rem;font-size:.625rem;font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.filter-bar{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}.filter-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--sm-border-light);background:var(--sm-white);color:var(--sm-text-secondary);border-radius:var(--sm-radius-pill);padding:.3rem .7rem;font-size:.75rem;font-weight:600;cursor:pointer;box-shadow:var(--sm-shadow-sm);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.filter-btn:hover{border-color:var(--sm-email-bar);color:var(--sm-cyan-dark);background:var(--sm-accent-soft)}.filter-btn.active{background:var(--sm-cyan);border-color:var(--sm-cyan);color:var(--sm-white);box-shadow:var(--sm-shadow-md)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:var(--sm-bg)}.login-card{background:var(--sm-white);border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-lg);padding:2rem 2.25rem;width:100%;max-width:400px;box-shadow:var(--sm-shadow-md)}.login-card h1{margin:0 0 .25rem;font-size:1.5rem}.login-card h1:after{display:none}.login-logo{display:block;height:64px;width:auto;margin-bottom:1.25rem}.login-form{gap:.75rem;margin-top:1.25rem}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{gap:.25rem;font-size:.875rem;font-weight:600;color:var(--sm-text-secondary)}.login-form input{padding:.55rem .75rem;border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-sm);font-size:.9375rem;background:var(--sm-bg-alt)}.login-form input:focus{outline:none;border-color:var(--sm-email-bar);background:var(--sm-white);box-shadow:0 0 0 3px #4e9ee42e}.login-form button{margin-top:.5rem;width:100%}.error{color:var(--sm-error);font-size:.9rem}.breadcrumb{font-size:.875rem;margin-bottom:1rem;color:var(--sm-text-muted)}.breadcrumb a{color:var(--sm-text-secondary)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.tabs{margin-top:1rem}.tab-list{display:flex;flex-wrap:wrap;gap:.35rem;border-bottom:none;margin-bottom:.65rem;padding:.15rem;background:var(--sm-bg-alt);border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-md)}.tab-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;border-radius:var(--sm-radius-sm);color:var(--sm-text-muted);cursor:pointer;font:inherit;font-size:.75rem;font-weight:600;margin-bottom:0;padding:.38rem .65rem;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.tab-button:hover{color:var(--sm-text);background:#ffffffa6}.tab-button.active{background:var(--sm-white);border-color:var(--sm-border-light);color:var(--sm-cyan-dark);box-shadow:var(--sm-shadow-sm)}.tab-panel{background:var(--sm-white);border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-md);box-shadow:var(--sm-shadow-card);padding:0;overflow:hidden}.tab-panel .table{margin:0}.tab-panel .empty-state{padding:1.25rem}.link-btn{background:none;border:none;color:var(--sm-cyan-dark);cursor:pointer;text-decoration:underline;padding:0;font:inherit;font-weight:600}.link-btn:hover{color:var(--sm-cyan)}.segment-toggle{display:flex;flex-wrap:wrap;gap:.3rem;padding:0 .75rem .55rem}.segment-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-pill);background:var(--sm-white);padding:.26rem .65rem;cursor:pointer;font-weight:600;font-size:.6875rem;color:var(--sm-text-secondary);box-shadow:var(--sm-shadow-sm);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.segment-toggle button.active,.segment-toggle button:hover{border-color:var(--sm-email-bar);color:var(--sm-cyan-dark);background:var(--sm-accent-soft)}.segment-toggle button.active{box-shadow:0 0 0 1px #4e9ee41f}.inventory-tabs{display:flex;flex-wrap:wrap;gap:.35rem;width:100%}.inventory-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sm-white);border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-pill);box-sizing:border-box;color:var(--sm-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:.6875rem;font-weight:600;line-height:1.2;margin:0;padding:.3rem .65rem;text-align:center;box-shadow:var(--sm-shadow-sm);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.inventory-tab:hover{border-color:var(--sm-email-bar);color:var(--sm-cyan-dark);background:var(--sm-accent-soft)}.inventory-tab.active{background:var(--sm-cyan);border-color:var(--sm-cyan);color:var(--sm-white);box-shadow:var(--sm-shadow-md)}.inventory-tab-label{display:block;max-width:100%}.app-main button:not(.link-btn):not(.close-btn):not(.tab-button):not(.inventory-tab):not(.filter-btn):not(.btn-generate):not(.btn-primary):not(.btn-secondary):not(.segment-toggle button):not(.calendar-btn){background:var(--sm-white);color:var(--sm-text-secondary);border:1px solid var(--sm-border-light);border-radius:var(--sm-radius-sm);padding:.36rem .7rem;font-size:.75rem;font-weight:600;cursor:pointer;box-shadow:var(--sm-shadow-sm);transition:background .15s ease,border-color .15s ease,color .15s ease}.app-main button:not(.link-btn):not(.close-btn):not(.tab-button):not(.inventory-tab):not(.filter-btn):not(.btn-generate):not(.btn-primary):not(.btn-secondary):not(.segment-toggle button):hover{border-color:var(--sm-email-bar);color:var(--sm-cyan-dark);background:var(--sm-accent-soft)}.btn-sm{padding:.32rem .65rem;font-size:.75rem}.btn-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;color:#991b1b}.empty-note{padding:.65rem .75rem;font-size:var(--sm-text-base)}.calendar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--sm-border-light);background:var(--sm-white);border-radius:var(--sm-radius-sm);padding:.4rem .7rem;cursor:pointer;font-size:.875rem;font-weight:600;line-height:1;color:var(--sm-text-secondary);box-shadow:var(--sm-shadow-sm);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.calendar-btn:hover:not(:disabled){border-color:var(--sm-email-bar);color:var(--sm-cyan-dark);background:var(--sm-accent-soft)}.calendar-btn-text{font-size:.8125rem;padding-inline:.85rem}.calendar-btn-primary{background:var(--sm-cyan);color:var(--sm-white);border-color:var(--sm-cyan)}.calendar-btn-primary:hover:not(:disabled){background:var(--sm-cyan-dark);border-color:var(--sm-cyan-dark);color:var(--sm-white)}.calendar-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
