:root{--text:#3b3f46;--text-h:#111318;--text-muted:#6b7280;--bg:#f7f8fa;--surface:#fff;--border:#e2e4e9;--accent:#1a6fd4;--accent-soft:#1a6fd417;--input-bg:#fff;--hover:#1a6fd40d;--shadow:#1018280f 0 1px 3px, #1018280a 0 1px 2px;--badge-gray-fg:#4b5563;--badge-gray-bg:#6b728024;--badge-blue-fg:#1d4ed8;--badge-blue-bg:#3b82f624;--badge-indigo-fg:#4338ca;--badge-indigo-bg:#6366f124;--badge-purple-fg:#7e22ce;--badge-purple-bg:#a855f724;--badge-amber-fg:#b45309;--badge-amber-bg:#f59e0b29;--badge-teal-fg:#0f766e;--badge-teal-bg:#14b8a626;--badge-green-fg:#15803d;--badge-green-bg:#22c55e26;--badge-red-fg:#b91c1c;--badge-red-bg:#ef444421;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#c6c6c9;--text-h:#f4f4f5;--text-muted:#8e8e93;--bg:#18181a;--surface:#212124;--border:#333336;--accent:#5aa2f0;--accent-soft:#5aa2f01f;--input-bg:#28282c;--hover:#ffffff09;--shadow:#00000059 0 1px 3px;--badge-gray-fg:#b3b9c4;--badge-gray-bg:#94a3b829;--badge-blue-fg:#7cb3f5;--badge-blue-bg:#3b82f62e;--badge-indigo-fg:#a5b0fa;--badge-indigo-bg:#6366f12e;--badge-purple-fg:#cf9df5;--badge-purple-bg:#a855f72e;--badge-amber-fg:#f5bd63;--badge-amber-bg:#f59e0b29;--badge-teal-fg:#5edbd0;--badge-teal-bg:#14b8a629;--badge-green-fg:#6fdb92;--badge-green-bg:#22c55e29;--badge-red-fg:#f28b8b;--badge-red-bg:#ef444429}}body{margin:0}h1,h2{color:var(--text-h);font-weight:600}h1{margin:0 0 1rem;font-size:1.7rem}h2{margin:1.75rem 0 .6rem;font-size:1.15rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}textarea{resize:vertical}.topnav{border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);z-index:10;align-items:center;gap:.4rem;padding:.55rem 1.5rem;display:flex;position:sticky;top:0}.topnav .logo{height:30px;margin-right:.75rem}.topnav .brand{letter-spacing:.06em;color:var(--accent);margin-right:.9rem;font-size:1.05rem;font-weight:700}.topnav a{color:var(--text);border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-weight:500;display:inline-flex}.topnav a:hover{background:var(--hover);text-decoration:none}.topnav a.active{color:var(--accent);background:var(--accent-soft)}.topnav .spacer{flex:1}.linklike{color:var(--text-muted);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:.35rem .5rem}.nav-toggle{display:none}.nav-links{display:contents}@media (width<=820px){.topnav{gap:.3rem;padding:.55rem .9rem}.nav-toggle{border:1px solid var(--border);background:var(--surface);min-width:2.4rem;min-height:2.4rem;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;font-size:1.2rem;line-height:1;display:inline-flex}.nav-links{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:20;flex-direction:column;align-items:stretch;max-height:calc(100vh - 3.5rem);padding:.4rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.nav-links.open{display:flex}.nav-links a,.nav-links .assistant-toggle,.nav-links .linklike{text-align:left;border-radius:8px;width:100%;padding:.7rem .8rem;font-size:1rem}.nav-links .spacer{display:none}.nav-links .nav-user{border-top:1px solid var(--border);margin-top:.2rem;padding:.6rem .8rem}.jobs-page{padding:.85rem .9rem 3rem}.jobs-page h1{font-size:1.35rem}.jobs-page>table,.jobs-page .resizable-table,.jobs-page .line-items{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.filters{flex-wrap:wrap}}.linklike:hover{color:var(--text-h);text-decoration:underline}.jobs-page{text-align:left;max-width:1200px;margin:0 auto;padding:1.5rem}.muted{color:var(--text-muted);font-size:.9rem}.error{color:var(--badge-red-fg)}.saved{color:var(--badge-green-fg)}input,select,textarea{background:var(--input-bg);color:var(--text-h);border:1px solid var(--border);border-radius:6px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}button{background:var(--surface);color:var(--text-h);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.4rem .9rem;font-size:.9rem}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.6;cursor:default}button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff}button[type=submit]:hover:not(:disabled){color:#fff;opacity:.9}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.filters select,.filters input,.filters button{padding:.45rem .6rem;font-size:.9rem}.filters .job-search{flex:1;min-width:18rem}.jobs-list-page{max-width:none}.jobs-table{table-layout:fixed;width:100%}.jobs-table th,.jobs-table td,.desc-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-yes{color:#1a7f37;font-weight:700}.bill-detail{border-top:2px solid var(--border);margin-top:1.5rem;padding-top:1rem}.bill-job-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.6rem 0;display:flex}.user-menu{margin-left:.3rem;display:inline-flex;position:relative}.avatar-btn{border:1px solid var(--accent);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);letter-spacing:.02em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.82rem;font-weight:700;display:inline-flex}.avatar-btn:hover{background:var(--accent);color:#fff}.user-menu-pop{z-index:50;background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow);border-radius:10px;padding:.5rem;position:absolute;top:calc(100% + 8px);right:0}.user-menu-name{padding:.3rem .5rem 0;font-weight:600}.user-menu-email{color:var(--text-muted);word-break:break-all;padding:0 .5rem .4rem;font-size:.82rem}.user-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text);font-size:inherit;border:none;border-top:1px solid var(--border);background:0 0;border-radius:6px;margin-top:.3rem;padding:.5rem;display:block}.user-menu-item:hover{background:var(--hover)}@media (width<=820px){.nav-links .user-menu-pop{left:0;right:auto}}.nav-badge{color:#fff;background:var(--badge-red-fg,#b42318);border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;margin-left:.35rem;padding:0 .3rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.filter-multi{position:relative}.filter-multi>summary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:6px;padding:.45rem 1.6rem .45rem .6rem;font-size:.9rem;list-style:none}.filter-multi>summary::-webkit-details-marker{display:none}.filter-multi>summary:after{content:"▾";color:var(--text-muted);font-size:.75rem;position:absolute;right:.5rem}.filter-multi[open]>summary{border-color:var(--accent,#2f6f7e)}.filter-multi-panel{z-index:40;background:var(--surface);border:1px solid var(--border);min-width:12rem;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:.15rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + 4px);left:0}.filter-check{cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;padding:.25rem .3rem;font-size:.9rem;display:flex}.filter-check:hover{background:var(--hover);border-radius:4px}.filter-multi-panel .linklike{text-align:left;margin-top:.2rem;font-size:.82rem}.table-toolbar{justify-content:flex-end;margin-bottom:.5rem;display:flex}.col-menu .col-menu-panel{max-height:60vh;left:auto;right:0;overflow-y:auto}.bulk-bar{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.55rem .75rem;display:flex}.bulk-bar select,.bulk-bar button{padding:.35rem .6rem;font-size:.85rem}.check-col{text-align:center;vertical-align:middle;width:2.2rem;padding:.55rem .4rem}.check-col input{margin:0 auto;display:block}.row-selected{background:var(--accent-soft)}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.55rem .75rem;font-size:.9rem}thead th{background:var(--bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--hover)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--accent)}.sort-arrow{font-size:.7em}.row-inactive td{opacity:.55}.field-topnav{border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);z-index:10;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.field-topnav .logo{height:28px}.field-topnav .brand{letter-spacing:.06em;color:var(--accent);font-weight:700}.field-topnav .spacer{flex:1}.field-tabbar{z-index:9;background:var(--surface);border-bottom:1px solid var(--border);display:flex;position:sticky;top:49px}.field-tabbar a{text-align:center;white-space:nowrap;color:var(--text-muted);border-bottom:2px solid #0000;flex:1;padding:.6rem .4rem;font-size:.9rem;font-weight:600;text-decoration:none}.field-tabbar a.active{color:var(--accent);border-bottom-color:var(--accent)}.jobcards{flex-direction:column;gap:.55rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.jobcard{color:inherit;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:.7rem .85rem;text-decoration:none;display:block}.jobcard-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.jobcard-client{color:var(--text-h);margin-top:.2rem;font-weight:600}.jobcard-sub{color:var(--text-muted);font-size:.88rem}.jobcard-desc{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.88rem;display:-webkit-box;overflow:hidden}.jobcard-meta{color:var(--text-muted);margin-top:.35rem;font-size:.82rem}.field-page{max-width:640px;margin:0 auto;padding:.75rem .9rem 4rem}.field-muted{color:var(--text-muted)}.field-head{justify-content:space-between;align-items:center;gap:.5rem;margin:.25rem 0 1rem;display:flex}.field-hello{color:var(--text-h);font-size:1.3rem;font-weight:600}.field-guide-link{white-space:nowrap;color:var(--text-muted);border:1px solid var(--border);background:var(--surface);border-radius:999px;margin-left:auto;padding:.25rem .6rem;font-size:.85rem;text-decoration:none}.field-guide-link:hover{color:var(--text-h)}.field-guide h1{margin-bottom:.2rem}.field-guide .field-card ul,.field-guide .field-card ol{margin:.3rem 0 0;padding-left:1.2rem}.field-guide .field-card li{margin:.25rem 0;line-height:1.4}.field-guide .field-card h2{margin-top:0}.field-datenav{align-items:center;gap:.4rem;display:flex}.field-datenav button{border:1px solid var(--border);background:var(--surface);min-width:2.4rem;min-height:2.4rem;color:var(--text);border-radius:8px;font-size:1.3rem;line-height:1}.field-date{text-align:center;min-width:6.5rem;font-weight:600}.field-date .linklike{padding:0;font-size:.8rem;display:block}.field-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:1.2rem 0 .5rem;font-size:1rem}.field-joblist{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.field-jobcard{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);color:var(--text);border-radius:12px;padding:.8rem .9rem;display:block}.field-jobcard:hover{border-color:var(--accent);text-decoration:none}.field-jobcard-top{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.field-time{color:var(--accent);font-weight:700}.field-jobcard-client{color:var(--text-h);font-size:1.1rem;font-weight:600}.field-jobcard-addr{color:var(--text-muted);margin-top:.1rem;font-size:.92rem}.field-jobcard-meta{margin-top:.35rem;font-size:.85rem}.field-jobcode{font-variant-numeric:tabular-nums;font-weight:600}.field-overdue{margin-top:1.5rem}.field-collapse{text-align:left;width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:.95rem}.field-back{margin-bottom:.6rem;font-weight:500;display:inline-block}.field-job-head{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;margin-bottom:1rem;padding:.9rem}.field-job-title{align-items:center;gap:.6rem;margin-bottom:.3rem;display:flex}.field-job-title .field-jobcode{font-size:1.1rem}.field-job-client{color:var(--text-h);font-size:1.25rem;font-weight:700}.field-job-addr,.field-job-call{background:var(--accent-soft);color:var(--accent);border-radius:8px;margin-top:.5rem;padding:.55rem .7rem;font-weight:500;display:block}.field-job-desc,.field-job-instr{margin:.7rem 0 0;font-size:.95rem}.field-job-instr{color:var(--badge-amber-fg);background:var(--badge-amber-bg);border-radius:8px;padding:.5rem .7rem}.field-actions{gap:.6rem;margin-bottom:1rem;display:flex}.field-bigbtn{border:1px solid var(--border);background:var(--surface);width:100%;min-height:3rem;color:var(--text);cursor:pointer;border-radius:10px;margin-top:.25rem;padding:.8rem 1rem;font-size:1.05rem;font-weight:600;display:block}.field-bigbtn.primary,.sigpad-actions .primary{background:var(--accent);color:#fff;border-color:var(--accent)}.field-bigbtn:disabled{opacity:.6}.collapsible-summary{cursor:pointer;color:var(--text-h);list-style:revert;padding:.3rem 0;font-size:1.15rem;font-weight:600}.collapsible-summary:hover{color:var(--accent)}.collapsible-section[open]>.collapsible-summary{margin-bottom:.5rem}.pricing-lock{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.pricing-lock.unlocked{color:#8a5a00}:root[data-theme=dark] .pricing-lock.unlocked{color:#e0b050}.pricing-locked-view{pointer-events:none;opacity:.6}.qbo-match-list{max-height:16rem;color:var(--text-muted);margin:.5rem 0 0;padding-left:1.1rem;font-size:.9rem;overflow-y:auto}.qbo-match-list li{margin:.15rem 0}.qbo-match summary{cursor:pointer}.field-savebar{align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.field-savebar .field-bigbtn{border-radius:8px;flex:none;width:auto;min-height:0;margin-top:0;padding:.4rem .75rem;font-size:.85rem;font-weight:500}.save-status{color:var(--text-muted);flex:auto;font-size:.9rem}.save-status.saving{color:var(--text-muted)}.save-status.saved{color:#2e7d32}:root[data-theme=dark] .save-status.saved{color:#7bd88f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .save-status.saved{color:#7bd88f}}.field-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:1rem;padding:.9rem}.field-card h2{overflow-wrap:anywhere;margin:0 0 .6rem;font-size:1.05rem}.field-card .line-items{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.field-job-head,.field-card,.field-jobcard{min-width:0}.field-job-title{flex-wrap:wrap}.field-job-client,.field-jobcard-client,.field-jobcard-addr,.field-job-addr,.field-job-call,.field-job-desc,.field-job-instr,.field-sitelist li{overflow-wrap:anywhere;word-break:break-word}.field-card textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:.6rem;font-family:inherit;font-size:1rem}.field-sitelist{flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.field-kind{text-transform:uppercase;letter-spacing:.03em;min-width:3.6rem;color:var(--text-muted);font-size:.72rem;display:inline-block}.field-photos{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:.6rem;display:grid}.field-photo{aspect-ratio:1;position:relative}.field-photo img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;height:100%}.field-photo-del{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;width:1.5rem;height:1.5rem;line-height:1;position:absolute;top:3px;right:3px}.field-signer{color:var(--text-muted);margin-bottom:.6rem;font-size:.9rem;display:block}.field-signer input{box-sizing:border-box;border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:8px;margin-top:.25rem;padding:.55rem;font-size:1rem;display:block}.sigpad-canvas{border:1px dashed var(--border);touch-action:none;background:#fff;border-radius:8px;width:100%;height:180px;display:block}.sigpad-actions{gap:.6rem;margin-top:.5rem;display:flex}.sigpad-actions button{border:1px solid var(--border);background:var(--surface);min-height:2.6rem;color:var(--text);border-radius:8px;flex:1;font-weight:600}.field-sig-saved img{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%}.field-sig-saved button{border:1px solid var(--border);background:var(--surface);min-height:2.4rem;color:var(--text);border-radius:8px;margin-top:.5rem;padding:0 1rem}.field-toast{text-align:center;background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:.6rem;position:sticky;bottom:.5rem}.sync-banner{border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.8rem;padding:.5rem .8rem;font-size:.9rem;font-weight:500;display:flex}.sync-banner button{color:inherit;cursor:pointer;background:#0000001f;border:none;border-radius:6px;padding:.3rem .7rem;font-weight:600}.sync-off{background:var(--badge-gray-bg);color:var(--badge-gray-fg)}.sync-syncing{background:var(--badge-blue-bg);color:var(--badge-blue-fg)}.sync-err{background:var(--badge-red-bg);color:var(--badge-red-fg)}.field-offline-note{margin-top:-.3rem}.field-photo.pending img{opacity:.7}.field-photo-badge{background:#0009;border-radius:6px;padding:0 .25rem;font-size:.8rem;position:absolute;bottom:3px;left:3px}.button-link{background:var(--accent);color:#fff;border-radius:6px;padding:.45rem .9rem;font-weight:600;transition:box-shadow .2s,transform .15s;display:inline-block}.button-link:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 0 0 1px #a855f7b3,0 0 9px 1px #a855f799,0 0 20px 4px #a855f759}.qbo-connected .badge{vertical-align:middle}.select-all-matching{font-weight:600;text-decoration:underline;color:var(--accent)!important}.card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-head h2{margin:0}.label-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:inline-flex}.polish-btn{color:var(--badge-purple-fg);cursor:pointer;background:#a855f71f;border:1px solid #a855f766;border-radius:6px;padding:.3rem .7rem;font-size:.82rem;font-weight:600;transition:box-shadow .2s,transform .15s}.polish-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 9px 1px #a855f780}.polish-btn:disabled{opacity:.5;cursor:default}.polish-err{font-size:.8rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-head h1{margin-bottom:.5rem}.field-newjob{text-align:center;margin:0 0 1rem;text-decoration:none}.field-newjob:hover{text-decoration:none}.newjob{flex-direction:column;gap:.9rem;max-width:30rem;display:flex}.newjob-field{color:var(--text-h);flex-direction:column;gap:.3rem;font-weight:600;display:flex}.newjob-field input,.newjob-field select,.newjob-field textarea{font:inherit;border:1px solid var(--border);background:var(--input-bg);color:var(--text);box-sizing:border-box;border-radius:8px;width:100%;padding:.6rem;font-weight:400}.newjob-results{border:1px solid var(--border);border-radius:8px;margin:.2rem 0 0;padding:0;list-style:none;overflow:hidden}.newjob-results li+li{border-top:1px solid var(--border)}.newjob-results button{text-align:left;background:var(--surface);cursor:pointer;width:100%;color:var(--text);font:inherit;border:none;padding:.6rem .7rem}.newjob-results button:hover{background:var(--hover)}.newjob-picked{align-items:center;gap:.6rem;font-weight:400;display:flex}.newjob>button{align-self:flex-start;padding:.6rem 1.2rem}.newjob>button.field-bigbtn{align-self:stretch}.dash-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.dash-kpi{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:.9rem 1rem}.dash-kpi-val{color:var(--text-h);font-size:1.5rem;font-weight:700}.dash-kpi-lbl{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem}.dash-card h2{margin:0 0 .9rem;font-size:1.05rem}.dash-bars{--bar:var(--accent);align-items:flex-end;gap:2px;height:160px;display:flex}.dash-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex}.dash-bar-val{color:var(--text-muted);white-space:nowrap;margin-bottom:2px;font-size:.6rem}.dash-bar{background:var(--bar);border-radius:3px 3px 0 0;width:70%;min-height:2px;transition:height .3s}.dash-bar-lbl{color:var(--text-muted);white-space:nowrap;margin-top:3px;font-size:.62rem}.dash-workers{flex-direction:column;gap:.6rem;display:flex}.dash-worker{grid-template-columns:8rem 1fr 2.5rem;align-items:center;gap:.6rem;display:grid}.dash-worker-name{font-size:.9rem}.dash-worker-track{background:var(--hover);border-radius:5px;height:14px;overflow:hidden}.dash-worker-fill{background:var(--accent);border-radius:5px;height:100%}.dash-worker-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.save-bar{z-index:40;box-sizing:border-box;border-top:1px solid var(--border);width:100%;padding:.6rem max(1rem, env(safe-area-inset-left)) calc(.6rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-right));background:var(--surface);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0000002e}.save-bar-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.55rem 1.15rem;font-size:.95rem;font-weight:600}.save-bar-btn:disabled{opacity:.6;cursor:default}.save-bar-action{background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;padding:.5rem .8rem;font-size:.9rem}.save-bar-action:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.save-bar-action:disabled{opacity:.6;cursor:default}.save-bar-action.danger{color:var(--badge-red-fg,#b42318)}.save-bar-msg{white-space:nowrap;font-size:.85rem}.table-scroll{overflow-x:auto}.site-block{border-top:2px solid var(--border);margin-top:1.5rem;padding-top:.5rem}.site-block:first-child{border-top:none}.site-accordion{flex-direction:column;gap:.5rem;display:flex}.site-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.site-card.open{border-color:var(--accent,#2f6f7e)}.site-card-head{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:baseline;gap:.6rem;padding:.7rem .9rem;display:flex}.site-card-head:hover{background:var(--hover)}.site-card-chevron{color:var(--text-muted);flex:none;font-size:.8rem}.site-card-title{font-weight:600}.site-card-sub{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.site-card-flag{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;flex:none;margin-left:auto;padding:.05rem .5rem;font-size:.7rem}.site-card-body{border-top:1px solid var(--border);padding:.4rem .9rem .9rem}.linklike.danger{color:var(--badge-red-fg,#b42318)}tr.row-inactive td{opacity:.55}.equip-picker{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.equip-list{flex-direction:column;gap:.35rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.equip-chip{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:baseline;gap:.6rem;width:100%;padding:.4rem .6rem;display:flex}.equip-chip-main{flex:none;font-weight:600}.equip-chip-sub{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.equip-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex:none;margin-left:auto;font-size:.9rem}.equip-remove:hover{color:var(--badge-red-fg,#b42318)}.equip-note{font-size:.78rem}.site-photos{border-top:1px solid var(--border);margin-top:1rem;padding-top:.7rem}.site-photos-head{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.photo-grid{flex-wrap:wrap;gap:.5rem;display:flex}.photo-thumb{border:1px solid var(--border);background:var(--panel,#f4f6f8);border-radius:8px;width:110px;height:110px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;cursor:zoom-in;width:100%;height:100%;display:block}.photo-del{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.75rem;line-height:1;display:flex;position:absolute;top:3px;right:3px}.photo-del:hover{background:var(--badge-red-fg,#b42318)}.photo-lightbox{z-index:200;cursor:zoom-out;background:#000c;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.photo-lightbox img{border-radius:8px;max-width:100%;max-height:100%}.prop-unit{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:.7rem;padding:.7rem}.prop-unit-grid{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.prop-unit-grid input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;border-radius:6px;flex:8rem;min-width:0;padding:.4rem .5rem}.prop-unit-grid input.narrow{flex:0 0 3.5rem}.prop-unit-grid .danger{flex:none;padding:.3rem .55rem}.prop-filters{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;padding-top:.5rem;font-size:.9rem;display:flex}.prop-filter{align-items:center;gap:.25rem;display:inline-flex}.prop-filter input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;border-radius:6px;padding:.3rem .4rem}.prop-filter input.narrow{width:6rem}.prop-filter input[type=number]{width:3rem}.prop-filters button,.prop-filter button{padding:.2rem .5rem}.prop-scope{box-sizing:border-box;border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:.6rem}.prop-months-label{color:var(--text-h);margin-top:.75rem;font-weight:600;display:block}.prop-months{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.month-btn{border:1px solid var(--border);background:var(--surface);min-width:3rem;color:var(--text-muted);cursor:pointer;border-radius:6px;padding:.4rem .5rem;font-weight:600}.month-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.invoice-summary{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:.7rem 1rem;font-size:.95rem;display:flex}.age-pill{font-variant-numeric:tabular-nums;background:var(--hover);border-radius:999px;padding:.1rem .55rem;font-weight:600;display:inline-block}.age-yellow{color:var(--badge-amber-fg)}.age-amber{color:var(--badge-amber-fg);background:var(--badge-amber-bg)}.age-red{color:var(--badge-red-fg);background:var(--badge-red-bg)}.inv-head{align-items:center;gap:.75rem;display:flex}.inv-head h1{margin-bottom:0}.inv-totals{flex-direction:column;gap:.3rem;max-width:22rem;margin:1rem 0 0 auto;display:flex}.inv-totals>div{justify-content:space-between;display:flex}.inv-totals .inv-total-row{color:var(--text-h);border-top:1px solid var(--border);margin-top:.1rem;padding-top:.3rem;font-weight:700}.inv-payform{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem;display:flex}.inv-payform label{color:var(--text-muted);flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}.inv-payform input,.inv-payform select{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:6px;padding:.4rem}.section-rule{border:none;border-top:1px solid var(--border);margin:2.5rem 0 0}.sig-panel{flex-direction:column;gap:.75rem;max-width:460px;display:flex}.sig-preview{border:1px dashed var(--border);background:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:90px;padding:.75rem;display:flex}.sig-preview img{max-width:100%;max-height:110px}.sig-field{flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;display:flex}.sig-field input{font-weight:400}.merge-group{border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem 1rem}.merge-group-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.resizable-table th{position:relative}.resizable-table td{overflow-wrap:anywhere}.col-resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1;width:8px;height:100%;position:absolute;top:0;right:0}.col-resizer:after{content:"";border-right:2px solid #0000;height:60%;position:absolute;top:20%;right:3px}.col-resizer:hover:after,body.col-resizing .col-resizer:after{border-right-color:var(--accent)}body.col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.badge{white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-gray{color:var(--badge-gray-fg);background:var(--badge-gray-bg)}.badge-blue{color:var(--badge-blue-fg);background:var(--badge-blue-bg)}.badge-indigo{color:var(--badge-indigo-fg);background:var(--badge-indigo-bg)}.badge-purple{color:var(--badge-purple-fg);background:var(--badge-purple-bg)}.badge-amber{color:var(--badge-amber-fg);background:var(--badge-amber-bg)}.badge-teal{color:var(--badge-teal-fg);background:var(--badge-teal-bg)}.badge-green{color:var(--badge-green-fg);background:var(--badge-green-bg)}.badge-red{color:var(--badge-red-fg);background:var(--badge-red-bg)}.job-meta{margin-bottom:1rem}.form-grid{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:grid}.form-grid label{min-width:0;color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.form-grid label.wide{grid-column:1/-1}.form-grid label.checkbox{flex-direction:row;align-items:center;gap:.5rem}.form-grid input,.form-grid select,.form-grid textarea{box-sizing:border-box;width:100%;min-width:0;padding:.45rem .6rem;font-size:.9rem}.line-items input,.line-items select{box-sizing:border-box;width:100%;padding:.3rem .4rem;font-size:.85rem}.line-items input.narrow{width:5.5rem}.line-items td:nth-child(2) input{width:4rem}.line-items td:nth-child(3) input{min-width:14rem}.total-label{text-align:right;font-weight:600}.actions{white-space:nowrap;gap:.4rem;display:flex}.actions button{white-space:nowrap;flex-shrink:0;padding:.25rem .6rem;font-size:.8rem}.add-user{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.add-user input,.add-user select{padding:.45rem .6rem;font-size:.9rem}.actions-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.actions-row a{text-decoration:none}.line-items td.row-actions{white-space:nowrap}.line-items td.row-actions button{margin-left:.25rem}.dialog-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);width:min(28rem,100vw - 2rem);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:.6rem;padding:1.25rem 1.5rem;display:flex}.dialog h2{margin:0 0 .25rem;font-size:1.1rem}.dialog label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.dialog input,.dialog textarea{padding:.45rem .6rem;font-size:.9rem}.dialog-buttons{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.add-line-row{align-items:stretch;gap:.5rem;display:flex}.add-line-row .picker-anchor{flex:auto;min-width:0;display:flex}.add-line-row>button{white-space:nowrap;flex:none}.add-line-row .line-search{box-sizing:border-box;width:100%}.picker-anchor{display:inline-block;position:relative}.picker{z-index:50;background:var(--surface);border:1px solid var(--border);width:22rem;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:.4rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + 4px);left:0}.picker input{padding:.4rem .6rem;font-size:.9rem}.picker-results{flex-direction:column;max-height:16rem;display:flex;overflow-y:auto}.picker-item{text-align:left;border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .4rem;display:flex}.picker-item:hover{background:var(--hover)}.picker-item:last-child{border-bottom:none}.picker-empty{padding:.45rem .4rem}.status-select{padding:.25rem .4rem;font-size:.8rem}.builder-layout{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.25rem;display:grid}.builder-main h2,.builder-side h2{margin:.75rem 0 .5rem;font-size:1.05rem}.builder-partsbar{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:.6rem;display:flex}.builder-search{flex:1;min-width:14rem}.builder-search>input{box-sizing:border-box;width:100%;padding:.45rem .6rem}.builder-markup{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.builder-markup input{width:6rem;padding:.45rem .6rem}.builder-totals,.builder-save{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin-bottom:1rem;padding:.9rem 1rem}.builder-totals .trow{justify-content:space-between;padding:.28rem 0;font-size:.9rem;display:flex}.builder-totals .tprofit{color:var(--badge-green-fg);border-bottom:1px solid var(--border);margin-bottom:.3rem}.builder-totals .tsub{border-top:1px solid var(--border);font-weight:600}.builder-totals .ttotal{font-size:1rem;font-weight:700}.builder-save label{color:var(--text-muted);flex-direction:column;gap:.25rem;margin-bottom:.6rem;font-size:.8rem;display:flex}.builder-save select,.builder-save textarea{padding:.45rem .6rem;font-size:.9rem}.builder-save button{width:100%}@media (width<=900px){.builder-layout{grid-template-columns:1fr}}.filter-chart{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);box-shadow:var(--shadow);border-radius:8px;margin:1rem 0 1.5rem;padding:.9rem 1rem}.filter-chart h2{margin:0 0 .35rem;font-size:1.05rem}.filter-chart-compact{margin:.5rem 0 1rem}.filter-chart-compact h2{font-size:.95rem}.schedule-page{max-width:none}.sched-toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.sched-toolbar h1{margin:0}.sched-views,.sched-nav{align-items:center;gap:.35rem;display:flex}.sched-views button.active{background:var(--accent);border-color:var(--accent);color:#fff}.sched-nav button{padding:.3rem .6rem}.sched-range{margin-left:.5rem;font-weight:600}.sched-layout{grid-template-columns:minmax(0,1fr) 17rem;align-items:start;gap:1rem;display:grid}.sched-board{background:var(--border);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:1px;display:grid;overflow:hidden}.sched-corner,.sched-dayhead,.sched-worker,.sched-cell{background:var(--surface);padding:.4rem .5rem}.sched-dayhead{background:var(--bg);flex-direction:column;align-items:center;font-size:.8rem;display:flex}.sched-dayhead .dow{color:var(--text-muted);text-transform:uppercase;font-size:.7rem}.sched-dayhead .dnum{font-size:1rem;font-weight:700}.sched-worker{background:var(--bg);align-items:center;font-size:.85rem;font-weight:600;display:flex}.sched-worker-unassigned{color:var(--text-muted)}.sched-cell{flex-direction:column;gap:.25rem;min-height:3.5rem;display:flex}.sched-cell.drop-active{outline:1px dashed var(--border)}.sched-cell.drop-over{background:var(--accent-soft);outline:2px dashed var(--accent)}.sched-job{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--accent);cursor:grab;border-radius:5px;flex-direction:column;padding:.25rem .4rem;font-size:.78rem;line-height:1.25;display:flex}.sched-job:active{cursor:grabbing}.sched-job .sched-code{font-weight:600}.sched-job .sched-client{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sched-job.prio-high,.sched-job.prio-urgent{border-left-color:var(--badge-red-fg)}.sched-job.prio-low{border-left-color:var(--badge-gray-fg)}.sched-unassigned{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;max-height:80vh;padding:.75rem .9rem;position:sticky;top:4rem;overflow-y:auto}.sched-unassigned h2{margin:0 0 .25rem;font-size:1.05rem}.sched-sidetabs{gap:.35rem;margin-bottom:.4rem;display:flex}.sched-sidetabs button{flex:1;padding:.35rem .5rem;font-size:.85rem}.sched-sidetabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.sched-maint-search{box-sizing:border-box;width:100%;margin:.2rem 0 .4rem;padding:.4rem .6rem}.sched-job-top{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.sched-month{text-transform:uppercase;letter-spacing:.03em;color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:4px;padding:.05rem .3rem;font-size:.65rem;font-weight:700}.sched-month-none{color:var(--text-muted);background:var(--hover)}.deactivated-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--hover);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.deactivated-pill:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sched-edit-row td{background:var(--hover)}.sched-edit{flex-wrap:wrap;align-items:center;gap:.6rem;padding:.3rem 0;display:flex}.month-chips{flex-wrap:wrap;gap:.3rem;display:flex}.month-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;min-width:2.6rem;padding:.25rem .55rem;font-size:.82rem}.month-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.sched-edit-actions{align-items:center;gap:.6rem;display:flex}.assistant-diagram{margin:.5rem 0}.assistant-diagram svg{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%;height:auto;padding:6px;display:block}.sched-pool{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.sched-due{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--badge-blue-fg);border-radius:5px;flex-direction:column;gap:.15rem;padding:.4rem .5rem;font-size:.8rem;display:flex}.sched-due button{margin-top:.35rem;padding:.25rem .5rem;font-size:.78rem}.sched-pool-top{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.sched-del{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 .15rem;font-size:.9rem;line-height:1}.sched-del:hover{color:var(--badge-red-fg)}.sched-error{margin:.5rem 0}button.danger{color:var(--badge-red-fg);border-color:var(--badge-red-bg)}button.danger:hover:not(:disabled){background:var(--badge-red-bg)}.sched-pool .sched-job{border-left-width:3px}.sched-site{font-size:.72rem}.sched-monthgrid{background:var(--border);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.sched-month-dow{background:var(--bg);text-align:center;text-transform:uppercase;color:var(--text-muted);padding:.35rem;font-size:.72rem}.sched-month-cell{background:var(--surface);border:none;border-radius:0;flex-direction:column;align-items:stretch;gap:.25rem;min-width:0;min-height:4.5rem;padding:.35rem .4rem;display:flex}.sched-month-cell.out{opacity:.45}.sched-month-cell.droppable:hover{background:var(--hover)}.sched-month-cell .dnum{align-self:flex-start;padding:0;font-size:.85rem;font-weight:600}.sched-month-cell .sched-job{min-width:0}.sched-month-cell .sched-client{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=900px){.sched-layout{grid-template-columns:1fr}.sched-unassigned{max-height:none;position:static}}.assistant-toggle{align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.9rem;display:inline-flex}.assistant-toggle.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.assistant-panel{background:var(--surface);border-left:1px solid var(--border);width:min(24rem,90vw);box-shadow:var(--shadow);z-index:20;flex-direction:column;display:flex;position:fixed;top:52px;bottom:0;right:0}@media (width<=640px){.assistant-panel{z-index:30;border-left:none;width:100vw;top:0}}.field-topnav .assistant-toggle{padding:.3rem .5rem;font-size:.85rem}.assistant-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.6rem .9rem;display:flex}.assistant-scroll{flex-direction:column;flex:1;gap:.5rem;padding:.75rem .9rem;display:flex;overflow-y:auto}.assistant-hint{line-height:1.5}.assistant-msg{white-space:pre-wrap;border-radius:10px;max-width:92%;padding:.5rem .7rem;font-size:.9rem;line-height:1.45}.assistant-user{background:var(--accent-soft);border:1px solid var(--accent);align-self:flex-end}.assistant-assistant{background:var(--bg);border:1px solid var(--border);align-self:flex-start}.assistant-error{border-color:var(--badge-red-fg);color:var(--badge-red-fg)}.assistant-actions{flex-wrap:wrap;gap:.3rem;margin-top:.45rem;display:flex}.assistant-input{border-top:1px solid var(--border);gap:.5rem;padding:.6rem .9rem;display:flex}.assistant-input textarea{resize:none;flex:1;padding:.45rem .6rem;font-size:.9rem}.assistant-input{align-items:flex-end}.assistant-attach{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;flex:none;align-self:stretch;padding:0 .55rem;font-size:1.05rem;line-height:1}.assistant-attach:hover{background:var(--hover)}.assistant-imgs{flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem;display:flex}.assistant-imgs img{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:84px;height:84px}.assistant-pending{flex-wrap:wrap;gap:.35rem;padding:.4rem .9rem 0;display:flex}.assistant-pending-thumb{position:relative}.assistant-pending-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:54px;height:54px;display:block}.assistant-pending-thumb button{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;width:18px;height:18px;padding:0;font-size:.7rem;line-height:1;position:absolute;top:-6px;right:-6px}.login-page{justify-content:center;padding-top:12vh;display:flex}.login-box{background:var(--surface);border:1px solid var(--border);width:20rem;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:.75rem;padding:2rem;display:flex}.login-box h1{color:var(--accent);text-align:center;margin:0}.login-box>.muted{text-align:center;margin-bottom:.5rem}.login-box label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.login-box input{padding:.5rem .6rem;font-size:1rem}.login-box button{margin-top:.5rem;padding:.55rem;font-size:1rem}@media (width<=800px){.form-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.field-navlink{color:var(--text-muted);padding:.25rem .1rem;font-size:.95rem;font-weight:600;text-decoration:none}.field-navlink.active{color:var(--accent)}.tasks-page{max-width:760px}.task-add{flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem;display:flex}.task-add input{flex:12rem}.task-section{margin-bottom:1.75rem}.task-section h2{align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:1rem;display:flex}.task-section .count{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.05rem .5rem;font-size:.8rem;font-weight:700}.task-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.6rem;padding:.75rem .9rem;display:flex}.task-card.task-mine{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.task-main{min-width:0}.task-title{color:var(--text-h);font-weight:600}.task-details{color:var(--text);white-space:pre-wrap;margin-top:.15rem;font-size:.9rem}.task-details-input{resize:vertical;flex:100%;width:100%;min-height:4.5rem;padding:.45rem .6rem;font-family:inherit;line-height:1.4}.task-meta{color:var(--text-muted);flex-wrap:wrap;gap:.4rem .75rem;margin-top:.4rem;font-size:.78rem;display:flex}.task-who{background:var(--badge-blue-bg);color:var(--badge-blue-fg);border-radius:999px;padding:.05rem .5rem;font-weight:600}.task-who.done{background:var(--badge-green-bg);color:var(--badge-green-fg)}.task-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.task-actions button{white-space:nowrap}.done-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;display:inline-flex}.field-preview-bar{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 .75rem;padding:.5rem .7rem;font-size:.9rem;display:flex}.field-preview-bar label{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.field-preview-bar select{padding:.3rem .5rem}.task-card.task-editing{align-items:stretch}.task-editing .task-main{flex-direction:column;flex:1;gap:.4rem;display:flex}.task-editing .task-main input,.task-editing .task-main select,.task-editing .task-main textarea{width:100%}.task-assign{max-width:9rem;padding:.25rem .4rem;font-size:.8rem}.field-tabs{border-bottom:1px solid var(--border);gap:.4rem;margin:0 0 1rem;display:flex}.field-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.5rem .9rem;font-size:1rem;font-weight:600}.field-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.field-tab:hover:not(:disabled){color:var(--text-h)}.field-page .tasks-page{max-width:none}.picker-item.picker-add strong{color:var(--accent)}.builder-search .row-actions{align-items:center;gap:.5rem;display:flex}.add-select-form{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.add-select-form input{width:8.5rem;padding:.3rem .5rem}.picker-floating{z-index:60;position:fixed;overflow:hidden}.picker-backdrop{z-index:55;background:0 0;position:fixed;inset:0}.picker-floating .picker-results{flex:auto;min-height:0;max-height:none}.line-search{width:18rem;max-width:100%}.line-items tr.row-removing td{opacity:0;background:var(--badge-red-bg);transition:opacity .25s,transform .25s,background .25s;transform:scale(.96)}.month-tabs{flex-wrap:wrap;gap:6px;margin-bottom:1rem;display:flex}.month-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:.85rem}.month-tab.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.board-counts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:1.25rem;display:grid}.board-count{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;padding:.7rem 1rem;display:flex}.board-count .n{font-size:1.6rem;font-weight:600}.board-count .l{color:var(--text-muted);font-size:.8rem}.board-count.out{background:var(--badge-red-bg);border-color:#0000}.board-count.out .n,.board-count.out .l{color:var(--badge-red-fg)}.board-count.disp{background:var(--badge-blue-bg);border-color:#0000}.board-count.disp .n,.board-count.disp .l{color:var(--badge-blue-fg)}.board-count.done{background:var(--badge-green-bg);border-color:#0000}.board-count.done .n,.board-count.done .l{color:var(--badge-green-fg)}.board-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.board-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);cursor:pointer;font:inherit;color:inherit;border-radius:0 8px 8px 0;padding:.7rem .9rem}.board-card:hover{border-color:var(--accent)}.board-card.outstanding{border-left-color:var(--badge-red-fg)}.board-card.dispatched{border-left-color:var(--badge-blue-fg)}.board-card.done{border-left-color:var(--badge-green-fg)}.board-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.board-card-top .code{font-weight:600}.board-card-client{font-size:.9rem}.board-card-sub{font-size:.8rem}.board-pill{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:.7rem}.board-pill.outstanding{background:var(--badge-red-bg);color:var(--badge-red-fg)}.board-pill.dispatched{background:var(--badge-blue-bg);color:var(--badge-blue-fg)}.board-pill.done{background:var(--badge-green-bg);color:var(--badge-green-fg)}.board-card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.board-check{vertical-align:middle;cursor:pointer;margin-right:6px}.board-gen{cursor:pointer;width:100%;margin-top:8px;padding:.35rem;font-size:.8rem}.picker-row{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.picker-row:last-child{border-bottom:none}.picker-row .picker-item{border-bottom:none;flex:1}.picker-del{color:var(--muted,#888);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0 .7rem}.picker-del:hover{color:#e5534b;background:var(--hover)}.gen-controls{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.gen-controls select,.gen-controls input[type=date]{width:auto}.drag-col{width:1.4rem}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;color:var(--text-muted,#888);letter-spacing:-.3em;padding:0 .45rem 0 .2rem;font-size:1.1rem}.drag-handle:hover{color:var(--text)}.drag-handle:active{cursor:grabbing}tr.row-drag-active{transition:transform .16s}tr.row-drag-placeholder{z-index:1}tr.row-drag-placeholder td{background:var(--accent-soft,#508cff1f);box-shadow:inset 0 2px 0 var(--accent), inset 0 -2px 0 var(--accent);color:#0000}tr.row-drag-placeholder td>*{visibility:hidden}.lists-boards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.25rem;display:grid}@media (width<=900px){.lists-boards{grid-template-columns:1fr}}.list-board{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem 1rem}.list-board-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.list-board-head h2{margin:0 0 .5rem}.list-add{flex-direction:column;gap:.4rem;margin-bottom:.8rem;display:flex}.list-form-row{gap:.4rem;display:flex}.list-form-row input{flex:1;min-width:0}.list-form-row .list-qty{flex:0 0 4.5rem}.list-form-row .list-job{flex:0 0 6.5rem}.list-more{align-self:flex-start;font-size:.85rem}.list-tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.6rem;display:grid}.list-tile{background:var(--input-bg,var(--surface));border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;align-items:flex-start;gap:.55rem;min-height:3.4rem;padding:.6rem .65rem;display:flex;position:relative}.list-pickup .list-tile{border-left-color:#e0a526}.list-tile.editing{flex-direction:column;align-items:stretch;gap:.4rem}.list-tile.done{opacity:.55;border-left-color:var(--border)}.list-tile.done .list-tile-title{text-decoration:line-through}.list-check{border:2px solid var(--text-muted);cursor:pointer;color:#fff;background:0 0;border-radius:50%;flex:none;width:1.25rem;height:1.25rem;margin-top:.1rem;padding:0;font-size:.75rem;line-height:1}.list-check:hover{border-color:var(--accent);background:var(--accent-soft)}.list-check.checked{background:var(--accent);border-color:var(--accent)}.list-tile-body{flex:1;min-width:0}.list-tile-title{overflow-wrap:anywhere;font-weight:600}.list-qty-badge{color:var(--accent);margin-right:.3rem}.list-tile-meta{color:var(--text-muted);flex-wrap:wrap;gap:.25rem .6rem;margin-top:.15rem;font-size:.82rem;display:flex}.list-tile-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.25rem;font-size:.85rem}.list-tile-by{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.list-tile-tools{opacity:0;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.8rem;transition:opacity .12s;display:flex}.list-tile:hover .list-tile-tools,.list-tile:focus-within .list-tile-tools{opacity:1}@media (hover:none){.list-tile-tools{opacity:1}}.list-tile-actions{align-items:center;gap:.5rem;display:flex}.list-done-head{margin:1rem 0 .5rem;font-size:.9rem}.notif-clear{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 1rem;display:flex}.notif-clear input[type=date]{width:auto}.greeting-overlay{z-index:1000;background:color-mix(in srgb, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:1rem;animation:.22s ease-out greet-fade;display:flex;position:fixed;inset:0}.greeting-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:min(28rem,100%);max-height:calc(100vh - 2rem);padding:1.6rem 1.4rem 1.3rem;animation:.32s cubic-bezier(.2,.8,.2,1) greet-rise;overflow-y:auto;box-shadow:0 18px 50px #00000040}.greeting-date{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.greeting-hello{margin:.35rem 0 .3rem;font-size:1.7rem;line-height:1.2}.greeting-jobs{color:var(--text-muted);margin:0 0 1rem}.greeting-saying{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:6px;margin:0 0 1rem;padding:.8rem 1rem;font-size:1.05rem;font-style:italic}.greeting-saying-by{color:var(--text-muted);margin-top:.35rem;font-size:.88rem;font-style:normal;display:block}.greeting-office{background:#e0a5261f;border:1px solid #e0a526;border-radius:10px;margin:0 0 1.1rem;padding:.8rem 1rem}.greeting-office-label{text-transform:uppercase;letter-spacing:.06em;color:#b7801a;margin-bottom:.3rem;font-size:.75rem;font-weight:700}.greeting-office p{white-space:pre-wrap;margin:.2rem 0 0}.greeting-go{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;padding:.75rem;font-size:1.05rem;font-weight:600}.greeting-go:hover{filter:brightness(1.08);background:var(--accent);color:#fff}@keyframes greet-fade{0%{opacity:0}to{opacity:1}}@keyframes greet-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.greet-settings{flex-direction:column;gap:.75rem;max-width:40rem;margin-bottom:1.5rem;display:flex}.greet-row{flex-direction:column;gap:.3rem;display:flex}.greet-who{font-weight:600}.greet-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.sched-job{flex-direction:column;gap:.08rem;font-size:.78rem;line-height:1.25;display:flex}.sched-job-top .sched-code{margin-right:auto}.sched-type{letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--border);border-radius:3px;padding:0 .2rem;font-size:.6rem;font-weight:700}.sched-status .badge{white-space:nowrap;padding:.02rem .3rem;font-size:.62rem}.sched-job .sched-client{color:var(--text);font-weight:500}.sched-site-line,.sched-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.sched-desc{font-style:italic}.sched-job-foot{flex-wrap:wrap;align-items:center;gap:.15rem .4rem;min-width:0;margin-top:.15rem;font-size:.7rem;display:flex}.sched-status{min-width:0;max-width:100%}.sched-status .badge{text-overflow:ellipsis;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.sched-tech{color:var(--accent);font-weight:600}.sched-hours{color:var(--text-muted);margin-left:auto}.sched-job.sched-done{opacity:.55}.sched-job.status-not_dispatched{border-left-color:var(--badge-gray-fg)}.sched-job.status-assigned{border-left-color:var(--badge-blue-fg)}.sched-job.status-dispatched{border-left-color:var(--badge-indigo-fg,var(--badge-blue-fg))}.sched-job.status-accepted{border-left-color:var(--badge-purple-fg,var(--accent))}.sched-job.status-started{border-left-color:var(--badge-amber-fg)}.sched-job.status-finished{border-left-color:var(--badge-teal-fg,var(--badge-green-fg))}.sched-job.status-completed{border-left-color:var(--badge-green-fg)}.sched-job.status-cancelled{border-left-color:var(--badge-red-fg)}.sched-job.prio-high,.sched-job.prio-urgent{box-shadow:inset 0 0 0 1px var(--badge-red-fg)}.add-equip-open{margin-top:.5rem}.add-equip{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;margin-top:.6rem;padding-top:.6rem;display:flex}.add-equip label{flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}.add-equip-scan{flex-wrap:wrap;gap:.5rem;display:flex}.add-equip-scan .primary{flex:1}.add-equip-row{gap:.5rem;display:flex}.add-equip-row label{flex:1}.add-equip-row .add-equip-qty{flex:0 0 4.5rem}.add-equip-actions{align-items:center;gap:.75rem;display:flex}.add-equip input{box-sizing:border-box;width:100%;min-width:0}.add-equip-row label{min-width:0}.add-equip .primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.add-equip .primary:disabled{opacity:.6}.greeting-weather{grid-template-columns:auto 1fr;align-items:center;column-gap:.6rem;margin:.2rem 0 .5rem;display:grid}.greeting-weather-icon{grid-row:span 2;font-size:1.9rem;line-height:1}.greeting-weather-range{color:var(--text-muted);font-size:.85rem}.emoji-picker{position:relative}.emoji-board{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:min(22rem,86vw);max-height:18rem;padding:.5rem .6rem;position:absolute;top:1.8rem;left:0;overflow-y:auto;box-shadow:0 10px 30px #00000040}.emoji-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:.35rem 0 .15rem;font-size:.7rem}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(2.1rem,1fr));gap:.15rem;display:grid}.emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;font-size:1.3rem;line-height:1}.emoji-btn:hover{background:var(--hover)}.cleanup{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.cleanup-groups{flex-wrap:wrap;gap:.4rem;display:flex}.cleanup-groups button.active{background:var(--accent);border-color:var(--accent);color:#fff}.cleanup-groups .count{opacity:.8;margin-left:.25rem}.cleanup-bar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.cleanup-bar .primary{background:var(--accent);border-color:var(--accent);color:#fff}.cleanup-list{flex-direction:column;gap:.5rem;display:flex}.cleanup-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:flex-start;gap:.6rem;padding:.55rem .7rem;display:flex}.cleanup-item.unticked{opacity:.55}.cleanup-body{flex:1;min-width:0}.cleanup-head{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.35rem;display:flex}.cleanup-cols{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}@media (width<=800px){.cleanup-cols{grid-template-columns:1fr}}.cleanup-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.7rem}.cleanup-cols pre{white-space:pre-wrap;word-break:break-word;background:var(--input-bg,var(--bg));border-radius:6px;max-height:12rem;margin:.15rem 0 0;padding:.4rem .5rem;font-family:inherit;font-size:.82rem;overflow-y:auto}.cleanup-removed{color:var(--badge-red-fg);background:var(--badge-red-bg);text-decoration:line-through}.new-program,.pm-check{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:.6rem;margin:.75rem 0 1rem;padding:.9rem 1rem;display:flex}.new-program h2,.pm-check h2{margin:0}.new-program label{flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}.new-program-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem;display:grid}.new-program-label{margin-bottom:.25rem;font-size:.85rem}.new-program-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.new-program .primary,.pm-check .primary,.page-head button.active{background:var(--accent);border-color:var(--accent);color:#fff}.price-inline{width:6rem}.jobcard-wrap{align-items:stretch;gap:.4rem;display:flex}.jobcard-wrap .jobcard{flex:1;min-width:0}.jobcard-col{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.jobcard-col>.add-email{padding:0 .85rem}.jobcard-col>.card-pdf{align-self:flex-start;padding:0 .85rem;font-size:.88rem}.add-email{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;display:inline-flex}.add-email-open{display:flex}.add-email-open input{flex:12rem;min-width:0}.inv-email{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=800px){.inv-email{grid-template-columns:1fr}}.inv-email-edit{flex-direction:column;gap:.6rem;min-width:0;display:flex}.inv-email-edit label{flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600;display:flex}.inv-email-edit input,.inv-email-edit textarea{width:100%;font-weight:400}.inv-email-tags{flex-wrap:wrap;gap:.35rem;display:flex}.inv-email-tag{border-radius:999px;padding:.2rem .55rem;font-size:.82rem}.inv-email-preview{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:.45rem;min-width:0;padding:.8rem 1rem;display:flex}.inv-email-preview-label{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.inv-email-attach{color:var(--text-muted);font-size:.85rem}.inv-email-body{white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--border);padding-top:.6rem}.dialog-overlay.pdf-overlay{padding-top:3vh}.pdf-preview{background:var(--surface);border:1px solid var(--border);width:96vw;height:94vh;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.pdf-preview-head{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.55rem .9rem;display:flex}.pdf-preview-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pdf-preview-head button{font-size:1.1rem}.pdf-preview iframe{background:#fff;border:0;flex:1;width:100%}.pdf-peek{opacity:.75;margin-left:.45rem;padding:0 .3rem;font-size:.95rem;line-height:1}.pdf-peek:hover{opacity:1}.email-history ul{margin:0 0 1rem;padding:0;list-style:none}.email-history li{border-top:1px solid var(--border);padding:.4rem 0;font-size:.92rem}.email-history li .muted{font-size:.85rem}.email-compare-table{width:100%;font-size:.9rem}.dup-groups{flex-direction:column;gap:.8rem;display:flex}.dup-group{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.3rem .8rem}.dup-why{padding-top:.35rem;font-size:.8rem}.dup-row{flex-wrap:wrap;align-items:center;gap:.8rem;padding:.5rem 0;display:flex}.dup-row+.dup-row{border-top:1px solid var(--border)}.dup-pick{align-items:center;gap:.3rem;width:4.2rem;font-size:.85rem;font-weight:600;display:flex}.dup-info{flex:1;min-width:14rem}.dup-meta{margin-top:.15rem;font-size:.84rem}.merge-dialog{max-width:34rem}.merge-dialog h3{margin:.8rem 0 .25rem;font-size:.95rem}.merge-dialog ul{margin:0;padding-left:1.2rem}.client-pick-list{max-height:16rem;margin:.4rem 0 0;padding:0;list-style:none;overflow-y:auto}.client-pick-list button{text-align:left;width:100%}.addr-table{width:100%;font-size:.9rem}.addr-table td{vertical-align:top;word-break:break-word}.addr-table input{width:100%;min-width:5rem;margin-bottom:.25rem}.addr-sugg{color:var(--badge-green-fg,#067647);font-weight:600}.addr-sugg small{opacity:.75;margin-left:.2rem;font-weight:400}.addr-guess{color:var(--badge-amber-fg,#b54708)}.addr-issues{font-size:.82rem}.email-compare-table td{word-break:break-word}.portal-queue{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:.6rem 0 1rem;padding:.6rem .9rem}.portal-queue h2{margin:.1rem 0 .2rem;font-size:1.05rem}.portal-queue p{margin:0 0 .5rem;font-size:.88rem}.portal-queue ul{margin:0;padding:0;list-style:none}.portal-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;padding:.5rem 0;display:flex}.portal-info{flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem;min-width:0;display:flex}.portal-actions{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;display:flex}.jobcard-wrap.row-selected .jobcard{border-color:var(--accent);background:var(--accent-soft)}.jobcard-check{align-items:flex-start;padding-top:.75rem;display:flex}.jobcard-check input{width:1.15rem;height:1.15rem}.jobcards-selectall{font-size:.88rem}.jobcard-office{flex-wrap:wrap;align-items:center;gap:.25rem .6rem;display:flex}.filters-more{width:100%}.filters-more>summary{cursor:pointer;padding:.4rem 0;font-weight:600}.filters-more-panel{flex-direction:column;gap:.45rem;padding:.4rem 0 .6rem;display:flex}.filters-more-panel>*{width:100%}@media (width<=700px){.jobs-page .filters{flex-direction:column;align-items:stretch}.jobs-page .filters>*,.jobs-list-page .job-search{width:100%}.bulk-bar{flex-wrap:wrap}}
