/* Public pages in the blue visual system. */
body.visual-public{--ink:#182b40;--ink-soft:#405572;--primary:#2859db;--primary-dark:#204cc2;--paper:#f6f8fc;--paper-deep:#edf2fa;--surface:#fff;--line:#e4eaf3;--muted:#53667f;--gold:#2859db;--gold-soft:#e5edfc;--shadow:none;--radius:12px;--radius-lg:18px;--shell:1120px;background:var(--paper);font-size:14px}
.visual-public::before,.visual-public::after{display:none}
.visual-public h1,.visual-public h2,.visual-public h3,.visual-public h4{font-family:inherit;font-style:normal;line-height:1.25;letter-spacing:-.04em}
.visual-public .container{width:100%;max-width:1160px;padding:0 20px;margin:auto}
.visual-public .eyebrow{font-size:9px;letter-spacing:1.3px;font-weight:600;color:var(--muted)}
.visual-public .eyebrow::before{display:none}
.visual-public .btn{border-radius:10px;font-size:12px;font-weight:600;line-height:1.4;min-height:44px;padding:12px 18px}
.visual-public .btn:hover{transform:none}
.visual-public .btn-secondary{background:var(--surface)}
.visual-public .public-header{border-bottom:1px solid var(--line);background:var(--surface)}
.visual-public .public-header>.container{height:78px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.visual-public .brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.6px;flex-shrink:0}
.visual-public .brand img{object-fit:contain}
.visual-public .brand small{display:block;font-size:7px;font-weight:400;letter-spacing:1.4px;color:var(--muted);text-transform:uppercase;margin-top:3px}
.visual-public .public-header nav{display:none;align-items:center;gap:28px;font-size:12px;color:var(--ink-soft)}
.visual-public .public-header a:hover,.visual-public .public-footer a:hover{color:var(--primary)}
.visual-public .public-hero{padding:48px 0}
.visual-public .public-hero-grid{display:grid;gap:36px}
.visual-public .public-hero h1{font-size:36px;font-weight:700;max-width:550px;letter-spacing:-1.7px;line-height:1.18}
.visual-public .public-hero h1 span{display:block;color:var(--primary)}
.visual-public .public-hero-lead{font-size:13px;color:var(--muted);line-height:1.9;margin-top:22px;max-width:450px}
.visual-public .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.visual-public .public-hero-note{font-size:10px;color:var(--muted);margin-top:16px;max-width:420px}
.visual-public .public-preview{border:1px solid #d9e3f6;background:#fff;border-radius:18px;box-shadow:0 16px 40px -28px #5875af;overflow:hidden;align-self:center}
.visual-public .public-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}
.visual-public .preview-brand{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}
.visual-public .preview-brand svg{color:var(--primary)}
.visual-public .preview-caption{font-size:9px;color:var(--muted)}
.visual-public .preview-content{padding:24px}
.visual-public .preview-content .eyebrow{margin-bottom:8px}
.visual-public .preview-content h2{font-size:20px;margin-bottom:24px}
.visual-public .preview-reading{display:flex;align-items:center;gap:12px}
.visual-public .preview-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:#edf2ff;color:var(--primary)}
.visual-public .preview-reading>div>span{font-size:11px;color:var(--muted)}
.visual-public .preview-reading strong{font-size:25px;display:block;line-height:1.5}
.visual-public .preview-reading small{font-size:11px;color:var(--muted);font-weight:400}
.visual-public .preview-done{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:10px;color:#367960}
.visual-public .preview-done svg{width:14px!important}
.visual-public .preview-track{height:6px;border-radius:6px;background:#edf2fa;margin:16px 0 24px}
.visual-public .preview-track>span{display:block;width:50%;height:100%;border-radius:6px;background:var(--primary)}
.visual-public .preview-position{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.visual-public .preview-position span{font-size:10px;color:var(--muted)}
.visual-public .preview-position strong{display:block;color:var(--ink);font-size:11px;font-weight:500;margin-top:5px}
.visual-public .preview-position>svg{color:var(--muted)}
.visual-public .preview-next{background:#f5f8ff;border-radius:10px;padding:14px;display:flex;align-items:center;gap:10px;margin-top:20px;color:var(--primary)}
.visual-public .preview-next p{font-size:10px;color:var(--muted)}
.visual-public .preview-next strong{display:block;color:var(--ink);font-size:11px;font-weight:500;margin-top:3px}
.visual-public .public-stats{border-block:1px solid var(--line);background:#fff}
.visual-public .public-stats>.container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-block:28px}
.visual-public .public-stats strong{display:block;font-size:24px;letter-spacing:-1px;font-weight:600;font-variant-numeric:tabular-nums}
.visual-public .public-stats span{font-size:10px;color:var(--muted)}
.visual-public .public-section{padding:48px 0;scroll-margin-top:24px}
.visual-public .public-section-head{margin-bottom:28px}
.visual-public .public-section h2{font-size:26px;max-width:550px}
.visual-public .public-steps,.visual-public .public-features{display:grid;gap:14px}
.visual-public .public-steps article,.visual-public .public-features article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px;position:relative}
.visual-public .public-steps article>svg{color:var(--primary);margin:10px 0 20px}
.visual-public .public-step-index{position:absolute;right:24px;top:28px;font-size:11px;color:var(--muted)}
.visual-public .public-section h3{font-size:15px;letter-spacing:-.4px;margin:0 0 10px}
.visual-public .public-section article p,.visual-public .public-community>.container>div>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9}
.visual-public .public-features .preview-icon{margin-bottom:22px}
.visual-public .public-community{background:#edf2fb;border-block:1px solid var(--line)}
.visual-public .public-community>.container{display:grid;gap:32px}
.visual-public .public-community h2{margin-bottom:18px}
.visual-public .public-text-link{display:inline-flex;align-items:center;gap:10px;color:var(--primary);font-size:12px;font-weight:600;margin-top:20px}
.visual-public .public-verse{margin:0;padding:26px;border:1px solid #d8e2f5;border-radius:16px;background:#f9fbff;align-self:center}
.visual-public .public-verse .arabic{font-size:30px;line-height:2;color:var(--ink)}
.visual-public .public-verse p:not(.arabic){font-size:12px;line-height:1.9;color:var(--muted);margin-top:18px}
.visual-public cite{display:block;font-style:normal;font-size:10px;color:var(--muted);margin-top:14px}
.visual-public .public-reflection{padding:30px 0 46px;text-align:center}
.visual-public .public-reflection .container{max-width:730px}
.visual-public .public-reflection .arabic{font-size:29px;line-height:2}
.visual-public .public-reflection blockquote{font-size:12px;line-height:1.9;color:var(--muted);margin:18px 0 0}
.visual-public .public-cta{padding:32px 0;background:#edf2fb;border-block:1px solid var(--line)}
.visual-public .public-cta>.container{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.visual-public .public-cta h2{font-size:24px}
.visual-public .public-cta p{font-size:11px;color:var(--muted);margin-top:10px}
.visual-public .public-footer{background:#fff;padding:28px 0}
.visual-public .public-footer>.container{display:flex;flex-direction:column;gap:24px}
.visual-public .public-footer .container>div{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:var(--muted)}
.visual-public .auth-page{display:flex;flex-direction:column;min-height:100dvh}
.visual-public .auth-art{min-height:0;background:var(--paper);color:var(--ink);padding:24px 20px;display:block}
.visual-public .auth-art::after{display:none}
.visual-public .auth-art .brand span{color:var(--ink)}
.visual-public .auth-quote,.visual-public .auth-art>.small{display:none}
.visual-public .auth-panel{padding:12px 20px 40px;background:var(--paper);flex:1}
.visual-public .auth-card{max-width:440px;width:100%;border-radius:18px;padding:26px;background:#fff}
.visual-public .auth-card h1{font-size:29px}
.visual-public .auth-card>p{font-size:12px;line-height:1.9}
.visual-public .auth-card .eyebrow{font-size:9px;margin-bottom:12px}
.visual-public .auth-meta{flex-wrap:wrap}
.visual-public .auth-divider{letter-spacing:.04em;font-size:9px}
.visual-public .field{min-width:0;margin-bottom:18px;gap:8px}
.visual-public .field label{font-size:12px;font-weight:500}
.visual-public .field input,.visual-public .field textarea,.visual-public .field select{font-size:14px;background:#fff;border-radius:10px;min-width:0;max-width:100%;width:100%;line-height:1.5}
.visual-public .field input:focus,.visual-public .field select:focus,.visual-public .field textarea:focus{outline:3px solid #dbe6ff;border-color:var(--primary)}
.visual-public .field textarea{resize:vertical;min-height:90px}
@media(min-width:650px){
.visual-public .public-header nav{display:flex}
.visual-public .public-stats>.container{grid-template-columns:repeat(4,minmax(0,1fr))}
.visual-public .public-steps,.visual-public .public-features{grid-template-columns:repeat(3,minmax(0,1fr))}
.visual-public .public-footer>.container{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(min-width:900px){
.visual-public .container{padding-inline:32px}
.visual-public .public-hero{padding:80px 0}
.visual-public .public-hero-grid{grid-template-columns:1.12fr 1fr;gap:60px;align-items:center}
.visual-public .public-hero h1{font-size:48px;letter-spacing:-2.5px}
.visual-public .public-hero-lead{font-size:14px}
.visual-public .public-section{padding:64px 0}
.visual-public .public-section h2{font-size:32px}
.visual-public .public-community>.container{grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.visual-public .public-cta>.container{flex-direction:row;justify-content:space-between;align-items:center}
.visual-public .auth-page{display:grid;grid-template-columns:1fr 1fr}
.visual-public .auth-art{display:flex;padding:44px;background:#edf2fb}
.visual-public .auth-quote{display:block;max-width:400px;margin-block:60px}
.visual-public .auth-quote .arabic{color:var(--ink);font-size:36px;line-height:2}
.visual-public .auth-quote p:not(.arabic){font-family:inherit;font-size:15px;line-height:1.9;color:var(--ink-soft)}
.visual-public .auth-quote cite{color:var(--muted);letter-spacing:.04em}
.visual-public .auth-art>.small{display:block;color:var(--muted)!important}
.visual-public .auth-panel{padding:44px 28px}
.visual-public .auth-card{padding:36px}
}

@media(max-width:359px){.visual-public .public-hero h1{font-size:32px}.visual-public .preview-content{padding:20px}.visual-public .public-preview-top{padding:16px}.visual-public .public-preview-top .preview-brand{font-size:10px}.visual-public .preview-caption{font-size:8px}.visual-public .auth-card{padding:20px}.visual-public .brand{font-size:13px}.visual-public .brand img{width:30px;height:30px}}

/* Account status and missing pages share the public visual system. */
.visual-public .status-page{padding:40px 20px;min-height:calc(100dvh - 78px)}
.visual-public .status-card{width:min(100%,480px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:none}
.visual-public .status-icon{background:#edf2ff;color:var(--primary);border:none;border-radius:14px;width:52px;height:52px;margin:0 auto 22px}
.visual-public .status-card h1{font-size:28px;line-height:1.3}
.visual-public .status-card>p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:16px}
.visual-public .status-badge{background:#edf2ff;color:var(--primary);border:1px solid #dce6ff;font-size:10px;font-weight:500;letter-spacing:0}
.visual-public .status-badge.danger{color:#a33e40;background:#fff3f3;border-color:#f1dada}
.visual-public .status-meta{padding:18px;background:#f7f9fd;border-radius:12px;border:1px solid var(--line);font-size:11px;overflow-wrap:anywhere}
.visual-public .status-actions{flex-wrap:wrap;gap:10px}
.visual-public .status-actions form{margin:0}
@media(max-width:359px){.visual-public .status-card{padding:24px 20px}.visual-public .status-card h1{font-size:24px}.visual-public .status-actions{flex-direction:column}.visual-public .status-actions>a,.visual-public .status-actions>form,.visual-public .status-actions button{width:100%}}
