/* Вход/регистрация (.nwauth-*) и личный кабинет (.nwacc-*).
   Палитра сайта: терракота #A9633A, чернила #101828, линии #E4E7EC. */

/* ================= вход / регистрация ================= */
.nwauth { max-width: 1080px; margin: 0 auto; }
.nwauth-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); gap: 22px; align-items: stretch; }

/* левая панель */
.nwauth-side {
  display: flex; flex-direction: column; gap: 22px; background: #101828; color: #fff;
  border-radius: 18px; padding: 32px 30px; position: relative; overflow: hidden;
}
.nwauth-side::after {
  content: ''; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; border-radius: 50%;
  background: radial-gradient(circle, rgba(169, 99, 58, .45) 0%, rgba(169, 99, 58, 0) 70%);
}
.nwauth-logo { font: 800 12px Inter, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: #E2B48C; }
.nwauth-side-h { font: 800 25px/1.25 Inter, sans-serif; letter-spacing: -.02em; margin: 12px 0 8px; text-wrap: balance; }
.nwauth-side-x { font: 400 14px/1.6 Inter, sans-serif; color: #98A2B3; margin: 0; }
.nwauth-benefits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 15px; }
.nwauth-benefits li { display: flex; gap: 12px; align-items: flex-start; }
.nwauth-check {
  flex: none; width: 22px; height: 22px; border-radius: 50%; background: rgba(169, 99, 58, .22);
  color: #E2B48C; display: flex; align-items: center; justify-content: center; margin-top: 1px;
}
.nwauth-benefits strong { display: block; font: 700 13.5px Inter, sans-serif; }
.nwauth-benefits em { display: block; font: 400 12.5px/1.55 Inter, sans-serif; color: #98A2B3; font-style: normal; margin-top: 2px; }
.nwauth-side-foot {
  margin-top: auto; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font: 600 11.5px Inter, sans-serif; color: #98A2B3; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .1);
}
.nwauth-sep { width: 3px; height: 3px; border-radius: 50%; background: #475467; }

/* правая карточка */
.nwauth-card {
  background: #fff; border: 1px solid #E4E7EC; border-radius: 18px; padding: 32px 34px;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
}
.nwauth-h1 { font: 800 27px/1.2 Inter, sans-serif; letter-spacing: -.02em; margin: 0 0 6px; }
.nwauth-sub { font: 400 14px/1.6 Inter, sans-serif; color: #667085; margin: 0 0 20px; }
/* режим карточки решает, какие тексты и поля видны (класс, не атрибут — рантайм срезает атрибуты) */
.nwauth-t-login, .nwauth-t-reg, .nwauth-t-forgot, .nwauth-t-reset { display: none; }
.nwauth-card.is-login .nwauth-t-login,
.nwauth-card.is-register .nwauth-t-reg,
.nwauth-card.is-forgot .nwauth-t-forgot,
.nwauth-card.is-reset .nwauth-t-reset { display: inline; }
.nwauth-card .nwauth-only-reg { display: none; }
.nwauth-card.is-register .nwauth-only-reg { display: block; }
.nwauth-card .nw-agree { margin-top: 2px; }
.nwauth-card .nwauth-only-pass2 { display: none; }
.nwauth-card.is-register .nwauth-only-pass2,
.nwauth-card.is-reset .nwauth-only-pass2 { display: block; }
.nwauth-card .nwauth-hint.nwauth-only-reg { display: none; }
.nwauth-card.is-register .nwauth-hint.nwauth-only-reg { display: block; }

/* «Zapomenuté heslo?» — под полем пароля, справа */
.nwauth-card.is-login .nwauth-forgot { display: block; text-align: right; margin-top: 7px;
  font: 600 12.5px Inter, sans-serif; color: #A9633A; }
.nwauth-forgot:hover { text-decoration: underline; }

/* глаз: перечёркнутый = пароль скрыт, обычный = показан */
.nwauth-eye .nwauth-eye-on { display: none; }
.nwauth-eye.is-on .nwauth-eye-off { display: none; }
.nwauth-eye.is-on .nwauth-eye-on { display: block; }

.nwauth-msg { font: 600 13px/1.5 Inter, sans-serif; border-radius: 10px; padding: 11px 14px; margin: 0 0 16px; }
.nwauth-msg--err { background: #FEF3F2; color: #B42318; border: 1px solid #FECDCA; }
.nwauth-msg--ok { background: #ECFDF3; color: #027A48; border: 1px solid #A6F4C5; }

.nwauth-google {
  display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px;
  border: 1.5px solid #E4E7EC; border-radius: 11px; background: #fff; color: #101828;
  font: 700 14px Inter, sans-serif; transition: border-color .15s ease, box-shadow .15s ease;
}
.nwauth-google:hover { border-color: #A9633A; box-shadow: 0 8px 20px rgba(16, 24, 40, .08); text-decoration: none; }
/* ключей Google ещё нет: кнопку показываем, но честно помечаем */
.nwauth-google.is-soon { color: #475467; }
.nwauth-soon { padding: 2px 8px; border-radius: 999px; background: #F4F6F8; border: 1px solid #E4E7EC;
  font: 700 10.5px Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #98A2B3; }
.nwauth-or { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: #98A2B3; font: 600 12px Inter, sans-serif; }
.nwauth-or::before, .nwauth-or::after { content: ''; flex: 1; height: 1px; background: #EEF0F3; }

.nwauth-form { display: flex; flex-direction: column; gap: 14px; }
.nwauth-f { display: block; }
.nwauth-lab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  font: 700 12.5px Inter, sans-serif; color: #344054; margin-bottom: 6px; }
.nwauth-inp {
  display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 14px;
  border: 1.5px solid #E4E7EC; border-radius: 11px; background: #fff; color: #98A2B3;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.nwauth-inp:focus-within { border-color: #A9633A; box-shadow: 0 0 0 3px rgba(169, 99, 58, .13); }
.nwauth-inp input {
  flex: 1; min-width: 0; border: 0; outline: none; background: transparent;
  font: 500 14.5px Inter, sans-serif; color: #101828;
}
.nwauth-eye { flex: none; border: 0; background: transparent; color: #98A2B3; cursor: pointer; padding: 4px; display: flex; }
.nwauth-eye:hover, .nwauth-eye.is-on { color: #A9633A; }
.nwauth-hint { display: block; font: 500 12px Inter, sans-serif; color: #98A2B3; margin-top: 6px; }

.nwauth-submit {
  height: 50px; border: 0; border-radius: 11px; background: #A9633A; color: #fff;
  font: 700 14.5px Inter, sans-serif; cursor: pointer; margin-top: 4px;
  transition: background .15s ease, transform .15s ease;
}
.nwauth-submit:hover { background: #8A4E28; transform: translateY(-1px); }
.nwauth-switch { margin: 18px 0 0; font: 500 13.5px Inter, sans-serif; color: #667085; text-align: center; }
.nwauth-switch a { font-weight: 700; color: #A9633A; }
.nwauth-fine { margin: 14px 0 0; font: 400 11.5px/1.55 Inter, sans-serif; color: #98A2B3; text-align: center; }
.nwauth-fine a { color: #667085; text-decoration: underline; }

/* ================= кабинет ================= */
.nwacc-head {
  display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid #E4E7EC;
  border-radius: 16px; padding: 20px 24px; margin-bottom: 16px; box-shadow: 0 8px 24px rgba(16, 24, 40, .05);
}
.nwacc-ava {
  flex: none; width: 52px; height: 52px; border-radius: 50%; background: #F5EBE0; color: #A9633A;
  display: flex; align-items: center; justify-content: center; font: 800 20px Inter, sans-serif;
}
.nwacc-who { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nwacc-who strong { font: 800 18px Inter, sans-serif; letter-spacing: -.02em; color: #101828; }
.nwacc-who span { font: 500 13px Inter, sans-serif; color: #667085; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nwacc-gbadge {
  display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 999px;
  background: #F4F6F8; border: 1px solid #E4E7EC; font: 700 11px Inter, sans-serif; color: #475467;
}
.nwacc-logout {
  margin-left: auto; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px;
  border: 1.5px solid #E4E7EC; border-radius: 10px; color: #475467; font: 700 13px Inter, sans-serif;
}
.nwacc-logout:hover { border-color: #A9633A; color: #A9633A; text-decoration: none; }

.nwacc-body { display: grid; grid-template-columns: 244px minmax(0, 1fr); gap: 18px; align-items: start; }
.nwacc-nav {
  display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid #E4E7EC;
  border-radius: 16px; padding: 12px; position: sticky; top: 18px;
}
.nwacc-navi {
  display: flex; align-items: center; gap: 11px; padding: 11px 13px; border-radius: 10px;
  font: 600 13.5px Inter, sans-serif; color: #475467; transition: background .15s ease, color .15s ease;
}
.nwacc-navi span { flex: 1; }
.nwacc-navi b { font: 700 11.5px Inter, sans-serif; color: #98A2B3; }
.nwacc-navi:hover { background: #FBF4EC; color: #A9633A; text-decoration: none; }
.nwacc-navi.is-on { background: #101828; color: #fff; }
.nwacc-navi.is-on b { color: rgba(255, 255, 255, .65); }
.nwacc-navi--out { margin-top: 6px; border-top: 1px solid #EEF0F3; border-radius: 0 0 10px 10px; color: #98A2B3; }

.nwacc-main { display: flex; flex-direction: column; gap: 16px; }
.nwacc-sec { background: #fff; border: 1px solid #E4E7EC; border-radius: 16px; padding: 22px 24px; box-shadow: 0 8px 24px rgba(16, 24, 40, .05); }
.nwacc-sech { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.nwacc-sech h2 { font: 800 18px Inter, sans-serif; letter-spacing: -.02em; margin: 0; }
.nwacc-sech a { font: 700 12.5px Inter, sans-serif; color: #A9633A; }
.nwacc-note { font: 400 13px/1.6 Inter, sans-serif; color: #667085; margin: -6px 0 16px; }

.nwacc-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nwacc-stat { background: #fff; border: 1px solid #E4E7EC; border-radius: 14px; padding: 18px 20px; box-shadow: 0 8px 24px rgba(16, 24, 40, .05); }
.nwacc-stat-n { display: block; font: 800 24px Inter, sans-serif; letter-spacing: -.02em; color: #101828; }
.nwacc-stat-l { display: block; font: 600 12px Inter, sans-serif; color: #98A2B3; margin-top: 3px; }

.nwacc-order { border: 1px solid #E4E7EC; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.nwacc-order:last-child { margin-bottom: 0; }
.nwacc-order-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.nwacc-order-no { font: 800 14px Inter, sans-serif; color: #101828; }
.nwacc-order-date { font: 500 12.5px Inter, sans-serif; color: #667085; }
.nwacc-order-total { margin-left: auto; font: 800 15px Inter, sans-serif; color: #101828; }
.nwacc-st { padding: 3px 10px; border-radius: 999px; font: 700 11px Inter, sans-serif; background: #F4F6F8; color: #475467; }
.nwacc-st--new { background: #FBF4EC; color: #A9633A; }
.nwacc-st--confirmed { background: #EFF5FF; color: #1849A9; }
.nwacc-st--done, .nwacc-st--completed { background: #ECFDF3; color: #027A48; }
.nwacc-st--cancelled { background: #FEF3F2; color: #B42318; }
.nwacc-items { list-style: none; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px dashed #E4E7EC; display: flex; flex-direction: column; gap: 7px; }
.nwacc-items li { display: flex; align-items: baseline; gap: 10px; font: 500 13px Inter, sans-serif; color: #475467; }
.nwacc-items li span { flex: 1; min-width: 0; }
.nwacc-items li b { color: #98A2B3; font-weight: 700; }
.nwacc-items li i { font-style: normal; font-weight: 700; color: #101828; }
.nwacc-order-foot { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; font: 500 12px Inter, sans-serif; color: #98A2B3; }

.nwacc-empty { text-align: center; padding: 26px 20px; }
.nwacc-empty-t { font: 800 16px Inter, sans-serif; color: #101828; margin: 0 0 6px; }
.nwacc-empty-x { font: 400 13.5px/1.6 Inter, sans-serif; color: #667085; margin: 0 0 16px; }
.nwacc-cta {
  display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 22px;
  border: 0; border-radius: 11px; background: #A9633A; color: #fff; font: 700 13.5px Inter, sans-serif; cursor: pointer;
}
.nwacc-cta:hover { background: #8A4E28; text-decoration: none; }

.nwacc-quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nwacc-quick a {
  display: flex; align-items: center; justify-content: space-between; padding: 14px 16px;
  border: 1px solid #E4E7EC; border-radius: 11px; font: 700 13px Inter, sans-serif; color: #101828;
}
.nwacc-quick a::after { content: '→'; color: #A9633A; }
.nwacc-quick a:hover { border-color: #A9633A; color: #A9633A; text-decoration: none; }

.nwacc-form { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.nwacc-fgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; width: 100%; }
.nwacc-fgrid label { display: flex; flex-direction: column; gap: 6px; }
.nwacc-fgrid label > span { font: 700 12.5px Inter, sans-serif; color: #344054; }
.nwacc-fgrid label > span em { font-style: normal; font-weight: 500; color: #98A2B3; }
.nwacc-fgrid input {
  height: 46px; padding: 0 14px; border: 1.5px solid #E4E7EC; border-radius: 10px;
  font: 500 14px Inter, sans-serif; color: #101828; background: #fff; outline: none;
}
.nwacc-fgrid input:focus { border-color: #A9633A; box-shadow: 0 0 0 3px rgba(169, 99, 58, .13); }
.nwacc-f-wide { grid-column: 1 / -1; }
.nwacc-favgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 980px) {
  .nwauth-grid { grid-template-columns: minmax(0, 1fr); }
  .nwauth-side { order: 2; }
  .nwacc-body { grid-template-columns: minmax(0, 1fr); }
  .nwacc-nav { position: static; flex-direction: row; flex-wrap: wrap; }
  .nwacc-navi { flex: 1 1 auto; }
  .nwacc-navi--out { display: none; }
  .nwacc-favgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .nwauth-card, .nwauth-side { padding: 22px 18px; border-radius: 14px; }
  .nwauth-h1 { font-size: 23px; }
  .nwacc-head { flex-wrap: wrap; padding: 16px 18px; }
  .nwacc-logout { margin-left: 0; width: 100%; justify-content: center; }
  .nwacc-sec { padding: 18px 16px; }
  .nwacc-stats { grid-template-columns: minmax(0, 1fr); }
  .nwacc-fgrid, .nwacc-quick { grid-template-columns: minmax(0, 1fr); }
  .nwacc-favgrid { grid-template-columns: minmax(0, 1fr); }
  .nwacc-order-total { margin-left: 0; width: 100%; }
}

/* статус «čeká na platbu» и компактные платёжные инструкции в карточке заказа кабинета */
.nwacc-st--paid { background: #ECFDF3; color: #027A48; }
.nwacc-order .nwpay { margin: 12px 0 0; border-radius: 12px; padding: 16px 18px; }
.nwacc-order .nwpay-h { font-size: 15px; }
.nwacc-order .nwpay-qrbox { width: 132px; height: 132px; }
.nwacc-order .nwpay-grid { grid-template-columns: minmax(0, 1fr) 170px; gap: 16px; }

/* ===== экран «Zkontrolujte e-mail» после регистрации (05.11.2026) ===== */
.nwauth-card.is-sent { text-align: left; }
.nwauth-sent-ico { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px;
  border-radius: 14px; background: #F5EBE0; color: #A9633A; margin: 0 0 18px; }
.nwauth-sent-x { margin: 0 0 16px; font: 500 15px/1.6 Inter, sans-serif; color: #344054; }
.nwauth-sent-x strong { color: #101828; word-break: break-all; }
.nwauth-sent-tips { margin: 0 0 22px; padding: 14px 16px 14px 32px; border-radius: 10px; background: #F9FAFB;
  border: 1px solid #EAECF0; font: 500 13.5px/1.6 Inter, sans-serif; color: #667085; }
.nwauth-sent-tips li + li { margin-top: 6px; }
.nwauth-sent-tips a { color: #A9633A; font-weight: 700; }
.nwauth-submit--ghost { background: #fff !important; color: #101828 !important; border: 1.5px solid #D0D5DD !important; }
.nwauth-submit--ghost:hover { border-color: #A9633A !important; color: #A9633A !important; }
