:root{--psdm-up-accent:var(--psdm-brand, #00b9ff);--psdm-up-accent-d:var(--psdm-brand-hover, #009dd9);--psdm-up-ink:#1a2433;--psdm-up-muted:#46505e;--psdm-up-line:#e3e8ee;--psdm-up-bg:#ffffff;--psdm-up-soft:#f6f8fb;--psdm-up-danger:#c0392b;--psdm-up-radius:16px;--psdm-up-radius-card:12px;--psdm-up-radius-pill:999px}body.psdm-up-lock{overflow:hidden}.psdm-up-overlay{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgb(17 20 28 / .55);opacity:0;visibility:hidden;transition:opacity 0.18s ease;-webkit-overflow-scrolling:touch}.psdm-up-overlay.is-open{opacity:1;visibility:visible}.psdm-up-modal{width:min(560px, 96vw);max-height:min(88vh, 760px);display:flex;flex-direction:column;background:var(--psdm-up-bg);color:var(--psdm-up-ink);border-radius:var(--psdm-up-radius);box-shadow:0 24px 64px rgb(17 20 28 / .28);transform:translateY(8px);transition:transform 0.18s ease;overflow:hidden}.psdm-up-overlay.is-open .psdm-up-modal{transform:none}.psdm-up-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--psdm-up-line)}.psdm-up-title-h{margin:0;font-size:1.12rem;font-weight:700;line-height:1.25}.psdm-up-x{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:8px;background:#fff0;color:var(--psdm-up-muted);font-size:26px;line-height:1;cursor:pointer;transition:background 0.15s ease,color 0.15s ease}.psdm-up-x:hover{background:var(--psdm-up-soft);color:var(--psdm-up-ink)}.psdm-up-body{padding:16px 18px;overflow-y:auto;flex:1 1 auto}.psdm-up-intro{margin:0 0 14px;color:var(--psdm-up-muted);font-size:.92rem;line-height:1.5}.psdm-up-drop{border:2px dashed var(--psdm-up-line);border-radius:12px;background:var(--psdm-up-soft);padding:clamp(18px, 5vw, 30px) 18px;text-align:center;cursor:pointer;transition:border-color 0.15s ease,background 0.15s ease}.psdm-up-drop.is-over{border-color:var(--psdm-up-accent);background:color-mix(in srgb,var(--psdm-up-accent) 8%,#fff)}.psdm-up-drop:focus-visible{outline:2px solid var(--psdm-up-accent);outline-offset:2px}.psdm-up-cloud{width:40px;height:40px;color:var(--psdm-up-accent);margin-bottom:6px}.psdm-up-droptext{margin:0;font-size:.95rem;color:var(--psdm-up-ink)}.psdm-up-browse{border:0;background:none;padding:0;color:var(--psdm-up-accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.psdm-up-hint{margin:8px 0 0;font-size:.8rem;color:var(--psdm-up-muted)}.psdm-up-hint-types{display:block}.psdm-up-hint-size{display:block;margin-top:3px}.psdm-up-err{margin-top:14px;padding:10px 12px;border-radius:9px;background:rgb(192 57 43 / .08);border:1px solid rgb(192 57 43 / .25);color:var(--psdm-up-danger);font-size:.86rem;line-height:1.45}.psdm-up-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.psdm-up-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--psdm-up-line);border-radius:var(--psdm-up-radius-card);background:#fff;box-shadow:0 4px 14px rgb(31 41 55 / .05)}.psdm-up-item.is-error{border-color:rgb(192 57 43 / .4);background:rgb(192 57 43 / .04)}.psdm-up-item.is-uploading{opacity:.8}.psdm-up-thumb{flex:0 0 auto;width:46px;height:46px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--psdm-up-soft)}.psdm-up-thumb img{width:100%;height:100%;object-fit:cover;display:block}.psdm-up-thumb .psdm-up-doc{width:30px;height:34px}.psdm-up-info{flex:1 1 auto;min-width:0}.psdm-up-fname{display:block;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.psdm-up-meta{display:block;font-size:.78rem;color:var(--psdm-up-muted);margin-top:1px}.psdm-up-itemerr{color:var(--psdm-up-danger)}.psdm-up-del{flex:0 0 auto;width:28px;height:28px;border:0;border-radius:7px;background:#fff0;color:var(--psdm-up-muted);font-size:20px;line-height:1;cursor:pointer;transition:background 0.15s ease,color 0.15s ease}.psdm-up-del:hover{background:rgb(192 57 43 / .1);color:var(--psdm-up-danger)}.psdm-up-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--psdm-up-line)}.psdm-up-attach{border:0;border-radius:var(--psdm-up-radius-pill);background:var(--psdm-up-accent);color:#fff;font:inherit;font-weight:700;letter-spacing:.2px;padding:12px 30px;cursor:pointer;transition:background 0.15s ease,opacity 0.15s ease,box-shadow 0.15s ease}.psdm-up-attach:hover:not(:disabled){box-shadow:0 10px 22px color-mix(in srgb,var(--psdm-up-accent) 32%,transparent)}.psdm-up-attach:hover:not(:disabled){background:var(--psdm-up-accent-d)}.psdm-up-attach:disabled{background:#c7ccd6!important;color:#fff!important;opacity:1;cursor:default;box-shadow:none!important}.psdm-up-attach.is-busy{position:relative;color:#fff0}.psdm-up-attach.is-busy::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2px solid rgb(255 255 255 / .5);border-top-color:#fff;border-radius:50%;animation:psdm-up-spin 0.7s linear infinite}@keyframes psdm-up-spin{to{transform:rotate(360deg)}}.psdm-up-attached{margin:14px 0 0;padding:14px;border:1px solid var(--psdm-up-line);border-radius:12px;background:var(--psdm-up-soft)}.psdm-up-att-head{margin:0 0 10px;font-weight:700;font-size:.9rem}.psdm-up-att-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%, 210px),1fr));gap:8px}.psdm-up-att-item{display:flex;align-items:center;gap:9px;padding:7px 9px;background:#fff;border:1px solid var(--psdm-up-line);border-radius:9px;min-width:0}.psdm-up-att-item .psdm-up-thumb{width:38px;height:38px}.psdm-up-att-item .psdm-up-fname{font-size:.84rem}.psdm-up-attached .psdm-up-change{display:flex;align-items:center;justify-content:center;gap:6px;width:100%!important;margin-top:12px;font:inherit;font-weight:700;cursor:pointer;padding:10px 16px!important;border:1.5px solid var(--psdm-up-accent)!important;border-radius:var(--psdm-up-radius-pill)!important;background:transparent!important;color:var(--psdm-up-accent)!important;text-decoration:none!important;transition:background 0.15s ease,color 0.15s ease}.psdm-up-attached .psdm-up-change:hover{background:color-mix(in srgb,var(--psdm-up-accent) 12%,#fff)!important;color:var(--psdm-up-accent-d)!important}.psdm-up-plus{font-size:1.2em;line-height:0;font-weight:700}.psdm-up-cart-files,.psdm-up-order-files{display:flex;flex-wrap:wrap;gap:10px}.psdm-up-title{word-break:break-word}.psdm-up-ref{color:var(--psdm-up-muted);font-size:.82em;font-weight:400}.psdm-up-side{display:inline-block;padding:1px 7px;border-radius:999px;vertical-align:1px;font-size:.78em;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--psdm-up-accent-d);background:color-mix(in srgb,var(--psdm-up-accent) 12%,#fff);border:1px solid color-mix(in srgb,var(--psdm-up-accent) 35%,#fff)}.psdm-up-browse,.psdm-up-change,.psdm-up-x,.psdm-up-del,.psdm-up-att-del{background:transparent!important;border:0!important;box-shadow:none!important;text-transform:none!important;min-height:0!important}.psdm-up-browse,.psdm-up-change{padding:0!important;width:auto!important;border-radius:0!important;color:var(--psdm-up-accent)!important}.psdm-up-overlay .psdm-up-browse:hover{background:transparent!important;color:var(--psdm-up-accent-d)!important;text-decoration:underline}.psdm-up-x:hover{background:var(--psdm-up-soft)!important;color:var(--psdm-up-ink)!important}.psdm-up-del:hover,.psdm-up-att-del:hover{background:rgb(192 57 43 / .1)!important;color:var(--psdm-up-danger)!important}.psdm-up-attach{background:var(--psdm-up-accent)!important}.psdm-up-attach:hover:not(:disabled){background:var(--psdm-up-accent-d)!important;color:#fff!important}.psdm-up-att-item{position:relative;padding-right:24px}.psdm-up-att-item .psdm-up-fname{flex:1 1 auto;min-width:0}.psdm-up-att-del{position:absolute;top:5px;right:6px;width:18px!important;height:18px!important;min-width:0!important;padding:0!important;border-radius:5px!important;color:var(--psdm-up-muted);font-size:13px;line-height:1;cursor:pointer}@media (prefers-reduced-motion:reduce){.psdm-up-overlay,.psdm-up-modal{transition:none}.psdm-up-attach.is-busy::after{animation:none}}