.workspace-account, .upi-modal {
  --ink-muted: var(--ink-2); --ink-faint: var(--ink-3); --ink-body: var(--ink-2);
  --ink-hairline: var(--line); --canvas-soft: var(--paper); --brand: var(--coral);
  --primary: var(--coral); --r-md: 12px; --r-sm: 8px;
}
.workspace-account .input-group { display: grid; gap: 6px; font-size: 13px; }
.workspace-account .input-field { width: 100%; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); font: inherit; }
.workspace-account form { display: grid; gap: 14px; }
.workspace-account .workspace-project-entry { border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin: 10px 0; }
.workspace-account .card-header-row { display: flex; justify-content: space-between; gap: 12px; }
.upi-modal__card { background: var(--card); border-radius: 18px; border: 1px solid var(--line); }
/* Existing account/checkout components mapped to Opus shell tokens. */
.workspace-account { margin-top:16px; }
.workspace-account input,.workspace-account select { width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink); }
.workspace-account label { display:block;margin-bottom:5px; }
.upi-modal__card { background:var(--card);border:1px solid var(--line);border-radius:20px; }
.settings-layout { display: grid; gap: 16px; max-width: 1080px; }
.settings-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.settings-intro h2 { margin: 4px 0 6px; font-size: 24px; color: var(--ink); }
.settings-intro p, .settings-card > p, .settings-help { color: var(--ink-muted); font-size: 13px; line-height: 1.6; }
.settings-eyebrow { display: block; color: var(--brand); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.settings-jump-links { display: flex; flex-wrap: wrap; gap: 8px; }
.settings-jump-links a { padding: 8px 11px; border: 1px solid var(--ink-hairline); border-radius: var(--r-md); color: var(--ink); font-size: 12px; font-weight: 600; text-decoration: none; }
.settings-jump-links a:hover { border-color: var(--brand); color: var(--brand); }
.settings-card { display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 16px; }
.settings-card h3 { margin: 4px 0 0; }
.settings-card .card-header-row { align-items: flex-start; }
.settings-account-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; background: var(--canvas-soft); border: 1px solid var(--ink-hairline); border-radius: var(--r-md); }
.settings-account-row > div { display: flex; flex-direction: column; min-width: 0; gap: 4px; }
.settings-account-row span { color: var(--ink-muted); font-size: 11px; }
.settings-account-row strong { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.settings-forms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.settings-forms .account-security-form { display: flex; flex-direction: column; gap: 12px; }
.settings-forms .edit-form-grid { grid-template-columns: 1fr; }
.settings-forms .btn { align-self: flex-start; }
.settings-help { margin: 0; }
.settings-help a { color: var(--brand); font-weight: 600; }
.settings-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.settings-stats > div { display: flex; flex-direction: column; gap: 4px; padding: 16px; background: var(--canvas-soft); border: 1px solid var(--ink-hairline); border-radius: var(--r-md); }
.settings-stats span { color: var(--ink-muted); font-size: 12px; }
.settings-stats strong { color: var(--ink); font-size: 20px; }
.settings-stats small { color: var(--ink-faint); font-size: 11px; }
.settings-coupon-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 10px; }
.settings-coupon-form .input-group { min-width: 0; }
.settings-quote { padding: 12px 14px; background: var(--canvas-soft); border: 1px solid var(--ink-hairline); border-radius: var(--r-md); color: var(--ink-muted); font-size: 13px; }
.settings-quote[data-state="success"] { color: var(--ink); border-color: var(--brand); }
.settings-quote[data-state="error"] { color: var(--danger, #b42318); }
.settings-activity { border-top: 1px solid var(--ink-hairline); padding-top: 16px; }
.settings-activity h4 { margin: 0 0 10px; font-size: 13px; color: var(--ink); }
.settings-record { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--ink-hairline); }
.settings-record:last-child { border-bottom: 0; }
.settings-record-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.settings-record-main strong { color: var(--ink); font-size: 13px; }
.settings-record-main small, .settings-record-meta { color: var(--ink-muted); font-size: 11px; line-height: 1.5; }
.settings-record-meta { text-align: right; white-space: nowrap; }
.settings-record-meta strong { display: block; color: var(--ink); font-size: 14px; }
.settings-empty { color: var(--ink-muted); font-size: 13px; padding: 14px 0; }
@media (max-width: 760px) {
  .settings-intro { align-items: flex-start; flex-direction: column; }
  .settings-account-row { align-items: flex-start; flex-direction: column; }
  .settings-forms, .settings-stats { grid-template-columns: 1fr; }
  .settings-coupon-form { grid-template-columns: 1fr; }
  .settings-record-meta { white-space: normal; }
}
.upi-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 20px; }
.upi-modal[hidden] { display: none; }
.upi-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .55); }
.upi-modal__card { position: relative; width: min(100%, 560px); max-height: calc(100vh - 40px); overflow-y: auto; padding: 30px; }
.upi-modal__close { position: absolute; right: 14px; top: 12px; border: 0; background: transparent; color: var(--ink-muted); font-size: 28px; cursor: pointer; }
.upi-payment__eyebrow { color: var(--primary); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.upi-payment h2 { margin: 7px 0; color: var(--ink); }
.upi-payment p { color: var(--ink-body); }
.upi-payment__status-hero { display: grid; grid-template-columns: 128px minmax(0, 1fr); align-items: center; gap: 15px; padding-right: 16px; }
.upi-payment__status-hero > img { width: 128px; height: 128px; object-fit: contain; }
.upi-payment--status .upi-payment__eyebrow { color: #3765ac; }
.upi-payment--status.is-paid .upi-payment__eyebrow { color: #27805d; }
.upi-payment--status.is-failed .upi-payment__eyebrow { color: #b24747; }
.upi-payment--status .upi-payment__status-hero p { margin: 8px 0 0; }
.upi-summary { display: grid; gap: 10px; margin: 22px 0; padding: 16px; border: 1px solid var(--ink-hairline); border-radius: var(--r-md); }
.upi-summary div { display: flex; justify-content: space-between; gap: 20px; color: var(--ink-body); }
.upi-summary strong { color: var(--ink); }
.upi-features { margin: 0 0 22px; padding-left: 20px; color: var(--ink-body); display: grid; gap: 8px; }
.upi-qr { width: min(100%, 280px); aspect-ratio: 1; object-fit: contain; display: block; margin: 20px auto; padding: 12px; border: 1px solid var(--ink-hairline); border-radius: var(--r-md); background: #fff; }
.upi-qr-button { display: block; width: min(100%, 304px); margin: 0 auto; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.upi-qr-button .upi-qr { width: 100%; margin: 20px 0; }
.upi-qr-preview { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; padding: 32px; background: rgba(15, 23, 42, .94); border-radius: inherit; }
.upi-qr-preview[hidden] { display: none; }
.upi-qr-preview img { max-width: min(100%, 420px); max-height: calc(100vh - 150px); background: #fff; padding: 14px; border-radius: var(--r-md); }
.upi-qr-preview__close { position: absolute; top: 10px; right: 14px; border: 0; background: transparent; color: #fff; font-size: 30px; cursor: pointer; }
.upi-id { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border: 1px solid var(--ink-hairline); border-radius: var(--r-md); color: var(--ink); word-break: break-all; }
.upi-id span { display: grid; gap: 3px; }
.upi-id small { color: var(--ink-muted); font-size: 12px; }
.upi-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.upi-actions .btn { flex: 1 1 150px; }
.upi-form { display: grid; gap: 16px; margin-top: 20px; }
.upi-form label { display: grid; gap: 7px; color: var(--ink); font-weight: 700; font-size: 14px; }
.upi-form input { width: 100%; box-sizing: border-box; border: 1px solid var(--ink-hairline); border-radius: var(--r-sm); padding: 12px; font: inherit; }
.upi-form .upi-callback-toggle { display: flex; align-items: center; gap: 9px; font-weight: 600; }
.upi-form .upi-callback-toggle input { width: 16px; height: 16px; padding: 0; }
.upi-dropzone { padding: 24px; border: 1px dashed var(--ink-hairline); border-radius: var(--r-md); text-align: center; color: var(--ink-body); cursor: pointer; }
.upi-dropzone.is-dragging { border-color: var(--primary); background: var(--canvas-soft); }
.upi-file-preview { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ink-hairline); text-align: left; }
.upi-file-preview img { width: 42px; height: 42px; object-fit: cover; border-radius: var(--r-sm); }
.upi-file-preview span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; font-size: 12px; }
.upi-spinner { display: inline-block; width: 13px; height: 13px; margin-right: 7px; vertical-align: -2px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: upi-spin .7s linear infinite; }
@keyframes upi-spin { to { transform: rotate(360deg); } }
.upi-note, .upi-error { margin: 0; font-size: 13px; }
.upi-support { margin: 16px 0 0; color: var(--ink-body); font-size: 13px; line-height: 1.5; }
.upi-error { color: #b42318; }
.upi-success { text-align: center; padding: 16px 4px; }
.upi-success__mark { width: 50px; height: 50px; display: grid; place-items: center; margin: 0 auto 15px; border-radius: 50%; background: #eaf7f1; color: #147a52; font-size: 27px; }
@media (max-width: 520px) { .upi-modal { padding: 12px; } .upi-modal__card { max-height: calc(100vh - 24px); padding: 24px 18px; } .upi-qr { max-width: 100%; } .upi-qr-preview { padding: 20px; } .upi-payment__status-hero { grid-template-columns: 88px minmax(0, 1fr); gap: 10px; padding-right: 10px; } .upi-payment__status-hero > img { width: 88px; height: 100px; } }

/* ── SKELETON SHIMMER ANIMATION ── */
.skeleton-box {
  background: linear-gradient(90deg, rgba(220,215,205,0.4) 25%, rgba(245,240,232,0.8) 50%, rgba(220,215,205,0.4) 75%);
  background-size: 200% 100%;
  animation: skeletonShimmer 1.4s infinite linear;
  border-radius: var(--r-sm);
  display: block;
}

.skeleton-circle {
  background: linear-gradient(90deg, rgba(220,215,205,0.4) 25%, rgba(245,240,232,0.8) 50%, rgba(220,215,205,0.4) 75%);
  background-size: 200% 100%;
  animation: skeletonShimmer 1.4s infinite linear;
  border-radius: 50%;
  display: block;
}

@keyframes skeletonShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
