:root{color-scheme:light;--canvas: #EDF2F0;--surface: #FFFFFF;--surface2: #F4F7F5;--inset: #F4F7F5;--panel: var(--surface2);--ink: #0D1512;--ink2: #5C6A64;--ink3: #636F69;--line: #E7ECE9;--line2: #F0F2F1;--line-2: #D6E0DB;--brand: #0A6E52;--brand-ink: #075A43;--brand-deep: #075A43;--brand-bright: #12B981;--brand-wash: #E8F2EE;--glow: rgba(10, 110, 82, .22);--active-bg: linear-gradient(180deg, #E9F3EF, #F1F7F4);--active-ring: rgba(10, 110, 82, .22);--negative: #B3261E;--on-negative: #FFFFFF;--neg-wash: #FBEAE9;--positive: #0A6E52;--pos-wash: #E8F2EE;--warn: #8A5A00;--warn-wash: #FAF0DE;--info: #1D4E89;--info-wash: #E7EEF7;--on-brand: #fff;--hi: inset 0 1px 0 rgba(255, 255, 255, .7);--lift: 0 1px 2px rgba(13, 21, 18, .04), 0 20px 44px -30px rgba(6, 65, 47, .28);--shadow: 0 8px 16px rgba(13, 21, 18, .06);--shadow-sm: 0 1px 2px rgba(13, 21, 18, .05);--shadow-lg: 0 1px 2px rgba(13, 21, 18, .05), 0 30px 60px -30px rgba(6, 65, 47, .3);--ambient: radial-gradient(1000px 520px at 70% -14%, rgba(18, 185, 129, .09), transparent 60%), radial-gradient(720px 460px at 4% 110%, rgba(10, 110, 82, .07), transparent 60%);--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif;--serif: var(--sans);--mono: var(--sans);--code: ui-monospace, "SF Mono", "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, "Liberation Mono", monospace;--primary: var(--brand);--success: var(--positive);--error: var(--negative);--warning: var(--warn);--bg: var(--canvas);--card: var(--surface);--border: var(--line);--text: var(--ink);--subtext: var(--ink2)}:root[data-theme=dark]{color-scheme:dark;--canvas: #0A0E0C;--surface: #121A16;--surface2: #0A100D;--inset: #0A100D;--ink: #EAF3EE;--ink2: #93A69D;--ink3: #7B8C83;--line: rgba(122, 162, 142, .11);--line2: rgba(122, 162, 142, .08);--line-2: rgba(122, 162, 142, .2);--brand: #2FD08A;--brand-ink: #4BEBA8;--brand-deep: #14855A;--brand-bright: #4BEBA8;--brand-wash: #0F2A21;--glow: rgba(47, 208, 138, .42);--active-bg: linear-gradient(180deg, rgba(47, 208, 138, .16), rgba(47, 208, 138, .07));--active-ring: rgba(47, 208, 138, .28);--negative: #F0776B;--on-negative: #2A0F0C;--neg-wash: #2A1614;--positive: #2FD08A;--pos-wash: #0F2A21;--warn: #E7B24E;--warn-wash: #2A2113;--info: #93B4DD;--info-wash: #16202C;--on-brand: #04140D;--hi: inset 0 1px 0 rgba(255, 255, 255, .035);--lift: 0 24px 50px -30px rgba(0, 0, 0, .75);--shadow: 0 8px 20px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 1px 2px rgba(0, 0, 0, .4), 0 34px 60px -30px rgba(0, 0, 0, .7);--ambient: radial-gradient(1100px 560px at 68% -12%, rgba(47, 208, 138, .08), transparent 62%), radial-gradient(760px 500px at 6% 108%, rgba(20, 133, 90, .1), transparent 60%)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--canvas);background-image:var(--ambient);background-attachment:fixed;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;transition:background-color .25s ease}button{font-family:inherit;cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px}select:disabled{color:var(--ink3);background:var(--inset);cursor:not-allowed}a{color:var(--brand)}img{max-width:100%}:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;color:var(--ink)}.eyebrow{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}.app{display:flex;min-height:100vh}.drawer-trigger{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink2);font:inherit;font-size:14px;font-weight:700;padding:8px 14px 8px 11px;cursor:pointer;transition:background .16s,color .16s,border-color .16s}.drawer-trigger:hover{background:var(--inset);color:var(--ink);border-color:var(--line-2)}.drawer-trigger .gi{width:18px;height:18px;flex:none}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#0d151280;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.drawer-panel{position:fixed;top:0;left:0;bottom:0;z-index:151;width:min(304px,88vw);background:var(--surface);border-right:1px solid var(--line);box-shadow:var(--shadow-lg);padding:18px 14px 14px;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none}.drawer-panel::-webkit-scrollbar{display:none}.drawer-panel:focus{outline:none}.drawer-head{display:flex;align-items:center;gap:2px}.drawer-head .brand{flex:1;min-width:0}.drawer-close{background:none;border:none;color:var(--ink3);cursor:pointer;flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.drawer-close:hover{background:var(--inset);color:var(--ink)}.drawer-close svg{width:16px;height:16px}.drawer-empty{color:var(--ink3);font-size:13.5px;padding:12px 11px;margin:0}body.drawer-is-open{overflow:hidden}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 4px;font-family:var(--sans);font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.brand .wm{font-weight:800;color:inherit}.brand-mark{width:30px;height:30px;border-radius:9px;color:var(--on-brand);background:linear-gradient(150deg,var(--brand-bright),var(--brand-deep));display:grid;place-items:center;box-shadow:0 0 18px -3px var(--glow);flex:none}.brand-mark svg{width:16px;height:16px}.theme-toggle{margin-left:auto;color:var(--ink3);display:grid;place-items:center;width:28px;height:28px;border-radius:8px;cursor:pointer;background:none;border:none}.theme-toggle:hover{background:var(--inset);color:var(--ink2)}.theme-toggle svg{width:16px;height:16px}.side-search{margin:12px 2px 8px;position:relative}.side-search input{width:100%;background:var(--inset);border:1px solid var(--line);border-radius:11px;color:var(--ink);font:inherit;font-size:13px;padding:9px 12px 9px 34px}.side-search input::placeholder{color:var(--ink3)}.side-search input:focus{outline:none;border-color:var(--brand-deep);box-shadow:0 0 0 3px var(--glow)}.side-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink3)}.nav{display:flex;flex-direction:column;gap:2px;margin-top:4px}.drawer-row{display:flex;align-items:center;gap:2px}.drawer-row .navitem{flex:1 1 auto;min-width:0}.drawer-row .drawer-star{opacity:0;transition:opacity .14s,background .16s,color .16s}.drawer-row:hover .drawer-star,.drawer-row:focus-within .drawer-star,.drawer-row .drawer-star.on{opacity:1}.fav-group{margin-bottom:8px}.fav-group-head{display:flex;align-items:center;gap:9px;margin:2px 0 4px;padding:4px 11px;color:var(--ink3);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fav-group-head .gi{width:15px;height:15px;flex:none}.fav-rows{display:flex;flex-direction:column;gap:1px}.navitem{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;color:var(--ink2);padding:10px 11px;border-radius:11px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .16s,color .16s;white-space:nowrap;overflow:hidden}.navitem:hover{background:var(--inset);color:var(--ink)}.navitem .gi{width:19px;height:19px;flex:none;color:currentColor}.navitem .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.navitem.active{background:var(--active-bg);color:var(--ink);box-shadow:inset 0 0 0 1px var(--active-ring),0 0 20px -10px var(--glow)}.navitem.active .gi{color:var(--brand)}.navitem .row-count{margin-left:0}.sublink{position:relative;display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--ink2);font:inherit;font-size:13.5px;font-weight:600;padding:8px 11px;border-radius:9px;cursor:pointer;text-align:left;width:100%;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sublink:hover{background:var(--inset);color:var(--ink)}.sublink.active{background:var(--surface2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2),var(--hi)}.sublink .row-count{margin-left:auto;font-family:var(--mono);font-size:10px;font-weight:700;min-width:19px;height:18px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;color:var(--brand);background:var(--brand-wash);font-variant-numeric:tabular-nums}.saved-view-row{position:relative;display:flex;align-items:center}.saved-view-link{flex:1;min-width:0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-view-del{background:transparent;border:none;color:var(--ink3);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:8px}.saved-view-del:hover{background:var(--inset);color:var(--ink)}.saved-view-add{color:var(--ink3)!important}.saved-view-add:hover{color:var(--ink)!important}.side-foot{margin-top:auto;padding:12px 8px 2px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:999px;background:var(--active-bg);border:1px solid var(--line-2);display:inline-grid;place-items:center;font-weight:800;font-size:13px;color:var(--brand);flex:none;overflow:hidden;line-height:1;letter-spacing:.3px;vertical-align:middle}.avatar-img{width:100%;height:100%;object-fit:cover;display:block}.mycard-photo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}.mycard-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.crew-row{justify-content:flex-start}.emp-head>div:not(.emp-right){flex:1 1 auto;min-width:0}.side-foot .who{min-width:0;flex:1}.side-foot .n{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-foot .r{font-size:11px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-foot .signout{background:none;border:none;color:var(--ink3);cursor:pointer;flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.side-foot .signout:hover{background:var(--inset);color:var(--negative)}.side-foot .signout svg{width:16px;height:16px}.main{flex:1;padding:34px 40px 64px;max-width:1680px;min-width:0;margin:0 auto}.page-title{font-size:1.9rem;line-height:1.1;margin:0 0 6px}.page-sub{color:var(--ink2);margin:0 0 26px;font-size:15px}.page-title:last-child,.page-title+.actions-row{margin-bottom:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:20px 22px;margin-bottom:16px;box-shadow:var(--lift),var(--hi);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.card.interactive:hover,a>.card:hover{transform:translateY(-2px);border-color:var(--line-2)}.card h3{margin:0 0 14px;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat-label{color:var(--ink2);font-size:13.5px;font-weight:600}.stat-value{font-family:var(--serif);font-size:2.1rem;font-weight:600;line-height:1.1;margin-top:6px;font-variant-numeric:tabular-nums}.stat-sub{color:var(--ink3);font-size:12.5px;margin-top:6px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line2)}.row:first-child{border-top:none}.row-main{font-weight:600}.row-sub{color:var(--ink2);font-size:13px}.muted{color:var(--ink2)}.num{font-variant-numeric:tabular-nums}.row.clickable{cursor:pointer;margin:0 -22px;padding-left:22px;padding-right:22px}.row.clickable:hover{background:var(--line2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:var(--brand);color:var(--on-brand);border:1px solid transparent;border-radius:var(--r-md);padding:10px 17px;min-height:44px;font-size:14.5px;font-weight:700;box-shadow:var(--shadow-sm);transition:background .14s,transform .14s,border-color .14s}.btn:hover{background:var(--brand-ink)}.btn:active{transform:translateY(1px)}.btn.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:var(--surface);border-color:var(--brand);color:var(--brand)}.btn.danger{background:var(--surface);border-color:var(--line);color:var(--negative)}.btn.danger:hover{border-color:var(--negative);background:var(--neg-wash)}.btn.small{padding:7px 12px;font-size:13px;border-radius:var(--r-sm)}.btn:disabled{opacity:.5;cursor:default;transform:none}.pill{display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;background:var(--line2);color:var(--ink2);border:1px solid transparent}.pill.paid,.pill.accepted,.pill.connected,.pill.approved,.pill.done,.pill.active{background:var(--pos-wash);color:var(--brand-ink)}.pill.unpaid,.pill.pending,.pill.awaiting,.pill.in_progress,.pill.overdue{background:var(--warn-wash);color:var(--warn)}.pill.declined,.pill.void,.pill.expired,.pill.cancelled,.pill.error{background:var(--neg-wash);color:var(--negative)}.pill.sent,.pill.scheduled,.pill.quoted{background:var(--info-wash);color:var(--info)}.pill.draft{background:var(--line2);color:var(--ink2);border-color:var(--line)}.pill.tone-neutral{background:var(--line2);color:var(--ink2)}.pill.tone-info{background:var(--brand-wash);color:var(--brand-ink)}.pill.tone-live{background:var(--brand);color:var(--on-brand)}.pill.tone-warning{background:var(--warn-wash);color:var(--warn)}.pill.tone-danger{background:var(--neg-wash);color:var(--negative)}.badge{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:var(--brand-wash);padding:.3rem .6rem;border-radius:999px}.actions-row{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap;align-items:center}.field{margin-bottom:15px}.field label,.field .field-label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--ink)}.field .hint{display:block;font-weight:400;color:var(--ink2);font-size:12.5px;margin-top:2px}.field input,.field select,.field textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 13px;color:var(--ink);font-size:15px;font-family:inherit;transition:border-color .14s,box-shadow .14s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}.field input::placeholder,.field textarea::placeholder{color:var(--ink3)}.field textarea{resize:vertical;min-height:76px}.field-row{display:flex;gap:12px}.field-row .field{flex:1}.error-text{color:var(--negative);font-size:13.5px;margin-top:8px}.ok-text{color:var(--brand-ink);font-size:13.5px;margin-top:8px}.actions-row input,.actions-row select{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 13px;color:var(--ink);font-size:14px;font-family:inherit}.actions-row input:focus,.actions-row select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}.item-row{display:flex;gap:10px;align-items:flex-end;margin-bottom:10px}.item-row .field{margin-bottom:0;flex:1}.opt-check{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink2);white-space:nowrap;padding-bottom:8px}.item-row .field.qty{flex:0 0 88px}.item-row .field.price{flex:0 0 130px}.item-row button.remove{background:none;border:none;color:var(--negative);font-size:13px;font-weight:600;padding:11px 4px;cursor:pointer}.toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:15px}.toggle-row label{font-size:14px;font-weight:600;cursor:pointer}.perm-grid{margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}.perm-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;cursor:pointer}.emp{border-top:1px solid var(--line2)}.emp:first-of-type{border-top:none}.emp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0}.emp-head[role=button]{cursor:pointer;border-radius:var(--r-sm)}.emp-head[role=button]:hover{background:var(--line2);margin:0 -10px;padding-inline:10px}.emp-right{display:flex;align-items:center;gap:10px;flex:none}.tier-badge{font-size:12px;font-weight:700;letter-spacing:.01em;padding:3px 10px;border-radius:999px;background:var(--brand-wash);color:var(--brand-ink);white-space:nowrap}.tier-badge.owner{background:var(--line2);color:var(--ink2)}.emp-chev{color:var(--ink3);font-size:12px;width:12px;text-align:center}.emp-body{padding:4px 0 16px}.perm-heading{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin:14px 0 8px}.tier-picker{background:var(--line2);border-radius:var(--r-md);padding:12px 14px;margin-bottom:6px}.tier-picker .perm-heading{margin-top:0}.tier-btns{display:flex;flex-wrap:wrap;gap:8px}.tier-btn{font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;cursor:pointer;background:var(--surface);border:1px solid var(--line);color:var(--ink2)}.tier-btn:hover{border-color:var(--brand);color:var(--brand-ink)}.tier-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.tier-blurb{font-size:12.5px;margin:8px 0 0}.perm-group{margin-bottom:6px}.perm-group-label{font-size:12.5px;font-weight:700;color:var(--ink2);margin:8px 0 2px}.area-tree{margin-top:4px}.area-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line2)}.area-row:last-of-type{border-bottom:none}.area-row-text{min-width:0}.area-row-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.area-row-blurb{margin:2px 0 0;font-size:12.5px;color:var(--ink3)}.area-row-switch{flex:none;margin-top:3px;cursor:pointer}.area-row.off .area-row-name{color:var(--ink3)}.area-row.off .area-row-blurb{text-decoration:line-through}.area-row.locked .area-row-name,.area-row.locked .area-row-switch{cursor:default}.area-always{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--brand-wash);color:var(--brand-ink);white-space:nowrap}.area-count{font-size:12.5px;color:var(--ink2);margin:10px 0 0;font-weight:600}.area-axis-note{font-size:12.5px;margin:0 0 8px}.area-source{background:var(--surface2);border-radius:var(--r-md);padding:10px 12px;margin-bottom:8px}.area-source-line{font-size:12.5px;margin:0 0 6px;color:var(--ink2)}.area-source-line:last-of-type{margin-bottom:0}.area-source .btn{margin-top:8px}.site-hub-promo{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--brand-wash)}.site-hub-promo b{display:block;font-size:15px;color:var(--ink)}.site-hub-promo p{margin:4px 0 0;font-size:13px;line-height:19px;color:var(--ink2);max-width:68ch}.site-hub-promo .btn{white-space:nowrap}.match-hint{margin-top:4px;font-size:12.5px;font-weight:600;color:var(--brand-ink);background:var(--brand-wash);display:inline-block;padding:2px 8px;border-radius:6px}.row-sub.warn{margin-top:4px;font-weight:600;color:var(--warn)}.asset-pill{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.asset-pill.overdue{background:var(--neg-wash);color:var(--negative)}.asset-pill.due_soon{background:var(--warn-wash);color:var(--warn)}.asset-pill.ok{background:var(--brand-wash);color:var(--brand-ink)}.asset-pill.none{background:var(--line2);color:var(--ink3)}.table-wrap{overflow-x:auto;margin:0 -22px;padding:0 22px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line2);vertical-align:top}.table tr:last-child td{border-bottom:0}.table td.right,.table th.right{text-align:right;padding-right:0}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:var(--line2)}.empty{text-align:center;padding:34px 20px;color:var(--ink2)}.empty h3{font-family:var(--serif);font-size:1.15rem;text-transform:none;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px}.empty p{margin:0 auto 16px;max-width:42ch;font-size:14px}.banner{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;margin-bottom:20px;font-size:14px;line-height:1.5}.banner strong{font-weight:700}.banner .banner-sub{font-size:13px;opacity:.9}.banner.trial{background:var(--warn-wash);border-color:var(--warn);color:var(--warn)}.banner.locked{background:var(--neg-wash);border-color:var(--negative);color:var(--negative)}.banner.info{background:var(--info-wash);border-color:var(--info);color:var(--info)}.banner.danger{background:var(--neg-wash);border-color:var(--negative);color:var(--negative)}.linklike{background:none;border:none;color:var(--brand);font-weight:600;cursor:pointer;padding:0;font-size:inherit;text-align:left}.linklike:hover{color:var(--brand-ink);text-decoration:underline}.signin{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.signin-inner{width:100%;max-width:420px}.signin .brand{justify-content:center;padding:0 0 22px;font-size:1.45rem}.signin h1{font-size:1.75rem;margin:0 0 6px;text-align:center}.signin .signin-lede{color:var(--ink2);text-align:center;margin:0 0 22px;font-size:15px}.signin .trial-reassure{list-style:none;margin:-6px 0 22px;padding:0;display:grid;gap:7px}.signin .trial-reassure li{color:var(--ink2);font-size:14px;line-height:1.45;padding-left:24px;position:relative}.signin .trial-reassure li:before{content:"✓";position:absolute;left:4px;top:0;color:var(--brand);font-weight:700}.signin .card{padding:26px;box-shadow:var(--shadow);border-radius:var(--r-xl)}.signin-foot{text-align:center;margin-top:18px;font-size:13.5px;color:var(--ink2)}.signin-foot a{font-weight:600}.form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13.5px}.form-foot>.linklike{display:inline-flex;align-items:center;min-height:44px}.form-foot .muted>.linklike{display:inline-flex;align-items:center;min-height:44px}.crumb{background:none;border:none;padding:0;margin-bottom:14px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);cursor:pointer}.crumb:hover{color:var(--brand)}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px}.detail-head .page-title{margin-bottom:2px}.detail-meta{color:var(--ink2);font-size:14px;margin:0 0 22px}.detail-grid{display:grid;gap:18px;align-items:start}@media (min-width: 1000px){.detail-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}.tabs{display:inline-flex;gap:3px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:22px;flex-wrap:wrap;max-width:100%}.tab{background:none;border:none;border-radius:9px;padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--ink2);transition:background .15s,color .15s}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);background:var(--surface);box-shadow:var(--hi),0 1px 2px #0d15120f}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.cal-head{background:var(--surface2);padding:9px 10px;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-align:center}.cal-day{background:var(--surface);min-height:132px;padding:8px;display:flex;flex-direction:column;gap:6px}.cal-day.today{background:var(--brand-wash)}.cal-date{font-family:var(--mono);font-size:.72rem;color:var(--ink3);font-variant-numeric:tabular-nums}.cal-day.today .cal-date{color:var(--brand-ink);font-weight:700}.cal-job{background:var(--surface2);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;padding:6px 8px;font-size:12.5px;text-align:left;width:100%;cursor:pointer}.cal-job:hover{border-color:var(--brand)}.cal-job b{display:block;font-weight:700;color:var(--ink)}.cal-job span{color:var(--ink2)}.cal-job-value{float:right;font-weight:700;color:var(--brand-ink);font-variant-numeric:tabular-nums}@media (max-width: 760px){.cal-grid{grid-template-columns:1fr}.cal-head{display:none}.cal-day{min-height:0}}.chat{display:flex;flex-direction:column;gap:12px;max-height:460px;overflow-y:auto;padding-right:4px}.chat-msg{display:flex;flex-direction:column;gap:3px;max-width:78%}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-who{font-size:11.5px;color:var(--ink3)}.chat-bubble{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 13px;font-size:14px}.chat-msg.mine .chat-bubble{background:var(--brand-wash);border-color:transparent;color:var(--ink)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-top:8px}.photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line)}.photo-thumb-missing{display:flex;align-items:center;justify-content:center;text-align:center;background:var(--surface2);color:var(--ink3);font-size:11px;padding:6px}@media (max-width: 980px){.main{padding:26px 22px 56px}}@media (max-width: 700px){.main{padding:20px 16px 48px;max-width:100%}.actions-row{flex-direction:column;align-items:stretch}.table-wrap{margin:0 -22px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.main:focus{outline:none}.skip-link{position:absolute;left:12px;top:10px;z-index:100;transform:translateY(-200%);background:var(--surface);color:var(--brand);border:1px solid var(--brand);border-radius:var(--r-sm);padding:.6rem 1rem;font-weight:700;text-decoration:none;box-shadow:var(--shadow);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}html{scroll-padding-top:76px}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.topbar-brand{padding:0;font-size:16px;margin-right:auto}@media (max-width: 760px){.topbar-brand{display:none}.drawer-trigger{margin-right:auto}}.search{position:relative;flex:0 1 760px;min-width:200px}.search input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 56px 11px 15px;color:var(--ink);font-size:14.5px;font-family:inherit}.search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}.search-kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--code);font-size:11px;color:var(--ink3);border:1px solid var(--line);border-radius:6px;padding:2px 6px;pointer-events:none}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden;max-height:60vh;overflow-y:auto}.search-head{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);padding:10px 14px 4px}.search-empty{padding:14px;color:var(--ink2);font-size:13.5px}.search-hit{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:none;padding:9px 14px;font-size:14px}.search-hit.active{background:var(--brand-wash)}.search-hit-title{font-weight:600;color:var(--ink)}.search-hit-sub{font-size:12.5px;color:var(--ink2)}.table-tools{display:flex;justify-content:flex-end;margin-bottom:6px;font-size:13px}.table td{height:40px}.table.compact td{height:32px;padding-top:7px;padding-bottom:7px}.table th{position:sticky;top:0;background:var(--surface);z-index:1}.table thead th,.table tbody tr:hover td{background:var(--surface2)}.table.no-rowhover tbody tr:hover td{background:transparent}.th-sort{background:none;border:none;padding:0;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.th-sort:hover{color:var(--ink)}.th-arrow{color:var(--ink3)}.skeleton{display:block;height:12px;width:70%;border-radius:4px;background:linear-gradient(90deg,var(--line2),var(--line),var(--line2));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.skeleton{animation:none}}.flagged{color:var(--warn);font-weight:700;border-bottom:1px dotted var(--warn)}.tray{display:flex;flex-wrap:wrap;gap:10px}.tray .cal-job{width:min(280px,100%)}.cal-none{color:var(--ink3);font-size:12px}.cal-dayname{display:none}@media (max-width: 760px){.cal-dayname{display:inline}}.cal-job{display:flex;flex-direction:column}.cal-job-open{background:none;border:none;padding:0;text-align:left;width:100%;display:flex;flex-direction:column;gap:1px;color:inherit;font:inherit}.cal-job-crew{color:var(--brand-ink);font-size:11.5px}.cal-job-menu{align-self:flex-start;margin-top:6px;background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink2);font-size:11px;font-weight:600;min-height:24px;padding:3px 8px}.cal-job-menu:hover{border-color:var(--brand);color:var(--brand)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0d151280;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg),var(--hi);padding:24px;width:min(520px,100%);max-height:88vh;overflow-y:auto}.dialog h2{font-size:1.25rem;margin:0 0 4px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.photo-pick{background:none;border:2px solid transparent;border-radius:calc(var(--r-sm) + 2px);padding:0}.photo-pick.picked{border-color:var(--brand)}.photo-pick.picked .photo-thumb{opacity:.85}.public-page{max-width:640px;margin:0 auto;padding:40px 20px 60px}.public-header{text-align:center;margin-bottom:22px}.public-business{color:var(--ink2);font-size:15px;font-weight:600;margin-top:4px}.public-card{padding:24px}.public-card h2{margin:0 0 6px;font-size:1.4rem}.public-card h3{margin:0 0 12px;font-family:var(--serif);font-size:1.05rem;color:var(--ink);font-weight:600;letter-spacing:-.01em;text-transform:none}.public-greeting{color:var(--ink2);margin:0 0 16px}.collection-notice{color:var(--ink2);font-size:13px;line-height:1.5;margin:0 0 12px}.collection-notice a{color:inherit;text-decoration:underline}.public-footer{text-align:center;color:var(--ink3);font-size:12px;margin-top:28px}.tier-card{display:flex;flex-direction:column;align-items:flex-start}.tier-name{font-weight:800;font-size:16px;margin-bottom:4px}.tier-total{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--brand);margin:6px 0 14px}.decision-note{border-radius:var(--r-md);padding:14px 16px;font-size:14px;margin-bottom:16px}.decision-note.approved,.decision-note.accepted{background:var(--pos-wash);color:var(--brand-ink)}.decision-note.declined{background:var(--neg-wash);color:var(--negative)}@media (max-width: 480px){.public-page{padding:24px 14px 40px}}.table th.select-col,.table td.select-col{width:40px;padding-right:8px}.table td.select-col{vertical-align:middle}.table tbody tr.selected td{background:var(--brand-wash)}.table input[type=checkbox],.row input[type=checkbox],.row-selectall input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;margin:0}.row.selected{background:var(--brand-wash)}.row-selectall{display:flex;align-items:center;gap:10px;margin:0 -22px 4px;padding:4px 22px 10px;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer}.bulk-bar{position:sticky;top:8px;z-index:5;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--brand);color:var(--on-brand);border-radius:var(--r-md);padding:10px 16px;margin-bottom:16px;box-shadow:var(--shadow)}.bulk-count{font-weight:700}.bulk-bar .bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.bulk-bar .bulk-note{font-size:12.5px;opacity:.92}.bulk-bar .bulk-cancel{color:var(--on-brand);margin-left:auto;font-weight:600;opacity:.95}.bulk-bar .bulk-cancel:hover{color:var(--on-brand);opacity:1}.bulk-bar .btn.secondary,.bulk-bar select{background:#ffffff24;border-color:#ffffff80;color:var(--on-brand)}.bulk-bar .btn.secondary:hover{background:#ffffff3d;border-color:var(--on-brand);color:var(--on-brand)}.bulk-bar select option{color:var(--ink)}.print-only{display:none}@media print{:root,:root[data-theme=dark]{--canvas: #FFFFFF;--surface: #FFFFFF;--surface2: #FFFFFF;--inset: #FFFFFF;--ink: #000000;--ink2: #333333;--ink3: #555555;--line: #BBBBBB;--line2: #DDDDDD;--line-2: #999999;--brand: #0A6E52;--brand-ink: #075A43;--brand-wash: #FFFFFF;--negative: #B3261E;--warn: #8A5A00;--on-brand: #FFFFFF}body{background:#fff!important;color:#000!important}.drawer-panel,.drawer-scrim,.topbar,.skip-link,.subscription-banner,.no-print{display:none!important}.main{padding:0!important}.app,.print-only{display:block!important}.run-sheet{color:#000}.run-sheet h2{font-size:18pt;margin:0 0 2pt}.run-sheet .rs-sub{color:#333;margin:0 0 14pt;font-size:10pt}.run-sheet .rs-day{break-inside:avoid;margin-bottom:12pt}.run-sheet .rs-dayhead{font-weight:700;border-bottom:1.5pt solid #000;padding-bottom:2pt;margin-bottom:4pt;font-size:12pt}.run-sheet .rs-job{display:flex;gap:10pt;padding:3pt 0;border-bottom:.5pt solid #bbb;font-size:10.5pt}.run-sheet .rs-time{flex:0 0 52pt;font-weight:700}.run-sheet .rs-body{flex:1}.run-sheet .rs-crew{color:#333}.run-sheet .rs-none{color:#666;font-style:italic;font-size:10pt}}.cal-leave{font-size:11.5px;font-weight:600;color:var(--warn);background:var(--warn-wash);border:1px solid var(--warn);border-radius:var(--r-sm);padding:2px 6px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-layout{display:grid;gap:16px;align-items:start}@media (min-width: 800px){.sms-layout{grid-template-columns:minmax(0,300px) minmax(0,1fr)}}.sms-list{padding:8px;max-height:70vh;overflow-y:auto}.sms-convo{display:block;width:100%;text-align:left;background:none;border:none;border-radius:var(--r-sm);padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line2)}.sms-convo:hover{background:var(--line2)}.sms-convo.on{background:var(--brand-wash)}.sms-convo .row-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-thread{display:flex;flex-direction:column;min-height:320px}.sms-thread-head{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.sms-bubbles{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:56vh;padding-right:4px}.sms-bubble{max-width:78%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.4}.sms-bubble.in{align-self:flex-start;background:var(--line2);color:var(--ink);border-bottom-left-radius:4px}.sms-bubble.out{align-self:flex-end;background:var(--brand);color:var(--on-brand);border-bottom-right-radius:4px}.sms-bubble .sms-time{font-size:10.5px;opacity:.7;margin-top:3px}.sms-bubble.out .sms-failed{font-size:12px;line-height:1.35;margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.35);color:#fff;font-weight:600}.sms-reply{display:flex;gap:8px;margin-top:12px}.sms-reply input{flex:1}.task-row{align-items:center}.task-main{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1;min-width:0;margin:0}.task-main input[type=checkbox]{width:17px;height:17px;accent-color:var(--brand);cursor:pointer;flex:none}.task-done{text-decoration:line-through;color:var(--ink3)}.row-sub .overdue{color:var(--negative);font-weight:600}.chip-btn{font-family:var(--mono);font-size:12px;padding:3px 8px;background:var(--brand-wash);color:var(--brand-ink);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}.chip-btn:hover{border-color:var(--brand)}.preview-box{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}.preview-text{white-space:pre-wrap;font-size:14px;line-height:1.5}.preview-box code{font-family:var(--code);font-size:12px}.cf-list{margin:4px 0 0;display:grid;gap:8px}.cf-item{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line2);padding-bottom:8px}.cf-item:last-child{border-bottom:none;padding-bottom:0}.cf-item dt{color:var(--ink2);font-size:13px;margin:0}.cf-item dd{margin:0;font-weight:600;text-align:right}.seg{display:inline-flex;gap:2px;background:var(--surface2);border:1px solid var(--line);border-radius:11px;padding:3px}.seg-btn{background:none;border:none;border-radius:8px;color:var(--ink2);padding:7px 14px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:var(--hi),0 1px 2px #0d15120f}.seg-btn:hover:not(.on){color:var(--ink)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:16px;max-width:92vw;background:var(--ink);color:var(--surface);border-radius:var(--r-md);padding:12px 16px;box-shadow:var(--shadow);font-size:14px}.toast.warn{background:var(--warn);color:#1b1300}.toast .toast-msg{font-weight:500}.toast .toast-undo{color:var(--brand-wash);font-weight:700}.toast.warn .toast-undo{color:#1b1300}.toast .toast-dismiss{color:inherit;opacity:.8;font-weight:700}.toast .toast-dismiss:hover{opacity:1;color:inherit;text-decoration:none}.board-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}.board-col{background:var(--brand-wash);border-radius:12px;padding:10px;min-width:220px}.board-col-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding:0 2px}.board-col-title{font-weight:700;color:var(--ink);font-size:14px}.board-col-total{font-weight:800;color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:13px}.board-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:8px;cursor:pointer;position:relative}.board-card:hover{border-color:var(--brand)}.board-card.waiting{border-left:3px solid var(--warn)}.board-card.stale{border-left:3px solid var(--negative);background:var(--neg-wash)}.board-card-main{font-weight:600;color:var(--ink);font-size:13.5px}.board-card-sub{color:var(--ink2);font-size:12px;margin-top:2px}.board-card-value{position:absolute;top:8px;right:10px;font-weight:700;color:var(--brand-ink);font-size:12px;font-variant-numeric:tabular-nums}.jf-head{margin-bottom:22px}.jf-greeting{font-family:var(--serif);font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:0}.jf-date{color:var(--ink2);font-size:13.5px;margin-top:4px}.jf-grid{display:grid;grid-template-columns:1.9fr 1fr;grid-auto-rows:min-content;gap:18px;align-items:start}.jf-flow{grid-column:1;grid-row:1}.jf-hero{grid-column:2;grid-row:1 / span 2}.jf-mini-row{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 1080px){.jf-grid{grid-template-columns:1fr}.jf-flow,.jf-hero,.jf-mini-row{grid-column:1;grid-row:auto}}@media (max-width: 560px){.jf-mini-row{grid-template-columns:1fr}}.jf-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;position:relative;overflow:hidden;box-shadow:var(--lift),var(--hi)}.jf-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--lift),var(--hi)}.jf-dots{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--line-2) 1px,transparent 1.4px);background-size:22px 22px;opacity:.5;pointer-events:none}.jf-flow{padding:26px 28px 24px;min-height:320px;display:flex;flex-direction:column}.jf-flow-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative;z-index:2}.jf-flow-h{margin:0;font-family:var(--serif);font-size:2.3rem;font-weight:600;letter-spacing:-.02em;line-height:1}.jf-flow-h span{color:var(--brand)}.jf-lede{color:var(--ink2);font-size:13px;margin-top:8px}.jf-add{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line-2);color:var(--ink);font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase;padding:9px 13px;border-radius:11px;cursor:pointer;transition:.16s;box-shadow:var(--hi)}.jf-add:hover{border-color:var(--brand-deep);box-shadow:0 0 18px -8px var(--glow)}.jf-add .jf-plus{width:20px;height:20px;border-radius:6px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:900}.jf-flow-body{position:relative;z-index:2;margin-top:18px;display:flex;flex-direction:column;gap:18px}.jf-cash-top{display:flex;align-items:center;gap:16px}.jf-bar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--inset);border:1px solid var(--line);box-shadow:var(--hi)}.jf-bar-seg{min-width:3px;transition:flex-grow .3s ease}.jf-bar-seg+.jf-bar-seg{border-left:2px solid var(--surface)}.jf-bar-seg.overdue{background:var(--negative)}.jf-bar-seg.due{background:var(--warn)}.jf-bar-seg.collected{background:var(--brand)}.jf-bar-empty{flex:1}.jf-buckets{display:flex;flex-direction:column;gap:4px}.jf-bucket{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:12px;padding:11px 12px;font:inherit;color:inherit;cursor:pointer;transition:background .15s,border-color .15s}.jf-bucket:hover{background:var(--inset)}.jf-bucket.off{opacity:.5}.jf-bucket-dot{width:10px;height:10px;border-radius:3px;flex:none}.jf-bucket-dot.overdue{background:var(--negative)}.jf-bucket-dot.due{background:var(--warn)}.jf-bucket-dot.collected{background:var(--brand)}.jf-bucket-name{flex:1;min-width:0;font-weight:700;font-size:14px}.jf-bucket-val{font-family:var(--mono);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink)}.jf-bucket-val.bad{color:var(--negative)}.jf-bucket.on .jf-sw{background:var(--active-bg);border-color:var(--brand-deep)}.jf-bucket.on .jf-sw i{background:var(--brand);margin-left:auto;box-shadow:0 0 8px var(--glow)}.jf-fan{position:relative;flex:1;align-self:stretch;min-width:0}.jf-wires{position:absolute;top:0;bottom:0;left:0;right:168px;pointer-events:none}.jf-wire-live{stroke-dasharray:5 9;animation:jf-flow 1.3s linear infinite}@keyframes jf-flow{to{stroke-dashoffset:-14}}@media (prefers-reduced-motion: reduce){.jf-wire-live{animation:none}}.jf-output{position:relative;display:flex;align-items:center;z-index:3;flex:none}.jf-out-label{background:var(--active-bg);border:1px solid var(--active-ring);border-right:none;border-radius:12px 0 0 12px;padding:12px 16px}.jf-out-v{font-weight:800;font-size:22px;margin-top:3px;font-variant-numeric:tabular-nums}.jf-out-unit{font-size:.85rem;font-weight:700;color:var(--ink2)}.jf-out-sub{font-size:10.5px;color:var(--ink3);margin-top:4px;font-variant-numeric:tabular-nums}.jf-knob{width:52px;height:52px;border-radius:14px;background:linear-gradient(150deg,var(--brand-bright),var(--brand-deep));display:grid;place-items:center;box-shadow:0 0 26px -4px var(--glow),var(--hi);color:var(--on-brand)}.jf-knob svg{width:24px;height:24px}.jf-stages{position:absolute;right:0;top:0;bottom:0;width:168px;z-index:3}.jf-stage{position:absolute;left:0;right:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:none;font:inherit;color:inherit;padding:6px 9px;border-radius:10px;cursor:pointer;text-align:left;transition:background .15s}.jf-stage:hover{background:var(--inset)}.jf-stage .jf-meta{text-align:left;min-width:0}.jf-stage .jf-meta .n{font-weight:700;font-size:13px;color:var(--ink);white-space:nowrap}.jf-stage .jf-meta .k{font-family:var(--mono);font-size:11px;color:var(--ink2);white-space:nowrap}.jf-stage .jf-meta .k.jf-k-bad{color:var(--negative)}.jf-sw{width:46px;height:24px;border-radius:999px;background:var(--inset);border:1px solid var(--line);display:flex;align-items:center;padding:3px;flex:none}.jf-sw i{width:16px;height:16px;border-radius:50%;background:var(--line-2);transition:.2s}.jf-stage.on .jf-sw{background:var(--active-bg);border-color:var(--brand-deep)}.jf-stage.on .jf-sw i{background:var(--brand);margin-left:auto;box-shadow:0 0 8px var(--glow)}.jf-stage.off .jf-meta .n,.jf-stage.off .jf-meta .k{color:var(--ink3)}.jf-hero{padding:0;display:flex;flex-direction:column}.jf-hero-top{position:relative;padding:22px 22px 20px;border-bottom:1px solid var(--line);background:radial-gradient(120% 90% at 82% 0%,var(--glow),transparent 55%),var(--surface);overflow:hidden}.jf-biz{position:relative;z-index:2}.jf-badge2{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-brand);background:var(--brand);padding:4px 9px;border-radius:999px;font-weight:700}.jf-biz h3{margin:12px 0 0;font-family:var(--serif);font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.jf-biz .jf-sub{color:var(--ink2);font-size:12px;margin-top:4px}.jf-owed{position:relative;z-index:2;margin-top:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.jf-owed-v{font-weight:800;font-size:2rem;color:var(--warn);font-variant-numeric:tabular-nums;line-height:1}.jf-owed-k{font-size:11px;color:var(--ink2);text-align:right}.jf-gauge-wrap{flex:1;padding:20px 22px 22px;display:flex;flex-direction:column}.jf-gauge{position:relative;width:100%;max-width:240px;margin:6px auto 0;aspect-ratio:230 / 150}.jf-gauge .jf-pct{position:absolute;left:0;right:0;bottom:4px;text-align:center}.jf-gauge .jf-pct .v{font-weight:800;font-size:2.6rem;font-variant-numeric:tabular-nums}.jf-gauge-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--ink3);margin-top:2px;max-width:240px;width:100%;margin-inline:auto}.jf-gauge-stats{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.jf-gauge-stats .k{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em}.jf-gauge-stats .v{font-weight:800;font-size:15px;margin-top:3px;font-variant-numeric:tabular-nums}.jf-mini{padding:18px 20px;display:flex;flex-direction:column}.jf-mini h4{margin:0 0 14px;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}.jf-detgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}.jf-det .k{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em}.jf-det .drow{display:flex;align-items:center;justify-content:space-between;margin-top:5px}.jf-det .v{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.jf-det .v.bad{color:var(--negative)}.jf-det .v.good{color:var(--brand)}.jf-nextjob{background:linear-gradient(180deg,var(--brand-wash),var(--surface))}.jf-nj-top{display:flex;align-items:center;gap:12px}.jf-nj-thumb{width:44px;height:44px;border-radius:12px;flex:none;background:var(--active-bg);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--brand)}.jf-nj-thumb svg{width:21px;height:21px}.jf-nj-id{font-family:var(--mono);font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums}.jf-nj-t{font-weight:700;font-size:15px;margin-top:1px}.jf-nj-mid{margin-top:auto;padding-top:12px}.jf-nj-cust{font-size:12.5px;color:var(--ink2)}.jf-nj-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.jf-nj-time{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px}.jf-nj-pip{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 8px var(--glow)}.jf-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:700;padding:6px 11px;border-radius:9px;cursor:pointer;text-decoration:none}.jf-chip:hover{border-color:var(--brand-deep)}.jf-lists{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.shortcut-group{margin-top:16px}.shortcut-group h4{margin:0 0 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2)}.shortcut-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:6px 0;border-bottom:1px solid var(--line2)}.shortcut-row:last-child{border-bottom:none}.shortcut-row kbd{font-family:var(--code);font-size:.8rem;background:var(--line2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 8px;color:var(--ink)}.workspace-tabs{display:flex;gap:2px;align-items:stretch;overflow-x:auto;border-bottom:1px solid var(--line, #e3e8e5);background:var(--panel);padding:0 8px}.workspace-tab{display:flex;align-items:center;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;background:transparent;max-width:220px}.workspace-tab.active{background:var(--surface);border-color:var(--line)}.workspace-tab-label{border:0;background:none;padding:8px 4px 8px 12px;font:inherit;font-size:13px;color:var(--ink, #14261f);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-tab:not(.active) .workspace-tab-label{color:var(--ink3, #5c6b64)}.workspace-tab-dot{color:var(--brand, #0A6E52);font-weight:700}.workspace-tab-close{border:0;background:none;padding:8px 10px 8px 4px;font-size:15px;line-height:1;color:var(--ink3, #5c6b64);cursor:pointer}.workspace-tab-close:hover{color:var(--ink, #14261f)}.bell-wrap{position:relative;display:inline-flex}.bell-button,.chat-badge-button{position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;width:44px;height:44px;padding:0;border-radius:12px;color:var(--ink3);transition:background .16s,color .16s}.bell-button:hover,.chat-badge-button:hover{background:var(--panel);color:var(--ink)}.bell-icon,.chat-badge-icon{width:32px;height:32px;display:block;stroke-width:1.15}.favstar svg{stroke-width:1.5}.favstar.drawer-star svg{stroke-width:2.1}.bell-badge,.chat-badge-count{position:absolute;top:-3px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--negative);color:var(--on-negative);font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--canvas)}.bell-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:min(380px,calc(100vw - 24px));max-height:min(70vh,560px);overflow-y:auto;background:var(--bg, #fff);border:1px solid var(--line, #e3e8e5);border-radius:10px;box-shadow:0 8px 28px #0000001f;padding:8px}.bell-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 10px}.bell-empty,.bell-allread{padding:4px 6px 10px;font-size:13px;margin:0}.bell-day{padding:8px 6px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3, #5c6b64)}.bell-row{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:8px 6px;border-radius:6px;font:inherit}.bell-row:hover{background:var(--panel)}.bell-row-title{font-size:13px;color:var(--ink3, #5c6b64)}.bell-row.unread .bell-row-title{font-weight:700;color:var(--ink, #14261f)}.bell-row-body{font-size:12px;color:var(--ink3, #5c6b64)}.bell-row-meta{font-size:11px;color:var(--ink3, #5c6b64)}.bell-row-note{font-style:italic}.parent-tabs{margin-bottom:18px}.parent-tabs .tab{text-decoration:none;display:inline-block}.parent-tabs .tab:hover{text-decoration:none}.favstar{position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;width:44px;height:44px;padding:0;border-radius:12px;color:var(--ink3);transition:background .16s,color .16s}.favstar:hover:not(:disabled){background:var(--panel);color:var(--ink)}.favstar:disabled{opacity:.5;cursor:default}.favstar.on{color:var(--brand)}.favstar svg{width:24px;height:24px;display:block}.favstar.drawer-star{width:30px;height:30px;border-radius:9px;flex:none}.favstar.drawer-star svg{width:17px;height:17px}.favstar.drawer-star:hover:not(:disabled){background:var(--inset)}.keep-open{display:inline-flex;align-items:center;gap:8px;flex:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink2);font:inherit;font-size:13.5px;font-weight:700;padding:9px 13px 9px 11px;cursor:pointer;transition:background .16s,color .16s,border-color .16s}.keep-open:hover{background:var(--inset);color:var(--ink);border-color:var(--line-2)}.keep-open svg{width:18px;height:18px;flex:none}.keep-open.on{color:var(--brand);border-color:var(--active-ring);background:var(--brand-wash)}.keep-open.on svg{fill:currentColor}.fav-picker-group{margin-bottom:18px}.fav-picker-group h4{margin:0 0 8px;font-size:13px;color:var(--ink3)}.fav-picker-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.fav-picker-row:last-child{border-bottom:0}.fav-picker-star{border:0;background:none;cursor:pointer;padding:4px;border-radius:6px;color:var(--ink3);flex:0 0 auto}.fav-picker-star:hover:not(:disabled){background:var(--inset);color:var(--ink)}.fav-picker-star:disabled{opacity:.5;cursor:default}.fav-picker-star.on{color:var(--brand)}.fav-picker-star svg{width:18px;height:18px;display:block}.fav-picker-label{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.fav-picker-label .muted{font-size:12px}.fav-picker-order{display:inline-flex;gap:4px;flex:0 0 auto}.fav-picker-order button{border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:6px;width:26px;height:26px;cursor:pointer;line-height:1}.fav-picker-order button:hover:not(:disabled){background:var(--inset);color:var(--ink)}.fav-picker-order button:disabled{opacity:.35;cursor:default}.chats-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}.chats-list,.chats-thread{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 220px)}.chats-list{padding:14px;gap:10px}.chats-thread{padding:0;overflow:hidden}.chats-list-head{display:flex;gap:8px;align-items:center}.chats-search{flex:1 1 auto;margin:0}.chats-search input{width:100%}.chats-loading{margin:8px 0 0}.chats-rows{list-style:none;margin:0;padding:0;overflow-y:auto;min-height:0}.chats-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:var(--r-md);padding:9px 10px;color:var(--ink);font:inherit;cursor:pointer}.chats-row-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.chats-row:hover{background:var(--surface2)}.chats-row.on{background:var(--active-bg);box-shadow:inset 0 0 0 1px var(--active-ring)}.chats-row-top{display:flex;align-items:baseline;gap:8px}.chats-row-name{flex:1 1 auto;min-width:0;font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chats-row.unread .chats-row-name{font-weight:800}.chats-row-when{flex:0 0 auto;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}.chats-row-preview{font-size:13px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chats-row.unread .chats-row-preview{color:var(--ink)}.chats-row-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chats-row-meta:empty{display:none}.chats-row-badge{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--brand);color:var(--on-brand);font-size:11.5px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.chats-thread-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.chats-thread-who{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.chats-back{display:none;flex:0 0 auto}.chats-offline,.chats-note{margin:10px 18px 0;font-size:13px}.chats-presence{font-size:12px}.chats-typing{margin:0 18px 6px;font-size:12px;font-style:italic;min-height:16px}.chats-bubbles{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:16px 18px}.chats-older{align-self:center;margin-bottom:4px}.chats-empty-thread{text-align:center;margin:auto;max-width:34ch}.chats-day{display:flex;align-items:center;gap:12px;margin:10px 0 2px;color:var(--ink3);font-size:12px}.chats-day:before,.chats-day:after{content:"";flex:1 1 auto;height:1px;background:var(--line)}.chats-new{color:var(--brand);font-weight:700}.chats-new:before,.chats-new:after{background:var(--brand);opacity:.45}.chats-msg{display:flex;flex-direction:column;gap:3px;max-width:74%;align-self:flex-start}.chats-msg.mine{align-self:flex-end;align-items:flex-end}.chats-msg-who{font-size:11.5px;color:var(--ink3);padding:0 4px}.chats-bubble{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 13px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.chats-photo{display:block;max-width:100%;max-height:320px;width:auto;height:auto;border-radius:var(--r-sm);margin:-2px 0 0}.chats-bubble-words{display:block;margin-top:6px}.chats-bubble>.chats-bubble-words:only-child{margin-top:0}.chats-photo-gone{display:block;font-style:italic;color:var(--ink3)}.chats-attached{display:flex;align-items:center;gap:10px;margin:0 18px;padding:8px 10px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-md)}.chats-attached-thumb{width:44px;height:44px;object-fit:cover;border-radius:var(--r-sm)}.chats-msg.mine .chats-bubble{background:var(--brand);border-color:transparent;color:var(--on-brand)}.chats-msg.gone .chats-bubble{font-style:italic;color:var(--ink3);background:var(--surface2)}.chats-msg.mine.gone .chats-bubble{color:var(--ink3);border-color:var(--line)}.chats-msg-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink3);padding:0 4px;font-variant-numeric:tabular-nums}.chats-tick{font-weight:600}.chats-msg-action{opacity:0;font-size:11.5px;transition:opacity .12s}.chats-msg:hover .chats-msg-action,.chats-msg-action:focus-visible{opacity:1}.chats-msg-failed{font-size:12px;color:var(--negative);padding:0 4px}.chats-composer{display:flex;gap:10px;align-items:flex-end;padding:12px 18px 16px;border-top:1px solid var(--line)}.chats-composer textarea{flex:1 1 auto;resize:vertical;min-height:46px}.chats-composer .btn{flex:0 0 auto}.chats-failed{padding:26px 20px;text-align:center}.chats-failed-actions{display:flex;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}.chats-details{border-bottom:1px solid var(--line);background:var(--surface2);padding:14px 18px;display:flex;flex-direction:column;gap:16px;max-height:46vh;overflow-y:auto}.chats-details-block h3{margin:0 0 6px;font-size:1rem}.chats-details-block p{margin:0 0 8px;font-size:13px}.chats-people{list-style:none;margin:0 0 10px;padding:0}.chats-person{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line2)}.chats-person:last-child{border-bottom:0}.chats-person-name{flex:1 1 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chats-person-actions{display:flex;gap:12px;flex:0 0 auto}.chats-rename{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.chats-rename input{flex:1 1 220px}.chats-mutes{display:flex;gap:8px;flex-wrap:wrap}.chats-report{border-top:1px solid var(--line);background:var(--warn-wash);padding:14px 18px;display:flex;flex-direction:column;gap:6px}.chats-report h3{margin:0;font-size:1rem}.chats-report p{margin:0;font-size:13px}.chats-report textarea{width:100%;resize:vertical}.chats-report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.chats-picker{list-style:none;margin:0 0 6px;padding:0;max-height:40vh;overflow-y:auto}.chats-picker-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);cursor:pointer}.chats-picker li:last-child .chats-picker-row{border-bottom:0}.chats-picker-name{flex:1 1 auto}@media (max-width: 900px){.chats-layout{grid-template-columns:minmax(0,1fr)}.chats-layout.on-thread .chats-list{display:none}.chats-layout:not(.on-thread) .chats-thread{display:none}.chats-list,.chats-thread{max-height:none}.chats-bubbles{max-height:60vh}.chats-back{display:inline-flex}.chats-msg{max-width:88%}}@media print{.chats-msg.mine .chats-bubble{background:transparent!important;color:#000!important;border:1px solid #555555!important}.chats-list,.chats-composer,.chats-msg-action,.chat-badge-button{display:none!important}.chats-thread,.chats-bubbles{max-height:none!important;overflow:visible!important}}
