/**
 *                          ___                   _       _         _ 
 *                         / __)                 | |     | |       | |
 *     _ _ _ _ _ _ _ _ _ _| |__ _____  ____ _   _| |  _  | |__   __| |
 *    | | | | | | | | | (_   __|____ |/ ___) | | | |_/ ) |  _ \ / _  |
 *    | | | | | | | | | | | |  / ___ | |   | |_| |  _ ( _| |_) | (_| |
 *     \___/ \___/ \___(_)|_|  \_____|_|   |____/|_| \_|_)____/ \____|
 *                                                                    
 *
 * 	Author: MD OMAR FARUK
 * 	Author URI: www.faruk.bd
 * 	Author Contact: https://faruk.bd/#contact
 * 	Author Email: info@faruk.bd | farukmr@gmail.com
 * 	Copyright © 2026
 *                          ___                   _       _         _ 
 *                         / __)                 | |     | |       | |
 *     _ _ _ _ _ _ _ _ _ _| |__ _____  ____ _   _| |  _  | |__   __| |
 *    | | | | | | | | | (_   __|____ |/ ___) | | | |_/ ) |  _ \ / _  |
 *    | | | | | | | | | | | |  / ___ | |   | |_| |  _ ( _| |_) | (_| |
 *     \___/ \___/ \___(_)|_|  \_____|_|   |____/|_| \_|_)____/ \____|
 *                                                                    
 */
/* Sign-in and installer pages */
:root { --brand: #2f7cf6; --accent: #14b8a6; }
* { box-sizing: border-box; }
body.auth-body {
    margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center;
    font: 14px/1.5 "Inter", "Segoe UI", system-ui, -apple-system, sans-serif; color: #e6ebf5;
    background: radial-gradient(1200px 600px at 10% -10%, rgba(47,124,246,.35), transparent 60%),
                radial-gradient(900px 500px at 110% 110%, rgba(20,184,166,.28), transparent 60%), #0a0f1c;
    padding: 24px 16px;
}
.auth-wrap { width: 100%; max-width: 410px; }
.auth-wrap.wide { max-width: 720px; }
.auth-card {
    background: rgba(17, 24, 39, .82); border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 18px; padding: 30px; box-shadow: 0 30px 80px rgba(0,0,0,.45); backdrop-filter: blur(14px);
}
.auth-brand { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; }
.auth-brand img { border-radius: 12px; object-fit: contain; }
.auth-brand h1 { margin: 0; font-size: 21px; letter-spacing: -.2px; }
.auth-brand p { margin: 2px 0 0; color: #94a3b8; font-size: 13px; }
label { display: block; font-size: 12.5px; color: #a8b3c7; margin-bottom: 14px; font-weight: 500; }
input, select {
    display: block; width: 100%; margin-top: 6px; padding: 11px 13px; border-radius: 10px;
    border: 1px solid rgba(148,163,184,.22); background: rgba(2,6,23,.55); color: #f1f5f9; font: inherit; outline: none;
    transition: border-color .15s, box-shadow .15s;
}
input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 28%, transparent); }
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 18px; border-radius: 10px;
    border: 0; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; color: #fff;
}
.btn.primary { background: linear-gradient(135deg, var(--brand), var(--accent)); box-shadow: 0 8px 22px rgba(47,124,246,.3); }
.btn.primary:hover { filter: brightness(1.08); }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.btn.block { width: 100%; margin-top: 6px; }
.alert { padding: 11px 14px; border-radius: 10px; margin-bottom: 14px; font-size: 13px; }
.alert.err { background: rgba(239,68,68,.14); border: 1px solid rgba(239,68,68,.35); color: #fecaca; }
.alert.ok { background: rgba(34,197,94,.13); border: 1px solid rgba(34,197,94,.35); color: #bbf7d0; }
.switch { text-align: center; color: #94a3b8; margin: 16px 0 0; font-size: 13px; }
a { color: #7fb0ff; }
.feat-row { display: flex; gap: 6px; justify-content: center; margin-top: 20px; }
.feat-row span { font-size: 11px; letter-spacing: .6px; font-weight: 700; color: #94a3b8; border: 1px solid rgba(148,163,184,.2); padding: 3px 9px; border-radius: 99px; }
.auth-foot { text-align: center; color: #64748b; font-size: 12px; margin-top: 18px; }
.sec { font-size: 13px; text-transform: uppercase; letter-spacing: .7px; color: #7dd3fc; margin: 22px 0 12px; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
@media (max-width: 560px) { .grid2 { grid-template-columns: 1fr; } .auth-card { padding: 22px; } }
.checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.checks li { display: flex; justify-content: space-between; padding: 8px 12px; border-radius: 8px; background: rgba(2,6,23,.45); font-size: 13px; }
.checks li b { font-size: 12px; }
.checks li.yes b { color: #4ade80; } .checks li.no b { color: #f87171; } .checks li.warn b { color: #fbbf24; }
.muted { color: #94a3b8; } .small { font-size: 12.5px; }
code { background: rgba(148,163,184,.14); padding: 1px 6px; border-radius: 5px; }
