.pf,.pf *,.pf :after,.pf :before{box-sizing:border-box}.pf{min-height:100dvh;background:var(--color-bg-app);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}.pf,.pf h1,.pf h2,.pf h3,.pf h4{margin:0;color:var(--color-text-primary);font-family:var(--font-ui)}.pf h1,.pf h2,.pf h3,.pf h4{font-weight:var(--weight-semibold);text-wrap:balance}.pf h1{font-size:var(--text-title);line-height:var(--leading-title)}.pf h1,.pf h2{letter-spacing:var(--tracking-snug)}.pf h2{font-size:var(--text-section);line-height:var(--leading-section)}.pf h3{font-size:var(--text-subsection);line-height:var(--leading-subsection)}.pf p{margin:0}.pf :where(a){color:var(--color-text-link);text-decoration:none}.pf :where(a:hover){text-decoration:underline;text-underline-offset:3px}.pf button{font:inherit;color:inherit}.pf :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.pf ::selection{background:var(--color-brand-subtle)}.pf .money,.pf .num{font-variant-numeric:var(--font-numeric)}.pf .mono{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:0}.pf .t-secondary{color:var(--color-text-secondary)}.pf .t-tertiary{color:var(--color-text-tertiary)}.pf .t-label{font-size:var(--text-label);line-height:var(--leading-label);color:var(--color-text-secondary)}.pf .overline{font-size:var(--text-overline);line-height:var(--leading-overline);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-text-tertiary)}.pf .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pf .ic{width:var(--icon-md);height:var(--icon-md);flex:none;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}.pf .ic-sm{width:var(--icon-sm);height:var(--icon-sm)}.pf .ic-lg{width:var(--icon-lg);height:var(--icon-lg)}.pf .app{display:grid;min-height:100dvh;grid-template-columns:var(--rail-w) minmax(0,1fr);grid-template-rows:var(--appbar-h) minmax(0,1fr);grid-template-areas:"rail bar" "rail main"}.pf .app[data-rail=collapsed]{grid-template-columns:var(--rail-w-collapsed) minmax(0,1fr)}.pf .rail{grid-area:rail;z-index:var(--z-rail);background:var(--color-surface);border-right:1px solid var(--color-border-subtle)}.pf .rail-inner{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-3) var(--space-3);overflow-y:auto}.pf .rail-brand{display:flex;align-items:center;gap:var(--space-3);height:var(--appbar-h);padding:0 var(--space-2);margin-bottom:var(--space-2);color:var(--color-text-primary)}.pf .rail-brand,.pf .rail-brand:hover{text-decoration:none}.pf .brand-mark{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-text-on-brand);display:grid;place-items:center;flex:none;font-weight:var(--weight-bold);font-size:13px;letter-spacing:-.02em}.pf .brand-name{display:flex;flex-direction:column;line-height:1.15;min-width:0}.pf .brand-name b{font-size:14px;font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf .brand-name span{font-size:11px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-text-tertiary)}.pf .rail-label{padding:var(--space-4) var(--space-3) var(--space-1)}.pf .nav-item{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--weight-medium);font-size:14px;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.pf .nav-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary);text-decoration:none}.pf .nav-item[aria-current=page]{background:var(--color-surface-selected);color:var(--color-brand-text);font-weight:var(--weight-semibold)}.pf .nav-item[aria-current=page]:before{content:"";position:absolute;left:calc(-1 * var(--space-3));top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--color-brand)}.pf .nav-item .count{margin-left:auto}.pf .rail-foot{margin-top:auto;border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3)}.pf .app[data-rail=collapsed] .nav-item{justify-content:center;padding:0}.pf .app[data-rail=collapsed] .brand-name,.pf .app[data-rail=collapsed] .nav-item .count,.pf .app[data-rail=collapsed] .nav-item span,.pf .app[data-rail=collapsed] .rail-label{display:none}.pf .appbar{grid-area:bar;position:sticky;top:0;z-index:var(--z-appbar);display:flex;align-items:center;gap:var(--space-3);height:var(--appbar-h);padding:0 var(--page-pad);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.pf .appbar .mobile-brand{display:none}.pf .global-search{position:relative;flex:1 1 auto;max-width:520px}.pf .global-search .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;width:18px;height:18px}.pf .global-search input{width:100%;height:36px;padding:0 44px 0 38px;border-radius:var(--radius-md);border:1px solid transparent;background:var(--color-surface-sunken);color:var(--color-text-primary);font:inherit;font-size:14px;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.pf .global-search input::placeholder{color:var(--color-text-tertiary)}.pf .global-search input:hover{border-color:var(--color-border)}.pf .global-search input:focus{outline:none;background:var(--color-surface);border-color:var(--color-brand);box-shadow:var(--focus-ring)}.pf .kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-xs);padding:1px 6px;background:var(--color-surface)}.pf .appbar-actions{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.pf .appbar-sep{width:1px;height:24px;background:var(--color-border-subtle);margin:0 var(--space-2)}.pf .bell{position:relative}.pf .bell .badge{position:absolute;top:4px;right:3px}.pf .user-chip{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-2) 0 var(--space-1);border:0;background:none;border-radius:var(--radius-pill);cursor:pointer}.pf .user-chip:hover{background:var(--color-surface-hover)}.pf .main{grid-area:main;min-width:0;padding:var(--space-6) var(--page-pad) var(--space-16)}.pf .page{max-width:var(--content-max);margin:0 auto}.pf .page-narrow{max-width:var(--content-narrow);margin:0 auto}.pf .page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.pf .page-head .lead{margin-top:var(--space-1);color:var(--color-text-secondary)}.pf .page-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pf .section{margin-top:var(--space-8)}.pf .section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.pf .fab,.pf .tabbar{display:none}.pf .preview-strip{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--page-pad);font-size:var(--text-label);background:var(--status-info-bg);color:var(--status-info-fg);border-bottom:1px solid var(--status-info-border)}@media (min-width:900px) and (max-width:1199.98px){.pf .app{grid-template-columns:var(--rail-w-collapsed) minmax(0,1fr)}.pf .app .nav-item{justify-content:center;padding:0}.pf .app .brand-name,.pf .app .nav-item .count,.pf .app .nav-item span,.pf .app .rail-label{display:none}}@media (max-width:899.98px){.pf .app{display:block;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.pf .rail{display:none}.pf .appbar{padding-top:env(safe-area-inset-top);height:calc(var(--appbar-h) + env(safe-area-inset-top));padding-left:max(var(--page-pad),env(safe-area-inset-left));padding-right:max(var(--space-2),env(safe-area-inset-right));gap:0}.pf .appbar .mobile-brand{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto;font-weight:var(--weight-semibold);font-size:16px}.pf .appbar .mobile-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf .appbar .desk-only,.pf .appbar-sep,.pf .global-search{display:none}.pf .appbar-actions{gap:0}.pf .main{padding:var(--space-4) var(--page-pad) var(--space-12)}.pf .page-head{margin-bottom:var(--space-4);align-items:flex-start}.pf .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-appbar);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--color-surface);border-top:1px solid var(--color-border-subtle)}.pf .tab-dest{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;color:var(--color-text-tertiary);font-size:11px;font-weight:var(--weight-medium);text-decoration:none;position:relative}.pf .tab-dest:hover{text-decoration:none;color:var(--color-text-primary)}.pf .tab-dest .ic{width:22px;height:22px}.pf .tab-dest[aria-current=page]{color:var(--color-brand-text);font-weight:var(--weight-semibold)}.pf .tab-dest[aria-current=page]:before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--color-brand)}.pf .tab-dest .badge{position:absolute;top:6px;left:calc(50% + 6px)}.pf .fab{display:inline-flex;align-items:center;gap:var(--space-2);position:fixed;right:max(var(--space-4),env(safe-area-inset-right));bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-4));z-index:var(--z-fab);height:56px;padding:0 var(--space-5) 0 var(--space-4);border-radius:var(--radius-pill);border:0;background:var(--color-brand);color:var(--color-text-on-brand);font-weight:var(--weight-semibold);font-size:16px;box-shadow:var(--shadow-3);cursor:pointer}.pf .fab:active{transform:scale(.97)}}.pf .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:14px;font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;user-select:none;position:relative;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-instant) var(--ease-standard)}.pf .btn,.pf .btn:hover{text-decoration:none}.pf .btn:active{transform:translateY(1px)}.pf .btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pf .btn .ic{width:18px;height:18px}.pf .btn--primary{background:var(--color-brand);color:var(--color-text-on-brand);box-shadow:var(--shadow-1)}.pf .btn--primary:hover{background:var(--color-brand-hover)}.pf .btn--primary:active{background:var(--color-brand-pressed)}.pf .btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:var(--shadow-1)}.pf .btn--secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.pf .btn--secondary:active{background:var(--color-surface-pressed)}.pf .btn--ghost{background:transparent;color:var(--color-text-secondary)}.pf .btn--ghost:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.pf .btn--ghost:active{background:var(--color-surface-pressed)}.pf .btn--danger{background:var(--status-critical-strong);color:var(--status-critical-on-strong)}.pf .btn--danger:hover{filter:brightness(.94)}.pf .btn--danger-quiet{background:transparent;color:var(--status-critical-fg);border-color:var(--status-critical-border)}.pf .btn--danger-quiet:hover{background:var(--status-critical-bg)}.pf .btn--sm{height:var(--control-sm);padding:0 var(--space-3);font-size:13px;border-radius:var(--radius-sm)}.pf .btn--lg{height:var(--control-lg);padding:0 var(--space-5);font-size:16px}.pf .btn--block{width:100%}.pf .btn.btn--wrap{white-space:normal;height:auto;min-height:var(--control-md);padding-block:var(--space-2);line-height:1.25;text-align:start;overflow-wrap:anywhere}.pf .btn.btn--wrap.btn--sm{min-height:var(--control-sm);padding-block:6px}.pf .btn--icon{width:var(--control-md);padding:0}.pf .btn--icon.btn--sm{width:var(--control-sm)}.pf .btn:disabled,.pf .btn[aria-disabled=true]{background:var(--color-surface-sunken);color:var(--color-text-tertiary);border-color:transparent;box-shadow:none;cursor:not-allowed;transform:none;filter:none}.pf .btn.is-loading{color:transparent;pointer-events:none}.pf .btn.is-loading:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid;border-color:var(--color-text-on-brand) var(--color-text-on-brand) transparent transparent;animation:pf-spin .7s linear infinite}.pf .btn--secondary.is-loading:after{border-color:var(--color-text-secondary) var(--color-text-secondary) transparent transparent}@keyframes pf-spin{to{transform:rotate(1turn)}}.pf .icon-btn{display:inline-grid;place-items:center;width:var(--tap-min);height:var(--tap-min);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.pf .icon-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.pf .icon-btn:active{background:var(--color-surface-pressed)}.pf .icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pf .btn-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}@media (max-width:899.98px){.pf .btn{height:var(--control-lg);font-size:15px}.pf .btn--sm{height:40px}.pf .btn--icon{width:var(--control-lg)}.pf .btn.btn--wrap{min-height:var(--control-lg)}}.pf .field{display:grid;gap:6px}.pf .field .label,.pf .field label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-primary)}.pf .field .hint{font-size:var(--text-label);color:var(--color-text-tertiary)}.pf .field .error{font-size:var(--text-label);color:var(--status-critical-fg);display:flex;gap:6px;align-items:center}.pf .input,.pf .select,.pf .textarea{width:100%;height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:14px;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.pf .textarea{height:auto;min-height:96px;padding:var(--space-2) var(--space-3);line-height:1.5;resize:vertical}.pf .input::placeholder,.pf .textarea::placeholder{color:var(--color-text-tertiary)}.pf .input:hover,.pf .select:hover,.pf .textarea:hover{border-color:var(--color-text-secondary)}.pf .input:focus,.pf .select:focus,.pf .textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-subtle-border)}.pf .input[aria-invalid=true]{border-color:var(--status-critical-strong)}.pf .input:disabled,.pf .select:disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled);border-color:var(--color-border);cursor:not-allowed}.pf .select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}.pf .input-affix{position:relative}.pf .input-affix .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);width:18px;height:18px}.pf .input-affix .input{padding-left:38px}@media (max-width:899.98px){.pf .input,.pf .select{height:var(--control-lg);font-size:16px}.pf .textarea{font-size:16px}}.pf .seg{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-md);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle)}.pf .seg button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.pf .seg button:hover{color:var(--color-text-primary)}.pf .seg button[aria-pressed=true],.pf .seg button[aria-selected=true]{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-1);font-weight:var(--weight-semibold)}.pf .seg button .ic{width:16px;height:16px}@media (max-width:899.98px){.pf .seg button{height:38px}}.pf .switch{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;min-height:var(--tap-min)}.pf .switch input{position:absolute;opacity:0;width:1px;height:1px}.pf .switch .track{width:36px;height:20px;border-radius:var(--radius-pill);background:var(--color-border-strong);position:relative;transition:background-color var(--duration-fast) var(--ease-standard);flex:none}.pf .switch .track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:transform var(--duration-base) var(--ease-spring)}.pf .switch input:checked+.track{background:var(--color-brand)}.pf .switch input:checked+.track:after{transform:translateX(16px)}.pf .switch input:focus-visible+.track{box-shadow:var(--focus-ring)}.pf .switch input:disabled+.track{opacity:.45}.pf .check{display:inline-flex;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer}.pf .check input{appearance:none;width:18px;height:18px;margin:0;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface);display:grid;place-items:center;flex:none;cursor:pointer}.pf .check input:checked{background:var(--color-brand);border-color:var(--color-brand)}.pf .check input:checked:after{content:"";width:5px;height:9px;border:solid var(--color-text-on-brand);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}.pf .check input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pf .pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;border:1px solid var(--status-neutral-border);background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.pf .pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pf .pill.no-dot:before{display:none}.pf .pill .ic{width:13px;height:13px;margin-left:-2px}.pf .pill--success{background:var(--status-success-bg);color:var(--status-success-fg);border-color:var(--status-success-border)}.pf .pill--warning{background:var(--status-warning-bg);color:var(--status-warning-fg);border-color:var(--status-warning-border)}.pf .pill--critical{background:var(--status-critical-bg);color:var(--status-critical-fg);border-color:var(--status-critical-border)}.pf .pill--info{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-border)}.pf .pill--brand{background:var(--color-brand-subtle);color:var(--color-brand-text);border-color:var(--color-brand-subtle-border)}.pf .pill--strong.pill--critical{background:var(--status-critical-strong);color:var(--status-critical-on-strong);border-color:transparent}.pf .pill--lg{height:28px;padding:0 10px;font-size:13px}.pf .badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--status-critical-strong);color:var(--status-critical-on-strong);font-size:11px;font-weight:var(--weight-bold);font-variant-numeric:var(--font-numeric);line-height:1;box-shadow:0 0 0 2px var(--color-surface)}.pf .badge--neutral{background:var(--color-surface-sunken);color:var(--color-text-secondary);box-shadow:none}.pf .badge--brand{background:var(--color-brand);color:var(--color-text-on-brand)}.pf .tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-xs);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-size:12px;font-weight:var(--weight-medium);white-space:nowrap}.pf .card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.pf .card-body,.pf .card-pad,.pf :is(ul,ol,dl).card-body,.pf :is(ul,ol,dl).card-pad{padding:var(--space-5)}.pf .card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.pf .card-head h2,.pf .card-head h3{font-size:var(--text-subsection);line-height:var(--leading-subsection)}.pf .kpi-row{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pf .kpi{position:relative;display:grid;align-content:start;gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);text-decoration:none;color:inherit;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.pf a.kpi:hover{border-color:var(--color-border);box-shadow:var(--shadow-2)}.pf .kpi-label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--color-text-secondary);display:flex;align-items:center;gap:6px}.pf .kpi-line{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.pf .kpi-value{font-size:var(--text-kpi);line-height:var(--leading-kpi);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:var(--font-numeric);color:var(--color-text-primary)}.pf .kpi-value small{font-size:.6em;font-weight:var(--weight-medium);letter-spacing:0;margin-left:1px}.pf .kpi-value.is-critical{color:var(--status-critical-fg)}.pf .kpi-spark{display:block;width:100%;height:28px;margin:var(--space-1) 0 0}.pf .kpi-foot{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-label);color:var(--color-text-tertiary)}.pf .kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.pf .kpi-strip .kpi{border:0;border-radius:0;box-shadow:none;border-left:1px solid var(--color-border-subtle);padding:var(--space-4)}.pf .kpi-strip .kpi:first-child{border-left:0}.pf .kpi-strip a.kpi:hover{background:var(--color-surface-hover);box-shadow:none}.pf .kpi-strip .kpi-value{font-size:1.625rem;line-height:2rem}.pf .kpi-strip--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1199.98px){.pf .kpi-strip--4{grid-template-columns:repeat(2,minmax(0,1fr))}.pf .kpi-strip--4 .kpi:nth-child(3n+1){border-left:1px solid var(--color-border-subtle)}.pf .kpi-strip--4 .kpi:nth-child(odd){border-left:0}.pf .kpi-strip--4 .kpi:nth-child(n+3){border-top:1px solid var(--color-border-subtle)}.pf .kpi-strip--4 .kpi:nth-child(-n+2){border-top:0}.pf .kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.pf .kpi-strip .kpi:nth-child(3n+1){border-left:0}.pf .kpi-strip .kpi:nth-child(n+4){border-top:1px solid var(--color-border-subtle)}}@media (max-width:599.98px){.pf .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.pf .kpi-strip .kpi{border-left:1px solid var(--color-border-subtle);border-top:1px solid var(--color-border-subtle)}.pf .kpi-strip .kpi:nth-child(odd){border-left:0}.pf .kpi-strip .kpi:nth-child(-n+2){border-top:0}.pf .kpi-strip .kpi-value{font-size:1.5rem}}.pf .kpi--alert{border-left:3px solid var(--status-critical-strong)}.pf .kpi--alert-warning{border-left:3px solid var(--status-warning-strong)}.pf .kpi--alert-success{border-left:3px solid var(--status-success-strong)}.pf .spark-line{fill:none;stroke:var(--color-text-tertiary);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.pf .spark-area{fill:var(--color-surface-sunken)}.pf .spark-dot{fill:var(--color-accent);stroke:var(--color-surface);stroke-width:2}.pf .delta{display:inline-flex;align-items:center;gap:2px;height:20px;padding:0 6px;border-radius:var(--radius-xs);font-size:12px;font-weight:var(--weight-semibold);font-variant-numeric:var(--font-numeric);white-space:nowrap}.pf .delta .ic{width:12px;height:12px;stroke-width:2.25}.pf .delta--good{background:var(--status-success-bg);color:var(--status-success-fg)}.pf .delta--bad{background:var(--status-critical-bg);color:var(--status-critical-fg)}.pf .delta--flat{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.pf .delta--warn{background:var(--status-warning-bg);color:var(--status-warning-fg)}.pf .money{font-variant-numeric:var(--font-numeric);white-space:nowrap}.pf .money--neg{color:var(--status-critical-fg)}.pf .money--pos{color:var(--status-success-fg)}.pf .money-lg{font-size:var(--text-section);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug)}.pf .money .cur{color:var(--color-text-tertiary);font-weight:var(--weight-regular);margin-right:1px}.pf .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.pf .toolbar .grow{flex:1 1 260px;max-width:360px}.pf .filter-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px dashed var(--color-border-strong);background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:var(--weight-medium);cursor:pointer}.pf .filter-chip:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.pf .filter-chip[aria-pressed=true]{border-style:solid;border-color:var(--color-brand-subtle-border);background:var(--color-brand-subtle);color:var(--color-brand-text)}.pf .filter-chip .ic{width:14px;height:14px}@media (max-width:899.98px){.pf .filter-chip{height:40px}.pf .toolbar .grow{max-width:none;flex-basis:100%}}.pf .table-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.pf .table-scroll{overflow-x:auto}.pf .table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-table);line-height:var(--leading-table)}.pf .table thead th{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-surface-sunken);text-align:left;font-size:var(--text-overline);line-height:var(--leading-overline);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-text-tertiary);padding:10px var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}.pf .table td.num,.pf .table th.num{text-align:right;font-variant-numeric:var(--font-numeric)}.pf .table .sort{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.pf .table .sort:hover{color:var(--color-text-primary)}.pf .table .sort .ic{width:12px;height:12px;opacity:.55}.pf .table th[aria-sort] .sort{color:var(--color-text-primary)}.pf .table th[aria-sort] .sort .ic{opacity:1}.pf .table tbody td{padding:0 var(--space-4);height:var(--table-row-h);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;color:var(--color-text-primary)}.pf .table tbody tr{transition:background-color var(--duration-fast) var(--ease-standard)}.pf .table tbody tr:hover{background:var(--color-surface-hover)}.pf .table tbody tr[aria-selected=true]{background:var(--color-surface-selected)}.pf .table tbody tr:last-child td{border-bottom:0}.pf .table tfoot td{padding:12px var(--space-4);border-top:1px solid var(--color-border);font-weight:var(--weight-semibold);background:var(--color-surface-sunken)}.pf .table .cell-primary{font-weight:var(--weight-medium);color:var(--color-text-primary)}.pf .table td.stack-title{min-width:240px}.pf .table .cell-primary,.pf .table .cell-sub{white-space:nowrap}.pf .table .cell-sub{display:block;font-size:12px;color:var(--color-text-tertiary);margin-top:1px}.pf .table .row-actions{text-align:right;white-space:nowrap;width:1%}.pf .table .row-actions .icon-btn{width:32px;height:32px;opacity:.6}.pf .table .row-actions .icon-btn:focus-visible,.pf .table tr:hover .row-actions .icon-btn{opacity:1}.pf .table td.is-editable{cursor:text}.pf .table td.is-editable:hover{box-shadow:inset 0 0 0 1px var(--color-border-strong);border-radius:var(--radius-xs)}.pf .table td.is-editing{padding:0 6px}.pf .table td.is-editing .input{height:32px;text-align:right;font-size:var(--text-table)}.pf .table tr.group-row td{background:var(--color-surface-sunken);height:36px;font-size:var(--text-overline);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-text-tertiary)}.pf .table tr.is-sub td:first-child{padding-left:var(--space-10)}.pf .skeleton{display:block;height:12px;border-radius:var(--radius-xs);background:linear-gradient(90deg,var(--color-surface-sunken) 0,var(--color-surface-hover) 50%,var(--color-surface-sunken) 100%);background-size:200% 100%;animation:pf-shimmer 1.4s ease-in-out infinite}@keyframes pf-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.pf .skeleton{animation:none}}.pf .empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;color:var(--color-text-secondary)}.pf .empty .empty-ic{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--color-surface-sunken);display:grid;place-items:center;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}@media (max-width:899.98px){.pf .table--stack thead{display:none}.pf .table--stack,.pf .table--stack tbody,.pf .table--stack td,.pf .table--stack tfoot,.pf .table--stack tr{display:block;width:100%}.pf .table--stack tbody tr{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);display:grid;grid-template-columns:1fr auto;column-gap:var(--space-3);row-gap:4px}.pf .table--stack tbody td{height:auto;padding:0;border:0}.pf .table--stack td.stack-title{grid-column:1;font-size:16px}.pf .table--stack td.stack-aside{grid-column:2;grid-row:1;text-align:right;font-weight:var(--weight-semibold)}.pf .table--stack td[data-label]:not(.stack-title):not(.stack-aside){grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--space-3);font-size:14px;color:var(--color-text-secondary)}.pf .table--stack td[data-label]:not(.stack-title):not(.stack-aside):before{content:attr(data-label);color:var(--color-text-tertiary)}.pf .table--stack td.row-actions{display:none}.pf .table--stack td.row-actions.keep{display:flex;grid-column:1/-1;gap:var(--space-2);margin-top:var(--space-2)}.pf .table--stack td.row-actions.keep .btn{flex:1}.pf .table--stack td.row-actions.keep .icon-btn{opacity:1;width:48px;height:48px}.pf .table--stack td:empty,.pf .table--stack tr.is-sub{display:none}.pf .table--stack td.row-actions .icon-btn{opacity:1;width:44px;height:44px}.pf .table--stack td.hide-sm{display:none}.pf .table--stack tfoot td{display:flex;justify-content:space-between}.pf .table--stack tfoot td:empty{display:none}.pf .table--stack tfoot td[data-label]:before{content:attr(data-label)}}.pf .tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none;margin-bottom:var(--space-6)}.pf .tabs::-webkit-scrollbar{display:none}.pf .tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-3);border:0;background:none;color:var(--color-text-secondary);font-size:14px;font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;text-decoration:none}.pf .tab:hover{color:var(--color-text-primary);text-decoration:none}.pf .tab[aria-selected=true]{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.pf .tab[aria-selected=true]:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--color-brand)}.pf .tab .badge{box-shadow:none}.pf .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:var(--text-label);color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.pf .crumbs a{color:var(--color-text-secondary)}.pf .crumbs .ic{width:14px;height:14px}.pf .crumbs [aria-current=page]{color:var(--color-text-primary);font-weight:var(--weight-medium)}.pf .menu{min-width:220px;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.pf .menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:none;text-align:left;font-size:14px;color:var(--color-text-primary);cursor:pointer}.pf .menu-item:focus-visible,.pf .menu-item:hover{background:var(--color-surface-hover);outline:none}.pf .menu-item .ic{width:16px;height:16px;color:var(--color-text-tertiary)}.pf .menu-item .kbd-inline{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary)}.pf .menu-sep{height:1px;background:var(--color-border-subtle);margin:var(--space-1) 0}.pf .scrim{inset:0;background:var(--color-scrim);animation:pf-fade var(--duration-slow) var(--ease-standard)}.pf .scrim,.pf .sheet{position:fixed;z-index:var(--z-sheet)}.pf .sheet{top:0;right:0;bottom:0;width:min(var(--sheet-w),100vw);display:flex;flex-direction:column;background:var(--color-surface-overlay);box-shadow:var(--shadow-3);border-left:1px solid var(--color-border);animation:pf-sheet-in var(--duration-slow) var(--ease-enter)}.pf .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.pf .sheet-body{flex:1;overflow-y:auto;padding:var(--space-5)}.pf .sheet-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-subtle)}.pf .dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));z-index:var(--z-dialog);background:var(--color-surface-overlay);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);border:1px solid var(--color-border-subtle);animation:pf-dialog-in var(--duration-slow) var(--ease-enter)}@keyframes pf-fade{0%{opacity:0}}@keyframes pf-sheet-in{0%{transform:translateX(24px);opacity:0}}@keyframes pf-sheet-up{0%{transform:translateY(32px);opacity:0}}@keyframes pf-dialog-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}}@media (max-width:899.98px){.pf .dialog,.pf .sheet{top:auto;left:0;right:0;bottom:0;width:100%;max-height:92dvh;transform:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:0;animation:pf-sheet-up var(--duration-slow) var(--ease-enter)}.pf .dialog:before,.pf .sheet:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--color-border-strong);margin:8px auto 0}.pf .sheet-foot .btn{flex:1}}.pf .toast{display:flex;align-items:center;gap:var(--space-3);min-height:48px;max-width:420px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-inverse);color:var(--color-text-inverse);box-shadow:var(--shadow-4);font-size:14px;animation:pf-sheet-up var(--duration-slow) var(--ease-enter)}.pf .toast .ic{width:18px;height:18px}.pf .toast .ok{color:var(--status-success-strong)}.pf .toast .act{margin-left:auto;color:inherit;font-weight:var(--weight-semibold);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.pf .toast-region{position:fixed;z-index:var(--z-toast);right:var(--space-6);bottom:var(--space-6);display:grid;gap:var(--space-2)}@media (max-width:899.98px){.pf .toast-region{left:var(--space-4);right:var(--space-4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-3))}.pf .toast{max-width:none}}.pf .banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--status-info-border);background:var(--status-info-bg);color:var(--color-text-primary);font-size:14px}.pf .banner>.ic{color:var(--status-info-fg);margin-top:1px}.pf .banner b{font-weight:var(--weight-semibold)}.pf .banner .banner-act{margin-left:auto;flex:none}.pf .banner--warning{background:var(--status-warning-bg);border-color:var(--status-warning-border)}.pf .banner--warning>.ic{color:var(--status-warning-fg)}.pf .banner--critical{background:var(--status-critical-bg);border-color:var(--status-critical-border)}.pf .banner--critical>.ic{color:var(--status-critical-fg)}.pf .banner--success{background:var(--status-success-bg);border-color:var(--status-success-border)}.pf .banner--success>.ic{color:var(--status-success-fg)}@media (max-width:899.98px){.pf .banner{display:grid;grid-template-columns:auto minmax(0,1fr)}.pf .banner .banner-act{grid-column:2;justify-self:start;margin-left:0}}.pf .avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;flex:none;font-size:12px;font-weight:var(--weight-semibold);letter-spacing:.02em;background:var(--color-brand-subtle);color:var(--color-brand-text);box-shadow:inset 0 0 0 1px var(--color-brand-subtle-border)}.pf .avatar--sm{width:24px;height:24px;font-size:10px}.pf .avatar--lg{width:40px;height:40px;font-size:14px}.pf .avatar--vendor{border-radius:var(--radius-sm);background:var(--color-accent-subtle);color:var(--color-accent-text);box-shadow:none}.pf .avatar-stack{display:inline-flex}.pf .avatar-stack .avatar{box-shadow:0 0 0 2px var(--color-surface);margin-left:-6px}.pf .avatar-stack .avatar:first-child{margin-left:0}.pf .progress{height:6px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);overflow:hidden;box-shadow:inset 0 0 0 1px var(--color-border-subtle)}.pf .progress>span{display:block;height:100%;border-radius:inherit;background:var(--color-accent);transition:width var(--duration-slower) var(--ease-standard)}.pf .progress--critical>span{background:var(--status-critical-strong)}.pf .progress--brand>span{background:var(--color-brand)}.pf .progress-label{display:flex;justify-content:space-between;font-size:var(--text-label);color:var(--color-text-secondary);margin-bottom:6px}.pf .feed{list-style:none;margin:0;padding:0}.pf .feed li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-3);padding-bottom:var(--space-4)}.pf .feed li:before{content:"";position:absolute;left:13.5px;top:28px;bottom:0;width:1px;background:var(--color-border)}.pf .feed li:last-child:before{display:none}.pf .feed .node{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-sunken);color:var(--color-text-secondary);box-shadow:0 0 0 4px var(--color-surface)}.pf .feed .node .ic{width:14px;height:14px}.pf .feed .node--success{background:var(--status-success-bg);color:var(--status-success-fg)}.pf .feed .node--critical{background:var(--status-critical-bg);color:var(--status-critical-fg)}.pf .feed .node--brand{background:var(--color-brand-subtle);color:var(--color-brand-text)}.pf .feed .what{font-size:14px}.pf .feed .what b{font-weight:var(--weight-semibold)}.pf .feed .when{font-size:12px;color:var(--color-text-tertiary);margin-top:2px}.pf .kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(264px,1fr);gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);scroll-snap-type:x mandatory}.pf .kcol{flex-direction:column;min-height:200px;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);scroll-snap-align:start}.pf .kcol,.pf .kcol-head{display:flex;gap:var(--space-2)}.pf .kcol-head{align-items:center;padding:var(--space-1) var(--space-2) var(--space-2)}.pf .kcol-head h3{font-size:13px;font-weight:var(--weight-semibold)}.pf .kcol-head .stale{margin-left:auto}.pf .kcol-dot{width:8px;height:8px;border-radius:2px;flex:none}.pf .kcard{display:grid;gap:6px;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-1);text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.pf .kcard:hover{border-color:var(--color-border);box-shadow:var(--shadow-2);text-decoration:none}.pf .kcard:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pf .kcard.is-dragging{transform:rotate(1.5deg);box-shadow:var(--shadow-3);background:var(--color-surface-raised)}.pf .kcard.is-stale{border-left:3px solid var(--status-critical-strong);padding-left:calc(var(--space-3) - 2px)}.pf .kcard-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.pf .kcard-name{font-weight:var(--weight-semibold);font-size:14px}.pf .kcard-age{font-size:12px;font-variant-numeric:var(--font-numeric);color:var(--color-text-tertiary);white-space:nowrap}.pf .kcard-age.is-late{color:var(--status-critical-fg);font-weight:var(--weight-semibold)}.pf .kcard-title{font-size:13px;color:var(--color-text-secondary)}.pf .kcard-meta{flex-wrap:wrap;color:var(--color-text-tertiary)}.pf .kcard-meta,.pf .kcard-next{display:flex;align-items:center;gap:6px;font-size:12px}.pf .kcard-next{padding-top:var(--space-2);margin-top:2px;border-top:1px solid var(--color-border-subtle);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.pf .kcard-next .ic{width:14px;height:14px;color:var(--color-brand-text)}@media (min-width:900px){.pf .kanban{display:flex;overflow-x:auto;scroll-snap-type:none}.pf .kanban>.kcol{flex:1 1 260px;min-width:260px}.pf .kanban>.kcol-strip{flex:0 0 48px;min-width:48px}}.pf .kcol-strip{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;border-radius:var(--radius-lg);background:var(--color-surface-sunken);border:1px dashed var(--color-border);color:var(--color-text-secondary);cursor:pointer;font:inherit;min-height:200px}.pf .kcol-strip:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.pf .kcol-strip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pf .kcol-strip .kcol-strip-t{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:var(--weight-semibold);white-space:nowrap}@media (max-width:899.98px){.pf .kanban{grid-auto-columns:84%;margin:0 calc(-1 * var(--page-pad));padding:0 var(--page-pad) var(--space-2);scroll-padding:0 var(--page-pad)}}.pf .gantt{--g-day:44px;--g-label:260px;--g-row:44px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.pf .gantt-scroll{overflow-x:auto}.pf .gantt-grid{position:relative;display:grid;grid-template-columns:var(--g-label) calc(var(--g-day) * var(--g-days));min-width:max-content}.pf .g-head-days,.pf .g-head-label{position:sticky;top:0;z-index:2;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);height:48px}.pf .g-head-label{left:0;z-index:3;display:flex;align-items:flex-end;padding:0 var(--space-4) 8px;border-right:1px solid var(--color-border)}.pf .g-head-days{display:grid;grid-template-columns:repeat(var(--g-days),var(--g-day))}.pf .g-day{display:grid;justify-items:center;align-content:end;padding-bottom:6px;font-size:11px;color:var(--color-text-tertiary);font-variant-numeric:var(--font-numeric);line-height:1.2}.pf .g-day b{font-size:13px;color:var(--color-text-primary);font-weight:var(--weight-semibold)}.pf .g-day.is-off{background:var(--gantt-nonwork)}.pf .g-day.is-today b{background:var(--gantt-today);color:var(--color-accent-on);border-radius:var(--radius-xs);padding:0 5px}.pf .g-label{position:sticky;left:0;z-index:1;display:flex;align-items:center;gap:var(--space-2);height:var(--g-row);padding:0 var(--space-4);background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border-subtle);font-size:13px;min-width:0}.pf .g-label .nm{font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf .g-label .sub{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap}.pf .g-label .tx{display:grid;min-width:0}.pf .g-trade{width:8px;height:8px;border-radius:2px;flex:none}.pf .g-track{position:relative;height:var(--g-row);border-bottom:1px solid var(--color-border-subtle);background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--g-day) - 1px),var(--gantt-grid) calc(var(--g-day) - 1px),var(--gantt-grid) var(--g-day))}.pf .g-off{top:0;background:var(--gantt-nonwork)}.pf .g-off,.pf .g-today{position:absolute;bottom:0}.pf .g-today{top:48px;width:2px;margin-left:-1px;background:var(--gantt-today);z-index:2;pointer-events:none}.pf .g-plan{position:absolute;top:9px;height:26px;border-radius:var(--radius-sm);background:var(--gantt-planned-bg);border:1px dashed var(--gantt-planned-border)}.pf .g-bar{position:absolute;top:13px;height:18px;border-radius:var(--radius-xs);background:var(--gantt-bar);display:flex;align-items:center;overflow:hidden;font-size:11px;font-weight:var(--weight-semibold);color:#fff;box-shadow:var(--shadow-1)}.pf .g-bar--done{background:var(--gantt-done)}.pf .g-bar--active{background:linear-gradient(to right,var(--gantt-actual) 0,var(--gantt-actual) var(--pct),var(--gantt-actual-track) var(--pct))}.pf .g-bar--critical{box-shadow:0 0 0 2px var(--gantt-critical)}.pf .g-bar--late{box-shadow:0 0 0 2px var(--gantt-late)}.pf .g-bar--blocked{background:repeating-linear-gradient(135deg,var(--gantt-blocked) 0 6px,transparent 6px 11px);box-shadow:inset 0 0 0 1.5px var(--gantt-blocked);color:var(--color-text-primary)}.pf .g-slip{position:absolute;top:34px;height:3px;border-radius:2px;background:var(--gantt-late)}.pf .g-ms{position:absolute;top:13px;width:18px;height:18px;margin-left:-9px;display:grid;place-items:center}.pf .g-ms:before{content:"";width:12px;height:12px;transform:rotate(45deg);background:var(--gantt-milestone);border-radius:2px}.pf .g-ms.is-done:before{background:var(--gantt-done)}.pf .g-tag{position:absolute;top:13px;height:18px;display:flex;align-items:center;padding-left:8px;font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.pf .g-tag .late{color:var(--status-critical-fg);font-weight:var(--weight-semibold)}.pf .g-tag .blocked{color:var(--status-warning-fg);font-weight:var(--weight-semibold)}.pf .g-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-subtle);font-size:12px;color:var(--color-text-secondary)}.pf .g-legend span{display:inline-flex;align-items:center;gap:6px}.pf .g-legend i{display:inline-block;width:22px;height:10px;border-radius:3px}.pf .g-arrows{position:absolute;left:var(--g-label);top:48px;pointer-events:none;overflow:visible;z-index:1}.pf .g-arrows path{fill:none;stroke:var(--color-text-tertiary);stroke-width:1.25}.pf .g-arrows path.crit{stroke:var(--gantt-critical);stroke-width:1.5}@media (max-width:899.98px){.pf .gantt{--g-label:148px}.pf .g-label .sub{display:none}}.pf .files{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.pf .file-tile{position:relative;display:grid;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-subtle);background:var(--color-surface);box-shadow:var(--shadow-1)}.pf .file-tile .thumb{aspect-ratio:4/3;background:var(--color-surface-sunken);display:block;width:100%;object-fit:cover}.pf .file-tile .cap{padding:var(--space-2) var(--space-3);font-size:12px;color:var(--color-text-secondary);display:flex;justify-content:space-between;gap:var(--space-2);align-items:center}.pf .file-tile .state{position:absolute;top:8px;left:8px}.pf .file-tile .cap>:first-child{flex:1 1 auto;min-width:0}.pf .cap-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.pf .file-tile.is-rejected{box-shadow:0 0 0 2px var(--status-critical-strong)}.pf .file-tile.is-approved .state .pill{background:var(--status-success-strong);color:var(--status-success-on-strong);border-color:transparent}.pf .chart{width:100%;height:auto;display:block;overflow:visible}.pf .chart .grid line{stroke:var(--chart-grid);stroke-width:1}.pf .chart .baseline{stroke:var(--chart-baseline);stroke-width:1}.pf .chart text{fill:var(--chart-axis);font-family:var(--font-ui);font-size:11px;font-variant-numeric:var(--font-numeric)}.pf .chart text.val{fill:var(--color-text-primary);font-weight:var(--weight-semibold);font-size:12px}.pf .chart .bar{transition:opacity var(--duration-fast) var(--ease-standard)}.pf .chart .bar:hover{opacity:.85}.pf .chart .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.pf .legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:12px;color:var(--color-text-secondary)}.pf .legend span{display:inline-flex;align-items:center;gap:6px}.pf .legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.pf .kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:var(--space-2) var(--space-6);margin:0;font-size:14px}.pf .kv dt{color:var(--color-text-tertiary)}.pf .kv dd{margin:0;color:var(--color-text-primary)}.pf .list{list-style:none;margin:0;padding:0}.pf .list-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);min-height:64px;border-bottom:1px solid var(--color-border-subtle);text-decoration:none;color:inherit;transition:background-color var(--duration-fast) var(--ease-standard)}.pf .list-row:last-child{border-bottom:0}.pf a.list-row:hover{background:var(--color-surface-hover);text-decoration:none}.pf .list-ic{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-surface-sunken);color:var(--color-text-secondary)}.pf .list-ic .ic{width:18px;height:18px}.pf .list-ic--critical{background:var(--status-critical-bg);color:var(--status-critical-fg)}.pf .list-ic--brand{background:var(--color-brand-subtle);color:var(--color-brand-text)}.pf .list-ic--warning{background:var(--status-warning-bg);color:var(--status-warning-fg)}.pf .list-ic--accent{background:var(--color-accent-subtle);color:var(--color-accent-text)}.pf .list-main{min-width:0;display:grid;gap:2px}.pf .list-title{font-weight:var(--weight-semibold);font-size:15px}.pf .list-sub{font-size:13px;color:var(--color-text-secondary)}.pf .list-meta{flex-wrap:wrap;gap:6px;margin-top:4px}.pf .list-end,.pf .list-meta{display:flex;align-items:center}.pf .list-end{gap:var(--space-2);color:var(--color-text-tertiary)}.pf .grid-2{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.pf .split{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr) 340px;align-items:start}@media (max-width:1199.98px){.pf .split{grid-template-columns:minmax(0,1fr)}}.pf .stack-2{display:grid;gap:var(--space-2)}.pf .stack-3{display:grid;gap:var(--space-3)}.pf .stack-4{display:grid;gap:var(--space-4)}.pf .row,.pf .row-wrap{display:flex;align-items:center;gap:var(--space-2)}.pf .row-wrap{flex-wrap:wrap}.pf .spacer{flex:1}.pf .hide-desktop{display:none!important}@media (max-width:899.98px){.pf .hide-mobile{display:none!important}.pf .hide-desktop{display:revert!important}}@media (prefers-reduced-motion:reduce){.pf *,.pf :after,.pf :before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.pf .btn:active,.pf .fab:active,.pf .kcard.is-dragging{transform:none}}@media (max-width:899.98px){.pf .crumbs{display:none}.pf .page-actions{width:100%}.pf .page-actions .btn--primary{flex:1 1 auto}.pf .card-head{flex-wrap:wrap;padding:var(--space-4)}.pf .card-body,.pf .card-pad,.pf :is(ul,ol,dl).card-body,.pf :is(ul,ol,dl).card-pad{padding:var(--space-4)}}.pf .app--portal{display:block}.pf .app--portal .appbar{position:sticky;top:0;padding:0 var(--page-pad)}.pf .ptl-brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-primary);margin-right:var(--space-4);flex:none}.pf .ptl-nav{display:flex;align-items:stretch;height:100%;gap:var(--space-1)}.pf .ptl-link{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-text-secondary);font-size:14px;font-weight:var(--weight-medium);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}.pf .ptl-link:hover{color:var(--color-text-primary)}.pf .ptl-link[aria-current=page]{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.pf .ptl-link[aria-current=page]:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--color-brand)}.pf .ptl-link .badge{box-shadow:none}.pf .user-meta{display:grid;line-height:1.2;text-align:left}.pf .app--portal .main{max-width:none;margin:0;padding-left:var(--page-pad);padding-right:var(--page-pad)}.pf .app--portal .card p,.pf .app--portal .lead{max-width:72ch}@media (max-width:899.98px){.pf .ptl-nav{display:none}.pf .ptl-brand{margin-right:auto}.pf .app--portal .appbar{padding-left:max(var(--page-pad),env(safe-area-inset-left))}}@media (max-width:599.98px){.pf .kv{grid-template-columns:minmax(0,1fr);gap:2px}.pf .kv dd{margin-bottom:var(--space-2)}.pf .files{grid-template-columns:repeat(2,minmax(0,1fr))}}.pf .pf-sprite{position:absolute;width:0;height:0;overflow:hidden}.pf button.nav-item{border:0;background:none;width:100%;cursor:pointer;text-align:left;font:inherit;font-size:14px}.pf .rail-foot,.pf .rail-nav{display:grid;gap:2px}@media (max-width:899.98px){.pf .icon-btn.hide-desktop{display:inline-grid!important}}.pf .icon-btn:disabled{color:var(--color-text-disabled);cursor:not-allowed;background:transparent}.pf .icon-btn--sm{width:32px;height:32px}.pf .menu-anchor{position:relative;display:inline-flex}.pf .menu--pop{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-dropdown);animation:pf-fade var(--duration-base) var(--ease-enter)}.pf .menu--pop.menu--start{right:auto;left:0}.pf .menu-item:disabled{color:var(--color-text-disabled);cursor:not-allowed}.pf .menu-item--danger,.pf .menu-item--danger .ic{color:var(--status-critical-fg)}.pf .menu-label{padding:var(--space-2) var(--space-3) var(--space-1)}.pf .menu-block{padding:var(--space-2) var(--space-3);display:grid;gap:6px}.pf .sheet .menu-item{min-height:48px;font-size:16px}.pf .sheet .menu-item .ic{width:20px;height:20px}.pf .dialog .sheet-head h2,.pf .sheet-head h2{font-size:var(--text-subsection);line-height:var(--leading-subsection)}.pf .sheet-head .t-label{margin-top:2px}.pf .dialog .sheet-body{max-height:min(60dvh,560px)}.pf .dialog--danger .sheet-head h2{color:var(--status-critical-fg)}@media (max-width:899.98px){.pf .sheet-body{padding:var(--space-4)}.pf .sheet-head{padding:var(--space-3) var(--space-4)}}.pf .toast .bad{color:var(--status-critical-strong)}.pf .toast .warn{color:var(--status-warning-strong)}.pf .toast .note{color:var(--status-info-strong)}.pf .toast .dismiss{color:inherit;opacity:.7;width:32px;height:32px}.pf .toast .dismiss:hover{background:transparent;opacity:1;color:inherit}.pf .badge[data-count="0"],.pf .toast-region:empty{display:none}.pf .table .sort-static{display:inline-flex;align-items:center}.pf .table td.empty-cell{padding:0;height:auto}.pf .table td.empty-cell:hover,.pf .table tr.empty-row:hover{background:transparent}.pf .table tbody tr.is-clickable,.pf .table tbody tr[data-href]{cursor:pointer}.pf .table tbody tr.is-flagged td:first-child{box-shadow:inset 3px 0 0 var(--status-critical-strong)}.pf .table tbody tr.is-deleted td{color:var(--color-text-tertiary);text-decoration:line-through}.pf .table-card>.card-head+.table-scroll{border-top:0}.pf .table--compact{--table-row-h:36px}@media (max-width:899.98px){.pf .table--stack tr.empty-row{display:block;padding:0}.pf .table--stack td.empty-cell{display:block}.pf .table--stack tr.skeleton-row{display:grid}.pf .table--stack tbody tr.is-flagged{box-shadow:inset 3px 0 0 var(--status-critical-strong)}.pf .table--stack tbody tr.is-flagged td:first-child{box-shadow:none}}.pf .chart-card .card-pad{display:grid;gap:var(--space-3)}.pf .donut{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5)}.pf .donut svg{flex:none}.pf .donut-total{fill:var(--color-text-primary);font-family:var(--font-ui);font-size:17px;font-weight:var(--weight-semibold);font-variant-numeric:var(--font-numeric)}.pf .donut-cap{fill:var(--color-text-tertiary);font-family:var(--font-ui);font-size:11px}.pf .donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);font-size:13px;min-width:160px;flex:1 1 160px}.pf .donut-legend li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:var(--space-2);color:var(--color-text-secondary)}.pf .donut-legend i{width:10px;height:10px;border-radius:3px}.pf .donut-legend b{font-weight:var(--weight-semibold);color:var(--color-text-primary);font-variant-numeric:var(--font-numeric)}.pf .chart .marker{stroke:var(--color-surface);stroke-width:2}.pf .progress-wrap{position:relative}.pf .progress-tick{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--color-text-primary);border-radius:1px}.pf .file-tile.is-missing{border:1px dashed var(--color-border-strong);box-shadow:none;background:var(--color-surface-sunken)}.pf .file-tile.is-missing .thumb{display:grid;place-items:center;color:var(--color-text-tertiary)}.pf .file-tile button.thumb{border:0;padding:0;cursor:zoom-in}.pf .file-tile button.thumb:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-focus)}.pf .file-tile .cap .icon-btn{width:28px;height:28px;margin-right:-6px}.pf .kcol-body{display:grid;gap:var(--space-2)}.pf .kcol-empty{padding:var(--space-4) var(--space-2);text-align:center;font-size:13px;color:var(--color-text-tertiary)}.pf .avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.pf .crumbs ol{display:contents;list-style:none}.pf .crumbs li{display:inline-flex;align-items:center;gap:4px}@media (forced-colors:active){.pf .btn:focus-visible,.pf .icon-btn:focus-visible,.pf .input:focus,.pf .kcard:focus-visible,.pf .select:focus,.pf .textarea:focus{outline:2px solid CanvasText;outline-offset:2px}.pf .badge,.pf .card,.pf .kpi,.pf .pill,.pf .table-card{border:1px solid CanvasText}}.pf .list>li>.list-row{border-bottom:1px solid var(--color-border-subtle)}.pf .list>li:last-child>.list-row{border-bottom:0}.pf .list>li>button.list-row:hover{background:var(--color-surface-hover)}.pf .app[data-preview]{grid-template-rows:var(--appbar-h) auto minmax(0,1fr);grid-template-areas:"rail bar" "rail strip" "rail main"}.pf .app[data-preview]>.preview-strip{grid-area:strip}.pf .app--portal>.preview-strip{padding-left:var(--page-pad)}.pf .overline{text-decoration:none}.pf .badge{font-size:12px}.pf .kcol-empty{font-size:14px}.pf .sheet-body{min-height:0}.pf .chart .bar{display:inline}.pf .btn{min-height:0}.pf .check{position:relative}.pf .brand-name span,.pf .g-day,.pf .g-label .sub,.pf .kbd,.pf .menu-item .kbd-inline{font-size:12px}.pf .switch input{inset:0;width:100%;height:100%;margin:0;cursor:pointer}@media (max-width:899.98px){.pf .icon-btn,.pf .icon-btn--sm,.pf .user-chip{width:var(--control-lg);min-width:var(--control-lg);height:var(--control-lg)}.pf .user-chip{width:auto;padding:0 var(--space-1)}.pf .btn--sm{height:var(--control-lg)}.pf .btn--icon.btn--sm{width:var(--control-lg)}.pf .seg button,.pf .tab{height:var(--control-lg);font-size:15px}.pf .filter-chip{height:var(--control-lg);font-size:14px}.pf .check,.pf .switch,.pf .toast .act{min-height:var(--control-lg)}.pf .toast .act{padding:0 var(--space-2)}.pf .file-tile .cap .icon-btn,.pf .table .row-actions .icon-btn,.pf .table--stack td.row-actions .icon-btn,.pf .toast .dismiss{width:var(--control-lg);height:var(--control-lg)}.pf .file-tile .cap .icon-btn{margin:-8px -10px -8px 0}.pf .menu-item .kbd-inline{display:none}.pf .pill{height:26px;font-size:14px;padding:0 10px}.pf .pill--lg{height:30px}.pf .badge{min-width:20px;height:20px;font-size:14px;padding:0 5px}.pf .tag{height:26px;font-size:14px}.pf .delta{height:24px}.pf .cell-sub,.pf .crumbs,.pf .delta,.pf .donut-legend,.pf .feed .when,.pf .file-tile .cap,.pf .g-day,.pf .g-legend,.pf .g-tag,.pf .kcard-age,.pf .kcard-meta,.pf .kcard-next,.pf .kcard-title,.pf .kpi-foot,.pf .kpi-label,.pf .legend,.pf .list-sub,.pf .menu-item,.pf .overline,.pf .tab-dest,.pf .table .cell-sub{font-size:14px}.pf .tab-dest .badge{top:3px}.pf .brand-mark,.pf .g-day b,.pf .kcol-head h3,.pf .mono,.pf .table thead th,.pf small{font-size:14px}.pf .check,.pf .filter-chip{min-width:var(--control-lg)}.pf .table--stack td.row-actions.keep{width:auto}.pf .filter-chip{justify-content:center}.pf .avatar{font-size:14px}.pf .avatar--sm{width:28px;height:28px;font-size:14px}.pf .banner,.pf .empty p,.pf .feed .what,.pf .kv,.pf .list-title{font-size:var(--text-body)}}.pf .seg{margin:0;overflow:visible;grid-template-columns:none}.pf .check{color:inherit;font-size:inherit;align-items:center}.pf .input,.pf .select{min-height:0}.pf .page-head,.pf .progress{padding:0}.pf .page-head h1{margin-top:0;font-size:var(--text-title)}.pf .crumbs a{padding:0;min-height:0;min-width:0;display:inline}.pf .file-tile .thumb{padding:0;border:0;border-radius:0;font-size:inherit}.pf .file-tile .cap{flex:none}.pf .count{display:inline-grid;margin:0}.pf .count,.pf .file-tile .state{letter-spacing:0;text-transform:none}.pf .file-tile .state{padding:0;border:0;font-size:inherit;display:block}.pf .lead{font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--weight-regular);max-width:none}.pf .btn:disabled,.pf .btn:disabled:hover{opacity:1}.pf .user-meta b{font-size:13px;font-weight:var(--weight-semibold)}.pf .user-meta span{font-size:12px;color:var(--color-text-tertiary)}.pf .user-name{font-size:14px;font-weight:var(--weight-semibold)}.pf.pf--floor-14 .badge,.pf.pf--floor-14 .brand-name span,.pf.pf--floor-14 .btn--sm,.pf.pf--floor-14 .cell-sub,.pf.pf--floor-14 .crumbs,.pf.pf--floor-14 .delta,.pf.pf--floor-14 .feed .when,.pf.pf--floor-14 .field .error,.pf.pf--floor-14 .field .hint,.pf.pf--floor-14 .field label,.pf.pf--floor-14 .file-tile .cap,.pf.pf--floor-14 .filter-chip,.pf.pf--floor-14 .kbd,.pf.pf--floor-14 .kcard-age,.pf.pf--floor-14 .kcard-meta,.pf.pf--floor-14 .kcard-next,.pf.pf--floor-14 .kpi-foot,.pf.pf--floor-14 .kpi-label,.pf.pf--floor-14 .legend,.pf.pf--floor-14 .list-sub,.pf.pf--floor-14 .mono,.pf.pf--floor-14 .overline,.pf.pf--floor-14 .pill,.pf.pf--floor-14 .preview-strip,.pf.pf--floor-14 .ptl-link .badge,.pf.pf--floor-14 .seg button,.pf.pf--floor-14 .t-label,.pf.pf--floor-14 .tab-dest,.pf.pf--floor-14 .table thead th,.pf.pf--floor-14 .tag,.pf.pf--floor-14 .user-meta b,.pf.pf--floor-14 .user-meta span{font-size:14px}.pf.pf--floor-14 .pill{height:26px}.pf.pf--floor-14 .badge{min-width:20px;height:20px}@media (max-width:899.98px){.pf .table--stack tbody tr{grid-template-columns:minmax(0,1fr) auto}.pf .table--stack .cell-primary,.pf .table--stack .cell-sub,.pf .table--stack td{white-space:normal;overflow-wrap:anywhere}.pf .table--stack td.stack-title{min-width:0}}.pf .table tfoot th{padding:12px var(--space-4);border-top:1px solid var(--color-border);font-weight:var(--weight-semibold);background:var(--color-surface-sunken);text-align:left}.pf{--color-scrim-media:rgba(8,12,20,0.94)}.pf .pv{position:fixed;inset:0;z-index:var(--z-dialog);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--color-scrim-media)}.pf .pv-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-3) var(--space-2) var(--space-4);background:var(--color-surface-overlay);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle)}.pf .pv-bar b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.pf .pv-img{display:grid;place-items:center;padding:var(--space-4);min-height:0;color:var(--color-text-inverse)}.pf .pv-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.pf .pv-nav{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--color-surface-overlay);color:var(--color-text-primary);border-top:1px solid var(--color-border-subtle)}.pf .pv-nav .num{font-size:14px;color:var(--color-text-secondary);min-width:64px;text-align:center}.pf .file-pick{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pf .file-pick label.is-off{opacity:.55;pointer-events:none}.pf .file-pick label:focus-within{box-shadow:var(--focus-ring)}@media (max-width:899.98px){.pf .file-pick label{flex:1 1 auto}}.pf .file-tile .thumb--doc{display:grid;place-items:center;align-content:center;gap:var(--space-1);color:var(--color-text-secondary);text-decoration:none}.pf .file-tile a.thumb--doc:hover{color:var(--color-brand-text);text-decoration:none}.pf .file-tile .doc-label{font-size:13px}.pf .file-tile.is-hidden .thumb{opacity:.5}@media (max-width:899.98px){.pf .file-tile .doc-label{font-size:14px}}.pf .ball{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--radius-pill);font-size:13px;font-weight:var(--weight-semibold);white-space:nowrap;border:1px solid transparent}.pf .ball .ic{width:16px;height:16px;flex:none}.pf .ball--lg{height:36px;padding:0 14px;font-size:15px}.pf .ball--lg .ic{width:18px;height:18px}.pf .ball--you{background:var(--color-brand);color:var(--color-text-on-brand)}.pf .ball--customer{background:var(--status-neutral-bg);color:var(--status-neutral-fg);border-color:var(--status-neutral-border)}.pf .ball--vendor{background:color-mix(in srgb,var(--chart-7) 14%,var(--color-surface));color:var(--chart-7);border-color:color-mix(in srgb,var(--chart-7) 40%,var(--color-surface))}.pf .ball--system{background:var(--color-accent-subtle);color:var(--color-accent-text);border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-surface))}.pf .ball--nobody{background:var(--color-surface-sunken);color:var(--color-text-secondary);border-color:var(--color-border)}.pf .ball-spin{animation:pf-spin .9s linear infinite}.pf .steprail{display:grid;gap:6px;min-width:0}.pf .steprail-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;margin:0;padding:0;list-style:none}.pf .steprail-bar{height:6px;border-radius:3px;background:var(--color-surface-sunken);box-shadow:inset 0 0 0 1px var(--color-border-subtle)}.pf .steprail-bar.is-done{background:var(--color-accent);box-shadow:none}.pf .steprail-bar.is-current{background:var(--color-brand);box-shadow:none}.pf .steprail-cap{font-size:var(--text-label);color:var(--color-text-secondary)}.pf .steprail-cap b{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.pf .stagelist{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:var(--text-label)}.pf .stagelist li{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);min-height:24px}.pf .stagelist li.is-done{color:var(--color-text-secondary)}.pf .stagelist li.is-current{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.pf .stagelist-ic{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface-sunken);flex:none}.pf .stagelist li.is-done .stagelist-ic{background:var(--color-accent-subtle);color:var(--color-accent-text)}.pf .stagelist li.is-current .stagelist-ic{background:var(--color-brand-subtle);color:var(--color-brand-text)}.pf .sticky-act{display:none}.pf .kcard-wrap{display:grid;gap:0;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.pf .kcard-wrap>.kcard{border:0;box-shadow:none;background:none}.pf .kcard-wrap.is-stale{border-left:3px solid var(--status-critical-strong)}.pf .kcard-wrap.is-stale>.kcard.is-stale{border-left:0;padding-left:var(--space-3)}.pf .kcard-act{padding:0 var(--space-3) var(--space-3);display:grid;gap:4px}@media (max-width:899.98px){.pf .ball{height:30px;font-size:14px}.pf .ball--lg{height:40px;font-size:16px}.pf .stagelist{font-size:15px}.pf .sticky-act{display:flex;gap:var(--space-2);align-items:center;position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:var(--z-fab);padding:var(--space-2) max(var(--page-pad),env(safe-area-inset-right)) var(--space-2) max(var(--page-pad),env(safe-area-inset-left));background:var(--color-surface);border-top:1px solid var(--color-border-subtle);box-shadow:var(--shadow-2)}.pf .sticky-act>.btn{flex:1 1 auto;min-width:0}.pf .sticky-act .ball{flex:none}}.pf .sticky-act.sticky-act--screen{display:flex;gap:var(--space-2);align-items:center;justify-content:flex-end;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-fab);padding:var(--space-3) max(var(--page-pad),env(safe-area-inset-right)) calc(var(--space-3) + env(safe-area-inset-bottom)) max(var(--page-pad),env(safe-area-inset-left));background:var(--color-surface);border-top:1px solid var(--color-border-subtle);box-shadow:var(--shadow-2)}@media (max-width:899.98px){.pf .sticky-act.sticky-act--screen>.btn{flex:1 1 auto;min-width:0}}.pf.pf--touch-48 .btn,.pf.pf--touch-48 .btn--sm,.pf.pf--touch-48 .icon-btn,.pf.pf--touch-48 .icon-btn--sm{min-height:var(--control-lg)}.pf.pf--touch-48 .btn--icon,.pf.pf--touch-48 .icon-btn,.pf.pf--touch-48 .icon-btn--sm{min-width:var(--control-lg)}.pf.pf--touch-48 .btn--sm:not(.btn--wrap),.pf.pf--touch-48 .btn:not(.btn--wrap){height:var(--control-lg)}@media (max-width:899.98px){.pf.pf--body-17 .kv,.pf.pf--body-17 .list .btn,.pf.pf--body-17 .list-row,.pf.pf--body-17 .table--stack td.stack-title,.pf.pf--body-17 .table--stack td[data-label]{font-size:17px}}.pf .kcol-sub{flex-basis:100%;font-size:12px}@media (max-width:899.98px){.pf .kcol-sub{font-size:14px}}.pf .kcol-sub{color:var(--color-text-tertiary);font-variant-numeric:var(--font-numeric)}.pf .kcol-head{flex-wrap:wrap}.pf .kcard-solo{display:grid}@keyframes pf-card-in{0%{transform:translateY(-8px);opacity:.4}to{transform:none;opacity:1}}.pf .is-moved{animation:pf-card-in var(--duration-slow,.32s) var(--ease-standard) both;box-shadow:0 0 0 2px var(--color-brand);border-radius:var(--radius-md)}@media (prefers-reduced-motion:reduce){.pf .is-moved{animation:none}}.pf .is-dim .kcard{opacity:.72;box-shadow:none;background:var(--color-surface-sunken)}.pf .is-dim .kcard:focus-visible,.pf .is-dim .kcard:hover{opacity:1}.pf .rail-group{display:grid}.pf .rail-group .rail-label{display:block;font-size:12px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--color-text-tertiary)}