.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--surface-inverted);color:var(--text-default-inv);cursor:default}.auth-container{text-align:center;-webkit-user-select:none;user-select:none}.auth-logo{font-size:64px;font-weight:700;color:var(--text-emphasized-inv);letter-spacing:-.02em;line-height:1;margin-bottom:24px}@keyframes wiggle{0%{transform:rotate(0)}20%{transform:rotate(-6deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(2deg)}to{transform:rotate(0)}}.auth-logo.wiggle{animation:wiggle .3s var(--ease-default)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-12px)}40%{transform:translate(10px)}60%{transform:translate(-8px)}80%{transform:translate(6px)}}.auth-logo.shake{animation:shake .5s var(--ease-default);color:var(--text-error)}.auth-error{color:var(--text-subdued-inv);font-size:var(--text-sm);margin-top:16px;min-height:20px;letter-spacing:.02em}@media (prefers-reduced-motion: reduce){.auth-logo.wiggle,.auth-logo.shake{animation:none}}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1e2a80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;animation:drawer-fade-in var(--duration-base) var(--ease-out)}.drawer{position:fixed;right:0;top:0;width:560px;max-width:100vw;height:100vh;background:var(--surface-elevated);border-left:1px solid var(--border-subdued);border-top-left-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl);z-index:101;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:drawer-slide-in .25s var(--ease-default);overflow:hidden}.po-drawer{width:480px}.po-drawer-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subdued);padding:0 24px;flex-shrink:0}.po-drawer-tab{padding:10px 16px;font-size:14px;font-weight:var(--weight-medium);color:var(--text-subdued);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default);font-family:inherit}.po-drawer-tab:hover{color:var(--text-default)}.po-drawer-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.po-drawer-activity,.po-drawer-lines{padding:4px 0}.po-comments-tab{display:flex;flex-direction:column;gap:16px}.po-comment-input{display:flex;flex-direction:column;gap:8px}.po-comment-input textarea{min-height:60px;resize:vertical}.po-comment-input .btn{align-self:flex-end}.po-unified-feed{display:flex;flex-direction:column;gap:2px}.po-feed-activity{font-size:13px;color:var(--text-subdued);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;padding:4px 0}.po-feed-activity-who{font-weight:var(--weight-medium);color:var(--text-subdued)}.po-feed-sep{color:var(--text-disabled)}.po-feed-activity-what{color:var(--text-subdued)}.po-feed-activity-when{font-size:12px;color:var(--text-disabled)}.po-feed-comment{padding:10px 12px;margin:4px 0;border:1px solid var(--border-subdued);border-radius:var(--radius-md);background:var(--surface-elevated)}.po-feed-comment-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.po-feed-comment-author{font-size:13px;font-weight:var(--weight-semibold);color:var(--text-emphasized)}.po-feed-comment-when{font-size:12px;color:var(--text-disabled)}.po-feed-comment-body{font-size:14px;color:var(--text-default);line-height:1.5;white-space:pre-wrap}.lock-banner{background:#f59e0b14;color:var(--status-hold-text, #b45309);padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:var(--weight-medium);margin-bottom:12px}.lock-icon{font-size:14px}.po-extract-zone{border:1.5px dashed var(--border-subdued);border-radius:var(--radius-md);padding:16px;text-align:center;font-size:13px;color:var(--text-subdued);cursor:pointer;margin-bottom:16px;transition:border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.po-extract-zone:hover{border-color:var(--color-primary);background:#5e5ce608}.po-extract-zone.extracting{border-color:var(--color-primary);background:#5e5ce60d;cursor:wait;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:var(--color-primary)}50%{border-color:var(--border-subdued)}}.inv-money-strip{display:flex;gap:24px;padding:14px 0;border-top:1px solid var(--border-subdued);border-bottom:1px solid var(--border-subdued);margin:12px 0;font-variant-numeric:tabular-nums}.inv-money-label{font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subdued);margin-bottom:2px}.inv-money-value{font-size:16px;font-weight:var(--weight-semibold);color:var(--text-emphasized);font-variant-numeric:tabular-nums}.inv-status-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.inv-status-actions{display:flex;gap:8px}.inv-file-chips{display:flex;flex-direction:column;gap:4px;margin-top:8px}.inv-file-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border-subdued);border-radius:var(--radius-md);font-size:12px;background:var(--surface-elevated)}.inv-file-chip-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-default);font-weight:var(--weight-medium)}.inv-file-chip-size{color:var(--text-disabled);font-size:11px;flex-shrink:0}.attach-dropzone.compact{padding:10px;font-size:12px}.amount-due-section{margin-top:12px}.pct-shortcuts{display:flex;gap:6px;margin-top:8px}.pct-btn{padding:4px 12px;font-size:12px;font-weight:var(--weight-medium);font-family:inherit;border:1px solid var(--border-subdued);border-radius:var(--radius-pill);background:transparent;color:var(--text-subdued);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.pct-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.pct-btn.active{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary)}.activity-detail-popup{max-width:400px}.adp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-subdued)}.adp-ref{font-size:13px;font-weight:var(--weight-semibold);color:var(--color-primary);font-family:monospace;letter-spacing:.5px}.adp-body{padding:16px}.adp-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--row-separator)}.adp-row:last-child{border-bottom:none}.adp-label{font-size:12px;font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps);flex-shrink:0}.adp-value{font-size:14px;color:var(--text-default);text-align:right;min-width:0;word-break:break-word}.adp-money{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-emphasized)}.adp-file-link{background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:var(--weight-medium);cursor:pointer;padding:0;font-family:inherit;display:inline-flex;align-items:center}.adp-file-link:hover{text-decoration:underline}.activity-clickable{cursor:pointer;border-radius:var(--radius-xs);padding:2px 4px;margin:-2px -4px;transition:background var(--duration-fast) var(--ease-default)}.activity-clickable:hover{background:#5e5ce60f}.activity-ref-badge{font-size:11px;font-family:monospace;color:var(--color-primary);background:#5e5ce614;padding:1px 6px;border-radius:var(--radius-xs);margin-left:6px;font-weight:var(--weight-medium)}.auto-filled{border-left:3px solid #f59e0b!important}.li-variance{font-size:12px;font-weight:var(--weight-medium);margin-left:4px}.li-variance.over{color:var(--text-error)}.li-variance.short{color:var(--status-hold-text, #b45309)}@keyframes drawer-slide-in{0%{transform:translate(8px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.drawer,.drawer-overlay{animation:none}}.drawer-header{padding:20px 24px;border-bottom:1px solid var(--border-subdued);display:flex;justify-content:space-between;align-items:center}.drawer-title{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--text-emphasized);letter-spacing:var(--tracking-tight)}.drawer-close{width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-md);font-size:22px;line-height:1;cursor:pointer;color:var(--text-subdued);transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.drawer-close:hover{background:var(--surface-default-hover);color:var(--text-emphasized)}.drawer-close:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.drawer-content{flex:1;overflow-y:auto;padding:24px}.drawer-footer{padding:20px 24px;border-top:1px solid var(--border-subdued);display:flex;gap:12px}.btn-full{flex:1}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:var(--weight-medium);color:var(--text-subdued);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-default);font-size:var(--text-sm);line-height:1.4;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.form-input:hover,.form-select:hover,.form-textarea:hover{background:var(--surface-input-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus);background:var(--surface-input-hover)}.form-textarea{resize:vertical;min-height:80px}.form-hint{font-size:12px;color:var(--text-subdued);margin-top:6px}.inline-error{color:var(--text-error);font-size:11px;margin-top:6px}.muted-small{font-size:12px;color:var(--text-disabled);padding:8px 0}.muted-xs{font-size:11px;color:var(--text-disabled)}.subform{margin-top:8px;padding:12px;background:var(--surface-elevated-hover);border:1px solid var(--border-subdued);border-radius:var(--radius-md)}.subform .row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.subform .row-4{display:grid;grid-template-columns:110px 120px 100px 1fr;gap:6px;margin-bottom:8px}.drawer-content .row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drawer-content .row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.drawer-content-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.required-star{color:var(--text-error);margin-left:4px}.field-hint{color:var(--text-disabled);font-weight:400;font-size:11px;margin-left:6px;text-transform:none;letter-spacing:0}.readonly-value{padding:10px 12px;border:1px solid var(--border-subdued);border-radius:var(--radius-md);background:var(--surface-elevated-hover);font-size:13px;color:var(--text-subdued);font-variant-numeric:tabular-nums}.drawer-section{border:1px solid var(--border-subdued);border-radius:var(--radius-xl);margin-bottom:16px;background:var(--surface-elevated);overflow:hidden}.drawer-section-head{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:14px 18px;font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);color:var(--text-emphasized);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.drawer-section-head:hover{background:var(--surface-elevated-hover)}.drawer-section-head:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.drawer-section.open .drawer-section-head{border-bottom:1px solid var(--row-separator)}.drawer-section-body{padding:18px}.caret{display:inline-block;transition:transform var(--duration-fast) var(--ease-default);color:var(--text-subdued);font-size:10px}.caret.open{transform:rotate(90deg)}.section-label{letter-spacing:var(--tracking-tight)}.subsection{border:1px solid var(--border-subdued);border-radius:var(--radius-md);margin:12px 0 16px;background:var(--surface-elevated-hover)}.subsection-head{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:10px 12px;font-family:inherit;font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps);cursor:pointer;text-align:left;border-radius:var(--radius-md)}.subsection-head:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.subsection-label{padding:10px 12px 4px;font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.subsection-body{padding:0 12px 12px}.payments-summary .value.overpay{color:var(--text-error)}.overpay-banner{background:#d0327514;border:1px solid rgba(208,50,117,.35);color:var(--text-error);padding:12px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);display:flex;flex-direction:column;gap:2px;margin-bottom:12px;font-variant-numeric:tabular-nums}.overpay-banner strong{color:var(--text-error);font-weight:var(--weight-semi)}.subform input{padding:6px 8px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-default);font-size:12px;width:100%;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.subform input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.line-items-table{border:1px solid var(--border-subdued);border-radius:var(--radius-md);overflow:hidden}.line-item-head,.line-item-row{display:grid;grid-template-columns:1.3fr 1fr 70px 80px 80px 24px;gap:6px;padding:6px 8px;align-items:center;font-size:12px}.line-item-head{background:var(--surface-elevated-hover);border-bottom:1px solid var(--border-subdued);color:var(--text-subdued);font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-size:10px}.line-item-row{border-bottom:1px solid var(--row-separator)}.line-item-row input,.line-item-row select{padding:5px 6px;border:1px solid var(--border-input);border-radius:var(--radius-xs);font-size:12px;width:100%;background:var(--surface-input);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.line-item-row input:focus,.line-item-row select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.line-total-cell{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.po-line-head,.po-line-row{display:grid;grid-template-columns:1.5fr 70px 90px 90px 24px;gap:6px;padding:6px 8px;align-items:center;font-size:12px}.po-line-head{background:var(--surface-elevated-hover);border-bottom:1px solid var(--border-subdued);color:var(--text-subdued);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-2xs)}.po-line-row{border-bottom:1px solid var(--row-separator)}.po-line-row:last-child{border-bottom:none}.po-line-row input{padding:5px 6px;border:1px solid var(--border-input);border-radius:var(--radius-xs);font-size:12px;width:100%;background:var(--surface-input);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.po-line-row input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.variance-row{background:#d032750f;color:var(--text-error);padding:6px 10px;font-size:var(--text-2xs);font-weight:var(--weight-medium);border-bottom:1px solid var(--row-separator)}.icon-del{background:none;border:none;color:var(--text-subdued);cursor:pointer;font-size:16px;padding:2px 4px;border-radius:var(--radius-xs);transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.icon-del:hover{color:var(--text-error);background:var(--surface-default-hover)}.icon-del:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.payments-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:14px 16px;background:var(--surface-elevated-hover);border:1px solid var(--border-subdued);border-radius:var(--radius-md);margin-bottom:12px;font-variant-numeric:tabular-nums}.payments-summary .label{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.payments-summary .value{font-size:var(--text-md);font-weight:var(--weight-semi);color:var(--text-emphasized);margin-top:4px}.payments-summary .value.paid{color:var(--status-approved)}.payments-summary .value.outstanding{color:var(--color-primary)}.payment-list{border:1px solid var(--border-subdued);border-radius:var(--radius-md);overflow:hidden}.payment-row{display:grid;grid-template-columns:90px 100px 80px 1fr 24px;gap:8px;padding:8px 10px;align-items:center;border-bottom:1px solid var(--row-separator);font-size:12px}.payment-row:last-child{border-bottom:none}.pay-amount{text-align:right;font-weight:500}.payment-ref{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-dropzone{border:1px dashed var(--border-subdued);border-radius:var(--radius-xl);padding:24px;text-align:center;cursor:pointer;font-size:var(--text-sm);color:var(--text-subdued);background:var(--surface-elevated-hover);transition:border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.attach-dropzone:hover{border-color:var(--border-default)}.attach-dropzone.dragover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.attach-dropzone.disabled{opacity:.5;pointer-events:none}.attachment-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}.attachment-item{display:grid;grid-template-columns:28px 1fr auto auto auto;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--border-subdued);border-radius:var(--radius-md);font-size:12px;background:var(--surface-elevated)}.attachment-item .icon{width:28px;height:28px;border-radius:var(--radius-md);background:var(--surface-default);display:grid;place-items:center;font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued)}.attachment-item .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item .size{color:var(--text-disabled);font-size:11px}.open-link{color:var(--color-primary);text-decoration:none;font-weight:var(--weight-medium)}.open-link:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-xs)}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.activity-item{padding:10px 0;border-bottom:1px solid var(--row-separator);display:flex;flex-direction:column;gap:2px}.activity-item:last-child{border-bottom:none}.activity-line{font-size:var(--text-sm);color:var(--text-default);line-height:1.4}.activity-meta{font-size:var(--text-2xs);color:var(--text-subdued);font-variant-numeric:tabular-nums}.open-link:hover{text-decoration:underline}.attach-file-list{margin-top:10px}.attach-file-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--row-separator)}.attach-file-row:last-child{border-bottom:none}.attach-file-name{flex:1;color:var(--color-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-file-name:hover{text-decoration:underline}.attach-file-size{color:var(--text-subdued);font-size:12px;flex-shrink:0}@media (max-width: 768px){.drawer{width:100vw}}:root{--color-primary: #5266eb;--color-primary-hover: #4354c8;--color-primary-active: #3442a6;--color-primary-disabled: #70707d;--color-primary-soft: #5266eb1a;--color-primary-soft-hover: #5266eb29;--text-emphasized: #1e1e2a;--text-default: #272735;--text-subdued: #535461;--text-disabled: #70707d;--text-primary: #5266eb;--text-on-primary: #ffffff;--text-error: #d03275;--text-emphasized-inv: #f4f5f9;--text-default-inv: #ededf3;--text-subdued-inv: #c3c3cc;--surface-elevated: #ffffff;--surface-elevated-hover: #fbfcfd;--surface-elevated-active: #f4f5f9;--surface-default: #ededf3;--surface-default-hover: #dddde5;--surface-default-active: #c3c3cc;--surface-input: #fbfcfd;--surface-input-hover: #ffffff;--surface-input-disabled: #ededf3;--surface-inverted: #1e1e2a;--surface-frosted: #7073931a;--bg-page: #f4f5f9;--border-default: #535461;--border-subdued: #c3c3cc;--border-emphasized: #272735;--border-primary: #5266eb;--border-focus: #5266eb;--border-error: #d0327538;--border-input: #70739338;--row-separator: #ededf3;--font-sans: "Inter", "Inter Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Instrument Serif", "Fraunces", Georgia, serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-2xs: .625rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.313rem;--text-xl: 1.5rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 2.625rem;--text-5xl: 3rem;--text-hero: clamp(2.25rem, .79rem + 3.66vw, 5.25rem);--weight-regular: 400;--weight-medium: 500;--weight-semi: 600;--weight-semibold: 600;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relax: 1.65;--tracking-tight: -.01em;--tracking-body: 0;--tracking-wide: .01em;--tracking-caps: .03em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-56: 56px;--space-64: 64px;--space-80: 80px;--space-96: 96px;--space-128: 128px;--radius-xs: .25rem;--radius-md: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-4xl: 2rem;--radius-5xl: 2.5rem;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(30,30,42,.04);--shadow-sm: 0 1px 3px rgba(30,30,42,.06), 0 1px 2px rgba(30,30,42,.04);--shadow-md: 0 4px 12px rgba(30,30,42,.08);--shadow-lg: 0 12px 32px rgba(30,30,42,.1);--shadow-focus: 0 0 0 3px #5266eb38;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-tab: .3s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-emphatic: cubic-bezier(.8, 0, .5, 1);--container-max: 1640px;--container-gutter: 24px;--sidebar-width: 248px;--topbar-height: 56px;--status-approved: #16a34a;--status-hold: #d97706;--status-hold-text: #b45309;--status-hold-text-deep: #c2410c;--status-disputed: #af52de;--status-partial: var(--color-primary);--status-paid: #6e6e73;--status-overdue: #dc2626;--dot-amber: #f59e0b;--dot-grey: #c7c7cc}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}html{font-size:16px}body{font-family:var(--font-sans);font-size:14px;line-height:var(--leading-normal);color:var(--text-emphasized);background:var(--bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:inherit;color:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;letter-spacing:.005em;cursor:pointer;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);border-radius:var(--radius-pill)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-secondary{background:transparent;color:var(--text-default);border-color:var(--border-subdued)}.btn-secondary:hover:not(:disabled){background:var(--surface-default-hover);border-color:var(--border-default)}.btn-danger{background:var(--text-error);color:#fff;border-color:var(--text-error);border-radius:var(--radius-pill)}.btn-danger:hover:not(:disabled){background:#b82866}.btn-sm{padding:6px 12px;font-size:var(--text-xs)}.hidden{display:none!important}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;bottom:100%;transform:translate(-50%);margin-bottom:6px;padding:4px 8px;border-radius:4px;background:#1e1e2e;color:#fff;font-size:11px;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s ease .1s;z-index:100}[data-tip]:hover:after{opacity:1}.app-screen{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-page)}.topbar{background:var(--surface-elevated);border-bottom:1px solid var(--border-subdued);padding:0 32px;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar-title{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--text-emphasized);letter-spacing:var(--tracking-tight)}.topbar-right{display:flex;align-items:center;gap:12px}.main-content{flex:1;overflow-y:auto;padding:32px;max-width:var(--container-max);margin:0 auto;width:100%}.kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.kpi-tile{position:relative;text-align:left;background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);padding:20px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);font-family:inherit}.kpi-tile:hover{background:var(--surface-elevated-hover);border-color:var(--border-default)}.kpi-tile:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.kpi-tile.active{background:var(--color-primary-soft);border-color:var(--color-primary)}.kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.kpi-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.kpi-count{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);background:var(--surface-default);border-radius:var(--radius-pill);padding:2px 8px;min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.kpi-tile.active .kpi-count{background:var(--color-primary-soft-hover);color:var(--color-primary)}.kpi-amount{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);color:var(--text-emphasized);font-variant-numeric:tabular-nums}.exposure{background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);padding:24px;margin-bottom:24px}.exposure-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.exposure-header h3{font-size:var(--text-2xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subdued);margin:0}.exposure-total{font-size:var(--text-sm);color:var(--text-subdued);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums}.exposure-list{display:flex;flex-direction:column;gap:4px}.exposure-row{display:grid;grid-template-columns:180px 1fr 110px auto;gap:16px;align-items:center;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;text-align:left;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.exposure-row:hover{background:var(--surface-elevated-hover)}.exposure-row:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.exposure-row.active{background:var(--color-primary-soft);border-color:var(--color-primary)}.exposure-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-emphasized);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exposure-bar-wrap{height:8px;background:var(--surface-default);border-radius:var(--radius-pill);overflow:hidden}.exposure-bar{height:100%;background:var(--color-primary);border-radius:var(--radius-pill);transition:background var(--duration-fast) var(--ease-default)}.exposure-row.active .exposure-bar{background:var(--color-primary-hover)}.exposure-amount{text-align:right;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-emphasized);font-variant-numeric:tabular-nums}.exposure-pills{display:flex;gap:4px;flex-wrap:nowrap}.exposure-pill{font-size:var(--text-2xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:2px 8px;border-radius:var(--radius-pill);background:#d032751a;color:var(--text-error);white-space:nowrap}.exposure-pill.neutral{background:var(--surface-default);color:var(--text-subdued)}.tab-row{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-subdued)}.tab{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;padding:10px 16px;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-subdued);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.tab:hover{color:var(--text-emphasized)}.tab:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-xs)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-count{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);background:var(--surface-default);border-radius:var(--radius-pill);padding:1px 8px;min-width:20px;text-align:center;font-variant-numeric:tabular-nums}.tab.active .tab-count{background:var(--color-primary-soft-hover);color:var(--color-primary)}.week-banner{background:var(--surface-elevated);border:1px solid var(--border-subdued);color:var(--text-default);padding:16px 20px;border-radius:var(--radius-xl);margin-bottom:16px;font-size:var(--text-sm);display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-variant-numeric:tabular-nums}.week-banner .week-lead{color:var(--text-emphasized);font-weight:var(--weight-regular)}.week-banner .week-hero{font-family:var(--font-sans);font-weight:var(--weight-semi);font-size:var(--text-md);color:var(--text-emphasized);font-variant-numeric:tabular-nums;margin:0 1px}.week-banner .week-breakdown{color:var(--text-subdued);font-size:var(--text-sm)}.week-banner.positive{background:var(--surface-elevated);border-color:#036e434d}.week-banner.positive .week-lead{color:var(--status-approved)}.toolbar{display:flex;gap:16px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.search-input{flex:1;max-width:300px;padding:10px 12px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-input);font-size:var(--text-sm);color:var(--text-default);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.search-input:hover{background:var(--surface-input-hover)}.search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus);background:var(--surface-input-hover)}.toolbar-select{padding:8px 12px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-default);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.toolbar-select:hover{background:var(--surface-input-hover);border-color:var(--border-subdued)}.toolbar-select:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.toolbar-spacer{flex:1}.filter-reset{background:transparent;border:none;color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;padding:6px 4px;border-radius:var(--radius-xs);font-family:inherit;transition:box-shadow var(--duration-fast) var(--ease-default)}.filter-reset:hover{text-decoration:underline}.filter-reset:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.po-table{--invoice-grid-columns: 24px minmax(80px, 14%) 9% 5% 12% 11% 12% 9% 32px 7%}.supplier-section{border-bottom:1px solid var(--row-separator)}.supplier-section:last-child{border-bottom:none}.supplier-header{display:flex;align-items:center;padding:20px 16px;background:var(--surface-elevated);cursor:pointer;border-bottom:1px solid var(--row-separator);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-emphasized);-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-default)}.supplier-header:hover{background:var(--surface-elevated-hover)}.expander{display:inline-block;margin-right:10px;color:var(--text-subdued);transition:transform .2s var(--ease-default)}.collapsed>.supplier-header>.expander,.collapsed>.po-group-header>.expander,.paid-wrap.collapsed .paid-header .expander{transform:rotate(-90deg)}.supplier-header .name{flex:1}.supplier-header .total{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-emphasized);margin-right:16px;font-variant-numeric:tabular-nums}.po-group{border-bottom:1px solid var(--row-separator)}.po-group-header{position:relative;z-index:1;display:flex;align-items:center;padding:10px 16px;cursor:pointer;background:var(--surface-elevated);border-bottom:1px solid var(--row-separator);font-size:13px;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-default)}.po-group-header:hover{background:var(--surface-elevated-hover)}.po-header-left{flex:1;display:flex;align-items:baseline;gap:6px;color:var(--text-subdued)}.po-label{font-weight:var(--weight-medium);color:var(--text-default);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-2xs)}.po-meta{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.po-sep{color:var(--text-disabled);font-size:var(--text-2xs)}.po-header-right{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.po-stat{font-size:13px;font-weight:var(--weight-medium);color:var(--text-default)}.po-stat-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-right:3px}.po-section{margin-bottom:4px}.po-card{border:1px solid var(--border-subdued);border-radius:var(--radius-xl);background:#fff;margin:12px 0 4px;overflow:hidden;transition:box-shadow var(--duration-fast) var(--ease-default)}.po-card-expanded{box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}.po-card-header{display:flex;align-items:center;padding:14px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:6px;transition:background var(--duration-fast) var(--ease-default)}.po-card-header:hover{background:var(--surface-elevated-hover)}.po-card-header .expander{color:var(--text-subdued);transition:transform .2s var(--ease-default)}.po-card-header .expander.rotated{transform:rotate(-90deg)}.po-card-left{flex:1;display:flex;align-items:baseline;gap:6px;color:var(--text-subdued);min-width:0;overflow:hidden}.po-card-left>span{flex-shrink:0}.po-card-left>.po-meta{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-card-actions{display:flex;gap:8px;flex-shrink:0}.po-card-body{padding:0 20px 20px}.po-card-stats{display:flex;gap:32px;padding:16px 0;border-bottom:1px solid var(--border-subdued);font-variant-numeric:tabular-nums}.po-card-stat-label{font-size:13px;font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-bottom:2px}.po-card-stat-value{font-size:16px;font-weight:var(--weight-semibold);color:var(--text-emphasized);font-variant-numeric:tabular-nums}.file-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:300;animation:fp-fade .15s ease}.file-preview-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;max-width:calc(100vw - 32px);max-height:85vh;background:#fff;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0003;z-index:301;display:flex;flex-direction:column;overflow:hidden;animation:fp-fade .15s ease}@keyframes fp-fade{0%{opacity:0}to{opacity:1}}.file-preview-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subdued);flex-shrink:0}.file-preview-name{font-size:14px;font-weight:var(--weight-medium);color:var(--text-emphasized);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-preview-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.file-preview-download{font-size:13px;color:var(--color-primary);text-decoration:none;font-weight:var(--weight-medium)}.file-preview-download:hover{text-decoration:underline}.file-preview-close{background:none;border:none;font-size:20px;color:var(--text-subdued);cursor:pointer;padding:0 4px;line-height:1}.file-preview-close:hover{color:var(--text-default)}.file-preview-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;min-height:0}.file-preview-iframe{width:100%;height:100%;border:none;min-height:70vh}.file-preview-img{max-width:100%;max-height:80vh;object-fit:contain}.file-preview-fallback{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px;color:var(--text-subdued)}.file-preview-fallback-name{font-size:16px;font-weight:var(--weight-medium);color:var(--text-default)}.file-eye-btn{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-disabled);display:inline-flex;align-items:center;transition:color var(--duration-fast) var(--ease-default)}.file-eye-btn:hover{color:var(--color-primary)}.row-eye-btn{background:none;border:none;padding:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:opacity var(--duration-fast) var(--ease-default)}.row-eye-btn:hover{opacity:.7}.row-eye-btn.dot-color-grey{color:var(--text-disabled)}.row-eye-btn.dot-color-red{color:var(--status-overdue)}.row-eye-btn.dot-color-amber{color:var(--dot-amber)}.row-eye-btn.dot-color-disputed{color:var(--status-disputed)}.row-eye-btn.dot-color-paid{color:var(--text-subdued)}.po-eye-btn{background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--color-primary);display:inline-flex;align-items:center;transition:opacity var(--duration-fast) var(--ease-default)}.po-eye-btn:hover{opacity:.7}[data-tooltip]{position:relative;cursor:default}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:0;top:100%;z-index:50;background:#fff;border:1px solid var(--border-subdued);border-radius:var(--radius-xl);padding:8px 12px;font-size:13px;color:var(--text-default);max-width:360px;white-space:normal;word-break:break-word;box-shadow:0 2px 8px #00000014;opacity:0;pointer-events:none;transition:opacity .15s ease}[data-tooltip]:hover:after{opacity:1}.notes-icon-btn{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-disabled);border-radius:var(--radius-xs);transition:color var(--duration-fast) var(--ease-default);display:flex;align-items:center;justify-content:center}.notes-icon-btn:hover,.notes-icon-btn.has-notes{color:var(--color-primary)}.dispute-reason-hint{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:11px;font-weight:var(--weight-semibold);color:var(--text-error);margin-left:4px;cursor:help}.td-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-card-lines{width:100%;font-size:13px;border-collapse:collapse}.po-card-lines th{font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subdued);text-align:left;padding:4px 8px 4px 0;border-bottom:1px solid var(--border-subdued)}.po-card-lines td{padding:6px 8px 6px 0;color:var(--text-default);border-bottom:1px solid var(--row-separator);font-variant-numeric:tabular-nums}.po-card-activity-list{display:flex;flex-direction:column;gap:4px}.po-card-activity-row{font-size:13px;color:var(--text-subdued);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.po-card-activity-who{font-weight:var(--weight-medium);color:var(--text-default)}.po-card-activity-sep{color:var(--text-disabled)}.po-card-activity-what{color:var(--text-default)}.po-card-activity-when{font-size:12px;color:var(--text-disabled)}.po-card-activity-empty{font-size:13px;color:var(--text-disabled)}.invoice-table-head{display:grid;grid-template-columns:var(--invoice-grid-columns);align-items:center;gap:12px;padding:12px 16px;background:var(--surface-elevated);border-bottom:1px solid var(--row-separator);position:sticky;top:0;z-index:2;font-size:11px;font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:.05em}.invoice-rows{display:flex;flex-direction:column}.invoice-row{display:grid;grid-template-columns:var(--invoice-grid-columns);align-items:center;gap:12px;padding:16px;cursor:pointer;border-bottom:1px solid var(--row-separator);font-size:var(--text-sm);color:var(--text-default);font-variant-numeric:tabular-nums;transition:background var(--duration-fast) var(--ease-default)}.invoice-row.row-status-paid{background:#6e6e730a}.invoice-row.row-status-paid .invoice-cell{color:var(--text-disabled)}.invoice-row.row-status-paid .cell-hero{color:var(--text-disabled);font-weight:var(--weight-regular)}.invoice-row.row-status-paid .invoice-number{color:var(--text-subdued)}.invoice-row.row-status-paid [data-col=status],.invoice-row.row-status-paid [data-col=actions],.invoice-row.row-status-paid [data-col=notes],.invoice-row.row-status-paid [data-col=dot]{color:unset}.paid-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px;background:transparent;border:none;border-top:1px solid var(--row-separator);font-family:inherit;font-size:12px;font-weight:var(--weight-medium);color:var(--text-disabled);text-transform:uppercase;letter-spacing:var(--tracking-caps);cursor:pointer;transition:color var(--duration-fast) var(--ease-default)}.paid-toggle:hover{color:var(--text-subdued)}.paid-toggle .expander{color:var(--text-disabled);transition:transform .2s var(--ease-default)}.invoice-row.row-status-draft{background:#8e8e930d}.invoice-row.row-status-disputed{background:#d032750d}.invoice-row.row-status-on_hold{background:#d977060d}.invoice-row.row-status-approved_to_pay,.invoice-row.row-status-approved{background:#16a34a0d}.invoice-row.row-status-partial{background:#5266eb0a}.invoice-row.row-status-valid{background:transparent}.invoice-row:hover{background:var(--surface-elevated-hover)}.invoice-row:last-child{border-bottom:none}.invoice-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-number{font-weight:var(--weight-medium);color:var(--text-emphasized)}.invoice-date{color:var(--text-subdued);font-size:var(--text-xs)}.cell-muted{color:var(--text-subdued)}.cell-hero{font-weight:var(--weight-semi);font-size:var(--text-base);color:var(--text-emphasized)}.invoice-table-head>[data-col=aging],.invoice-row>[data-col=aging],.invoice-table-head>[data-col=notes],.invoice-row>[data-col=notes]{text-align:center}.invoice-table-head>[data-col=total],.invoice-row>[data-col=total],.invoice-table-head>[data-col=paid],.invoice-row>[data-col=paid],.invoice-table-head>[data-col=approved],.invoice-row>[data-col=approved],.invoice-table-head>[data-col=actions],.invoice-row>[data-col=actions]{text-align:right;font-variant-numeric:tabular-nums;overflow:visible}.priority-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--text-disabled)}.priority-dot.dot-red{background:var(--status-overdue)}.priority-dot.dot-amber{background:var(--dot-amber)}.priority-dot.dot-grey{background:var(--dot-grey)}.priority-dot.dot-hold{background:var(--status-hold)}.priority-dot.dot-disputed{background:var(--status-disputed)}.priority-dot.dot-paid{background:var(--status-paid)}.aging-pill{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:.02em}.aging-pill.age-current{background:var(--surface-default);color:var(--text-subdued)}.aging-pill.age-1-30{background:#f59e0b1f;color:var(--status-hold-text)}.aging-pill.age-31-60{background:#ea580c24;color:var(--status-hold-text-deep)}.aging-pill.age-60\+{background:#d032751a;color:var(--text-error)}.aging-pill.age-paid{background:#036e431a;color:var(--status-approved)}.aging-pill.age-unknown{background:var(--surface-default);color:var(--text-disabled)}.row-actions-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-subdued);background:var(--surface-elevated);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;color:var(--text-default);font-family:inherit;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.row-actions-btn:hover{background:var(--surface-elevated-hover);border-color:var(--border-default)}.row-actions-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.row-actions-btn .caret{font-size:9px;color:var(--text-subdued);transition:none}.row-actions-btn.open .caret{transform:rotate(90deg)}.supplier-sub{font-size:var(--text-2xs);color:var(--text-subdued);font-weight:var(--weight-regular);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-right:12px;font-variant-numeric:tabular-nums}.overflow-menu{position:fixed;min-width:180px;background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);z-index:200;padding:6px;display:flex;flex-direction:column}.overflow-item{text-align:left;background:transparent;border:none;padding:8px 10px;font-size:var(--text-sm);color:var(--text-emphasized);cursor:pointer;border-radius:var(--radius-md);font-family:inherit;transition:background var(--duration-fast) var(--ease-default)}.overflow-item:hover:not(:disabled){background:var(--surface-elevated-hover)}.overflow-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.overflow-item:disabled{color:var(--text-disabled);cursor:not-allowed}.overflow-item.danger{color:var(--text-error)}.overflow-item.danger:hover:not(:disabled){background:#d032750f}.quickpay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:199}.quickpay-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:20px;z-index:200;font-size:var(--text-sm)}.quickpay-title{display:flex;justify-content:space-between;align-items:baseline;font-weight:var(--weight-medium);color:var(--text-emphasized);margin-bottom:12px}.quickpay-title .quickpay-invoice{color:var(--text-subdued);font-weight:var(--weight-regular);font-size:var(--text-xs)}.quickpay-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.quickpay-row label{font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.quickpay-row input,.quickpay-row select{padding:8px 10px;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-default);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.quickpay-row input:focus,.quickpay-row select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.quickpay-warn{font-size:var(--text-xs);color:var(--status-hold-text);background:#f59e0b1a;padding:8px 10px;border-radius:var(--radius-md);margin:8px 0}.quickpay-err{font-size:var(--text-xs);color:var(--text-error);margin-top:6px}.quickpay-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.status-pill{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.status-pill.draft{background:var(--surface-default);color:var(--text-subdued)}.status-pill.approved{background:#036e431a;color:var(--status-approved)}.status-pill.disputed{background:#d032751a;color:var(--text-error)}.status-pill.paid{background:#5e5ce614;color:var(--color-primary)}.variance-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-medium);background:#d032751a;color:var(--text-error);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-left:8px}.empty-state{padding:60px 20px;text-align:center;color:var(--text-disabled)}.empty-state-title{font-size:16px;font-weight:600;color:var(--text-emphasized);margin-bottom:8px}.paid-wrap{margin-top:24px;background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);overflow:hidden}.paid-header{display:flex;align-items:center;padding:14px 20px;background:#036e430d;color:var(--status-approved);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-sm);font-weight:var(--weight-medium);border-bottom:1px solid var(--border-subdued);transition:background var(--duration-fast) var(--ease-default)}.paid-header:hover{background:#036e4314}.paid-header .name{flex:1}.paid-header .paid-count{color:var(--text-subdued);font-weight:var(--weight-regular);font-size:var(--text-sm);margin-right:16px;font-variant-numeric:tabular-nums}.paid-header .total{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.paid-wrap.collapsed .paid-header{border-bottom:none}.paid-wrap.collapsed .paid-body{display:none}@media (max-width: 1200px){.kpi-strip{grid-template-columns:repeat(3,1fr)}.exposure-row{grid-template-columns:140px 1fr 100px auto}}@media (max-width: 768px){.kpi-strip{grid-template-columns:repeat(2,1fr)}.invoice-table-head{display:none}.main-content{padding:20px 16px}.topbar{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:8px}.toolbar{flex-direction:column;align-items:stretch}.search-input{max-width:none}.exposure-row{grid-template-columns:1fr;gap:4px}.exposure-amount{text-align:left}.supplier-header{padding:12px 14px;flex-wrap:wrap}.supplier-sub{flex-basis:100%;margin-top:2px}.po-group-header{padding-left:20px}.invoice-row{grid-template-columns:auto 1fr auto;grid-template-areas:"dot    supplier  actions" "dot    invoice   actions" "dot    hero      ." "aging  status    .";padding:12px 14px;row-gap:6px;column-gap:10px;border-bottom:1px solid var(--border-subdued)}.invoice-row>[data-col=dot]{grid-area:dot;align-self:start;padding-top:4px}.invoice-row>[data-col=supplier]{display:block;grid-area:supplier;font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.invoice-row>[data-col=invoice]{grid-area:invoice;font-size:14px;font-weight:600}.invoice-row>[data-col=inv-date]{display:none}.invoice-row>[data-col=due-date]{display:none}.invoice-row>[data-col=total]{display:none}.invoice-row>[data-col=paid]{display:none}.invoice-row>[data-col=outstanding]{grid-area:hero;text-align:left;font-size:20px;font-weight:800}.invoice-row>[data-col=aging]{grid-area:aging}.invoice-row>[data-col=status]{grid-area:status}.invoice-row>[data-col=actions]{grid-area:actions;align-self:start}.row-actions-btn{padding:8px 12px;font-size:12px}}.app-shell{display:flex;min-height:100vh}.sidebar{width:210px;min-width:210px;background:var(--surface-inverted);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20;overflow-y:auto}.app-main{flex:1;min-width:0}.sidebar-logo{padding:24px 0 20px;display:flex;justify-content:center}.sidebar-logo-svg{width:40px;height:40px}@keyframes logo-spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logo-spin-rev{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes logo-pulse{0%,to{opacity:.6}50%{opacity:1}}.logo-ring{transform-origin:20px 20px}.logo-ring-outer{animation:logo-spin-slow 20s linear infinite}.logo-ring-mid{animation:logo-spin-rev 14s linear infinite}.logo-ring-inner{animation:logo-spin-slow 8s linear infinite}.logo-core{animation:logo-pulse 3s ease-in-out infinite}.logo-spoke{transform-origin:20px 20px;animation:logo-spin-slow 20s linear infinite}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 12px}.sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:13px;font-weight:var(--weight-medium);color:var(--text-subdued-inv);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.sidebar-item:hover{background:#ffffff0f;color:var(--text-default-inv)}.sidebar-item.active{background:#5266eb26;color:#fff}.sidebar-icon{width:18px;height:18px;flex-shrink:0}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.sidebar-user{font-size:13px;font-weight:var(--weight-medium);color:var(--text-default-inv)}.sidebar-logout{background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:6px 12px;font-family:inherit;font-size:12px;color:var(--text-subdued-inv);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.sidebar-logout:hover{background:#ffffff0f;color:var(--text-default-inv)}.gi-table{background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);overflow:hidden}.gi-head{display:grid;grid-template-columns:minmax(120px,1fr) 100px 90px 90px 50px 100px 80px 110px 100px 90px;gap:12px;padding:12px 16px;background:var(--surface-elevated);border-bottom:1px solid var(--row-separator);font-size:11px;font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:.05em}.gi-row{display:grid;grid-template-columns:minmax(120px,1fr) 100px 90px 90px 50px 100px 80px 110px 100px 90px;gap:12px;padding:16px;cursor:pointer;border-bottom:1px solid var(--row-separator);font-size:var(--text-sm);color:var(--text-default);font-variant-numeric:tabular-nums;transition:background var(--duration-fast) var(--ease-default)}.gi-row:hover{background:var(--surface-elevated-hover)}.gi-row:last-child{border-bottom:none}.gi-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gi-supplier{font-weight:var(--weight-medium);color:var(--text-default)}.gi-inv-num{font-weight:var(--weight-medium);color:var(--text-emphasized)}.gi-date{color:var(--text-subdued);font-size:var(--text-xs)}.gi-aging{font-variant-numeric:tabular-nums;font-size:14px}.gi-money{text-align:right;font-variant-numeric:tabular-nums}.gi-money-h{text-align:right}.gi-muted{color:var(--text-subdued)}.gi-hero{font-weight:var(--weight-semi);font-size:var(--text-base);color:var(--text-emphasized)}.gi-empty{text-align:center;padding:48px;color:var(--text-subdued);font-size:var(--text-sm)}.gi-row.row-status-paid{background:#6e6e730a}.gi-row.row-status-paid .gi-cell{color:var(--text-disabled)}.gi-row.row-status-paid .gi-hero{color:var(--text-disabled);font-weight:var(--weight-regular)}.gi-row.row-status-paid .gi-inv-num{color:var(--text-subdued)}.gi-row.row-status-draft{background:#8e8e930d}.gi-row.row-status-disputed{background:#d032750d}.gi-row.row-status-approved{background:#16a34a0d}.gi-row.row-status-partial{background:#5266eb0a}.supplier-dropdown{position:absolute;z-index:50;background:#fff;border:1px solid var(--border-subdued);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;max-height:200px;overflow-y:auto;width:100%;margin-top:2px}.supplier-option{display:block;width:100%;padding:8px 12px;background:none;border:none;font-family:inherit;font-size:13px;color:var(--text-default);text-align:left;cursor:pointer}.supplier-option:hover{background:var(--surface-elevated-hover)}.supplier-create{color:var(--color-primary);font-weight:var(--weight-medium)}.form-group{position:relative}.gi-head,.gi-row{grid-template-columns:24px 2.5fr 1.6fr .8fr 1.2fr .6fr 1.5fr 1.3fr 1.5fr 1.1fr 1fr;align-items:center}.gi-dot{display:flex;align-items:center;justify-content:center}.gi-dot-circle{width:8px;height:8px;border-radius:50%;background:var(--text-disabled)}.ab-head,.ab-row{display:grid;grid-template-columns:minmax(140px,1fr) 110px 100px 100px 90px 110px 80px 90px;gap:12px;align-items:center}.ab-head{padding:12px 16px;background:var(--surface-elevated);border-bottom:1px solid var(--row-separator);font-size:11px;font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:.05em}.ab-row{padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--row-separator);font-size:var(--text-sm);color:var(--text-default);transition:background var(--duration-fast) var(--ease-default)}.ab-row:hover{background:var(--surface-elevated-hover)}.ab-row:last-child{border-bottom:none}.arc-head,.arc-row{display:grid;grid-template-columns:100px minmax(140px,1fr) 120px 100px 90px 70px 160px;gap:12px;align-items:center}.arc-head{padding:12px 16px;background:var(--surface-elevated);border-bottom:1px solid var(--row-separator);font-size:11px;font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:.05em}.arc-row{padding:14px 16px;border-bottom:1px solid var(--row-separator);font-size:var(--text-sm);color:var(--text-default)}.arc-row:last-child{border-bottom:none}.po-tag{display:inline-block;font-size:11px;font-weight:var(--weight-medium);color:var(--color-primary);background:#5266eb14;padding:1px 6px;border-radius:var(--radius-xs);font-family:monospace}.fc-table-wrap{background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);overflow-x:auto;margin-bottom:32px}.fc-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.fc-th{padding:10px 12px;text-align:left;font-size:11px;font-weight:var(--weight-medium);color:var(--text-subdued);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subdued);white-space:nowrap}.fc-th.fc-num{text-align:right}.fc-th.fc-sm{width:70px}.fc-th.fc-del{width:36px}.fc-td{padding:8px 12px;border-bottom:1px solid var(--row-separator);color:var(--text-default);vertical-align:middle}.fc-td.fc-num{text-align:right;font-variant-numeric:tabular-nums}.fc-td.fc-sm{width:70px;text-align:center}.fc-computed{color:var(--text-subdued);font-weight:var(--weight-medium)}.fc-alert{color:var(--text-error);font-weight:var(--weight-semibold)}.fc-meta{font-size:11px;color:var(--text-disabled);white-space:nowrap}.fc-by{display:block;font-size:10px}.fc-empty{text-align:center;padding:48px;color:var(--text-subdued)}.fc-del-cell{width:36px;text-align:center}.fc-del-btn{display:none;background:none;border:none;font-size:16px;color:var(--text-disabled);cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs)}.fc-del-btn:hover{color:var(--text-error);background:#d032750f}.fc-row-hover:hover .fc-del-btn{display:inline-block}.fc-editable{cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs);transition:background var(--duration-fast) var(--ease-default);min-height:20px}.fc-editable:hover{background:#5e5ce60f}.fc-inline-input{width:100%;padding:4px 6px;border:1.5px solid var(--color-primary);border-radius:var(--radius-xs);font-family:inherit;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-default);background:#fff;outline:none;box-shadow:0 0 0 3px #5266eb1f}.fc-inline-input[type=number]{text-align:right}.fc-add-panel{background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);padding:16px;margin-bottom:16px}.fc-add-title{font-size:12px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subdued);margin-bottom:8px}.fc-add-list{display:flex;flex-direction:column;gap:4px}.fc-add-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:transparent;border:1px solid var(--border-subdued);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;text-align:left;transition:background var(--duration-fast) var(--ease-default)}.fc-add-item:hover{background:var(--surface-elevated-hover);border-color:var(--color-primary)}.fc-add-name{font-size:14px;font-weight:var(--weight-medium);color:var(--text-emphasized)}.fc-add-meta{font-size:12px;color:var(--text-subdued)}.fc-section{margin-bottom:32px}.fc-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fc-section-title{font-size:12px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subdued);margin:0}.fc-draft-card{background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);padding:16px;margin-bottom:12px}.fc-draft-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.fc-draft-title{font-size:14px;font-weight:var(--weight-medium);color:var(--text-emphasized);flex:1}.fc-draft-meta{font-size:12px;color:var(--text-subdued)}.fc-locked{font-weight:var(--weight-medium);color:var(--text-emphasized)}.fc-cat-card{padding:14px 0;border-bottom:1px solid var(--row-separator)}.fc-cat-card:last-of-type{border-bottom:none}.fc-cat-row{margin-bottom:8px}.fc-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.fc-cat-footer{display:flex;align-items:center;gap:8px}.fc-cat-inactive{font-size:12px;color:var(--text-error);font-weight:var(--weight-medium)}.fc-subtabs{display:flex;gap:0;padding:0 32px;border-bottom:1px solid var(--border-subdued);background:var(--surface-elevated)}.fc-subtab{background:transparent;border:none;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:var(--weight-medium);color:var(--text-subdued);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.fc-subtab:hover{color:var(--text-emphasized)}.fc-subtab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.fc-warning{background:#fef0c7;border:1px solid #F59E0B;border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px;font-size:14px;font-weight:var(--weight-medium);color:#92400e;display:flex;align-items:center}.fc-week-entry{background:var(--surface-elevated);border:1px solid var(--color-primary);border-radius:var(--radius-xl);padding:16px;margin-bottom:16px}.fc-week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fc-week-title{font-size:14px;font-weight:var(--weight-semibold);color:var(--text-emphasized)}.fc-week-grid{display:flex;flex-direction:column;gap:6px}.fc-week-row{display:flex;align-items:center;gap:12px}.fc-week-sku{flex:1;font-size:13px;color:var(--text-default)}.fc-week-row .fc-inline-input{width:100px}.fc-clickable{cursor:pointer}.fc-clickable:hover{color:var(--color-primary)}.fc-override-badge{display:inline-block;width:14px;height:14px;line-height:14px;text-align:center;font-size:10px;font-weight:700;color:#92400e;background:#fef0c7;border-radius:50%;margin-left:4px}.fc-group{margin-bottom:24px}.fc-group-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 4px}.fc-group-label{font-size:12px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subdued)}.fc-group-count{font-size:11px;color:var(--text-disabled);background:var(--surface-default);padding:1px 7px;border-radius:var(--radius-pill)}.fc-code{font-family:var(--font-mono);font-size:11px;color:var(--text-disabled);white-space:nowrap}.fc-name{font-weight:var(--weight-medium);color:var(--text-emphasized)}.fc-soh{font-size:15px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.fc-status-pill{display:inline-block;font-size:11px;font-weight:var(--weight-semibold);padding:2px 10px;border-radius:var(--radius-pill);white-space:nowrap;letter-spacing:.01em}.fc-no-data{color:var(--text-disabled);font-size:13px;font-style:italic}.fc-dismiss-btn{background:none;border:none;font-size:16px;color:var(--text-disabled);cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);transition:color var(--duration-fast),background var(--duration-fast)}.fc-dismiss-btn:hover{color:var(--text-error);background:#d032750f}.pl-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.pl-kpi{background:var(--surface-elevated);border:1px solid var(--border-subdued);border-radius:var(--radius-xl);padding:16px 20px;text-align:center}.pl-kpi-value{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-emphasized);font-variant-numeric:tabular-nums}.pl-kpi-label{font-size:var(--text-xs);color:var(--text-subdued);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-top:4px}.pl-kpi-red .pl-kpi-value{color:#dc2626}.pl-kpi-amber .pl-kpi-value{color:#d97706}.pl-kpi-green .pl-kpi-value{color:#16a34a}.pl-legend{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:8px 0}.pl-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-subdued)}.pl-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.pl-legend-stock{background:#5266eb;opacity:.25}.pl-legend-lead{background:#d97706;opacity:.2}.pl-legend-marker{background:#d97706;width:3px;border-radius:1px}.pl-legend-overdue{background:#dc2626;opacity:.15}.pl-legend-muted{margin-left:auto;font-size:11px;color:var(--text-disabled)}.pl-group{margin-bottom:24px}.pl-group-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 4px}.pl-group-dot{width:8px;height:8px;border-radius:50%}.pl-group-label{font-size:12px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subdued)}.pl-group-count{font-size:11px;color:var(--text-disabled);background:var(--surface-default);padding:1px 7px;border-radius:var(--radius-pill)}.pl-table-wrap{overflow-x:auto;border:1px solid var(--border-subdued);border-radius:var(--radius-xl);background:var(--surface-elevated)}.pl-table{margin:0}.pl-sku-name{font-size:13px;font-weight:var(--weight-medium);color:var(--text-emphasized)}.pl-sku-supplier{font-size:11px;color:var(--text-disabled);margin-top:1px}.pl-weeks-sub{font-size:11px;font-weight:var(--weight-regular);color:var(--text-disabled);margin-left:2px}.pl-timeline-header{position:relative;height:14px}.pl-week-mark{position:absolute;top:0;font-size:9px;color:var(--text-disabled);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.pl-timeline-cell{padding:8px 12px!important;vertical-align:middle}.pl-bar{position:relative;height:20px;background:var(--surface-default);border-radius:4px;overflow:hidden}.pl-bar-empty{font-size:11px;color:var(--text-disabled);line-height:20px}.pl-bar-stock{position:absolute;top:0;left:0;height:100%;background:#5266eb38;border-radius:4px 0 0 4px;transition:width .3s ease}.pl-bar-lead{position:absolute;top:0;height:100%;background:#d9770626}.pl-bar-marker{position:absolute;top:0;height:100%;width:2px;background:#d97706;z-index:1}.pl-bar-overdue{position:absolute;top:0;left:0;width:100%;height:100%;background:#dc26261f;animation:pl-pulse 2s ease-in-out infinite}@keyframes pl-pulse{0%,to{opacity:.4}50%{opacity:1}}
