            body { font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif; background:#eef1f5; margin:0; }
            .login-shell { display:flex; justify-content:center; align-items:center; min-height:100vh; }
            .login-box { width:340px; background:#fff; padding:24px 22px 20px; border-radius:10px; box-shadow:0 8px 24px rgba(15,23,42,.15); }
            .login-title { font-size:20px; font-weight:600; margin-bottom:4px; color:#111827; }
            .login-sub   { font-size:13px; color:#6b7280; margin-bottom:16px; }

            label {
                display:block;
                margin-bottom:4px;
                font-weight:500;
                font-size:13px;
                color:#374151;
            }

            /* Modern inputs */
            input[type=text],
            input[type=password],
            input[type=email] {
                width:90%;
                padding:9px 11px;
                border-radius:8px;
                border:1px solid #d1d5db;
                margin-bottom:10px;
                font-size:13px;
                background:#f9fafb;
                transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
            }

            input[type=text]:focus,
            input[type=password]:focus,
            input[type=email]:focus {
                outline:none;
                border-color:#2563eb;
                box-shadow:0 0 0 1px rgba(37,99,235,.25), 0 0 0 4px rgba(37,99,235,.08);
                background:#ffffff;
            }

            /* Primary button */
            button{
                width:100%;
                padding:10px 14px;
                border:none;
                border-radius:999px;
                background:linear-gradient(135deg,#2563eb,#1d4ed8);
                color:#fff;
                font-weight:600;
                font-size:14px;
                cursor:pointer;
                box-shadow:0 8px 18px rgba(37,99,235,.25);
                transition:background .15s ease, box-shadow .15s ease, transform .05s ease;
            }
            button:hover{
                background:linear-gradient(135deg,#1d4ed8,#1e40af);
                box-shadow:0 10px 22px rgba(30,64,175,.3);
            }
            button:active{
                transform:translateY(1px);
                box-shadow:0 5px 12px rgba(30,64,175,.25);
            }

            .error{color:#b91c1c;margin-bottom:10px;font-size:13px;background:#fef2f2;border-radius:6px;padding:6px 8px;}
            .brand { display:flex; align-items:center; gap:8px; margin-bottom:10px;}
            .brand-logo { width:28px; height:28px; border-radius:8px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
            .brand-logo img { width:100%; height:100%; display:block; }
            .brand-text { font-weight:600; font-size:15px; color:#111827; }

            .busy-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);display:none;align-items:center;justify-content:center;z-index:9999;}
            .busy-spinner{width:36px;height:36px;border-radius:999px;border:3px solid rgba(148,163,184,.6);border-top-color:#2563eb;animation:spin .75s linear infinite;}
            @keyframes spin{to{transform:rotate(360deg);}}