:root{--pf-emerald:#159a73;--pf-emerald-bright:#2fbd91;--pf-emerald-hover:#12805f;--pf-amber:#eaa63a;--pf-ink:#12302a;--pf-body:#5a675f;--pf-muted:#8a938b;--pf-faint:#a6ab9f;--pf-canvas:#f7f5f0;--pf-surface:#fff;--pf-surface-warm:#fbfaf6;--pf-tint-emerald:#e9f4ef;--pf-tint-amber:#fdf3e0;--pf-border:#e6e2d8;--pf-border-soft:#f0ede4;--pf-danger:#b42318;--pf-radius-card:18px;--pf-radius-btn:12px;--pf-radius-input:10px;--pf-font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--pf-font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;font-family:var(--pf-font-sans);color:var(--pf-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--pf-canvas)}.pf-num{font-variant-numeric:tabular-nums}.pf-center{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.pf-card{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-card);box-shadow:0 24px 60px #12302a1a}.pf-brand{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.pf-brand-row{flex-direction:row;align-items:center;gap:12px;margin-bottom:0}.pf-lockup{align-items:center;gap:10px;display:inline-flex}.pf-monogram{--pf-mono-size:38px;width:var(--pf-mono-size);height:var(--pf-mono-size);border-radius:calc(var(--pf-mono-size) * .29);background:var(--pf-emerald);flex:none;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 4px 10px #159a7340}.pf-monogram-s{color:#fff;font-weight:800;font-size:calc(var(--pf-mono-size) * .6);letter-spacing:-.02em;line-height:1}.pf-monogram-dot{right:calc(var(--pf-mono-size) * .185);bottom:calc(var(--pf-mono-size) * .185);width:calc(var(--pf-mono-size) * .185);height:calc(var(--pf-mono-size) * .185);background:var(--pf-amber);box-shadow:0 0 0 calc(var(--pf-mono-size) * .066) var(--pf-emerald);border-radius:50%;position:absolute}.pf-wordmark{letter-spacing:-.03em;color:var(--pf-ink);font-size:21px;font-weight:800;line-height:1}.pf-wordmark-tld{color:var(--pf-emerald);font-weight:700}.pf-brand-row .pf-monogram{--pf-mono-size:30px}.pf-brand-row .pf-wordmark{font-size:17px}.pf-brand-sub{font-family:var(--pf-font-mono);color:var(--pf-muted);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:500}.pf-login{flex-direction:column;width:360px;max-width:100%;padding:32px;display:flex}.pf-field{color:var(--pf-body);flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;display:flex}.pf-field input{font:inherit;color:var(--pf-ink);border:1px solid var(--pf-border);border-radius:var(--pf-radius-input);background:var(--pf-surface);padding:10px 12px;font-weight:400}.pf-field input:focus{border-color:var(--pf-emerald);box-shadow:0 0 0 3px var(--pf-tint-emerald);outline:none}.pf-btn{font:inherit;border-radius:var(--pf-radius-btn);background:var(--pf-emerald);color:#fff;cursor:pointer;text-align:center;border:none;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-block;box-shadow:0 6px 18px #159a7347}.pf-btn:hover{background:var(--pf-emerald-hover)}.pf-btn:disabled{opacity:.6;cursor:default;box-shadow:none}.pf-btn-ghost{background:var(--pf-surface);color:var(--pf-ink);border:1px solid var(--pf-border);box-shadow:none}.pf-btn-ghost:hover{background:var(--pf-surface-warm)}.pf-error{color:var(--pf-danger);margin:0 0 14px;font-size:13px}.pf-hint{text-align:center;color:var(--pf-muted);margin:16px 0 0;font-size:12px}.pf-hint-block{text-align:left;color:var(--pf-body);margin:0 0 16px;font-size:14px;line-height:1.5}.pf-link{color:var(--pf-emerald);font:inherit;cursor:pointer;background:0 0;border:none;align-self:center;margin-top:12px;padding:4px;font-size:13px;font-weight:600}.pf-link:hover{color:var(--pf-emerald-hover);text-decoration:underline}.pf-app{flex-direction:column;min-height:100vh;display:flex}.pf-header{background:var(--pf-surface);border-bottom:1px solid var(--pf-border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.pf-header-right{align-items:center;gap:14px;display:flex}.pf-user{color:var(--pf-muted);font-size:13px}.pf-main{flex:1;padding:32px 24px}.pf-placeholder{max-width:640px;margin:0 auto;padding:32px}.pf-placeholder h1{letter-spacing:-.02em;color:var(--pf-ink);margin:0 0 12px;font-size:22px;font-weight:800}.pf-muted{color:var(--pf-body);font-size:14px}.pf-placeholder code{font-family:var(--pf-font-mono);background:var(--pf-surface-warm);border:1px solid var(--pf-border-soft);border-radius:4px;padding:1px 6px;font-size:13px}.pf-spinner{border:3px solid var(--pf-tint-emerald);border-top-color:var(--pf-emerald);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite pf-spin}@keyframes pf-spin{to{transform:rotate(360deg)}}.pf-dash-error{color:var(--pf-danger);margin:0 0 24px;font-size:14px}.pf-dash-section{margin-bottom:32px}.pf-dash-section:last-child{margin-bottom:0}.pf-section-head{justify-content:space-between;align-items:baseline;margin:0 0 14px;display:flex}.pf-section-title{font-family:var(--pf-font-mono);color:var(--pf-faint);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:12px;font-weight:500}.pf-tile-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.pf-tile{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-card);flex-direction:column;gap:8px;min-height:104px;padding:18px 20px;display:flex}.pf-tile-link{color:inherit;text-decoration:none;transition:border-color .12s,background .12s}.pf-tile-link:hover{border-color:var(--pf-emerald);background:var(--pf-surface-warm)}.pf-tile-label{font-family:var(--pf-font-mono);color:var(--pf-body);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.pf-tile-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--pf-ink);font-size:30px;font-weight:700;line-height:1}.pf-tile-value-compact{white-space:nowrap;font-size:21px}.pf-tile-value-danger{color:var(--pf-danger)}.pf-tile-note{color:var(--pf-muted);font-size:12px}.pf-tile-error{color:var(--pf-danger);font-size:14px;font-weight:600}.pf-tile-muted .pf-tile-value{color:var(--pf-faint)}.pf-tile-badge{font-family:var(--pf-font-mono);color:var(--pf-amber);background:var(--pf-tint-amber);text-transform:uppercase;letter-spacing:.1em;border-radius:6px;align-self:flex-start;padding:3px 8px;font-size:10px;font-weight:700}.pf-tile-caveat{color:var(--pf-body);align-items:center;gap:6px;font-size:12px;display:flex}.pf-caveat-dot{background:var(--pf-amber);border-radius:50%;flex:none;width:7px;height:7px}.pf-caveat-dot-danger{background:var(--pf-danger)}.pf-funnel-card{max-width:420px}.pf-funnel{flex-direction:column;display:flex}.pf-funnel-row{border-bottom:1px solid var(--pf-border-soft);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.pf-funnel-row:last-child{border-bottom:none}.pf-funnel-label{color:var(--pf-body);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.pf-funnel-dot{border-radius:50%;flex:none;width:9px;height:9px}.pf-funnel-count{font-variant-numeric:tabular-nums;color:var(--pf-ink);font-size:16px;font-weight:700}.pf-feed-card{max-width:560px}.pf-feed{flex-direction:column;display:flex}.pf-feed-row{border-bottom:1px solid var(--pf-border-soft);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.pf-feed-row:last-child{border-bottom:none}.pf-feed-main{flex-direction:column;gap:3px;min-width:0;display:flex}.pf-feed-company{color:var(--pf-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.pf-feed-meta{color:var(--pf-muted);font-size:12px}.pf-feed-amount{font-variant-numeric:tabular-nums;color:var(--pf-ink);flex:none;font-size:15px;font-weight:700}.pf-feed-more{align-self:flex-start;margin-top:14px;padding:8px 16px;font-size:13px}.pf-shell{min-height:100vh;display:flex}.pf-sidebar{background:var(--pf-surface);border-right:1px solid var(--pf-border);flex-direction:column;flex:none;width:244px;padding:20px 14px;display:flex}.pf-sidebar-brand{flex-direction:column;gap:8px;padding:6px 8px 22px;display:flex}.pf-nav{flex-direction:column;flex:1;gap:20px;display:flex}.pf-nav-section{flex-direction:column;gap:6px;display:flex}.pf-nav-eyebrow{font-family:var(--pf-font-mono);color:var(--pf-faint);text-transform:uppercase;letter-spacing:.14em;padding:0 10px;font-size:11px;font-weight:500}.pf-nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.pf-nav-item{border-radius:var(--pf-radius-btn);color:var(--pf-body);align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.pf-nav-item:hover{background:var(--pf-surface-warm)}.pf-nav-item-active,.pf-nav-item-active:hover{background:var(--pf-tint-emerald);color:var(--pf-emerald)}.pf-nav-icon{flex:none;width:18px;height:18px}.pf-sidebar-footer{border-top:1px solid var(--pf-border-soft);flex-direction:column;gap:10px;padding:16px 8px 4px;display:flex}.pf-sidebar-footer .pf-user{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pf-content{flex:1;min-width:0;padding:32px;overflow-x:hidden}.pf-page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 24px;display:flex}.pf-page-title{letter-spacing:-.02em;color:var(--pf-ink);margin:0 0 6px;font-size:22px;font-weight:800}.pf-page-sub{color:var(--pf-body);max-width:60ch;margin:0;font-size:14px}.pf-table-wrap{padding:0;overflow-x:auto}.pf-table{border-collapse:collapse;width:100%}.pf-table th{text-align:left;font-family:var(--pf-font-mono);color:var(--pf-faint);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;border-bottom:1px solid var(--pf-border);padding:14px 18px;font-size:11px;font-weight:500}.pf-table td{color:var(--pf-ink);border-bottom:1px solid var(--pf-border-soft);white-space:nowrap;padding:14px 18px;font-size:14px}.pf-table tbody tr:last-child td{border-bottom:none}.pf-table tbody tr:hover td{background:var(--pf-surface-warm)}.pf-table .pf-th-actions{text-align:right}.pf-row-actions{justify-content:flex-end;gap:8px;display:flex}.pf-cell-muted{color:var(--pf-muted);font-size:13px}.pf-badge{font-family:var(--pf-font-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.pf-badge-in-force{color:var(--pf-emerald);background:var(--pf-tint-emerald)}.pf-badge-staged{color:var(--pf-amber);background:var(--pf-tint-amber)}.pf-badge-superseded{color:var(--pf-muted);background:var(--pf-surface-warm)}.pf-btn-sm{box-shadow:none;padding:7px 14px;font-size:13px}.pf-btn-danger{color:var(--pf-danger)}.pf-btn-danger:hover{background:#fbeceb}.pf-btn-solid-danger{background:var(--pf-danger);color:#fff;box-shadow:none}.pf-btn-solid-danger:hover{background:#991b12}.pf-modal-overlay{z-index:1000;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pf-modal-backdrop{background:#12302a73;position:absolute;inset:0}.pf-modal{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-card);width:400px;max-width:100%;padding:28px;animation:.16s ease-out pf-modal-in;position:relative;box-shadow:0 24px 60px #12302a3d}@keyframes pf-modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.pf-modal-icon{width:48px;height:48px;color:var(--pf-danger);background:#fbeceb;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.pf-modal-title{letter-spacing:-.02em;color:var(--pf-ink);text-align:center;margin:0 0 8px;font-size:18px;font-weight:800}.pf-modal-message{color:var(--pf-body);text-align:center;margin:0 0 22px;font-size:14px;line-height:1.5}.pf-modal-actions{justify-content:center;gap:12px;display:flex}.pf-empty,.pf-authoring-placeholder{text-align:center;padding:40px 32px}.pf-empty-title{color:var(--pf-ink);margin:0 0 8px;font-size:16px;font-weight:700}.pf-form-grid{flex-wrap:wrap;align-items:flex-end;gap:16px;margin:0 0 16px;display:flex}.pf-field-inline{margin-bottom:0}.pf-field-inline input{min-width:180px}.pf-warn{background:var(--pf-tint-amber);color:var(--pf-ink);border-radius:var(--pf-radius-input);border:1px solid #f0d9a8;margin:0 0 16px;padding:10px 14px;font-size:13px}.pf-error-list{margin:0 0 16px}.pf-error-list ul{color:var(--pf-danger);margin:4px 0 0;padding-left:20px;font-size:13px}.pf-editor th,.pf-editor td{white-space:nowrap;padding:6px 8px}.pf-editor-group-row th{text-align:center;border-bottom:1px solid var(--pf-border-soft)}.pf-editor-group{border-left:1px solid var(--pf-border)}.pf-editor-empty{text-align:center;color:var(--pf-muted);padding:20px 8px;font-style:italic}.pf-editor-input{border:1px solid var(--pf-border);text-align:right;width:84px;color:var(--pf-ink);border-radius:8px;padding:5px 7px;font-size:12px}.pf-editor-input:focus{border-color:var(--pf-emerald);box-shadow:0 0 0 2px var(--pf-tint-emerald);outline:none}.pf-editor td.pf-num{text-align:right}.pf-editor-grand{font-weight:700}.pf-editor-rownum{width:1%;color:var(--pf-faint);text-align:right;padding-right:4px;font-size:11px}.pf-icon-btn{color:var(--pf-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:18px;line-height:1}.pf-icon-btn:hover{background:var(--pf-surface-warm);color:var(--pf-danger)}.pf-editor-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 20px;display:flex}.pf-editor-total{color:var(--pf-body);font-size:14px}.pf-preview{background:var(--pf-surface-warm);border:1px solid var(--pf-border-soft);border-radius:var(--pf-radius-card);flex-wrap:wrap;align-items:flex-end;gap:16px;margin:0 0 20px;padding:16px;display:flex}.pf-preview-out{color:var(--pf-ink);margin:0;font-size:14px}.pf-form-footer{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.pf-diff-summary{color:var(--pf-body);margin:0 0 16px;font-size:14px}.pf-diff-old{color:var(--pf-muted);margin-right:6px;font-size:12px;text-decoration:line-through}.pf-diff-new{background:var(--pf-tint-amber);color:var(--pf-ink);border-radius:5px;padding:1px 5px}.pf-diff-added td{background:var(--pf-tint-emerald)}.pf-confirm{background:var(--pf-canvas);border-top:1px solid var(--pf-border);margin-top:20px;padding:16px 0 8px;position:sticky;bottom:0;box-shadow:0 -10px 18px -10px #12302a24}.pf-imm{color:var(--pf-danger);border-radius:var(--pf-radius-input);background:#fbeceb;border:1px solid #f2c9c5;margin:0 0 14px;padding:12px 14px;font-size:13px}.pf-confirm-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.pf-match-ok,.pf-match-no{padding-bottom:10px;font-size:13px;font-weight:700}.pf-match-ok{color:var(--pf-emerald)}.pf-match-no{color:var(--pf-danger)}.pf-tabs{border-bottom:1px solid var(--pf-border);gap:4px;margin:0 0 24px;display:flex}.pf-tab{cursor:pointer;color:var(--pf-body);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600}.pf-tab:hover{color:var(--pf-ink)}.pf-tab-active{color:var(--pf-emerald);border-bottom-color:var(--pf-emerald)}.pf-params{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;margin:0 0 16px;padding:20px;display:grid}.pf-params .pf-field{margin-bottom:0}.pf-mfs{max-width:420px;margin:0 0 16px;padding:20px}.pf-mfs .pf-field{margin-bottom:0}.pf-field-hint{color:var(--pf-body);margin-top:4px;font-size:13px;display:block}.pf-diff-removed td{color:var(--pf-body);text-decoration:line-through}.pf-derived{background:var(--pf-surface-warm);border:1px solid var(--pf-border-soft);border-radius:var(--pf-radius-card);margin:0 0 20px;padding:16px}.pf-derived-title{font-family:var(--pf-font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--pf-faint);margin:0 0 12px;font-size:11px;font-weight:500;display:block}.pf-derived-grid{flex-wrap:wrap;gap:32px;display:flex}.pf-derived-grid>div{flex-direction:column;gap:2px;display:flex}.pf-derived-label{color:var(--pf-body);font-size:12px}.pf-derived-val{color:var(--pf-ink);font-size:18px;font-weight:700}.pf-derived-sub{color:var(--pf-muted);font-size:12px}.pf-diff-section td{font-family:var(--pf-font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--pf-faint);background:var(--pf-surface-warm);font-size:11px;font-weight:500}
