/* Общие согласия и вход: оформление ограничено их контейнерами и не касается лендинга. */
.portal-controls { font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: var(--ink); font-size: 14px; line-height: 1.6; text-rendering: auto; }
.portal-controls .text-mute { color: var(--mute); }
.portal-controls .text-ink { color: var(--ink); }
.portal-controls [data-otp-error] { min-height: 1.25rem; color: var(--color-bad-fg, var(--bad)); }
.portal-controls *, .portal-controls *::before, .portal-controls *::after { box-sizing: border-box; }
.portal-controls [hidden], .portal-controls .hidden { display: none !important; }
.portal-controls .fixed { position: fixed; inset: 0; z-index: 100; align-items: center; justify-content: center; padding: 12px; background: rgba(11,16,32,.55); }
.portal-controls .flex { display: flex; }
.portal-controls .flex-col { flex-direction: column; }
.portal-controls [role="dialog"] { position: relative; display: flex; flex-direction: column; width: min(400px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 24px; border: 1px solid var(--line-strong); border-radius: 20px; background: white; box-shadow: 0 30px 100px rgba(13,23,46,.25); text-align: left; }
.portal-controls h2 { margin: 0 24px 12px 0; font-size: 20px; line-height: 1.25; letter-spacing: -.03em; font-weight: 600; }
.portal-controls p { margin: 12px 0; font-size: 13px; line-height: 1.6; }
.portal-controls form { gap: 12px; margin-top: 16px; }
.portal-controls label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.6; }
.portal-controls label > span { font-size: 12px; line-height: 1.6; color: var(--mute); }
.portal-controls input:not([type="hidden"]):not([type="checkbox"]) { width: 100%; min-width: 0; padding: 14px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--surface-2); color: var(--ink); font: inherit; font-size: 16px; line-height: 1.6; }
.portal-controls input::placeholder { color: var(--mute); opacity: 1; }
.portal-controls input:focus { border-color: var(--primary); outline: 2px solid var(--primary-soft); background: white; }
.portal-controls input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin: 0; color: var(--ink); font: inherit; accent-color: var(--primary); }
.portal-controls .btn { display: inline-flex; align-items: center; justify-content: center; height: auto; min-height: 48px; margin: 0; padding: 12px 16px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); font: inherit; font-weight: 600; box-shadow: none; cursor: pointer; }
.portal-controls .btn.cta { border-color: transparent; background: linear-gradient(135deg,var(--primary),var(--primary-2)); color: white; }
@media (hover: hover) { .portal-controls .btn:hover { border-color: var(--primary); } }
.portal-controls .btn:active { transform: none; }
.portal-controls .btn:disabled { opacity: .5; cursor: wait; }
.portal-controls ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.portal-controls li { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.6; }
.portal-controls a, .portal-controls .underline { color: var(--primary); text-decoration: underline; cursor: pointer; }
.portal-controls .underline { border: 0; padding: 0; background: transparent; font: inherit; }
.portal-controls [data-otp-close] { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 8px; color: var(--mute); background: var(--surface-2); font-size: 24px; line-height: 1; cursor: pointer; }
.portal-controls :focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
/* Отметка использует оформление согласия нижней формы, а не размер текстового поля тарифа. */
.pricing-inquiry-form .pilot-final-consent { grid-template-columns: 18px minmax(0,1fr); gap: 10px; font-size: 11px; line-height: 1.7; font-weight: 400; }
.pricing-inquiry-form .pilot-final-consent input { width: 18px; min-height: 18px; height: 18px; margin: 2px 0 0; padding: 0; }
