@import url("./ventoa-ui.css");

:root {
  --ventoa-navy:#12203a;
  --ventoa-blue:#315fda;
  --ventoa-sky:#eef4ff;
  --ventoa-ink:#1f2937;
  --ventoa-muted:#6b7280;
  --ventoa-line:#d9e2f1;
  --ventoa-bg:#f5f7fb;
  --ventoa-card:#ffffff;
  --ventoa-good:#0f766e;
  --ventoa-warn:#b45309;
  --ventoa-danger:#b91c1c;
}
* { box-sizing:border-box; }
body {
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Arial,sans-serif;
  color:var(--ventoa-ink);
  background:var(--ventoa-bg);
  line-height:1.55;
}
a { color:inherit; text-decoration:none; }
.ventoa-header {
  background:#fff;
  border-bottom:1px solid var(--ventoa-line);
  position:sticky;
  top:0;
  z-index:10;
}
.ventoa-header-inner {
  max-width:1180px;
  margin:0 auto;
  padding:14px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.brand { display:flex; gap:10px; align-items:center; }
.brand-mark {
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(135deg,#14213d,#315fda);
  color:#fff;display:grid;place-items:center;font-weight:800;
}
.brand strong { display:block; letter-spacing:.04em; color:var(--ventoa-navy); }
.brand em { display:block; font-style:normal; font-size:12px; color:var(--ventoa-muted); }
nav { display:flex; gap:14px; flex-wrap:wrap; font-size:14px; color:#374151; }
nav a { padding:7px 9px; border-radius:8px; }
nav a:hover { background:var(--ventoa-sky); color:var(--ventoa-blue); }
.member-page {
  max-width:1180px;
  margin:0 auto;
  padding:34px 20px 64px;
}
.hero-card, .notice-card, .submit-panel, .result-card, .file-section, .status-timeline {
  background:var(--ventoa-card);
  border:1px solid var(--ventoa-line);
  border-radius:22px;
  box-shadow:0 10px 25px rgba(17,24,39,.045);
}
.hero-card {
  padding:32px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:24px;
  align-items:stretch;
}
.eyebrow {
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ventoa-blue);
  font-weight:800;
}
h1 { margin:0; font-size:34px; letter-spacing:-.03em; color:var(--ventoa-navy); }
h2 { margin:0 0 10px; font-size:20px; color:var(--ventoa-navy); letter-spacing:-.02em; }
h3 { margin:0; font-size:17px; color:#13213a; }
.lead { margin:14px 0 0; font-size:17px; color:#4b5563; max-width:760px; }
.status-pill-row { margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
.status-pill {
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 12px; border-radius:999px;
  background:#e8f0ff; color:#1d4ed8; font-weight:700; font-size:13px;
}
.status-pill.soft { background:#f3f4f6; color:#4b5563; }
.next-card, .progress-card {
  border-radius:18px;
  padding:20px;
  background:linear-gradient(180deg,#f8fbff,#eef4ff);
  border:1px solid #dbeafe;
}
.next-card strong, .progress-card strong { display:block; color:var(--ventoa-navy); font-size:17px; }
.next-card p, .progress-card p { color:#4b5563; margin:10px 0 14px; font-size:14px; }
.next-card a, .text-link {
  display:inline-flex; font-weight:800; color:var(--ventoa-blue); border-bottom:1px solid currentColor;
}
.notice-card { margin-top:18px; padding:22px 26px; }
.notice-card p { margin:0; color:#4b5563; }
.form-layout { margin-top:22px; }
.form-groups { display:grid; gap:18px; }
.field-group {
  background:#fff;
  border:1px solid var(--ventoa-line);
  border-radius:20px;
  padding:22px;
}
.field-group-header {
  display:flex; justify-content:space-between; gap:16px; align-items:flex-start;
  margin-bottom:16px;
  padding-bottom:13px;
  border-bottom:1px solid #e7edf7;
}
.field-group-header p { margin:4px 0 0; color:var(--ventoa-muted); font-size:13px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.form-field { display:flex; flex-direction:column; gap:7px; }
.form-field.full { grid-column:1 / -1; }
.form-field label {
  font-size:14px;
  font-weight:800;
  color:#24324a;
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.badge {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; padding:2px 8px; min-width:38px;
  font-size:11px; line-height:1.6; font-weight:800; white-space:nowrap;
}
.badge.required { background:#fee2e2; color:#991b1b; }
.badge.optional { background:#eef2ff; color:#3730a3; }
.badge.system { background:#f3f4f6; color:#4b5563; }
.badge.common { background:#dcfce7; color:#166534; }
.badge.customs { background:#ffedd5; color:#9a3412; }
.badge.conditional { background:#fef3c7; color:#92400e; }
input, select, textarea {
  width:100%;
  border:1px solid #cfd8e8;
  background:#fff;
  border-radius:12px;
  padding:12px 13px;
  font-size:15px;
  color:#111827;
  outline:none;
}
textarea { min-height:86px; resize:vertical; }
input:focus, select:focus, textarea:focus {
  border-color:var(--ventoa-blue);
  box-shadow:0 0 0 4px rgba(49,95,218,.12);
}
input[readonly], textarea[readonly] { background:#f6f7fb; color:#6b7280; }
.help-text { margin:0; color:#6b7280; font-size:12.5px; }
.validation-text { margin:0; color:#8a5a13; font-size:12px; }
.checkbox-field {
  flex-direction:row;
  align-items:flex-start;
  gap:10px;
  border:1px solid #dbe2ee;
  border-radius:14px;
  padding:14px;
  background:#fbfdff;
}
.checkbox-field input { width:18px; height:18px; margin-top:3px; }
.checkbox-field label { display:block; font-weight:800; }
.checkbox-field .help-text { margin-top:4px; }
.submit-panel {
  margin-top:22px;
  padding:24px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}
.submit-panel p { margin:0; color:#6b7280; }
.action-row { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.btn {
  border:0;
  border-radius:12px;
  padding:12px 17px;
  font-weight:900;
  font-size:14px;
  cursor:pointer;
}
.btn.primary { background:var(--ventoa-blue); color:#fff; }
.btn.secondary { background:#eef2ff; color:#1e40af; }
.btn.ghost { background:#fff; color:#374151; border:1px solid var(--ventoa-line); }
.btn:hover { filter:brightness(.97); transform:translateY(-1px); }
.result-card {
  margin-top:20px;
  padding:24px;
  border-left:6px solid var(--ventoa-blue);
}
.result-card.success { border-left-color:var(--ventoa-good); }
.result-card.warning { border-left-color:var(--ventoa-warn); }
.result-card h2 { margin-bottom:6px; }
.result-card p { color:#4b5563; }
.result-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:15px; }
.hidden { display:none !important; }
.caption { font-size:13px; color:#6b7280; }
.error-box {
  background:#fff1f2;
  border:1px solid #fecdd3;
  color:#9f1239;
  padding:14px 16px;
  border-radius:14px;
  margin-bottom:15px;
}
@media (max-width:840px) {
  .hero-card { grid-template-columns:1fr; padding:24px; }
  .field-grid { grid-template-columns:1fr; }
  .submit-panel { flex-direction:column; align-items:flex-start; }
  nav { display:none; }
}
@media print {
  .no-print, .submit-panel, .action-row, .ventoa-header { display:none !important; }
  body { background:#fff; }
  .member-page { padding:0; max-width:100%; }
  .hero-card, .notice-card, .field-group, .result-card, .file-section, .status-timeline {
    box-shadow:none;
    break-inside:avoid;
    page-break-inside:avoid;
  }
}


/* v0.8.5 member/signup refinements */
.signup-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.signup-aside{position:sticky;top:92px}.terms-list{display:grid;gap:10px}.terms-list .term-row{margin:0}.terms-actions{display:flex;gap:8px;align-items:center}.terms-modal-body{max-height:55vh;overflow:auto;white-space:pre-wrap;font-family:inherit;background:#f8fafc;border:1px solid var(--vt-line);border-radius:16px;padding:16px}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(7,27,58,.45);z-index:100;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{width:min(760px,100%);background:#fff;border-radius:24px;border:1px solid var(--vt-line);box-shadow:var(--vt-shadow);padding:22px}.signup-submit-bar{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:1px solid var(--vt-line);border-radius:22px;padding:16px;box-shadow:0 -10px 30px rgba(7,27,58,.08);z-index:10}.asset-mini-card{border:1px solid var(--vt-line);border-radius:16px;padding:14px;background:#fff}.asset-mini-card strong{display:block}.asset-status{margin-top:8px}.brand-preview{display:grid;place-items:center;height:88px;border-radius:14px;background:linear-gradient(135deg,#edf4ff,#f8fafc);font-weight:900;color:var(--vt-navy);border:1px dashed var(--vt-line-2)}
@media(max-width:920px){.signup-layout{grid-template-columns:1fr}.signup-aside{position:static}}
