.pd{--pd-bg:#f7f9fc;--pd-surface:#fff;--pd-ink:#0a1020;--pd-ink-2:#38424f;--pd-gray:#6a7686;--pd-line:#e8ecf3;--pd-blue:#0a8bff;--pd-blue-deep:#0563d6;--pd-blue-soft:#eaf4ff;--pd-green:#0e9f6e;--pd-red:#e02424;background:var(--pd-bg);min-height:100vh;color:var(--pd-ink)}.pd-card{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:20px;box-shadow:0 8px 28px #0a1e460f}.pd-btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.92rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.pd-btn:active:not(:disabled){transition:transform .12s;transform:scale(.97)}.pd-btn:disabled{opacity:.5;cursor:default}.pd-btn--primary{background:linear-gradient(135deg, var(--pd-blue) 0%, var(--pd-blue-deep) 100%);color:#fff;box-shadow:0 8px 24px #0a8bff4d}.pd-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px #0a8bff66}.pd-btn--ghost{background:var(--pd-surface);color:var(--pd-ink-2);border:1px solid var(--pd-line)}.pd-btn--ghost:hover:not(:disabled){border-color:var(--pd-blue);color:var(--pd-blue-deep)}.pd-btn--sm{padding:8px 16px;font-size:.82rem}.pd-input{border:1px solid var(--pd-line);width:100%;color:var(--pd-ink);background:#fff;border-radius:14px;outline:none;padding:12px 16px;font-size:.95rem;transition:border-color .15s}.pd-input:focus{border-color:var(--pd-blue);box-shadow:0 0 0 3px #0a8bff1f}.pd-label{color:var(--pd-ink-2);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.pd-tab{color:var(--pd-gray);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:10px 20px;font-size:.9rem;font-weight:600}.pd-tab--active{background:var(--pd-blue-soft);color:var(--pd-blue-deep)}.pd-table{border-collapse:collapse;width:100%;font-size:.88rem}.pd-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--pd-gray);border-bottom:1px solid var(--pd-line);background:#fbfcfe;padding:12px 14px;font-size:.72rem;font-weight:600}.pd-table td{border-bottom:1px solid var(--pd-line);color:var(--pd-ink-2);padding:12px 14px}.pd-error{color:var(--pd-red);font-size:.85rem}