:root{color-scheme:light dark;--app-bg: #f3eee4;--panel: #fbf8f2;--inset: #f1e9dc;--border: #e7ddcb;--divider: #efe7d8;--ink: #221d16;--ink2: #5f5647;--ink3: #73685a;--accent: #a34a25;--accent-soft: #f7e9e0;--accent-ink: #9c4522;--side-bg: #fbf8f2;--side-text: #5f5647;--side-muted: #73685a;--danger: #b42318;--warn: #8a5300;--warn-soft: #fbf0d9;--success: #1a7a50;--success-soft: #edf7f1;--bill: var(--danger);--bill-soft: #fbeae6;--fe: #b93c0a;--fe-soft: #fcefe6;--ff: #7a5c1c;--ff-soft: #f4ead2;--radius: 11px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(15, 20, 28, .05);--drawer-shadow: -24px 0 50px -24px rgba(15, 20, 28, .4);--focus-ring: 0 0 0 2px var(--panel), 0 0 0 4px var(--accent);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ui: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, sans-serif;--surface: var(--panel);--ink-2: var(--ink2);--paper-ink-2: var(--ink2);--muted: var(--ink3);--sidebar: var(--side-bg);--sidebar-ink: var(--side-text);--sidebar-cap: var(--side-muted);--sidebar-rest: var(--side-muted);--primary: var(--accent);--brass: var(--accent);--brass-ink: var(--accent-ink);--success-bg: var(--success-soft);--bill-bg: var(--bill-soft);--ff-bg: var(--ff-soft)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--app-bg: #1a1714;--panel: #221e1a;--inset: #2b2621;--border: #3a342c;--divider: #2e2923;--ink: #f2ece2;--ink2: #c4baa9;--ink3: #a29684;--accent: #a85030;--accent-soft: #3a2519;--accent-ink: #eb9a72;--side-bg: #1e1a17;--side-text: #c4baa9;--side-muted: #a29684;--danger: #f07a6e;--warn: #e3b04b;--warn-soft: #382c15;--success: #4cae84;--success-soft: #1c3329;--bill: var(--danger);--bill-soft: #3a2422;--fe: #e08a4f;--fe-soft: #3a2a1c;--ff: #cdaa5f;--ff-soft: #332c1a;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--drawer-shadow: -24px 0 50px -24px rgba(0, 0, 0, .6)}}:root[data-theme=dark]{--app-bg: #1a1714;--panel: #221e1a;--inset: #2b2621;--border: #3a342c;--divider: #2e2923;--ink: #f2ece2;--ink2: #c4baa9;--ink3: #a29684;--accent: #a85030;--accent-soft: #3a2519;--accent-ink: #eb9a72;--side-bg: #1e1a17;--side-text: #c4baa9;--side-muted: #a29684;--danger: #f07a6e;--warn: #e3b04b;--warn-soft: #382c15;--success: #4cae84;--success-soft: #1c3329;--bill: var(--danger);--bill-soft: #3a2422;--fe: #e08a4f;--fe-soft: #3a2a1c;--ff: #cdaa5f;--ff-soft: #332c1a;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--drawer-shadow: -24px 0 50px -24px rgba(0, 0, 0, .6)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media(prefers-contrast:more){:root{--ink3: var(--ink2);--side-muted: var(--side-text);--border: var(--ink3)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.dqa-spinner{animation-duration:2s!important;animation-iteration-count:infinite!important}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui);background:var(--app-bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}button,a,[role=button],[role=tab],label.toggle{touch-action:manipulation}button,[role=button],[role=tab],.tab-item,.nav-item,.mm-item{-moz-user-select:none;user-select:none;-webkit-user-select:none}.btn,.view-btn,.board-tab,.tab-item,.mm-item,.mobile-menubtn,.nav-item,.comingup-item{transition:transform .12s cubic-bezier(.23,1,.32,1)}.btn:active:not(:disabled),.view-btn:active,.board-tab:active,.tab-item:active,.mm-item:active,.mobile-menubtn:active,.nav-item:active,.comingup-item:active{transform:scale(.97)}input,select,textarea{font:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.shell{display:flex;height:100vh;height:100dvh}.sidebar{width:216px;flex-shrink:0;background:var(--side-bg);color:var(--side-text);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-logo{padding:18px 20px 16px;color:var(--ink);display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--divider)}.sidebar-logo .logo-badge{width:34px;height:34px;flex:none;border-radius:9px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;letter-spacing:.5px}.sidebar-logo .logo-text{display:flex;flex-direction:column;min-width:0}.sidebar-logo .logo-mark{font-weight:700;font-size:15px;letter-spacing:.2px;color:var(--ink)}.sidebar nav{padding:16px 12px;display:flex;flex-direction:column;gap:3px;flex:1}.nav-cap{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--side-muted);text-transform:uppercase;padding:4px 12px 8px}.nav-cap.upcoming{padding-top:14px}.nav-item+.nav-cap{padding-top:20px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 16px;border-radius:var(--radius-sm);color:var(--side-text);text-decoration:none;font-size:14px;border-left:2.5px solid transparent}@media(hover:hover)and (pointer:fine){.nav-item:hover{background:var(--inset);color:var(--ink)}}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600;border-left:2.5px solid var(--accent);padding-left:13.5px}.nav-item.soon-item{color:var(--side-muted)}.nav-item .icon{display:none}.nav-item .soon{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.5px;color:var(--side-muted);text-transform:uppercase}.nav-spacer{flex:1}.sidebar-footer{padding:14px 18px;border-top:1px solid var(--divider);display:flex;align-items:center;gap:10px}.sidebar-footer .who{font-size:12px;color:var(--side-muted);line-height:1.3}.sidebar-footer .cl-userbutton{display:flex}.content{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:60px;flex:none;display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar-search{position:relative;flex:1;max-width:460px;display:flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--inset);color:var(--ink3)}.topbar-search svg{flex:none}.topbar-search input{flex:1;min-width:0;border:none;background:none;outline:none;color:var(--ink);font-size:13px}.topbar-search input::-moz-placeholder{color:var(--ink3)}.topbar-search input::placeholder{color:var(--ink3)}.topbar-search:focus-within{border-color:var(--accent)}.topbar-spacer{flex:1}.topbar-kbd{flex:none;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink3);border:1px solid var(--border);border-radius:4px;padding:2px 5px;background:var(--panel)}.topbar-search:focus-within .topbar-kbd{display:none}.topbar-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:70;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px -12px #0000004d;padding:6px;max-height:380px;overflow-y:auto}.tr-empty{padding:12px 10px;font-size:13px;color:var(--ink3)}.tr-hit{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink);font-size:13px;cursor:pointer}.tr-hit.active{background:var(--inset)}.tr-kind{flex:none;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.8px;padding:3px 6px;border-radius:4px;background:var(--accent-soft, var(--inset));color:var(--accent)}.tr-kind.client{background:var(--inset);color:var(--ink3)}.tr-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-meta{flex:none;font-size:11px;color:var(--ink3)}.theme-menu-wrap{position:relative}.theme-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px -12px #00000040;padding:8px;width:200px}.theme-pop-cap{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink3);padding:4px 8px 8px}.theme-opt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px;border:none;background:none;border-radius:var(--radius-sm);color:var(--ink);font-size:13px}@media(hover:hover)and (pointer:fine){.theme-opt:hover{background:var(--inset)}}.theme-opt.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.theme-swatch{width:22px;height:22px;flex:none;border-radius:6px;border:1px solid var(--border);position:relative}.theme-swatch .accent{position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-radius:50%}.theme-opt .check{margin-left:auto;color:var(--accent)}.main{flex:1;overflow-y:auto}.page{padding:28px 32px 56px;max-width:1320px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:20px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:7px}.greeting{font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0}.page-meta{text-align:right;font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.5;padding-top:4px;white-space:nowrap}.page-meta .live{color:var(--success)}.page-meta .mock{color:var(--warn)}.page-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.section-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:4px}.section-h1{font-size:22px;font-weight:800;letter-spacing:-.5px;margin:0 0 18px}.pill-live{font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--success-bg);color:var(--success);letter-spacing:.5px}.pill-mock{font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--warn-soft);color:var(--warn);letter-spacing:.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-head{padding:15px 18px;border-bottom:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between}.card-head h3{margin:0;font-size:14px;font-weight:700}.card-head .head-meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:1px}.card-body{padding:6px 18px 12px}.placeholder-note{color:var(--muted);font-size:13px;line-height:1.5;padding:10px 0}.inbox-connect-hint{color:var(--muted);font-size:12px;line-height:1.45;margin-top:8px;opacity:.85}.grid-2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px}@media(max-width:980px){.grid-2{grid-template-columns:minmax(0,1fr)}}.myweek{margin-bottom:20px}.myweek-nav{display:inline-flex;align-items:center;gap:3px;margin-left:10px;margin-right:auto}.myweek-weeklabel{font-family:var(--ui);font-size:12px;color:var(--ink3);min-width:104px;text-align:center}.myweek-navbtn{font:inherit;font-size:15px;line-height:1;color:var(--ink3);background:transparent;border:0;cursor:pointer;padding:2px 5px;border-radius:4px}@media(hover:hover)and (pointer:fine){.myweek-navbtn:hover{color:var(--ink);background:var(--inset)}}.myweek-today{font-family:var(--ui);font-size:11px;font-weight:600;color:var(--accent-ink);background:transparent;border:0;cursor:pointer;padding:2px 5px;margin-left:2px}@media(hover:hover)and (pointer:fine){.myweek-today:hover{text-decoration:underline}}.myweek-open{font-size:12px;font-weight:600;color:var(--accent-ink);text-decoration:none;white-space:nowrap}@media(hover:hover)and (pointer:fine){.myweek-open:hover{text-decoration:underline}}.myweek>.placeholder-note{padding:16px 18px}.myweek-board{padding:12px 18px 16px}.myweek-days{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:6px}.myweek-day{display:flex;align-items:baseline;gap:6px;padding:0 8px}.myweek-dayname{font-weight:600;font-size:12px;color:var(--ink)}.myweek-daydate{font-size:11px;color:var(--ink3)}.myweek-strip{position:relative;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.myweek-lane+.myweek-lane{margin-top:8px}.myweek-lanelabel{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:3px}.myweek-lane-studio .myweek-strip{border-color:var(--accent)}.myweek-taskrow{align-items:stretch}.myweek-taskcell{padding:6px 8px;display:flex;flex-direction:column;gap:2px;min-height:64px;min-width:0}.myweek-task{display:flex;align-items:flex-start;gap:5px}.myweek-taskbox{flex:none;font-size:11px;line-height:1.4;color:var(--ink3)}.myweek-tasktext{font-size:12px;line-height:1.35;color:var(--ink);word-break:break-word;overflow-wrap:anywhere}.myweek-task.is-done .myweek-tasktext{text-decoration:line-through;color:var(--ink3)}.myweek-task.is-done .myweek-taskbox{color:var(--accent-ink)}.myweek-count{font-size:11px;color:var(--ink3);margin:0 0 6px 2px}.myweek-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--ui);font-size:13px;line-height:1.4;color:#9a968b;pointer-events:none;text-align:center;padding:0 16px}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}@media(max-width:980px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-cell{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column}.stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.stat-cell .label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:var(--ink3);line-height:1.4}.stat-delta{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 7px;border-radius:99px;white-space:nowrap;flex:none}.stat-delta.up{background:var(--success-soft);color:var(--success)}.stat-delta.warn{background:var(--warn-soft);color:var(--warn)}.stat-delta.flat{background:var(--inset);color:var(--ink3)}.stat-cell .value{font-family:var(--mono);font-size:26px;font-weight:600;margin-top:10px;color:var(--ink);letter-spacing:-1.2px;line-height:1}.stat-cell .value .unit{font-size:14px;font-weight:500;color:var(--ink3);letter-spacing:0;margin-left:5px}.stat-visual{margin-top:13px}.stat-cell .hint{font-size:12px;color:var(--ink2);margin-top:11px}.stat-cell .hint small{display:block;color:var(--ink3);font-size:11px;margin-top:2px}.spark{display:flex;align-items:flex-end;gap:4px;height:28px}.spark-bar{flex:1;min-height:3px;border-radius:2px;background:color-mix(in srgb,var(--accent) 22%,transparent)}.spark-bar.full{background:var(--accent)}.progbar{height:6px;border-radius:99px;background:var(--inset);overflow:hidden}.progbar-fill{height:100%;border-radius:99px;background:var(--ink2)}.pips{display:flex;gap:5px;height:8px}.pip{flex:1;max-width:26px;border-radius:2px;background:var(--inset)}.pip.on{background:var(--accent)}.ring-wrap{display:flex;align-items:center;gap:12px}.ring{position:relative;width:48px;height:48px;border-radius:50%;flex:none;background:conic-gradient(var(--accent) calc(var(--pct) * 1%),var(--inset) 0)}.ring:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:var(--panel)}.ring-val{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--accent-ink);z-index:1}.value.warn{color:var(--warn)}.progbar-fill.ok{background:var(--success)}.ff-ledger{display:flex;flex-direction:column;gap:16px}.ff-colhead,.ff-row{display:grid;grid-template-columns:minmax(0,1.8fr) 110px 140px 100px 100px 130px;gap:14px;align-items:center}.ff-colhead{padding:8px 18px;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--divider)}.ff-colhead .r,.ff-row .r{text-align:right}.ff-group{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ff-group-head{display:flex;align-items:center;gap:9px;padding:10px 18px;background:var(--inset);font-size:13px;font-weight:600;color:var(--ink)}.ff-count{margin-left:6px;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--border);border-radius:99px;padding:0 8px}.ff-dot{width:8px;height:8px;border-radius:50%;flex:none}.ff-dot.warn{background:var(--warn)}.ff-dot.success{background:var(--success)}.ff-dot.muted{background:var(--ink3)}.ff-row{padding:12px 18px;background:var(--panel);border-top:1px solid var(--divider);cursor:pointer}.ff-row:first-of-type{border-top:none}@media(hover:hover)and (pointer:fine){.ff-row:hover{background:var(--inset)}}.ff-client{font-size:14px;font-weight:600;color:var(--ink)}.ff-phase{font-size:12px;color:var(--ink3);margin-top:2px}.ff-partner{font-size:13px;color:var(--ink2)}.ff-comm{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--ink)}.ff-owed{font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:600}.ff-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.3px;padding:3px 10px;border-radius:99px}.ff-pill.success{background:var(--success-soft);color:var(--success)}.ff-pill.warn{background:var(--warn-soft);color:var(--warn)}.ff-pill.muted{background:var(--inset);color:var(--ink3)}@media(max-width:760px){.ff-colhead{display:none}.ff-row{grid-template-columns:1fr auto;gap:4px 12px}.ff-partner{display:none}.ff-comm,.ff-owed{grid-column:2}}.fin-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 14px;flex-wrap:wrap}.fin-section-head:first-child{margin-top:4px}.fin-section-head h2{margin:0;font-size:15px;font-weight:700;color:var(--ink)}.fin-section-sub{margin-top:3px;font-size:12px;color:var(--ink3);max-width:60ch}.fin-sub{font-size:12px;color:var(--ink3)}.fin-note{display:flex;align-items:center;gap:8px;margin:14px 0 4px;font-size:13px;color:var(--ink2)}.fin-note.warn{color:var(--warn)}.fin-link{background:none;border:none;padding:0;margin-left:2px;cursor:pointer;color:var(--accent-ink);font-size:13px;font-weight:600;text-decoration:underline}.fin-period{display:inline-flex;gap:6px;flex-wrap:wrap}.fin-period-btn{font-size:12px;font-weight:600;padding:5px 11px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--ink2);cursor:pointer}@media(hover:hover)and (pointer:fine){.fin-period-btn:hover{background:var(--inset)}}.fin-period-btn.active{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.fin-table{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.fin-colhead,.fin-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1.1fr) 88px 108px 80px 128px;gap:14px;align-items:center}.fin-colhead{padding:10px 18px;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);background:var(--inset)}.fin-colhead .r,.fin-row .r{text-align:right}.fin-row{padding:12px 18px;background:var(--panel);border-top:1px solid var(--divider)}@media(hover:hover)and (pointer:fine){.fin-row:hover{background:var(--inset)}}.fin-job{font-size:14px;font-weight:600;color:var(--ink);min-width:0;overflow-wrap:anywhere}.fin-phase{font-size:13px;color:var(--ink2);min-width:0;overflow-wrap:anywhere}.fin-doc{font-family:var(--mono);font-size:13px;color:var(--ink2)}.fin-due{font-size:13px;color:var(--ink2)}.fin-age{font-family:var(--mono);font-size:12px;color:var(--ink3)}.fin-age.warn{color:var(--danger);font-weight:600}.fin-amt{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--ink)}.fin-period-caption{font-size:12px;color:var(--ink3);margin:2px 0 12px}.fin-basis-tag{font-weight:600;color:var(--ink2)}.fin-refresh{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--inset);color:var(--ink2);font-family:var(--mono);font-size:11px;cursor:pointer}@media(hover:hover)and (pointer:fine){.fin-refresh:hover:not(:disabled){border-color:var(--ink3);color:var(--ink)}}.fin-refresh:disabled{opacity:.6;cursor:default}.fin-ar-head{margin-top:30px}.fin-controls{display:flex;gap:14px;flex-wrap:wrap}.fin-qcard{margin-top:16px}.fin-quarters{display:flex;gap:8px;align-items:stretch;padding:4px 0 2px}.fin-q{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:1px solid transparent;border-radius:10px;padding:8px 4px 6px;cursor:pointer}@media(hover:hover)and (pointer:fine){.fin-q:hover{background:var(--inset)}}.fin-q.active{background:var(--accent-soft);border-color:var(--accent)}.fin-q-net{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--success)}.fin-q-net.neg{color:var(--warn)}.fin-q-chart{height:96px;width:100%;display:flex;flex-direction:column}.fin-q-pos{flex:1;display:flex;align-items:flex-end;justify-content:center}.fin-q-neg{flex:1;display:flex;align-items:flex-start;justify-content:center}.fin-q-base{height:1px;background:var(--border)}.fin-q-bar{width:62%;max-width:40px;border-radius:4px 4px 0 0}.fin-q-bar.pos{background:var(--success)}.fin-q-bar.neg{background:var(--warn);border-radius:0 0 4px 4px}.fin-q-bars{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%}.fin-q-bars .fin-q-bar{width:34%;max-width:20px;border-radius:3px 3px 0 0}.fin-q-bar.billed{background:var(--ink3)}.fin-q-bar.collected{background:var(--success)}.fin-q-legend{display:flex;gap:12px;font-size:11px;font-weight:600;color:var(--ink2)}.fin-q-key{display:inline-flex;align-items:center;gap:5px}.fin-q-key:before{content:"";width:9px;height:9px;border-radius:2px}.fin-q-key.billed:before{background:var(--ink3)}.fin-q-key.collected:before{background:var(--success)}.fin-q-label{font-size:12px;font-weight:600;color:var(--ink2);text-align:center;line-height:1.25}.fin-q-label small{font-weight:500;color:var(--ink3);font-size:11px}.fin-pnl-detail{margin-top:16px;display:grid;gap:16px;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr)}@media(max-width:760px){.fin-pnl-detail{grid-template-columns:1fr}}.fin-pnl-stack{margin-top:16px;display:grid;gap:16px}.fin-inv-table{margin-top:0}.fin-inv-group{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 18px;background:var(--inset);border-top:1px solid var(--divider);font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3)}.fin-inv-group.warn{color:var(--ink)}.fin-inv-group.ok{color:var(--success)}.fin-inv-group-amt{font-weight:700}.fin-amt.warn{color:var(--ink);font-weight:600}.fin-paid-inline{font-family:var(--mono);font-size:12px;color:var(--success)}.fin-acct-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--divider);font-size:13px}.fin-acct-row:first-child{border-top:none}.fin-acct-row.muted{color:var(--ink3)}.fin-acct-name{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-acct-amt{font-family:var(--mono);font-weight:600;color:var(--ink);flex:none}.fin-paid-tag{margin-left:8px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--success);background:var(--success-soft);padding:1px 6px;border-radius:99px;vertical-align:middle}@media(max-width:760px){.fin-colhead{display:none}.fin-row{grid-template-columns:1fr auto;gap:4px 12px}.fin-due{display:none}.fin-phase,.fin-doc{grid-column:1}.fin-amt{grid-column:2;grid-row:1}}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar input[type=search]{flex:1;min-width:220px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink)}.toolbar input[type=search]::-moz-placeholder{color:var(--muted)}.toolbar input[type=search]::placeholder{color:var(--muted)}.toolbar select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);white-space:nowrap}.toolbar .toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--paper-ink-2);-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.toolbar .toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.filter-btn{flex:none;min-height:44px}.filter-btn.is-on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.filter-sheet{display:flex;flex-direction:column;gap:10px}.filter-sheet select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink)}.filter-sheet .toggle{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-size:16px;color:var(--ink);border:1px solid var(--border);border-radius:10px;background:var(--surface)}.filter-sheet .toggle input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}@media(max-width:760px){.toolbar{flex-wrap:nowrap}.toolbar input[type=search]{min-width:0;min-height:44px}}.btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-weight:600;font-size:13px}@media(hover:hover)and (pointer:fine){.btn:hover{border-color:var(--muted)}}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}@media(hover:hover)and (pointer:fine){.btn-primary:hover{filter:brightness(.93)}}.btn:disabled{opacity:.55;cursor:default}.view-toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-btn{padding:8px 14px;border:none;background:var(--surface);color:var(--paper-ink-2);font-size:13px;font-weight:500}.view-btn.active{background:var(--primary);color:#fff;font-weight:600}@media(hover:hover)and (pointer:fine){.view-btn:not(.active):hover{background:var(--app-bg)}}.jobs-table{width:100%;border-collapse:collapse;font-size:14px}.jobs-table th{text-align:left;padding:10px 14px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.jobs-table td{padding:11px 14px;border-bottom:1px solid var(--divider);vertical-align:top}.jobs-table tbody tr{cursor:pointer}@media(hover:hover)and (pointer:fine){.jobs-table tbody tr:hover{background:var(--inset)}}.jobs-table .job-id{font-family:var(--mono);font-size:12px;color:var(--paper-ink-2);white-space:nowrap}.jobs-table .num{text-align:right;font-family:var(--mono);white-space:nowrap}.jobs-table .muted{color:var(--muted)}.outstanding-pos{color:var(--ink);font-weight:600}.outstanding-zero{color:var(--success)}.badge{display:inline-block;font-family:var(--mono);padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;vertical-align:middle;white-space:nowrap}.badge-pill{border-radius:99px;padding:2px 9px;font-size:11px}.badge-lead{background:#e8eaed;color:#2f3540}.badge-potential{background:#ecebe6;color:#5c6066}.badge-survey_zoning{background:#ece8f2;color:#3a2f5e}.badge-design_phase{background:#e6edf6;color:#1f3a5f}.badge-cd_prep{background:#dceaed;color:#1b4952}.badge-cd_outgoing{background:#d3eef3;color:#235d67}.badge-permitting{background:#e6eedd;color:#3a5330}.badge-construction{background:var(--success-bg);color:#234d36}.badge-on_hold{background:#f4ead2;color:#6b4a17}.badge-completed{background:#ecebe6;color:var(--muted)}.badge-job_dropped{background:#e9e7ec;color:#4a4550}.badge-canceled{background:#efe4e2;color:#6b3535}.badge-ff{background:var(--ff-bg);color:var(--ff)}.badge-fe{background:var(--fe-soft);color:var(--fe)}.badge-bill,.badge-review{background:var(--bill-bg);color:var(--bill)}.toggle-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;margin-left:2px;border-radius:99px;background:var(--bill);color:#fff;font-family:var(--mono);font-size:11px;font-weight:700}.phase-groups{display:flex;flex-direction:column;gap:16px}.phase-group{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.phase-group-header{display:flex;align-items:center;justify-content:space-between;padding:9px 18px;color:var(--ink2);background:var(--inset);border-bottom:1px solid var(--divider)}.phase-group-header:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--phase, var(--ink3));margin-right:9px;flex:none}.phase-group-header .phase-group-name{margin-right:auto}.phase-group-name{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase}.phase-group-count{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--border);border-radius:99px;padding:0 8px}.phase-header-lead{--phase: #2f3540}.phase-header-potential{--phase: #3a3d42}.phase-header-survey_zoning{--phase: #3a2f5e}.phase-header-design_phase{--phase: #1f3a5f}.phase-header-cd_prep{--phase: #1b4952}.phase-header-cd_outgoing{--phase: #2a707c}.phase-header-permitting{--phase: #3f5a2f}.phase-header-construction{--phase: #234d36}.phase-header-on_hold{--phase: #6b4a17}.phase-header-completed{--phase: #3a3d42}.phase-header-job_dropped{--phase: #4a4550}.phase-header-canceled{--phase: #5e3535}.phase-group-jobs{background:var(--surface)}.job-card{position:relative;overflow:hidden;border-bottom:1px solid var(--divider);cursor:pointer}.job-card-row{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;padding:12px 18px;background:var(--surface);transition:background .1s;touch-action:pan-y}.job-card-row.is-settling{transition:transform .22s cubic-bezier(.32,.72,0,1),background .1s}.job-swipe-actions{position:absolute;inset:0 0 0 auto;width:152px;display:grid;grid-template-columns:1fr 1fr}.job-swipe-actions>*{display:grid;place-items:center;border:0;font:inherit;font-size:13px;font-weight:600;color:#fff;text-decoration:none}.job-swipe-move{background:var(--ink2)}.job-swipe-call{background:var(--accent)}.job-swipe-call.is-off{background:var(--ink3);font-size:11px;text-align:center}@media(hover:hover)and (pointer:fine){.job-swipe-actions{display:none}}.job-card:last-child{border-bottom:none}@media(hover:hover)and (pointer:fine){.job-card:hover .job-card-row{background:var(--inset)}}.job-card-left{flex:1;min-width:0}.job-card-id{overflow-wrap:anywhere;min-width:0;font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink);line-height:1.3;display:flex;align-items:center;flex-wrap:wrap;gap:0}.job-card-id .badge{margin-left:7px}.job-card-client{font-size:13px;font-weight:400;color:var(--ink2);margin-top:4px}.job-card-sub{font-size:13px;color:var(--ink3);margin-top:2px}.job-card-corr{font-size:12px;color:var(--ink2);margin-top:4px;font-style:italic}.job-card-milestone{font-family:var(--mono);font-size:11px;color:var(--primary);margin-top:4px;letter-spacing:.2px}.job-card-milestone.overdue{color:var(--bill);font-weight:600}.drive-inbox{margin:4px 0 16px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft, var(--inset));overflow:hidden}.di-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 14px;border:none;background:none;color:var(--ink);font-size:13px;cursor:pointer}.di-badge{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-family:var(--mono);font-size:11px;font-weight:700}.di-title{font-weight:600}.di-sub{color:var(--ink3);font-size:12px}.di-caret{margin-left:auto;color:var(--ink3)}.di-body{padding:0 14px 12px}.di-error{margin-bottom:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:12px}.di-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.di-row.invalid{opacity:.75}.di-main{flex:1;min-width:0}.di-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.di-kind{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.8px;padding:2px 6px;border-radius:4px;background:var(--panel);color:var(--ink3)}.di-kind.lead{background:var(--accent);color:#fff}.di-meta{font-size:12px;color:var(--ink3);margin-top:2px}.di-problem{font-size:12px;color:var(--warn);margin-top:4px}.di-actions{display:flex;align-items:center;gap:8px;flex:none}.di-actions select{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-size:12px}.di-dismiss{flex:none;border:none;background:none;color:var(--ink3);font-size:12px;text-decoration:underline;cursor:pointer}@media(hover:hover)and (pointer:fine){.di-dismiss:hover{color:var(--ink)}}.di-setup{display:flex;align-items:flex-start;gap:8px;cursor:pointer;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--ink2);line-height:1.5}.di-setup input{margin-top:2px;flex:none;accent-color:var(--accent);cursor:pointer}.di-setup-sub{display:block;color:var(--ink3)}.di-note{margin-top:10px;font-size:12px;color:var(--ink3);line-height:1.5}.comingup{margin:4px 0 18px}.comingup-title{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:9px}.comingup-list{display:flex;gap:10px;flex-wrap:wrap}.comingup-item{display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-sm);padding:9px 13px;min-width:150px;box-shadow:var(--shadow)}@media(hover:hover)and (pointer:fine){.comingup-item:hover{border-color:var(--primary)}}.comingup-item.overdue{border-left-color:var(--bill)}.comingup-item .cu-date{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink)}.comingup-item.overdue .cu-date{color:var(--bill)}.comingup-item .cu-label{font-size:13px;color:var(--ink)}.comingup-item .cu-job{font-family:var(--mono);font-size:11px;color:var(--muted)}.job-card-right{text-align:right;flex-shrink:0;margin-left:16px}.job-card-total{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--ink)}.job-card-nototal{font-size:12px;color:var(--ink3);white-space:nowrap}.job-card-outstanding{font-family:var(--mono);font-size:12px;color:var(--ink2);margin-top:3px;white-space:nowrap}.job-card-grip{flex:none;align-self:center;display:flex;align-items:center;justify-content:center;width:26px;height:34px;margin:-4px 4px -4px -8px;padding:0;border:none;background:none;color:var(--ink3);cursor:grab;touch-action:none}@media(hover:hover)and (pointer:fine){.job-card-grip:hover{color:var(--ink2)}}.job-card-grip:active{cursor:grabbing}.job-card.is-dragging{opacity:.4}.job-card-overlay{border:1px solid var(--accent);border-radius:10px;background:var(--panel);box-shadow:0 14px 32px -8px #00000061;cursor:grabbing;width:340px;max-width:86vw}.sort-note{margin:-4px 0 12px;font-size:12px;color:var(--ink3)}.phase-group.drop-over{outline:2px solid var(--accent);outline-offset:-2px}.phase-group.drop-over .phase-group-jobs{background:var(--accent-soft)}.phase-group-empty{padding:14px 18px;font-size:13px;color:var(--ink3);font-style:italic;text-align:center}.move-error{margin-bottom:12px;padding:9px 12px;border-radius:8px;font-size:13px;background:color-mix(in srgb,var(--warn) 12%,var(--panel));color:var(--warn)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14202e4d;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:464px;max-width:95vw;background:var(--surface);z-index:50;box-shadow:var(--drawer-shadow);display:flex;flex-direction:column}.drawer-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.drawer-head h2{margin:0;font-family:var(--mono);font-size:15px;font-weight:600}.drawer-head .sub{color:var(--paper-ink-2);font-size:12px;margin-top:5px}.btn-link-tiny{margin-left:8px;padding:1px 6px;font-size:11px;font-family:inherit;color:var(--paper-ink-2);background:transparent;border:1px solid var(--line, #d8d4cc);border-radius:6px;cursor:pointer;vertical-align:middle}@media(hover:hover)and (pointer:fine){.btn-link-tiny:hover{color:var(--accent);border-color:var(--accent)}}.drawer-head .sub .out{color:var(--ink);font-weight:600}.drawer-close{background:none;border:none;font-size:18px;color:var(--muted);padding:2px 6px}@media(hover:hover)and (pointer:fine){.drawer-close:hover{color:var(--ink)}}.drawer-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 22px;gap:6px}.drawer-tab{padding:11px 14px;border:none;background:none;color:var(--muted);border-bottom:2px solid transparent;font-weight:500;font-size:13px}.drawer-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.drawer-body{flex:1;overflow-y:auto;padding:18px 22px}.drawer-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;align-items:center}.drawer-foot .error{color:var(--bill);font-size:13px;margin-right:auto}.field{margin-bottom:14px}.field label{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:6px;font-weight:400}.field input[type=text],.field input[type=number],.field input[type=date],.field select,.field textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-size:14px}.field input[type=number],.field.mono-field input{font-family:var(--mono)}.field textarea{resize:vertical;min-height:54px;line-height:1.5;font-family:var(--ui)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dqa-combo{position:relative}.dqa-combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 34px -14px #0f141c59;max-height:320px;overflow-y:auto}.dqa-combo-opt{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--ink)}.dqa-combo-opt.is-active{background:var(--inset)}.dqa-combo-opt.is-current{color:var(--accent)}.dqa-combo-id{font-family:var(--mono);font-size:13px}.dqa-combo-client{color:var(--ink3);font-size:12px}.dqa-combo-empty{padding:8px 10px;color:var(--ink3);font-size:13px}.dqa-review{background:var(--panel);color:var(--ink)}:where(.dqa-review button){background-color:transparent;color:inherit}:where(.dqa-review input,.dqa-review select){background-color:var(--panel);color:var(--ink)}.dqa-review .bg-white{background:var(--panel)}.dqa-review .bg-gray-50,.dqa-review .bg-gray-100{background:var(--inset)}.dqa-review .bg-gray-200{background:var(--divider)}.dqa-review .bg-gray-900,.dqa-review .bg-gray-800,.dqa-review .bg-gray-700{background:var(--accent)}.dqa-review .text-gray-700{color:var(--ink)}.dqa-review .text-gray-600,.dqa-review .text-gray-500{color:var(--ink2)}.dqa-review .text-gray-400{color:var(--ink3)}.dqa-review .border,.dqa-review .border-b,.dqa-review .border-t,.dqa-review .border-l,.dqa-review .border-r{border-color:var(--border)}.dqa-review .border-gray-900{border-color:var(--accent)}@media(hover:hover)and (pointer:fine){.dqa-review .hover\:bg-gray-50:hover{background:var(--inset)}.dqa-review .hover\:bg-gray-700:hover{background:var(--accent);filter:brightness(.92)}}.dqa-review .ring-gray-500{--tw-ring-color: var(--accent)}.dqa-review .bg-green-50,.dqa-review .bg-green-100{background:var(--success-soft)}.dqa-review .text-green-700,.dqa-review .text-green-800{color:var(--success)}.dqa-review .border-green-200{border-color:var(--success)}.dqa-review .bg-amber-50,.dqa-review .bg-amber-100{background:var(--warn-soft)}.dqa-review .text-amber-600,.dqa-review .text-amber-700,.dqa-review .text-amber-800,.dqa-review .text-amber-900{color:var(--warn)}.dqa-review .border-amber-200{border-color:var(--warn)}.dqa-review .bg-red-50,.dqa-review .bg-red-100{background:var(--bill-soft)}.dqa-review .text-red-500,.dqa-review .text-red-600,.dqa-review .text-red-700,.dqa-review .text-red-800{color:var(--bill)}.dqa-review .bg-blue-50{background:var(--accent-soft)}.dqa-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.dqa-loading-text{font-size:13px;color:var(--ink2)}.dqa-spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:dqa-spin .8s linear infinite}@keyframes dqa-spin{to{transform:rotate(360deg)}}.dqa-viewer-ctrls{position:absolute;left:12px;bottom:12px;z-index:5;display:flex;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 4px #0000001f}.dqa-viewer-ctrls button{min-width:30px;height:26px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;line-height:1;color:var(--ink);background:transparent;border:0;border-radius:6px;cursor:pointer}@media(hover:hover)and (pointer:fine){.dqa-viewer-ctrls button:hover{background:var(--inset)}}.jobid-parts{display:grid;grid-template-columns:64px 80px 1fr;gap:8px}.jobid-part{display:flex;flex-direction:column}.jobid-sublabel{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:4px}.jobid-parts input{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-size:14px;font-family:var(--mono)}.jobid-part-name input{font-family:var(--ui)}.jobid-hint{margin-top:6px;font-size:12px;color:var(--muted)}.jobid-edited{color:var(--muted)}.jobid-source{color:var(--muted);opacity:.8}.jobid-warn{margin-top:5px;font-size:12px;color:var(--bill)}.jobid-link{background:none;border:none;padding:0;cursor:pointer;color:var(--accent);font-size:inherit;font-family:var(--mono);text-decoration:underline}.jobid-toggle{margin-top:8px;font-size:12px}.jobid-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--inset)}.jobid-preview.ok{border-color:var(--success);background:var(--success-soft)}.jobid-preview.bad{border-color:var(--warn);background:var(--warn-soft)}.jobid-value{font-family:var(--mono);font-size:14px;color:var(--ink);word-break:break-all}.jobid-status{font-size:12px;font-family:var(--mono);white-space:nowrap}.jobid-status.ok{color:var(--success)}.jobid-status.bad{color:var(--warn)}.tag-portal,.tag-internal{font-family:var(--mono);font-size:11px;letter-spacing:.5px;font-weight:600;padding:1px 6px;border-radius:999px;margin-left:7px;vertical-align:middle;text-transform:none}.tag-portal{color:var(--success);background:var(--success-bg)}.tag-internal{color:var(--paper-ink-2);background:var(--divider)}.client-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);padding:11px 12px;margin-bottom:14px}.client-card-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:13px}.client-card .ck{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.client-card .cv{font-family:var(--mono);color:var(--ink);text-align:right;word-break:break-all}.client-card-note{margin-top:8px;padding-top:8px;border-top:1px solid var(--divider);font-size:12px;color:var(--paper-ink-2);line-height:1.45}.check-field{display:flex;align-items:center;gap:9px;font-size:14px;margin-bottom:13px}.check-field.off{color:var(--paper-ink-2)}.pay-list{margin:0 0 14px;padding:0;list-style:none}.pay-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--divider);font-size:14px}.pay-list .amt{font-family:var(--mono);font-weight:600}.pay-list .meta{color:var(--paper-ink-2);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.pay-src{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:1px 6px;border-radius:999px;vertical-align:middle}.pay-src.qbo{color:var(--success);background:var(--success-bg)}.pay-src.ext{color:var(--brass-ink);background:var(--ff-bg)}.pay-list .when{color:var(--muted);font-family:var(--mono);font-size:12px;white-space:nowrap}.pay-total{display:flex;justify-content:space-between;padding:10px 0;font-weight:700;font-family:var(--mono)}.pay-total .left{color:var(--ink);font-weight:600}.milestone-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--app-bg);padding:13px;margin-bottom:18px}.milestone-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px}.onhold-banner{background:var(--ff-bg);color:var(--ff);border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;margin-bottom:16px}.timeline{list-style:none;margin:0;padding:0}.tl-step{display:flex;gap:12px;padding:0 0 2px;position:relative}.tl-step .tl-dot{flex-shrink:0;width:13px;height:13px;border-radius:50%;margin-top:3px;border:2px solid var(--border);background:var(--surface);position:relative;z-index:1}.tl-step:not(:last-child) .tl-dot:after{content:"";position:absolute;left:50%;top:13px;transform:translate(-50%);width:2px;height:calc(100% + 14px);background:var(--border)}.tl-body{display:flex;flex-direction:column;padding-bottom:16px}.tl-phase{font-size:14px;font-weight:600;color:var(--ink);line-height:1.2}.tl-now{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--brass-ink);letter-spacing:.5px}.tl-date{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}.tl-date-row{display:flex;align-items:center;gap:8px;margin-top:4px}.tl-date-input{font-family:var(--mono);font-size:12px;color:var(--ink);padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}@media(hover:hover)and (pointer:fine){.tl-date-input:hover{border-color:var(--muted)}}.tl-saving{font-family:var(--mono);font-size:11px;color:var(--muted)}.tl-step.done .tl-dot{background:var(--success);border-color:var(--success)}.tl-step.passed .tl-dot{background:var(--surface);border-color:var(--success)}.tl-step.current .tl-dot{background:var(--brass);border-color:var(--brass-ink);box-shadow:0 0 0 3px var(--ff-bg)}.tl-step.current .tl-phase{color:var(--brass-ink)}.tl-step.upcoming .tl-phase{color:var(--muted);font-weight:500}.pay-form-title{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:18px 0 10px}.pay-qbo-blocked{margin-top:18px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--inset);border:1px solid var(--border);font-size:12px;color:var(--ink3);line-height:1.55}.pay-sec-cap{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:6px}.pay-manual{margin-top:20px;padding:14px 16px 4px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.chip{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.3px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--inset);color:var(--ink2);text-transform:uppercase}@media(hover:hover)and (pointer:fine){.chip:hover{border-color:var(--ink3);color:var(--ink)}}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.qbo-proposal-ref{background:var(--inset);border:1px solid var(--border);border-radius:10px;padding:11px 13px;margin-bottom:12px}.qbo-ref-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.qbo-ref-title{font-size:13px;font-weight:700;color:var(--ink)}.qbo-ref-meta{font-size:11px;color:var(--ink3)}.qbo-fee-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-top:1px solid var(--border)}.qbo-fee-main{flex:1;min-width:0}.qbo-fee-label{display:block;font-size:13px;color:var(--ink)}.qbo-fee-due{display:block;font-size:11px;color:var(--ink3);margin-top:1px}.qbo-fee-amt{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;white-space:nowrap}.qbo-fee-total{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--ink3);font-weight:600}.proposal-docs{margin-bottom:16px}.pdoc-list{list-style:none;margin:0;padding:0}.pdoc-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--inset);margin-bottom:6px}.pdoc-icon{color:var(--ink3);font-size:15px}.pdoc-main{flex:1;min-width:0}.pdoc-name{display:block;font-size:13px;color:var(--ink);word-break:break-word}.pdoc-meta{display:block;font-size:11px;color:var(--ink3);margin-top:1px}.dqa-set-badge{display:inline-flex;align-items:center;gap:3px;border-radius:99px;padding:2px 9px;font-size:11px;font-weight:600;white-space:nowrap}.dqa-set-badge.is-reviewed{background:var(--success-soft);color:var(--success)}.dqa-set-badge.is-in-review{background:var(--warn-soft);color:var(--warn)}.pdoc-viewer{margin-top:8px}.pdoc-frame{width:100%;height:560px;border:1px solid var(--border);border-radius:10px;background:#fff}.pdoc-open{display:inline-block;margin-top:8px;text-decoration:none}@media(max-width:640px){.pdoc-frame{height:62vh}}.cal2{display:grid;grid-template-columns:minmax(230px,280px) 1fr}.cal2 .cal-month{padding:16px 18px;border-right:1px solid var(--divider)}.cal2 .cal-agenda{padding:14px 18px;min-width:0}@media(max-width:720px){.cal2{grid-template-columns:1fr}.cal2 .cal-month{border-right:none;border-bottom:1px solid var(--divider)}}.cal-month-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.cal-month-title{font-size:15px;font-weight:600;flex:1}.cal-nav{width:26px;height:26px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink2);display:flex;align-items:center;justify-content:center}@media(hover:hover)and (pointer:fine){.cal-nav:hover{border-color:var(--ink3);color:var(--ink)}}.cal-today-btn{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:5px 9px;border:1px solid var(--border);border-radius:99px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.cal-dow,.cal-days{display:grid;grid-template-columns:repeat(7,1fr)}.cal-dow span{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink3);padding-bottom:6px}.cal-days{gap:2px}.cal-day{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--ink);border-radius:50%}.cal-day.other{color:var(--ink3);opacity:.45}.cal-day.today{background:var(--accent);color:#fff;font-weight:600}.cal-day.has-event:not(.today):after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.cal-agenda-list{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.agenda-item{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--divider)}.agenda-item:last-child{border-bottom:none}.agenda-chip{flex:none;width:52px;text-align:center;font-family:var(--mono);font-size:11px;font-weight:600;line-height:1.3;padding:6px 0;border-radius:var(--radius-sm);background:var(--inset);color:var(--ink2);height:-moz-fit-content;height:fit-content}.agenda-chip.today{background:var(--accent-soft);color:var(--accent-ink)}.agenda-chip .d{font-size:14px;display:block}.agenda-main{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.agenda-title{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-time{font-family:var(--mono);font-size:11px;color:var(--ink3);margin-top:2px}.agenda-tag{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--accent-ink)}.inbox-list{list-style:none;margin:0;padding:0;max-height:392px;overflow-y:auto}.inbox-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--divider)}.inbox-item:last-child{border-bottom:none}.inbox-item.dim{opacity:.4}.inbox-ava{flex:none;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:600;background:var(--inset);color:var(--ink2)}.inbox-item.is-client .inbox-ava{background:var(--accent-soft);color:var(--accent-ink)}.inbox-main{flex:1;min-width:0}.inbox-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.inbox-from{font-weight:600;color:var(--ink);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-tag{flex:none;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.3px;color:var(--accent-ink);background:var(--accent-soft);padding:1px 7px;border-radius:99px;max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-subj{font-size:13px;color:var(--ink);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-snip{font-size:12px;color:var(--ink3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-toggle{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;display:flex;gap:8px;align-items:center;cursor:pointer;color:var(--ink3)}.empty{padding:44px;text-align:center;color:var(--muted)}.review-flag{color:var(--warn);font-size:12px;font-weight:600}.mobile-topbar,.mobile-tabbar{display:none}@media(max-width:760px){.shell{flex-direction:column;height:100vh;height:100dvh}.sidebar,.topbar{display:none}.content{flex:1;min-height:0}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;flex:none;background:var(--panel);color:var(--ink);border-bottom:1px solid var(--border);padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}.mobile-topbar .brand{font-weight:700;font-size:16px;letter-spacing:.3px}.mobile-topbar-actions{display:flex;align-items:center;gap:12px}.mobile-menubtn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--inset);color:var(--ink2)}.mobile-menubtn:active{background:var(--accent-soft);color:var(--accent-ink)}.mobile-menubtn,.mobile-topbar-actions .cl-userButtonTrigger,.job-card-grip{position:relative}.mobile-menubtn:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.mobile-topbar-actions .cl-userButtonTrigger:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.job-card-grip:before{content:"";position:absolute;top:-5px;right:-9px;bottom:-5px;left:-9px}.main{flex:1;min-height:0}.page{padding:18px max(16px,env(safe-area-inset-right)) calc(84px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.page-head{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:18px}.greeting{font-size:22px}.page-meta{text-align:left;padding-top:0}.stat-cell{padding:14px 16px}.stat-cell .value{font-size:22px}.toolbar input[type=search]{min-width:0}.section-h1{font-size:22px}.grid-2{gap:16px}.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--border);padding:8px 0 calc(8px + env(safe-area-inset-bottom))}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;text-decoration:none;color:var(--ink2);font-size:11px}.tab-item .tab-icon{display:block;width:24px;height:24px}.tab-item.active{color:var(--primary)}.tab-item.active .tab-label{font-weight:600}}.td-page{padding-top:12px}.td-searchwrap{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:9px;padding:10px 12px;margin:0 0 16px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink3)}.td-searchwrap:focus-within{border-color:var(--accent)}.td-searchwrap svg{flex:none}.td-search{flex:1;min-width:0;border:none;background:none;color:var(--ink);font-size:16px;outline:none;padding:0}.td-search::-moz-placeholder{color:var(--ink3)}.td-search::placeholder{color:var(--ink3)}.td-search::-webkit-search-cancel-button{display:none}.td-clear{flex:none;border:none;background:none;color:var(--ink3);font-size:15px;line-height:1;padding:4px 2px}.td-section{margin-bottom:26px}.td-cap{margin:0 0 8px;padding-left:2px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink3)}.td-empty{padding:18px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink3);font-size:14px}.td-item{display:flex;align-items:center;gap:11px;width:100%;min-height:56px;padding:11px 13px;margin-bottom:8px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink);text-align:left;font-size:14px}.td-item:active{background:var(--inset)}.td-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.td-item-title{font-weight:600;color:var(--ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-item-meta{font-size:12px;color:var(--ink3);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-chev{flex:none;color:var(--ink3);font-size:18px;line-height:1}.td-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--muted)}.td-dot.warn{background:var(--warn)}.td-dot.ok{background:var(--success)}.td-warn{border-color:color-mix(in srgb,var(--warn) 35%,var(--border))}.td-task{cursor:pointer}.td-check{flex:none;width:21px;height:21px;accent-color:var(--accent)}.td-task.is-done .td-item-title{text-decoration:line-through;color:var(--ink3)}.td-kind{flex:none;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.4px;padding:2px 6px;border-radius:4px;background:var(--inset);color:var(--ink3)}.td-kind.job{background:var(--accent-soft);color:var(--accent-ink)}.mm-nav{display:flex;flex-direction:column;padding-bottom:8px}.mm-cap{margin:14px 0 6px;padding-left:2px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink3)}.mm-cap:first-child{margin-top:2px}.mm-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:12px 13px;margin-bottom:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none;text-align:left;font-size:15px;font-weight:500}.mm-item:active{background:var(--inset)}.mm-item.active{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.mm-chev{flex:none;color:var(--ink3);font-size:18px;line-height:1}@media(max-width:760px){input,select,textarea{font-size:16px!important}}.cp{min-height:100vh;min-height:100dvh;background:var(--app-bg);color:var(--ink)}.cp-header{background:var(--panel);color:var(--ink);height:64px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 36px;padding-left:max(36px,env(safe-area-inset-left));padding-right:max(36px,env(safe-area-inset-right))}.cp-head-left{display:flex;align-items:center;gap:10px;min-width:0}.cp-mark{width:28px;height:25px;flex:none;color:var(--ink)}.cp-logo{font-weight:700;font-size:17px;letter-spacing:-.2px;white-space:nowrap}.cp-head-divider{width:1px;height:20px;background:var(--border);margin:0 4px}.cp-head-eyebrow{font-size:13px;color:var(--ink2);white-space:nowrap}.cp-head-right{display:flex;align-items:center;gap:12px;min-width:0}.cp-head-client{font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-avatar{width:32px;height:32px;flex:none;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}.cp-signout{flex:none;min-height:44px;padding:0 12px;margin-right:-12px;background:none;border:0;border-radius:8px;color:var(--ink2);font-size:13px;font-weight:500;cursor:pointer}@media(hover:hover)and (pointer:fine){.cp-signout:hover{color:var(--ink);background:var(--inset)}}.cp-body{max-width:1040px;margin:0 auto;padding:26px 36px 64px}.cp-welcome{font-size:22px;font-weight:800;letter-spacing:-.5px;margin:0 0 3px}.cp-sub{font-size:13px;color:var(--paper-ink-2);margin:0 0 20px}.cp-card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.cp-empty{padding:22px;color:var(--paper-ink-2)}.cp-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.cp-job-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s}@media(hover:hover)and (pointer:fine){.cp-job-card:hover{border-color:var(--ink3)}}.cp-job-card.selected{border:1.5px solid var(--primary)}.cp-active-dot{position:absolute;top:14px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--success)}.cp-job-addr1{font-weight:600;font-size:14px}.cp-job-addr2{font-size:12px;color:var(--muted)}.cp-job-meta{font-family:var(--mono);font-size:11px;color:var(--paper-ink-2);margin-top:10px}.cp-phase-tone.green{color:var(--success)}.cp-phase-tone.blue{color:var(--ink)}.cp-phase-tone.muted{color:var(--muted)}.cp-phase-tone.hold{color:var(--paper-ink-2)}.cp-overview{padding:22px 26px;margin-bottom:22px}.cp-overview-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px;gap:12px}.cp-overview-title{font-weight:700;font-size:16px}.cp-overview-sub{font-size:13px;color:var(--muted);margin-top:2px}.cp-status{font-family:var(--mono);font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}.cp-status.track{background:var(--success-bg);color:var(--success)}.cp-status.hold,.cp-status.done{background:var(--inset);color:var(--ink2)}.cp-nextup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-8px 0 20px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--app-bg);border:1px solid var(--border)}.cp-nextup-label{font-weight:600;font-size:13px}.cp-nextup-date{font-family:var(--mono);font-size:12px;color:var(--brass-ink);margin-left:auto}.board-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0 0 14px;border-bottom:1px solid var(--border)}.board-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--ui);font-size:13px;font-weight:500;color:var(--muted);margin-bottom:-1px}@media(hover:hover)and (pointer:fine){.board-tab:hover{color:var(--ink)}}.board-tab.active{color:var(--ink);font-weight:600;border-bottom-color:var(--brass)}.board-tab-count{font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:9px;background:var(--border);color:var(--muted)}.board-tab.active .board-tab-count{background:var(--brass);color:#fff}.board-stalled{margin-left:auto;font-size:12px;color:var(--danger);font-weight:600;padding:0 6px}.badge-sub{background:var(--ff-bg, var(--success-soft));color:var(--brass-ink)}.job-card-stalled{margin-top:4px;font-size:11px;font-weight:600;color:var(--danger)}.board-notice{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;border-radius:8px;border:1px solid var(--border);border-left:3px solid var(--success);background:var(--success-soft);color:var(--ink);font-size:13px}.board-notice-x{margin-left:auto;background:none;border:0;cursor:pointer;color:var(--muted);font-size:13px;line-height:1;padding:2px 4px}@media(hover:hover)and (pointer:fine){.board-notice-x:hover{color:var(--ink)}}.cp-staff-bar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:9px 16px;background:#3a2f5e;color:#fff;font-size:13px;line-height:1.4;text-align:center}.cp-staff-bar strong{color:#fff}.cp-staff-back{background:#ffffff29;color:#fff;border:0;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}@media(hover:hover)and (pointer:fine){.cp-staff-back:hover{background:#ffffff47}}.contacts{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.contacts-empty{padding:8px 10px;border-radius:6px;border:1px solid var(--border);border-left:3px solid var(--brass);background:var(--surface);font-size:12px;color:var(--muted);margin-bottom:10px}.contacts-err{margin-top:8px;font-size:12px;color:var(--danger)}.contact-list{list-style:none;margin:0 0 10px;padding:0}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.contact-row:last-child{border-bottom:0}.contact-name{font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.contact-primary{background:var(--success-soft);color:#234d36}.contact-role{font-size:11px;font-weight:500;color:var(--muted)}.contact-email{font-size:12px;color:var(--muted);margin-top:1px}.contact-add{margin-top:10px;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.contact-add-actions{display:flex;justify-content:flex-end;gap:8px}.notify-to-head{margin-bottom:8px}.notify-recip{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}.notify-recip-role,.notify-recip-email{color:var(--muted);font-weight:400}.notify-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}.notify-box{margin-top:20px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.modal.notify-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px #00000047}.modal.notify-modal .drawer-body{overflow-y:auto}.notify-to{margin-bottom:14px;padding:8px 12px;border-radius:6px;background:var(--success-soft);font-size:13px;color:var(--ink)}.notify-body{width:100%;resize:vertical;font-family:var(--ui);font-size:13px;line-height:1.6;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink)}.notify-err{margin-top:12px;padding:10px 12px;border-radius:6px;border:1px solid var(--border);border-left:3px solid var(--danger);background:var(--surface);font-size:12px;line-height:1.5;color:var(--ink)}.notify-sent{padding:8px 0;font-size:14px;line-height:1.6}.dp-note{margin-top:7px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);border-left:3px solid var(--success);background:var(--surface);font-size:12px;line-height:1.5;color:var(--muted)}.dp-note strong{color:var(--ink)}.dp-note.dp-bad{border-left-color:var(--brass)}.dp-quote{margin-top:6px;padding-left:8px;border-left:2px solid var(--border);font-family:var(--mono);font-size:11px;color:var(--muted)}.lead-notice{margin:0 0 14px;padding:9px 12px;border-radius:6px;border:1px solid var(--border);border-left:3px solid var(--brass);background:var(--surface);font-size:12px;line-height:1.5;color:var(--muted)}.lead-notice strong{color:var(--ink)}.milestone-missing{margin:0 0 12px;padding:8px 12px;border-radius:6px;border:1px solid var(--border);border-left:3px solid var(--brass);background:var(--surface);font-size:12px;color:var(--muted)}.cp-billing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:16px 0 4px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--border)}.cp-bill-cell{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--surface)}.cp-bill-label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.cp-bill-value{font-size:18px;font-weight:600}.cp-bill-cell.owed .cp-bill-value{color:var(--brass-ink)}.cp-billing-wrap{margin:16px 0 4px}.cp-billing-wrap .cp-billing{margin:0}.cp-pay{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:12px}.cp-pay-btn{flex:none;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}@media(hover:hover)and (pointer:fine){.cp-pay-btn:hover{filter:brightness(1.05)}}.cp-pay-btn:disabled{opacity:.55;cursor:default;filter:none}.cp-pay-btn-sm{padding:6px 14px;font-size:13px}.cp-pay-note{flex:1 1 220px;min-width:200px;font-size:12px;color:var(--muted);line-height:1.4}.cp-pay-err{flex-basis:100%;font-size:12px;color:var(--brass-ink)}.cp-pay-list{flex-basis:100%;list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--border)}.cp-pay-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface)}.cp-pay-row-desc{flex:1;font-size:13px}.cp-pay-row-amt{font-family:var(--mono);font-weight:600}.cp-pw{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--accent-soft)}.cp-pw-text{font-size:13px;color:var(--ink)}.cp-pw-form{flex-direction:column;align-items:stretch}.cp-pw-fields{display:flex;flex-wrap:wrap;gap:10px}.cp-pw-input{flex:1 1 200px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--ink);background:var(--surface);outline:none}.cp-pw-input:focus{border-color:var(--accent)}.cp-pw-actions{display:flex;align-items:center;gap:12px}.cp-pw-btn{flex:none;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer}.cp-pw-btn:disabled{opacity:.55;cursor:default}.cp-pw-link{background:none;border:0;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline}.cp-pw-error{flex-basis:100%;font-size:12px;color:var(--brass-ink)}.cp-pw-done{background:var(--success-soft);color:var(--success);font-size:13px;font-weight:500}.cp-portfolio{margin-bottom:24px;overflow:hidden}.cp-portfolio-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border)}.cp-portfolio-title{font-weight:600;font-size:14px}.cp-portfolio-owed{font-family:var(--mono);font-size:12px;color:var(--brass-ink)}.cp-portfolio-scroll{overflow-x:auto}.cp-portfolio-table{width:100%;border-collapse:collapse;font-size:13px}.cp-portfolio-table th{text-align:left;padding:9px 16px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--border);white-space:nowrap}.cp-portfolio-table td{padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.cp-portfolio-table tbody tr:last-child td{border-bottom:0}.cp-portfolio-table tbody tr{cursor:pointer}@media(hover:hover)and (pointer:fine){.cp-portfolio-table tbody tr:hover{background:var(--inset)}}.cp-portfolio-table tbody tr.selected{background:var(--app-bg);box-shadow:inset 3px 0 0 var(--accent)}.cp-portfolio-table .cp-num{text-align:right;white-space:nowrap}.cp-pf-addr{font-weight:600}.cp-pf-id{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}.cp-pf-next{color:var(--ink-2)}.cp-pf-date{font-family:var(--mono);font-size:11px;color:var(--muted)}.cp-pf-none{color:var(--muted)}.cp-pf-owed{font-family:var(--mono);font-weight:600;color:var(--brass-ink)}.cp-pf-paid{font-size:12px;color:var(--success)}@media(max-width:720px){.cp-billing{grid-template-columns:1fr}}@media(max-width:600px){.cp-portfolio-table thead{display:none}.cp-portfolio-table,.cp-portfolio-table tbody{display:block}.cp-portfolio-table tbody tr{display:grid;grid-template-columns:1fr auto;-moz-column-gap:12px;column-gap:12px;row-gap:3px;padding:12px 16px;border-bottom:1px solid var(--border)}.cp-portfolio-table tbody tr:last-child{border-bottom:0}.cp-portfolio-table td{display:block;padding:0;border:0}.cp-portfolio-table td:nth-child(1){grid-column:1;grid-row:1}.cp-portfolio-table td:nth-child(4){grid-column:2;grid-row:1}.cp-portfolio-table td:nth-child(2){grid-column:1 / -1;grid-row:2;font-size:12px}.cp-portfolio-table td:nth-child(3){grid-column:1 / -1;grid-row:3;font-size:12px}.cp-portfolio-table td:nth-child(3):has(.cp-pf-none:only-child){display:none}.cp-portfolio-table td:nth-child(3):before{content:attr(data-label) ": ";color:var(--ink3)}}.cp-stepper{position:relative;padding:0 2%}.cp-stepper-track{position:absolute;top:11px;left:10.3%;right:10.3%;height:2px;background:var(--border)}.cp-stepper-fill{position:absolute;top:11px;left:10.3%;max-width:79.4%;height:2px;background:var(--primary);transition:width .3s}.cp-stepper-row{display:flex;position:relative}.cp-step{flex:1;text-align:center}.cp-step-dot{width:24px;height:24px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--surface);border:2px solid var(--ink3);color:transparent}.cp-step.done .cp-step-dot{background:var(--primary);border-color:var(--primary);color:#fff}.cp-step.current .cp-step-dot{background:var(--accent);border:3px solid var(--accent-soft);color:#fff;font-weight:700;font-size:11px}.cp-step-label{display:block;font-size:11px;color:var(--paper-ink-2);margin-top:8px}.cp-step.current .cp-step-label{color:var(--ink);font-weight:700}.cp-step.upcoming .cp-step-label{color:var(--ink3)}.cp-panels{display:grid;grid-template-columns:1.05fr 1fr;gap:22px}.cp-panel{overflow:hidden}.cp-messages{display:flex;flex-direction:column}.cp-panel-head{padding:15px 20px;border-bottom:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between}.cp-panel-head h3{margin:0;font-size:14px;font-weight:700}.cp-panel-tag{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:1px}.cp-panel-body{padding:14px 20px}.cp-msg-body{flex:1}.cp-sublabel{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:10px}.cp-panel-empty{font-size:13px;color:var(--muted);line-height:1.5;padding:6px 0 4px}.cp-dropzone{border:1.5px dashed var(--border);border-radius:9px;padding:14px;text-align:center;font-size:13px;color:var(--muted);margin-top:8px}.cp-dropzone.is-soon,.cp-composer.is-soon{opacity:.65}.cp-composer{padding:12px 16px;border-top:1px solid var(--divider);display:flex;gap:10px;align-items:center}.cp-composer-input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--ink);background:var(--surface);outline:none}.cp-composer-input:focus{border-color:var(--primary)}.cp-composer-input::-moz-placeholder{color:var(--muted)}.cp-composer-input::placeholder{color:var(--muted)}.cp-composer.is-soon .cp-composer-input{color:var(--muted)}.cp-composer-send{flex:none;background:var(--primary);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600}.cp-composer-send:disabled{opacity:.5;cursor:not-allowed}.cp-msg-body{overflow-y:auto;max-height:360px}.cp-msg{margin-bottom:14px}.cp-msg.mine{margin-left:36px;text-align:right}.cp-msg.them{margin-right:36px}.cp-msg-meta{font-size:11px;color:var(--muted);margin-bottom:5px}.cp-msg-bubble{display:inline-block;text-align:left;padding:10px 13px;font-size:13px;line-height:1.5;border-radius:4px 12px 12px;background:var(--inset);color:var(--ink);white-space:pre-wrap;word-break:break-word;max-width:92%}.cp-msg.mine .cp-msg-bubble{background:var(--primary);color:#fff;border-radius:12px 4px 12px 12px}@media(max-width:720px){.cp-body{padding:20px 16px 48px}.cp-switcher,.cp-panels{grid-template-columns:1fr}.cp-overview{padding:18px 16px}.cp-step-label{font-size:11px;line-height:1.25;padding:0 2px;-webkit-hyphens:auto;hyphens:auto}}@media(max-width:560px){.cp-header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));height:56px}.cp-head-divider,.cp-head-eyebrow,.cp-head-client{display:none}.cp-stepper{padding:0}.cp-stepper-track,.cp-stepper-fill{display:none}.cp-stepper-row{flex-direction:column}.cp-step{display:flex;align-items:center;gap:12px;text-align:left;position:relative;padding:6px 0}.cp-step-dot{margin:0;flex:none}.cp-step-label{margin-top:0;font-size:14px;line-height:1.3;padding:0}.cp-step:not(:last-child):after{content:"";position:absolute;left:11px;top:30px;bottom:-6px;width:2px;background:var(--border)}.cp-step.done:not(:last-child):after{background:var(--primary)}}.cp-questions{margin-top:22px}.cp-q-intro{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--ink2);max-width:68ch}.cp-q-form{display:flex;flex-direction:column;gap:6px;max-width:640px}.cp-q-label{font-size:12px;font-weight:600;color:var(--ink);margin-top:6px}.cp-q-select,.cp-q-textarea{flex:none;width:100%;font:inherit;font-size:14px;min-height:44px}.cp-q-textarea{resize:vertical;line-height:1.5}.cp-q-error{font-size:12px;color:var(--danger)}.cp-q-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.cp-q-send{min-height:44px;padding:0 20px;font-size:14px}.cp-q-note{font-size:12px;color:var(--muted)}.cp-q-sent{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;max-width:640px;padding:12px 14px;border-radius:10px;background:var(--success-bg);color:var(--success);font-size:13px;line-height:1.5}.cp-q-sent .cp-pw-link{color:var(--success);padding:0}.cp-q-list{margin-top:22px}.cp-q-item{padding:12px 0;border-top:1px solid var(--divider)}.cp-q-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cp-q-topic{font-size:13px;font-weight:600;color:var(--ink)}.cp-q-msg{font-size:13px;line-height:1.5;color:var(--ink2);margin-top:4px;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cp-q-meta{font-size:11px;color:var(--muted);margin-top:4px}.cp-file{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--divider);padding:9px 0;cursor:pointer;font:inherit;color:inherit}@media(hover:hover)and (pointer:fine){.cp-file:hover{background:var(--app-bg)}.cp-file:hover .cp-file-dl{color:var(--primary)}}.cp-file-kind{width:30px;height:30px;flex:none;border-radius:6px;background:var(--bill-bg);color:var(--bill);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:700}.cp-file-main{flex:1;min-width:0;display:flex;flex-direction:column}.cp-file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-file-meta{font-size:11px;color:var(--muted)}.cp-file-err{font-size:12px;color:var(--danger);margin-top:2px}.cp-file-dl{color:var(--muted);font-size:16px;flex:none}.cp-embedded{min-height:auto;border:1px solid var(--border);border-radius:12px;overflow:hidden}.cp-embedded .cp-header{border-radius:0}.cp-preview-bar{background:var(--ff-bg);color:var(--ff);font-size:13px;padding:8px 16px;border-bottom:1px solid var(--border);text-align:center}.cp-preview-tag{flex:none;font-size:12px;color:var(--warn);background:var(--warn-soft);padding:4px 10px;border-radius:99px;font-weight:600}.cp-preview-banner{display:block;margin-bottom:14px;padding:10px 14px;border:1px solid var(--border);border-left:3px solid var(--brass);border-radius:6px;background:var(--surface);font-size:13px;line-height:1.5;color:var(--muted)}.cp-preview-banner strong{color:var(--ink)}.cp-pick-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cp-pick-row label{font-size:13px;color:var(--paper-ink-2)}.cp-pick{flex:1;min-width:220px;max-width:420px;padding:9px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.cp-combo{position:relative}.cp-combo-box{position:relative;flex:1;min-width:240px;max-width:460px}.cp-combo-input{width:100%;padding:9px 30px 9px 12px;font-size:14px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.cp-combo-input:focus{outline:none;border-color:var(--accent)}.cp-combo-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;line-height:1;padding:0;border:0;cursor:pointer;border-radius:50%;background:transparent;color:var(--ink3);font-size:18px}@media(hover:hover)and (pointer:fine){.cp-combo-clear:hover{background:var(--hover);color:var(--ink)}}.cp-combo-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:320px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg, 0 10px 30px rgba(0,0,0,.18))}.cp-combo-opt{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px}.cp-combo-opt.is-active{background:var(--hover)}.cp-combo-opt.is-unlinked{cursor:default;opacity:.66}.cp-combo-name{color:var(--ink)}.cp-combo-meta{font-family:var(--mono);font-size:11px;color:var(--ink3);white-space:nowrap}.cp-combo-empty{padding:10px;font-size:13px;color:var(--ink3)}.staff-thread{max-height:46vh;overflow-y:auto;padding:4px 2px}.staff-composer{border-top:0;padding:12px 0 0}.set-section-cap{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink3);margin:0 0 12px}.set-block{margin-bottom:28px}.set-note{font-size:12px;color:var(--ink2);margin-top:12px}.set-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.set-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--divider)}.set-toggle-row:last-child{border-bottom:none}.set-toggle-label{font-size:14px;font-weight:600}.set-toggle-desc{font-size:12px;color:var(--ink2);margin-top:3px;max-width:460px}.set-toggle-row .ss-seg{flex:none}.set-toggle-row .ss-item{border:none;background:transparent}.set-toggle-row .ss-item.is-on{background:var(--panel)}@media(max-width:560px){.set-toggle-row:has(.ss-seg){flex-direction:column}}.switch{position:relative;flex:none;width:40px;height:23px;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border);transition:background .15s}.switch .knob{position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track+.knob{transform:translate(17px)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f141c73;display:flex;align-items:flex-end;animation:sheet-fade .18s ease-out}.sheet-overlay.is-closing{animation:sheet-fade-out .15s ease-out forwards}.sheet-overlay.is-closing .sheet{animation:sheet-down .15s cubic-bezier(.32,.72,0,1) forwards}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-fade-out{to{opacity:0}}@keyframes sheet-down{to{transform:translateY(100%)}}.sheet{width:100%;background:var(--panel);border-radius:22px 22px 0 0;padding:10px 18px calc(20px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;box-shadow:0 -16px 40px -16px #0006;animation:sheet-up .18s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grip{width:40px;height:4px;border-radius:99px;background:var(--border);margin:4px auto 12px;position:relative;cursor:grab}.sheet-grip:before{content:"";position:absolute;top:-16px;right:-40px;bottom:-16px;left:-40px}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.sheet-title{margin:0;font-size:18px;font-weight:600}.sheet-sub{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);margin-top:3px}.fn-search{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--inset);color:var(--ink3)}.fn-search input{flex:1;border:none;background:none;outline:none;color:var(--ink);font-size:14px}.fn-joblist{max-height:168px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.fn-job{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--ink);cursor:pointer}.fn-job.active{border-color:var(--accent);background:var(--accent-soft)}.fn-job-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);flex:none}.fn-job.active .fn-job-dot{border-color:var(--accent);background:var(--accent)}.fn-job-main{display:flex;flex-direction:column;gap:2px;min-width:0}.fn-job-id{font-family:var(--mono);font-size:13px;font-weight:600}.fn-job-meta{font-size:11px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fn-body{width:100%;box-sizing:border-box;resize:vertical;min-height:88px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--inset);color:var(--ink);font:inherit;font-size:14px;margin-bottom:12px}.fn-body:disabled{opacity:.5}.fn-attach{display:flex;gap:8px;margin-bottom:14px}.fn-attach-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;border:1px dashed var(--border);border-radius:10px;background:none;color:var(--ink3);font-size:11px}.fn-attach-btn:disabled{opacity:.45;cursor:not-allowed}.fn-attach-label{white-space:nowrap;line-height:1}.fn-attach-btn.done{border-style:solid;border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.fn-attach-btn.recording{border-style:solid;border-color:#d92d20;color:#d92d20;background:color-mix(in srgb,#d92d20 8%,var(--panel));animation:fn-rec 1.2s ease-in-out infinite}@keyframes fn-rec{0%,to{box-shadow:0 0 #d92d2000}50%{box-shadow:0 0 0 3px #d92d202e}}.fn-pending{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.fn-pending-item{position:relative;display:flex;align-items:center}.fn-pending-thumb{width:56px;height:56px;-o-object-fit:cover;object-fit:cover;border-radius:9px;border:1px solid var(--border)}.fn-pending-voice{display:inline-flex;align-items:center;padding:8px 12px;border-radius:9px;border:1px solid var(--border);background:var(--inset);font-size:12px;color:var(--ink2)}.fn-pending-x{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;border:none;background:var(--ink);color:var(--panel);font-size:11px;line-height:1;cursor:pointer}.fn-media{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.fn-media-thumbbtn{padding:0;border:none;background:none;cursor:pointer;line-height:0}.fn-media-thumb{width:64px;height:64px;-o-object-fit:cover;object-fit:cover;border-radius:9px;border:1px solid var(--border);display:block}.lb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#080b10eb;display:flex;align-items:center;justify-content:center}.lb-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.lb-img{max-width:92vw;max-height:84vh;-o-object-fit:contain;object-fit:contain;border-radius:6px}.lb-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:none;background:#ffffff24;color:#fff;font-size:18px;cursor:pointer}.lb-count{position:absolute;top:calc(16px + env(safe-area-inset-top));left:0;right:0;z-index:1;text-align:center;color:#fff;font-family:var(--mono);font-size:13px;letter-spacing:1px}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:none;background:#ffffff24;color:#fff;font-size:26px;line-height:1;cursor:pointer}.lb-nav.prev{left:10px}.lb-nav.next{right:10px}.fn-media-audio{height:34px;max-width:100%}.fn-media-loc{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;color:var(--accent-ink);text-decoration:none;padding:5px 9px;border-radius:8px;background:var(--accent-soft)}.fn-recent-main{min-width:0;flex:1}.fnp{margin-top:22px;border-top:1px solid var(--divider, var(--border));padding-top:16px}.fnp-item{padding:12px 0;border-bottom:1px solid var(--divider, var(--border))}.fnp-item:last-child{border-bottom:none}.fnp-item-head{display:flex;justify-content:flex-end}.fnp-date{font-family:var(--mono);font-size:11px;letter-spacing:.5px;color:var(--ink3);text-transform:uppercase}.fnp-body{font-size:13px;color:var(--ink);margin-top:2px;white-space:pre-wrap}.fn-note-actions{display:flex;gap:14px;margin-top:8px}.fn-link{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:var(--accent-ink);cursor:pointer}.fn-link.muted{color:var(--ink3);font-weight:500}.fn-link.danger{color:#d92d20}.fn-error{color:var(--warn);font-size:13px;margin-bottom:10px}.fn-save{width:100%;padding:13px;border:none;border-radius:11px;background:var(--accent);color:#fff;font-size:15px;font-weight:600}.fn-save:disabled{opacity:.45}.fn-recent{margin-top:18px;border-top:1px solid var(--divider, var(--border));padding-top:14px}.fn-recent-cap{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}.fn-recent-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--divider, var(--border))}.fn-recent-item:last-child{border-bottom:none}.fn-recent-body{font-size:13px;color:var(--ink);min-width:0}.fn-recent-date{font-family:var(--mono);font-size:11px;color:var(--ink3);white-space:nowrap;flex:none}.fnp-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sr-wrap{min-height:100vh;min-height:100dvh;background:var(--app-bg);padding:24px 16px 64px}.sr-empty{max-width:720px;margin:64px auto;text-align:center;color:var(--ink2);font-size:14px}.sr-controls{max-width:760px;margin:0 auto 16px;display:flex;gap:10px;justify-content:flex-end}.sr-btn{padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.sr-btn.ghost{background:transparent;color:var(--ink2);border-color:var(--border)}.sr-page{max-width:760px;margin:0 auto;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);padding:40px 44px;box-shadow:0 1px 3px #0000000f}.sr-head{border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:24px}.sr-brand{font-weight:800;letter-spacing:.5px;font-size:15px}.sr-brand span{font-weight:500;color:var(--ink2);font-size:12px;margin-left:6px}.sr-title{font-size:26px;margin:8px 0 12px;font-weight:700}.sr-meta{font-size:14px;line-height:1.5}.sr-meta strong{font-family:var(--mono)}.sr-meta-sub{color:var(--ink3);font-size:12px;margin-top:6px}.sr-section{margin-bottom:26px;-moz-column-break-inside:avoid;break-inside:avoid}.sr-section-head{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--divider, var(--border));padding-bottom:6px;margin-bottom:12px}.sr-section-head h2{font-size:16px;font-weight:700;margin:0}.sr-reached{font-family:var(--mono);font-size:11px;color:var(--ink3)}.sr-note{padding:10px 0 12px;border-bottom:1px dashed var(--divider, var(--border));-moz-column-break-inside:avoid;break-inside:avoid}.sr-note:last-child{border-bottom:none}.sr-note-date{font-family:var(--mono);font-size:11px;color:var(--ink3);margin-bottom:4px}.sr-note-body{font-size:14px;line-height:1.55;white-space:pre-wrap}.sr-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sr-photo{width:168px;height:168px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.sr-voice{margin-top:8px;font-size:13px}.sr-voice a,.sr-loc a{color:var(--accent-ink)}.sr-loc{margin-top:8px;font-size:13px;color:var(--ink2)}@media print{.sr-wrap{background:#fff;padding:0}.sr-controls{display:none}.sr-page{max-width:none;margin:0;border:none;border-radius:0;box-shadow:none;padding:0;background:#fff;color:#000}.sr-head{border-bottom-color:#000}.sr-photo{width:150px;height:150px}a{color:#000!important;text-decoration:none}}.page-sub{color:var(--ink2);font-size:13px;margin-top:6px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:18px}.tpl-card{text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:border-color .15s,transform .05s}@media(hover:hover)and (pointer:fine){.tpl-card:hover:not(:disabled){border-color:var(--accent)}}.tpl-card:active:not(:disabled){transform:translateY(1px)}.tpl-card.soon{opacity:.55;cursor:default}.tpl-card-title{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}.tpl-soon{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tpl-card-desc{font-size:13px;color:var(--ink2);margin-top:8px;line-height:1.5}.tpl-gen-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.tpl-gen{display:flex;gap:22px;align-items:flex-start}.tpl-form{flex:0 0 340px;max-width:340px;display:flex;flex-direction:column;gap:12px}.tpl-form-title{font-size:16px;font-weight:700;margin:0 0 4px}.tpl-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ink2)}.tpl-field>span{font-weight:600}.tpl-field input,.tpl-field select,.tpl-field textarea{font:inherit;font-size:14px;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;width:100%}.tpl-field textarea{resize:vertical;line-height:1.5}.tpl-field-group{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);margin-top:6px}.lb{--lb-size: 11pt;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--inset);overflow:hidden}.lb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--border);background:var(--surface)}.lb-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:0;border-radius:6px;background:none;color:var(--ink2);font:inherit;font-size:14px;cursor:pointer}.lb-btn.is-on{background:var(--accent-soft);color:var(--accent-ink)}.lb-btn:disabled{opacity:.35;cursor:default}@media(hover:hover)and (pointer:fine){.lb-btn:not(:disabled):not(.is-on):hover{background:var(--inset);color:var(--ink)}}.lb-btn b,.lb-btn i,.lb-btn u{font-family:Times New Roman,Times,serif;font-size:16px}.lb-num{font-size:12px;font-weight:700}.lb-pilcrow{font-size:15px}.lb-group{display:inline-flex;align-items:center;gap:2px}.lb-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.tpl-form.is-letter{flex-basis:420px;max-width:420px}.lb-spacing{display:inline-flex;align-items:center;gap:4px;padding:0 2px 0 6px;color:var(--ink2)}.tpl-field .lb-spacing select{width:auto;padding:3px 4px;font-size:13px;background:var(--surface)}.lb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.lb-page{position:relative}.lb-editor{min-height:220px;max-height:60vh;overflow-y:auto;padding:14px 16px;outline:none;font-family:Times New Roman,Times,serif;font-size:var(--lb-size);color:var(--ink);background:var(--inset)}.lb-editor:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.lb-editor p{margin:0 0 8pt;line-height:calc(1.2 * var(--lb-spacing, 1.15));min-height:1em}.lb-editor p[data-nospace]{margin-bottom:0}.lb-editor ul,.lb-editor ol{margin:0;padding-left:22pt}.lb-editor li p{margin-bottom:4pt}.lb-editor li p[data-nospace]{margin-bottom:0}.lb-editor ul ul{list-style-type:"– "}.lb-editor ol ol{list-style-type:lower-alpha}.lb-editor ol ol ol{list-style-type:lower-roman}.lb-placeholder{position:absolute;z-index:1;top:14px;left:16px;right:16px;pointer-events:none;color:var(--muted);font-size:13px;line-height:1.5}.tpl-preview{flex:1 1 auto;min-width:0}.doc-paper{background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 3px #0000000f;max-width:760px;margin:0 auto;padding:56px 64px;font-size:14px;line-height:1.55}.doc-letterhead{text-align:center;padding-bottom:20px}.doc-logo{color:var(--ink)}.doc-firm{font-size:12px;font-weight:600;margin-top:2px}.doc-firm-addr{font-size:11px;color:var(--ink2);margin-top:3px}.doc-date{margin:22px 0 18px}.doc-recipient>div{line-height:1.45}.doc-project-addr{text-align:center;margin:16px 0}.doc-greeting{margin:18px 0}.doc-body ul{margin:10px 0;padding-left:26px}.doc-body li{margin:6px 0}.doc-body p{margin:12px 0}.doc-placeholder{color:var(--ink3);font-style:italic}.doc-closing{margin:18px 0}.doc-signoff{margin-top:40px}.doc-signer{margin-top:46px}@media(max-width:880px){.tpl-gen{flex-direction:column}.tpl-form,.tpl-form.is-letter{flex-basis:auto;max-width:none;width:100%}.doc-paper{padding:32px 24px}}@media print{.sidebar,.mobile-topbar,.mobile-tabbar,.note-fab,.topbar,.no-print{display:none!important}.content,.main,.page,.tpl-gen-page{padding:0!important;margin:0!important;background:#fff!important}.tpl-gen{display:block}.doc-paper{max-width:none;margin:0;border:none;border-radius:0;box-shadow:none;padding:0;color:#000;background:#fff}}@page{margin:.75in}.tpl-gen-bar-right{display:flex;align-items:center;gap:12px}.tpl-status{font-size:12px;color:var(--ink3)}.tpl-att-actions{display:flex;gap:8px}.tpl-att-btn{font:inherit;font-size:12px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer}.tpl-att-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.tpl-att-item{display:flex;align-items:center;gap:8px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-size:12px}.tpl-att-kind{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--ink3);border:1px solid var(--border);border-radius:4px;padding:1px 4px;flex:none}.tpl-att-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.tpl-att-ctrls{display:flex;gap:2px;flex:none}.tpl-att-ctrls button{font:inherit;font-size:12px;line-height:1;color:var(--ink2);background:transparent;border:1px solid var(--border);border-radius:5px;width:24px;height:24px;cursor:pointer}.tpl-att-ctrls button:disabled{opacity:.35;cursor:default}.tpl-att-ctrls button.danger{color:#c0392b}.tpl-pdf-frame{width:100%;height:calc(100vh - 190px);min-height:520px;border:1px solid var(--border);border-radius:var(--radius);background:var(--inset)}.tpl-pdf-empty{display:flex;align-items:center;justify-content:center;height:60vh;color:var(--ink3);font-size:13px}@media(max-width:880px){.tpl-pdf-frame{height:70vh}}.tpl-row{display:flex;gap:10px}.tpl-row .tpl-field{flex:1 1 0;min-width:0}.tpl-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.tpl-check input{width:auto}.tpl-fee{display:flex;align-items:center;gap:8px}.tpl-fee-inc{flex:1 1 auto;min-width:0;font-size:13px}.tpl-fee-inc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-fee-amt{flex:0 0 90px;font:inherit;font-size:14px;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px}.tpl-fee-amt:disabled{opacity:.4}.tpl-note{font-size:11px;color:var(--ink3);font-style:italic}.tpl-ai{display:flex;flex-direction:column;gap:8px;margin-top:-4px}.tpl-ai-open{align-self:flex-start;font:inherit;font-size:12px;font-weight:600;color:var(--accent-ink);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer}@media(hover:hover)and (pointer:fine){.tpl-ai-open:hover{border-color:var(--accent);border-style:solid}}.tpl-ai-actions{display:flex;align-items:center;gap:8px}.tpl-ai-undo{font:inherit;font-size:12px;color:var(--ink2);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer}.tpl-ai-msg{font-size:12px;color:var(--ink3);line-height:1.45}.tpl-phase{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--inset)}.tpl-phase-head{display:flex;align-items:center;gap:8px}.tpl-phase-head input[type=checkbox]{width:auto;flex:none}.tpl-phase-title{flex:1 1 auto;min-width:0;font:inherit;font-size:13px;font-weight:600;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:5px 7px}.tpl-phase-area{font:inherit;font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:6px 8px;width:100%;resize:vertical;line-height:1.45}.tpl-x{flex:none;font:inherit;font-size:12px;color:#c0392b;background:transparent;border:1px solid var(--border);border-radius:5px;width:26px;height:26px;cursor:pointer}.tpl-open{font:inherit;font-size:12px;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;max-width:200px}.client-card-actions{display:flex;align-items:center;gap:10px;margin-top:8px}.client-card-saved{font-size:12px;color:var(--accent-ink)}.unlinked-note{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--inset)}.deleg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:4px 0 16px}.deleg-weeknav{display:flex;align-items:center;gap:8px}.deleg-weeknav .btn{min-width:34px;padding:6px 10px;font-size:16px;line-height:1}.deleg-weeklabel{display:flex;align-items:center;gap:8px;min-width:190px;justify-content:center;font-weight:600;color:var(--ink)}.deleg-thisweek{font-size:11px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);padding:2px 7px;border-radius:999px}.deleg-today{font-size:12px;padding:6px 10px}.deleg-colors{display:flex;align-items:center;gap:8px}.deleg-swatch{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;box-shadow:var(--shadow);transition:transform .08s ease,box-shadow .08s ease}@media(hover:hover)and (pointer:fine){.deleg-swatch:hover{transform:scale(1.08)}}.deleg-swatch.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.deleg-error{background:var(--bill-soft);color:var(--bill);border:1px solid var(--bill);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:14px;display:flex;align-items:center;gap:10px}.deleg-loading{padding:24px;color:var(--ink3)}.deleg-scroll{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);max-height:calc(100vh - 232px)}.deleg-grid{background:var(--panel);width:calc(100% * var(--dz, 1))}.deleg-namecell,.deleg-headcorner{position:sticky;left:0;z-index:3}.deleg-headrow{position:sticky;top:0;z-index:4}.deleg-headcorner{z-index:5}.deleg-headrow,.deleg-row{display:grid;grid-template-columns:120px 1fr}.deleg-row{border-top:1px solid var(--border)}.deleg-days{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr))}.deleg-day{display:flex;align-items:baseline;gap:6px;padding:9px 12px;border-left:1px solid var(--border)}.deleg-day:first-child{border-left:0}.deleg-dayname{font-weight:600;font-size:13px;color:var(--ink)}.deleg-daydate{font-size:12px;color:var(--ink3)}.deleg-headcorner{border-right:1px solid var(--border)}.deleg-headrow{background:var(--inset)}.deleg-namecell{position:relative;padding:10px 12px;border-right:1px solid var(--border);background:var(--inset);display:flex;flex-direction:column;gap:8px;justify-content:flex-start}.deleg-name{font-weight:600;color:var(--ink);font-size:14px}.deleg-rowtools{display:flex;gap:6px}.deleg-tool{font:inherit;font-size:12px;padding:3px 8px;border:1px solid var(--border);background:var(--panel);color:var(--ink2);border-radius:var(--radius-sm);cursor:pointer}@media(hover:hover)and (pointer:fine){.deleg-tool:hover{color:var(--ink);border-color:var(--ink3)}}.deleg-youtag{position:absolute;top:10px;right:10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink)}.deleg-row.readonly .deleg-namecell{opacity:.82}.deleg-row.studio .deleg-namecell{background:var(--accent-soft)}.deleg-row.studio .deleg-name{color:var(--accent-ink)}.deleg-studiohint{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);opacity:.75}.deleg-nologin{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}.modal.people-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px #00000047}.modal.people-modal .drawer-body{overflow-y:auto}.people-list{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:8px}.people-row{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.people-row.is-hidden{opacity:.7}.people-order{display:flex;flex-direction:column;gap:2px}.people-order .deleg-tool{padding:0 6px;line-height:1.5}.people-order .deleg-tool:disabled{opacity:.35;cursor:default}.people-fields{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.people-name,.people-email{font:inherit;width:100%;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink)}.people-name{font-weight:600}.people-email{font-size:13px;color:var(--ink2)}@media(hover:hover)and (pointer:fine){.people-name:hover,.people-email:hover{border-color:var(--border)}}.people-name:focus,.people-email:focus{border-color:var(--accent);background:var(--panel);outline:none}.people-email::-moz-placeholder{color:var(--ink3);font-style:italic}.people-email::placeholder{color:var(--ink3);font-style:italic}.people-name-static{font-weight:600;font-size:14px;padding:0 8px}.people-email-static{font-size:13px;color:var(--ink3);padding:0 8px}.people-actions{display:flex;align-items:center;gap:8px}.people-tag{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink)}@media(hover:hover)and (pointer:fine){.deleg-tool.is-del:hover{color:var(--bill);border-color:var(--bill)}}.people-subhead{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:16px 0 8px}.people-hidden,.people-add{border-top:1px solid var(--border);margin-top:14px}.people-addfields{display:flex;gap:8px;align-items:center}.people-addfields .people-name,.people-addfields .people-email{border-color:var(--border);background:var(--surface)}.people-addfields .people-name{flex:0 0 34%}.people-hint{color:var(--ink3);font-size:12px;margin:8px 2px 0;line-height:1.5}.people-empty{color:var(--ink3);font-size:13px;padding:8px 2px}@media(max-width:560px){.people-addfields{flex-wrap:wrap}.people-addfields .people-name{flex:1 1 100%}}.deleg-foot{color:var(--ink3);font-size:13px;margin:14px 2px 0}@media(max-width:640px){.deleg-headrow,.deleg-row{grid-template-columns:88px 1fr}.deleg-day{padding:8px 6px;flex-direction:column;gap:0}}.deleg-dayswitch{display:none}@media(max-width:760px){.deleg-dayswitch{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 14px}.deleg-daybtn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;min-height:46px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--ink2)}.deleg-daybtn-name{font-size:12px;font-weight:600;letter-spacing:.2px}.deleg-daybtn-date{font-family:var(--mono);font-size:11px;color:var(--ink3)}.deleg-daybtn.is-today .deleg-daybtn-name{color:var(--accent-ink)}.deleg-daybtn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.deleg-daybtn.active .deleg-daybtn-date{color:var(--accent-ink)}.deleg-headrow{display:none}.deleg-scroll{max-height:none}}.deleg-daycells{align-items:stretch}.deleg-cell{border-left:1px solid var(--border);padding:7px 8px 8px;display:flex;flex-direction:column;gap:3px;min-height:92px;min-width:0}.deleg-cell:first-child{border-left:0}.deleg-cell.is-today{background:var(--accent-soft)}.deleg-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.deleg-task{display:flex;align-items:flex-start;gap:4px;border-radius:4px;padding:1px 2px}@media(hover:hover)and (pointer:fine){.deleg-task:hover{background:#00000009}}.deleg-taskmain{display:flex;align-items:flex-start;gap:6px;flex:1;min-width:0;cursor:pointer}.deleg-taskbox{margin:2px 0 0;flex:none;accent-color:var(--accent);cursor:pointer}.deleg-taskbox:disabled{cursor:default}.deleg-tasktext{font-size:13px;line-height:1.35;color:var(--ink);overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.deleg-task.is-done .deleg-tasktext{text-decoration:line-through;color:var(--ink3)}.deleg-taskactions{display:flex;gap:1px;opacity:0;flex:none;transition:opacity .12s}.deleg-task:focus-within .deleg-taskactions{opacity:1}@media(hover:hover)and (pointer:fine){.deleg-task:hover .deleg-taskactions{opacity:1}}.deleg-taskbtn{font:inherit;font-size:11px;line-height:1;padding:2px 4px;border:0;background:none;color:var(--ink3);cursor:pointer;border-radius:3px}@media(hover:hover)and (pointer:fine){.deleg-taskbtn:hover{color:var(--accent-ink);background:var(--panel)}.deleg-taskbtn.is-del:hover{color:var(--danger)}}.deleg-pool{margin:0 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.deleg-pool-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:10px}.deleg-pool-title{margin:0;font-size:15px;font-weight:700;color:var(--ink)}.deleg-pool-count{display:inline-block;min-width:20px;margin-left:4px;padding:1px 7px;border-radius:99px;background:var(--inset);color:var(--ink2);font-size:12px;font-weight:600;text-align:center}.deleg-pool-hint{font-size:12px;color:var(--muted)}.deleg-pool-items{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.deleg-pool-empty{font-size:13px;color:var(--muted)}.deleg-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 6px 5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--app-bg);font-size:13px;color:var(--ink)}.deleg-chip.is-draggable{cursor:grab}.deleg-chip.is-draggable:active{cursor:grabbing}.deleg-chip-grip{color:var(--ink3);font-size:12px;margin-left:-2px}.deleg-chip-text{overflow-wrap:anywhere}.deleg-chip-btn{font:inherit;font-size:12px;border:0;background:none;padding:4px 6px;border-radius:5px;cursor:pointer;color:var(--ink3);min-height:28px}.deleg-chip-btn.is-assign{color:var(--accent-ink);font-weight:600}@media(hover:hover)and (pointer:fine){.deleg-chip-btn:hover{background:var(--panel)}.deleg-chip-btn.is-del:hover{color:var(--danger)}}.deleg-chip.is-assigning{flex-wrap:wrap;padding:6px 8px;border-color:var(--accent);background:var(--surface)}.deleg-pool-add{flex:1 1 180px;min-width:160px;max-width:280px}.deleg-cell.is-drop{outline:2px dashed var(--accent);outline-offset:-3px;background:var(--accent-soft)}.deleg-assign-sel{font:inherit;font-size:13px;min-height:32px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink)}.deleg-assign-go{padding:4px 12px}.deleg-taskedit{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:2px 5px;border:1px solid var(--accent);border-radius:4px;background:var(--panel);color:var(--ink);outline:none}.deleg-cellcount{font-size:11px;color:var(--ink3);margin-top:1px}.deleg-add{margin-top:auto;width:100%;box-sizing:border-box;font:inherit;font-size:12px;padding:3px 5px;border:1px dashed transparent;border-radius:4px;background:transparent;color:var(--ink);outline:none}.deleg-add::-moz-placeholder{color:var(--ink3)}.deleg-add::placeholder{color:var(--ink3)}@media(hover:hover)and (pointer:fine){.deleg-cell:hover .deleg-add{border-color:var(--border)}}.deleg-add:focus{border-style:solid;border-color:var(--accent);background:var(--panel)}.portal-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem 1.25rem;background:var(--app-bg);color:var(--ink);font-family:var(--ui)}.portal-brand{font-family:var(--ui);font-weight:600;font-size:1.35rem;letter-spacing:.02em;text-align:center;line-height:1.2}.portal-brand small{display:block;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-top:.3rem}.portal-login{width:100%;max-width:25rem;display:flex;flex-direction:column;align-items:center;gap:1.1rem}.portal-login-card{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem 1.5rem;display:flex;flex-direction:column}.portal-login-card h1{font-size:1.12rem;font-weight:600;margin:0 0 .4rem}.portal-login-sub{font-size:.88rem;line-height:1.5;color:var(--ink2);margin:0 0 1.15rem}.portal-login-label{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:.4rem}.portal-login-input{width:100%;font-family:var(--ui);font-size:1rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--inset);color:var(--ink)}.portal-login-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.portal-login-code{font-family:var(--mono);font-size:1.5rem;letter-spacing:.35em;text-align:center;padding:.65rem .5rem}.portal-login-btn{margin-top:1.1rem;padding:.72rem 1rem;border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--ui);font-size:.95rem;font-weight:600;cursor:pointer}.portal-login-btn:disabled{opacity:.5;cursor:not-allowed}.portal-login-link{margin-top:.7rem;background:none;border:0;color:var(--accent);font-family:var(--ui);font-size:.85rem;cursor:pointer;text-decoration:underline}.portal-login-note{font-size:.8rem;color:var(--ink3);margin:.75rem 0 0;text-align:center}.portal-login-firsttime{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:1rem 0 0;padding:12px 14px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft)}.portal-login-firsttime-h{font-weight:600;font-size:.9rem;color:var(--ink)}.portal-login-firsttime-p{font-size:.8rem;color:var(--ink2);line-height:1.4}.portal-login-firsttime-btn{margin-top:6px;background:none;border:0;padding:0;color:var(--accent);font-family:var(--ui);font-size:.9rem;font-weight:600;cursor:pointer}@media(hover:hover)and (pointer:fine){.portal-login-firsttime-btn:hover{text-decoration:underline}}.portal-login-error{margin-top:.8rem;padding:.55rem .7rem;border-radius:var(--radius-sm);background:var(--bill-soft);color:var(--bill);font-size:.85rem;line-height:1.45}.portal-login-notice{width:100%;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);font-size:.85rem;line-height:1.45;text-align:center}.portal-login-help{font-size:.82rem;color:var(--ink2);margin:0;text-align:center}.portal-login-staff{font-size:.75rem;color:var(--ink3);text-decoration:none}@media(hover:hover)and (pointer:fine){.portal-login-staff:hover{text-decoration:underline}}.mail-page .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.mail-scopes{display:inline-flex;gap:2px;padding:3px;background:var(--inset);border-radius:var(--radius-sm)}.mail-scope{border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:6px 14px;border-radius:calc(var(--radius-sm) - 2px)}@media(hover:hover)and (pointer:fine){.mail-scope:hover{color:var(--ink)}}.mail-scope.is-on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.mail-head-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.mail-search{display:flex;align-items:center;gap:6px}.mail-search input{font:inherit;font-size:13px;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;width:220px}.mail-search input:focus{outline:none;border-color:var(--accent)}.mail-search-go,.mail-search-clear{font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px}.mail-search-go{color:var(--accent-ink);background:var(--accent-soft)}.mail-search-go:disabled{opacity:.45;cursor:default}.mail-search-clear{color:var(--ink2);background:transparent}@media(max-width:720px){.mail-search input{width:100%}.mail-head-tools{width:100%;align-items:stretch}}.mail-split{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:16px;align-items:start}.mail-list{padding:0;overflow:hidden;max-height:calc(100vh - 210px);overflow-y:auto}.mail-reader{padding:0;min-height:320px;max-height:calc(100vh - 210px);overflow-y:auto}.mail-empty{padding:48px 24px;text-align:center}.mail-row{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:11px 14px;border:0;border-bottom:1px solid var(--divider);background:transparent;cursor:pointer;font:inherit;color:var(--ink)}.mail-row:last-child{border-bottom:none}@media(hover:hover)and (pointer:fine){.mail-row:hover{background:var(--hover)}}.mail-row.is-active{background:var(--accent-soft)}.mail-dot{width:7px;height:7px;border-radius:50%;background:transparent;margin-top:14px;flex:0 0 auto}.mail-dot.on{background:var(--accent)}.mail-row.is-unread .mail-from,.mail-row.is-unread .mail-subj{font-weight:700}.mail-ava{width:30px;height:30px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--inset);color:var(--muted)}.mail-ava.sm{width:26px;height:26px;font-size:11px}.mail-row.is-unread .mail-ava{background:var(--accent-soft);color:var(--accent-ink)}.mail-row-main{flex:1;min-width:0}.mail-row-top{display:flex;align-items:baseline;gap:6px}.mail-from{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.mail-count{font-size:11px;color:var(--muted);background:var(--inset);border-radius:8px;padding:0 6px}.mail-date{font-size:11px;color:var(--muted);white-space:nowrap}.mail-subj{display:block;font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-snip{display:block;font-size:12px;color:var(--ink3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center}.mail-tag{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis}.mail-tag.is-client{background:var(--accent-soft);color:var(--accent-ink)}.mail-tag.is-job{background:var(--inset);color:var(--muted);font-family:var(--mono);font-size:11px}.mail-tag.is-staff{background:var(--brass-ink, var(--inset));color:var(--panel)}.mail-tag.is-project{background:var(--inset);color:var(--muted)}.mail-reader-head{padding:16px 18px 12px;border-bottom:1px solid var(--divider);position:sticky;top:0;background:var(--panel);z-index:2}.mail-reader-head h3{margin:0 0 8px;font-size:16px;line-height:1.3}.mail-msgcount{font-size:11px;color:var(--muted)}.mail-msgs{padding:0 18px 18px}.mail-msg{border-bottom:1px solid var(--divider);padding:12px 0}.mail-msg:last-child{border-bottom:none}.mail-msg-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;cursor:pointer;font:inherit;color:var(--ink);padding:0}.mail-msg-who{flex:1;min-width:0;display:flex;flex-direction:column}.mail-msg-who strong{font-size:13px}.mail-msg-to{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-msg-date{font-size:11px;color:var(--muted);white-space:nowrap}.mail-msg-peek{font-size:12px;color:var(--ink3);margin:6px 0 0 36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-msg-body{margin-top:10px}.mail-body-text{font:13px/1.6 var(--mono);white-space:pre-wrap;word-wrap:break-word;margin:0;padding:12px;background:var(--inset);border-radius:var(--radius-sm);color:var(--ink)}.mail-body-wrap{position:relative}.mail-body-frame{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;display:block;transition:height 90ms ease-out}.mail-images-blocked{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:8px}.mail-atts{margin-top:12px}.mail-atts-label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:6px}.mail-atts-row{display:flex;flex-wrap:wrap;gap:8px}.mail-att{display:inline-flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--inset);max-width:100%}.mail-att-icon{font-size:15px;color:var(--muted)}.mail-att-meta{display:flex;flex-direction:column;min-width:0;margin-right:4px}.mail-att-name{font-size:12px;font-weight:600;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-att-size{font-size:11px;color:var(--muted)}@media(max-width:900px){.mail-split{grid-template-columns:1fr}.mail-list,.mail-reader{max-height:none}.mail-att-name{max-width:130px}}.mail-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:color-mix(in srgb,var(--app-bg) 88%,#000 12%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mail-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.mail-viewer-title{min-width:0;display:flex;flex-direction:column}.mail-viewer-title strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}.mail-viewer-sub{font-size:11px;color:var(--muted)}.mail-viewer-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mail-viewer-actions .btn{text-decoration:none}.mail-viewer-body{flex:1;min-height:0;display:grid;place-items:center;padding:14px}.mail-viewer-frame{width:100%;height:100%;border:0;border-radius:var(--radius-sm);background:#fff}.mail-viewer-img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-sm)}.mail-att.is-pdf .mail-att-icon{color:var(--danger)}.mail-att.is-image .mail-att-icon{color:var(--accent)}@media(max-width:900px){.mail-viewer-title strong{max-width:60vw}}.mail-chev{flex:0 0 auto;color:var(--muted);font-size:15px;line-height:1;transition:transform .12s ease;display:inline-block;width:10px}.mail-msg.is-open .mail-chev{transform:rotate(90deg)}.mail-reader-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mail-body-html{color:#111;font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:auto;word-wrap:break-word;overflow-wrap:break-word;contain:layout paint style}.mail-body-html img{max-width:100%;height:auto}.mail-body-html table{max-width:100%}.mail-body-html a{color:#0b57d0}.mail-body-html blockquote{margin:8px 0 8px 12px;padding-left:12px;border-left:3px solid #ddd;color:#555}.mail-body-html pre{white-space:pre-wrap;word-wrap:break-word}.mail-body-html img[data-blocked-src]{min-width:1px;min-height:1px}.mail-turn{margin:14px 0;display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.mail-turn.is-mine{align-items:flex-end}.mail-bubble{background:#fff;color:#111;border:1px solid var(--border);border-radius:14px;padding:11px 14px;max-width:min(78%,620px);box-shadow:var(--shadow);overflow-x:auto}.mail-turn.is-mine .mail-bubble{background:var(--accent-soft);border-color:transparent;border-bottom-right-radius:4px}.mail-turn:not(.is-mine) .mail-bubble{border-bottom-left-radius:4px}.mail-turn-meta{font-size:11px;color:var(--muted);margin:4px 2px 0}.mail-turn-cc{opacity:.8}.mail-turn .mail-atts-row{margin-top:7px;max-width:min(78%,620px)}.mail-turn.is-mine .mail-atts-row{justify-content:flex-end}.mail-bubble .mail-body-text{background:transparent;padding:0;color:inherit;font:13.5px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.mail-bubble .mail-body-html>*:first-child{margin-top:0}.mail-bubble .mail-body-html>*:last-child{margin-bottom:0}.mail-quoted{margin-top:8px}.mail-quoted-btn{display:inline-flex;align-items:center;gap:7px;background:#0000000d;border:0;border-radius:9px;padding:2px 9px;cursor:pointer;font:inherit;font-size:11px;color:#555}@media(hover:hover)and (pointer:fine){.mail-quoted-btn:hover{background:#0000001a}}.mail-dots{letter-spacing:1px;line-height:1}.mail-body-html.is-quoted,.mail-body-text.is-quoted{margin-top:8px;padding-top:8px;border-top:1px solid #e6e6e6;color:#555;font-size:13px}@media(max-width:900px){.mail-bubble,.mail-turn .mail-atts-row{max-width:92%}}.mail-reply{border-top:1px solid var(--divider);padding:12px 18px 16px;position:sticky;bottom:0;background:var(--panel)}.mail-reply-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.mail-reply-count{font-size:12px;color:var(--muted)}.mail-rcpts{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:8px}.mail-rcpt-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:1px}.mail-rcpt-label:not(:first-child){margin-left:6px}.mail-rcpt-none{font-size:12px;color:var(--muted)}.mail-rcpt{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid var(--border);border-radius:999px;padding:2px 7px 2px 9px;background:var(--inset);color:var(--ink);cursor:pointer;font:inherit;font-size:12px;line-height:1.7}@media(hover:hover)and (pointer:fine){.mail-rcpt:hover{border-color:var(--accent)}}.mail-rcpt.is-cc{background:transparent;color:var(--muted)}.mail-rcpt.is-off{opacity:.45;text-decoration:line-through}.mail-rcpt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.mail-rcpt-x{font-size:12px;color:var(--muted);line-height:1}@media(hover:hover)and (pointer:fine){.mail-rcpt:hover .mail-rcpt-x{color:var(--danger)}}.mail-rcpt.is-off .mail-rcpt-x{color:var(--accent-ink)}.mail-reply-all{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);white-space:nowrap;cursor:pointer}.mail-reply-input{width:100%;resize:vertical;min-height:62px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--inset);color:var(--ink);padding:10px 12px;font:13.5px/1.5 inherit}.mail-reply-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.mail-reply-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.mail-reply-note{font-size:11px;color:var(--muted)}.mail-reply-err{color:var(--danger)}.mail-reply-ok{color:var(--accent-ink);font-weight:600}.mail-file{margin-top:10px}.mail-file-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.mail-filed-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink)}.mail-tag.is-shared{background:var(--bill-soft, var(--inset));color:var(--bill, var(--muted))}.mail-file-hint{font-size:11px;color:var(--muted)}.mail-file-warn{margin-top:6px;font-size:12px;color:var(--muted);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px}.mail-file-panel{margin-top:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--inset);padding:10px}.mail-file-search{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);padding:7px 10px;font:inherit;font-size:13px}.mail-file-search:focus{outline:2px solid var(--accent);outline-offset:-1px}.mail-file-results{max-height:190px;overflow-y:auto;margin:8px 0}.mail-file-empty{font-size:12px;color:var(--muted);padding:10px 2px}.mail-file-job{display:flex;align-items:center;gap:8px;padding:5px 4px;cursor:pointer;border-radius:6px;font-size:13px}@media(hover:hover)and (pointer:fine){.mail-file-job:hover{background:var(--hover)}}.mail-file-jobid{font-family:var(--mono);font-size:12px}.mail-file-jobname{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-file-opt{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--ink);margin-top:7px;cursor:pointer;flex-wrap:wrap}.mail-file-sub{flex-basis:100%;margin-left:21px;font-size:11px;color:var(--muted)}.mail-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid var(--divider)}.mail-file-count{margin-right:auto;font-size:12px;color:var(--muted)}.mail-share-preview{margin-top:10px;padding-top:10px;border-top:1px solid var(--divider)}.mail-share-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;margin-bottom:7px}.mail-share-head span{color:var(--muted);font-size:11px}.mail-share-warn{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;line-height:1.45;color:var(--ink);background:var(--bill-soft, var(--inset));border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:8px}.mail-share-list{max-height:240px;overflow-y:auto}.mail-share-msg{display:flex;gap:8px;align-items:flex-start;padding:7px 6px;border-radius:6px;cursor:pointer;font-size:12px}@media(hover:hover)and (pointer:fine){.mail-share-msg:hover{background:var(--hover)}}.mail-share-msg.is-new{background:color-mix(in srgb,var(--danger) 7%,transparent)}.mail-share-msg.is-off{opacity:.45}.mail-share-msg.is-off .mail-share-snip{text-decoration:line-through}.mail-share-msg-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.mail-share-msg-top{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.mail-share-flag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--danger);border:1px solid var(--danger);border-radius:999px;padding:0 6px}.mail-share-date{margin-left:auto;font-size:11px;color:var(--muted)}.mail-share-snip{color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-share-atts{font-size:11px;color:var(--muted)}.corr-summary{font-size:12px;color:var(--muted);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--divider)}.corr-summary-warn{color:var(--danger);font-weight:600}.corr-timeline{display:flex;flex-direction:column;gap:8px}.corr-entry{border:1px solid var(--border);border-radius:8px;background:var(--panel);overflow:hidden}.corr-entry.is-notify{background:var(--inset)}.corr-entry.is-failed{border-color:var(--danger)}.corr-entry-head{display:flex;align-items:flex-start;gap:8px;padding:9px 11px}.corr-disclose{border:0;background:none;cursor:pointer;padding:0;color:var(--muted);font-size:12px;line-height:1.4;width:12px;flex:none}@media(hover:hover)and (pointer:fine){.corr-disclose:hover{color:var(--accent)}}.corr-entry-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.corr-entry-title strong{font-size:13px;line-height:1.35;word-break:break-word}.corr-meta{font-size:11px;color:var(--muted)}.corr-badges{display:flex;gap:5px;flex:none}.corr-badge{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border);border-radius:999px;padding:2px 7px;color:var(--muted);white-space:nowrap}.corr-badge.is-shared{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.corr-badge.is-sent{border-color:var(--ok, #1a7f4b);color:var(--ok, #1a7f4b)}.corr-badge.is-failed{border-color:var(--danger);color:var(--danger)}.corr-badge.is-hidden{border-style:dashed}.corr-alsofiled{padding:0 11px 8px 31px;font-size:11px;color:var(--muted)}.corr-alsofiled code{font-size:11px;background:var(--inset);border:1px solid var(--border);border-radius:3px;padding:1px 4px;margin-left:4px}.corr-messages{border-top:1px solid var(--divider);padding:4px 11px 10px 31px}.corr-msg{padding:9px 0}.corr-msg+.corr-msg{border-top:1px dashed var(--divider)}.corr-msg-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}.corr-msg-head strong{font-size:12px}.corr-msg-email{font-size:11px;color:var(--muted)}.corr-msg-body{font-size:13px;line-height:1.55;color:var(--ink);white-space:pre-wrap;word-break:break-word}.corr-error{font-size:12px;color:var(--danger);margin-top:5px}.corr-quoted-toggle{margin-top:6px;border:1px solid var(--border);border-radius:999px;background:var(--inset);color:var(--muted);cursor:pointer;font:inherit;font-size:11px;padding:1px 9px;line-height:1.7}@media(hover:hover)and (pointer:fine){.corr-quoted-toggle:hover{border-color:var(--accent);color:var(--accent-ink)}}.corr-msg-body.is-quoted{margin-top:6px;padding-left:9px;border-left:2px solid var(--divider);color:var(--muted);font-size:12px}.corr-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.corr-att{font-size:12px;color:var(--accent-ink);text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:2px 8px;background:var(--inset)}@media(hover:hover)and (pointer:fine){.corr-att:hover{border-color:var(--accent)}}.corr-att.is-missing{color:var(--muted);cursor:default;text-decoration:line-through}.cp-corr-thread{text-align:left;padding:10px 0}.cp-corr-thread+.cp-corr-thread{border-top:1px solid var(--divider)}.cp-corr-subject{font-size:13px;font-weight:700;margin-bottom:8px}.cp-corr-msg{margin-bottom:10px}.cp-corr-msg .cp-msg-bubble{max-width:100%}.cp-corr-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.cp-corr-att{font-size:11px;color:var(--muted)}.cp-corr-quoted{margin-top:6px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;padding:1px 9px}@media(hover:hover)and (pointer:fine){.cp-corr-quoted:hover{border-color:var(--primary);color:var(--primary)}}.cp-msg-bubble.is-quoted{margin-top:6px;background:transparent;border:1px solid var(--divider);color:var(--muted);font-size:12px}.corr-compose-open{margin-bottom:12px}.corr-compose-blocked{font-size:12px;color:var(--muted);margin-bottom:12px;border:1px dashed var(--border);border-radius:6px;padding:8px 10px}.corr-compose{border:1px solid var(--accent);border-radius:8px;padding:10px;margin-bottom:12px;background:var(--panel)}.corr-compose-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.corr-compose-to{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:8px}.corr-compose-subject,.corr-compose-body{width:100%;box-sizing:border-box;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:6px;padding:7px 9px;background:var(--inset);color:var(--ink);margin-bottom:8px}.corr-compose-body{resize:vertical;line-height:1.5}.corr-compose-subject:focus,.corr-compose-body:focus{outline:none;border-color:var(--accent)}.corr-compose-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.myweek-task.is-live{cursor:pointer}.myweek-taskinput{flex:none;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}.cl-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.cl-search{font:inherit;font-size:13px;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;width:320px}.cl-search:focus{outline:none;border-color:var(--accent)}.cl-flags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.cl-flag{display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:13px;font-weight:600;color:var(--ink2);background:var(--panel);cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}@media(hover:hover)and (pointer:fine){.cl-flag:hover{border-color:var(--accent)}}.cl-flag.is-on{border-color:var(--accent);color:var(--ink)}.cl-flag-act{font-weight:500;font-size:12px;color:var(--accent-ink)}.cl-unlinked{padding:16px 18px;margin-bottom:14px}.cl-note{font-size:12px;color:var(--ink3);line-height:1.5;margin:4px 0 12px}.cl-list{padding:0;overflow:hidden}.cl-row+.cl-row{border-top:1px solid var(--border)}.cl-row-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;background:transparent;border:0;cursor:pointer;padding:12px 16px}@media(hover:hover)and (pointer:fine){.cl-row-head:hover{background:var(--inset)}}.cl-row.is-open .cl-row-head{background:var(--inset)}.cl-caret{color:var(--ink2);font-size:14px;line-height:1;flex:none;width:14px}.cl-name{font-size:14px;font-weight:600;color:var(--ink);flex:1 1 auto;min-width:0}.cl-company{font-weight:400;color:var(--ink3)}.cl-meta{font-size:12px;color:var(--ink3);flex:none}.cl-contactbits{display:inline-flex;align-items:center;gap:6px;flex:none}.cl-has{color:var(--ink3);font-size:12px}.cl-gap{font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#b26a00;background:#d689101f;border:1px solid rgba(214,137,16,.35);border-radius:4px;padding:2px 5px}.cl-body{padding:4px 16px 18px 38px;display:flex;flex-direction:column;gap:16px}.cl-detail{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cl-dl{display:flex;flex-wrap:wrap;gap:18px 28px;margin:0}.cl-dl dt{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);margin-bottom:3px}.cl-dl dd{margin:0;font-size:13px;color:var(--ink)}.cl-empty{color:var(--ink3);font-size:13px;font-style:italic}.cl-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;width:100%}.cl-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ink2)}.cl-field>span{font-weight:600}.cl-field input,.cl-field select{font:inherit;font-size:13px;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;min-width:180px}.cl-form-actions{display:flex;gap:8px}.cl-btn{font:inherit;font-size:13px;font-weight:600;color:var(--ink2);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 13px;cursor:pointer}.cl-btn.primary{color:var(--accent-ink);background:var(--accent-soft)}.cl-btn:disabled{opacity:.45;cursor:default}.cl-err{font-size:12px;color:#c0392b;width:100%}.cl-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cl-subhead{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}.cl-joblist,.cl-contactlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.cl-joblist-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.cl-joblist li,.cl-contactlist li{font-size:13px;color:var(--ink2)}.cl-joblink{font-family:var(--mono);font-size:12px;color:var(--accent-ink);text-decoration:none}@media(hover:hover)and (pointer:fine){.cl-joblink:hover{text-decoration:underline}}.cl-jobphase,.cl-ct-role{color:var(--ink3);margin-left:8px}.cl-jobtotal{color:var(--ink2);margin-left:8px;font-variant-numeric:tabular-nums}.cl-jobaddr,.cl-ct-email{color:var(--ink3);font-size:12px;margin-top:2px}.cl-ct-name{color:var(--ink);font-weight:600}.cl-tag{font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink3);border:1px solid var(--border);border-radius:4px;padding:1px 4px;margin-left:6px}.cl-tag.ff{color:#8a6d1f;border-color:#be962880}.cl-tag.fe{color:#b4571b;border-color:#c8641e80}.cl-cols .contacts{margin-top:0;padding-top:0;border-top:0}.cl-cols .contacts .pay-form-title{font-size:11px;letter-spacing:1px;color:var(--ink3);margin:0 0 8px}@media(max-width:860px){.cl-search,.cl-tools{width:100%}.cl-cols{grid-template-columns:1fr}.cl-body{padding-left:16px}.cl-detail{flex-direction:column}}.rfi-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.rfi-search{font:inherit;font-size:13px;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;width:320px}.rfi-search:focus{outline:none;border-color:var(--accent)}.rfi-form{padding:16px 18px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px}.rfi-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.rfi-field{display:flex;flex-direction:column;gap:5px;flex:1 1 160px;min-width:0;position:relative}.rfi-field>span{font-family:var(--mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3)}.rfi-field>span em{font-style:normal;color:var(--ink3);opacity:.75;text-transform:none;letter-spacing:0}.rfi-field-req>span{color:var(--ink2)}.rfi-field-sm{flex:0 1 130px}.rfi-field-wide{flex:3 1 340px}.rfi-field-job{flex:1 1 240px}.rfi-field input,.rfi-field select,.rfi-field textarea{font:inherit;font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;width:100%}.rfi-field textarea{resize:vertical;line-height:1.5}.rfi-field input:focus,.rfi-field select:focus,.rfi-field textarea:focus{outline:none;border-color:var(--accent)}.rfi-jobpick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;min-height:36px}.rfi-jobpick input{border:0;background:transparent;padding:2px;flex:1 1 90px;min-width:90px}.rfi-jobpick input:focus{outline:none}.rfi-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;color:var(--accent-ink);background:var(--accent-soft);border-radius:4px;padding:2px 4px 2px 6px}.rfi-chip button{font:inherit;border:0;background:none;color:inherit;cursor:pointer;padding:0 2px}.rfi-joboptions{position:absolute;top:100%;left:0;right:0;z-index:20;margin:4px 0 0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.rfi-joboptions button{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;background:transparent;border:0;cursor:pointer;padding:6px 8px;border-radius:4px}@media(hover:hover)and (pointer:fine){.rfi-joboptions button:hover{background:var(--inset)}}.rfi-joboptions strong{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink)}.rfi-joboptions span{color:var(--ink3)}.rfi-save{font:inherit;font-size:13px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:9px 20px;cursor:pointer;flex:none}.rfi-save:disabled{opacity:.55;cursor:default}.rfi-err{font-size:13px;color:var(--bill)}.rfi-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.rfi-filtergroup{display:flex;flex-wrap:wrap;gap:6px}.rfi-filter{font:inherit;font-size:13px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer}@media(hover:hover)and (pointer:fine){.rfi-filter:hover{border-color:var(--accent)}}.rfi-filter.is-on{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.rfi-typefilter{font:inherit;font-size:13px;color:var(--ink2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px}.rfi-list{padding:0;overflow:hidden}.rfi-row+.rfi-row{border-top:1px solid var(--border)}.rfi-row-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;background:transparent;border:0;cursor:pointer;padding:11px 16px}.rfi-row.is-open .rfi-row-head{background:var(--inset)}@media(hover:hover)and (pointer:fine){.rfi-row-head:hover{background:var(--inset)}}.rfi-caret{color:var(--ink2);font-size:14px;line-height:1;flex:none;width:14px}.rfi-when{font-family:var(--mono);font-size:11px;color:var(--ink3);flex:none;width:58px}.rfi-tag{font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink2);background:var(--inset);border:1px solid var(--border);border-radius:4px;padding:2px 6px;flex:none;white-space:nowrap}.rfi-tag-building_dept{color:var(--ff);background:var(--ff-soft);border-color:#8a6a254d}.rfi-tag-new_business{color:var(--success);background:var(--success-soft);border-color:#1f8a5b4d}.rfi-who{font-size:13px;font-weight:600;color:var(--ink);flex:none;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfi-who em{font-style:normal;font-weight:400;color:var(--ink3)}.rfi-topic{font-size:12px;color:var(--ink2);flex:none}.rfi-summary{font-size:13px;color:var(--ink3);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfi-jobs{display:inline-flex;gap:4px;flex:none}.rfi-jobid{font-family:var(--mono);font-size:11px;color:var(--accent-ink);background:var(--accent-soft);border-radius:4px;padding:2px 5px}.rfi-status{font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:2px 6px;flex:none;white-space:nowrap;color:var(--ink3);background:var(--inset);border:1px solid var(--border)}.rfi-status-open{color:var(--bill);background:var(--bill-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.rfi-status-waiting{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.rfi-body{padding:4px 16px 16px 40px;background:var(--inset)}.rfi-detail-grid{display:flex;flex-wrap:wrap;gap:24px}.rfi-dl{margin:0;flex:1 1 240px;display:flex;flex-direction:column;gap:8px}.rfi-dl>div{display:flex;gap:10px;font-size:13px}.rfi-dl dt{font-family:var(--mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);flex:none;width:66px;padding-top:2px}.rfi-dl dd{margin:0;color:var(--ink)}.rfi-empty{color:var(--ink3)}.rfi-joblink{font-family:var(--mono);font-size:12px;color:var(--accent-ink);margin-right:6px}.rfi-notes{flex:2 1 320px;display:flex;flex-direction:column;gap:10px}.rfi-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}.rfi-statusbtn{font:inherit;font-size:12px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer}@media(hover:hover)and (pointer:fine){.rfi-statusbtn:hover{border-color:var(--accent)}}.rfi-statusbtn.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.rfi-delete{font:inherit;font-size:12px;color:var(--ink3);background:transparent;border:0;cursor:pointer;padding:6px 8px;margin-left:auto}@media(hover:hover)and (pointer:fine){.rfi-delete:hover{color:var(--bill)}}@media(max-width:860px){.rfi-search,.rfi-tools{width:100%}.rfi-form-row{flex-direction:column;align-items:stretch}.rfi-field,.rfi-field-sm,.rfi-field-wide,.rfi-field-job{flex:1 1 auto}.rfi-save{width:100%}.rfi-topic,.rfi-summary,.rfi-jobs{display:none}.rfi-body{padding-left:16px}.rfi-detail-grid{flex-direction:column;gap:14px}}.ff-group-totals{margin-left:auto;font-size:12px;font-weight:500;color:var(--ink3)}.ff-group-totals strong{color:var(--ink);font-weight:600}.ff-num{font-family:var(--mono);font-size:13px;color:var(--ink)}.ff-muted{color:var(--ink3)}.ff-rate{font-size:11px;color:var(--ink3);margin-left:6px;font-family:var(--ui)}.ff-needs{font-family:var(--ui);font-size:12px;color:var(--accent-ink)}.ff-planbit{font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ff-warnbit{font-family:var(--mono);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:4px;padding:2px 4px}.ff-flags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.ff-flag{display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:13px;font-weight:600;color:var(--ink2);background:var(--panel);cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}@media(hover:hover)and (pointer:fine){.ff-flag:hover{border-color:var(--accent)}}.ff-flag.is-on{border-color:var(--accent);color:var(--ink)}.ff-flag-act{font-weight:500;font-size:12px;color:var(--accent-ink)}.ff-btn{font:inherit;font-size:13px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer}@media(hover:hover)and (pointer:fine){.ff-btn:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}}.ff-btn:disabled{opacity:.5;cursor:default}.ff-btn-primary{color:#fff;background:var(--accent);border-color:var(--accent)}@media(hover:hover)and (pointer:fine){.ff-btn-primary:hover:not(:disabled){color:#fff}}.ff-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--divider)}.ff-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px}.ff-summary span{color:var(--ink3)}.ff-summary strong{font-family:var(--mono);color:var(--ink)}.ff-summary strong.warn{color:var(--warn)}.ff-summary strong.ok{color:var(--success)}.ff-h3{font-size:12px;font-weight:700;margin:20px 0 10px;color:var(--ink)}.ff-note{font-size:12px;line-height:1.55;color:var(--ink2);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:10px 0}.ff-note.warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.ff-setrow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.ff-field{display:flex;flex-direction:column;gap:5px;flex:1 1 140px;min-width:0}.ff-field-sm{flex:0 1 110px}.ff-field>span{font-family:var(--mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3)}.ff-field input,.ff-field select{font:inherit;font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;width:100%}.ff-field input:focus,.ff-field select:focus{outline:none;border-color:var(--accent)}.ff-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--ink3)}.ff-preview span{background:var(--inset);border-radius:4px;padding:3px 6px}.ff-plan{list-style:none;margin:0 0 12px;padding:0}.ff-plan li{display:flex;align-items:center;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--divider)}.ff-plan li.is-paid{color:var(--ink3)}.ff-plan li.is-paid .ff-plan-amt{text-decoration:line-through}.ff-plan-mark{color:var(--success);width:14px;flex:none}.ff-plan li:not(.is-paid) .ff-plan-mark{color:var(--ink3)}.ff-plan-when{flex:1 1 auto;color:var(--ink2)}.ff-plan-amt{font-family:var(--mono);font-weight:600;color:inherit}.ff-plan-state{font-size:11px;color:var(--ink3);width:92px;text-align:right;flex:none}.ff-due{list-style:none;margin:0;padding:0}.ff-due li{border-bottom:1px solid var(--divider)}.ff-due li.is-on{background:var(--accent-soft)}.ff-due-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;font-size:13px;background:transparent;border:0;cursor:pointer;padding:9px 6px}.ff-due-mark{flex:none;color:var(--accent-ink);font-size:14px}.ff-due-job{flex:1 1 auto;min-width:0;font-weight:600;color:var(--ink);display:flex;flex-direction:column;gap:1px}.ff-due-id{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--ink3)}.ff-due-when{font-size:11px;color:var(--ink3);flex:none}.ff-due-when.is-overdue{color:var(--bill);font-weight:600}.ff-due-amt{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink);flex:none;width:80px;text-align:right}.ff-due-amount{display:flex;align-items:center;gap:10px;padding:0 6px 10px 30px;font-size:12px}@media(max-width:900px){.ff-colhead,.ff-row{grid-template-columns:minmax(0,1.6fr) 100px 90px}.ff-colhead span:nth-child(4),.ff-colhead span:nth-child(5),.ff-colhead span:nth-child(6),.ff-row>div:nth-child(4),.ff-row>div:nth-child(5),.ff-row>div:nth-child(6){display:none}.ff-summary{grid-template-columns:1fr}.ff-group-totals{width:100%;margin-left:0}}.drawer-wide{width:min(760px,100vw)}.ffb-grouphead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ffb-link{font:inherit;font-size:12px;color:var(--accent-ink);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.ffb-recipients{font-size:12px;color:var(--ink2);margin:10px 0 4px}.ffb-count{font-size:12px;color:var(--ink3);margin-right:auto}.ffb-list{list-style:none;margin:0 0 8px;padding:0}.ffb-list li{border-bottom:1px solid var(--divider)}.ffb-list li.is-on{background:var(--accent-soft)}.ffb-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;font-size:13px;background:transparent;border:0;cursor:pointer;padding:8px 6px}.ffb-mark{flex:none;color:var(--accent-ink);font-size:14px}.ffb-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px;font-weight:600;color:var(--ink)}.ffb-addr{font-size:11px;font-weight:400;color:var(--ink3)}.ffb-stage{flex:none;width:130px;font-size:12px;color:var(--ink2)}.ffb-money{flex:none;width:84px;text-align:right;font-family:var(--mono);font-size:12px;color:var(--ink2)}.ffb-to{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--divider)}.ffb-label{font-family:var(--mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}.ffb-check{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 0;cursor:pointer}.ffb-check em{font-style:normal;color:var(--ink3)}.ffb-subject{font-size:13px;color:var(--ink);margin-bottom:10px}.ffb-preview{font-family:var(--mono);font-size:11px;line-height:1.55;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin:0;overflow-x:auto;white-space:pre}@media(max-width:860px){.ffb-stage,.ffb-money:first-of-type{display:none}.ffb-preview{font-size:11px}}.ff-delete{font:inherit;font-size:12px;color:var(--ink3);background:transparent;border:0;cursor:pointer;padding:6px 8px}@media(hover:hover)and (pointer:fine){.ff-delete:hover:not(:disabled){color:var(--bill)}}.ff-delete:disabled{opacity:.5;cursor:default}.ff-delete-left{margin-right:auto}.ff-confirm{font-size:13px;color:var(--ink2);margin-right:auto}.btn-danger{background:var(--bill);border-color:var(--bill);color:#fff}@media(hover:hover)and (pointer:fine){.btn-danger:hover{filter:brightness(.93)}}.ff-paylist{list-style:none;margin:0;padding:0}.ff-paylist li{display:flex;align-items:center;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--divider)}.ff-paylist .ff-plan-when{flex:1 1 auto}.fs-lead{margin-bottom:12px}.fs-card{padding:16px 18px;margin-bottom:12px}.fs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.fs-saved{font-size:11px;color:var(--success);flex:none}.fs-error{font-size:13px;color:var(--bill);background:var(--bill-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius-sm);padding:9px 12px;margin-bottom:12px}.fs-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.fs-list li{display:flex;align-items:center;gap:8px}.fs-list input{font:inherit;font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;flex:1 1 auto;min-width:0}.fs-list input:focus{outline:none;border-color:var(--accent)}.fs-list input:disabled{background:var(--inset);color:var(--ink3)}.fs-rowbtns{display:inline-flex;gap:2px;flex:none}.fs-rowbtns button{font:inherit;font-size:12px;color:var(--ink3);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;padding:4px 7px}@media(hover:hover)and (pointer:fine){.fs-rowbtns button:hover:not(:disabled){color:var(--ink);background:var(--inset)}}.fs-rowbtns button:disabled{opacity:.3;cursor:default}@media(hover:hover)and (pointer:fine){.fs-rowbtns .fs-x:hover{color:var(--bill)}}.fs-actions{display:flex;align-items:center;gap:8px}.fs-spacer{flex:1 1 auto}.fs-inline{display:flex;align-items:center;gap:8px}.fs-inline input{font:inherit;font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;width:90px}.fs-unit{font-size:13px;color:var(--ink2)}.fs-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.fs-field{display:flex;flex-direction:column;gap:5px;flex:0 1 150px}.fs-field>span{font-family:var(--mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3)}.fs-field input{font:inherit;font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;width:100%}.fs-field input:disabled{background:var(--inset);color:var(--ink3)}.skel{display:block;height:12px;border-radius:6px;background:var(--inset);animation:skel-pulse 1.4s ease-in-out infinite}.skel-short{width:18%}.skel-cap{width:40%;height:10px;margin-bottom:14px}.skel-big{width:62%;height:24px;margin-bottom:14px}.skel-list{padding:6px 18px;margin-top:14px}.skel-row{display:flex;align-items:center;justify-content:space-between;gap:16px;height:44px;border-bottom:1px solid var(--divider)}.skel-row:last-child{border-bottom:none}@keyframes skel-pulse{50%{opacity:.45}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.days-late{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;padding:0 6px;border-radius:5px;background:var(--bill-soft);color:var(--danger)}.gap-notice strong{font-weight:600}.sv-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow-x:auto}.sv{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:12.5px}.sv-c-id{width:15%}.sv-c-corr{width:19%}.sv-c-addr{width:12%}.sv-c-contact{width:15%}.sv-c-fin{width:16%}.sv-c-notes{width:11%}.sv-c-phase{width:9%}.sv-c-days{width:3.2rem}.sv thead th{position:sticky;top:0;z-index:2;background:var(--inset);text-align:left;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--ink3);padding:8px 10px;border-bottom:1px solid var(--border)}.sv th.num,.sv td.num{text-align:right}.sv-banner td{background:var(--inset);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink2);padding:7px 10px}.sv-banner-count{margin-left:10px;font-weight:500;color:var(--ink3);letter-spacing:0}.sv-none td{padding:8px 10px;color:var(--ink3);font-style:italic;font-size:12px;border-bottom:1px solid var(--divider)}.sv-row td{vertical-align:top;border-bottom:1px solid var(--divider)}.sv-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sv-row:focus-within{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}.sv-cell,.sv-id{padding:7px 10px;line-height:1.4;overflow-wrap:break-word}.sv-id{cursor:pointer}.sv-idtext{font-family:var(--mono);font-weight:600;color:var(--ink);overflow-wrap:break-word}@media(hover:hover)and (pointer:fine){.sv-id:hover .sv-idtext{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}}.sv-flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.sv-flags .badge{margin:0}.sv-text{white-space:pre-line;color:var(--ink)}.sv-sub{color:var(--ink2);font-size:11.5px;overflow-wrap:anywhere}.sv-empty{color:var(--ink3)}.sv-cell.is-editable{cursor:text}@media(hover:hover)and (pointer:fine){.sv-cell.is-editable:hover{box-shadow:inset 0 0 0 1px var(--border);background:var(--panel)}}.sv-cell.is-editing{padding:3px}.sv-input{width:100%;font:inherit;font-size:13px;line-height:1.4;color:var(--ink);background:var(--panel);border:2px solid var(--accent);border-radius:6px;padding:4px 7px;resize:vertical;min-height:30px}.sv-corr .sv-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.sv-finlines{display:flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:11.5px;overflow-wrap:anywhere}.sv-fin-paid{color:var(--ink2)}.sv-fin-owed{color:var(--ink);font-weight:600}.sv-fin-settled{color:var(--success)}.sv-fin-missing{color:var(--ink3);font-family:var(--ui)}.sv-phase select{width:100%;font:inherit;font-size:12px;color:var(--ink2);background:transparent;border:1px solid transparent;border-radius:6px;padding:2px 4px;cursor:pointer}@media(hover:hover)and (pointer:fine){.sv-phase select:hover{border-color:var(--border);background:var(--panel)}}.sv-days{font-family:var(--mono);font-size:12px;color:var(--ink3)}.sv-help{padding:9px 12px;border-top:1px solid var(--divider);font-size:12px;color:var(--ink3)}.sv-help kbd,.jp-ladder-more kbd{font-family:var(--mono);font-size:11px;padding:0 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--panel);color:var(--ink2)}.ss-host{display:flex;flex-direction:column;min-height:100%}.ss-bar{display:flex;align-items:center;gap:20px;padding:22px 32px 0;max-width:1320px;width:100%;margin:0 auto}.ss-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px}.ss-seg{display:inline-flex;gap:2px;padding:3px;background:var(--inset);border:1px solid var(--border);border-radius:10px}.ss-item{padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;color:var(--ink2);text-decoration:none;min-height:32px;display:inline-flex;align-items:center;gap:6px}.ss-item.is-on{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0000001f}.ss-count{font-family:var(--mono);font-size:11px;color:var(--ink3)}.ss-host>.page,.ss-host>*>.page{padding-top:16px;width:100%;min-width:0}.ss-host>*{min-width:0}.ss-host>.page>.page-head .greeting{font-size:15px;font-weight:600;letter-spacing:0;color:var(--ink2)}.tpl-card{min-height:120px}.td-desktop{max-width:1320px}.td-desktop .td-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}.td-side{display:flex;flex-direction:column;gap:20px;min-width:0}.td-side .grid-2{grid-template-columns:1fr}.td-count{font-size:13px;font-weight:600;color:var(--ink);background:var(--inset);border:1px solid var(--border);border-radius:99px;padding:0 9px;min-width:2.2em;text-align:center}@media(max-width:1100px){.td-desktop .td-cols{grid-template-columns:1fr}}.cl-actions{display:flex;gap:8px;flex-wrap:wrap}a.cl-btn{text-decoration:none;display:inline-flex;align-items:center}.jp{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100%}.jp.is-phone{grid-template-columns:minmax(0,1fr)}.jp-list-pane{border-right:1px solid var(--border);background:var(--app-bg);overflow-y:auto;max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);position:sticky;top:0}.jp-list-head{display:flex;align-items:baseline;justify-content:space-between;padding:16px 16px 8px}.jp-back{font-size:13px;color:var(--accent-ink);text-decoration:none;font-weight:600;min-height:32px;display:inline-flex;align-items:center}.jp-list-tab{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3)}.jp-group-head{display:flex;justify-content:space-between;padding:12px 16px 4px;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3)}.jp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;padding:8px 16px 8px 13px;border-left:3px solid transparent;text-decoration:none;color:inherit}@media(hover:hover)and (pointer:fine){.jp-row:hover{background:var(--inset)}}.jp-row.is-on{background:var(--panel);border-left-color:var(--accent)}.jp-row-id{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink);overflow-wrap:break-word;min-width:0}.jp-row-amt{font-family:var(--mono);font-size:12px;text-align:right;color:var(--ink2)}.jp-row-who{font-size:12px;color:var(--ink2)}.jp-row-days{font-family:var(--mono);font-size:11px;color:var(--ink3);text-align:right}.jp-detail{min-width:0;background:var(--panel)}.jp-head{padding:22px 32px 16px;display:flex;flex-direction:column;gap:14px;border-bottom:1px solid var(--border)}.jp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.jp-title{min-width:0;display:flex;flex-direction:column;gap:4px}.jp-id{margin:0;font-family:var(--mono);font-size:22px;font-weight:600;letter-spacing:-.3px;overflow-wrap:anywhere}.jp-sub{color:var(--ink2);font-size:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.jp-sub .badge{margin:0}.jp-actions{display:flex;gap:8px;flex-wrap:wrap}a.btn{text-decoration:none;display:inline-flex;align-items:center}.jp-ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.jp-rung button{width:100%;display:flex;flex-direction:column;gap:6px;padding:4px 0 2px;border:0;background:none;text-align:left;color:var(--ink3);font-size:11px;line-height:1.25;cursor:pointer;min-height:44px}.jp-rung button:disabled{cursor:default}.jp-rung-bar{display:block;height:5px;border-radius:3px;background:var(--border)}.jp-rung.is-done .jp-rung-bar{background:var(--ink3)}.jp-rung.is-now .jp-rung-bar{background:var(--accent)}.jp-rung.is-now button{color:var(--accent-ink);font-weight:600}@media(hover:hover)and (pointer:fine){.jp-rung button:not(:disabled):hover .jp-rung-bar{background:var(--ink2)}.jp-rung button:not(:disabled):hover{color:var(--ink)}}.jp-ladder-more{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:-6px}.jp-ladder-more select{font:inherit;font-size:12px;color:var(--ink2);background:var(--panel);border:1px solid var(--border);border-radius:7px;padding:4px 8px}.jp-confirm{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);color:var(--ink);font-size:13px}.jp-confirm-btns{display:flex;gap:8px}.jp-money{margin:0;display:flex;gap:32px;flex-wrap:wrap}.jp-money div{display:flex;flex-direction:column;gap:2px}.jp-money dt{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink3)}.jp-money dd{margin:0;font-family:var(--mono);font-size:18px;font-weight:600;color:var(--ink)}.jp-money dd.is-late{color:var(--danger)}.jp-sections{display:flex;gap:22px;padding:0 32px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:4;background:color-mix(in srgb,var(--panel) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.jp-section{border:0;background:none;padding:12px 0;font-size:14px;color:var(--ink2);box-shadow:inset 0 -2px transparent;min-height:44px}.jp-section.is-on{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px var(--accent)}.jp-body{padding:20px 32px 64px;display:flex;flex-direction:column;gap:16px;max-width:980px}.jp-h2{margin:18px 0 0;font-size:13px;font-family:var(--mono);font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--ink3)}.jp-empty,.jp-muted{color:var(--ink2);font-size:14px}.jp-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.jp-ev{display:grid;grid-template-columns:6.5rem 1.6rem minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--divider);align-items:start}.jp-ev-date{font-size:12px;color:var(--ink3);padding-top:2px}.jp-ev-glyph{width:24px;height:24px;border-radius:7px;background:var(--inset);color:var(--ink2);display:grid;place-items:center;font-size:12px}.jp-ev-payment .jp-ev-glyph{background:var(--success-soft);color:var(--success)}.jp-ev-call .jp-ev-glyph{background:var(--accent-soft);color:var(--accent-ink)}.jp-ev-text{display:flex;flex-direction:column;gap:2px;font-size:14px;min-width:0}.jp-ev-text strong{font-weight:600}.jp-ev-detail{color:var(--ink2);white-space:pre-line;overflow-wrap:break-word}.jp-embed>.drawer-body,.jp-embed>div{padding-left:0;padding-right:0}.jp-editor .drawer-body{padding:0;max-height:none;overflow:visible}.jp-editor .drawer-foot{position:sticky;bottom:0;padding:12px 0;background:var(--panel);border-top:1px solid var(--border)}.jp-files{display:flex;flex-direction:column;gap:14px}.jp-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:var(--panel)}.jp-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.jp-card-head h3{margin:0;font-size:15px;font-weight:600}.jp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.jp-list li{display:flex;justify-content:space-between;gap:10px}@media(max-width:760px){.jp-head{padding:12px 16px 14px}.jp-id{font-size:18px}.jp-ladder{grid-template-columns:repeat(9,minmax(0,1fr))}.jp-rung-label{display:none}.jp-rung.is-now .jp-rung-label{display:block;position:absolute}.jp-rung{position:relative}.jp-ladder{margin-bottom:4px}.jp-rung button{min-height:30px}.jp-ladder-more{margin-top:0;justify-content:flex-start}.jp-money{gap:18px}.jp-money dd{font-size:15px}.jp-sections{padding:0 16px;gap:16px;overflow-x:auto}.jp-body{padding:16px 16px 96px}.jp-ev{grid-template-columns:4.6rem 1.6rem minmax(0,1fr)}.ss-bar{padding:16px 16px 0;gap:12px;flex-wrap:wrap}}.rm-toast{font-family:var(--ui)!important;font-size:13px!important;color:var(--ink)!important;background:color-mix(in srgb,var(--panel) 92%,transparent)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:0 10px 30px -12px #00000059!important}.rm-toast [data-button]{background:var(--accent)!important;color:#fff!important;font-weight:600!important;border-radius:7px!important}@media(max-width:760px){.mobile-tabbar{background:color-mix(in srgb,var(--panel) 80%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}.mobile-topbar{background:color-mix(in srgb,var(--panel) 85%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}}@media(prefers-reduced-transparency:reduce){.mobile-tabbar,.mobile-topbar,.jp-sections,.rm-toast{background:var(--panel)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}.sv-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--phase, var(--ink3));margin-right:9px;vertical-align:1px}.job-card-overlay{transform:scale(1.02);box-shadow:0 18px 40px -16px #00000073;border-radius:var(--radius-sm)}.move-opt{width:100%;min-height:48px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:16px;padding:0 14px;display:flex;justify-content:space-between;align-items:center}.move-opt.is-current{border-color:var(--accent);color:var(--accent-ink);font-weight:600}.sv-input:focus-visible{outline:none}.jp-rung-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card-days{margin-top:4px;font-family:var(--mono);font-size:11px;color:var(--ink3)}
