        *:not(.fa):not(.fas):not([class^="fa-"]):not([class*=" fa-"]) { font-family: var(--app-font-family, 'Cairo', Tahoma, Arial, sans-serif); letter-spacing: 0; }
        :root { --ink:#182230; --muted:#667085; --line:#d8dee8; --green:#16704a; --bg:#f4f7fb; }
        body {
            min-height: 100vh;
            margin: 0;
            background: linear-gradient(135deg, rgba(22,112,74,.14), rgba(184,137,47,.12)), var(--bg);
            color: var(--ink);
        }
        .shell { min-height: 100vh; display: grid; place-items: center; padding: 28px 14px; }
        .card-login {
            width: min(520px, 100%);
            background: #fff;
            border: 1px solid rgba(24,34,48,.08);
            border-radius: 8px;
            box-shadow: 0 22px 70px rgba(24,34,48,.12);
            padding: 28px;
        }
        .brand { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
        .brand-icon {
            width: 62px; height: 62px; border-radius: 8px; display: grid; place-items: center;
            background: var(--green); color: #fff; font-size: 28px;
        }
        .brand-logo {
            width: 68px;
            height: 68px;
            border-radius: 8px;
            object-fit: contain;
            background: #fff;
            border: 1px solid var(--line);
            padding: 3px;
        }
        h1 { margin: 0; font-size: 1.45rem; font-weight: 800; }
        .subtitle { margin: 4px 0 0; color: var(--muted); font-size: .95rem; }
        label { display: block; color: #344054; font-weight: 800; margin-bottom: 8px; }
        .form-control { border-radius: 8px; border-color: var(--line); padding: 11px 12px; }
        .form-text { color: var(--muted); line-height: 1.7; }
        .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
        .btn-emp {
            border: 0; border-radius: 8px; padding: 12px 14px; background: var(--green);
            color: #fff; font-weight: 800;
        }
        .btn-emp.secondary { background: #344054; }
        .btn-emp:disabled { opacity: .55; cursor: not-allowed; }
        .back-link { display: inline-flex; gap: 8px; align-items: center; margin-top: 18px; color: var(--muted); text-decoration: none; font-weight: 800; }
        .login-footer {
            margin-top: 16px;
            padding-top: 14px;
            border-top: 1px solid var(--line);
            color: var(--muted);
            text-align: center;
            font-size: .9rem;
            font-weight: 800;
        }
        .login-footer strong { color: var(--green); }
        .alert { border-radius: 8px; }
        @media (max-width: 520px) { .actions { grid-template-columns: 1fr; } .card-login { padding: 22px; } }
