
.pfu-page{--pfu-blue:#3080e6;--pfu-navy:#102060;--pfu-cyan:#34c9d6;--pfu-mint:#37e5ac;--pfu-surface:#fff;--pfu-line:#d9e2ef;}
.pfu-intro{margin-bottom:18px}.pfu-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.pfu-chips span{font-size:.78rem;font-weight:700;padding:6px 9px;border-radius:999px;background:#eef6ff;color:#17477e;border:1px solid #d9e9fb}
.pfu-app{background:#f5f8fc;border:1px solid #d8e2ef;border-radius:14px;box-shadow:0 10px 30px rgba(16,32,96,.08);overflow:hidden}.pfu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff;border-bottom:1px solid var(--pfu-line);position:relative;z-index:4}.pfu-toolbar__brand{display:flex;flex-direction:column;color:var(--pfu-navy)}.pfu-toolbar__brand span{font-size:.7rem;color:#687890}.pfu-toolbar__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pfu-btn{appearance:none;border:1px solid transparent;border-radius:8px;padding:8px 12px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.pfu-btn:disabled{opacity:.45;cursor:not-allowed}.pfu-btn--primary{background:var(--pfu-blue);color:#fff}.pfu-btn--secondary{background:#fff;border-color:#cbd8e8;color:var(--pfu-navy)}.pfu-btn--ghost{background:transparent;border-color:#d9e2ef;color:#40516c;font-size:.75rem;padding:6px 9px}.pfu-workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:14px;padding:14px}.pfu-panel{background:#fff;border:1px solid var(--pfu-line);border-radius:11px;padding:16px;min-width:0}.pfu-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.pfu-panel h2{margin:2px 0 0;font-size:1.05rem;color:var(--pfu-navy)}.pfu-eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:900;color:var(--pfu-blue)}.pfu-status,.pfu-queue-count{font-size:.72rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#53647c;white-space:nowrap}.pfu-status.is-ready{background:#e7fbf2;color:#14734b}.pfu-status.is-error{background:#fff0f0;color:#a92f2f}.pfu-muted{font-size:.8rem;line-height:1.5;color:#5f6f86}.pfu-field{display:block;margin-top:13px}.pfu-field>span{display:block;font-size:.75rem;font-weight:800;color:#33425b;margin-bottom:5px}.pfu-field input{width:100%;box-sizing:border-box;border:1px solid #cbd8e8;border-radius:8px;padding:10px;font:inherit;font-size:.8rem;background:#fbfdff}.pfu-credential-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap}.pfu-credential-actions .pfu-btn{flex:0 0 auto}.pfu-check{font-size:.74rem;color:#52627a;display:flex;gap:6px;align-items:center}.pfu-token-note{margin-top:13px;padding:10px;border-radius:8px;background:#f3f7fb;border:1px solid #e2eaf3;color:#53647c;font-size:.72rem;line-height:1.45}.pfu-link-btn{border:0;background:none;padding:10px 0 0;color:#1765b0;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.pfu-help{margin-top:8px;border-top:1px solid #e4eaf2;padding-top:10px;font-size:.73rem;color:#53647c;line-height:1.45}.pfu-help ol{padding-left:20px}.pfu-dropzone{width:100%;min-height:205px;border:2px dashed #b8cce5;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f5f9fd);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#3d526e;cursor:pointer;text-align:center;font:inherit}.pfu-dropzone:hover,.pfu-dropzone.is-dragging{border-color:var(--pfu-blue);background:#f0f7ff}.pfu-dropzone__icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e9f3ff;color:var(--pfu-blue);font-size:1.5rem;font-weight:900}.pfu-dropzone strong{color:var(--pfu-navy);font-size:.95rem}.pfu-dropzone span{font-size:.78rem}.pfu-dropzone em{font-size:.68rem;color:#7a889b;font-style:normal}.pfu-queue{display:grid;gap:8px;margin-top:10px}.pfu-empty{text-align:center;padding:25px 10px;color:#7b899c;display:flex;flex-direction:column;gap:4px}.pfu-empty strong{color:#50627b;font-size:.85rem}.pfu-empty span{font-size:.72rem}.pfu-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dbe4ef;border-radius:9px;padding:8px;background:#fff}.pfu-thumb{width:58px;height:58px;object-fit:cover;border-radius:6px;background:#edf2f7}.pfu-item__main{min-width:0}.pfu-item__name{font-size:.78rem;font-weight:800;color:#20304a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pfu-item__meta{font-size:.68rem;color:#738197;margin-top:3px}.pfu-progress{height:11px;background:#e6edf6;border:1px solid #d3deeb;border-radius:99px;overflow:hidden;margin-top:8px;box-shadow:inset 0 1px 2px rgba(16,32,96,.08)}.pfu-progress span{display:block;height:100%;width:0;background:linear-gradient(135deg,#3080e6 0%,#34c9d6 45%,#37e5ac 100%);background-size:28px 28px;transition:width .2s ease;position:relative}.pfu-progress span::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0 8px,rgba(255,255,255,0) 8px 16px);animation:pfu-stripes .9s linear infinite}.pfu-item.is-success .pfu-progress span{background:linear-gradient(135deg,#15965e 0%,#25c27f 100%)}.pfu-item.is-error .pfu-progress span{background:linear-gradient(135deg,#c73f3f 0%,#e46a6a 100%)}.pfu-item__state{font-size:.7rem;font-weight:800;color:#6a788c;text-align:right;min-width:76px}.pfu-item.is-success{border-color:#bcebd7}.pfu-item.is-error{border-color:#f0c4c4}.pfu-item__remove{margin-top:5px;border:0;background:none;color:#a05b5b;font-size:.68rem;cursor:pointer;padding:0}.pfu-message{margin:0 14px 14px;padding:10px 12px;border-radius:8px;background:#fff5df;border:1px solid #f1d596;color:#765a1e;font-size:.75rem}.pfu-message.is-error{background:#fff0f0;border-color:#efc2c2;color:#9a3131}.pfu-message.is-success{background:#eafbf3;border-color:#bcebd7;color:#176c4a}.pfu-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.pfu-info-grid .info-card{height:100%;box-sizing:border-box}.pfu-prose{margin-top:22px}.pfu-prose p{max-width:900px}
.pfu-app.pfu-fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;overflow:hidden;background:#f5f8fc;display:block}.pfu-fullscreen .pfu-toolbar{position:absolute;top:0;left:0;right:0}.pfu-fullscreen .pfu-workspace{position:absolute;left:0;right:0;bottom:0;overflow-y:auto;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;padding:14px}.pfu-fullscreen .pfu-panel{min-height:0}.pfu-fullscreen .pfu-info-grid,.pfu-fullscreen .pfu-prose{display:none}
@media(max-width:850px){.pfu-workspace{grid-template-columns:1fr}.pfu-info-grid{grid-template-columns:1fr}.pfu-fullscreen .pfu-workspace{grid-template-columns:1fr}.pfu-toolbar{align-items:flex-start}.pfu-toolbar__actions{max-width:60%}}
@media(max-width:560px){.pfu-toolbar{flex-direction:column}.pfu-toolbar__actions{max-width:none;width:100%;justify-content:flex-start}.pfu-btn{flex:1}.pfu-workspace{padding:9px}.pfu-item{grid-template-columns:48px minmax(0,1fr)}.pfu-thumb{width:48px;height:48px}.pfu-item__state{grid-column:2;text-align:left}.pfu-fullscreen .pfu-workspace{padding:9px}}

.pfu-modal{position:fixed;inset:0;z-index:10050;background:rgba(8,19,46,.62);display:grid;place-items:center;padding:20px}.pfu-modal__box{width:min(430px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.pfu-modal__box h2{margin:0;color:#102060;font-size:1.15rem}.pfu-modal__box p{font-size:.78rem;color:#596980;line-height:1.5}.pfu-modal__box label{display:block;font-size:.75rem;font-weight:800;color:#30405a;margin:10px 0}.pfu-modal__box input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:9px;border:1px solid #cbd8e8;border-radius:7px;font:inherit}.pfu-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pfu-modal__actions button{border:1px solid #cbd8e8;background:#fff;border-radius:7px;padding:8px 12px;font-weight:800;cursor:pointer}.pfu-modal__actions button:last-child{background:#3080e6;color:#fff;border-color:#3080e6}.pfu-modal__error{color:#a32f2f;font-size:.72rem;min-height:1em;margin-top:7px}
.pfu-body-lock{overflow:hidden!important}
.pfu-item.is-processing{border-color:#c7ddf7}.pfu-item.is-processing .pfu-progress span::after{animation-duration:.7s}.pfu-item.is-queued{border-color:#d6e4f4}@keyframes pfu-pulse{0%,100%{opacity:.7}50%{opacity:1}}@keyframes pfu-stripes{from{transform:translateX(0)}to{transform:translateX(16px)}}
