:root { --primary: #2563eb; }
        * { box-sizing: border-box; }
        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background: linear-gradient(135deg, #0f2942 0%, #1a3d63 50%, #0a1930 100%);
            min-height: 100vh; display: flex; align-items: center; justify-content: center;
            padding: 20px;
        }
        body::before {
            content: '';
            position: fixed; inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            pointer-events: none;
        }
        .auth-card {
            background: white; border-radius: 16px;
            padding: 48px 40px; width: 100%; max-width: 460px;
            box-shadow: 0 25px 60px rgba(0,0,0,.4);
        }
        .auth-logo { text-align: center; margin-bottom: 32px; }
        .auth-logo-icon {
            width: 56px; height: 56px; border-radius: 14px;
            background: var(--primary); margin: 0 auto 12px;
            display: flex; align-items: center; justify-content: center;
            font-size: 26px; color: white;
        }
        .auth-logo-text { font-size: 22px; font-weight: 800; color: #1e1e2d; }
        .auth-logo-text span { color: var(--primary); }
        .auth-subtitle { font-size: 13px; color: #6b7280; margin-top: 4px; }
        .auth-title { font-size: 20px; font-weight: 700; color: #111827; margin-bottom: 24px; }
        .form-label { font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
        .form-control {
            border: 1.5px solid #e5e7eb; border-radius: 10px;
            padding: 11px 14px; font-size: 14px; transition: all .2s;
        }
        .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
        .btn-auth {
            background: var(--primary); color: white; border: none;
            padding: 12px; border-radius: 10px; width: 100%;
            font-size: 15px; font-weight: 600; cursor: pointer;
            transition: background .2s;
        }
        .btn-auth:hover { background: #1d4ed8; }
        .auth-footer { text-align: center; margin-top: 20px; font-size: 13px; color: #6b7280; }
        .auth-footer a { color: var(--primary); text-decoration: none; font-weight: 600; }
        .auth-divider { position: relative; text-align: center; margin: 20px 0; }
        .auth-divider::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: #e5e7eb; }
        .auth-divider span { background: white; padding: 0 12px; font-size: 12px; color: #9ca3af; position: relative; }
        .alert { border-radius: 10px; font-size: 13.5px; border: none; }
