* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

body {
  background-color: #D7E5EE;
  background-image: url("/assets/bg.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  color: #2c3e50;
}

.container {
  text-align: center;
  max-width: 360px;
}

.logo {
  width: 45px;
  height: 45px;
  margin: 0 auto 20px;
  display: block;
}

.welcome {
  font-size: 16px;
  margin-bottom: 30px;
  line-height: 1.4;
}

.card {
  background: white;
  border-radius: 8px;
  padding: 30px 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.card h2 {
  font-size: 18px;
  margin-bottom: 20px;
}

.card input {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}

.card button {
  width: 100%;
  padding: 12px;
  background: #2c3e50;
  border: none;
  border-radius: 4px;
  color: white;
  font-size: 15px;
  cursor: pointer;
}

.card button:hover {
  background: #1a242f;
}

.forgot {
  display: block;
  margin-top: 15px;
  font-size: 14px;
  color: #2c3e50;
  text-decoration: none;
}

.forgot:hover {
  text-decoration: underline;
}

.card .description {
  font-size: 14px;
  color: #555;
  margin-bottom: 20px;
  line-height: 1.4;
  text-align: left;
}

.card label {
  display: block;
  font-size: 14px;
  margin: 10px 0 5px;
  text-align: left;
  font-weight: bold;
}

.card textarea {
  width: 100%;
  min-height: 80px;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  resize: vertical;
  font-size: 14px;
}

.card select {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  background: white;
}

/* --- для страницы анкеты --- */
.anketa-page {
  --Light-Blue: #D7E5EE;
  background-color: var(--Light-Blue, #D7E5EE);
  background-image: url("/assets/bg.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  display: block;
  min-height: 100vh;
  padding: 40px 20px;
  color: #203844;
  font-family: Arial, sans-serif;
}

.anketa-page .container {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: start;
}

/* заголовок / шапка */
.site-header { margin-bottom: 18px; }
.header-inner { display:flex; align-items:center; gap:12px; }
.logo { display:block; }
.logo--compact { width:40px; height:40px; object-fit:cover; border-radius:6px; }
.logo--small   { width:56px; height:56px; object-fit:cover; border-radius:6px; }

.header-title .brand { font-weight:700; color:#2a3b44; }
.header-title .brand-sub { font-size:12px; color:#6c8591; }

.page-heading { font-size:24px; color:#203844; margin-bottom:8px; }
.lead { color:#6b8792; margin-bottom:18px; }

/* карточки */
.card { background: #fff; border-radius:10px; padding:18px; box-shadow:0 6px 20px rgba(0,0,0,0.06); }
.step-card .step-title { font-weight:700; margin-bottom:6px; }
.step-desc { color:#5f7b83; font-size:14px; }

/* форма */
.anketa-form { margin-top:18px; }
.anketa-form label { display:block; font-weight:600; margin-bottom:8px; color:#203844; }
.anketa-form .editor-toolbar { margin-bottom:6px; }
.anketa-form .tool { border:1px solid #e2e8ea; background:#fff; padding:6px 8px; border-radius:4px; cursor:pointer; margin-right:6px; }

.anketa-form textarea { width:100%; min-height:160px; padding:12px; border:1px solid #e6eef1; border-radius:8px; resize:vertical; font-size:14px; background:#fff; }
.anketa-form input[type="text"],
.anketa-form input[type="date"],
.anketa-form select { width:100%; padding:10px; border-radius:8px; border:1px solid #e6eef1; font-size:14px; background:#fff; }

.form-row { display:flex; gap:20px; margin-top:12px; }
.form-col { flex:1; }

.radios { display:flex; gap:12px; align-items:center; }
.radios label { display:flex; gap:8px; align-items:center; font-weight:500; }

.form-actions { margin-top:18px; }
.btn-primary { background:#203844; color:#fff; border:none; padding:12px 16px; border-radius:8px; cursor:pointer; font-weight:700; }

/* сайдбар */
.sidebar .profile-box { background: rgba(44,62,80,0.04); padding:14px; border-radius:8px; text-align:center; margin-bottom:18px; }
.profile-avatar { width:56px; height:56px; border-radius:50%; background:#22313a; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:700; margin:0 auto 8px; }
.profile-name { font-weight:700; }
.profile-meta { font-size:13px; color:#6b8792; }

.steps-box { padding:12px; }
.steps-title { margin:0 0 8px; font-size:14px; }
.steps-list { list-style:none; padding:0; margin:0; color:#57707a; }
.steps-list li { padding:8px 10px; border-radius:6px; }
.steps-list li.active { background:#eaf5f8; font-weight:700; color:#203844; }

/* подвал */
.site-footer {
  margin-top: 40px;
  background: rgba(255,255,255,0.55);
  padding: 34px 0 18px;
  color: #355057;
}

.site-footer .footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

.footer-col { flex: 1; }

.footer-col--brand {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  max-width: 360px;
}

.logo--large {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
}

.brand-text .brand-name {
  font-weight: 700;
  color: #203844;
  font-size: 16px;
}

.brand-text .brand-sub {
  font-size: 13px;
  color: #6b8792;
  margin-top: 4px;
}

.socials {
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.social {
  font-size: 13px;
  color: #355057;
  text-decoration: none;
  background: rgba(36,52,62,0.06);
  padding: 6px 8px;
  border-radius: 6px;
}

.footer-col h4 {
  margin: 0 0 8px;
  font-size: 14px;
  color: #203844;
}

.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
  color: #57707a;
}

.footer-list li {
  margin-bottom: 6px;
  font-size: 13px;
}

.footer-bottom {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(36,52,62,0.06);
}

.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-top: 8px;
}

.footer-right {
  color: #6b8792;
  font-size: 13px;
}

@media (max-width:900px) {
  .site-footer .footer-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .footer-col--brand {
    max-width: none;
    justify-content: center;
  }
  .footer-bottom-inner {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}

/* адаптив */
@media (max-width: 900px) {
  .anketa-page .container { grid-template-columns: 1fr; padding:0 8px; }
  .form-row { flex-direction:column; }
  .header-inner { justify-content:center; }
}