@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";.license-gate{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-base)}.license-card{width:100%;max-width:420px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);padding:28px 26px;text-align:center;box-shadow:0 12px 40px #0006}.license-logo{width:64px;height:64px;object-fit:contain;margin-bottom:10px}.license-title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text-primary)}.license-sub{font-size:var(--fs-sm);color:var(--text-secondary);margin:6px 0 18px;line-height:1.5}.license-field{display:block;text-align:left;margin-bottom:12px}.license-field span{display:block;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px}.license-field input{width:100%;height:38px;padding:0 12px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--fs-base);letter-spacing:.05em}.license-field input:focus{outline:none;border-color:var(--accent)}.license-error{color:var(--text-danger);font-size:var(--fs-sm);margin:0 0 12px;text-align:left}.license-activate{width:100%;height:40px;margin-bottom:12px}.license-links{display:flex;justify-content:center;margin-bottom:10px}.license-foot{font-size:11px;color:var(--text-tertiary);margin:0}.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-3);align-items:start}.dash-grid .card+.card{margin-top:0}.dash-kpis{grid-column:1 / -1}.dash-col-4{grid-column:span 4}.dash-col-8{grid-column:span 8}@media (max-width: 1350px){.dash-col-4{grid-column:span 6}.dash-col-8{grid-column:span 12}}@media (max-width: 950px){.dash-col-4,.dash-col-8{grid-column:span 12}}.kpi.clickable{cursor:pointer;transition:border-color .12s,background .12s}.kpi.clickable:hover{border-color:var(--accent-dim);background:var(--bg-hover)}.dash-card-head{display:flex;align-items:center;gap:6px;margin-bottom:var(--sp-2);color:var(--text-tertiary)}.dash-card-head .card-label{margin-bottom:0}.dash-card-head .head-count{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.dash-list{max-height:320px;overflow-y:auto}.funnel-row{display:grid;grid-template-columns:126px 1fr 30px;gap:8px;align-items:center;padding:3px 0;font-size:11px}.funnel-stage{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.funnel-track{height:14px;background:var(--bg-input);border:1px solid var(--border);border-radius:2px;overflow:hidden}.funnel-fill{height:100%;background:linear-gradient(180deg,#f2b53d,#b5780c);box-shadow:0 0 6px #e8a31766;border-radius:1px;transition:width .25s}.funnel-count{font-family:var(--font-mono);text-align:right;color:var(--text-primary)}.funnel-count.zero{color:var(--text-tertiary)}.act-row{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.act-row:last-child{border-bottom:none}.act-time{flex:0 0 58px;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);padding-top:2px;white-space:nowrap}.act-badge{flex:0 0 auto}.act-text{flex:1;color:var(--text-secondary);line-height:1.35}.act-text.link{cursor:pointer}.act-text.link:hover{color:var(--text-accent)}.meet-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm);min-width:0}.meet-row:last-child{border-bottom:none}.meet-when{flex:0 0 122px;font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);white-space:nowrap}.user-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;border:1px solid rgba(0,0,0,.4)}.meet-title{font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meet-co{margin-left:auto;color:var(--text-tertiary);font-size:var(--fs-caption);white-space:nowrap}.attn-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer}.attn-row:last-child{border-bottom:none}.attn-row:hover{color:var(--text-primary)}.attn-row svg{flex:0 0 14px}.attn-row .attn-text{flex:1;line-height:1.35}.attn-row .chev{color:var(--text-tertiary);flex:0 0 12px}.attn-tone-danger svg:first-child{color:var(--text-danger)}.attn-tone-warn svg:first-child{color:var(--text-warning)}.attn-tone-info svg:first-child{color:var(--text-accent-2)}.attn-clear{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:var(--fs-sm);color:var(--text-success)}.dash-empty{padding:12px 0;font-size:var(--fs-sm);color:var(--text-tertiary)}.ovw-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3);align-items:start}.ovw-col{min-width:0}.ovw-card-head{display:flex;align-items:center}.ovw-card-head .spacer{flex:1}.info-rows{display:grid;grid-template-columns:110px minmax(0,1fr);row-gap:6px;column-gap:10px;font-size:var(--fs-sm)}.info-rows dt{color:var(--text-tertiary);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding-top:2px}.info-rows dd{margin:0;min-width:0;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;color:var(--text-primary)}.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-hover);border:1px solid var(--border);border-radius:12px;padding:2px 4px 2px 10px;font-size:var(--fs-sm);line-height:1.6}.chip .chip-sub{color:var(--text-tertiary)}.chip .chip-x{width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.chip .chip-x:hover{background:var(--bg-active);color:var(--text-danger)}.mini-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.mini-table th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding:4px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.mini-table td{padding:4px 8px;border-bottom:1px solid var(--border);vertical-align:middle;-webkit-user-select:text;user-select:text}.mini-table .num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.mini-table tr.total-row td{border-bottom:none;font-weight:600;color:var(--text-accent)}.usage-add-row{display:flex;gap:var(--sp-2);align-items:flex-end;margin-top:var(--sp-2);flex-wrap:wrap}.usage-add-row .field{flex:0 0 auto}.usage-add-row .field.grow{flex:1 1 140px}.ovw-activity{display:flex;flex-direction:column;gap:6px}.ovw-activity .act-item{display:flex;gap:8px;align-items:baseline;font-size:var(--fs-sm);border-bottom:1px solid var(--border);padding-bottom:5px}.ovw-activity .act-item:last-child{border-bottom:none;padding-bottom:0}.ovw-activity .act-when{flex:0 0 64px;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);white-space:nowrap}.ovw-activity .act-text{min-width:0;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.file-draft{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);background:var(--bg-raised)}.file-draft-name{display:flex;align-items:baseline;gap:8px;margin-bottom:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.file-draft-name .fd-size{color:var(--text-tertiary);font-family:var(--font-mono);font-size:10px}.file-draft-grid{display:grid;grid-template-columns:1.3fr 1fr .7fr 1fr 1.4fr;gap:var(--sp-2)}.delivery-toolbar{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap}.delivery-hint{font-size:var(--fs-caption);color:var(--text-tertiary)}.email-list{display:flex;flex-direction:column;gap:var(--sp-2)}.email-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);overflow:hidden}.email-row-head{display:flex;align-items:center;gap:var(--sp-3);padding:8px 12px;cursor:pointer}.email-row-head:hover{background:var(--bg-hover)}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 5px #e8a31799;flex:0 0 8px}.read-dot{width:8px;height:8px;flex:0 0 8px}.email-from{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.email-subject{font-size:var(--fs-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-row.unread .email-subject{font-weight:var(--fw-semibold);color:var(--text-primary)}.email-meta{font-size:var(--fs-caption);color:var(--text-tertiary);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.email-body{padding:10px 14px 12px 33px;border-top:1px solid var(--border);white-space:pre-wrap;font-size:var(--fs-sm);color:var(--text-primary);-webkit-user-select:text;user-select:text;line-height:1.5}.attach-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px 33px}.attach-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;height:auto;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer}.attach-chip:disabled{opacity:.55;cursor:default}.attach-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.file-section{margin-bottom:var(--sp-4)}.file-section-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.file-section-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.file-section-count{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-tertiary)}.callout{border:1px solid rgba(232,163,23,.4);background:#e8a31712;border-radius:var(--radius-md);padding:var(--sp-3);margin-bottom:var(--sp-4)}.callout-title{display:flex;align-items:center;gap:8px;font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--text-accent);margin-bottom:4px}.callout-email{padding:8px 0 4px;border-top:1px solid var(--border);margin-top:6px}.callout-email-subject{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.callout-att{display:flex;align-items:center;gap:8px;margin:6px 0 0 14px;font-size:var(--fs-sm);flex-wrap:wrap}.callout-att select{width:auto}.scan-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.scan-row:last-child{border-bottom:none}.scan-row input[type=checkbox],.scan-row select{width:auto}.scan-row .file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);align-items:start}.fs-grid .full{grid-column:1 / -1}.check-list{display:flex;flex-direction:column;gap:2px}.check-item{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);padding:3px 6px;border-radius:4px}.check-item:hover{background:var(--bg-hover)}.check-item.done{color:var(--text-tertiary)}.check-item.done .check-text{text-decoration:line-through}.check-item .check-text{flex:1;min-width:0;-webkit-user-select:text;user-select:text}.check-item input[type=checkbox]{width:auto;accent-color:var(--accent)}.check-add{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.check-add input{flex:1}.fs-contact-line{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);flex-wrap:wrap}.quotes-table td{vertical-align:middle}.quotes-table .q-old-rev td{background:#ffffff04}.q-actions{display:inline-flex;align-items:center;gap:2px;justify-content:flex-end;width:100%}.q-actions button{height:22px;font-size:11px;padding:0 7px}.q-actions .icon-btn{width:24px;padding:0}.q-won-btn{color:var(--text-success)}.q-lost-btn{color:var(--text-danger)}.quote-won-hint{display:flex;align-items:center;gap:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.35);color:var(--text-success);border-radius:4px;padding:6px 10px;margin-bottom:10px;font-size:12px}.quote-won-hint strong{color:inherit}.quote-won-hint button{height:22px;font-size:11px}.quote-editor{display:flex;flex-direction:column;gap:10px}.qe-topbar{margin-bottom:0}.qe-number{font-size:13px;font-weight:600}.qe-head-card{padding:10px 12px}.qe-head-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-3, 10px)}.qe-head-grid .field label{font-size:10px}.qe-contact-row{display:flex;align-items:center;gap:2px}.qe-contact-btn{height:28px;font-size:12px;padding:0 8px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qe-grid-toolbar{margin:0}.qe-grid-toolbar button{height:24px;font-size:11px;padding:0 8px}.qe-grid-wrap{max-height:calc(100vh - 420px);min-height:220px;overflow:auto}.quote-grid th{white-space:nowrap}.quote-grid td{padding:1px 3px}.quote-grid input{width:100%;height:24px;font-size:12px;padding:2px 6px;background:transparent;border:1px solid transparent;border-radius:3px}.quote-grid input:hover{border-color:var(--border)}.quote-grid input:focus{border-color:var(--border-focus);background:var(--bg-raised)}.quote-grid input.num-in{text-align:right;font-family:var(--font-mono)}.quote-grid input[type=number]::-webkit-outer-spin-button,.quote-grid input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qe-ext{white-space:nowrap}.qe-row-header input{font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-accent-2)}.qe-row-text input{font-style:italic;color:var(--text-secondary)}.qe-row-ops{display:inline-flex;gap:1px;justify-content:flex-end;width:100%}.qe-row-ops .icon-btn{width:22px;height:22px;font-size:11px}.qe-row-ops .icon-btn:disabled{opacity:.25}.print-toggle{width:24px;height:22px;opacity:.3}.print-toggle.on{opacity:1;color:var(--text-accent)}.qe-foot{display:flex;align-items:center;gap:12px;padding:2px 2px 0}.qe-totals{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;justify-content:flex-end}.qe-tot{display:flex;align-items:baseline;gap:7px}.qe-tot span{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.qe-tot strong{font-size:13px}.qe-tot-grand strong{font-size:16px;color:var(--text-accent)}.part-search{position:relative}.part-search-pop{position:absolute;top:100%;left:0;z-index:60;min-width:380px;max-height:260px;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--border-light);border-radius:4px;box-shadow:0 10px 28px #00000073;padding:3px}.part-opt{display:flex;align-items:baseline;gap:8px;width:100%;height:auto;text-align:left;padding:4px 8px;background:none;border:none;border-radius:3px;cursor:pointer}.part-opt:hover{background:var(--bg-hover);border:none}.part-opt .po-part{flex:none;font-size:12px;color:var(--text-accent)}.part-opt .po-desc{font-size:11px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-doc{background:#fff;color:#16202b;width:720px;max-width:100%;padding:34px 40px;border-radius:3px;font-size:12.5px;line-height:1.45}.quote-doc .qd-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #e8a317;padding-bottom:14px;margin-bottom:18px}.quote-doc .qd-co{font-size:19px;font-weight:700;letter-spacing:.02em}.quote-doc .qd-co-sub{font-size:11px;color:#5c6672;margin-top:2px}.quote-doc .qd-title{font-size:26px;font-weight:800;letter-spacing:.12em;color:#6e8ca0}.quote-doc .qd-meta{display:grid;grid-template-columns:repeat(4,auto);gap:6px 30px;margin-bottom:16px;justify-content:start}.quote-doc .qd-meta span,.quote-doc .qd-billto>span,.quote-doc .qd-notes>span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8c96a2;margin-bottom:2px}.quote-doc .qd-parties{display:flex;gap:40px;margin-bottom:6px}.quote-doc .qd-billto{margin-bottom:12px}.quote-doc .qd-contact{font-size:11.5px;color:#5c6672}.quote-doc table.qd-table{width:100%;border-collapse:collapse;margin:6px 0 14px}.quote-doc .qd-table th{text-align:left;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8c96a2;border-bottom:2px solid #d7dce2;padding:4px 6px}.quote-doc .qd-table td{padding:4px 6px;border-bottom:1px solid #e8ecf0;vertical-align:top;word-break:break-word}.quote-doc .qd-table .num{text-align:right;font-variant-numeric:tabular-nums}.quote-doc .qd-table th.num{text-align:right}.quote-doc .qd-header-row td{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px;color:#2c3a49;padding-top:12px;border-bottom:1px solid #b9c2cb}.quote-doc .qd-text-row td{font-style:italic;color:#5c6672}.quote-doc .qd-total{display:flex;justify-content:flex-end;align-items:baseline;gap:16px;margin-bottom:16px}.quote-doc .qd-total span{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8c96a2}.quote-doc .qd-total strong{font-size:20px}.quote-doc .qd-notes{margin-bottom:16px;white-space:pre-wrap}.quote-doc .qd-foot{border-top:1px solid #d7dce2;padding-top:10px;font-size:10.5px;color:#5c6672;text-align:center}.quote-doc .mono{font-family:var(--font-mono)}@media print{body *{visibility:hidden!important}.quote-print,.quote-print *{visibility:visible!important}html,body,#root,.app-root,.app-body,.app-main,.page,.page-body,.modal-overlay,.modal,.modal-body{position:static!important;display:block!important;overflow:visible!important;height:auto!important;max-height:none!important;max-width:none!important;min-width:0!important}.quote-print{position:absolute!important;left:0;top:0;width:100%!important;margin:0!important;padding:0 10px;border-radius:0!important;box-shadow:none!important;z-index:2147483647}}.commerce-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.commerce-info{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-tertiary);background:var(--bg-raised, rgba(255,255,255,.03));border:1px solid var(--border);border-radius:4px;padding:4px 10px}.doc-section{margin-bottom:18px}.doc-section-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 6px 2px;display:flex;align-items:baseline;gap:8px}.doc-section-title .count{color:var(--text-tertiary);font-weight:400}.doc-file{display:inline-flex;align-items:center;gap:7px}.doc-file svg{flex:none;color:var(--text-tertiary)}.doc-actions{display:inline-flex;gap:2px;justify-content:flex-end}.row-select{height:22px;font-size:11px;padding:0 4px;max-width:130px}.cell-danger{color:var(--text-danger, #f87171);font-weight:600}.track-link{background:none;border:none;padding:0;height:auto;font-family:var(--font-mono);font-size:12px;color:var(--text-accent-2);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.track-link:hover{color:var(--text-accent);background:none}.order-pipe{display:inline-flex;align-items:center;gap:2px}.order-pipe .pipe-seg{border:1px solid var(--border);background:transparent;color:var(--text-tertiary);font-size:9.5px;font-weight:600;letter-spacing:.04em;line-height:1;padding:4px 6px 3px;height:auto;border-radius:2px;cursor:pointer}.order-pipe .pipe-seg:hover{border-color:var(--text-accent);color:var(--text-primary);background:var(--bg-hover)}.order-pipe .pipe-seg.lit{background:#f2b53d24;border-color:#f2b53d59;color:var(--text-accent)}.order-pipe .pipe-seg.current{background:var(--accent, #E8A317);border-color:var(--accent, #E8A317);color:#1a1a1a}.order-pipe .pipe-seg.hold{margin-left:6px}.order-pipe .pipe-seg.hold.current{background:#ef4444cc;border-color:#ef4444cc;color:#fff}.invoice-doc{background:#fff;color:#16202b;width:660px;max-width:100%;padding:34px 40px;border-radius:3px;font-size:13px;line-height:1.45}.invoice-doc .inv-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #E8A317;padding-bottom:14px;margin-bottom:18px}.invoice-doc .inv-co{font-size:19px;font-weight:700;letter-spacing:.02em}.invoice-doc .inv-co-sub{font-size:11px;color:#5c6672;margin-top:2px}.invoice-doc .inv-title{font-size:26px;font-weight:800;letter-spacing:.12em;color:#6e8ca0}.invoice-doc .inv-meta{display:grid;grid-template-columns:repeat(3,auto);gap:6px 34px;margin-bottom:18px;justify-content:start}.invoice-doc .inv-meta span,.invoice-doc .inv-billto>span,.invoice-doc .inv-notes>span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8c96a2;margin-bottom:2px}.invoice-doc .inv-billto{margin-bottom:18px;white-space:pre-wrap}.invoice-doc .inv-lines{border-top:1px solid #d7dce2;border-bottom:1px solid #d7dce2;padding:12px 0;margin-bottom:14px}.invoice-doc .inv-lines pre{margin:0;font-family:inherit;white-space:pre-wrap;word-break:break-word}.invoice-doc .inv-total{display:flex;justify-content:flex-end;align-items:baseline;gap:16px;margin-bottom:18px}.invoice-doc .inv-total span{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8c96a2}.invoice-doc .inv-total strong{font-size:21px}.invoice-doc .inv-notes{margin-bottom:18px;white-space:pre-wrap}.invoice-doc .inv-foot{border-top:1px solid #d7dce2;padding-top:10px;font-size:11px;color:#5c6672;text-align:center}@media print{body *{visibility:hidden!important}.invoice-print,.invoice-print *{visibility:visible!important}html,body,#root,.app-root,.app-body,.app-main,.page,.page-body,.modal-overlay,.modal,.modal-body{position:static!important;display:block!important;overflow:visible!important;height:auto!important;max-height:none!important;max-width:none!important;min-width:0!important}.invoice-print{position:absolute!important;left:0;top:0;width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important;z-index:2147483647}}.val-banner{display:flex;align-items:flex-start;gap:9px;border:1px solid;border-radius:4px;padding:8px 12px;font-size:12.5px;margin-bottom:10px}.val-banner svg{flex:none;margin-top:1px}.val-banner.pass{border-color:#10b98166;background:#10b98114;color:var(--text-success, #34d399)}.val-banner.fail{border-color:#ef444466;background:#ef444412;color:var(--text-danger, #f87171)}.val-banner .val-title{font-weight:600}.val-banner .val-sub{color:var(--text-secondary);font-size:11.5px;margin-top:2px}.anomaly-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.anomaly-table th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding:4px 8px;border-bottom:1px solid var(--border)}.anomaly-table td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-primary)}.anomaly-table td.mono{font-family:var(--font-mono)}.anomaly-tag{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:#ef444424;color:var(--text-danger, #f87171);white-space:nowrap}.anomaly-tag.warn{background:#f59e0b24;color:var(--text-warning, #fbbf24)}.bo-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px 18px;border:1px solid var(--border);border-radius:4px;padding:8px 12px;margin-bottom:12px;font-size:12px}.bo-summary .k{display:block;font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:2px}.bo-summary .v{color:var(--text-primary)}.bo-lines-wrap{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:4px}.bo-lines{width:100%;border-collapse:collapse;font-size:12px}.bo-lines th{position:sticky;top:0;background:var(--bg-raised, #1f2d3d);text-align:left;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding:5px 8px;border-bottom:1px solid var(--border)}.bo-lines td{padding:4px 8px;border-bottom:1px solid var(--border)}.bo-lines td.num{text-align:right;font-family:var(--font-mono)}.bo-lines tr:last-child td{border-bottom:none}.bo-lines input{height:24px;font-size:12px;padding:0 6px;width:100%;min-width:60px}.bo-lines input.qty{width:64px;text-align:right}.bo-lines input.price{width:84px;text-align:right}.bo-lines select{height:24px;font-size:11px;max-width:150px}.bo-lines tfoot td{font-weight:600;border-top:1px solid var(--border)}.bo-warn{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-warning, #fbbf24);background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:4px;padding:6px 10px;margin:8px 0}.bo-preview{display:grid;gap:6px;margin-top:10px}.bo-preview-row{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:4px;padding:7px 10px;font-size:12.5px}.bo-preview-row .meta{color:var(--text-tertiary);font-size:11.5px}.bo-preview-row .tot{margin-left:auto;font-family:var(--font-mono)}.bo-quote-pick{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;border:1px solid var(--border);border-radius:4px;padding:8px 10px;height:auto;font-size:12.5px;cursor:pointer;background:transparent}.bo-quote-pick:hover{border-color:var(--text-accent);background:var(--bg-hover)}.bo-quote-pick .meta{color:var(--text-tertiary);font-size:11.5px}.bo-quote-pick .tot{margin-left:auto;font-family:var(--font-mono)}.bo-history{margin:6px 0 0;padding:0;list-style:none;font-size:11.5px}.bo-history li{display:flex;gap:10px;padding:3px 0;border-bottom:1px dotted var(--border);color:var(--text-secondary)}.bo-history li:last-child{border-bottom:none}.bo-history .ts{flex:none;color:var(--text-tertiary);font-family:var(--font-mono);font-size:10.5px}.bo-paste{width:100%;min-height:96px;font-family:var(--font-mono);font-size:11.5px;resize:vertical}.bo-section-label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:14px 0 6px}.bo-section-label:first-child{margin-top:0}.email-layout{flex:1;min-height:0;display:grid;grid-template-columns:190px 330px minmax(0,1fr)}.email-rail{border-right:1px solid var(--border);background:var(--bg-surface);padding:var(--sp-2) 0;display:flex;flex-direction:column;gap:1px;overflow-y:auto}.email-folder{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer;background:none;border:none;border-left:2px solid transparent;border-radius:0;height:auto;text-align:left}.email-folder:hover{background:var(--bg-hover);color:var(--text-primary);border-color:transparent;border-left-color:transparent}.email-folder.active{background:var(--accent-tint);color:var(--text-accent);border-left-color:var(--accent)}.email-folder .folder-count{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.email-folder.active .folder-count{color:var(--text-accent)}.email-folder .unread-pill{margin-left:auto;font-family:var(--font-mono);font-size:10px;font-weight:600;background:var(--accent-dim);color:#fff;border-radius:8px;padding:0 6px;line-height:15px}.email-list{border-right:1px solid var(--border);min-height:0;display:flex;flex-direction:column;background:var(--bg-base)}.email-list-head{padding:var(--sp-2);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.email-list-head .search-box input{width:100%}.email-list-scroll{flex:1;overflow-y:auto;min-height:0}.email-item{padding:7px 10px;border-bottom:1px solid var(--border);border-left:2px solid transparent;cursor:pointer}.email-item:hover{background:var(--bg-hover)}.email-item.selected{background:var(--accent-2-tint);border-left-color:var(--accent-2)}.email-item-top{display:flex;align-items:baseline;gap:8px}.email-item-sender{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);color:var(--text-secondary)}.email-item-date{font-size:10px;font-family:var(--font-mono);color:var(--text-tertiary);flex-shrink:0}.email-item-subject{font-size:var(--fs-base);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:1px 0}.email-item.unread .email-item-sender{color:var(--text-primary);font-weight:600}.email-item.unread .email-item-subject{font-weight:600;color:var(--text-accent)}.email-item-meta{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text-tertiary)}.email-item-meta svg{flex-shrink:0}.email-item-preview{font-size:var(--fs-caption);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.email-read{min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.email-read-head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.email-read-subject{font-size:var(--fs-xl);font-weight:var(--fw-semibold);-webkit-user-select:text;user-select:text;margin-bottom:6px}.email-read-meta{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:var(--fs-sm);color:var(--text-secondary);-webkit-user-select:text;user-select:text}.email-read-meta .meta-label{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding-top:1px}.email-read-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}.email-read-body{padding:var(--sp-4);white-space:pre-wrap;-webkit-user-select:text;user-select:text;cursor:text;font-size:var(--fs-base);line-height:1.55;overflow-wrap:anywhere}.email-attach-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) 0}.attach-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;height:auto;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer}.attach-chip:hover{border-color:var(--accent);background:var(--bg-hover)}.attach-chip .attach-size{color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono)}.attach-chip:disabled{opacity:.45;cursor:not-allowed}.email-analysis{margin:var(--sp-3) var(--sp-4) 0}.email-analysis .analysis-row{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}.email-analysis .analysis-summary{-webkit-user-select:text;user-select:text;font-size:var(--fs-base)}.email-analysis ul{margin:4px 0 0 18px;font-size:var(--fs-sm);color:var(--text-secondary);-webkit-user-select:text;user-select:text}.email-match-banner{margin:var(--sp-3) var(--sp-4) 0;padding:var(--sp-2) var(--sp-3);background:var(--accent-tint);border:1px solid var(--accent-dim);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-sm)}.email-filed-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm)}.compose-hint{font-size:var(--fs-caption);color:var(--text-tertiary);margin-right:auto;align-self:center}.email-accounts{display:flex;flex-direction:column;gap:1px}.email-accounts .label-xs{padding:2px 12px 4px}.email-account{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;background:none;border:none;border-left:2px solid transparent;border-radius:0;height:auto;text-align:left}.email-account:hover{background:var(--bg-hover);color:var(--text-primary);border-color:transparent;border-left-color:transparent}.email-account.active{background:var(--accent-2-tint);color:var(--text-primary);border-left-color:var(--accent-2)}.email-account .account-dot{width:9px;height:9px;border-radius:2px;flex:0 0 auto}.email-account .account-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-account .folder-count{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.email-account .unread-pill{margin-left:auto;font-family:var(--font-mono);font-size:10px;font-weight:600;background:var(--accent-dim);color:#fff;border-radius:8px;padding:0 6px;line-height:15px}.email-sync-banner{display:flex;align-items:center;gap:var(--sp-2);padding:6px var(--sp-4);background:var(--danger-tint);border-top:1px solid var(--border);color:var(--text-danger);font-size:var(--fs-sm);flex-shrink:0}@keyframes cc-spin{to{transform:rotate(360deg)}}.spin{animation:cc-spin .9s linear infinite}.apw-step{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-2) 0;border-top:1px solid var(--border)}.apw-step-body{flex:1;min-width:0}.apw-step-title{display:flex;align-items:center;gap:8px;font-weight:var(--fw-medium);font-size:var(--fs-base);margin-bottom:8px}.apw-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent-dim);color:#fff;font-size:11px;font-weight:700;flex:0 0 auto}.apw-step-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.apw-qr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px}.apw-qr-cap{font-size:10px;color:var(--text-tertiary)}.apw-instructions{margin:var(--sp-3) 0 0 20px;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.6}.apw-instructions li{margin-bottom:3px}.ms-guide{margin:0 0 0 18px;padding:0}.ms-guide li{margin-bottom:10px}.ms-guide-title{display:block;font-weight:var(--fw-medium);font-size:var(--fs-base);color:var(--text-primary)}.ms-guide-desc{display:block;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5;margin-top:1px}.ms-signin{display:flex;gap:var(--sp-4);align-items:flex-start}.ms-signin-left{flex:1;min-width:0}.ms-signin-qr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px}.ms-code{font-family:var(--font-mono);font-size:26px;font-weight:700;letter-spacing:3px;color:var(--text-accent);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:8px 14px;display:inline-block;margin:8px 0;-webkit-user-select:all;user-select:all}.email-subfolder{padding-left:26px;font-size:var(--fs-sm)}.email-subfolder .subfolder-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-subfolder .subfolder-del{margin-left:4px;display:none;align-items:center;color:var(--text-tertiary)}.email-subfolder:hover .subfolder-del{display:inline-flex}.email-subfolder .subfolder-del:hover{color:var(--text-danger)}.email-newfolder{color:var(--text-tertiary);font-size:var(--fs-sm)}.email-newfolder:hover{color:var(--text-accent)}.email-cat-section{display:flex;flex-direction:column;gap:1px;margin-top:10px;padding-top:6px;border-top:1px solid var(--border)}.email-cat-section .label-xs{padding:2px 12px 4px}.email-cat{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;background:none;border:none;border-left:2px solid transparent;text-align:left}.email-cat:hover{background:var(--bg-hover);color:var(--text-primary)}.email-cat.active{background:var(--accent-tint);color:var(--text-accent);border-left-color:var(--accent)}.email-cat .cat-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-cat .folder-count{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary)}.cat-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.cat-chip{display:inline-block;padding:1px 7px;border-radius:9px;color:#10161d;font-size:10px;font-weight:600;line-height:15px;white-space:nowrap}.cat-chip.sm{font-size:9px;padding:0 6px;line-height:14px}.email-item-flag{color:var(--text-tertiary);opacity:0;flex:0 0 auto;cursor:pointer;margin-right:2px;display:inline-flex}.email-item:hover .email-item-flag{opacity:.5}.email-item-flag.on{opacity:1;color:var(--warning, #E8A317)}.email-item-flag.on svg{fill:var(--warning, #E8A317)}.email-item-flag:hover{opacity:1;color:var(--warning, #E8A317)}.flagged-btn{background:none;border:1px solid var(--border-light);color:var(--text-secondary)}.flagged-btn.active{color:var(--warning, #E8A317);border-color:var(--warning, #E8A317)}.flagged-btn.active svg{fill:var(--warning, #E8A317)}.email-read-org{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 0 0;margin-top:8px;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-secondary)}.email-read-org .org-select{height:26px;padding:0 6px;font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.email-read-htmlwrap{display:block;width:100%;padding:var(--sp-4);box-sizing:border-box}.email-body-bar{display:flex;align-items:center;gap:8px;padding:0 0 6px;margin-bottom:6px}.email-body-bar .ghost{font-size:var(--fs-sm);height:24px}.email-html-frame{display:block;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;min-height:120px;height:300px}.email-body-toggle{display:block;margin-bottom:8px;font-size:var(--fs-sm)}.email-bulkbar{display:flex;align-items:center;gap:6px;margin-top:6px;min-height:26px}.email-selectall{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer}.email-selectall input{width:14px;height:14px;accent-color:var(--accent)}.email-bulkbar .ghost,.email-bulkbar .danger{height:24px;font-size:var(--fs-sm)}.email-item-check{display:inline-flex;align-items:center;margin-right:6px;flex:0 0 auto}.email-item-check input{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.email-item.checked{background:var(--accent-tint)}.email-item[draggable=true]{-webkit-user-select:none;user-select:none}.email-folder.dropover,.email-subfolder.dropover{background:var(--accent-tint);color:var(--text-accent);border-left-color:var(--accent);outline:1px dashed var(--accent);outline-offset:-1px}.contacts-body{flex:1;min-height:0;display:flex;overflow:hidden}.contacts-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4);overflow:auto}.contacts-main .toolbar-row .spacer{flex:1}.contacts-bulkbar{display:flex;align-items:center;gap:6px;min-height:26px}.contacts-selectall{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer}.contacts-selectall input{width:14px;height:14px;accent-color:var(--accent)}.contacts-bulkbar .ghost,.contacts-bulkbar .danger{height:24px;font-size:var(--fs-sm)}.contact-check-cell{width:34px}.contact-check{display:inline-flex;align-items:center}.contact-check input{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.contact-panel{width:380px;flex-shrink:0;border-left:1px solid var(--border);overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.contact-panel-head{display:flex;align-items:flex-start;gap:var(--sp-2)}.contact-panel-name{font-size:var(--fs-lg, 15px);font-weight:600;line-height:1.25}.contact-panel-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.contact-info-grid{display:grid;grid-template-columns:74px 1fr;gap:4px 10px;font-size:12px}.contact-info-grid .k{color:var(--text-tertiary);text-transform:uppercase;font-size:10px;letter-spacing:.04em;padding-top:1px}.contact-info-grid .v{color:var(--text-primary);word-break:break-word}.contact-rel-section .card-label{display:flex;align-items:center;gap:6px}.contact-rel-list{display:flex;flex-direction:column}.contact-rel-item{display:flex;align-items:baseline;gap:8px;padding:4px 2px;font-size:12px;border-bottom:1px solid var(--border)}.contact-rel-item:last-child{border-bottom:none}.contact-rel-item .rel-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-rel-item .rel-meta{flex-shrink:0;color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono)}.contact-rel-item.clickable{cursor:pointer}.contact-rel-item.clickable:hover .rel-main{color:var(--text-accent)}.contact-rel-empty{color:var(--text-tertiary);font-size:11px;padding:2px}.import-pick{display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start;min-width:420px}.import-file-input{font-size:12px;color:var(--text-secondary)}.import-file-input input[type=file]{font-size:12px}.import-map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2) var(--sp-3)}.import-preview{border:1px solid var(--border);border-radius:var(--radius-md, 6px);overflow:auto;max-height:180px}.import-preview table{width:100%;border-collapse:collapse;font-size:11px}.import-preview th{text-align:left;padding:4px 8px;color:var(--text-tertiary);text-transform:uppercase;font-size:10px;letter-spacing:.04em;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-raised)}.import-preview td{padding:4px 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.import-check-list{border:1px solid var(--border);border-radius:var(--radius-md, 6px);max-height:300px;overflow:auto}.import-check-row{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12px;border-bottom:1px solid var(--border);cursor:pointer}.import-check-row:last-child{border-bottom:none}.import-check-row:hover{background:var(--bg-hover)}.import-check-row .icr-name{flex:0 1 auto;font-weight:500}.import-check-row .icr-detail{flex:1;min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-check-row input[type=checkbox]{flex-shrink:0}.import-result{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:360px}.import-result .big{font-size:var(--fs-xl, 18px);font-weight:600;color:var(--text-accent)}.cal-userbar{display:flex;align-items:center;gap:var(--sp-2);padding:7px var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap;flex-shrink:0}.cal-user-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;padding:3px 10px 3px 7px;border:1px solid var(--border);border-radius:12px;background:var(--bg-raised);-webkit-user-select:none;user-select:none;white-space:nowrap}.cal-user-chip:hover{background:var(--bg-hover)}.cal-user-chip.on{color:var(--text-primary);border-color:var(--border-light)}.cal-user-chip input{accent-color:var(--accent);cursor:pointer;margin:0}.cal-user-dot{width:9px;height:9px;border-radius:50%;flex:none}.cal-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4)}.cal-main{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface)}.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-raised);border-bottom:1px solid var(--border);flex-shrink:0}.cal-dow{padding:5px 8px;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);text-align:right;border-right:1px solid var(--border)}.cal-dow:last-child{border-right:none}.cal-dow.today{color:var(--text-accent)}.cal-month{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);overflow-y:auto}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:3px;min-height:86px;min-width:0;display:flex;flex-direction:column;gap:2px;cursor:pointer;overflow:hidden}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover{background:var(--bg-hover)}.cal-cell.other{background:#00000047}.cal-cell.other .cal-daynum{color:var(--text-tertiary)}.cal-daynum{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);align-self:flex-end;line-height:1;padding:2px 4px}.cal-cell.today .cal-daynum{background:var(--accent);color:#141414;font-weight:600;border-radius:8px;padding:2px 6px}.cal-chip{font-size:11px;line-height:1.35;padding:1px 5px;border-left:3px solid transparent;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--text-primary);flex-shrink:0}.cal-chip:hover{filter:brightness(1.3)}.cal-chip-time{font-family:var(--font-mono);font-size:9.5px;color:var(--text-secondary);margin-right:3px}.cal-more{font-size:10px;color:var(--text-tertiary);cursor:pointer;padding:0 5px;flex-shrink:0}.cal-more:hover{color:var(--text-accent)}.cal-week{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);overflow-y:auto}.cal-week-col{border-right:1px solid var(--border);display:flex;flex-direction:column;gap:3px;padding:6px 4px;cursor:pointer;min-width:0}.cal-week-col:last-child{border-right:none}.cal-week-col:hover{background:var(--bg-hover)}.cal-week-col.today{background:var(--accent-tint)}.cal-week .cal-chip{white-space:normal}.cal-side{min-height:0;overflow-y:auto}.cal-up-item{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-raised);margin-bottom:6px}.cal-up-item:hover{background:var(--bg-hover)}.cal-up-when{font-size:10px;font-family:var(--font-mono);color:var(--text-accent)}.cal-up-title{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.cal-up-co{font-size:11px;color:var(--text-secondary)}.cal-tagrow{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:24px}.cal-tag{display:inline-flex;align-items:center;gap:2px;font-size:11px;background:var(--bg-raised);border:1px solid var(--border-light);border-radius:10px;padding:1px 3px 1px 8px;white-space:nowrap}.cal-tag .cal-tag-x{width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer}.cal-tag .cal-tag-x:hover{color:var(--text-danger);background:var(--bg-hover)}.cal-cost-note{font-size:11px;color:var(--text-tertiary);margin-top:3px}.cal-task-chip{border-left-style:dashed;display:flex;align-items:center;font-style:normal}.cal-task-chip.done{opacity:.5;text-decoration:line-through}.cal-task-chip.tone-info{border-left-color:var(--accent-2, #6E8CA0);background:color-mix(in srgb,var(--accent-2, #6E8CA0) 14%,transparent)}.cal-task-chip.tone-warn{border-left-color:var(--warning, #E8A317);background:color-mix(in srgb,var(--warning, #E8A317) 14%,transparent)}.cal-task-chip.tone-danger{border-left-color:var(--danger, #f87171);background:color-mix(in srgb,var(--danger, #f87171) 14%,transparent)}.cal-task-chip.tone-success{border-left-color:var(--success, #34d399);background:color-mix(in srgb,var(--success, #34d399) 14%,transparent)}.cal-task-chip.tone-accent{border-left-color:var(--accent, #E8A317);background:color-mix(in srgb,var(--accent, #E8A317) 14%,transparent)}.cal-task-chip.tone-neutral{border-left-color:var(--text-tertiary);background:var(--bg-raised)}.cal-chip-multi .cal-chip-time{font-weight:700}.sample-history-list{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto;min-width:460px}.sample-history-item{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;display:grid;gap:3px}.sample-history-item .tx-head{display:flex;align-items:center;gap:8px}.sample-history-item .tx-meta{font-size:11px;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:4px 14px}.sample-history-item .tx-notes{font-size:11px;color:var(--text-tertiary);font-style:italic}.sample-row-actions{display:flex;gap:4px;justify-content:flex-end;opacity:.55}tr:hover .sample-row-actions{opacity:1}.sample-row-actions button{height:22px;padding:0 8px;font-size:11px}.sample-row-actions .icon-btn{width:22px;height:22px;font-size:12px}.exp-needs-input .field>label{color:var(--text-accent)}.exp-needs-input .field>label:after{content:" — needs your input";letter-spacing:.04em}.exp-needs-input .field input,.exp-needs-input .field textarea{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-tint),0 0 8px #e8a3172e}.exp-extract-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);background:var(--accent-tint);border:1px solid var(--accent-dim);border-radius:var(--radius-md);padding:7px 10px;margin-bottom:12px}.exp-extract-note.plain{background:var(--bg-raised);border-color:var(--border)}.exp-extract-note svg{flex:0 0 14px;color:var(--text-accent)}.exp-receipt-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 8px;max-width:100%}.exp-receipt-chip .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.exp-receipt-chip button{flex-shrink:0}.exp-report-meta{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3);font-size:var(--fs-sm);color:var(--text-secondary)}.exp-total-line{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:8px 10px;font-size:var(--fs-sm);font-weight:600;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--bg-raised)}.exp-total-line .amount{font-family:var(--font-mono);color:var(--text-accent)}.exp-check-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);padding:4px}.exp-check-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-sm, 4px);font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.exp-check-row:hover{background:var(--bg-hover)}.exp-check-row input[type=checkbox]{width:auto;accent-color:var(--accent)}.exp-check-row .vendor{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-check-row .amt{font-family:var(--font-mono)}.exp-check-row .off-period{color:var(--text-tertiary);font-size:10px}.exp-flex-spacer{flex:1}.sales-kpi-row{margin-bottom:var(--sp-4)}.sales-chart-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}.sales-chart-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-3)}.sales-chart-title{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.sales-legend{display:flex;gap:var(--sp-3);margin-left:auto;font-size:var(--fs-caption);color:var(--text-secondary)}.sales-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.sales-legend .swatch.gold{background:linear-gradient(180deg,#f2b53d,#b5780c)}.sales-legend .swatch.steel{background:linear-gradient(180deg,#9db6c8,#4f6679)}.sales-hbar-grid{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:4px 10px;align-items:center}.sales-hbar-name{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;cursor:pointer}.sales-hbar-name:hover{color:var(--text-accent)}.sales-hbar-pair{display:grid;gap:2px;padding:3px 0;cursor:pointer}.sales-hbar-track{display:flex;align-items:center;gap:8px;height:10px}.sales-hbar-track.thin{height:5px}.sales-hbar{height:100%;border-radius:2px;min-width:0;transition:width .25s}.sales-hbar.gold{background:linear-gradient(90deg,#b5780c,#f2b53d);box-shadow:0 0 6px #e8a31759}.sales-hbar.steel{background:linear-gradient(90deg,#4f6679,#9db6c8);box-shadow:0 0 5px #6e8ca066}.sales-hbar-val{font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);white-space:nowrap}.sales-hbar-pair:hover .sales-hbar-val{color:var(--text-secondary)}.sales-detail-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--sp-2);margin-bottom:var(--sp-3)}.sales-detail-kpis .kpi{padding:var(--sp-2) var(--sp-3)}.sales-detail-kpis .kpi .kpi-value{font-size:var(--fs-lg)}.sales-mini-chart{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3)}.sales-mini-chart svg{display:block;width:100%;height:auto}.sales-detail-section{margin-top:var(--sp-3)}.sales-detail-section .label-row{display:flex;align-items:center;gap:var(--sp-2);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--sp-1)}.sales-row-actions{display:flex;gap:4px;justify-content:flex-end}.sales-row-actions button{width:24px;height:24px}.pricing-filter-bar{margin-bottom:var(--sp-3)}.pricing-filter-bar select{max-width:180px}.pricing-comm-picker{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-tertiary)}.pricing-comm-picker select{max-width:130px}.pricing-level-grid{display:grid;grid-template-columns:110px 1fr 1fr;gap:6px 10px;align-items:center;margin-top:var(--sp-2)}.pricing-level-grid.no-comm{grid-template-columns:110px 1fr}.pricing-level-grid .plg-head{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.pricing-level-grid .plg-label{font-size:var(--fs-sm);color:var(--text-secondary)}.import-panel{display:grid;gap:var(--sp-3);max-width:980px}.import-map-grid{display:grid;grid-template-columns:170px minmax(180px,260px);gap:5px 10px;align-items:center}.import-map-grid .imp-label{font-size:var(--fs-sm);color:var(--text-secondary)}.import-map-grid .imp-label .req{color:var(--text-danger);margin-left:3px}.import-map-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.import-report{display:flex;gap:var(--sp-4);align-items:baseline}.import-report .ir-num{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.import-report .ir-label{font-size:var(--fs-sm);color:var(--text-tertiary);margin-left:5px}.import-file-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-accent)}.pb-inactive td{opacity:.55}.seg{display:inline-flex;border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden;margin-right:8px}.seg button{height:30px;padding:0 12px;background:var(--bg-surface);border:none;color:var(--text-secondary);font-size:var(--fs-sm);border-radius:0}.seg button.active{background:var(--accent-tint);color:var(--text-accent)}.seg button+button{border-left:1px solid var(--border-light)}.task-toolbar{display:flex;align-items:center;gap:10px;padding:8px var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap}.task-views{display:inline-flex;gap:2px}.view-tab{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-sm)}.view-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.view-tab.active{background:var(--accent-tint);color:var(--text-accent);border-color:var(--accent-dim)}.task-filters{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.task-filters select{height:30px;padding:0 6px;font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.fav-tb-btn{height:30px;padding:0 10px;font-size:var(--fs-sm);white-space:nowrap}.fav-save-btn{width:30px;height:30px;color:var(--accent, #E8A317)}.fav-save-btn:hover{background:var(--accent-tint)}.task-fav-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg-surface)}.fav-bar-label{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-right:2px}.fav-chip{display:inline-flex;align-items:center;height:24px;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-raised);overflow:hidden}.fav-chip.active{background:var(--accent-tint);border-color:var(--accent-dim)}.fav-chip-apply{height:100%;padding:0 4px 0 10px;background:none;border:none;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer}.fav-chip.active .fav-chip-apply{color:var(--text-accent)}.fav-chip-apply:hover{color:var(--text-primary)}.fav-chip-x{display:inline-flex;align-items:center;justify-content:center;width:0;height:100%;padding:0;background:none;border:none;color:var(--text-tertiary);cursor:pointer;opacity:0;overflow:hidden;transition:width .12s ease,opacity .12s ease}.fav-chip:hover .fav-chip-x{width:20px;opacity:1;padding-right:6px}.fav-chip-x:hover{color:var(--text-danger)}.udot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto;margin-right:5px;vertical-align:-1px}.assignee{display:inline-flex;align-items:center}.link-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:0;text-align:left;font:inherit}.link-btn:hover{color:var(--text-accent);text-decoration:underline}.link-btn.mono{font-family:var(--font-mono);color:var(--text-accent);font-size:var(--fs-sm)}.badge.pri{margin-left:6px}.ellip{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-over{color:var(--text-danger);font-weight:var(--fw-medium)}.task-table-wrap{overflow:auto}.task-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.task-table th{text-align:left;padding:8px 10px;color:var(--text-tertiary);font-weight:var(--fw-medium);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-base)}.task-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.task-table tr.overdue td{background:color-mix(in srgb,var(--danger, #f87171) 7%,transparent)}.task-table td.num{text-align:right;font-family:var(--font-mono)}.task-table.sm td{padding:5px 8px}.status-select{height:26px;padding:0 4px;font-size:var(--fs-xs);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);max-width:150px}.timer-cell{display:inline-flex;align-items:center;gap:4px}.timer-live{font-family:var(--font-mono);color:var(--text-success);font-size:var(--fs-sm);min-width:56px}.timer-total{font-family:var(--font-mono);color:var(--text-tertiary);font-size:var(--fs-sm);min-width:40px}.timer-btn{width:22px;height:22px}.timer-btn.play{color:var(--text-success)}.timer-btn.pause{color:var(--warning, #E8A317)}.timer-btn.stop{color:var(--text-danger)}.task-board{display:flex;gap:10px;overflow-x:auto;padding:12px var(--sp-4);align-items:flex-start;height:100%}.board-col{flex:0 0 240px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;max-height:100%}.board-col-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.board-count{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.board-col-body{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.board-card{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:8px 10px;cursor:pointer}.board-card:hover{border-color:var(--accent-dim)}.board-card.overdue{border-left:3px solid var(--danger, #f87171)}.board-card-title{font-size:var(--fs-sm);color:var(--text-primary);margin-bottom:6px}.board-card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary)}.board-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:11px}.board-empty{color:var(--text-tertiary);text-align:center;padding:6px;font-size:12px}.task-cal{padding:12px var(--sp-4)}.task-cal-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.cal-title{font-size:var(--fs-lg);font-weight:var(--fw-medium);min-width:150px;text-align:center}.task-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.cal-dow{background:var(--bg-surface);padding:6px;text-align:center;font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase}.cal-cell{background:var(--bg-base);min-height:92px;padding:4px;display:flex;flex-direction:column;gap:3px}.cal-cell.empty{background:var(--bg-surface)}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent-dim)}.cal-daynum{font-size:11px;color:var(--text-tertiary);align-self:flex-end}.cal-task{font-size:10px;padding:2px 5px;border-radius:4px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-gantt{padding:12px var(--sp-4);overflow-x:auto}.gantt-scroll{position:relative;min-width:640px}.gantt-today{position:absolute;top:22px;bottom:0;width:2px;background:var(--accent);opacity:.6;z-index:2}.gantt-group{margin-bottom:10px}.gantt-group-label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:var(--fw-medium);padding:4px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.gantt-row{display:flex;align-items:center;height:26px}.gantt-row-label{flex:0 0 220px;font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;padding-right:10px}.gantt-row-label:hover{color:var(--text-accent)}.gantt-track{position:relative;flex:1;height:100%}.gantt-bar{position:absolute;top:5px;height:16px;border-radius:8px;min-width:8px;display:flex;align-items:center;cursor:pointer;overflow:hidden;opacity:.92}.gantt-bar.overdue{outline:1px solid var(--danger, #f87171)}.gantt-bar-label{font-size:9px;color:#10161d;padding:0 6px;white-space:nowrap;font-weight:600}.timesheet{padding:12px var(--sp-4)}.ts-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}@media (max-width: 820px){.ts-cols{grid-template-columns:1fr}}.badge-success,.cal-task.badge-success,.gantt-bar.badge-success{background:color-mix(in srgb,var(--success, #34d399) 30%,transparent)}.cal-task.badge-info,.gantt-bar.badge-info{background:color-mix(in srgb,var(--accent-2, #6E8CA0) 40%,transparent)}.cal-task.badge-warn,.gantt-bar.badge-warn{background:color-mix(in srgb,var(--warning, #E8A317) 35%,transparent)}.cal-task.badge-danger,.gantt-bar.badge-danger{background:color-mix(in srgb,var(--danger, #f87171) 35%,transparent)}.cal-task.badge-accent,.gantt-bar.badge-accent{background:color-mix(in srgb,var(--accent, #E8A317) 35%,transparent)}.cal-task.badge-neutral,.gantt-bar.badge-neutral{background:var(--bg-raised);color:var(--text-secondary)}.cal-task{color:var(--text-primary)}.inv-newmenu{position:relative}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:41;background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;padding:4px;min-width:190px;display:flex;flex-direction:column}.menu-pop button{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;background:none;border:none;color:var(--text-secondary);font-size:var(--fs-sm);text-align:left;border-radius:var(--radius-sm)}.menu-pop button:hover{background:var(--bg-hover);color:var(--text-primary)}.inv-filters{display:flex;align-items:center;gap:8px;margin:12px 0;flex-wrap:wrap}.inv-filters select{height:32px;padding:0 8px;font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.inv-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.inv-table th{text-align:left;padding:8px 10px;color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.inv-table td{padding:8px 10px;border-bottom:1px solid var(--border)}.inv-table tbody tr{cursor:pointer}.inv-table tbody tr:hover{background:var(--bg-hover)}.inv-table tr.overdue td{background:color-mix(in srgb,var(--danger, #f87171) 6%,transparent)}.inv-table .num,.inv-lines .num{text-align:right}.inv-detail{display:flex;flex-direction:column;gap:12px}.inv-actions{display:inline-flex;gap:8px}.inv-head-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.inv-head-grid label{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.inv-head-grid input,.inv-head-grid select{height:30px;padding:0 8px;font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.inv-head-grid input:disabled,.inv-head-grid select:disabled{opacity:.7}@media (max-width: 720px){.inv-head-grid{grid-template-columns:1fr 1fr}}.inv-lines{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.inv-lines th{text-align:left;padding:6px 8px;color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;border-bottom:1px solid var(--border)}.inv-lines td{padding:5px 8px;border-bottom:1px solid var(--border)}.inv-lines input,.inv-lines select{height:28px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);padding:0 6px;font-size:var(--fs-sm)}.line-desc{width:100%}.line-num{width:80px;text-align:right}.inv-totals{margin-left:auto;width:260px;margin-top:10px;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-sm)}.inv-totals>div{display:flex;justify-content:space-between}.inv-totals .grand{border-top:1px solid var(--border);padding-top:4px;margin-top:2px;font-weight:var(--fw-medium);color:var(--text-primary)}.inv-paybox .inv-pay-row{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.inv-pay-row label,.inline-rate{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-xs);color:var(--text-tertiary)}.inv-pay-row input,.inline-rate input{height:30px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);padding:0 8px}.inline-rate input{width:90px}.inv-notes{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--text-tertiary)}.inv-notes textarea{background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px;font:inherit}.inv-timepick{max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);margin-top:8px}.inv-timerow{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);font-size:var(--fs-sm);cursor:pointer}.inv-timerow.on{background:var(--accent-tint)}.itr-title{flex:1}.itr-user{color:var(--text-tertiary);font-size:var(--fs-xs)}.itr-hrs{min-width:54px;text-align:right}.inv-rate-row{display:flex;align-items:center;gap:10px;margin-top:10px}.invoice-print{display:none}@media print{body *{visibility:hidden}.invoice-print,.invoice-print *{visibility:visible}.invoice-print{display:block;position:absolute;left:0;top:0;width:100%;padding:24px;color:#111;background:#fff;font-size:12px}.ip-head{display:flex;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:10px}.ip-co{font-size:20px;font-weight:700}.ip-sub{color:#555}.ip-title{font-size:22px;font-weight:700;text-align:right}.ip-meta{text-align:right}.ip-billto{margin:14px 0}.ip-table{width:100%;border-collapse:collapse;margin-top:8px}.ip-table th{text-align:left;border-bottom:1px solid #111;padding:6px}.ip-table td{padding:6px;border-bottom:1px solid #ccc}.ip-table th:nth-child(n+2),.ip-table td:nth-child(n+2){text-align:right}.ip-totals{margin-left:auto;width:240px;margin-top:10px}.ip-totals>div{display:flex;justify-content:space-between;padding:2px 0}.ip-grand{border-top:2px solid #111;font-weight:700;font-size:14px;margin-top:4px;padding-top:4px}.ip-terms{margin-top:20px;color:#555}.ip-notes{margin-top:10px}}.acc-tab-body{margin-top:12px}.acc-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.acc-toolbar select,.acc-filters select,.acc-filters input[type=date],.acc-toolbar input[type=date]{height:32px;padding:0 8px;font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.acc-filters{display:flex;align-items:center;gap:8px;margin:0 0 12px;flex-wrap:wrap}.acc-filter-sep{color:var(--text-tertiary)}.acc-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.acc-table th{text-align:left;padding:8px 10px;color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.acc-table td{padding:7px 10px;border-bottom:1px solid var(--border)}.acc-table .num{text-align:right}.acc-table .acc-memo{color:var(--text-tertiary)}.acc-check-col{width:30px;text-align:center}.acc-section-head{display:flex;align-items:center;gap:10px;margin:16px 0 4px}.acc-section-title{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-primary)}.acc-group{margin-top:14px}.acc-group-title{font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.acc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.acc-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 14px;background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:left;cursor:pointer;color:var(--text-primary)}.acc-card:hover{background:var(--bg-hover);border-color:var(--border)}.acc-card-top{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.acc-card-name{font-weight:var(--fw-medium);color:var(--text-primary)}.acc-card-sub{font-size:var(--fs-xs);color:var(--text-tertiary)}.acc-card-balance{font-size:var(--fs-lg);font-weight:var(--fw-medium);margin-top:2px}.acc-card-owed{font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:400}.acc-reg-balance{font-size:var(--fs-md);font-weight:var(--fw-medium)}.acc-table tr.acc-opening td{color:var(--text-tertiary);font-style:italic}.acc-table tr.acc-reconciled td{opacity:.75}.acc-cat-select{max-width:190px;height:26px;padding:0 4px;font-size:var(--fs-xs);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.acc-status-btn{border:none;cursor:pointer}.acc-del{width:24px;height:24px;opacity:0}.acc-table tbody tr:hover .acc-del{opacity:1}.acc-quickadd td{background:color-mix(in srgb,var(--accent, #c9a24b) 4%,transparent);padding:6px 8px}.acc-quickadd input,.acc-quickadd select{height:28px;width:100%;padding:0 6px;font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.acc-quickadd .acc-amt-input{width:90px;text-align:right}.acc-recon{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px;background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-md)}.acc-recon-fields{display:flex;gap:12px}.acc-recon-fields label{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.acc-recon-fields input{height:30px;padding:0 8px;font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary)}.acc-recon-math{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);min-width:220px}.acc-recon-math>div{display:flex;justify-content:space-between;gap:16px}.acc-recon-math>div>span:first-child{color:var(--text-tertiary)}.acc-recon-diff{border-top:1px solid var(--border);padding-top:3px;margin-top:2px;font-weight:var(--fw-medium)}.acc-form-warn{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:var(--fs-xs);color:var(--text-warning)}.acc-file-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;cursor:pointer}.acc-file-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.acc-import-hint{font-size:var(--fs-xs);color:var(--text-tertiary)}.acc-import-meta{margin:4px 0 10px;font-size:var(--fs-sm);color:var(--text-secondary)}.acc-import-error{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:12px;font-size:var(--fs-sm);color:var(--text-danger);background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md)}.acc-import-summary{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:12px;font-size:var(--fs-sm);color:var(--text-success);background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-md)}.acc-table tr.acc-dup-row td{opacity:.55}.acc-import-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.acc-pills{display:flex;gap:4px;flex-wrap:wrap}.acc-pill{height:30px;padding:0 12px;font-size:var(--fs-sm);background:none;border:1px solid var(--border-light);border-radius:999px;color:var(--text-secondary);cursor:pointer}.acc-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.acc-pill.active{background:var(--accent-tint);border-color:var(--accent, #c9a24b);color:var(--text-accent)}.acc-report{max-width:860px}.acc-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.acc-report-title{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-primary)}.acc-report-sub{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px}.acc-report-table .acc-indent{padding-left:26px}.acc-report-table tr.acc-report-section td{padding-top:12px;font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.acc-report-table tr.acc-report-total td{font-weight:var(--fw-medium);color:var(--text-primary)}.acc-report-table tr.acc-report-grand td{font-weight:var(--fw-medium);color:var(--text-primary);border-top:2px solid var(--border-light);border-bottom:none;padding-top:10px}.acc-bar-col{width:30%}.acc-bar{height:10px;min-width:2px;border-radius:3px}.acc-bar.pos{background:#10b9818c}.acc-bar.neg{background:#ef44448c}.settings-wrap{max-width:920px;display:flex;flex-direction:column;gap:var(--sp-3)}.settings-wrap .card+.card{margin-top:0}.settings-card-head{display:flex;align-items:center;gap:6px;margin-bottom:var(--sp-2);color:var(--text-tertiary)}.settings-card-head .card-label{margin-bottom:0}.settings-card-head .head-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.settings-note{font-size:var(--fs-caption);color:var(--text-tertiary);margin-top:var(--sp-2);line-height:1.45}.path-row{display:flex;align-items:center;gap:var(--sp-2)}.path-display{flex:1;min-height:28px;display:flex;align-items:center;padding:4px 8px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-user-select:text;user-select:text;word-break:break-all}.path-display.unset{color:var(--text-tertiary);font-style:italic}.tpl-list{display:flex;flex-direction:column;gap:3px}.tpl-row{display:flex;align-items:center;gap:4px}.tpl-row input[type=text]{flex:1;font-family:var(--font-mono);font-size:11px}.tpl-row .mini-btn{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.tpl-row .mini-btn:hover{color:var(--text-primary)}.tpl-row .mini-btn.danger:hover{color:var(--text-danger);border-color:var(--danger)}.tpl-add{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.tpl-add input{flex:1;font-family:var(--font-mono);font-size:11px}.users-table{display:flex;flex-direction:column;gap:4px}.user-row{display:grid;grid-template-columns:40px 1fr 1fr auto auto;gap:var(--sp-2);align-items:center}.user-row input[type=color]{width:36px;height:26px;padding:1px;cursor:pointer;background:var(--bg-input)}.user-row .you-badge{justify-self:start}.users-head{display:grid;grid-template-columns:40px 1fr 1fr auto auto;gap:var(--sp-2);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding-bottom:2px;border-bottom:1px solid var(--border);margin-bottom:2px}.user-add{display:flex;gap:var(--sp-2);margin-top:var(--sp-2);align-items:center}.user-add input[type=text]{width:160px}.user-add input[type=color]{width:36px;height:26px;padding:1px;cursor:pointer}.srv-users-head,.srv-user-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(140px,1.3fr) 80px 50px 60px auto auto;gap:var(--sp-2);align-items:center}.srv-users-head{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding-bottom:2px;border-bottom:1px solid var(--border);margin-bottom:2px}.srv-users-table{display:flex;flex-direction:column;gap:4px}.srv-user-row{padding:2px 0;font-size:var(--fs-sm)}.srv-user-row.inactive{opacity:.5}.srv-user-name{display:inline-flex;align-items:center;gap:6px;min-width:0}.srv-user-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.srv-user-email{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srv-user-mods{font-size:11px;color:var(--text-secondary)}.srv-user-row .mini-btn{height:22px;padding:0 8px;font-size:11px}.srv-edit-panel{margin:4px 0 6px;padding:var(--sp-2) var(--sp-3);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm)}.srv-mods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px;margin-top:6px}.srv-user-add{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);align-items:center;flex-wrap:wrap}.srv-user-add input[type=text],.srv-user-add input[type=password]{width:150px}.srv-user-add input[type=color]{width:36px;height:26px;padding:1px;cursor:pointer}.api-status-row{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.api-key-row{display:flex;gap:var(--sp-2);align-items:center}.api-key-row input{flex:1;max-width:380px;font-family:var(--font-mono)}.api-error{color:var(--text-danger);font-size:var(--fs-caption);margin-top:var(--sp-1)}.api-ok{color:var(--text-success);font-size:var(--fs-caption);margin-top:var(--sp-1)}.settings-inline{display:flex;gap:var(--sp-3);align-items:flex-end;flex-wrap:wrap}.settings-inline .field{min-width:140px}.id-preview{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text-accent);background:var(--accent-tint);border:1px solid var(--border-accent);border-radius:var(--radius-sm);padding:4px 10px;height:28px;display:flex;align-items:center;-webkit-user-select:text;user-select:text}.danger-zone{display:flex;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap}.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.dev-toggle-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.dev-toggle{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer}.dev-toggle input{width:14px;height:14px;accent-color:var(--accent)}@media (max-width: 720px){.dev-grid{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-ui: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--bg-base: #0d0d0d;--bg-surface: #172230;--bg-raised: #1f2d3d;--bg-hover: #243447;--bg-active: #243447;--bg-input: #121b27;--border: #2b3a4b;--border-light: #3a4a5d;--border-focus: #E8A317;--border-accent:#B5780C;--text-primary: #e8e8e8;--text-secondary: #8c96a2;--text-tertiary: #5c6672;--text-accent: #F2B53D;--text-accent-2: #9DB6C8;--text-success: #34d399;--text-warning: #fb923c;--text-danger: #f87171;--accent: #E8A317;--accent-dim: #B5780C;--accent-2: #6E8CA0;--accent-2-dim: #4F6679;--success: #10b981;--warning: #f97316;--danger: #ef4444;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--titlebar-h: 38px;--sidebar-w: 200px;--statusbar-h: 22px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--fs-caption: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 16px;--fs-2xl: 22px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--accent-tint: rgba(232,163,23,.14);--accent-2-tint: rgba(110,140,160,.16);--success-tint: rgba(16,185,129,.14);--warning-tint: rgba(249,115,22,.14);--danger-tint: rgba(239,68,68,.14)}html,body,#root{height:100%;overflow:hidden;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}input,select,textarea{font-family:var(--font-ui);font-size:12px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--border-focus)}input[type=text],input[type=search],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=time]{padding:4px 8px;height:28px}select{padding:3px 6px;height:28px;cursor:pointer}textarea{padding:6px 8px;resize:vertical}input[type=date],input[type=datetime-local],input[type=time]{color-scheme:dark}button{font-family:var(--font-ui);font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text-primary);padding:4px 12px;height:28px;transition:background .12s,border-color .12s;white-space:nowrap}button:hover{background:var(--bg-hover);border-color:#444}button:active{background:var(--bg-active)}button.primary{background:var(--accent-dim);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent)}button.danger{border-color:var(--danger);color:var(--text-danger)}button.danger:hover{background:#ef44441a}button:disabled{opacity:.4;cursor:not-allowed}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--bg-hover);border-color:var(--border)}button.secondary{background:var(--bg-raised);border-color:var(--accent-2);color:var(--text-primary)}button.secondary:hover{background:var(--bg-hover);border-color:var(--accent-2)}.icon-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);border-radius:var(--radius-sm);font-size:18px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border:none}.icon-btn.active{background:var(--bg-active);color:var(--text-accent);border:none}.divider{height:1px;background:var(--border);margin:8px 0}.divider-v{width:1px;background:var(--border);margin:0 4px;align-self:stretch}.label-xs{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-3)}.card+.card{margin-top:var(--sp-2)}.card-label{font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--sp-2)}.badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;line-height:1.5;display:inline-block;white-space:nowrap}.badge-info{background:#6e8ca02e;color:var(--text-accent-2)}.badge-warn{background:#f59e0b26;color:var(--text-warning)}.badge-danger{background:#ef444426;color:var(--text-danger)}.badge-success{background:#10b98126;color:var(--text-success)}.badge-neutral{background:var(--bg-hover);color:var(--text-secondary)}.badge-accent{background:var(--accent-tint);color:var(--text-accent)}.mono{font-family:var(--font-mono)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--text-accent)}.text-success{color:var(--text-success)}.text-warning{color:var(--text-warning)}.text-danger{color:var(--text-danger)}.app-root{display:grid;grid-template-rows:var(--titlebar-h) 1fr var(--statusbar-h);height:100%}.app-body{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:0}.titlebar{display:flex;align-items:center;gap:var(--sp-3);background:var(--bg-surface);border-bottom:1px solid var(--border);padding:0 var(--sp-3);-webkit-app-region:drag}.titlebar button,.titlebar input,.titlebar select{-webkit-app-region:no-drag}.titlebar-logo{height:24px;width:auto}.titlebar-app{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:.02em}.titlebar-app .gold{color:var(--text-accent)}.titlebar-spacer{flex:1}.titlebar-user{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-secondary);-webkit-app-region:no-drag}.nav-rail{background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--sp-2) 0;overflow-y:auto}.nav-section{margin-bottom:var(--sp-3)}.nav-section .label-xs{padding:var(--sp-2) var(--sp-3) var(--sp-1);display:block}.nav-item{display:flex;align-items:center;gap:10px;padding:7px var(--sp-3);font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer;border-left:2px solid transparent;text-decoration:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-tint);color:var(--text-accent);border-left-color:var(--accent)}.nav-item svg{flex:0 0 16px}.nav-item .nav-count{margin-left:auto;font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono)}.nav-item.active .nav-count{color:var(--text-accent)}.statusbar{display:flex;align-items:center;gap:var(--sp-4);background:var(--bg-surface);border-top:1px solid var(--border);padding:0 var(--sp-3);font-size:var(--fs-caption);color:var(--text-tertiary)}.app-main{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-base)}.page{display:flex;flex-direction:column;height:100%;min-height:0}.page-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap}.page-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.page-subtitle{font-size:var(--fs-sm);color:var(--text-secondary)}.page-header .spacer{flex:1}.page-body{flex:1;min-height:0;overflow:auto;padding:var(--sp-4)}.page-body.flush{padding:0}.page-split{flex:1;min-height:0;display:grid}.data-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table th{position:sticky;top:0;z-index:1;background:var(--bg-raised);text-align:left;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding:7px 10px;border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table th .sort-arrow{color:var(--text-accent);margin-left:4px}.data-table td{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.data-table tbody tr{cursor:default}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.selected{background:var(--accent-2-tint)}.data-table .num{text-align:right;font-family:var(--font-mono)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);min-width:420px;max-width:min(860px,92vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000080}.modal-header{display:flex;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.modal-header .spacer{flex:1}.modal-body{padding:var(--sp-4);overflow-y:auto;-webkit-user-select:text;user-select:text}.modal-footer{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.form-grid .full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.field input,.field select,.field textarea{width:100%}.tab-row{display:flex;gap:2px;border-bottom:1px solid var(--border);background:var(--bg-surface);padding:0 var(--sp-3);overflow-x:auto;flex-shrink:0}.tab-row .tab{padding:8px 12px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;border-radius:0;height:auto}.tab-row .tab:hover{color:var(--text-primary);background:none}.tab-row .tab.active{color:var(--text-accent);border-bottom-color:var(--accent)}.tab-row .tab .tab-count{font-family:var(--font-mono);font-size:10px;margin-left:5px;color:var(--text-tertiary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-6);color:var(--text-tertiary);text-align:center}.empty-state .es-title{font-size:var(--fs-xl);color:var(--text-secondary);font-weight:var(--fw-medium)}.empty-state .es-hint{font-size:var(--fs-sm);max-width:420px}.cycle-bar{display:flex;flex-direction:column;gap:3px}.cycle-bar-label{display:flex;align-items:baseline;gap:var(--sp-2);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.cycle-bar-label .stage-name{color:var(--text-accent);letter-spacing:.02em}.cycle-track{display:flex;gap:3px}.cycle-seg{flex:1;height:10px;border-radius:2px;background:var(--bg-raised);border:1px solid var(--border);position:relative;transition:background .2s,box-shadow .2s}.cycle-bar.interactive .cycle-seg{cursor:pointer}.cycle-bar.interactive .cycle-seg:hover{border-color:var(--accent)}.cycle-seg.lit{background:linear-gradient(180deg,#f2b53d,#b5780c);border-color:var(--accent-dim);box-shadow:0 0 6px #e8a31773}.cycle-seg.lit.head{box-shadow:0 0 10px #e8a317cc}.cycle-bar.steel .cycle-seg.lit{background:linear-gradient(180deg,#9db6c8,#4f6679);border-color:var(--accent-2-dim);box-shadow:0 0 6px #6e8ca080}.cycle-bar.steel .cycle-seg.lit.head{box-shadow:0 0 10px #9db6c8cc}.cycle-bar.sm .cycle-seg{height:6px}.cycle-bar.sm .cycle-bar-label{font-size:9px}.cycle-bar.commerce .cycle-seg.lit{background:linear-gradient(180deg,#34d399,#0e8a63);border-color:#0e8a63;box-shadow:0 0 6px #10b98173}.cycle-bar.commerce .cycle-seg.lit.head{box-shadow:0 0 10px #34d399cc}.cycle-bar.commerce .cycle-bar-label .stage-name{color:var(--text-success)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.kpi{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-3)}.kpi .kpi-value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);font-family:var(--font-mono)}.kpi .kpi-label{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);margin-top:2px}.kpi.gold .kpi-value{color:var(--text-accent)}.kpi.steel .kpi-value{color:var(--text-accent-2)}.kpi.green .kpi-value{color:var(--text-success)}.kpi.red .kpi-value{color:var(--text-danger)}.toolbar-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.search-box{position:relative}.search-box input{padding-left:26px;width:220px}.search-box svg{position:absolute;left:7px;top:7px;color:var(--text-tertiary);pointer-events:none}.selectable-text{-webkit-user-select:text;user-select:text}.update-checker{display:inline-flex;align-items:center;gap:var(--sp-2)}.update-checker .uc-version{font-size:11px;color:var(--text-tertiary)}.update-checker .uc-status{font-size:var(--fs-sm);display:inline-flex;align-items:center;gap:4px}@keyframes cc-spin-2{to{transform:rotate(360deg)}}.update-checker .spin{animation:cc-spin-2 .9s linear infinite}
