/* STANDALONE COMPOSITION. Paint and controls come from tokens/shared components. */
.preview-standalone { margin:0; min-width:0; min-height:100vh; background:var(--pv-bg); color:var(--pv-text); font:14px var(--pv-font); }
.preview-standalone * { box-sizing:border-box; }
.preview-standalone a { color:var(--pv-blue); }
.preview-standalone :is(.page,.wrap) { width:100%; max-width:520px; margin:10vh auto; padding:24px; }
.preview-standalone .login-page { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px 20px; }
.preview-standalone .brand { text-align:center; margin-bottom:28px; }
.preview-standalone .brand-mark { width:58px; height:58px; margin:0 auto 14px; display:grid; grid-template-columns:repeat(2,1fr); gap:5px; padding:8px; border:1px solid var(--pv-line); border-radius:14px; background:var(--pv-panel); }
.preview-standalone .brand-mark span { border-radius:50%; background:var(--pv-gold); }
.preview-standalone .brand-mark .muted-mark { background:var(--pv-muted); }
.preview-standalone .brand h1 { font-size:32px; letter-spacing:.2px; margin:0 0 8px; }
.preview-standalone .tagline { font-size:17px; margin:0; color:var(--pv-muted); }
.preview-standalone .pill-line { margin-top:9px; font-size:13px; color:var(--pv-gold); font-weight:650; letter-spacing:.4px; }
.preview-standalone .login { width:100%; max-width:410px; padding:28px; border-radius:14px; }
.preview-standalone main.login { width:calc(100% - 40px); margin:12vh auto; }
.preview-standalone :is(.card,.panel) { padding:28px; border-radius:14px; }
.preview-standalone :is(h1,h2) { margin-top:0; }
.preview-standalone h1 { overflow-wrap:anywhere; }
.preview-standalone .login h2 { margin:0 0 5px; font-size:21px; }
.preview-standalone .login-intro { margin:0 0 20px; color:var(--pv-muted); }
.preview-standalone label { display:grid; gap:6px; margin-top:15px; font-weight:700; }
.preview-standalone input { width:100%; }
.preview-standalone input::placeholder { color:var(--pv-muted); opacity:1; }
.preview-standalone .auth-page-button, .preview-standalone.auth-page button[type=submit] { width:100%; margin-top:20px; }
.preview-standalone .error { color:var(--pv-red); }
.preview-standalone :is(.message,.danger-box) { padding:16px; border:1px solid var(--pv-line); border-radius:8px; margin:16px 0; }
.preview-standalone .danger-box { border-color:var(--pv-red); background:var(--pv-danger-bg); }
.preview-standalone .back { display:block; margin-top:18px; text-align:center; }
.preview-standalone .footer { margin-top:24px; font-size:12px; color:var(--pv-muted); text-align:center; }
.preview-standalone .muted { color:var(--pv-muted); }
.preview-standalone.document-page .page { max-width:820px; margin:28px auto; }
.preview-standalone.document-page .panel { line-height:1.65; }
.preview-standalone.document-page h2 { margin-top:28px; font-size:20px; }
.preview-standalone .facts { line-height:1.8; margin:16px 0; overflow-wrap:anywhere; }
.preview-standalone .actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:18px; }
.preview-standalone .auth-divider { display:flex; align-items:center; gap:10px; margin:18px 0; color:var(--pv-muted); font-size:13px; }
.preview-standalone .auth-divider span { height:1px; background:var(--pv-line); flex:1; }
.preview-standalone .auth-provider { display:block; text-align:center; padding:11px 16px; font-weight:700; }
.preview-standalone .auth-alternative { text-align:center; margin:16px 0 0; }
@media(max-width:520px) {
 .preview-standalone .brand h1 { font-size:27px; }
 .preview-standalone .login-page { justify-content:flex-start; padding-top:9vh; }
 .preview-standalone :is(.login,.card,.panel) { padding:22px; }
 .preview-standalone :is(.page,.wrap) { padding:16px; margin:24px auto; }
}
