.ice-login { display: flex; justify-content: center; padding: 48px 18px 72px; }
.ice-login__card {
    width: 100%; max-width: 440px; text-align: center;
    background: #fff; border: 1px solid var(--border);
    border-radius: var(--radius-lg); box-shadow: var(--shadow-md);
    padding: 40px 32px 32px;
}
[data-theme="dark"] .ice-login__card { background: #26111b; }
.ice-login__flake {
    width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; color: #fff;
    background: linear-gradient(135deg, var(--ice-navy) 0%, var(--ice-berry) 100%);
    box-shadow: var(--shadow-sm);
}
.ice-login h1 { font-family: var(--font-heading); font-size: 30px; margin: 0 0 8px; color: var(--ink); }
.ice-login p { color: var(--muted); line-height: 1.55; margin: 0 0 20px; }
.ice-login__lead { font-size: 15px; }
.ice-login__err {
    background: #F5E0E5; color: var(--ice-berry-dark);
    border-radius: var(--radius-sm); padding: 10px 14px;
    font-size: 14px; margin-bottom: 16px;
}
.ice-login__btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; padding: 14px 20px; border: none; cursor: pointer;
    border-radius: var(--radius-pill); font: 600 16px var(--font-body);
    color: #fff; text-decoration: none;
    background: linear-gradient(135deg, var(--ice-berry) 0%, var(--ice-berry-dark) 100%);
    box-shadow: 0 10px 24px -10px rgba(174, 36, 72, 0.65);
    transition: transform .2s var(--ease-premium), box-shadow .2s var(--ease-premium);
}
.ice-login__btn:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(174, 36, 72, 0.75); }
.ice-login__alt { display: inline-block; margin-top: 14px; font-size: 14px; color: var(--ice-teal); text-decoration: none; }
.ice-login__alt:hover { text-decoration: underline; }

/* ============ Модальное окно входа ============ */
.ice-login-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.ice-login-modal[hidden] { display: none; }
.ice-login-modal__bg {
    position: absolute; inset: 0;
    background: rgba(14,7,16,.72);
    backdrop-filter: blur(6px);
    animation: ice-login-fade .25s ease-out both;
}
@keyframes ice-login-fade { from { opacity: 0; } to { opacity: 1; } }
.ice-login-modal__body {
    position: relative; width: 100%; max-width: 460px;
    background: #fff; border-radius: 20px; overflow: hidden;
    box-shadow: 0 40px 80px -30px rgba(0,0,0,.6);
    animation: ice-login-pop .3s cubic-bezier(.16,1,.3,1) both;
}
@keyframes ice-login-pop { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
.ice-login-modal__close {
    position: absolute; top: 10px; right: 12px; z-index: 3;
    width: 34px; height: 34px; border-radius: 50%;
    border: none; background: rgba(168,138,149,.15);
    color: #6e1a37; font-size: 1.4rem; line-height: 1;
    cursor: pointer; transition: background .15s;
}
.ice-login-modal__close:hover { background: rgba(174,36,72,.15); color: #ae2448; }
.ice-login-modal__frame {
    width: 100%; height: 620px;
    background: #f4f7fb;
}
.ice-login-modal__frame iframe {
    width: 100%; height: 100%; border: 0; display: block;
}
.ice-login-modal__hint {
    padding: 12px 20px 16px;
    font-size: .78rem; color: #8a6a78; text-align: center;
    border-top: 1px solid #eee; background: #fafafa;
}
body[data-theme="dark"] .ice-login-modal__body { background: #26111b; }
body[data-theme="dark"] .ice-login-modal__hint { background: #1a0a12; border-color: #3a1f2c; color: #b89aa6; }
body[data-theme="dark"] .ice-login-modal__frame { background: #1a0a12; }
.ice-login__input {
    width: 100%; box-sizing: border-box; padding: 12px 16px; margin-bottom: 12px;
    border: 1px solid var(--border); border-radius: var(--radius-sm);
    font: 15px var(--font-body); background: transparent; color: var(--ink);
}
.ice-login__notes { list-style: none; margin: 28px 0 0; padding: 18px 0 0; border-top: 1px solid var(--border); text-align: left; }
.ice-login__notes li { display: flex; gap: 10px; font-size: 13px; color: var(--muted); line-height: 1.5; margin-bottom: 10px; }
.ice-login__notes i { color: var(--ice-teal); margin-top: 3px; }