/* Shared look for the public pages (register, verify email, resend link). */
* { box-sizing: border-box; }
body {
    margin: 0; min-height: 100vh;
    font-family: 'Inter', -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    background: linear-gradient(135deg, #1f2530 0%, #2d3a5c 55%, #3b6fe0 130%);
    display: flex; align-items: center; justify-content: center;
    padding: 24px;
}
.box {
    width: 100%; max-width: 420px;
    background: #fff; padding: 30px; border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.box.wide { max-width: 460px; }
.brand { display: flex; flex-direction: column; align-items: center; margin-bottom: 20px; text-align: center; }
.brand .logo { width: 56px; height: 56px; margin-bottom: 10px; filter: drop-shadow(0 6px 12px rgba(59,111,224,.35)); }
.brand .logo img { width: 100%; height: 100%; display: block; }
.brand h3 { margin: 0; font-weight: 700; letter-spacing: -.01em; }
.brand .sub, .sub { color: #6b7280; font-size: 13.5px; }
label.form-label { font-size: 13.5px; font-weight: 500; color: #6b7280; margin-bottom: 4px; }
.form-control, .form-select { border-radius: 9px; padding: 9px 12px; border-color: #e6e9ef; }
.form-control:focus, .form-select:focus { border-color: #3b6fe0; box-shadow: 0 0 0 .2rem rgba(59,111,224,.15); }
.btn-primary {
    background: #3b6fe0; border-color: #3b6fe0; border-radius: 9px;
    padding: 10px; font-weight: 600; box-shadow: 0 4px 12px rgba(59,111,224,.3);
}
.btn-primary:hover, .btn-primary:focus { background: #2d56b8; border-color: #2d56b8; }
.section { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #9aa3b2; margin: 18px 0 8px; }
.status-icon { font-size: 54px; line-height: 1; margin-bottom: 10px; }
.status-icon.ok { color: #16a34a; }
.status-icon.bad { color: #d97706; }
.trial-note { background: #eef3ff; color: #2d56b8; border-radius: 10px; padding: 9px 12px; font-size: 13px; margin-bottom: 14px; }
