.auth-instruction{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--space-4);text-align:center}.auth-form{gap:var(--space-4)}.auth-form,.auth-form-footer{display:flex;flex-direction:column}.auth-form-footer{margin-top:var(--space-2);gap:var(--space-3)}.auth-error{padding:var(--space-3) var(--space-4);background:rgba(255,59,48,.08);color:var(--color-error);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.auth-back-btn,.auth-error{font-size:var(--font-size-sm);text-align:center}.auth-back-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-2);transition:color var(--transition-fast)}.auth-back-btn:hover{color:var(--color-text-secondary);text-decoration:underline}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-main{flex:1 1;padding-top:var(--space-6);padding-bottom:var(--space-12)}@media (max-width:767px){.layout-main{padding-top:var(--space-4);padding-bottom:calc(var(--space-8) + var(--mobile-nav-height))}}.npromo-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(29,29,31,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:npromo-fade-in .25s ease}.npromo-overlay.npromo-closing{animation:npromo-fade-out .2s ease forwards}.npromo-card{position:relative;width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:28px 24px 24px;box-shadow:0 24px 60px -12px rgba(29,29,31,.35);animation:npromo-slide-up .35s cubic-bezier(.16,1,.3,1)}.npromo-closing .npromo-card{animation:npromo-slide-down .2s ease forwards}.npromo-close{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.npromo-close:hover{background:var(--color-surface-active);color:var(--color-text-primary)}.npromo-badge{display:inline-flex;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--color-accent-dark);background:var(--color-accent-light);border-radius:var(--radius-full)}.npromo-badge,.npromo-icon{align-items:center;margin-bottom:16px}.npromo-icon{display:flex;justify-content:center;width:56px;height:56px;color:var(--color-text-inverse);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));border-radius:var(--radius-lg);box-shadow:0 8px 20px -6px rgba(74,124,89,.5)}.npromo-title{margin:0 0 8px;font-size:21px;font-weight:700;line-height:1.25;color:var(--color-text-primary)}.npromo-desc{margin:0 0 16px;font-size:14.5px;line-height:1.5;color:var(--color-text-secondary)}.npromo-points{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:9px}.npromo-points li{position:relative;padding-left:26px;font-size:14px;line-height:1.4;color:var(--color-text-primary)}.npromo-points li:before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;background:var(--color-accent-light);border-radius:var(--radius-full)}.npromo-points li:after{content:"";position:absolute;left:5px;top:7px;width:5px;height:8px;border:solid var(--color-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.npromo-actions{display:flex;flex-direction:column;gap:10px}.npromo-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:13px 18px;font-size:15px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease}.npromo-btn:active{transform:scale(.985)}.npromo-btn-primary{color:var(--color-text-inverse);background:var(--color-accent)}.npromo-btn-primary:hover{background:var(--color-accent-hover)}.npromo-btn-ghost{color:var(--color-text-secondary);background:transparent}.npromo-btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}@media (min-width:560px){.npromo-overlay{align-items:center}}@keyframes npromo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes npromo-fade-out{0%{opacity:1}to{opacity:0}}@keyframes npromo-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes npromo-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.npromo-card,.npromo-closing .npromo-card,.npromo-overlay,.npromo-overlay.npromo-closing{animation:none}}