.login-wrap { min-height: 100vh; display: flex;
              align-items: center; justify-content: center; }
.login-box  { background: var(--surface); border: 1px solid var(--border);
              border-radius: 14px; padding: 40px 36px; width: 100%;
              max-width: 380px; box-shadow: var(--shadow-md); }
.login-logo { display: flex; align-items: center; justify-content: center;
              gap: 10px; margin-bottom: 28px; }
.login-logo svg { width: 36px; height: 36px; }
.login-logo-img { max-width: 320px; max-height: 120px; object-fit: contain; }
.login-logo-text { font-size: 1.05rem; font-weight: 700;
                   color: var(--primary-dark); letter-spacing: 0.04em; }
.login-logo-text em { color: var(--primary); font-style: normal; }
.login-title { font-size: 0.85rem; color: var(--text-muted);
               text-align: center; margin-bottom: 24px; }
.login-field { margin-bottom: 16px; }
.login-field label { display: block; font-size: 0.8rem; color: var(--text-muted);
                     font-weight: 500; margin-bottom: 6px; }
.login-field input { width: 100%; padding: 10px 14px; background: var(--bg);
                     border: 1px solid var(--border); border-radius: 8px;
                     color: var(--text); font-size: 0.92rem; }
.login-field input:focus { outline: none; border-color: var(--primary);
                           background: var(--surface); }
.btn-login { width: 100%; padding: 11px; background: var(--primary);
             color: #fff; border: none; border-radius: 8px;
             font-size: 0.92rem; font-weight: 600; cursor: pointer;
             display: flex; align-items: center; justify-content: center;
             gap: 8px; transition: background 0.15s; }
.btn-login:hover { background: #1d6aaa; }
.login-error { background: var(--piena-bg); color: #991b1b;
               border: 1px solid #fecaca; border-radius: 8px;
               padding: 10px 14px; font-size: 0.83rem;
               margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.login-hint { font-size: 0.73rem; color: var(--text-faint);
              text-align: center; margin-top: 16px; }
