@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";.frontend-agent-observatory{--fao-watch:#cb8a24;--fao-review:#c4514a;--fao-muted:#7b8ba7}.fao-topbar{grid-template-columns:minmax(0,290px) minmax(0,1fr) auto}.fao-topbar__summary{grid-template-columns:auto minmax(0,max-content) minmax(72px,1fr)}.fao-topbar__meta,.fao-agent-card__head,.fao-agent-card__meta,.fao-panel__head,.fao-stage-header,.fao-category{align-items:center;display:flex}.fao-topbar__meta{flex-wrap:wrap;justify-content:flex-end;gap:10px}.fao-sync{min-height:40px;color:var(--ft-ink-soft);background:#f0f6fff5;border:1px solid #b4c8e88a;border-radius:15px;align-items:center;gap:10px;padding:7px 11px;font-size:.78rem;font-weight:700;display:inline-flex}.fao-sync__dot{background:var(--ft-accent);border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 5px #2f7cf71f}.fao-sync strong,.fao-sync small{display:block}.fao-sync strong{color:var(--ft-ink);font-size:.82rem}.fao-sync small{color:var(--ft-ink-soft);margin-top:2px;font-size:.74rem}.fao-observe-pill{min-height:34px;color:var(--ft-ok);background:#1c9d711a;border:1px solid #1c9d7142;border-radius:999px;align-items:center;padding:0 12px;font-size:.8rem;font-weight:800;display:inline-flex}.fao-stage-header{align-items:center}.fao-stage-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.fao-command,.fao-panel{border:1px solid var(--ft-line);background:linear-gradient(180deg, #ffffffe6, #f6fafff5), var(--ft-card);box-shadow:var(--ft-shadow-card);gap:14px;display:grid}.fao-command{border-radius:18px;grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);align-items:stretch;padding:18px}.fao-command__actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.fao-command h2,.fao-panel h2,.fao-agent-card h3{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:-.04em;margin:0}.fao-command p:not(.ft-eyebrow),.fao-agent-card__summary,.fao-compact-list p{color:var(--ft-ink-soft);margin:8px 0 0;line-height:1.62}.fao-signal-grid,.fao-layout,.fao-category-grid,.fao-agent-grid{gap:12px;display:grid}.fao-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fao-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.32fr);align-items:start}.fao-detail-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.34fr);align-items:start;gap:12px;display:grid}.fao-panel{border-radius:18px;padding:16px}.fao-panel__head{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:12px;padding-bottom:10px}.fao-category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.fao-category{background:#ffffffb8;border:1px solid #b4c8e88a;border-radius:14px;justify-content:space-between;gap:10px;min-height:58px;padding:11px}.fao-category span{color:var(--ft-ink-soft);font-size:.78rem;font-weight:700}.fao-category strong{color:var(--ft-ink);font-family:var(--ft-font-display);font-size:1.5rem}.fao-agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fao-agent-card{min-width:0;box-shadow:var(--ft-shadow-soft);background:#ffffffc2;border:1px solid #b4c8e88a;border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(150px,.34fr);gap:0;padding:0;display:grid;overflow:hidden}.fao-agent-card:hover{border-color:#2f7cf757;box-shadow:0 16px 28px #45649917}.fao-agent-card__main{gap:12px;min-width:0;padding:14px;display:grid}.fao-agent-card__top,.fao-agent-card__identity,.fao-agent-card__meta,.fao-agent-card__signal-foot{align-items:center;display:flex}.fao-agent-card__top{justify-content:space-between;gap:10px}.fao-agent-card__identity{align-items:flex-start;gap:12px}.fao-agent-card__identity div{flex:1;min-width:0}.fao-kind,.fao-state{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.74rem;font-weight:800;display:inline-flex}.fao-kind{color:var(--ft-ink-dim);background:#eff5ffcc}.fao-state{color:var(--ft-ok);background:#1c9d711f}.fao-state--watching{color:var(--fao-watch);background:#cb8a2421}.fao-state--needs_review{color:var(--fao-review);background:#c4514a1f}.fao-state--disabled{color:var(--fao-muted);background:#7b8ba71f}.fao-agent-card__icon{color:#fff;background:linear-gradient(135deg, var(--ft-accent), var(--ft-accent-secondary));width:38px;height:38px;font-family:var(--ft-font-display);border-radius:12px;flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.fao-agent-card__icon--supervisor{background:linear-gradient(135deg,#c78a18,#ffda8a)}.fao-agent-card__icon--growth{background:linear-gradient(135deg,#1c9d71,#98e8c9)}.fao-agent-card__icon--candidate{background:linear-gradient(135deg,#7b8ba7,#c9d6ea)}.fao-status{min-height:30px;color:var(--ft-ok);background:#1c9d711f;border-radius:999px;flex:none;align-items:center;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.fao-status--watching{color:var(--fao-watch);background:#cb8a241f}.fao-status--needs_review{color:var(--fao-review);background:#c4514a1f}.fao-status--disabled{color:var(--fao-muted);background:#7b8ba71f}.fao-agent-card__summary{min-height:40px;font-size:.86rem}.fao-agent-card__tags,.fao-agent-card__meta{flex-wrap:wrap;gap:8px}.fao-agent-card__meta span,.fao-agent-card__tags span{min-height:28px;color:var(--ft-ink-soft);background:#eff5ffdb;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.fao-agent-card__meta em{color:var(--ft-ink-dim);font-style:normal}.fao-agent-card__meta strong{color:var(--ft-ink)}.fao-agent-card__tags{display:flex}.fao-agent-card__signal{background:linear-gradient(#f8fbfff0,#ffffffb8);border-left:1px solid #b4c8e873;align-content:start;gap:8px;min-width:0;padding:14px;display:grid}.fao-agent-card__signal-label{color:var(--ft-ink-dim);font-family:var(--ft-font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700}.fao-agent-card__signal-value{align-items:baseline;gap:6px;display:flex}.fao-agent-card__signal-value strong{color:var(--ft-ink);font-family:var(--ft-font-display);font-size:2.1rem;line-height:1}.fao-agent-card__signal-value span,.fao-agent-card__signal-foot{color:var(--ft-ink-soft);font-size:.82rem;font-weight:700}.fao-agent-card__signal-headline{min-height:34px;color:var(--ft-ink);font-weight:800;line-height:1.35}.fao-agent-card__spark{background:repeating-linear-gradient(90deg,#7b8ba757 0 10px,#0000 10px 17px),#eff5ffeb;border-radius:999px;height:8px}.fao-agent-card__signal-foot{border-top:1px solid #b4c8e873;justify-content:space-between;gap:10px;padding-top:8px}.fao-agent-card__signal-foot strong{color:var(--ft-ink-soft)}.fao-profile-card,.fao-detail-grid,.fao-tag-columns,.fao-growth-track{gap:12px;display:grid}.fao-profile-card{background:#ffffffbd;border:1px solid #b4c8e88a;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:start;padding:13px}.fao-profile-card strong,.fao-tag-columns strong{color:var(--ft-ink)}.fao-profile-card p,.fao-detail-grid p,.fao-growth-track p{color:var(--ft-ink-soft);margin:6px 0 0;line-height:1.58}.fao-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fao-detail-grid article{background:#ffffffb3;border:1px solid #b4c8e88a;border-radius:14px;min-width:0;padding:12px}.fao-detail-grid span{color:var(--ft-ink-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.fao-detail-grid strong{color:var(--ft-ink);margin-top:6px;display:block}.fao-tag-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.fao-tag-columns>div{gap:10px;min-width:0;display:grid}.fao-growth-track{margin:0;padding:0;list-style:none}.fao-growth-track li{background:#ffffffb8;border:1px solid #b4c8e880;border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px;display:grid}.fao-growth-track li>span{width:38px;height:38px;color:var(--ft-accent);font-family:var(--ft-font-display);background:#2f7cf71a;border-radius:13px;place-items:center;font-weight:700;display:grid}.fao-growth-track li[data-state=done]>span{color:var(--ft-ok);background:#1c9d711f}.fao-growth-track li[data-state=locked]{opacity:.72}.fao-detail-action{justify-content:center}.fao-rail{gap:12px;display:grid}.fao-panel--rail{padding:14px}.fao-compact-list{gap:10px;display:grid}.fao-compact-list a{background:#ffffffb8;border:1px solid #b4c8e880;border-radius:14px;gap:4px;padding:12px;display:grid}.fao-compact-list strong{color:var(--ft-ink);font-size:.9rem}.fao-compact-list span{color:var(--ft-ink-soft);font-size:.78rem;font-weight:700}.fao-empty-event{background:#f7fbffb8;border:1px dashed #7996c557;border-radius:14px;gap:8px;padding:14px;display:grid}.fao-empty-event p{margin:0}@media (width<=1180px){.fao-command,.fao-layout,.fao-detail-layout{grid-template-columns:1fr}.fao-signal-grid,.fao-category-grid,.fao-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fao-agent-card{grid-template-columns:1fr}.fao-agent-card__signal{border-top:1px solid #b4c8e873;border-left:0}}@media (width<=860px){.fao-topbar,.fao-signal-grid,.fao-category-grid,.fao-agent-grid,.fao-detail-grid,.fao-tag-columns{grid-template-columns:1fr}.fao-topbar__meta,.fao-stage-pills{justify-content:flex-start}.fao-sync,.fao-topbar__meta .ft-button,.fao-observe-pill{justify-content:center;width:100%}.fao-agent-card__top,.fao-agent-card__identity,.fao-agent-card__signal-foot{align-items:flex-start}.fao-agent-card__top{flex-direction:column}}.frontend-ai-test-agent{--ata-ready:#1c9d71;--ata-working:#2f7cf7;--ata-warning:#cb8a24;--ata-failed:#c4514a;--ata-muted:#7b8ba7}.ata-topbar{grid-template-columns:minmax(0,290px) minmax(0,1fr) auto}.ata-topbar__summary{grid-template-columns:auto minmax(0,max-content) minmax(72px,1fr)}.ata-topbar__meta,.ata-stage-header,.ata-detail-actions,.ata-panel__head,.ata-run-row,.ata-run-row__head,.ata-run-row__meta,.ata-step-row>div:first-child,.ata-inline-actions{align-items:center;display:flex}.ata-topbar__meta{justify-content:flex-end}.ata-stage-header{align-items:center}.ata-detail-actions,.ata-inline-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.ata-status{max-width:min(100%,360px);min-height:34px;color:var(--ft-ink-soft);background:#eff5ffe0;border:1px solid #b4c8e870;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-flex}.ata-status:before{content:"";background:var(--ata-muted);border-radius:50%;flex:none;width:8px;height:8px}.ata-status--ready{color:var(--ata-ready);background:#1c9d711a}.ata-status--working{color:var(--ata-working);background:#2f7cf71a}.ata-status--warning{color:var(--ata-warning);background:#cb8a241c}.ata-status--failed{color:var(--ata-failed);background:#c4514a1a}.ata-status--muted{color:var(--ata-muted);background:#7b8ba71a}.ata-status--ready:before{background:var(--ata-ready)}.ata-status--working:before{background:var(--ata-working)}.ata-status--warning:before{background:var(--ata-warning)}.ata-status--failed:before{background:var(--ata-failed)}.ata-muted{color:var(--ft-ink-soft);margin:0;line-height:1.6}.ata-signal-grid,.ata-layout,.ata-detail-layout,.ata-run-list,.ata-rail-list,.ata-step-list,.ata-artifact-list,.ata-detail-main,.ata-section-block,.ata-suite-list,.ata-storage-meta{gap:12px;display:grid}.ata-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ata-layout{grid-template-columns:minmax(0,1fr) minmax(292px,.28fr);align-items:start}.ata-console{grid-template-columns:minmax(400px,.68fr) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.ata-stage-badges,.ata-workbench,.ata-workbench__main,.ata-workbench__rail,.ata-wizard-steps,.ata-storage-card,.ata-legacy-run-stack{gap:12px;display:grid}.ata-stage-badges{flex-wrap:wrap;justify-content:flex-end;display:flex}.ata-step-card h2{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:-.04em;margin:0}.ata-step-card p:not(.ft-eyebrow),.ata-storage-card p:not(.ft-eyebrow){color:var(--ft-ink-soft);margin:0;line-height:1.62}.ata-workbench{grid-template-columns:minmax(232px,250px) minmax(0,1fr) minmax(276px,300px);align-items:start}.ata-wizard{position:sticky;top:112px}.ata-wizard-steps{margin:0;padding:0;list-style:none}.ata-wizard-steps li{background:#ffffffb3;border:1px solid #b4c8e875;border-radius:14px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:11px;display:grid}.ata-wizard-steps li:before{content:counter(step);counter-increment:step;width:36px;height:36px;color:var(--ft-ink-soft);font-family:var(--ft-font-display);background:#7b8ba71f;border-radius:50%;place-items:center;font-weight:800;display:grid}.ata-wizard-steps{counter-reset:step}.ata-wizard-steps li.is-done:before{color:var(--ata-ready);background:#1c9d7124}.ata-wizard-steps li.is-active{background:#f7fbfff5;border-color:#2f7cf76b}.ata-wizard-steps li.is-active:before{color:#fff;background:var(--ft-accent)}.ata-wizard-steps strong{color:var(--ft-ink);grid-column:2}.ata-wizard-steps span{color:var(--ft-ink-soft);grid-column:2;line-height:1.5}.ata-step-card{box-shadow:var(--ft-shadow-soft);background:radial-gradient(circle at 100% 0,#2f7cf717,#0000 32%),linear-gradient(#f8fcfffa,#fffffff0);border:1px solid #b4c8e885;border-radius:16px;padding:16px}.ata-step-card h2{margin:4px 0 7px;font-size:clamp(1.14rem,1.35vw,1.42rem)}.ata-wizard-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ata-wizard-choice{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;gap:6px;min-width:0;padding:12px;display:grid}.ata-wizard-choice--primary{background:#f7fbfff5;border-color:#2f7cf74d}.ata-wizard-choice strong,.ata-suite-card strong,.ata-risk-card h3,.ata-risk-card__action strong,.ata-monitoring__copy h3{color:var(--ft-ink);margin:0}.ata-wizard-choice span,.ata-suite-card span,.ata-suite-card small,.ata-suite-toolbar p,.ata-risk-card__message,.ata-risk-card__action span,.ata-monitoring__copy p,.ata-empty span{color:var(--ft-ink-soft);margin:0;line-height:1.45}.ata-workbench__rail{align-content:start}.ata-storage-card{background:#f7fbffbd;border:1px dashed #b4c8e894;border-radius:15px;padding:13px}.ata-file-input{display:none}.ata-file-picker{background:#ffffffc2;border:1px solid #b4c8e88a;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;display:flex}.ata-file-picker strong{color:var(--ft-ink)}.ata-file-picker span{color:var(--ft-ink-dim);font-size:.78rem;font-weight:800}.ata-suite-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ata-suite-toolbar p{flex:300px}.ata-suite-toolbar__actions{flex-wrap:wrap;gap:10px;display:flex}.ata-suite-batch{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f7cf7 0%,#4b9bff 100%);border:0;border-radius:999px;min-height:38px;padding:0 15px;font-weight:800;box-shadow:0 10px 18px #2f7cf72e}.ata-suite-batch--ghost{color:var(--ft-ink-soft);box-shadow:none;background:#ffffffdb;border:1px solid #b4c8e894}.ata-suite-batch:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.ata-suite-card{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.ata-suite-card.is-selected{border-color:#2f7cf757;box-shadow:0 12px 26px #2f7cf71f}.ata-suite-check{color:var(--ft-ink-soft);flex:none;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:flex}.ata-suite-check input{width:16px;height:16px;accent-color:var(--ft-accent)}.ata-suite-card__copy{flex:auto;gap:4px;min-width:0;display:grid}.ata-risk-card{background:#ffffffad;border:1px solid #b4c8e875;border-radius:15px;gap:10px;padding:12px;display:grid}.ata-risk-card--warning,.ata-risk-card--failed{background:radial-gradient(circle at 100% 0,#ffffff6b,#0000 24%),linear-gradient(145deg,#fff7f4d1 0%,#ffffffc2 100%);border-color:#c4514a2e}.ata-risk-card--ready{background:radial-gradient(circle at 100% 0,#ffffff6b,#0000 24%),linear-gradient(145deg,#effcf7d6 0%,#ffffffc2 100%);border-color:#1c9d7133}.ata-risk-card__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ata-risk-card__head>div{gap:4px;display:grid}.ata-risk-card__action,.ata-risk-card__detail{background:#ffffffad;border-radius:12px;gap:5px;padding:10px;display:grid}.ata-risk-card__detail code{color:var(--ata-failed);white-space:pre-wrap;word-break:break-word;font-size:.78rem}.ata-storage-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ata-storage-meta article{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:12px;gap:5px;min-width:0;padding:10px;display:grid}.ata-storage-meta span{color:var(--ft-ink-dim);font-size:.72rem;font-weight:800}.ata-storage-meta strong{min-width:0;color:var(--ft-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ata-monitoring{gap:10px;display:grid}.ata-contract-summary,.ata-contract-stack,.ata-contract-section,.ata-preflight-list,.ata-test-case-list,.ata-triage-card,.ata-evidence-chips{gap:8px;display:grid}.ata-contract-summary strong,.ata-contract-grid strong,.ata-contract-section strong,.ata-preflight-item strong,.ata-test-case strong,.ata-triage-card strong{color:var(--ft-ink)}.ata-contract-summary p,.ata-contract-section span,.ata-contract-list li,.ata-contract-list li span,.ata-preflight-item p,.ata-test-case p,.ata-test-case small,.ata-triage-card p{color:var(--ft-ink-soft);margin:0;line-height:1.52}.ata-contract-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ata-contract-grid article,.ata-contract-section{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:12px;min-width:0;padding:10px}.ata-contract-grid span,.ata-contract-section>span{color:var(--ft-ink-dim);font-size:.72rem;font-weight:800}.ata-contract-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ata-contract-list li{gap:4px;display:grid}.ata-contract-list--steps li{padding-left:14px;position:relative}.ata-contract-list--steps li:before{content:"";background:var(--ft-accent);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:0}.ata-preflight-item,.ata-test-case,.ata-triage-card{background:#ffffffbd;border:1px solid #b4c8e875;border-radius:12px;min-width:0;padding:10px}.ata-preflight-item[data-state=warning],.ata-preflight-item[data-state=blocked],.ata-triage-card[data-state=failed],.ata-triage-card[data-state=blocked]{background:#fff8f7cc;border-color:#c4514a38}.ata-preflight-item[data-state=passed],.ata-triage-card[data-state=passed]{background:#f1fdf8c7;border-color:#1c9d7133}.ata-preflight-item>div,.ata-test-case>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.ata-preflight-item span,.ata-test-case span{color:var(--ft-ink-dim);white-space:nowrap;font-size:.72rem;font-weight:800}.ata-test-case-list{margin:0;padding:0;list-style:none}.ata-test-case{gap:5px;display:grid}.ata-test-case small{font-size:.76rem}.ata-triage-card{gap:10px}.ata-triage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ata-triage-grid article{background:#ffffffad;border-radius:11px;gap:5px;min-width:0;padding:10px;display:grid}.ata-triage-grid span{color:var(--ft-ink-dim);font-size:.72rem;font-weight:800}.ata-evidence-chips{flex-wrap:wrap;gap:8px;display:flex}.ata-evidence-chips span{min-height:28px;color:var(--ft-ink-soft);background:#edf4ffcc;border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.ata-monitoring__summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ata-monitoring__copy{gap:4px;display:grid}.ata-monitoring__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ata-monitoring__grid div{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:12px;gap:5px;min-width:0;padding:10px;display:grid}.ata-monitoring__grid span{color:var(--ft-ink-dim);font-size:.72rem;font-weight:800}.ata-monitoring__grid strong{color:var(--ft-ink)}.ata-detail-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.34fr);align-items:start}.ata-panel{border:1px solid var(--ft-line);background:linear-gradient(180deg, #ffffffeb, #f6fafff7), var(--ft-card);box-shadow:var(--ft-shadow-card);border-radius:16px;gap:12px;padding:14px;display:grid}.ata-panel--health,.ata-panel--suites,.ata-panel--composer,.ata-panel--policy{align-content:start}.ata-panel__head{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:12px;padding-bottom:9px}.ata-panel__head--compact{margin-top:4px}.ata-panel__head h2,.ata-empty h3{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:0}.ata-panel__head p{margin:0}.ata-run-row{min-width:0;box-shadow:var(--ft-shadow-soft);background:#ffffffc7;border:1px solid #b4c8e88a;border-radius:14px;justify-content:space-between;gap:12px;padding:12px}.ata-run-row__main{gap:10px;min-width:0;display:grid}.ata-run-row__head{flex-wrap:wrap;gap:10px}.ata-run-row__head strong,.ata-run-row__title,.ata-step-row strong,.ata-empty strong{color:var(--ft-ink);font-size:1rem;font-weight:700}.ata-run-row p,.ata-empty p,.ata-empty span,.ata-rail-list span,.ata-diagnosis p,.ata-diagnosis span,.ata-step-row p,.ata-plan-json pre{color:var(--ft-ink-soft);margin:0;line-height:1.48}.ata-run-row__meta{color:var(--ft-ink-dim);flex-wrap:wrap;gap:10px;font-size:.78rem;font-weight:700}.ata-run-row__meta span,.ata-run-row__meta a,.ata-run-row__id{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:260px;overflow:hidden}.ata-run-row__id{max-width:150px;color:var(--ft-ink-dim);font-family:var(--ft-font-display);flex:none;font-size:.72rem;font-weight:700}.ata-run-row__title:hover,.ata-run-row__id:hover,.ata-run-row__meta a:hover,.ata-inline-actions a:hover,.ata-artifact-list a:hover{color:var(--ft-accent)}.ata-rail-list div,.ata-empty,.ata-diagnosis,.ata-step-row,.ata-artifact-list a,.ata-plan-json{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;gap:7px;padding:11px;display:grid}.ata-health-grid,.ata-policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ata-health-grid article,.ata-policy-grid div{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;gap:6px;min-width:0;padding:12px;display:grid}.ata-health-grid article{padding:12px}.ata-health-grid span,.ata-policy-grid span{color:var(--ft-ink-dim);font-size:.72rem;font-weight:800}.ata-health-grid strong,.ata-policy-grid strong{min-width:0;color:var(--ft-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ata-health-grid strong{font-size:.94rem}.ata-health-grid small{color:var(--ft-ink-soft);line-height:1.5}.ata-field,.ata-form-actions{gap:8px;display:grid}.ata-field span{color:var(--ft-ink);font-size:.82rem;font-weight:800}.ata-field input,.ata-field select,.ata-field textarea{box-sizing:border-box;width:100%;min-height:38px;color:var(--ft-ink);font:inherit;background:#ffffffe6;border:1px solid #b4c8e8a8;border-radius:12px;padding:8px 10px}.ata-field textarea{resize:vertical;min-height:80px}.ata-form-actions{grid-template-columns:max-content minmax(0,1fr);align-items:center}.ata-form-actions p,.ata-result p,.ata-comparison p{color:var(--ft-ink-soft);margin:0;line-height:1.6}.ata-target-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ata-target-list li{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:16px;gap:5px;padding:14px;display:grid}.ata-target-list strong{color:var(--ft-ink)}.ata-target-list span{color:var(--ft-ink-soft);line-height:1.55}.ata-result{align-items:start}.ata-result__link{justify-self:start}.ata-comparison{background:#ffffff94;border:1px solid #b4c8e875;border-radius:16px;padding:16px}.ata-comparison-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ata-comparison-grid div{background:#ffffffb8;border:1px solid #b4c8e86b;border-radius:14px;gap:5px;min-width:0;padding:12px;display:grid}.ata-comparison-grid span{color:var(--ft-ink-dim);font-size:.72rem;font-weight:800}.ata-comparison-grid strong{min-width:0;color:var(--ft-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ata-rail-list strong{color:var(--ft-ink);font-size:.94rem}.ata-diagnosis{gap:14px}.ata-diagnosis div{gap:4px;display:grid}.ata-diagnosis strong,.ata-artifact-list strong,.ata-plan-json summary{color:var(--ft-ink);font-weight:700}.ata-inline-actions{justify-content:flex-start}.ata-inline-actions a{min-height:34px;color:var(--ft-ink-soft);background:#f7fbffeb;border:1px solid #b4c8e894;border-radius:12px;align-items:center;padding:0 12px;font-size:.8rem;font-weight:700;display:inline-flex}.ata-step-row{border-radius:18px}.ata-step-row[data-state=failed]{background:#fff8f7db;border-color:#c4514a47}.ata-step-row>div:first-child{flex-wrap:wrap;gap:10px}.ata-artifact-list{gap:10px}.ata-artifact-list a{gap:2px}.ata-artifact-list span{color:var(--ft-ink-dim);font-size:.78rem;font-weight:700}.ata-plan-json{overflow:hidden}.ata-plan-json summary{cursor:pointer}.ata-plan-json pre{background:#edf4ffb8;border-radius:12px;max-height:360px;padding:12px;font-size:.76rem;overflow:auto}@media (width<=1120px){.ata-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ata-console,.ata-layout,.ata-detail-layout{grid-template-columns:1fr}.ata-health-grid,.ata-policy-grid,.ata-comparison-grid,.ata-triage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ata-legacy-shell .ft-frame{padding:14px 16px 18px}.ata-legacy-shell .ft-topbar{border-radius:24px}.ata-legacy-shell .ft-stage{border-radius:24px;padding:18px}.ata-legacy-shell .ft-stage__inner{gap:14px}.ata-legacy-shell .ata-stage-header{border-bottom:1px solid var(--ft-line);margin-bottom:2px;padding:2px 0 10px}.ata-legacy-shell .ata-stage-header h1{max-width:840px;font-size:clamp(1.3rem,1.45vw,1.62rem)}.ata-legacy-shell .ata-panel{box-shadow:var(--ft-shadow-card);border-radius:26px}.ata-legacy-shell .ata-panel--policy{background:radial-gradient(circle at 90% 13%,#ffffff5c,#0000 18%),radial-gradient(circle at 3% 100%,#2f7cf71f,#0000 30%),linear-gradient(145deg,#e8f1ff 0%,#dce9fb 56%,#d2e2f6 100%)}.ata-legacy-shell .ata-panel{border-radius:18px;gap:13px;padding:16px;box-shadow:0 12px 32px #26436f14}.ata-legacy-shell .ata-panel__head{margin:0;padding:0 0 10px}.ata-legacy-shell .ata-panel__head h2{letter-spacing:0;font-size:1.02rem}.ata-legacy-shell .ata-workbench{grid-template-columns:minmax(230px,250px) minmax(0,1fr) minmax(270px,296px);gap:12px}.ata-legacy-shell .ata-step-card{border-radius:16px;padding:14px}.ata-legacy-shell .ata-step-card h2{margin:4px 0 6px;font-size:clamp(1.18rem,1.55vw,1.54rem)}.ata-legacy-shell .ata-wizard-steps{gap:10px}.ata-legacy-shell .ata-wizard-steps li{border-radius:13px;min-height:58px;padding:10px}.ata-legacy-shell .ata-wizard-steps li:before{width:34px;height:34px}.ata-legacy-shell .ata-field,.ata-legacy-shell .ata-form-actions,.ata-legacy-shell .ata-storage-card,.ata-legacy-shell .ata-wizard-choice-grid,.ata-legacy-shell .ata-suite-list,.ata-legacy-shell .ata-storage-meta,.ata-legacy-shell .ata-monitoring{gap:8px}.ata-legacy-shell .ata-field input,.ata-legacy-shell .ata-field select{min-height:38px}.ata-legacy-shell .ata-field textarea{min-height:78px}.ata-legacy-shell .ata-form-actions{grid-template-columns:max-content minmax(0,1fr)}.ata-legacy-shell .ata-health-grid,.ata-legacy-shell .ata-policy-grid{gap:8px}.ata-legacy-shell .ata-health-grid article,.ata-legacy-shell .ata-policy-grid div,.ata-legacy-shell .ata-storage-meta article,.ata-legacy-shell .ata-monitoring__grid div,.ata-legacy-shell .ata-suite-card,.ata-legacy-shell .ata-risk-card,.ata-legacy-shell .ata-risk-card__action,.ata-legacy-shell .ata-rail-list div,.ata-legacy-shell .ata-target-list li,.ata-legacy-shell .ata-run-row,.ata-legacy-shell .ata-empty{border-radius:13px;padding:11px}.ata-legacy-shell .ata-run-row{box-shadow:none;gap:10px}.ata-legacy-shell .ata-run-row p,.ata-legacy-shell .ata-empty p,.ata-legacy-shell .ata-rail-list span,.ata-legacy-shell .ata-target-list span,.ata-legacy-shell .ata-result p,.ata-legacy-shell .ata-step-card p:not(.ft-eyebrow),.ata-legacy-shell .ata-storage-card p:not(.ft-eyebrow),.ata-legacy-shell .ata-wizard-choice span,.ata-legacy-shell .ata-suite-card span,.ata-legacy-shell .ata-suite-card small,.ata-legacy-shell .ata-suite-toolbar p,.ata-legacy-shell .ata-risk-card__message,.ata-legacy-shell .ata-risk-card__action span,.ata-legacy-shell .ata-monitoring__copy p,.ata-legacy-shell .ata-empty span{font-size:.84rem;line-height:1.48}.ata-legacy-shell .ata-panel--policy{opacity:.92}.ata-legacy-shell .ata-suite-batch{min-height:34px;padding:0 13px;font-size:.8rem}.ata-legacy-shell .ata-storage-meta,.ata-legacy-shell .ata-monitoring__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ata-legacy-shell .ata-legacy-run-stack{margin-left:290px}.ata-legacy-shell .ata-legacy-run-stack .ata-result{margin-left:0}.ata-risk-card__head>div{min-width:0}.ata-risk-card h3{overflow-wrap:anywhere}@media (width<=1280px){.ata-workbench{grid-template-columns:1fr}.ata-wizard{position:static}.ata-legacy-run-stack{margin-left:0}}@media (width<=860px){.ata-workbench,.ata-legacy-shell .ata-workbench,.ata-legacy-run-stack,.ata-health-grid,.ata-contract-grid,.ata-wizard-choice-grid,.ata-storage-meta,.ata-monitoring__grid,.ata-triage-grid{grid-template-columns:1fr}.ata-stage-badges{justify-content:flex-start}.ata-topbar,.ata-signal-grid,.ata-health-grid,.ata-policy-grid,.ata-legacy-shell .ata-health-grid,.ata-legacy-shell .ata-policy-grid,.ata-comparison-grid,.ata-triage-grid,.ata-form-actions{grid-template-columns:1fr}.ata-run-row,.ata-panel__head,.ata-stage-header,.ata-legacy-shell .ata-stage-header,.ata-legacy-shell .ata-panel__head{flex-direction:column;align-items:flex-start}.ata-detail-actions{justify-content:flex-start}}.frontend-excel-agent{--fea-ready:#1c9d71;--fea-warning:#b76e11;--fea-failed:#c4514a;--fea-muted:#667a99;--fea-blue-soft:#eaf1ff;--fea-amber-soft:#fff3dc;--fea-green-soft:#eaf7f1;--fea-red-soft:#fff0ee;background:linear-gradient(#f6f8fb 0%,#eef3f8 100%)}.frontend-excel-agent .ft-frame{padding:14px}.frontend-excel-agent .ft-stage{overflow:visible}.fea-topbar{border-color:#b8c7dbe6;border-radius:18px 18px 0 0;grid-template-columns:284px minmax(260px,1fr) auto;min-height:62px;top:0;box-shadow:0 18px 46px #16223514}.fea-search{min-width:0;min-height:36px;color:var(--ft-ink-soft);text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #b8c7dbbd;border-radius:10px;align-items:center;padding:0 12px;font-size:.84rem;font-weight:700;display:flex;overflow:hidden}.fea-topbar__meta,.fea-stage-tabs,.fea-stage-actions,.fea-panel__head,.fea-job-row,.fea-actions,.fea-save-actions,.fea-result-link,.fea-metric-line,.fea-supervisor-grid{align-items:center;display:flex}.fea-topbar__meta{justify-content:flex-end;gap:8px}.fea-health,.fea-status{white-space:nowrap;border-radius:999px;align-items:center;gap:8px;min-height:30px;padding:0 11px;font-size:.76rem;font-weight:800;display:inline-flex}.fea-health{color:var(--fea-ready);background:var(--fea-green-soft)}.fea-health:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.fea-health--warning{color:var(--fea-warning);background:var(--fea-amber-soft)}.fea-status{color:var(--fea-muted);background:#7b8ba71f;flex:none}.fea-status--generated{color:var(--fea-ready);background:var(--fea-green-soft)}.fea-status--blocked,.fea-status--failed{color:var(--fea-failed);background:var(--fea-red-soft)}.fea-status--review{color:var(--fea-warning);background:var(--fea-amber-soft)}.fea-stage{background:#fff;border-color:#b8c7dbe6;border-top-style:none;border-top-width:0;border-radius:0 0 18px 18px;min-height:calc(100dvh - 90px);margin-top:0;padding:0;box-shadow:0 18px 46px #16223514}.fea-stage .ft-stage__inner{gap:0}.fea-stage-tabs{background:#fff;border-bottom:1px solid #d7e0ec;justify-content:flex-end;gap:8px;min-width:0;padding:12px 16px}.fea-stage-tabs .ft-button{border-radius:9px;min-height:36px;padding:0 12px}.fea-v3-shell{background:#fff;grid-template-columns:74px minmax(0,1fr);min-width:0;min-height:calc(100dvh - 152px);display:grid;position:relative}.fea-v3-rail{background:#f7f9fc;border-right:1px solid #d7e0ec;align-content:start;gap:8px;padding:14px 10px;display:grid}.fea-rail-button{min-height:46px;color:var(--ft-ink-soft);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:12px;font-size:.78rem;font-weight:900}.fea-rail-button:hover,.fea-rail-button.is-active{color:var(--ft-accent);background:#fff;border-color:#2f7cf73d;box-shadow:0 10px 24px #21334e14}.fea-review-form--v3{grid-template-columns:minmax(0,1fr) 318px;align-items:start;min-width:0;display:grid}.fea-v3-main,.fea-v3-side,.fea-v3-alt{min-width:0;padding:16px}.fea-v3-main{background:#fff;gap:14px;display:grid}.fea-v3-side{background:#f8fafc;border-left:1px solid #d7e0ec;gap:12px;display:grid;position:sticky;top:16px}.fea-v3-alt{grid-column:2;margin:0}.fea-v3-command{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #b8c7dbe0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:-16px -16px 0;padding:14px 16px;display:grid;position:sticky;top:0;box-shadow:0 14px 34px #1b283a14}.fea-task-strip{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.fea-task-strip strong{min-width:0;color:var(--ft-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.fea-command-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.fea-command-actions .ft-button{border-radius:9px;min-height:38px;padding:0 12px}.fea-workbench-flow{grid-template-columns:292px minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.fea-input-panel,.fea-workbench-review,.fea-run-form{min-width:0}.fea-input-panel{background:#f8fafc;border:1px solid #d7e0ec;border-radius:14px;gap:14px;padding:14px;display:grid;position:sticky;top:74px}.fea-input-panel:focus{outline:0;box-shadow:0 0 0 4px #2f7cf71a}.fea-input-stack,.fea-recent-panel,.fea-run-form{gap:12px;display:grid}.fea-recent-panel{padding-top:2px}.fea-recent-panel .fea-panel__head{align-items:flex-start}.fea-recent-panel .fea-job-list{max-block-size:min(48dvh,520px);padding-right:2px;overflow:auto}.fea-flow-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.fea-flow-step{background:#f8fafc;border:1px solid #d7e0ec;border-radius:12px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.fea-flow-step>span{block-size:30px;inline-size:30px;color:var(--ft-accent);background:#2f7cf71a;border-radius:50%;place-items:center;font-weight:900;display:grid}.fea-flow-step.is-active{background:#fff8ec;border-color:#f0cf9a}.fea-flow-step.is-done>span{background:var(--fea-green-soft);color:var(--fea-ready)}.fea-flow-step strong,.fea-flow-step small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.fea-flow-step strong{color:var(--ft-ink);font-size:.84rem}.fea-flow-step small{color:var(--ft-ink-soft);font-size:.76rem;font-weight:700}.fea-table-card{gap:10px;display:grid}.fea-table-head,.fea-priority-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.fea-table-head h2,.fea-priority-head h2{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:0;font-size:1rem}.fea-table-summary{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.fea-table-summary span{min-height:24px;color:var(--ft-ink-soft);background:#f8fafc;border:1px solid #d7e0ec;border-radius:999px;align-items:center;padding:0 9px;font-size:.74rem;font-weight:850;display:inline-flex}.fea-inspector-list{gap:8px;display:grid}.fea-inspector-row{min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #d7e0ec;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px;display:flex}.fea-inspector-row.is-active,.fea-inspector-row:hover{background:var(--fea-blue-soft);border-color:#bdd0f2}.fea-inspector-row span:first-child{gap:3px;min-width:0;display:grid}.fea-inspector-row strong,.fea-inspector-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fea-block,.fea-signal-list,.fea-command-form,.fea-job-list,.fea-risk-focus,.fea-required-grid,.fea-right-inner,.fea-control-panel,.fea-state-box,.fea-layout,.fea-rail{gap:12px;display:grid}.fea-block{border-bottom:1px solid #d7e0ec;margin-bottom:16px;padding-bottom:16px}.fea-block:last-child{border-bottom:0;margin-bottom:0}.fea-panel,.fea-control-panel{border:1px solid var(--ft-line);background:#fff;border-radius:14px;min-width:0}.fea-panel{box-shadow:var(--ft-shadow-card);gap:14px;padding:16px;display:grid}.fea-control-panel{border-color:#bed0ee;padding:14px}.fea-control-panel--secondary{border-color:#d7e0ec}.fea-panel__head{justify-content:space-between;gap:10px}.fea-panel__head h2,.fea-review-stage h1,.fea-current-task h2,.fea-result-head h2,.fea-empty h3{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:0}.fea-panel__head h2,.fea-result-head h2,.fea-current-task h2{font-size:1rem}.fea-review-stage{border-bottom:1px solid #d7e0ec;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding-bottom:14px;display:grid}.fea-review-stage h1{font-size:1.35rem;line-height:1.28}.fea-review-stage p:not(.ft-eyebrow),.fea-current-task span,.fea-result-head span,.fea-state-box span,.fea-risk-row span,.fea-empty p,.fea-empty-line,.fea-signal-item span,.fea-message,.fea-table small,.fea-kpi small,.fea-save-note{color:var(--ft-ink-soft);line-height:1.48}.fea-stage-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.fea-stage-actions .ft-button{border-radius:9px;min-height:36px;padding:0 12px}.fea-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.fea-kpi{background:#f8fafc;border:1px solid #d7e0ec;border-radius:12px;gap:4px;min-width:0;padding:11px 12px;display:grid}.fea-kpi span{color:var(--ft-ink-dim);font-size:.76rem;font-weight:800}.fea-kpi strong{color:var(--ft-ink);font-family:var(--ft-font-display);font-size:1.05rem}.fea-current-task{background:#f8fbff;border:1px solid #c7d6ea;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:15px;padding:13px 14px;display:grid}.fea-save-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.fea-save-note{width:min(210px,100%);font-size:.78rem;font-weight:700}.fea-risk-row{background:#fff8ec;border:1px solid #f0cf9a;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.fea-risk-row.is-ok{background:#edf8f3;border-color:#badccd}.fea-risk-row.is-bad{background:#fff0ee;border-color:#efc2bf}.fea-risk-row div,.fea-result-head,.fea-signal-item{gap:4px;min-width:0;display:grid}.fea-risk-row strong,.fea-signal-item strong{color:var(--ft-ink)}.fea-duplicate-panel{background:#fffaf0;border:1px solid #f0cf9a;border-radius:12px;gap:10px;padding:12px;display:grid}.fea-duplicate-panel__head,.fea-duplicate-item,.fea-duplicate-choice{min-width:0}.fea-duplicate-panel__head{justify-content:space-between;gap:10px;display:flex}.fea-duplicate-panel__head div,.fea-duplicate-list{gap:4px;min-width:0;display:grid}.fea-duplicate-panel strong,.fea-duplicate-item span{color:var(--ft-ink)}.fea-duplicate-panel span,.fea-duplicate-panel small{color:var(--ft-ink-soft);line-height:1.45}.fea-duplicate-item{background:#fff;border:1px solid #f3d9aa;border-radius:10px;gap:2px;padding:7px 9px;display:grid}.fea-duplicate-item span,.fea-duplicate-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fea-duplicate-choice{border:0;flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;display:flex}.fea-duplicate-choice legend{width:100%;color:var(--ft-ink);font-size:.78rem;font-weight:900}.fea-duplicate-choice label{color:var(--ft-ink);align-items:center;gap:6px;font-size:.84rem;font-weight:800;display:inline-flex}.fea-field{color:var(--ft-ink);gap:6px;font-weight:800;display:grid;position:relative}.fea-field input,.fea-field select,.fea-field textarea,.fea-filters input,.fea-filters select,.fea-table input{width:100%;min-width:0;color:var(--ft-ink);font:inherit;background:#fff;border:1px solid #b4c8e8d1;border-radius:9px;padding:8px 10px;font-weight:700}.fea-field input:focus,.fea-filters input:focus,.fea-filters select:focus,.fea-table input:focus{border-color:#2f7cf794;outline:0;box-shadow:0 0 0 4px #2f7cf71a}.fea-mapping-control{gap:5px;display:grid}.fea-mapping-control span{color:var(--ft-ink-soft);font-size:.72rem;font-weight:800}.fea-field small{color:var(--ft-ink-soft);font-weight:600}.fea-file-input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.fea-file-picker{cursor:pointer;background:#fff;border:1px dashed #b9c8dc;border-radius:12px;gap:4px;min-height:42px;padding:10px;display:grid}.fea-file-picker strong{color:var(--ft-ink);font-size:.9rem}.fea-file-picker small{min-width:0;color:var(--ft-ink-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fea-field:focus-within .fea-file-picker{border-color:#2f7cf76b;box-shadow:0 0 0 4px #2f7cf71a}.fea-actions{flex-wrap:wrap;gap:8px}.fea-actions .ft-button{border-radius:9px;min-height:38px;padding:0 12px}.fea-actions .ft-button,.fea-stage-actions .ft-button,.fea-run-button,.fea-danger-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.fea-run-button{border-radius:9px;min-width:148px;min-height:38px;padding:0 16px}.fea-message{margin:0;font-size:.86rem;font-weight:800}.fea-message--failed{color:var(--fea-failed)}.fea-message--succeeded{color:var(--fea-ready)}.fea-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;block-size:14px;inline-size:14px;animation:.72s linear infinite fea-spin}.fea-busy-overlay{z-index:70;color:#eaf2ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 42%,#2f7cf738,#0000 30%),#08101e8f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.fea-busy-grid{background-image:linear-gradient(#88b1ff26 1px,#0000 1px),linear-gradient(90deg,#88b1ff26 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000 68%)}.fea-busy-grid span{background:linear-gradient(#0000 0%,#66aaff52 48%,#0000 100%);animation:1.7s ease-in-out infinite fea-grid-scan;position:absolute;inset:0}.fea-busy-orbit{border:1px solid #bedcff6b;border-radius:50%;place-items:center;block-size:132px;inline-size:132px;animation:1.8s linear infinite fea-orbit;display:grid;position:relative;box-shadow:0 0 42px #4e97ff57,inset 0 0 28px #4e97ff2e}.fea-busy-orbit:before,.fea-busy-orbit:after{content:"";border:1px solid #bedcff4d;border-radius:50%;position:absolute}.fea-busy-orbit:before{inset:18px}.fea-busy-orbit:after{background:#2f7cf7b8;inset:42px;box-shadow:0 0 24px #4fa0ffcc}.fea-busy-orbit span{background:#d9ecff;border-radius:50%;block-size:9px;inline-size:9px;position:absolute;box-shadow:0 0 18px #d9ecfff2}.fea-busy-orbit span:first-child{top:-5px}.fea-busy-orbit span:nth-child(2){bottom:18px;right:12px}.fea-busy-orbit span:nth-child(3){bottom:18px;left:12px}.fea-busy-copy{z-index:1;text-align:center;justify-items:center;gap:7px;margin-top:18px;display:grid;position:relative}.fea-busy-copy strong{color:#fff;font-family:var(--ft-font-display);letter-spacing:0;font-size:1.08rem}.fea-busy-copy span,.fea-busy-copy small{color:#eaf2ffd1;font-weight:800}.fea-busy-copy small{background:#ffffff14;border:1px solid #bedcff47;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;display:inline-flex}@keyframes fea-grid-scan{0%{opacity:0;transform:translateY(-100%)}28%,70%{opacity:1}to{opacity:0;transform:translateY(100%)}}@keyframes fea-orbit{to{transform:rotate(360deg)}}@keyframes fea-spin{to{transform:rotate(360deg)}}.fea-job-row{min-width:0;color:inherit;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) 74px;align-items:stretch;gap:8px;padding:8px;display:grid}.fea-job-row:hover{background:#fff;border-color:#2f7cf738}.fea-job-row.is-active{background:var(--fea-blue-soft);border-color:#bdd0f2}.fea-job-open,.fea-job-delete{color:inherit;font:inherit;background:0 0;border:0}.fea-job-open{text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:2px;display:grid}.fea-job-main{gap:4px;min-width:0;display:grid}.fea-job-main strong,.fea-job-file,.fea-job-time{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fea-job-meta{grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;display:grid}.fea-job-file{max-width:100%;display:block}.fea-job-time{display:block}.fea-job-row strong{color:var(--ft-ink)}.fea-job-row small{color:var(--ft-ink-soft);line-height:1.48}.fea-job-delete{inline-size:74px;color:#a63831;cursor:pointer;white-space:nowrap;border:1px solid #efc2bf;border-radius:8px;align-self:center;min-height:28px;padding:0;font-size:.78rem;font-weight:850}.fea-job-delete:hover{background:#fff0ee}.fea-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#151f2e6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.fea-delete-dialog{background:#fffdfb;border:1px solid #efc2bf;border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:16px;width:min(520px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #1b283a42}.fea-delete-dialog__mark{color:#b3342c;background:#fff0ee;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.fea-delete-dialog__body{gap:10px;min-width:0;display:grid}.fea-delete-dialog__body h2,.fea-delete-dialog__body p{margin:0}.fea-delete-dialog__body h2{color:var(--ft-ink);font-family:var(--ft-font-display);font-size:1.18rem}.fea-delete-dialog__body p{color:var(--ft-ink-soft);font-weight:800;line-height:1.55}.fea-dialog-note{color:var(--fea-warning)!important}.fea-delete-dialog__meta{background:#f8fbff;border-radius:12px;gap:7px;margin:0;padding:12px;display:grid}.fea-delete-dialog__meta div{grid-template-columns:72px minmax(0,1fr);gap:10px;display:grid}.fea-delete-dialog__meta dt,.fea-delete-dialog__meta dd{min-width:0;margin:0}.fea-delete-dialog__meta dt{color:var(--ft-ink-muted);font-size:.78rem;font-weight:900}.fea-delete-dialog__meta dd{color:var(--ft-ink);overflow-wrap:anywhere;font-size:.88rem;font-weight:800}.fea-delete-dialog__actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.fea-danger-button{color:#fff;background:#b3342c;border:1px solid #b3342c;border-radius:9px;min-height:38px;padding:0 13px;font-weight:900}.fea-danger-button:hover{background:#932820}.fea-filters{grid-template-columns:minmax(0,1fr) 140px;gap:8px;margin:12px 0 10px;display:grid}.fea-table-wrap{border:1px solid #d7e0ec;border-radius:14px;max-width:100%;overflow:auto}.fea-table{border-collapse:collapse;width:100%;min-width:760px}.fea-table th,.fea-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d7e0ec;padding:9px 10px;font-size:.84rem}.fea-table th{z-index:1;color:var(--ft-ink-soft);letter-spacing:.04em;text-transform:uppercase;background:#f4f7fb;font-size:.7rem;font-weight:800;position:sticky;top:0}.fea-table tr:last-child td{border-bottom:0}.fea-table tr:hover td{background:#fbfdff}.fea-table tr[data-risk=true] td{background:#fff8e8;box-shadow:inset 3px 0 #b76700b3}.fea-table tr[data-blocked=true] td,.fea-table tr[data-required=true][data-risk=true] td{background:#fff3ee;box-shadow:inset 3px 0 #b93d2dc7}.fea-table tr[data-blocked=true]:hover td,.fea-table tr[data-required=true][data-risk=true]:hover td{background:#ffefe8}.fea-table td:first-child{width:31%;min-width:220px}.fea-table strong{color:var(--ft-ink);display:block}.fea-tag,.fea-status-chip{width:fit-content;min-height:24px;color:var(--ft-accent);white-space:nowrap;background:#2f7cf71a;border-radius:999px;align-items:center;margin:2px 4px 2px 0;padding:0 8px;font-size:.72rem;font-weight:800;display:inline-flex}.fea-tag--ok,.fea-status-chip.is-mapped{color:var(--fea-ready);background:var(--fea-green-soft)}.fea-tag--warn,.fea-status-chip.is-risk{color:var(--fea-warning);background:var(--fea-amber-soft)}.fea-tag--bad{color:var(--fea-failed);background:var(--fea-red-soft)}.fea-tag--muted,.fea-status-chip.is-pending{color:var(--fea-muted);background:#7b8ba71f}.fea-required-actions{background:#fbfdff;border:1px dashed #7996c56b;border-radius:14px;gap:10px;margin-top:12px;padding:12px;display:grid}.fea-required-actions__head{justify-content:space-between;gap:10px;display:flex}.fea-required-actions__head h2{color:var(--ft-ink);font-family:var(--ft-font-display);margin:0;font-size:1rem}.fea-required-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fea-required-empty{background:#edf8f3;border:1px solid #badccd;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.fea-required-empty strong{color:var(--ft-ink)}.fea-required-empty span{color:var(--ft-ink-soft);font-size:.86rem;font-weight:700}.fea-blocker-list{background:#fff8f5;border:1px solid #b93d2d38;border-radius:14px;gap:8px;padding:12px;display:grid}.fea-blocker-list>strong{color:var(--fea-failed);font-size:.9rem}.fea-blocker-item{border-top:1px solid #b93d2d1f;grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);align-items:start;gap:8px;padding:8px 0;display:grid}.fea-blocker-item span{color:var(--ft-ink);font-weight:850}.fea-blocker-item small,.fea-blocker-list>small{color:var(--ft-ink-soft)}.fea-checkline{color:var(--ft-ink-soft);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:inline-flex}.fea-checkline input{width:auto}.fea-right-inner{position:sticky;top:16px}.fea-state-box{background:#f8fafc;border:1px solid #d7e0ec;border-radius:12px;padding:11px}.fea-metric-line{justify-content:space-between;gap:10px}.fea-metric-line span{font-size:.82rem;font-weight:700}.fea-metric-line strong{color:var(--ft-ink);font-family:var(--ft-font-display)}.fea-progress{background:#e5ecf5;border-radius:999px;height:8px;overflow:hidden}.fea-progress span{border-radius:inherit;background:var(--fea-warning);width:64%;height:100%;display:block}.fea-progress--blocked span{background:var(--fea-failed);width:42%}.fea-progress--done span{background:var(--fea-ready);width:100%}.fea-result-link{min-height:44px;color:inherit;background:#f8fafc;border:1px solid #d7e0ec;border-radius:10px;justify-content:space-between;gap:10px;padding:10px;text-decoration:none}.fea-result-link.is-disabled{color:var(--ft-ink-dim);background:#f4f6f8}.fea-empty{background:#ffffffb3;border:1px dashed #7996c56b;border-radius:13px;justify-items:start;gap:7px;padding:14px;display:grid}.fea-empty--large{align-content:center;min-height:240px}.fea-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.36fr);align-items:start;padding:16px}.fea-supervisor-grid{flex-wrap:wrap;gap:8px}.fea-supervisor-grid span,.fea-signal-item{background:#ffffffb8;border:1px solid #b4c8e87a;border-radius:12px}.fea-supervisor-grid span{min-height:28px;color:var(--ft-ink-soft);align-items:center;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.fea-signal-item{padding:10px}.fea-rules-workbench{margin:16px}@media (width<=1180px){.fea-review-form--v3{grid-template-columns:minmax(0,1fr)}.fea-v3-side{border-top:1px solid #d7e0ec;border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));position:static}.fea-workbench-flow{grid-template-columns:minmax(240px,.38fr) minmax(0,1fr)}.fea-input-panel{position:static}.fea-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.frontend-excel-agent{overflow-x:hidden}.frontend-excel-agent .ft-frame{padding:0}.fea-topbar{border-radius:0;grid-template-columns:1fr;position:static}.fea-stage{border-radius:0;min-height:100dvh}.fea-topbar__meta,.fea-stage-actions,.fea-save-actions{justify-content:flex-start}.fea-v3-shell{grid-template-columns:1fr;max-width:100vw}.fea-v3-rail{z-index:25;border-bottom:1px solid #d7e0ec;border-right:0;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px;position:sticky;top:0}.fea-rail-button{min-height:38px}.fea-review-form--v3,.fea-v3-side,.fea-workbench-flow,.fea-flow-steps,.fea-kpis,.fea-current-task,.fea-table-head,.fea-priority-head,.fea-filters,.fea-layout,.fea-required-grid{grid-template-columns:1fr}.fea-v3-main,.fea-v3-side,.fea-v3-alt{width:100%;max-width:100vw;padding:12px}.fea-v3-command{grid-template-columns:1fr;margin:-12px -12px 0;padding:12px}.fea-command-actions{justify-content:flex-start}}.frontend-pdf-form-agent{--pff-ready:#1c9d71;--pff-working:#2f7cf7;--pff-warning:#c17b27;--pff-failed:#c4514a;--pff-muted:#7b8ba7}.pff-topbar{grid-template-columns:minmax(0,290px) minmax(0,1fr) auto}.pff-topbar__summary{grid-template-columns:auto minmax(0,max-content) minmax(72px,1fr)}.pff-topbar__meta,.pff-stage-header,.pff-panel__head,.pff-stage-badges,.pff-actions,.pff-feedback-disclosure summary{align-items:center;display:flex}.pff-topbar__meta,.pff-stage-badges,.pff-actions{justify-content:flex-end}.pff-status{min-height:34px;color:var(--ft-ink-soft);white-space:nowrap;background:#eff5ffe0;border:1px solid #b4c8e870;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.78rem;font-weight:800;display:inline-flex}.pff-status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.pff-status--ready{color:var(--pff-ready);background:#1c9d711a}.pff-status--working{color:var(--pff-working);background:#2f7cf71a}.pff-status--warning{color:var(--pff-warning);background:#c17b271c}.pff-status--failed{color:var(--pff-failed);background:#c4514a1a}.pff-status--muted{color:var(--pff-muted);background:#7b8ba71a}.pff-modea-shell .ft-frame{padding:14px 16px 18px}.pff-modea-shell .ft-topbar,.pff-modea-shell .ft-stage{border-radius:24px}.pff-modea-shell .ft-stage{padding:18px}.pff-modea-shell .ft-stage__inner{gap:12px}.pff-stage-header{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:16px;padding:2px 0 12px}.pff-stage-header h1{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:4px 0 0;font-size:clamp(1.28rem,1.45vw,1.62rem)}.pff-stage-badges{flex-wrap:wrap;gap:10px}.pff-workbench-grid{grid-template-columns:minmax(320px,.56fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.pff-panel{border:1px solid var(--ft-line);background:linear-gradient(#fffffff0,#f7fafff7);border-radius:18px;gap:12px;padding:16px;display:grid;box-shadow:0 12px 32px #26436f14}.pff-panel--result{min-height:100%}.pff-panel__head{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:12px;padding-bottom:10px}.pff-panel__head h2{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:0;font-size:1.04rem}.pff-panel__head p{margin:0}.pff-command-form,.pff-feedback-form,.pff-field,.pff-result{gap:9px;display:grid}.pff-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pff-mode-card{min-height:48px;color:var(--ft-ink-soft);text-align:left;cursor:pointer;background:#ffffffc7;border:1px solid #b4c8e8b8;border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;display:grid}.pff-mode-card.is-active{color:var(--ft-ink);background:#f4f9fffa;border-color:#2f7cf794}.pff-mode-card__radio{background:#fff;border:1px solid #27395c73;border-radius:999px;width:16px;height:16px}.pff-mode-card.is-active .pff-mode-card__radio{border-color:var(--pff-working);background:var(--pff-working);box-shadow:inset 0 0 0 4px #fff}.pff-mode-card__copy strong,.pff-file-picker strong,.pff-result strong,.pff-result-meta strong,.pff-review-grid strong{color:var(--ft-ink);font-weight:800}.pff-field span{color:var(--ft-ink);font-size:.82rem;font-weight:800}.pff-field input,.pff-field select,.pff-field textarea{box-sizing:border-box;width:100%;min-height:38px;color:var(--ft-ink);font:inherit;background:#ffffffe6;border:1px solid #b4c8e8a8;border-radius:12px;padding:8px 10px}.pff-field textarea{resize:vertical;min-height:90px}.pff-file-field{position:relative}.pff-file-input{opacity:0;cursor:pointer;width:100%;height:calc(100% - 22px);position:absolute;inset:22px 0 0}.pff-file-picker{background:#ffffffbd;border:1px solid #b4c8e89e;border-radius:14px;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.pff-file-picker div{flex:auto;min-width:0}.pff-file-picker em{color:var(--ft-ink-soft);background:#eff5fff5;border-radius:999px;flex:none;padding:7px 11px;font-size:.8rem;font-style:normal;font-weight:800}.pff-file-icon{width:38px;height:38px;color:var(--ft-accent);font-family:var(--ft-font-display);background:#2f7cf714;border:1px solid #2f7cf742;border-radius:12px;flex:none;place-items:center;font-size:.76rem;font-weight:800;display:grid}.pff-file-icon--danger{color:var(--pff-failed);background:#c4514a1a;border-color:#c4514a38}.pff-field small,.pff-feedback-status{max-width:100%;color:var(--ft-ink-dim);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.5;overflow:hidden}.pff-form-grid{grid-template-columns:minmax(0,1.4fr) minmax(116px,.6fr);gap:12px;display:grid}.pff-actions .ft-button{min-width:148px}.pff-actions .ft-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.pff-visualizer{background-color:#fbfdff;background-image:linear-gradient(90deg,#2f7cf712 1px,#0000 1px),linear-gradient(#2f7cf712 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #b4c8e880;border-radius:16px;grid-template-columns:minmax(180px,1fr) minmax(86px,.36fr) minmax(180px,1fr);align-items:center;gap:20px;min-height:390px;padding:22px 22px 118px;display:grid;position:relative;overflow:hidden}.pff-visualizer--idle{opacity:.78}.pff-visualizer__sheet{background-color:#ffffffe6;background-image:linear-gradient(90deg,#23354d0a 1px,#0000 1px),linear-gradient(#23354d0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #b4c8e8b3;border-radius:12px;min-height:250px;position:relative;box-shadow:0 18px 36px #45649914}.pff-visualizer__sheet:before{content:attr(data-label);z-index:2;color:var(--ft-ink-soft);background:#ffffffeb;border:1px solid #b4c8e89e;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:800;position:absolute;top:12px;left:12px}.pff-doc-line,.pff-doc-field{border-radius:6px;position:absolute}.pff-doc-line{background:#23354d1f;height:8px}.pff-doc-line--a{width:34%;top:26%;left:12%}.pff-doc-line--b{width:68%;top:48%;left:12%}.pff-doc-line--c{width:48%;top:74%;left:12%}.pff-doc-field{background:#2f7cf717;border:2px solid #2f7cf7ad;box-shadow:0 0 0 5px #2f7cf70f}.pff-doc-field--a{width:34%;height:34px;top:21%;left:49%}.pff-doc-field--b{width:68%;height:38px;top:54%;left:12%}.pff-doc-field--c{background:#1c9d711f;border-color:#1c9d71ad;width:22%;height:30px;top:72%;left:64%}.pff-visualizer--failed .pff-visualizer__sheet--new .pff-doc-field--b{background:#c4514a1f;border-color:#c4514ab8;box-shadow:0 0 0 5px #c4514a14}.pff-visualizer__core{place-items:center;min-height:160px;display:grid;position:relative}.pff-copy-core{width:78px;height:78px;color:var(--pff-working);font-family:var(--ft-font-display);background:#ffffffc2;border:1px solid #2f7cf73d;border-radius:50%;place-items:center;font-size:.82rem;font-weight:900;display:grid;position:relative;box-shadow:0 18px 40px #2f7cf726}.pff-visualizer--running .pff-copy-core:before,.pff-visualizer--running .pff-copy-core:after{content:"";border:1px solid #2f7cf73d;border-radius:50%;animation:2.2s ease-out infinite pff-pulse;position:absolute;inset:-16px}.pff-visualizer--running .pff-copy-core:after{animation-delay:.8s}.pff-copy-line{background:linear-gradient(90deg,#0000,#2f7cf7d1,#0000);width:48%;height:2px;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.pff-copy-line--left{right:54%}.pff-copy-line--right{left:54%}.pff-visualizer--running .pff-copy-line:after{content:"";filter:blur(4px);background:#ffffffeb;width:34px;animation:1.75s linear infinite pff-travel;position:absolute;inset:-2px auto -2px 0}.pff-scan-beam{mix-blend-mode:multiply;pointer-events:none;background:linear-gradient(#0000,#2f7cf729,#1c9d711f,#0000);height:78px;animation:3.1s ease-in-out infinite pff-scan;position:absolute;top:0;left:0;right:0}.pff-visualizer__dock{box-shadow:var(--ft-shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #b4c8e89e;border-radius:14px;gap:10px;padding:13px;display:grid;position:absolute;bottom:18px;left:18px;right:18px}.pff-progress{justify-content:space-between;align-items:center;gap:12px;display:flex}.pff-progress span{color:var(--ft-ink-soft);font-size:.78rem;font-weight:800}.pff-progress strong{color:var(--ft-ink)}.pff-progress-track{background:#b4c8e857;border-radius:999px;height:8px;position:relative;overflow:hidden}.pff-progress-track:after{content:"";border-radius:inherit;background:linear-gradient(90deg, var(--pff-working), var(--pff-ready));width:8%;position:absolute;inset:0 auto 0 0}.pff-visualizer--running .pff-progress-track:after{width:68%;animation:1.8s ease-in-out infinite pff-progress-breath}.pff-visualizer--succeeded .pff-progress-track:after{background:var(--pff-ready);width:100%}.pff-visualizer--failed .pff-progress-track:after{background:var(--pff-failed);width:72%}.pff-step-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pff-step-strip span{min-width:0;color:var(--ft-ink-soft);background:#f7faffdb;border:1px solid #b4c8e894;border-radius:10px;gap:4px;padding:8px;font-size:.78rem;font-weight:800;display:grid}.pff-step-strip span.is-active{color:var(--pff-ready);background:#f7fffbe6;border-color:#1c9d7142}.pff-step-strip span.is-error{color:var(--pff-failed);background:#fff8f7e6;border-color:#c4514a47}.pff-step-strip b{color:var(--ft-ink-dim);font-size:.7rem}.pff-result-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pff-result-meta article{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:13px;gap:5px;min-width:0;padding:11px;display:grid}.pff-result-meta span,.pff-review-grid span{color:var(--ft-ink-dim);font-size:.76rem;font-weight:800}.pff-result{background:#ffffffbd;border:1px solid #b4c8e88a;border-radius:14px;padding:11px}.pff-result p{color:var(--ft-ink-soft);margin:4px 0 0;line-height:1.5}.pff-result--success{background:#f7fffbdb;border-color:#1c9d7147}.pff-result--running{background:#f6faffe6;border-color:#2f7cf73d}.pff-result--error{background:#fff8f7e6;border-color:#c4514a47}.pff-result__stats{flex-wrap:wrap;gap:8px;display:flex}.pff-result__stats span{color:var(--ft-ink-soft);background:#ffffffbd;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:800}.pff-feedback-disclosure{background:#f7fbffa3;border:1px dashed #8cb0e89e;border-radius:14px;gap:10px;padding:10px 12px;display:grid}.pff-feedback-disclosure summary{cursor:pointer;justify-content:space-between;gap:14px;list-style:none}.pff-feedback-disclosure summary::-webkit-details-marker{display:none}.pff-feedback-disclosure summary span{gap:4px;display:grid}.pff-feedback-disclosure summary em{color:var(--ft-accent);letter-spacing:.08em;font-size:.72rem;font-style:normal;font-weight:900}.pff-feedback-disclosure summary b{color:var(--ft-ink-soft);background:#ffffffdb;border:1px solid #b4c8e8a8;border-radius:999px;flex:none;padding:7px 12px;font-size:.84rem}.pff-feedback-disclosure[open] summary{border-bottom:1px solid #b4c8e875;padding-bottom:12px}.pff-feedback-status--succeeded{color:var(--pff-ready)}.pff-feedback-status--failed{color:var(--pff-failed)}.pff-feedback-status--running{color:var(--pff-working)}.pff-report-strip{padding:0}.pff-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pff-review-grid article{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;padding:12px}.pff-review-grid article>div{justify-content:space-between;align-items:center;gap:12px;display:flex}@keyframes pff-scan{0%{opacity:0;transform:translateY(-90px)}18%,50%{opacity:1}to{opacity:0;transform:translateY(470px)}}@keyframes pff-pulse{0%{opacity:.62;transform:scale(.72)}to{opacity:0;transform:scale(1.36)}}@keyframes pff-travel{0%{transform:translate(-40px)}to{transform:translate(180px)}}@keyframes pff-progress-breath{0%,to{filter:saturate()}50%{filter:saturate(1.45)brightness(1.05)}}@media (prefers-reduced-motion:reduce){.frontend-pdf-form-agent *,.frontend-pdf-form-agent :before,.frontend-pdf-form-agent :after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1120px){.pff-topbar,.pff-workbench-grid,.pff-review-grid{grid-template-columns:1fr}.pff-visualizer{grid-template-columns:1fr;min-height:620px;padding-bottom:186px}.pff-visualizer__sheet{min-height:220px}.pff-visualizer__core{min-height:88px}.pff-copy-line{display:none}}@media (width<=860px){.pff-row,.pff-panel__head,.pff-stage-header{flex-direction:column;align-items:flex-start}.pff-stage-badges{justify-content:flex-start}}@media (width<=720px){.pff-mode-switch,.pff-form-grid,.pff-result-meta,.pff-step-strip{grid-template-columns:1fr}.pff-actions .ft-button{width:100%}.pff-visualizer{min-height:660px;padding:14px 14px 238px}.pff-visualizer__dock{bottom:12px;left:12px;right:12px}.pff-progress{flex-direction:column;align-items:flex-start}}.frontend-pdf-verify{--fpv-ready:#1c9d71;--fpv-working:#2f7cf7;--fpv-warning:#cb8a24;--fpv-failed:#c4514a;--fpv-muted:#7b8ba7}.fpv-topbar{grid-template-columns:minmax(0,290px) minmax(0,1fr) auto}.fpv-topbar__summary{grid-template-columns:auto minmax(0,max-content) minmax(72px,1fr)}.fpv-topbar__meta,.fpv-stage-header,.fpv-panel__head,.fpv-row,.fpv-row__head,.fpv-row__meta{align-items:center;display:flex}.fpv-topbar__meta{justify-content:flex-end}.fpv-stage-header{align-items:center}.fpv-stage-badges{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.fpv-status{min-height:34px;color:var(--ft-ink-soft);background:#eff5ffe0;border:1px solid #b4c8e870;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.fpv-status:before{content:"";background:var(--fpv-muted);border-radius:50%;width:8px;height:8px}.fpv-status--ready{color:var(--fpv-ready);background:#1c9d711a}.fpv-status--working{color:var(--fpv-working);background:#2f7cf71a}.fpv-status--warning{color:var(--fpv-warning);background:#cb8a241c}.fpv-status--failed{color:var(--fpv-failed);background:#c4514a1a}.fpv-status--muted{color:var(--fpv-muted);background:#7b8ba71a}.fpv-status--ready:before{background:var(--fpv-ready)}.fpv-status--working:before{background:var(--fpv-working)}.fpv-status--warning:before{background:var(--fpv-warning)}.fpv-status--failed:before{background:var(--fpv-failed)}.fpv-signal-grid,.fpv-layout,.fpv-list,.fpv-candidate-list,.fpv-rail-list{gap:14px;display:grid}.fpv-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fpv-layout{grid-template-columns:minmax(0,1.02fr) minmax(0,.86fr) minmax(320px,.36fr);align-items:start}.fpv-panel{border:1px solid var(--ft-line);background:linear-gradient(180deg, #ffffffeb, #f6fafff7), var(--ft-card);box-shadow:var(--ft-shadow-card);border-radius:18px;gap:14px;padding:16px;display:grid}.fpv-panel__head{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:12px;padding-bottom:10px}.fpv-panel__head h2,.fpv-empty h3{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:-.04em;margin:0}.fpv-panel__head p{margin:0}.fpv-row{min-width:0;box-shadow:var(--ft-shadow-soft);background:#ffffffc7;border:1px solid #b4c8e88a;border-radius:14px;justify-content:space-between;gap:12px;padding:13px}.fpv-row[data-state=failed]{background:#fff8f7d1;border-color:#c4514a3d}.fpv-row__main{gap:10px;min-width:0;display:grid}.fpv-row__head{flex-wrap:wrap;gap:10px}.fpv-row__head strong,.fpv-candidate strong,.fpv-rail-list strong{color:var(--ft-ink);font-size:.96rem;font-weight:700}.fpv-row p,.fpv-empty p,.fpv-candidate p,.fpv-candidate span,.fpv-rail-list span{color:var(--ft-ink-soft);margin:0;line-height:1.48}.fpv-row__meta{color:var(--ft-ink-dim);flex-wrap:wrap;gap:10px;font-size:.78rem;font-weight:700}.fpv-row__meta span,.fpv-row__id{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;overflow:hidden}.fpv-row__id{max-width:120px;color:var(--ft-ink-dim);font-family:var(--ft-font-display);flex:none;font-size:.72rem;font-weight:700}.fpv-empty,.fpv-candidate,.fpv-rail-list div{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;gap:7px;padding:12px;display:grid}.fpv-candidate[data-ready=true]{background:#f7fffbd1;border-color:#1c9d7142}.fpv-candidate div:first-child{gap:4px;display:grid}@media (width<=1280px){.fpv-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.38fr)}.fpv-panel--rail{grid-column:1/-1}}@media (width<=1120px){.fpv-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fpv-layout{grid-template-columns:1fr}}@media (width<=860px){.fpv-topbar,.fpv-signal-grid{grid-template-columns:1fr}.fpv-row,.fpv-panel__head,.fpv-stage-header{flex-direction:column;align-items:flex-start}}.fpv-workbench-grid{grid-template-columns:minmax(350px,.72fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.fpv-panel--command,.fpv-panel--result{min-height:100%}.fpv-command-form,.fpv-field,.fpv-result{gap:10px;display:grid}.fpv-field span{color:var(--ft-ink);font-size:.82rem;font-weight:800}.fpv-field input,.fpv-field select{box-sizing:border-box;width:100%;min-height:38px;color:var(--ft-ink);font:inherit;background:#ffffffe6;border:1px solid #b4c8e8a8;border-radius:12px;padding:9px 11px}.fpv-file-field{position:relative}.fpv-file-input{opacity:0;cursor:pointer;width:100%;height:calc(100% - 22px);position:absolute;inset:22px 0 0}.fpv-file-picker{background:#ffffffbd;border:1px solid #b4c8e89e;border-radius:14px;align-items:center;gap:12px;min-height:58px;padding:10px;display:flex}.fpv-file-picker div{flex:auto;min-width:0}.fpv-file-picker strong{color:var(--ft-ink);display:block}.fpv-file-picker p{color:var(--ft-ink-soft);margin:4px 0 0;line-height:1.45}.fpv-file-picker em{color:var(--ft-ink-soft);background:#eff5fff5;border-radius:999px;flex:none;padding:8px 12px;font-size:.82rem;font-style:normal;font-weight:800}.fpv-file-icon{width:38px;height:38px;color:var(--fpv-failed);font-family:var(--ft-font-display);background:#c4514a1a;border:1px solid #c4514a38;border-radius:12px;flex:none;place-items:center;font-size:.76rem;font-weight:800;display:grid}.fpv-field small{color:var(--ft-ink-dim);margin:0;line-height:1.5}.fpv-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fpv-form-grid--credentials{grid-template-columns:repeat(4,minmax(0,1fr))}.fpv-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.fpv-command-center{grid-template-columns:minmax(320px,.9fr) minmax(320px,.84fr) minmax(280px,.6fr);align-items:stretch;gap:12px;display:grid}.fpv-panel--stage,.fpv-panel--queue{min-height:100%}.fpv-pdf-stage{min-height:430px;display:grid}.fpv-stage-empty,.fpv-progress,.fpv-queue-toolbar,.fpv-summary-grid{gap:12px;display:grid}.fpv-stage-empty{text-align:center;background:linear-gradient(#f6faffd1,#ffffffdb);border:1px dashed #b4c8e8b8;border-radius:14px;align-content:center;min-height:340px;padding:18px}.fpv-stage-empty strong,.fpv-summary-grid strong{color:var(--ft-ink);font-family:var(--ft-font-display)}.fpv-stage-empty p,.fpv-summary-grid small{color:var(--ft-ink-soft);margin:0;line-height:1.58}.fpv-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.fpv-progress span,.fpv-summary-grid article{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:16px}.fpv-progress span{min-height:44px;color:var(--ft-ink-soft);place-items:center;font-size:.78rem;font-weight:800;display:grid}.fpv-progress span[data-active=true]{color:var(--fpv-working);background:#f6fafff5;border-color:#2f7cf747}.fpv-queue-toolbar{grid-template-columns:minmax(0,1fr) minmax(150px,.42fr)}.fpv-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fpv-summary-grid article{padding:11px}.fpv-summary-grid span{color:var(--ft-ink-dim);font-size:.72rem;font-weight:800}.fpv-summary-grid strong{margin-top:5px;font-size:1.34rem;display:block}.fpv-result{background:#ffffffbd;border:1px solid #b4c8e88a;border-radius:14px;padding:11px}.fpv-result strong{color:var(--ft-ink)}.fpv-result p{color:var(--ft-ink-soft);margin:0;line-height:1.6}.fpv-result--success{background:#f7fffbdb;border-color:#1c9d7147}.fpv-result--running{background:#f6faffe6;border-color:#2f7cf73d}.fpv-result--error{background:#fff8f7e6;border-color:#c4514a47}.fpv-result__stats{flex-wrap:wrap;gap:8px;display:flex}.fpv-result__stats span{color:var(--ft-ink-soft);background:#ffffffbd;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:800}.fpv-notice,.fpv-readiness,.fpv-inspector-tabs,.fpv-inspector-card,.fpv-inspector-empty,.fpv-inspector-credentials{gap:12px;display:grid}.fpv-notice{color:var(--ft-ink-soft);border:1px solid #b4c8e87a;border-radius:14px;padding:11px 13px;font-weight:700}.fpv-notice--ready{color:var(--fpv-ready);background:#edfbf6e0;border-color:#1c9d712e}.fpv-notice--warning{color:var(--fpv-warning);background:#fff9eee6;border-color:#cb8a2438}.fpv-readiness{grid-template-columns:repeat(4,minmax(0,1fr))}.fpv-readiness article,.fpv-inspector-card,.fpv-inspector-empty{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;padding:11px}.fpv-readiness span,.fpv-inspector-card span{color:var(--ft-ink-dim);font-size:.76rem;font-weight:800}.fpv-readiness strong,.fpv-inspector-card strong,.fpv-inspector-empty strong{min-width:0;color:var(--ft-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fpv-inspector{align-content:start}.fpv-inspector-tabs{background:#f7fbffcc;border:1px solid #b4c8e875;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px}.fpv-inspector-tabs button{min-height:36px;color:var(--ft-ink-soft);font:inherit;cursor:default;background:0 0;border:0;border-radius:12px;font-weight:800}.fpv-inspector-tabs button.is-active{color:#fff;background:#2f7cf76b}.fpv-inspector-card__head{justify-content:space-between;gap:12px;display:flex}.fpv-inspector-card p,.fpv-inspector-empty p{color:var(--ft-ink-soft);margin:0;line-height:1.58}.fpv-inspector-credentials{grid-template-columns:repeat(2,minmax(0,1fr))}.fpv-inspector-empty{text-align:center;background:#f5f9ffbd;border-style:dashed;place-items:center;min-height:132px}.fpv-details-strip,.fpv-details-grid{gap:12px;display:grid}.fpv-details-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fpv-details-grid article{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:14px;gap:7px;min-width:0;padding:11px;display:grid}.fpv-details-grid strong{color:var(--ft-ink)}.fpv-details-grid p{color:var(--ft-ink-soft);margin:0;line-height:1.5}.fpv-legacy-shell .ft-frame{padding:14px 16px 18px}.fpv-legacy-shell .ft-topbar{border-radius:24px}.fpv-legacy-shell .ft-stage{border-radius:24px;padding:18px}.fpv-legacy-shell .ft-stage__inner{gap:14px}.fpv-legacy-shell .fpv-stage-header{border-bottom:1px solid var(--ft-line);margin-bottom:2px;padding:4px 0 14px}.fpv-legacy-shell .fpv-stage-header h1{max-width:840px;font-size:clamp(1.45rem,1.75vw,1.85rem)}.fpv-legacy-shell .fpv-stage-header p:not(.ft-stage-header__eyebrow){max-width:760px}.fpv-legacy-shell .fpv-workbench-grid{grid-template-columns:minmax(0,1fr)}.fpv-legacy-shell .fpv-panel--result{display:none}.fpv-legacy-shell .fpv-panel{box-shadow:var(--ft-shadow-card);border-radius:26px}.fpv-legacy-shell .fpv-panel--command .fpv-command-form{grid-template-columns:minmax(300px,1fr) minmax(0,1.1fr);align-items:end}.fpv-legacy-shell .fpv-panel--command .fpv-actions{border-top:1px solid var(--ft-line);grid-column:1/-1;justify-content:flex-start;padding-top:12px}.fpv-legacy-shell .fpv-panel{border-radius:18px;gap:13px;padding:16px;box-shadow:0 12px 32px #26436f14}.fpv-legacy-shell .fpv-panel__head{margin:0;padding:0 0 10px}.fpv-legacy-shell .fpv-panel__head h2{letter-spacing:0;font-size:1.02rem}.fpv-legacy-shell .fpv-command-form,.fpv-legacy-shell .fpv-field,.fpv-legacy-shell .fpv-result{gap:9px}.fpv-legacy-shell .fpv-field input,.fpv-legacy-shell .fpv-field select{min-height:38px}.fpv-legacy-shell .fpv-file-picker{border-radius:14px;min-height:62px;padding:10px 12px}.fpv-legacy-shell .fpv-file-icon{border-radius:12px;width:38px;height:38px}.fpv-legacy-shell .fpv-file-picker p,.fpv-legacy-shell .fpv-result p,.fpv-legacy-shell .fpv-stage-empty p,.fpv-legacy-shell .fpv-summary-grid small,.fpv-legacy-shell .fpv-inspector-card p,.fpv-legacy-shell .fpv-inspector-empty p,.fpv-legacy-shell .fpv-details-grid p{font-size:.84rem;line-height:1.48}.fpv-legacy-shell .fpv-readiness{gap:8px}.fpv-legacy-shell .fpv-readiness article,.fpv-legacy-shell .fpv-summary-grid article,.fpv-legacy-shell .fpv-inspector-card,.fpv-legacy-shell .fpv-inspector-empty,.fpv-legacy-shell .fpv-details-grid article{border-radius:13px;padding:11px}.fpv-legacy-shell .fpv-command-center{grid-template-columns:minmax(300px,.88fr) minmax(300px,.82fr) minmax(280px,.58fr);gap:12px}.fpv-legacy-shell .fpv-pdf-stage{min-height:430px}.fpv-legacy-shell .fpv-stage-empty{min-height:360px;padding:22px}.fpv-legacy-shell .fpv-summary-grid{gap:8px}.fpv-legacy-shell .fpv-summary-grid strong{font-size:1.16rem}.fpv-legacy-shell .fpv-inspector-tabs button{min-height:36px}@media (width<=1280px){.fpv-command-center{grid-template-columns:1fr}.fpv-pdf-stage,.fpv-stage-empty{min-height:360px}}@media (width<=860px){.fpv-readiness,.fpv-inspector-credentials,.fpv-legacy-shell .fpv-panel--command .fpv-command-form,.fpv-legacy-shell .fpv-command-center,.fpv-legacy-shell .fpv-summary-grid,.fpv-legacy-shell .fpv-details-grid,.fpv-legacy-shell .fpv-progress,.fpv-legacy-shell .fpv-queue-toolbar{grid-template-columns:1fr}.fpv-legacy-shell .fpv-stage-header,.fpv-legacy-shell .fpv-panel__head,.fpv-inspector-card__head{flex-direction:column;align-items:flex-start}.fpv-legacy-shell .fpv-stage-badges,.fpv-legacy-shell .fpv-actions{justify-content:flex-start}.fpv-legacy-shell .fpv-pdf-stage,.fpv-legacy-shell .fpv-stage-empty{min-height:280px}}@media (width<=1180px){.fpv-workbench-grid,.fpv-command-center,.fpv-form-grid--credentials{grid-template-columns:1fr}}@media (width<=760px){.fpv-form-grid,.fpv-pdf-stage,.fpv-progress,.fpv-queue-toolbar,.fpv-summary-grid,.fpv-details-grid{grid-template-columns:1fr}}.frontend-real-preview{--frp-ready:#1c9d71;--frp-working:#2f7cf7;--frp-failed:#c4514a;--frp-muted:#7b8ba7}.frp-topbar{grid-template-columns:minmax(0,290px) minmax(0,1fr) auto}.frp-topbar__summary{grid-template-columns:auto minmax(0,max-content) minmax(72px,1fr)}.frp-topbar__meta,.frp-stage-header,.frp-stage-tags,.frp-panel__head,.frp-session-card,.frp-actions,.frp-upload,.frp-reference-state{align-items:center;display:flex}.frp-topbar__meta{justify-content:flex-end;gap:10px}.frp-runtime,.frp-status{white-space:nowrap;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.frp-runtime{color:var(--ft-ink-soft);background:#f0f6fff5;border:1px solid #b4c8e88a;gap:8px}.frp-runtime:before,.frp-status:before{content:"";background:var(--ft-warning);border-radius:50%;width:8px;height:8px}.frp-runtime.is-ready:before{background:var(--ft-ok)}.frp-stage-header{align-items:flex-start}.frp-stage-tags{flex-wrap:wrap;justify-content:flex-end;gap:10px}.frp-workflow-grid{grid-template-columns:minmax(220px,.58fr) minmax(0,1.62fr) minmax(250px,.74fr);align-items:start;gap:12px;display:grid}.frp-panel,.frp-session-list,.frp-request-panel,.frp-review-panel,.frp-review-card{gap:12px;display:grid}.frp-panel{border:1px solid var(--ft-line);background:linear-gradient(180deg, #ffffffeb, #f7fafffa), var(--ft-card);box-shadow:var(--ft-shadow-card);border-radius:16px;padding:14px}.frp-panel__head{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:12px;padding-bottom:9px}.frp-panel__head h2,.frp-empty h3{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:0}.frp-panel__head p,.frp-panel-note{margin:0}.frp-panel-note,.frp-empty p,.frp-review-card span,.frp-boundary-box span,.frp-upload small,.frp-reference-state small{color:var(--ft-ink-soft);line-height:1.48}.frp-session-panel{position:sticky;top:118px}.frp-session-list{max-height:520px;padding-right:3px;overflow:auto}.frp-session-card{width:100%;min-width:0;color:inherit;text-align:left;box-shadow:var(--ft-shadow-soft);cursor:pointer;background:#ffffffc7;border:1px solid #b4c8e88a;border-radius:14px;align-items:flex-start;gap:6px;padding:11px;display:grid}.frp-session-card.is-selected{background:#f1f7fffa;border-color:#2f7cf75c}.frp-session-card strong{color:var(--ft-ink);font-size:.98rem}.frp-session-card span:not(.frp-status){color:var(--ft-ink-soft);line-height:1.48}.frp-session-card small{color:var(--ft-ink-dim);overflow-wrap:anywhere;font-size:.75rem;font-weight:700}.frp-status{width:max-content;color:var(--ft-ink-soft);background:#eff5ffe0;border:1px solid #b4c8e870;gap:8px}.frp-status--ready{color:var(--frp-ready);background:#1c9d711a}.frp-status--working{color:var(--frp-working);background:#2f7cf71a}.frp-status--failed{color:var(--frp-failed);background:#c4514a1a}.frp-status--muted{color:var(--frp-muted);background:#7b8ba71a}.frp-status--ready:before{background:var(--frp-ready)}.frp-status--working:before{background:var(--frp-working)}.frp-status--failed:before{background:var(--frp-failed)}.frp-status--muted:before{background:var(--frp-muted)}.frp-boundary-box,.frp-review-card,.frp-empty{background:#ffffffbd;border:1px solid #b4c8e875;border-radius:14px;gap:7px;padding:11px;display:grid}.frp-boundary-box strong,.frp-review-card strong{color:var(--ft-ink);font-size:.95rem}.frp-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.frp-field{gap:6px;display:grid}.frp-field span{color:var(--ft-ink-soft);font-size:.82rem;font-weight:700}.frp-field input,.frp-field select,.frp-field textarea{width:100%;min-width:0;color:var(--ft-ink);font:inherit;background:#ffffffe0;border:1px solid #b4c8e89e;border-radius:16px;outline:none;box-shadow:inset 0 1px #ffffffc2}.frp-field input,.frp-field select{min-height:36px;padding:0 10px}.frp-field textarea{resize:vertical;min-height:68px;padding:10px;line-height:1.46}.frp-upload,.frp-reference-state{background:#f6faffd6;border:1px solid #b4c8e880;border-radius:14px;gap:12px;padding:10px}.frp-upload__mark,.frp-reference-state>span{color:#fff;width:38px;height:38px;font-family:var(--ft-font-display);background:linear-gradient(135deg,#24aaa2,#3fc6bd);border-radius:13px;flex:none;place-items:center;font-size:.72rem;font-weight:700;display:grid}.frp-upload div,.frp-reference-state div{flex:auto;gap:3px;min-width:0;display:grid}.frp-upload strong,.frp-reference-state strong{color:var(--ft-ink)}.frp-upload .ft-button{cursor:pointer;flex:none}.frp-actions{flex-wrap:wrap;gap:10px}.frp-review-panel{position:sticky;top:118px}.frp-review-card ul{color:var(--ft-ink-soft);margin:0;padding-left:18px;line-height:1.45}.frp-message{color:var(--ft-ink-soft);background:#eff5ffe6;border-radius:14px;padding:12px;line-height:1.45}.frp-message--failed{color:var(--frp-failed);background:#c4514a1a}.frp-message--plan_ready,.frp-message--preview_ready{color:var(--frp-ready);background:#1c9d711a}@media (width<=1180px){.frp-workflow-grid{grid-template-columns:minmax(0,1fr)}.frp-session-panel,.frp-review-panel{position:static}.frp-session-list{max-height:none}}@media (width<=860px){.frp-topbar{grid-template-columns:1fr}.frp-topbar__meta,.frp-stage-header{flex-direction:column;align-items:flex-start}.frp-field-grid{grid-template-columns:1fr}.frp-upload,.frp-reference-state{flex-direction:column;align-items:flex-start}}.frontend-server-dashboard{--fsd-monitor:#2f7cf7;--fsd-memory:#1c9d71;--fsd-disk:#c88a20}.fsd-topbar{grid-template-columns:minmax(0,290px) minmax(0,1fr) auto}.fsd-topbar__summary{grid-template-columns:auto minmax(0,max-content) minmax(72px,1fr);display:grid}.fsd-topbar__meta,.fsd-stage-header__meta,.fsd-metric__head,.fsd-metric__meta,.fsd-metric__axis,.fsd-panel__head{align-items:center;display:flex}.fsd-topbar__meta,.fsd-stage-header__meta{flex-wrap:wrap;justify-content:flex-end;gap:10px}.fsd-stage-header{align-items:center}.fsd-overview,.fsd-metric-grid{gap:12px;display:grid}.fsd-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.fsd-panel{border:1px solid var(--ft-line);background:linear-gradient(180deg, #ffffffe0, #f6fafff5), var(--ft-card);box-shadow:var(--ft-shadow-card);border-radius:18px;gap:14px;padding:16px;display:grid}.fsd-panel__head{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:12px;padding-bottom:10px}.fsd-panel__head h2{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:-.04em;margin:0;font-size:1.22rem}.fsd-panel__head p{color:var(--ft-ink-soft);margin:0;font-size:.84rem}.fsd-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fsd-metric{min-width:0;min-height:218px;box-shadow:var(--ft-shadow-soft);background:#ffffffc2;border:1px solid #b4c8e88a;border-radius:16px;grid-template-rows:auto auto auto minmax(82px,1fr) auto;gap:12px;padding:14px;display:grid}.fsd-metric__head,.fsd-metric__meta,.fsd-metric__axis{justify-content:space-between;gap:12px}.fsd-metric__head p{color:var(--ft-ink-dim);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:700}.fsd-metric__head strong{color:var(--ft-ink);font-size:1rem;font-weight:700}.fsd-metric__value{color:var(--ft-ink);font-family:var(--ft-font-display);align-items:baseline;gap:3px;display:flex}.fsd-metric__value span{letter-spacing:-.04em;font-size:clamp(1.8rem,3.4vw,2.9rem);font-weight:700}.fsd-metric__value small{color:var(--ft-ink-soft);font-size:.86rem;font-weight:700}.fsd-meter{background:#cbd8eba3;border-radius:999px;height:10px;overflow:hidden}.fsd-meter span{border-radius:inherit;background:linear-gradient(90deg, var(--fsd-monitor), var(--ft-accent-secondary));height:100%;display:block}.fsd-metric--memory .fsd-meter span{background:linear-gradient(90deg, var(--fsd-memory), #8be6b4)}.fsd-metric--disk .fsd-meter span{background:linear-gradient(90deg, var(--fsd-disk), #ffd669)}.fsd-metric__meta,.fsd-metric__axis{color:var(--ft-ink-soft);flex-wrap:wrap;font-size:.82rem;line-height:1.45}.fsd-metric__chart{--fsd-chart-level:70%;--fsd-chart-dot:30%;background:linear-gradient(90deg,#b4c8e838 1px,#0000 1px) 0 0/25% 100%,linear-gradient(#b4c8e82e 1px,#0000 1px) 0 0/100% 34%,#f8fbffc7;border:1px solid #b4c8e85c;border-radius:14px;min-height:82px;position:relative;overflow:hidden}.fsd-metric__chart-line{left:8%;right:8%;top:var(--fsd-chart-level);opacity:.72;background:currentColor;border-radius:999px;height:2px;position:absolute}.fsd-metric__chart:before{content:"";left:8%;right:8%;top:var(--fsd-chart-level);opacity:.08;background:currentColor;border-radius:12px 12px 0 0;position:absolute;bottom:0}.fsd-metric__chart-dot{right:7%;top:calc(var(--fsd-chart-level) - 4px);background:#fff;border:2px solid;border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 0 0 4px #ffffffc2}.fsd-metric__axis{font-size:.76rem}.fsd-metric--cpu{color:var(--fsd-monitor)}.fsd-metric--memory{color:var(--fsd-memory)}.fsd-metric--disk{color:var(--fsd-disk)}.fsd-metric--cpu .fsd-metric__head,.fsd-metric--memory .fsd-metric__head,.fsd-metric--disk .fsd-metric__head,.fsd-metric--cpu .fsd-metric__meta,.fsd-metric--memory .fsd-metric__meta,.fsd-metric--disk .fsd-metric__meta,.fsd-metric--cpu .fsd-metric__axis,.fsd-metric--memory .fsd-metric__axis,.fsd-metric--disk .fsd-metric__axis{color:var(--ft-ink-soft)}.fsd-pill,.fsd-updated-at{min-height:32px;color:var(--ft-ink-soft);background:#f0f6fff5;border:1px solid #b4c8e88a;border-radius:999px;align-items:center;gap:8px;padding:0 11px;font-size:.78rem;font-weight:700;display:inline-flex}.fsd-pill:before{content:"";background:var(--ft-ok);border-radius:50%;width:8px;height:8px}.fsd-pill--warning:before{background:var(--ft-warning)}.fsd-pill--critical:before{background:var(--ft-danger)}@media (width<=1180px){.fsd-overview,.fsd-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.fsd-topbar,.fsd-overview,.fsd-metric-grid{grid-template-columns:1fr}}.frontend-user-management{--fum-admin:#2f7cf7}.fum-topbar{grid-template-columns:minmax(0,320px) minmax(0,1fr) auto}.fum-topbar__summary{grid-template-columns:auto minmax(0,max-content) minmax(72px,1fr);display:grid}.fum-topbar__actions,.fum-stage-header,.fum-panel__head,.fum-user-row,.fum-account,.fum-chip-list,.fum-actions{align-items:center;display:flex}.fum-topbar__actions,.fum-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.fum-stage-header{justify-content:space-between}.fum-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.fum-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.fum-workspace.is-editing{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}.fum-panel{border:1px solid var(--ft-line);background:linear-gradient(180deg, #ffffffe6, #f6fafff7), var(--ft-card);min-width:0;box-shadow:var(--ft-shadow-card);border-radius:16px;gap:12px;padding:14px;display:grid}.fum-panel__head{border-bottom:1px solid var(--ft-line);justify-content:space-between;gap:12px;padding-bottom:9px}.fum-panel__head h2{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:0;font-size:1.12rem}.fum-user-list,.fum-form{gap:10px;display:grid}.fum-user-header,.fum-user-row{grid-template-columns:minmax(220px,1.25fr) minmax(130px,.74fr) auto auto minmax(180px,.9fr) auto;align-items:center;display:grid}.fum-user-header{color:var(--ft-ink-dim);gap:10px;padding:0 12px;font-size:.72rem;font-weight:700}.fum-user-row{min-width:0;box-shadow:var(--ft-shadow-soft);background:#ffffffc7;border:1px solid #b4c8e88a;border-radius:14px;gap:10px;padding:10px 12px}.fum-account{gap:10px;min-width:0}.fum-account__avatar{color:#fff;background:linear-gradient(135deg, var(--fum-admin), var(--ft-accent-secondary));width:34px;height:34px;font-family:var(--ft-font-display);border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}.fum-account strong,.fum-count,.fum-display-name{color:var(--ft-ink);font-weight:700}.fum-account small,.fum-muted{color:var(--ft-ink-dim);margin-top:3px;font-size:.78rem;display:block}.fum-display-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fum-badge,.fum-save-state,.fum-chip-list span{width:fit-content;min-height:26px;color:var(--ft-ink-soft);white-space:nowrap;background:#f3f8ffe6;border:1px solid #b4c8e89e;border-radius:999px;align-items:center;padding:0 9px;font-size:.76rem;font-weight:700;display:inline-flex}.fum-badge.is-ok,.fum-save-state--succeeded{color:var(--ft-ok);background:#1c9d711a;border-color:#1c9d7138}.fum-badge.is-admin{color:var(--fum-admin);background:#2f7cf71a;border-color:#2f7cf73d}.fum-save-state--failed{color:var(--ft-danger);background:#c4514a1a;border-color:#c4514a3d}.fum-save-state--saving{color:var(--ft-warning);background:#cb8a241c;border-color:#cb8a2447}.fum-chip-list{flex-wrap:wrap;gap:6px;margin-top:5px}.fum-row-action{justify-self:end}.fum-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fum-field,.fum-admin-toggle,.fum-module-card{gap:7px;display:grid;position:relative}.fum-field span{color:var(--ft-ink);font-size:.84rem;font-weight:700}.fum-field input,.fum-field select{width:100%;min-height:38px;color:var(--ft-ink);background:#fffffff5;border:1px solid #b5c9e7c7;border-radius:12px;outline:none;padding:8px 10px}.fum-field input:focus,.fum-field select:focus{border-color:#2f7cf7ad;box-shadow:0 0 0 4px #2f7cf71a}.fum-field input[readonly]{color:var(--ft-ink-soft);background:#eff5ffcc}.fum-admin-toggle{background:#f3f8ffc2;border:1px solid #b5c9e7b8;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:11px}.fum-admin-toggle input,.fum-module-card input{opacity:0;pointer-events:none;position:absolute}.fum-admin-toggle__mark,.fum-module-card__check{background:#fff;border:1px solid #2f7cf75c;place-items:center;display:grid}.fum-admin-toggle__mark{border-radius:9px;width:24px;height:24px}.fum-admin-toggle__mark:after,.fum-module-card__check:after{content:"";opacity:0;border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;margin-top:-2px;transform:rotate(-45deg)}.fum-admin-toggle input:checked+.fum-admin-toggle__mark,.fum-module-card input:checked+.fum-module-card__check{background:linear-gradient(135deg, var(--fum-admin), #61bef4);border-color:#2f7cf7d6}.fum-admin-toggle input:checked+.fum-admin-toggle__mark:after,.fum-module-card input:checked+.fum-module-card__check:after{opacity:1}.fum-admin-toggle strong{color:var(--ft-ink);font-weight:700;display:block}.fum-admin-toggle small{color:var(--ft-ink-soft);margin-top:4px;font-size:.82rem;line-height:1.5;display:block}.fum-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fum-module-card{min-height:94px;box-shadow:var(--ft-shadow-soft);cursor:pointer;background:#ffffffc2;border:1px solid #b5c9e7b3;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:11px}.fum-module-card.is-selected,.fum-module-card:hover{background:linear-gradient(#eff6fff5,#fffffff0);border-color:#2f7cf757}.fum-module-card__check{border-radius:8px;width:22px;height:22px;margin-top:2px}.fum-module-card__body{gap:7px;min-width:0;display:grid}.fum-module-card__body small{width:fit-content;min-height:24px;color:var(--fum-admin);background:#2f7cf71a;border-radius:999px;align-items:center;padding:0 9px;font-size:.72rem;font-weight:700;display:inline-flex}.fum-module-card__body strong{color:var(--ft-ink);font-size:.98rem}.fum-module-card__body span{color:var(--ft-ink-soft);font-size:.82rem;line-height:1.5}.fum-empty{background:#f3f8ffa3;border:1px dashed #7996c56b;border-radius:14px;padding:16px}.fum-empty h3,.fum-empty p{margin:0}.fum-empty h3{color:var(--ft-ink);font-family:var(--ft-font-display)}.fum-empty p{color:var(--ft-ink-soft);margin-top:8px}@media (width<=1180px){.fum-workspace.is-editing,.fum-summary-grid{grid-template-columns:1fr}.fum-user-header{display:none}.fum-user-row{grid-template-columns:1fr;align-items:start}.fum-row-action{justify-self:start}}html,body,#frontend-root{min-height:100%;margin:0}.frontend-toolbox{--ft-font-ui:"IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--ft-font-display:"IBM Plex Mono", "SFMono-Regular", "Consolas", monospace;--ft-bg:#edf4ff;--ft-stage:#fff;--ft-stage-soft:#f7fbff;--ft-card:#fffffff7;--ft-line:#7996c52e;--ft-line-strong:#7996c547;--ft-ink:#23354d;--ft-ink-soft:#667a99;--ft-ink-dim:#95a7c3;--ft-accent:#2f7cf7;--ft-accent-secondary:#8fd3ff;--ft-ok:#1c9d71;--ft-warning:#cb8a24;--ft-danger:#c4514a;--ft-shadow-stage:0 24px 52px #5376b317;--ft-shadow-card:0 14px 30px #45649914;--ft-shadow-soft:0 10px 22px #4564990f;min-height:100dvh;color:var(--ft-ink);font-family:var(--ft-font-ui);background:linear-gradient(180deg, var(--ft-bg) 0%, #f5f9ff 56%, var(--ft-stage-soft) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.frontend-toolbox *,.frontend-toolbox :before,.frontend-toolbox :after{box-sizing:border-box}.frontend-toolbox a{color:inherit;text-decoration:none}.ft-frame{width:100%;padding:12px 14px 16px}.ft-topbar{z-index:30;-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);background:linear-gradient(#ffffffeb,#f5f9fffa);border:1px solid #b0c6e794;border-radius:22px;grid-template-columns:minmax(0,290px) minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:62px;padding:12px 18px;display:grid;position:sticky;top:12px;box-shadow:0 20px 36px #5376b314}.ft-brand,.ft-topbar__summary,.ft-runtime,.ft-tool-card__top,.ft-tool-card__footer,.ft-footer{align-items:center;display:flex}.ft-brand{gap:12px;min-width:0}.ft-brand__mark{color:#fff;width:40px;height:40px;font-family:var(--ft-font-display);letter-spacing:.06em;background:linear-gradient(135deg,#2f7cf7fa,#8fd3fff0);border-radius:14px;flex:none;place-items:center;font-size:.92rem;font-weight:700;display:grid;box-shadow:0 14px 28px #2f7cf72e}.ft-brand__copy{gap:2px;min-width:0;display:grid}.ft-brand__eyebrow,.ft-stage-header__eyebrow,.ft-eyebrow{color:var(--ft-ink-dim);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.ft-brand__title,.ft-stage-header h1,.ft-section h2,.ft-tool-card h3,.ft-empty-state h3,.ft-state-panel h1{color:var(--ft-ink);font-family:var(--ft-font-display);letter-spacing:0;margin:0}.ft-brand__title{font-size:1rem}.ft-brand__subtitle{color:var(--ft-ink-soft);font-size:.8rem}.ft-topbar__summary{border-left:1px solid #b5c9e7c7;grid-template-columns:auto max-content minmax(72px,1fr);gap:16px;min-width:0;min-height:42px;padding-left:20px;display:grid;position:relative}.ft-topbar__summary:after{content:"";background:linear-gradient(90deg,#9ab3dbb3,#9ab3db00);border-radius:999px;height:1px;display:block}.ft-topbar__summary-label{color:var(--ft-ink-dim);letter-spacing:.12em;text-transform:uppercase;border-right:1px solid #b5c9e7c7;padding-right:18px;font-size:.74rem;font-weight:700}.ft-topbar__summary-copy{gap:3px;min-width:0;display:grid}.ft-topbar__summary-copy strong,.ft-runtime__copy strong{color:var(--ft-ink);font-weight:600}.ft-topbar__summary-copy span{color:var(--ft-ink-soft);font-size:.82rem}.ft-runtime{background:#f3f8fff5;border:1px solid #b4c8e885;border-radius:16px;gap:10px;min-height:38px;padding:7px 12px}.ft-runtime__dot{background:var(--ft-warning);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #cb8a2424}.ft-runtime[data-configured=true] .ft-runtime__dot{background:var(--ft-ok);box-shadow:0 0 0 4px #1c9d7124}.ft-runtime__copy{gap:2px;line-height:1;display:grid}.ft-runtime__copy small{color:var(--ft-ink-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:700}.ft-stage{background:linear-gradient(180deg, var(--ft-stage) 0%, var(--ft-stage-soft) 100%);min-height:0;box-shadow:var(--ft-shadow-stage);border:1px solid #b8ccebb8;border-radius:24px;margin-top:12px;padding:16px;overflow:hidden}.ft-stage__inner,.ft-section,.ft-state-panel{gap:14px;display:grid}.ft-stage-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.ft-stage-header h1{margin-top:3px;font-size:clamp(1.34rem,1.5vw,1.7rem)}.ft-stage-header p:not(.ft-stage-header__eyebrow),.ft-section p,.ft-tool-card p,.ft-empty-state p,.ft-state-panel p{color:var(--ft-ink-soft);margin:0;line-height:1.5}.ft-pill{min-height:30px;color:var(--ft-ink-soft);white-space:nowrap;background:#eff5ffe0;border:1px solid #b4c8e885;border-radius:999px;align-items:center;padding:0 11px;font-size:.78rem;font-weight:700;display:inline-flex}.ft-section{border:1px solid var(--ft-line);background:linear-gradient(180deg, #ffffffe6, #f8fbfffa), var(--ft-card);box-shadow:var(--ft-shadow-card);border-radius:20px;padding:18px;position:relative;overflow:hidden}.ft-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#2f7cf714,#0000 24%),linear-gradient(#ffffff42,#0000 28%);position:absolute;inset:0}.ft-section>*{z-index:1;position:relative}.ft-button{white-space:nowrap;border:1px solid #b4c8e885;border-radius:15px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-weight:700;line-height:1;display:inline-flex}.ft-button--primary{color:#fff;background:linear-gradient(135deg,#2f7cf7 0%,#4b9bff 54%,#61bef4 100%);border-color:#ffffff85;box-shadow:0 12px 22px #2f7cf733,inset 0 1px #ffffff52}.ft-button--ghost{color:var(--ft-ink);background:#ffffffb8}.ft-stat{background:#ffffffb8;border:1px solid #b4c8e875;border-radius:16px;gap:5px;padding:11px 12px;display:grid}.ft-stat span{color:var(--ft-ink-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.ft-stat strong{color:var(--ft-ink);font-family:var(--ft-font-display);font-size:1rem}.ft-stat small{color:var(--ft-ink-soft)}.ft-tool-card__top,.ft-tool-card__footer{justify-content:space-between;gap:12px}.ft-tool-card__kind{border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.ft-section__header{gap:6px;display:grid}.ft-section h2{font-size:1.28rem}.ft-tool-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.ft-tool-card{--ft-card-accent:#8fd3ff;border:1px solid var(--ft-line);background:linear-gradient(180deg, #fffffff2, #f7fafffc), var(--ft-card);width:100%;min-height:150px;box-shadow:var(--ft-shadow-soft);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:16px;gap:9px;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative;overflow:hidden}.ft-tool-card:hover,.ft-tool-card:focus-visible{border-color:#2f7cf729;outline:0;transform:translateY(-2px);box-shadow:0 24px 44px #0f172a1c}.ft-tool-card.is-selected{border-color:#2f7cf729;box-shadow:0 24px 44px #2f7cf721}.ft-tool-card[data-preview-tone=create]{--ft-card-accent:#2f7cf7}.ft-tool-card[data-preview-tone=verify]{--ft-card-accent:#cb8a24}.ft-tool-card[data-preview-tone=monitor]{--ft-card-accent:#1c9d71}.ft-tool-card[data-preview-tone=develop]{--ft-card-accent:#5b7cff}.ft-tool-card__kind{color:var(--ft-card-accent);background:#2f7cf714}.ft-tool-card h3{font-size:.98rem}.ft-tool-card__footer strong{color:var(--ft-ink);font-size:.9rem}.ft-tool-card__footer span{color:var(--ft-ink-soft);font-size:.82rem}.ft-empty-state,.ft-state-panel{background:#f8fbffdb;border:1px dashed #9ab3dbb8;border-radius:18px;padding:20px}.ft-empty-state h3{font-size:1.2rem}.ft-footer{color:var(--ft-ink-dim);justify-content:space-between;gap:14px;font-size:.82rem}.frontend-toolbox--centered{place-items:center;padding:24px;display:grid}.ft-state-panel{width:min(560px,100%);box-shadow:var(--ft-shadow-card);border-style:solid}.ft-state-panel h1{font-size:1.6rem}.ft-state-panel--error{background:#fff8f7f2;border-color:#c4514a3d}@media (width<=980px){.ft-topbar{border-radius:26px;grid-template-columns:1fr;position:static}.ft-topbar__summary{border-left:0;padding-left:0}}@media (width<=720px){.ft-frame{padding:10px}.ft-stage{border-radius:22px;padding:14px}.ft-stage-header,.ft-footer{display:grid}.ft-section{border-radius:20px;padding:16px}.ft-tool-card{min-height:0}.ft-topbar__summary{grid-template-columns:1fr;gap:8px}.ft-topbar__summary:after,.ft-topbar__summary-label{display:none}}
