/* standalone-pages.css — shared classes for standalone PHP pages (no _layout) */
/* Load alongside design-tokens.css; token refs only where page uses tokens */

/* ── Alert banner (error paths + error-banner molecule) ── */
.alert-danger{background:var(--danger-soft);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:10px;font-size:var(--text-sm)}
.alert-danger--page{margin:var(--space-8, 32px)}
.alert-danger--inline{margin-bottom:var(--space-4-5)}
.alert-danger p{margin:0}
.standalone-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-base);color:var(--content-primary);font-family:Inter,system-ui,-apple-system,sans-serif;margin:0;padding:var(--space-6)}

/* ── Webhooks 503 fallback page ── */
.webhooks-fallback{font-family:Inter,system-ui,sans-serif;background:var(--surface-base);color:var(--content-primary);display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center;margin:0}
.webhooks-fallback h1{font-size:1.5rem;margin-bottom:var(--space-2)}
.webhooks-fallback p{color:var(--content-tertiary)}
.wf-msg{font-size:var(--text-xs)}
.wf-btn{display:inline-flex;padding:var(--space-2-5) var(--space-6);background:var(--accent);color:var(--content-inverse);border-radius:var(--radius-md);text-decoration:none}

/* ── install.php (token 值与页面自有调色板一致) ── */
.license-key-input{font-family:monospace;text-transform:uppercase;letter-spacing:2px}
.install-hint{font-size:var(--text-xs);color:var(--border-strong);text-align:center;margin-top:var(--space-3)}
.install-hint a{color:var(--chart-blue)}
.migration-output{font-size:var(--text-xs);background:var(--bg-overlay);padding:var(--space-3);border-radius:var(--radius-md);max-height:200px;overflow:auto}

/* ── register-v2.php ── */
.rv2-plan-line{color:var(--content-secondary);margin:var(--space-2) 0}
.rv2-meta{font-size:var(--text-xs);color:var(--content-tertiary);margin-top:var(--space-2)}

/* ── fire-postback-for-conversion.php ── */
.fp-mono{font-family:monospace;font-size:11px}
.fp-link-success{color:var(--success);font-weight:600}
.fp-link-muted{color:var(--content-secondary);font-size:11px}
.fp-link-plain{color:var(--content-secondary)}
.fp-status{font-weight:600}
.fp-ok{color:var(--success)}
.fp-fail{color:var(--danger)}
.fp-footer{margin-top:30px}

/* ── ops-dashboard.php ── */
.ops-grid{margin-bottom:var(--space-4)}
.ops-hint{font-size:11px;color:var(--border-strong);margin-top:var(--space-2)}

/* ── ux-dashboard.php ── */
.uxd-card-mt{margin-top:var(--space-4)}
.uxd-td-danger{font-weight:700;color:var(--danger)}
.uxd-td-sm{font-size:10px}
.uxd-chart{display:flex;align-items:flex-end;gap:var(--space-0-5);height:80px}
.uxd-chart-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--content-tertiary);margin-top:var(--space-1)}

/* ── snapshot-viewer.php ── */
.sv-icon{font-size:var(--text-xl)}
.sv-value{font-size:22px;font-weight:700}
.sv-label{font-size:11px;color:var(--content-secondary)}
.sv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}
.sv-title{font-size:var(--text-xs);font-weight:600}
.sv-frame{width:100%;height:320px;border:none}
.sv-grid-wide{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-3)}
.sv-empty{text-align:center;padding:var(--space-10)}
.sv-empty-icon{font-size:var(--text-5xl);margin-bottom:var(--space-4)}
.sv-card-pad-sm{padding:var(--space-3)}
.sv-card-flush{padding:0}
.sv-card-pad-lg{padding:var(--space-5)}
.sv-empty-hint{color:var(--content-secondary);font-size:var(--text-sm)}
