:root {
  --ink: #172230;
  --muted: #718096;
  --line: #e7e9ed;
  --paper: #ffffff;
  --canvas: #f5f6f8;
  --brand: #e85d3f;
  --brand-dark: #c84930;
  --blue: #3976d3;
  --green: #2d8a62;
  --amber: #b7791f;
  --shadow: 0 18px 50px rgba(26, 32, 44, .08);
}

.registration-confirmation-message{margin-top:18px;padding:15px 17px;border-left:4px solid #ef6d57;border-radius:0 13px 13px 0;background:#fff4f1;color:#713c32;line-height:1.7}
.registration-payment-next{display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px solid #d5e1df;border-radius:20px;background:linear-gradient(135deg,#f6faf9,#fff)}.registration-payment-next>span{padding:7px 10px;border-radius:999px;background:#172a32;color:#fff;font-size:12px;font-weight:900}.registration-payment-next strong,.registration-payment-next p{display:block;margin:0}.registration-payment-next p{margin-top:4px;color:#68767b;font-size:13px;line-height:1.6}.registration-payment-page{max-width:1280px;padding-top:38px}.payment-page-head{padding:34px 0 28px}.payment-page-head h1{margin:10px 0;font-size:clamp(38px,6vw,64px)}.payment-page-head>p{max-width:700px;color:#66757a;line-height:1.7}.payment-step-indicator{display:flex;align-items:center;max-width:720px;margin-top:28px}.payment-step-indicator span{padding:9px 13px;border-radius:999px;background:#e9eeee;color:#728086;font-size:12px;font-weight:800}.payment-step-indicator span.done{background:#e3f4e9;color:#23704a}.payment-step-indicator span.active{background:#172a32;color:#fff}.payment-step-indicator i{height:2px;flex:1;background:#dce3e2}.registration-payment-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.payment-page-form{display:grid;gap:18px}.payment-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-choice-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;border:1.5px solid #dfe5e5;border-radius:18px;background:#fff;cursor:pointer;transition:.18s ease}.payment-choice-card:hover,.payment-choice-card.selected{border-color:#ef6d57;background:#fff8f6;box-shadow:0 9px 24px rgba(239,109,87,.1)}.payment-choice-card input{position:absolute;width:1px;height:1px;opacity:0}.payment-choice-currency{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#172a32;color:#fff;font-size:12px;font-weight:900}.payment-choice-card strong,.payment-choice-card small{display:block}.payment-choice-card small{margin-top:4px;color:#6f7c81}.payment-choice-card b{color:#e65e44;font-size:12px}.payment-selected-detail{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;margin-top:18px;padding:20px;border-radius:20px;background:#172a32;color:#fff}.payment-selected-detail>div:first-child span,.payment-selected-detail>div:first-child strong{display:block}.payment-selected-detail>div:first-child span{color:#b9c7c4;font-size:12px}.payment-selected-detail>div:first-child strong{margin-top:7px;color:#ff947f;font-size:25px}.payment-page-qr{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px 18px}.payment-page-qr>div{display:flex;justify-content:space-between;gap:10px}.payment-page-qr img{grid-column:2;grid-row:1/3;width:150px;height:150px;object-fit:contain;border-radius:14px;background:#fff}.payment-page-qr p{margin:8px 0;color:#d3ddda;line-height:1.65}.payment-proof-large{min-height:210px}.payment-order-summary{position:sticky;top:100px}.payment-missing-draft{margin-top:60px}
@media(max-width:900px){.registration-payment-workspace{grid-template-columns:1fr}.payment-order-summary{position:static;order:-1}.payment-choice-grid{grid-template-columns:1fr}}
@media(max-width:640px){.registration-payment-next{align-items:flex-start;flex-direction:column}.registration-payment-page{padding:22px 14px 70px}.payment-step-indicator span{padding:8px;font-size:10px}.payment-selected-detail{grid-template-columns:1fr}.payment-page-qr{grid-template-columns:1fr}.payment-page-qr img{grid-column:1;grid-row:auto}.payment-choice-card{grid-template-columns:46px minmax(0,1fr)}.payment-choice-card b{grid-column:2}}

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  background: var(--paper);
}
.login-art {
  padding: 70px clamp(40px, 7vw, 110px);
  color: white;
  background:
    radial-gradient(circle at 75% 18%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(145deg, #202c39 0%, #283947 56%, #e85d3f 160%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 42px; height: 42px;
  border-radius: 14px;
  background: var(--brand);
  color: white;
  font-weight: 800;
  letter-spacing: -.06em;
}
.brand-logo {
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
}
.brand-logo.mono {
  width: 46px;
  height: 46px;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.14));
}
.login-logo {
  width: 108px;
  height: 108px;
  padding: 9px;
  object-fit: contain;
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 40px rgba(0,0,0,.16);
}
.login-art h1 { font-size: clamp(44px, 6vw, 78px); line-height: 1.02; margin: 24px 0; letter-spacing: -.05em; }
.login-art p { max-width: 520px; color: #d8e0e6; line-height: 1.8; font-size: 17px; }
.mini-stats { display: flex; gap: 34px; }
.mini-stats strong { display: block; font-size: 26px; }
.mini-stats span { color: #b9c4cc; font-size: 13px; }
.login-panel { display: grid; place-items: center; padding: 36px; }
.login-card { width: min(430px, 100%); }
.eyebrow { color: var(--brand); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.login-card h2 { font-size: 34px; margin: 12px 0 8px; }
.subtle { color: var(--muted); line-height: 1.6; }
.field { display: grid; gap: 8px; margin-top: 20px; }
.field label { font-size: 14px; font-weight: 650; }
.join-fields .join-gender-description[hidden] { display: none; }
.required-mark { margin-left:2px; color:#d93f2f; font-weight:850; }
.identity-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.identity-summary article { padding:18px 20px; border:1px solid #e3e8eb; border-radius:18px; background:#fff; display:grid; gap:5px; }
.identity-summary span,.identity-summary small { color:#75828a; }
.identity-summary strong { font-size:30px; color:#172a34; }
.application-center { margin-bottom:18px; }
.application-list { padding:0 20px 18px; }
.application-row { display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) auto auto; gap:18px; align-items:center; padding:16px 0; border-top:1px solid #edf0f2; }
.application-row small { display:block; margin-top:4px; color:#7b878e; }
.application-person { display:flex; align-items:center; gap:12px; }
.join-success { min-height:520px; display:grid; place-content:center; justify-items:start; gap:18px; padding:40px; }
.join-success > span { color:#dc5c47; font-size:12px; font-weight:800; letter-spacing:2px; }
.join-success h2 { margin:0; font-size:42px; }
.join-success p { max-width:580px; color:#66757d; line-height:1.8; }
.management-term-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-top:14px; }
.avatar-image { overflow:hidden; padding:0!important; }
.avatar-image img { width:100%; height:100%; object-fit:cover; display:block; }
.sidebar-user { cursor:pointer; }
.profile-page { min-height:100vh; background:#f4f6f7; color:#172a34; }
.profile-page .portal-header { background:#fff; border-bottom:1px solid #e3e8eb; }
.profile-logout { border:0; background:transparent; color:#7a858b; cursor:pointer; font:inherit; }
.profile-layout { width:min(1120px,calc(100% - 40px)); margin:48px auto; display:grid; grid-template-columns:330px minmax(0,1fr); gap:28px; align-items:start; }
.profile-summary,.profile-editor { border:1px solid #e1e6e8; border-radius:26px; background:#fff; box-shadow:0 18px 50px rgba(24,39,48,.07); }
.profile-summary { padding:34px; text-align:center; position:sticky; top:24px; }
.profile-avatar { width:112px; height:112px; border-radius:50%; display:grid; place-items:center; margin:0 auto 20px; background:#19303a; color:#fff; font-size:32px; font-weight:800; }
.profile-avatar.compact { width:72px; height:72px; margin:0; font-size:22px; flex:none; }
.profile-avatar.preview { width:86px; height:86px; margin:0; font-size:24px; }
.profile-summary > span:not(.profile-avatar) { display:inline-block; padding:6px 10px; border-radius:999px; background:#fff1ed; color:#d75640; font-size:12px; font-weight:800; }
.profile-summary h1 { margin:16px 0 6px; font-size:30px; }
.profile-summary > p { color:#7b878d; overflow-wrap:anywhere; }
.profile-summary dl { margin:28px 0 0; border-top:1px solid #edf0f1; text-align:left; }
.profile-summary dl div { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid #edf0f1; }
.profile-summary dt { color:#7b878d; }.profile-summary dd { margin:0; font-weight:750; text-align:right; }
.profile-editor { padding:38px; }
.profile-editor > div:first-child h2 { margin:10px 0 8px; font-size:34px; }.profile-editor > div:first-child p { margin:0 0 30px; color:#748189; }
.profile-editor form { display:grid; gap:22px; }
.profile-avatar-editor { display:flex; align-items:center; gap:20px; padding:20px; border-radius:20px; background:#f5f7f7; }
.profile-avatar-editor label { display:grid; gap:5px; cursor:pointer; }.profile-avatar-editor label span { color:#76838a; font-size:13px; }
.profile-email-row { display:flex; gap:10px; }.profile-email-row input { flex:1; }.profile-email-row button { white-space:nowrap; }
.profile-save-status { color:#d75640; min-height:20px; }
.member-account-card { width:min(1120px,calc(100% - 40px)); margin:-45px auto 30px; position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 28px; border-radius:24px; background:#fff; box-shadow:0 16px 50px rgba(19,38,32,.15); }
.member-account-card > div { display:flex; align-items:center; gap:18px; }.member-account-card h2 { margin:4px 0; }.member-account-card p { margin:0; color:#738079; }
.account-nav { height:78px; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:0 max(34px,calc((100% - 1660px)/2)); background:rgba(255,255,255,.96); border-bottom:1px solid #e6eaeb; position:relative; z-index:20; }
.account-nav-brand { display:flex; align-items:center; gap:12px; color:#142831; text-decoration:none; }.account-nav-brand img { width:48px; height:48px; object-fit:contain; }.account-nav-brand div { display:grid; line-height:1; }.account-nav-brand strong { font-size:17px; letter-spacing:.08em; }.account-nav-brand span { margin-top:5px; color:#de604b; font-size:9px; font-weight:800; letter-spacing:.18em; }
.account-nav nav { display:flex; align-items:center; gap:6px; }.account-nav nav > a,.account-nav-logout { min-height:42px; display:flex; align-items:center; gap:9px; padding:0 15px; border:0; border-radius:12px; background:transparent; color:#5d6b72; font:inherit; font-size:14px; font-weight:750; text-decoration:none; cursor:pointer; }.account-nav nav > a:hover,.account-nav nav > a.active { background:#f1f5f4; color:#17362d; }.account-nav-logout { color:#a15a50; }
.account-user-link { border-left:1px solid #e5e9ea!important; margin-left:8px; border-radius:0 12px 12px 0!important; }.account-nav-avatar { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:#19303a; color:#fff; font-size:10px; font-weight:800; }
.account-nav-toggle { display:none; border:1px solid #dfe5e7; border-radius:10px; background:#fff; width:42px; height:42px; font-size:18px; }
.account-action { display:flex; align-items:center; gap:12px; padding:13px 18px; border-radius:14px; background:#e85d42; color:#fff!important; text-decoration:none; font-weight:800; box-shadow:0 10px 24px rgba(232,93,66,.22); }.account-action b { font-size:20px; }
.profile-system-note { margin-top:26px; padding:14px; border-radius:14px; background:#f4f6f6; color:#7b878d; font-size:13px; }
.avatar-crop-backdrop { z-index:100; }
.avatar-crop-modal { width:min(520px,calc(100% - 28px)); max-height:calc(100vh - 28px); overflow:auto; border-radius:24px; background:#fff; box-shadow:0 30px 90px rgba(13,28,36,.28); }
.avatar-crop-modal .modal-head p { margin:4px 0 0; color:#78858b; font-size:13px; }.avatar-crop-body { display:grid; justify-items:center; gap:22px; padding:12px 28px 26px; }
.avatar-crop-stage { width:min(360px,100%); aspect-ratio:1; position:relative; overflow:hidden; border-radius:18px; background:#dfe5e6; touch-action:none; }.avatar-crop-stage canvas { width:100%; height:100%; display:block; cursor:grab; touch-action:none; }.avatar-crop-stage canvas:active { cursor:grabbing; }.avatar-crop-stage i { position:absolute; inset:8%; border:2px solid rgba(255,255,255,.95); border-radius:50%; box-shadow:0 0 0 999px rgba(9,20,26,.42); pointer-events:none; }
.avatar-zoom { width:min(360px,100%); display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; color:#52636b; font-weight:750; }.avatar-zoom input { width:100%; accent-color:#e85d42; }
@media (max-width: 900px) { .identity-summary { grid-template-columns:repeat(2,1fr); } .application-row { grid-template-columns:1fr; } }
@media (max-width: 900px) { .profile-layout { grid-template-columns:1fr; }.profile-summary { position:static; }.member-account-card { margin-top:20px; } }
@media (max-width: 760px) { .account-nav { height:68px; padding:0 16px; }.account-nav-brand img { width:42px; height:42px; }.account-nav-toggle { display:block; }.account-nav nav { display:none; position:absolute; left:12px; right:12px; top:62px; padding:10px; flex-direction:column; align-items:stretch; border:1px solid #e1e6e8; border-radius:18px; background:#fff; box-shadow:0 20px 50px rgba(17,35,44,.15); }.account-nav nav.open { display:flex; }.account-user-link { border-left:0!important; margin-left:0; }.account-nav nav > a,.account-nav-logout { width:100%; justify-content:flex-start; }.account-nav-avatar { flex:none; } }
@media (max-width: 560px) { .identity-summary { grid-template-columns:1fr 1fr; gap:8px; } .identity-summary article { padding:14px; } .join-success { min-height:420px; padding:24px; } .management-term-grid { grid-template-columns:1fr; } .profile-layout { width:min(100% - 24px,1120px); margin:20px auto; }.profile-editor,.profile-summary { padding:24px; border-radius:20px; }.profile-email-row,.member-account-card { flex-direction:column; align-items:stretch; }.member-account-card { width:calc(100% - 24px); }.profile-avatar-editor { align-items:flex-start; }.avatar-crop-body { padding-inline:16px; } }
@media (max-width: 980px) { .organization-overview { grid-template-columns:1fr; }.department-directory { grid-template-columns:1fr; }.department-modal-body { grid-template-columns:1fr; }.department-member-options { max-height:300px; } }
@media (max-width: 640px) { .organization-head { align-items:stretch; }.organization-head .primary { width:100%; }.organization-metrics { grid-template-columns:1fr 1fr; }.organization-metrics article { min-height:105px; border-bottom:1px solid var(--line); }.organization-metrics article:last-child { grid-column:1/-1; }.department-card { min-height:0; }.department-member-list { grid-template-columns:1fr; }.department-card > footer { align-items:flex-start; flex-direction:column; }.department-modal { width:calc(100% - 16px); max-height:calc(100vh - 16px); }.department-modal-tabs { align-items:stretch; flex-direction:column; gap:14px; padding-inline:18px; }.department-modal-tabs select { min-width:0;width:100%; }.department-modal-body { padding:8px 18px 18px; }.department-form-main { grid-template-columns:1fr; }.department-form-main .wide { grid-column:auto; } }
.field input, .field select, .field textarea, .toolbar input, .toolbar select {
  width: 100%;
  border: 1px solid #d9dde3;
  border-radius: 12px;
  padding: 12px 14px;
  background: white;
  color: var(--ink);
  outline: none;
}
.field textarea { resize: vertical; line-height: 1.7; }
.field input:focus, .toolbar input:focus, .toolbar select:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(232,93,63,.1); }
.primary {
  border: 0;
  border-radius: 12px;
  background: var(--brand);
  color: white;
  padding: 12px 18px;
  font-weight: 700;
}
.primary:hover { background: var(--brand-dark); }
.login-card .primary { width: 100%; margin-top: 24px; }
.demo-note { margin-top: 18px; padding: 14px; border-radius: 12px; background: #fff6f2; color: #9d442f; font-size: 13px; line-height: 1.7; }
.error { color: #c53030; font-size: 13px; margin-top: 10px; }

.shell { min-height: 100vh; display: grid; grid-template-columns: 248px 1fr; }
.sidebar {
  position: sticky; top: 0; height: 100vh;
  background: #18232d;
  color: white;
  padding: 24px 18px;
  display: flex; flex-direction: column;
}
.sidebar-brand { display: flex; align-items: center; gap: 12px; padding: 0 4px 28px; }
.sidebar-brand strong { display: block; }
.sidebar-brand small { color: #92a2af; }
.nav-label { margin: 16px 10px 8px; color: #798d9c; font-size: 11px; letter-spacing: .12em; }
.nav-item {
  border: 0; color: #c7d0d7; background: transparent;
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 11px 12px; border-radius: 10px; text-align: left; margin: 2px 0;
}
.nav-item:hover, .nav-item.active { color: white; background: rgba(255,255,255,.09); }
.nav-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .7; }
.sidebar-user { margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); padding: 18px 8px 0; display: flex; gap: 10px; align-items: center; }
.avatar { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: white; font-weight: 800; background: linear-gradient(135deg, var(--brand), #f3a55f); }
.sidebar-user small { display: block; color: #92a2af; }
.logout { margin-left: auto; color: #aebcc6; border: 0; background: transparent; font-size: 18px; }

.main { min-width: 0; }
.topbar { height: 74px; background: white; border-bottom: 1px solid var(--line); display: flex; align-items: center; padding: 0 34px; justify-content: space-between; }
.topbar h1 { font-size: 19px; margin: 0; }
.top-actions { display: flex; align-items: center; gap: 12px; }
.portal-switcher { gap: 6px; }
.portal-switcher button { border: 0; border-radius: 8px; padding: 7px 9px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 700; }
.portal-switcher button:hover, .portal-switcher button.active { color: var(--brand); background: #fff1ec; }
.badge { padding: 6px 10px; border-radius: 99px; background: #eef4ff; color: var(--blue); font-size: 12px; font-weight: 700; }
.content { padding: 30px 34px 60px; max-width: 1500px; margin: 0 auto; }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; }
.page-head h2 { margin: 0 0 5px; font-size: 29px; letter-spacing: -.03em; }
.page-head p { margin: 0; color: var(--muted); }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.stat { background: white; border: 1px solid var(--line); padding: 20px; border-radius: 16px; }
.stat span { color: var(--muted); font-size: 13px; }
.stat strong { display: block; font-size: 30px; margin-top: 8px; }
.stat small { color: var(--green); }
.grid-2 { display: grid; grid-template-columns: 1.3fr .7fr; gap: 18px; margin-top: 18px; }
.card { background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,.02); }
.card-head { padding: 20px 22px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.card-head h3 { margin: 0; font-size: 16px; }
.card-body { padding: 20px 22px; }
.activity { display: flex; gap: 13px; padding: 13px 0; border-bottom: 1px solid #f0f1f3; }
.activity:last-child { border-bottom: 0; }
.activity-mark { width: 9px; height: 9px; margin-top: 6px; border-radius: 50%; background: var(--brand); }
.activity p { margin: 0; font-size: 14px; }
.activity small { color: var(--muted); }
.dept-row { margin-bottom: 17px; }
.dept-row header { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 7px; }
.progress { height: 8px; border-radius: 9px; background: #edf0f2; overflow: hidden; }
.progress i { display: block; height: 100%; background: var(--brand); border-radius: inherit; }

.toolbar { display: grid; grid-template-columns: 1fr 180px 180px; gap: 12px; padding: 16px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { color: var(--muted); font-size: 12px; font-weight: 650; text-align: left; padding: 12px 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fafafa; }
td { padding: 15px 18px; border-bottom: 1px solid #eff0f2; font-size: 14px; }
.person { display: flex; align-items: center; gap: 11px; }
.person strong { display: block; }
.person small { color: var(--muted); }
.tag { display: inline-flex; padding: 5px 9px; border-radius: 99px; font-size: 12px; font-weight: 650; background: #f0f2f5; color: #596677; }
.tag.lead { background: #fff0eb; color: #b94d34; }
.tag.active { background: #e9f7f0; color: #277855; }
.tag.pending { background: #fff7e6; color: #976419; }
.more { border: 0; background: transparent; font-size: 20px; color: var(--muted); }
.empty { text-align: center; color: var(--muted); padding: 38px; }
.org { display: grid; gap: 16px; }
.org-group { border: 1px solid var(--line); background: white; border-radius: 16px; padding: 20px; }
.org-group h3 { margin: 0 0 14px; font-size: 16px; }
.org-people { display: flex; flex-wrap: wrap; gap: 10px; }
.org-person { min-width: 190px; display: flex; gap: 10px; align-items: center; padding: 12px; background: #f8f9fa; border-radius: 12px; }
.org-person small { display: block; color: var(--muted); }
.organization-head { align-items:flex-end; }
.organization-head h2 { margin-top:8px; }
.organization-overview { display:grid; grid-template-columns:minmax(280px,.8fr) 1.4fr; gap:16px; margin-bottom:20px; }
.organization-summary-card { min-height:150px; padding:28px; border-radius:22px; color:#fff; background:linear-gradient(135deg,#17392f,#315b48); box-shadow:0 18px 40px rgba(27,60,47,.15); }
.organization-summary-card > span { color:#f0a18f; font-size:12px; font-weight:800; letter-spacing:.16em; }.organization-summary-card strong { display:block; margin:11px 0 5px; font-size:32px; }.organization-summary-card p { max-width:430px; margin:0; color:#d9e5df; line-height:1.7; }
.organization-metrics { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:22px; background:#fff; overflow:hidden; }
.organization-metrics article { min-height:150px; display:grid; place-content:center; gap:8px; padding:20px 28px; border-left:1px solid var(--line); }.organization-metrics article:first-child { border-left:0; }.organization-metrics strong { font-family:Georgia,serif; font-size:38px; }.organization-metrics span { color:var(--muted); font-size:13px; }
.department-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.department-card { position:relative; overflow:hidden; display:grid; grid-template-rows:auto auto auto 1fr auto; min-height:430px; border:1px solid #dde3e4; border-radius:22px; background:#fff; box-shadow:0 10px 24px rgba(20,42,52,.04); }
.department-card::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--department-color); }.department-card > header { display:flex; align-items:center; justify-content:space-between; padding:22px 24px 12px; }.department-card > header div { display:flex; align-items:center; gap:12px; }.department-card > header div > span { font-family:Georgia,serif; font-size:25px; color:var(--department-color); }.department-card > header small { color:#8a969b; font-weight:750; letter-spacing:.08em; }
.department-edit { border:1px solid #dfe4e6; border-radius:10px; padding:8px 12px; background:#fff; color:#31444d; font-size:12px; font-weight:750; }.department-edit:hover { border-color:var(--department-color); color:var(--department-color); }
.department-copy { padding:8px 24px 20px; }.department-copy h3 { margin:0 0 10px; font-size:24px; }.department-copy p { min-height:52px; margin:0; color:#697980; line-height:1.7; }
.department-leader,.department-members { margin:0 24px; padding:18px 0; border-top:1px solid #edf0f1; }.department-leader > span,.department-section-title span { color:#8a969b; font-size:11px; font-weight:800; letter-spacing:.12em; }.department-leader > div { display:flex; align-items:center; gap:11px; margin-top:12px; }.department-leader p,.department-member-list p { margin:0; }.department-leader small,.department-member-list small { display:block; margin-top:3px; color:#89959a; font-size:11px; }.department-leader .avatar { background:color-mix(in srgb,var(--department-color) 18%,white); color:var(--department-color); }
.department-section-title { display:flex; justify-content:space-between; align-items:center; }.department-section-title strong { font-size:12px; }.department-member-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }.department-member-list > div { min-width:0; display:flex; align-items:center; gap:9px; padding:9px; border-radius:12px; background:#f7f9f9; }.department-member-list .avatar { width:34px;height:34px;font-size:10px;flex:none; }.department-member-list p { min-width:0; }.department-member-list strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }.department-more { display:grid; place-items:center; min-height:52px; border-radius:12px; background:#f2f4f4; color:#718087; font-weight:800; }.department-empty { margin:10px 0 0; color:#99a3a7; font-size:13px; }
.department-card > footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; background:#fafbfb; border-top:1px solid #edf0f1; }.department-card > footer > span { overflow:hidden; color:#79868c; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }.text-button { flex:none; padding:0; border:0; background:transparent; color:var(--department-color); }
.department-modal-backdrop { align-items:center; }.department-modal { width:min(1080px,calc(100% - 32px)); max-height:calc(100vh - 32px); overflow:auto; }.department-modal .modal-head p { margin:5px 0 0; color:#7c898f; font-size:13px; }.department-modal-tabs { display:flex; align-items:flex-end; justify-content:space-between; padding:0 28px 18px; border-bottom:1px solid #e7ebec; }.department-modal-tabs label { display:grid; gap:7px; color:#6d7a80; font-size:12px; font-weight:750; }.department-modal-tabs select { min-width:260px; }.department-modal-tabs > span { width:34px;height:34px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 6px color-mix(in srgb,var(--swatch) 14%,white); }
.department-modal-body { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:28px; }.department-form-main { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }.department-form-main .wide { grid-column:1/-1; }.department-member-editor { min-width:0; padding:18px; border-radius:18px; background:#f4f7f7; }.department-member-editor header { display:grid; gap:12px; }.department-member-editor header > div { display:flex; justify-content:space-between; }.department-member-editor header span { color:#78858b; font-size:12px; }.department-member-editor header input { background:#fff; }.department-member-options { display:grid; gap:6px; max-height:390px; overflow:auto; margin-top:12px; padding-right:5px; }.department-member-options label { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:10px; padding:10px; border:1px solid transparent; border-radius:13px; background:#fff; cursor:pointer; }.department-member-options label:has(input:checked) { border-color:#f0a797; background:#fff8f5; }.department-member-options .avatar { width:34px;height:34px;font-size:10px; }.department-member-options p { min-width:0;margin:0; }.department-member-options strong,.department-member-options small { display:block; }.department-member-options small { overflow:hidden; margin-top:3px; color:#819097; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }.department-member-note { margin:14px 0 0; color:#849197; font-size:11px; line-height:1.6; }

.modal-backdrop { position: fixed; inset: 0; background: rgba(12,20,27,.55); display: grid; place-items: center; padding: 20px; z-index: 20; }
.modal { width: min(620px, 100%); max-height: 90vh; overflow: auto; background: white; border-radius: 18px; box-shadow: var(--shadow); }
.modal-head { padding: 20px 24px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; }
.modal-head h3 { margin: 0; }
.modal-close { border: 0; background: transparent; font-size: 22px; }
.modal-body { padding: 4px 24px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.modal-body .wide { grid-column: 1 / -1; }
.term-editor { grid-column: 1 / -1; margin-top: 20px; }
.term-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.term-editor-head h4 { margin: 0; font-size: 15px; }
.term-list { display: grid; gap: 12px; }
.term-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fafbfc;
}
.term-row .field { margin-top: 0; }
.term-row .term-wide { grid-column: 1 / -1; }
.remove-term {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  color: #a03f2d;
  background: #fff0ec;
}
.term-summary { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.modal-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.secondary { border: 1px solid #d7dbe0; color: var(--ink); background: white; border-radius: 12px; padding: 11px 16px; font-weight: 650; }
.danger-button { border: 1px solid #e5a89c; color: #a83927; background: #fff4f1; border-radius: 12px; padding: 11px 16px; font-weight: 700; }
.danger-button:hover { border-color: #c85d47; background: #ffe8e2; }
.notice { padding: 14px 16px; background: #fff8eb; border: 1px solid #f0dfba; color: #805b17; border-radius: 12px; line-height: 1.6; font-size: 13px; }
.vote-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.vote-card { overflow: hidden; }
.vote-cover { width: 100%; height: 180px; object-fit: cover; background: #f1f2f4; }
.vote-content { padding: 20px; }
.vote-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.vote-content h3 { margin: 0 0 7px; font-size: 20px; }
.vote-content > p { color: var(--muted); line-height: 1.6; margin: 0 0 17px; }
.vote-option {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  margin: 8px 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafbfc;
}
.vote-option img { width: 48px; height: 48px; object-fit: cover; border-radius: 9px; }
.vote-option input { accent-color: var(--brand); }
.vote-option strong { font-size: 13px; color: var(--muted); }
.vote-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; }
.option-editor-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 190px;
  gap: 10px;
  padding: 12px 42px 12px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafbfc;
}
.option-editor-row input { min-width: 0; }
.option-editor-row .remove-option { position: absolute; top: 12px; right: 10px; }
.image-preview { display: none; width: 100%; max-height: 170px; object-fit: cover; margin-top: 9px; border-radius: 12px; }
.image-preview.visible { display: block; }
.check-row { display: flex; align-items: center; gap: 9px; margin-top: 17px; font-size: 14px; }
.check-row input { accent-color: var(--brand); width: 17px; height: 17px; }
.venue-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr); gap: 18px; align-items: start; }
.campus-map-card { padding: 14px; overflow: hidden; }
.campus-map-wrap { position: relative; width: 100%; line-height: 0; border-radius: 13px; overflow: hidden; background: white; }
.campus-map-wrap > img { width: 100%; height: auto; display: block; }
.map-zone {
  position: absolute;
  border: 2px solid transparent;
  border-radius: 14px;
  background: rgba(255,255,255,.01);
  color: transparent;
  transition: .18s ease;
}
.map-zone:hover, .map-zone:focus-visible {
  color: white;
  border-color: rgba(255,255,255,.92);
  background: rgba(232,93,63,.3);
  box-shadow: 0 0 0 4px rgba(232,93,63,.18);
  outline: none;
}
.map-zone.active {
  color: white;
  border-color: white;
  background: rgba(232,93,63,.42);
  box-shadow: 0 0 0 4px rgba(232,93,63,.22);
}
.map-zone span {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  padding: 7px 10px;
  border-radius: 9px;
  background: rgba(20,30,38,.82);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  white-space: nowrap;
}
.map-tip { display: flex; align-items: center; gap: 9px; padding: 11px 4px 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.map-tip i { width: 11px; height: 11px; border-radius: 3px; background: var(--brand); }
.venue-panel { position: sticky; top: 92px; overflow: hidden; }
.venue-panel-head { padding: 22px; color: white; background: linear-gradient(135deg, #243442, #344b5d); }
.venue-panel-head span { color: #bfcbd3; font-size: 12px; }
.venue-panel-head h3 { margin: 6px 0 5px; font-size: 24px; }
.venue-panel-head p { margin: 0; color: #cfdae1; font-size: 13px; line-height: 1.5; }
.venue-title-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.venue-edit-button { border: 1px solid rgba(255,255,255,.34); border-radius: 9px; padding: 7px 10px; color: white; background: rgba(255,255,255,.1); font-size: 12px; font-weight: 700; }
.venue-edit-button:hover { background: rgba(255,255,255,.2); }
.building-section { padding: 18px 16px; border-bottom: 1px solid var(--line); }
.building-section:last-child { border-bottom: 0; }
.building-section > p { margin: 9px 2px 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.section-kicker { display: flex; justify-content: space-between; align-items: center; color: var(--ink); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.section-kicker span { min-width: 25px; padding: 4px 7px; border-radius: 99px; text-align: center; color: var(--brand); background: #fff0eb; }
.venue-list { padding: 14px; display: grid; gap: 10px; }
.venue-item { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fafbfc; }
.venue-item header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.venue-item h4 { margin: 0; font-size: 15px; }
.venue-item p { margin: 7px 0 12px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.venue-item footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.venue-item small { color: var(--muted); }
.venue-apply { padding: 8px 11px; border-radius: 9px; font-size: 12px; }
.building-section .venue-list { padding: 12px 0 0; }
.building-activities { display: grid; gap: 12px; margin-top: 13px; }
.building-activities article { display: grid; grid-template-columns: 64px 1fr; gap: 11px; padding-bottom: 11px; border-bottom: 1px dashed var(--line); }
.building-activities article:last-child { padding-bottom: 0; border-bottom: 0; }
.building-activities time { color: var(--brand); font-size: 11px; font-weight: 750; }
.building-activities strong { font-size: 13px; }
.activity-location { display: inline-flex; margin: 4px 0 0 7px; padding: 3px 6px; border-radius: 6px; color: var(--blue); background: #eef4ff; font-size: 10px; font-weight: 700; }
.building-activities p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.building-edit-list { display: grid; gap: 10px; margin-top: 10px; }
.building-edit-row { position: relative; display: grid; grid-template-columns: 1.1fr .65fr .55fr; gap: 9px; padding: 12px 42px 12px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfc; }
.building-edit-row.activity-edit-row { grid-template-columns: .75fr .4fr .7fr 1.1fr; }
.building-edit-row.venue-structure-row { grid-template-columns: 1fr .65fr .5fr .9fr; }
.building-edit-row input { min-width: 0; width: 100%; border: 1px solid #d9dde3; border-radius: 9px; padding: 9px 10px; }
.building-edit-row select { min-width: 0; width: 100%; border: 1px solid #d9dde3; border-radius: 9px; padding: 9px 10px; background: white; }
.regulation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.regulation-card { padding: 22px; }
.regulation-card h3 { margin: 10px 0 8px; font-size: 20px; }
.regulation-card footer { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.rich-preview { max-height: 190px; overflow: hidden; color: #4a5564; line-height: 1.75; font-size: 13px; mask-image: linear-gradient(#000 72%, transparent); }
.rich-preview h1 { font-size: 23px; color: var(--ink); }
.rich-preview h2 { font-size: 19px; color: var(--ink); }
.rich-preview h3 { font-size: 16px; color: var(--ink); }
.editor-toolbar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; padding: 10px; border: 1px solid var(--line); border-bottom: 0; border-radius: 12px 12px 0 0; background: #f7f8fa; }
.editor-toolbar button, .editor-toolbar select, .editor-toolbar input { height: 34px; border: 1px solid #d6dbe1; border-radius: 8px; background: white; color: var(--ink); }
.editor-toolbar button { min-width: 36px; padding: 0 10px; font-weight: 700; }
.editor-toolbar select { padding: 0 9px; }
.editor-toolbar input[type="color"] { width: 40px; padding: 3px; }
.rich-editor { grid-column: 1 / -1; min-height: 330px; max-height: 52vh; overflow: auto; padding: 22px; border: 1px solid #d6dbe1; border-radius: 0 0 12px 12px; background: white; line-height: 1.75; outline: none; }
.rich-editor:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(232,93,63,.1); }
.rich-editor h1 { font-size: 30px; }
.rich-editor h2 { font-size: 24px; }
.rich-editor h3 { font-size: 19px; }
.document-list { display: grid; gap: 20px; }
.official-document { position: relative; overflow: hidden; padding: 38px clamp(22px, 5vw, 58px) 30px; background: #fffdf9; border: 1px solid #e7dfd1; border-radius: 18px; box-shadow: 0 16px 44px rgba(73,48,31,.08); }
.official-document::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 7px; background: linear-gradient(90deg, #9f1f24, var(--brand)); }
.document-brand { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.document-brand img { width: 76px; height: 76px; object-fit: contain; }
.document-brand-info { text-align: right; color: #8d796d; font-size: 11px; line-height: 1.6; letter-spacing: .08em; }
.document-type { margin: 24px 0 4px; text-align: center; color: #9f1f24; font-weight: 800; letter-spacing: .32em; }
.official-document h2 { margin: 10px auto 8px; max-width: 780px; text-align: center; font-family: "Noto Serif SC", "Songti SC", serif; font-size: 28px; }
.document-number { text-align: center; color: #887b72; font-size: 12px; }
.document-rule { width: 100%; height: 2px; margin: 22px 0; background: #9f1f24; }
.document-body { min-height: 100px; color: #352f2c; line-height: 2; white-space: pre-wrap; font-family: "Noto Serif SC", "Songti SC", serif; }
.document-signature { display: flex; justify-content: flex-end; margin-top: 28px; }
.signature-block { position: relative; min-width: 230px; text-align: center; }
.signature-block strong, .signature-block span { display: block; }
.signature-block span { margin-top: 5px; color: #766b65; font-size: 12px; }
.digital-seal { position: absolute; right: -7px; top: -30px; width: 92px; height: 92px; display: grid; place-items: center; border: 3px solid rgba(187,40,44,.68); border-radius: 50%; color: rgba(187,40,44,.76); transform: rotate(-11deg); font-size: 13px; font-weight: 900; letter-spacing: .08em; }
.document-security { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; margin-top: 34px; padding-top: 15px; border-top: 1px dashed #c9bdb3; color: #81756e; font-size: 10px; }
.fingerprint { overflow: hidden; text-overflow: ellipsis; font-family: var(--font-mono), monospace; white-space: nowrap; }
.verify-button { border: 1px solid #d7c9be; border-radius: 8px; padding: 7px 10px; color: #705b4f; background: transparent; font-size: 11px; }
.verify-button.valid { border-color: #8ec9ae; color: var(--green); background: #effaf4; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.editor-page-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; margin-bottom: 20px; }
.editor-page-head h2 { margin: 0 0 4px; font-size: 26px; }
.editor-page-head p { margin: 0; color: var(--muted); font-size: 13px; }
.editor-workspace { padding: 22px; }
.editor-meta-grid { display: grid; grid-template-columns: 1fr 220px; gap: 14px; margin-bottom: 18px; }
.editor-meta-grid .field { margin-top: 0; }
.editor-meta-grid.document-fields { grid-template-columns: 1fr 1fr; }
.editor-meta-grid .wide { grid-column: 1 / -1; }
.full-toolbar { position: sticky; top: 74px; z-index: 4; border-bottom: 1px solid var(--line); border-radius: 12px 12px 0 0; box-shadow: 0 8px 18px rgba(26,32,44,.06); }
.full-page-editor { min-height: 58vh; max-height: none; padding: clamp(24px, 5vw, 60px); font-family: "Noto Serif SC", "Songti SC", serif; }
.document-editor { background: #fffdf9; }
.editor-footer-note { padding-top: 13px; color: var(--muted); font-size: 12px; text-align: right; }
.portal-page { min-height: 100vh; color: #18232d; background: #fbfaf7; }
.portal-header { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 clamp(24px,7vw,110px); border-bottom: 1px solid #ebe7df; background: rgba(255,255,255,.92); }
.portal-brand { display: flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.portal-brand img { width: 48px; height: 48px; object-fit: contain; }
.portal-header nav { display: flex; align-items: center; gap: 8px; }
.portal-header nav a { padding: 9px 12px; border-radius: 9px; color: #586471; font-size: 13px; font-weight: 700; text-decoration: none; }
.portal-header nav a:hover { color: var(--brand); background: #fff0eb; }
.portal-admin-link { border: 1px solid #e4dcd3; }
.portal-hero { padding: 90px clamp(24px,10vw,160px) 70px; color: white; background: radial-gradient(circle at 78% 20%,rgba(255,255,255,.13),transparent 27%),linear-gradient(135deg,#1b2934,#314655 65%,#e85d3f 180%); }
.portal-hero span { color: #f2a796; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.portal-hero h1 { max-width: 760px; margin: 16px 0; font-size: clamp(42px,7vw,82px); letter-spacing: -.055em; }
.portal-hero p { max-width: 670px; margin: 0; color: #d3dde4; font-size: 17px; line-height: 1.8; }
.portal-module-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; padding: 42px clamp(24px,7vw,110px) 70px; }
.portal-module-grid article { min-height: 230px; padding: 24px; border: 1px solid #e7e3dc; border-radius: 17px; background: white; }
.portal-module-grid small { color: var(--brand); font-weight: 800; }
.portal-module-grid h2 { margin: 28px 0 8px; font-size: 22px; }
.portal-module-grid p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.portal-module-grid button { margin-top: 20px; border: 0; color: var(--muted); background: transparent; font-size: 12px; }
.portal-footer { padding: 24px; border-top: 1px solid #e7e3dc; color: var(--muted); text-align: center; font-size: 12px; }
.portal-member .portal-hero { background: linear-gradient(135deg,#21332b,#315b48 75%,#e85d3f 190%); }
.portal-visitor .portal-hero { background: linear-gradient(135deg,#2b2d3b,#4b526f 75%,#e85d3f 190%); }
.official-site { --official-ink:#17232d; --official-paper:#f7f3ec; --official-coral:#ef6d57; min-height:100vh; overflow:hidden; color:var(--official-ink); background:var(--official-paper); }
.official-header { position:sticky; top:0; z-index:20; height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 clamp(22px,6vw,92px); border-bottom:1px solid rgba(23,35,45,.1); background:rgba(250,248,243,.9); backdrop-filter:blur(18px); }
.official-brand { display:flex; align-items:center; gap:11px; color:inherit; text-decoration:none; }
.official-brand img { width:48px; height:48px; object-fit:contain; }
.official-brand strong,.official-brand span { display:block; }
.official-brand strong { font-size:14px; }
.official-brand span { margin-top:2px; color:#8a7068; font-size:9px; font-weight:750; letter-spacing:.14em; }
.official-header nav { display:flex; align-items:center; gap:4px; }
.official-header nav button,.official-header nav a { border:0; padding:9px 11px; border-radius:9px; color:#53616d; background:transparent; font-size:12px; font-weight:700; text-decoration:none; }
.official-header nav button:hover,.official-header nav a:hover { color:var(--official-coral); background:#fff; }
.official-header nav a:last-child { margin-left:8px; border:1px solid #e2d9d1; }
.official-menu-button { display:none; border:0; border-radius:10px; padding:9px 11px; background:white; font-size:20px; }
.official-hero { min-height:calc(100vh - 82px); display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:40px; padding:70px clamp(26px,8vw,126px); background:radial-gradient(circle at 73% 22%,rgba(239,109,87,.13),transparent 22%),linear-gradient(145deg,#fbf8f1,#f4eee4); }
.official-eyebrow { color:var(--official-coral); font-size:11px; font-weight:850; letter-spacing:.18em; }
.official-hero h1 { margin:21px 0 26px; font-size:clamp(48px,7vw,94px); line-height:.98; letter-spacing:-.075em; }
.official-hero h1 em { color:var(--official-coral); font-family:"Noto Serif SC","Songti SC",serif; font-style:normal; font-weight:500; }
.official-hero-copy > p { max-width:630px; color:#63717c; font-size:16px; line-height:1.9; }
.official-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:34px; }
.official-primary,.official-ghost { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border-radius:99px; padding:0 22px; font-size:13px; font-weight:800; text-decoration:none; }
.official-primary { border:1px solid var(--official-coral,#ef6d57); color:white; background:var(--official-coral,#ef6d57); box-shadow:0 12px 28px rgba(239,109,87,.22); }
.official-ghost { border:1px solid #d8cec4; color:var(--official-ink,#17232d); background:transparent; }
.official-hero-art { position:relative; min-height:540px; display:grid; place-items:center; }
.official-logo-stage { position:relative; z-index:3; width:min(360px,75%); aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(239,109,87,.25); border-radius:46% 54% 48% 52%; background:rgba(255,255,255,.72); box-shadow:0 40px 90px rgba(74,50,38,.12); transform:rotate(4deg); }
.official-logo-stage img { width:72%; height:72%; object-fit:contain; transform:rotate(-4deg); }
.official-logo-stage span { position:absolute; bottom:28px; color:#9d7167; font-size:10px; font-weight:800; letter-spacing:.18em; transform:rotate(-4deg); }
.official-orbit { position:absolute; border:1px solid rgba(239,109,87,.26); border-radius:50%; }
.orbit-one { width:88%; aspect-ratio:1; }
.orbit-two { width:65%; aspect-ratio:1; border-style:dashed; }
.floating-note { position:absolute; z-index:4; padding:9px 13px; border:1px solid #e5d8ce; border-radius:99px; color:#8f675d; background:#fffaf4; font-size:9px; font-weight:800; letter-spacing:.13em; box-shadow:0 12px 28px rgba(61,42,32,.08); }
.note-one { top:17%; right:3%; transform:rotate(8deg); }
.note-two { bottom:17%; left:0; transform:rotate(-7deg); }
.official-hero-film { position:relative; min-width:0; padding:36px 0 25px; overflow:hidden; border-radius:28px; color:#f6eee8; background:#17232a; box-shadow:0 32px 80px rgba(45,35,29,.2); transform:rotate(1.2deg); }
.official-hero-film::before,.official-hero-film::after { content:""; position:absolute; z-index:3; right:0; left:0; height:14px; background:repeating-linear-gradient(90deg,transparent 0 13px,#f4eee7 13px 25px,transparent 25px 37px); opacity:.9; }.official-hero-film::before { top:9px; }.official-hero-film::after { bottom:9px; }
.film-label { position:absolute; z-index:4; top:25px; right:16px; left:16px; display:flex; justify-content:space-between; font-size:7px; font-weight:850; letter-spacing:.13em; opacity:.68; }
.film-window { overflow:hidden; padding:15px 0 10px; }.film-track { width:max-content; display:flex; gap:12px; animation:film-roll 24s linear infinite; will-change:transform; }.official-hero-film:hover .film-track,.official-hero-film:focus-within .film-track { animation-play-state:paused; }
.film-frame { position:relative; width:clamp(245px,28vw,360px); height:430px; flex:0 0 auto; margin:0; overflow:hidden; border:2px solid #e8ded6; border-radius:5px; background:#26343b; }.film-frame img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }.film-frame:hover img { transform:scale(1.035); }.film-frame figcaption { position:absolute; right:0; bottom:0; left:0; overflow:hidden; padding:54px 15px 14px; background:linear-gradient(transparent,rgba(8,15,18,.84)); font-size:11px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.film-frame figcaption span { margin-right:9px; color:#ef8a75; font-size:9px; letter-spacing:.1em; }
.film-status { position:absolute; z-index:4; right:17px; bottom:23px; display:flex; align-items:center; gap:7px; color:#b9c1c4; font-size:7px; font-weight:800; letter-spacing:.12em; }.film-status i { width:6px; height:6px; border-radius:50%; background:#ef7963; box-shadow:0 0 0 4px rgba(239,121,99,.15); animation:film-pulse 1.5s ease-in-out infinite; }
@keyframes film-roll { to { transform:translateX(calc(-50% - 6px)); } } @keyframes film-pulse { 50% { opacity:.35; } }
.official-marquee { overflow:hidden; padding:14px 0; color:white; background:var(--official-coral); white-space:nowrap; }
.official-marquee div { width:max-content; font-size:11px; font-weight:800; letter-spacing:.16em; animation:official-marquee 28s linear infinite; }
@keyframes official-marquee { to { transform:translateX(-50%); } }
.official-section { padding:100px clamp(26px,8vw,126px); scroll-margin-top:82px; }
.official-section-label,.official-section-heading span,.official-join > div > span { color:var(--official-coral); font-size:10px; font-weight:850; letter-spacing:.18em; }
.official-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,120px); margin-top:28px; }
.official-about h2,.official-section-heading h2,.official-join h2 { margin:0; font-size:clamp(36px,5vw,66px); line-height:1.1; letter-spacing:-.055em; }
.official-about-copy > p { margin:0 0 18px; color:#66737c; line-height:1.9; }
.official-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:38px; }
.official-stats div { padding-top:15px; border-top:2px solid #e6dcd3; }
.official-stats strong,.official-stats span { display:block; }
.official-stats strong { font-size:clamp(30px,4vw,48px); }
.official-stats span { margin-top:3px; color:#7d858a; font-size:10px; }
.official-departments { background:#fffdfa; }
.official-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:34px; margin-bottom:42px; }
.official-section-heading > div { max-width:800px; }
.official-section-heading h2 { margin-top:13px; }
.official-section-heading > p { max-width:360px; margin:0; color:#74808a; line-height:1.7; }
.official-department-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.department-feature { position:relative; overflow:hidden; min-height:350px; padding:28px; border-radius:22px; color:white; }
.department-feature::after { content:""; position:absolute; right:-55px; bottom:-65px; width:190px; height:190px; border:1px solid rgba(255,255,255,.25); border-radius:50%; }
.department-feature.coral { background:#eb725e; }.department-feature.blue { background:#35546a; }.department-feature.rose { background:#9b6468; }
.department-feature > span { font-size:11px; font-weight:800; opacity:.75; }
.department-feature h3 { margin:110px 0 14px; font-size:27px; }
.department-feature p { color:rgba(255,255,255,.78); line-height:1.7; }
.department-feature small { position:absolute; left:28px; bottom:26px; letter-spacing:.12em; opacity:.65; }
.official-activities { color:white; background:#182730; }
.official-section-heading.light h2 { color:white; }.official-section-heading.light > p { color:#adbac2; }
.official-activity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.official-activity-card { overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:19px; background:#22343f; }
.official-activity-image { position:relative; height:310px; overflow:hidden; }
.official-activity-image > img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.official-activity-card:hover img { transform:scale(1.04); }
.official-activity-image time { position:absolute; left:15px; bottom:15px; padding:7px 9px; border-radius:8px; color:#26333c; background:#fff; font-size:10px; font-weight:800; }
.official-activity-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:9px; background:linear-gradient(145deg,var(--event-color),#202c34); }
.official-activity-placeholder span { font-size:52px; font-weight:900; opacity:.18; }.official-activity-placeholder strong { letter-spacing:.1em; }
.official-activity-content { padding:22px; }
.official-activity-content > span { color:#ee947f; font-size:9px; font-weight:800; letter-spacing:.1em; }
.official-activity-content h3 { margin:8px 0; font-size:21px; }
.official-activity-content p { min-height:64px; color:#b8c2c8; font-size:12px; line-height:1.7; }
.official-activity-content small { display:block; padding-top:12px; border-top:1px solid rgba(255,255,255,.1); color:#8fa0aa; }
.official-gallery { background:#fffdfa; }
.official-gallery-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-auto-rows:240px; gap:14px; }
.official-gallery-item { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:20px; background:#ece4dc; }
.official-gallery-item.gallery-1 { grid-row:span 2; }
.official-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.official-gallery-item:hover > img { transform:scale(1.035); }
.official-gallery-item figcaption { position:absolute; left:0; right:0; bottom:0; display:flex; align-items:flex-end; gap:12px; padding:54px 18px 17px; color:white; background:linear-gradient(transparent,rgba(13,23,29,.82)); }
.official-gallery-item figcaption > span { font-size:10px; font-weight:850; letter-spacing:.1em; opacity:.75; }
.official-gallery-item figcaption div { display:flex; min-width:0; flex-direction:column; }
.official-gallery-item figcaption strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.official-gallery-item figcaption small { margin-top:3px; color:rgba(255,255,255,.72); font-size:9px; }
.official-gallery-placeholder > div { width:100%; height:100%; display:grid; place-items:center; }
.official-gallery-placeholder > div img { width:54%; height:54%; object-fit:contain; }
.official-gallery-placeholder.coral > div { background:#ef7c6a; }.official-gallery-placeholder.coral > div img { filter:brightness(0) invert(1); }
.official-gallery-placeholder.ink > div { color:#f4ded6; background:#1c2c35; font-size:clamp(27px,4vw,52px); font-weight:900; line-height:.85; letter-spacing:-.06em; }
.official-gallery-placeholder.cream > div { background:#f1e7dc; }
.official-gallery-note { margin:18px 0 0; color:#8b817a; font-size:11px; text-align:right; }
.official-join { display:block; background:linear-gradient(135deg,#f4ddd6,#f7e9e3); }
.official-join > div { max-width:900px; }
.official-join h2 { margin:15px 0 22px; }
.official-join p { max-width:650px; color:#695c58; line-height:1.8; }
.official-ghost.dark { border-color:#bca79f; }
.official-footer { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:30px; padding:40px clamp(24px,6vw,92px); color:#cbd4d9; background:#121f27; }
.official-footer .official-brand { color:white; }.official-footer p { margin:0 0 5px; }.official-footer > div > span { color:#84939c; font-size:10px; }
.official-footer nav { display:flex; gap:14px; }.official-footer nav a { color:#aebbc2; font-size:11px; text-decoration:none; }
.button-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.join-page { --official-coral:#ef6d57; --official-ink:#17232d; min-height:100vh; min-height:100dvh; scroll-padding-bottom:96px; color:#17232d; background:#f5f1ea; }.join-header { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,5vw,72px); border-bottom:1px solid #e2d9d0; background:rgba(255,253,249,.92); }.join-back { color:#69757d; font-size:12px; font-weight:750; text-decoration:none; }
.join-layout { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(580px,1.28fr); min-height:calc(100vh - 78px); min-height:calc(100dvh - 78px); }.join-intro { position:sticky; top:0; height:calc(100vh - 78px); height:calc(100dvh - 78px); overflow:auto; display:flex; align-items:flex-start; flex-direction:column; padding:clamp(46px,6vw,86px); color:white; background:radial-gradient(circle at 80% 12%,rgba(239,109,87,.28),transparent 27%),#17272f; }.join-open { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid rgba(255,255,255,.15); border-radius:99px; font-size:10px; font-weight:800; letter-spacing:.08em; }.join-open i { width:7px; height:7px; border-radius:50%; background:#77d99a; box-shadow:0 0 0 5px rgba(119,217,154,.12); }.join-intro h1 { margin:34px 0 22px; font-size:clamp(43px,5vw,72px); line-height:1.02; letter-spacing:-.065em; }.join-intro > p { max-width:520px; color:#b8c4c9; line-height:1.85; }.join-process { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:38px; }.join-process div { padding:15px; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:rgba(255,255,255,.035); }.join-process strong,.join-process span { display:block; }.join-process strong { color:#ef8a75; font-size:10px; }.join-process span { margin-top:6px; font-size:12px; }.join-reply { margin-top:auto; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }.join-reply strong,.join-reply span { display:block; }.join-reply span { margin-top:6px; color:#aebbc1; font-size:11px; }
.join-form-shell { min-width:0; scroll-margin-top:8px; padding:clamp(34px,5vw,72px); background:#fffdfa; }.join-progress { max-width:850px; margin:0 auto 48px; }.join-progress-bar { height:3px; overflow:hidden; border-radius:99px; background:#e8dfd7; }.join-progress-bar i { display:block; width:25%; height:100%; background:#ef6d57; transition:width .3s ease; }.join-step-labels { display:grid; grid-template-columns:repeat(4,1fr); margin-top:13px; }.join-step-dot { display:flex; align-items:center; gap:7px; border:0; color:#92999d; background:transparent; font-size:10px; }.join-step-dot span { width:23px; height:23px; display:grid; place-items:center; border:1px solid #d8d0c9; border-radius:50%; background:white; }.join-step-dot.active { color:#17232d; font-weight:800; }.join-step-dot.active span,.join-step-dot.done span { border-color:#ef6d57; color:white; background:#ef6d57; }.join-step-dot:disabled { cursor:wait; opacity:.7; }
#joinApplicationForm { max-width:850px; margin:auto; }.join-step { display:none; }.join-step.active { display:block; animation:join-in .25s ease; }@keyframes join-in { from { opacity:0; transform:translateY(8px); } }.join-form-heading span { color:#ef6d57; font-size:9px; font-weight:850; letter-spacing:.17em; }.join-form-heading h2 { margin:11px 0 8px; font-size:34px; letter-spacing:-.04em; }.join-form-heading p { margin:0 0 31px; color:#7a858c; line-height:1.7; }.join-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.join-fields .wide { grid-column:1 / -1; }.join-fields.spaced { margin-top:25px; }.join-fields .field input+input { margin-top:8px; }.join-fields textarea { resize:vertical; }
.join-choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }.join-choice input { position:absolute; opacity:0; }.join-choice span { display:block; padding:16px; border:1px solid #e1d9d2; border-radius:13px; background:white; cursor:pointer; transition:.18s; }.join-choice input:checked+span { border-color:#ef6d57; color:#c74e39; background:#fff2ed; box-shadow:0 0 0 2px rgba(239,109,87,.09); }
.join-departments { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.join-departments input { position:absolute; opacity:0; }.join-departments label>div { min-height:155px; padding:19px; border:1px solid #e1d9d2; border-radius:15px; background:white; cursor:pointer; }.join-departments label>div>span { color:#ef6d57; font-size:9px; font-weight:800; }.join-departments strong { display:block; margin-top:13px; font-size:16px; }.join-departments p { margin:8px 0 0; color:#7d878d; font-size:11px; line-height:1.65; }.join-departments input:checked+div { border-color:#ef6d57; background:#fff3ee; box-shadow:0 0 0 2px rgba(239,109,87,.1); }
.join-preview-note { display:flex; align-items:center; gap:20px; padding:24px; border:1px solid #eadfd6; border-radius:17px; background:#fff7f1; }.join-preview-note img { width:78px; height:78px; object-fit:contain; }.join-preview-note strong { font-size:20px; }.join-preview-note p { margin:7px 0 0; color:#786e69; line-height:1.65; }.join-consent { display:flex; align-items:flex-start; gap:11px; margin-top:24px; padding:16px; border:1px solid #e3dbd4; border-radius:13px; line-height:1.6; cursor:pointer; }.join-consent input { margin-top:4px; }.join-demo-warning { margin-top:14px; padding:13px; border-radius:11px; color:#93631f; background:#fff4d9; font-size:11px; }.join-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:38px; padding-top:20px; border-top:1px solid #e6ded7; }.join-actions>span { color:#91999e; font-size:11px; white-space:nowrap; }.join-prev { min-height:46px; border:1px solid #ddd4cc; border-radius:99px; padding:0 20px; color:#52616a; background:white; }.join-prev:disabled { opacity:.35; }.join-actions .official-primary { min-width:150px; }.join-actions .official-primary:disabled { border-color:#d9624f; color:#fff; background:#d9624f; opacity:.72; cursor:wait; }
.join-optional-notice { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; margin:0 0 24px; padding:20px; border:1px solid #f0b8aa; border-radius:18px; color:#6f3d34; background:linear-gradient(135deg,#fff0eb,#fff8f4); box-shadow:0 12px 30px rgba(201,83,61,.08); }.join-optional-symbol { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; color:#fff; background:#ef6d57; font-size:20px; font-weight:900; }.join-optional-notice strong,.join-optional-notice p { display:block; }.join-optional-notice strong { color:#a33e2f; font-size:15px; }.join-optional-notice p { margin:6px 0 0; color:#755f58; font-size:12px; line-height:1.75; }.join-skip-optional { min-height:44px; border:1px solid #d95f4b; border-radius:999px; padding:0 17px; color:#ba4937; background:#fff; font-weight:800; white-space:nowrap; cursor:pointer; }.join-skip-optional:hover { color:#fff; background:#d95f4b; }.join-skip-optional:disabled { opacity:.55; cursor:wait; }
.join-submit-feedback { display:flex; align-items:center; gap:11px; margin-top:24px; padding:14px 16px; border:1px solid #cbdde2; border-radius:14px; color:#315a68; background:#eef6f8; font-size:12px; line-height:1.6; }.join-submit-feedback::before { content:""; width:16px; height:16px; flex:0 0 auto; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:join-spin .75s linear infinite; }.join-submit-feedback.slow { border-color:#efd39a; color:#805b19; background:#fff8e7; }.join-submit-feedback.error { border-color:#efb6aa; color:#a43e2d; background:#fff0ed; }.join-submit-feedback.error::before { content:"!"; display:grid; place-items:center; border:0; color:#fff; background:#c94f3b; font-weight:900; animation:none; }.join-submit-feedback[hidden] { display:none; }@keyframes join-spin { to { transform:rotate(360deg); } }
.join-management-card { padding:25px; border-radius:18px; color:white; background:linear-gradient(135deg,#1b2d36,#29414c); box-shadow:0 18px 40px rgba(24,39,47,.14); }.join-management-card>span { color:#ef8b77; font-size:9px; font-weight:850; letter-spacing:.17em; }.join-management-card h3 { margin:11px 0 8px; font-size:24px; }.join-management-card>p { margin:0; color:#bdc8cd; line-height:1.75; }.join-management-options { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:21px; }.join-management-options input { position:absolute; opacity:0; }.join-management-options span { min-height:58px; display:grid; place-items:center; padding:10px; border:1px solid rgba(255,255,255,.14); border-radius:11px; color:#d5dde0; background:rgba(255,255,255,.04); font-size:10px; text-align:center; cursor:pointer; }.join-management-options input:checked+span { border-color:#ef8b77; color:white; background:rgba(239,139,119,.2); }.join-interest-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:30px 0 15px; }.join-interest-heading h3,.join-interest-heading p { margin:0; }.join-interest-heading p { color:#818b91; font-size:11px; }
.settings-layout { display:grid; grid-template-columns:1.35fr .85fr; gap:18px; padding-bottom:92px; }
.settings-card { align-self:start; }.settings-card .card-head > div p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.settings-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.settings-form-grid .wide { grid-column:1 / -1; }.settings-form-grid textarea { min-height:126px; resize:vertical; }.settings-form-grid small { display:block; margin-top:6px; color:var(--muted); }
.portal-toggle-list { display:grid; gap:12px; }.portal-toggle { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px; border:1px solid var(--line); border-radius:14px; cursor:pointer; }.portal-toggle strong,.portal-toggle span { display:block; }.portal-toggle span { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.5; }
.portal-toggle input { position:absolute; opacity:0; pointer-events:none; }.portal-toggle i { position:relative; width:44px; height:24px; flex:0 0 auto; border-radius:99px; background:#d9dde0; transition:.2s; }.portal-toggle i::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:white; box-shadow:0 2px 5px rgba(0,0,0,.18); transition:.2s; }.portal-toggle input:checked + i { background:var(--brand); }.portal-toggle input:checked + i::after { transform:translateX(20px); }
.settings-photo-card { grid-column:1 / -1; }.website-photo-upload { display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:116px; border:1.5px dashed #d8c8bd; border-radius:15px; color:var(--brand); background:#fffaf6; cursor:pointer; }.website-photo-upload span { margin-top:6px; color:var(--muted); font-size:11px; }.website-photo-upload:hover { border-color:var(--brand); background:#fff5ef; }
.website-photo-list { display:grid; gap:11px; margin-top:16px; }.website-photo-row { display:grid; grid-template-columns:94px minmax(180px,1fr) auto auto; align-items:center; gap:14px; padding:10px; border:1px solid var(--line); border-radius:14px; }.website-photo-row > img { width:94px; height:70px; border-radius:10px; object-fit:cover; background:#eee; }.website-photo-row > div small { display:block; margin-top:5px; color:var(--muted); }.website-photo-caption { width:100%; }.photo-visible { display:flex; align-items:center; gap:6px; font-size:11px; white-space:nowrap; }.empty-photo-state { padding:28px; border-radius:13px; color:var(--muted); background:var(--soft); text-align:center; }
.settings-status { grid-column:1 / -1; }.settings-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.settings-metrics div { padding:17px; border-radius:13px; background:var(--soft); }.settings-metrics strong,.settings-metrics span { display:block; }.settings-metrics strong { font-size:24px; }.settings-metrics span { margin-top:4px; color:var(--muted); font-size:11px; }
.migration-card { grid-column:1 / -1; }.migration-panel { display:grid; gap:12px; }.migration-step { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:14px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--soft); }.migration-step > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#fff0e9; color:var(--accent); font-weight:800; }.migration-step strong,.migration-step p { display:block; }.migration-step p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }.migration-step .button-link { cursor:pointer; white-space:nowrap; }.migration-status { padding:12px 14px; border-radius:12px; background:#fff9e9; color:#755800; font-size:12px; }.migration-status.error { background:#fff0ee; color:#b33127; }
.settings-savebar { position:fixed; z-index:10; right:28px; bottom:22px; left:278px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 14px 40px rgba(28,38,46,.14); backdrop-filter:blur(14px); }.settings-savebar strong,.settings-savebar span { display:block; }.settings-savebar span { margin-top:3px; color:var(--muted); font-size:11px; }
.activity-series-strip { display: grid; grid-template-columns: repeat(4, minmax(190px, 1fr)); gap: 12px; margin: 18px 0; overflow-x: auto; padding-bottom: 3px; }
.series-card { min-height: 118px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; color: var(--ink); background: white; text-align: left; transition: .18s ease; }
.series-card:hover, .series-card.active { border-color: var(--brand); box-shadow: 0 10px 28px rgba(26,32,44,.08); transform: translateY(-2px); }
.series-card i { display: block; width: 26px; height: 5px; margin-bottom: 13px; border-radius: 99px; }
.series-card strong, .series-card span, .series-card small { display: block; }
.series-card strong { font-size: 16px; }
.series-card span { margin-top: 5px; color: var(--brand); font-size: 11px; font-weight: 750; }
.series-card small { margin-top: 8px; color: var(--muted); line-height: 1.45; }
.activity-list-grid { display: grid; gap: 13px; }
.activity-record { position: relative; overflow: hidden; display: grid; grid-template-columns: 170px 1fr 125px; min-height: 180px; }
.activity-record-accent { position: absolute; left: 0; top: 0; bottom: 0; width: 6px; }
.activity-record-visual { min-height: 180px; display: grid; place-items: center; overflow: hidden; color: var(--muted); font-size: 13px; font-weight: 800; }
.activity-record-visual img { width: 100%; height: 100%; min-height: 180px; object-fit: cover; }
.poster-empty-note,.poster-missing-note { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:20px; color:#72808b; text-align:center; line-height:1.45; }.poster-empty-note strong { color:#4c5a64; font-size:14px; }.poster-empty-note small,.poster-missing-note small { color:#97a1a8; font-size:10px; font-weight:600; }.poster-missing-note { width:100%; min-height:150px; color:#b56550; background:repeating-linear-gradient(-45deg,#fff8f5,#fff8f5 8px,#fff3ed 8px,#fff3ed 16px); }
.activity-record-main { padding: 22px 25px 20px 28px; }
.activity-record-meta { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 12px; }
.activity-record h3 { margin: 12px 0 7px; font-size: 21px; }
.activity-record p { margin: 0; color: var(--muted); line-height: 1.6; }
.activity-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 17px; color: #556273; font-size: 12px; }
.activity-record-side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 18px; border-left: 1px solid var(--line); background: #fafbfc; }
.activity-record-side strong { font-size: 28px; }
.activity-record-side span { margin-bottom: 13px; color: var(--muted); font-size: 11px; }
.activity-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 18px; align-items: start; }
.activity-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.activity-form-grid .wide { grid-column: 1 / -1; }
.series-link-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; margin-top: 4px; padding: 0 14px 14px; border: 1px solid #f0d6cd; border-radius: 13px; background: #fff9f6; }
.series-link-fields .field { margin-top: 14px; }
.venue-cascade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 14px; padding: 0 14px 14px; border: 1px solid #dbe4f1; border-radius: 13px; background: #f7faff; }
.venue-cascade .field { margin-top: 14px; }
.activity-subvenue-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.activity-subvenue-choice { position:relative; cursor:pointer; }.activity-subvenue-choice input { position:absolute; opacity:0; pointer-events:none; }.activity-subvenue-choice span { min-height:62px; display:flex; justify-content:center; flex-direction:column; padding:11px 14px; border:1px solid #d8e0ec; border-radius:11px; background:white; transition:.18s ease; }.activity-subvenue-choice strong,.activity-subvenue-choice small { display:block; }.activity-subvenue-choice small { margin-top:4px; color:var(--muted); line-height:1.4; }.activity-subvenue-choice input:checked+span { border-color:var(--brand); color:var(--brand); background:#fff3ee; box-shadow:0 0 0 2px rgba(232,93,63,.1); }.activity-subvenue-hint { margin:9px 0 0; }
.activity-side-stack { position: sticky; top: 92px; display: grid; gap: 16px; }
.activity-files-panel, .activity-posters-panel { overflow: hidden; }
.file-drop { display: grid; place-items: center; min-height: 120px; padding: 18px; border: 2px dashed #d8dde3; border-radius: 14px; color: var(--brand); background: #fff8f5; text-align: center; cursor: pointer; }
.file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-drop span { margin-top: 5px; color: var(--muted); font-size: 11px; }
.activity-file-list { display: grid; gap: 9px; margin-top: 14px; }
.activity-poster-section { margin-bottom: 16px; }
.poster-upload-button { display: grid; place-items: center; min-height: 82px; margin-bottom: 12px; border: 2px dashed #efb8aa; border-radius: 13px; color: var(--brand); background: #fff8f5; font-size: 13px; font-weight: 800; text-align: center; cursor: pointer; }
.poster-upload-button input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.poster-upload-button span { margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 500; }
.poster-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
#pendingPosterItems { display: contents; }
.poster-item { position: relative; overflow: hidden; min-height: 140px; border: 1px solid var(--line); border-radius: 11px; background: #eef1f4; }
.poster-item img { width: 100%; height: 120px; display: block; object-fit: cover; }
.poster-item span { display: block; overflow: hidden; padding: 7px 8px; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.poster-item.pending { border-color: #edc5b9; }
.poster-remove { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border: 0; border-radius: 50%; color: white; background: rgba(20,25,30,.72); font-size: 16px; }
.activity-files-divider { height: 1px; margin: 16px 0; background: var(--line); }
.activity-file-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: #fafbfc; }
.activity-file-row.pending { border-color: #edc5b9; background: #fff8f5; }
.activity-file-row strong, .activity-file-row span { display: block; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-file-row strong { font-size: 12px; }
.activity-file-row span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.file-action { border: 0; padding: 6px 8px; border-radius: 7px; color: var(--blue); background: #eef4ff; font-size: 10px; }
.file-action.danger { color: #a03f2d; background: #fff0ec; }
.building-edit-row .row-note { grid-column: 1 / -1; }
.building-edit-row .remove-building-row { position: absolute; top: 12px; right: 9px; }
.subvenue-list { display: grid; gap: 7px; margin: 10px 0 12px; }
.subvenue-list > div { padding: 9px 10px; border-left: 3px solid var(--brand); border-radius: 7px; background: white; }
.subvenue-list strong, .subvenue-list span { display: block; }
.subvenue-list strong { font-size: 12px; }
.subvenue-list span { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.subvenue-definition { width: 100%; border: 1px solid #d9dde3; border-radius: 9px; padding: 10px; background: white; line-height: 1.6; resize: vertical; }
.venue-capacity-field input { height: 100%; }
.subvenue-control { padding: 12px; border: 1px solid #e1e4e8; border-radius: 11px; background: white; }
.subvenue-control-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.subvenue-control-head .secondary { padding: 7px 10px; border-radius: 8px; font-size: 11px; }
.subvenue-edit-list { display: grid; gap: 8px; }
.subvenue-edit-row { position: relative; display: grid; grid-template-columns: .75fr .35fr 1fr auto; gap: 8px; padding: 10px 36px 10px 10px; border: 1px solid #edf0f2; border-radius: 10px; background: #fafbfc; }
.subvenue-edit-row input { width: 100%; min-width: 0; border: 1px solid #d9dde3; border-radius: 8px; padding: 9px 10px; }
.subvenue-edit-row .remove-subvenue-row { position: absolute; top: 4px; right: 0; }
.subvenue-list em { margin-left: 5px; color: var(--brand); font-size: 10px; font-style: normal; }
.compact-file-button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 7px 10px; border: 1px solid #d7dbe0; border-radius: 8px; color: var(--blue); background: white; font-size: 11px; font-weight: 700; cursor: pointer; }
.compact-file-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.floorplan-file-name { align-self: center; grid-column: 1 / -1; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.floorplan-upload-control { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e1e4e8; border-radius: 10px; background: white; }
.floorplan-upload-control > div { min-width: 0; margin-right: auto; }
.floorplan-upload-control strong, .floorplan-upload-control span { display: block; }
.floorplan-upload-control span { margin-top: 3px; }
.floorplan-preview-button { border: 1px solid #cbdaf0; border-radius: 8px; padding: 7px 9px; color: var(--blue); background: #f2f7ff; font-size: 10px; font-weight: 700; }
.subvenue-list .floorplan-preview-button { margin-top: 7px; }
.floorplan-modal { width: min(1100px, 96vw); max-height: 94vh; }
.floorplan-preview-stage { height: min(72vh, 780px); display: grid; place-items: center; padding: 16px; overflow: auto; background: #20262c; }
.floorplan-preview-stage img { max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 12px 36px rgba(0,0,0,.28); }
.floorplan-preview-stage iframe { width: 100%; height: 100%; border: 0; background: white; }
.floorplan-preview-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 18px; }
.floorplan-preview-actions a { text-decoration: none; }
.application-list { margin-top: 18px; }
.application-row { display: grid; grid-template-columns: 1.2fr .9fr .8fr .8fr; gap: 12px; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--line); font-size: 13px; }
.application-row:last-child { border-bottom: 0; }
.application-row strong { display: block; font-size: 14px; }
.application-row small { color: var(--muted); }

@media (max-width: 900px) {
  .login-shell { grid-template-columns: 1fr; }
  .login-art { min-height: 360px; }
  .shell { grid-template-columns: 76px 1fr; }
  .sidebar { padding-inline: 12px; }
  .sidebar-brand div, .nav-item span:last-child, .nav-label, .sidebar-user div, .logout { display: none; }
  .sidebar-brand { justify-content: center; padding-inline: 0; }
  .brand-logo.mono { width: 44px; height: 44px; }
  .nav-item { justify-content: center; }
  .stats { grid-template-columns: 1fr 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .official-hero { grid-template-columns: 1fr; padding-top:55px; }
  .official-hero-art { min-height:440px; }
  .official-hero-film { min-height:500px; }
  .official-about-grid { grid-template-columns:1fr; }
  .official-department-grid,.official-activity-grid { grid-template-columns:1fr 1fr; }
  .official-gallery-grid { grid-template-columns:1fr 1fr; }
  .official-gallery-item.gallery-1 { grid-column:1 / -1; grid-row:auto; }
  .official-department-grid article:last-child,.official-activity-grid article:last-child { grid-column:1 / -1; }
  .official-footer { grid-template-columns:1fr 1fr; }
  .official-footer nav { grid-column:1 / -1; }
}
@media (max-width: 620px) {
  .topbar { padding-inline: 18px; }
  .content { padding: 22px 16px 50px; }
  .stats { grid-template-columns: 1fr; }
  .toolbar { grid-template-columns: 1fr; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .modal-body { grid-template-columns: 1fr; }
  .modal-body .wide { grid-column: auto; }
  .term-editor { grid-column: auto; }
  .term-row { grid-template-columns: 1fr; }
  .term-row .term-wide { grid-column: auto; }
  .vote-grid { grid-template-columns: 1fr; }
  .option-editor-row { grid-template-columns: 1fr; }
  .venue-layout { grid-template-columns: 1fr; }
  .venue-panel { position: static; }
  .application-row { grid-template-columns: 1fr 1fr; }
  .building-edit-row, .building-edit-row.activity-edit-row, .building-edit-row.venue-structure-row { grid-template-columns: 1fr; }
  .building-edit-row .row-note { grid-column: auto; }
  .subvenue-edit-row { grid-template-columns: 1fr; }
  .regulation-grid { grid-template-columns: 1fr; }
  .document-security { grid-template-columns: 1fr; }
  .editor-page-head { grid-template-columns: 1fr; }
  .editor-meta-grid, .editor-meta-grid.document-fields { grid-template-columns: 1fr; }
  .editor-meta-grid .wide { grid-column: auto; }
  .activity-series-strip { grid-template-columns: repeat(4, 210px); }
  .activity-editor-layout { grid-template-columns: 1fr; }
  .activity-side-stack { position: static; }
  .activity-record { grid-template-columns: 1fr; }
  .activity-record-visual { max-height: 230px; }
  .activity-record-side { flex-direction: row; border-left: 0; border-top: 1px solid var(--line); }
  .activity-record-side span { margin: 0 auto 0 0; }
  .activity-form-grid { grid-template-columns: 1fr; }
  .activity-form-grid .wide { grid-column: auto; }
  .series-link-fields { grid-template-columns: 1fr; }
  .venue-cascade { grid-template-columns: 1fr; }
  .activity-subvenue-options { grid-template-columns:1fr; }
  .portal-header { height: auto; align-items: flex-start; flex-direction: column; padding-block: 16px; }
  .portal-header nav { width: 100%; overflow-x: auto; }
  .portal-module-grid { grid-template-columns: 1fr; }
  .portal-switcher button { display: none; }
  .official-header { height:70px; padding:0 17px; }
  .official-brand img { width:42px; height:42px; }
  .official-menu-button { display:block; }
  .official-header nav { position:absolute; top:70px; left:12px; right:12px; display:none; align-items:stretch; flex-direction:column; padding:12px; border:1px solid #e6ddd4; border-radius:14px; background:#fffdf9; box-shadow:0 18px 40px rgba(37,29,24,.14); }
  .official-header nav.open { display:flex; }
  .official-header nav button,.official-header nav a { width:100%; margin:0; text-align:left; }
  .official-hero { min-height:auto; padding:55px 20px 45px; }
  .official-hero h1 { font-size:49px; }
  .official-hero-copy > p { font-size:14px; }
  .official-hero-actions { align-items:stretch; flex-direction:column; }
  .official-primary,.official-ghost { width:100%; }
  .official-hero-art { min-height:360px; }
  .official-hero-film { min-height:0; border-radius:22px; transform:none; }
  .film-frame { width:76vw; max-width:310px; height:390px; }
  .official-logo-stage { width:78%; }
  .official-logo-stage span { bottom:18px; }
  .official-section { padding:70px 20px; scroll-margin-top:70px; }
  .official-about h2,.official-section-heading h2,.official-join h2 { font-size:38px; }
  .official-stats { grid-template-columns:1fr; }
  .official-section-heading { align-items:flex-start; flex-direction:column; }
  .official-department-grid,.official-activity-grid { grid-template-columns:1fr; }
  .official-gallery-grid { grid-template-columns:1fr; grid-auto-rows:310px; }
  .official-gallery-item.gallery-1 { grid-column:auto; }
  .official-department-grid article:last-child,.official-activity-grid article:last-child { grid-column:auto; }
  .department-feature { min-height:300px; }
  .official-activity-image { height:340px; }
  .official-footer { grid-template-columns:1fr; padding:32px 20px; }
  .official-footer nav { grid-column:auto; flex-wrap:wrap; }
}
@media (max-width:900px) { .settings-layout { grid-template-columns:1fr; }.settings-status { grid-column:auto; }.settings-savebar { left:22px; } }
@media (max-width:900px) { .join-layout { grid-template-columns:1fr; }.join-intro { position:relative; height:auto; min-height:0; overflow:visible; padding:38px clamp(22px,6vw,56px); }.join-intro h1 { margin:24px 0 15px; font-size:clamp(40px,8vw,58px); }.join-intro>p { margin:0; }.join-process { grid-template-columns:repeat(4,1fr); margin-top:26px; }.join-process div { padding:12px; }.join-reply { display:none; }.join-form-shell { padding:38px clamp(20px,6vw,54px) 28px; } }
@media (max-width:640px) { .settings-form-grid,.settings-metrics { grid-template-columns:1fr; }.settings-form-grid .wide { grid-column:auto; }.settings-savebar { right:12px; bottom:12px; left:12px; align-items:stretch; flex-direction:column; } }
@media (max-width:640px) { .migration-step { grid-template-columns:34px minmax(0,1fr); }.migration-step > button,.migration-step > label { grid-column:1 / -1; width:100%; text-align:center; } }
@media (max-width:640px) { .join-header { height:68px; padding:0 16px; }.join-header .official-brand span { display:none; }.join-header .official-brand img { width:40px; height:40px; }.join-back { min-height:44px; display:flex; align-items:center; }.join-intro { min-height:0; padding:30px 20px 32px; }.join-intro h1 { margin:24px 0 15px; font-size:39px; }.join-intro>p { margin:0; font-size:13px; line-height:1.7; }.join-process,.join-reply { display:none; }.join-form-shell { padding:26px 16px 20px; }.join-progress { margin-bottom:34px; }.join-step-labels button { min-height:44px; justify-content:center; padding:7px 2px; font-size:0; }.join-step-labels button span { width:28px; height:28px; font-size:10px; }.join-fields,.join-choice-grid,.join-departments { grid-template-columns:1fr; }.join-fields { gap:15px; }.join-fields .wide { grid-column:auto; }.join-fields input,.join-fields select,.join-fields textarea { min-height:48px; font-size:16px; }.join-fields textarea { min-height:120px; }.join-form-heading h2 { font-size:29px; }.join-choice span { min-height:52px; display:flex; align-items:center; }.join-actions { position:sticky; z-index:8; bottom:0; margin:30px -8px 0; padding:12px 8px max(12px,env(safe-area-inset-bottom)); flex-wrap:nowrap; background:rgba(255,253,250,.96); box-shadow:0 -12px 28px rgba(33,39,43,.08); backdrop-filter:blur(12px); }.join-actions button { min-height:48px; }.join-actions .join-prev { flex:0 0 auto; padding-inline:14px; }.join-actions .official-primary { min-width:0; width:auto; flex:1; }.join-preview-note { align-items:flex-start; padding:18px; }.join-preview-note img { width:58px; height:58px; }.join-optional-notice { grid-template-columns:auto minmax(0,1fr); gap:14px; padding:17px; }.join-optional-symbol { width:36px; height:36px; }.join-skip-optional { grid-column:1 / -1; width:100%; }.join-submit-feedback { margin-top:18px; } }
@media (max-width:640px) { .join-management-options { grid-template-columns:1fr; }.join-interest-heading { align-items:flex-start; flex-direction:column; } }
@media (max-width:640px) { .website-photo-row { grid-template-columns:76px 1fr; }.website-photo-row > img { width:76px; height:64px; }.website-photo-row .photo-visible,.website-photo-row .danger { grid-column:auto; } }
.join-email-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }.join-email-row button { min-width:124px; border:1px solid #ef6d57; border-radius:11px; padding:0 16px; color:#c7503d; background:#fff5f1; font-weight:750; cursor:pointer; }.join-email-row button:disabled { cursor:not-allowed; opacity:.58; }.join-email-status { display:block; min-height:18px; margin-top:8px; color:#7a858c; }.join-email-status.error { color:#c34435; }.join-code-field { display:none; padding:16px; border:1px solid #eadfd6; border-radius:14px; background:#fff8f4; }.join-code-field.visible { display:block; }.join-code-field.verified { border-color:#83c99a; background:#f1fbf4; }.join-code-field.verified input { color:#34784b; }
.join-composite-row,.join-contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.join-contact-row{grid-template-columns:minmax(150px,.42fr) minmax(0,1fr)}.join-composite-row select,.join-contact-row select,.join-contact-row input{width:100%;min-width:0}.join-optional-heading>div{display:flex;align-items:center;gap:12px}.join-optional-heading>div h2{margin-right:0}.join-optional-heading>div b{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border:1px solid #efb8aa;border-radius:999px;color:#c7503d;background:#fff5f1;font-size:10px;white-space:nowrap}
@media (max-width:640px) { .join-email-row,.join-composite-row,.join-contact-row { grid-template-columns:1fr; }.join-email-row button { min-height:48px; width:100%; }.join-optional-heading>div{align-items:flex-start;flex-direction:column;gap:0}.join-optional-heading>div b{margin:0 0 10px} }
@media (prefers-reduced-motion:reduce) { .join-step.active { animation:none; }.join-progress-bar i { transition:none; }.join-submit-feedback::before { animation-duration:1.5s; } }
@media (max-width:980px) { .organization-overview { grid-template-columns:1fr; }.department-directory { grid-template-columns:1fr; }.department-modal-body { grid-template-columns:1fr; }.department-member-options { max-height:300px; } }
@media (max-width:640px) { .organization-head { align-items:stretch; }.organization-head .primary { width:100%; }.organization-metrics { grid-template-columns:1fr 1fr; }.organization-metrics article { min-height:105px; border-bottom:1px solid var(--line); }.organization-metrics article:last-child { grid-column:1/-1; }.department-card { min-height:0; }.department-member-list { grid-template-columns:1fr; }.department-card > footer { align-items:flex-start; flex-direction:column; }.department-modal { width:calc(100% - 16px); max-height:calc(100vh - 16px); }.department-modal-tabs { align-items:stretch; flex-direction:column; gap:14px; padding-inline:18px; }.department-modal-tabs select { min-width:0;width:100%; }.department-modal-body { padding:8px 18px 18px; }.department-form-main { grid-template-columns:1fr; }.department-form-main .wide { grid-column:auto; } }
/* Registration, ticketing and protected account maintenance */
.registration-admin-list{display:grid;gap:14px}.registration-admin-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px}.registration-admin-card h3{margin:10px 0 6px}.registration-admin-card p{margin:0 0 7px;color:var(--muted)}.registration-admin-card>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.security-notice{padding:14px 16px;border:1px solid #efd5a8;background:#fff8e9;color:#8a5b13;border-radius:14px;margin-bottom:18px;line-height:1.6}.social-account-grid,.public-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.social-account-card{padding:22px}.social-account-card h3{margin:18px 0 4px}.social-account-card p{font-family:ui-monospace,Consolas,monospace;color:var(--muted)}.social-account-card button{margin-top:18px}.social-platform{display:inline-flex;padding:7px 11px;border-radius:999px;background:#17272f;color:#fff;font-size:12px;font-weight:800}.modal-wide{max-width:920px}.payment-editor-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px;margin:10px 0}.payment-editor-row input{min-width:0}.file-button{position:relative;overflow:hidden;display:flex;align-items:center}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.checkin-card{max-width:760px;padding:28px}.checkin-success{margin-top:20px;padding:20px;border-radius:16px;background:#eaf8ef;color:#197043}.account-nav{height:80px;padding:0 clamp(20px,6vw,90px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e9ea;background:#fff;position:sticky;top:0;z-index:20}.account-brand{display:flex;align-items:center;gap:12px;color:#17232d;text-decoration:none}.account-brand img{width:48px;height:48px;object-fit:contain}.account-nav nav{display:flex;gap:24px}.account-nav nav a{color:#38464e;text-decoration:none;font-weight:700}.event-public-page{max-width:1240px;margin:auto;padding:64px clamp(20px,5vw,70px) 100px}.event-public-page.narrow{max-width:960px}.event-public-hero{padding:30px 0 48px}.event-public-hero h1{font-size:clamp(44px,7vw,84px);margin:12px 0}.event-public-page section>h2{margin:38px 0 18px}.public-event-card{border:1px solid #e1e5e6;border-radius:22px;padding:24px;background:#fff;box-shadow:0 14px 40px rgba(22,35,45,.06)}.public-event-card h3{font-size:22px;margin:24px 0 8px}.public-event-card p{color:#53626a;min-height:42px}.public-event-card .primary{width:100%;margin-top:20px}.event-spots{float:right;font-size:13px;color:#6a777e}.registration-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.registration-detail-head{padding:36px 16px}.registration-detail-head h1{font-size:48px;line-height:1.08}.public-registration-form{padding:28px}.event-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.event-facts span{padding:14px;border-left:3px solid #ef6d57;color:#6a777e;font-size:12px}.event-facts strong{display:inline-block;margin-top:6px;color:#17232d;font-size:14px}.inline-control{display:flex;gap:8px}.inline-control input{flex:1}.payment-methods-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:10px 0 20px}.payment-methods-preview>div{border:1px solid #e1e5e6;border-radius:14px;padding:14px}.payment-methods-preview img{display:block;width:100%;aspect-ratio:1;object-fit:contain;margin:10px 0}.digital-ticket{background:#fff;border-radius:30px;border-top:10px solid #ef6d57;padding:46px;box-shadow:0 28px 80px rgba(22,35,45,.12);position:relative}.ticket-status{position:absolute;right:38px;top:38px;padding:8px 13px;border-radius:999px;background:#eaf8ef;color:#197043;font-weight:800}.digital-ticket h1{font-size:44px;margin:25px 0 8px}.ticket-holder{font-size:24px;color:#68767d}.hidden{display:none!important}
.registration-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.registration-editor-main,.registration-editor-side .card,.registration-payment-section{padding:26px}.registration-editor-side{position:sticky;top:86px}.registration-payment-section{grid-column:1/-1}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.section-title>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#17272f;color:#fff;font-weight:800}.section-title h3{margin:0 0 5px}.section-title p{margin:0;color:var(--muted)}.section-title.compact{margin-bottom:18px}.payment-toggle{margin-bottom:18px}.ticket-type-row{display:grid;grid-template-columns:1.1fr .8fr .8fr .7fr 1.5fr;gap:10px;padding:14px;margin-bottom:10px;border:1px solid #e1e5e6;border-radius:16px;background:#fafbfb}.payment-editor-row{grid-template-columns:1.1fr .75fr .7fr 1.3fr auto}.ticket-type-preview{display:grid;gap:10px;margin-top:24px}.ticket-type-preview article{padding:16px;border:1px solid #e1e5e6;border-radius:14px;background:#fff}.ticket-type-preview article>div{display:flex;justify-content:space-between;gap:16px}.ticket-type-preview article span{font-weight:800;color:#e35c42}.ticket-type-preview p{margin:7px 0;color:#65737a;font-size:13px}.editor-save-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-radius:18px;background:#17272f;color:#fff}.editor-save-footer span{display:block;margin-top:4px;color:#b9c4c8;font-size:13px}.editor-save-footer>div:last-child{display:flex;gap:10px}
@media(max-width:1100px){.ticket-type-row{grid-template-columns:1fr 1fr}.ticket-type-row input:last-child{grid-column:1/-1}.payment-editor-row{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.registration-editor-layout{grid-template-columns:1fr}.registration-editor-side{position:static}.registration-payment-section,.editor-save-footer{grid-column:1}.editor-save-footer{align-items:flex-start;flex-direction:column;width:100%}}
@media(max-width:760px){.registration-admin-card{align-items:flex-start;flex-direction:column}.registration-detail{grid-template-columns:1fr}.registration-detail-head{padding:20px 4px}.registration-detail-head h1{font-size:38px}.event-facts{grid-template-columns:1fr}.account-nav{height:auto;padding:14px 18px;align-items:flex-start}.account-nav nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.account-brand strong{display:none}.payment-editor-row,.ticket-type-row{grid-template-columns:1fr}.ticket-type-row input:last-child{grid-column:1}.payment-methods-preview{grid-template-columns:1fr}.digital-ticket{padding:28px 22px}.digital-ticket h1{font-size:34px}.ticket-status{position:static;display:inline-block;margin-top:16px}.social-account-grid,.public-event-grid{grid-template-columns:1fr}.editor-save-footer>div:last-child{width:100%}.editor-save-footer button{flex:1}}
.registration-payable{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;margin:12px 0;border-radius:15px;background:#17272f;color:#fff}.registration-payable span{color:#bfc9cd}.registration-payable strong{font-size:24px;color:#ff947f}.payment-method-preview.hidden{display:none}
.payment-channel-card{display:grid;grid-template-columns:72px minmax(0,1fr) 180px;gap:18px;align-items:center;padding:18px;margin-bottom:14px;border:1px solid #dde3e5;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f8faf9 100%)}.payment-channel-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#17272f;color:#fff;font-weight:900;font-size:16px}.payment-channel-fields{display:grid;grid-template-columns:1fr 170px;gap:12px}.payment-channel-fields .field{margin:0}.payment-channel-fields .wide{grid-column:1/-1}.payment-channel-upload{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:center}.payment-channel-upload img{width:110px;height:110px;object-fit:contain;margin:auto;border:1px solid #e0e5e6;border-radius:12px;background:#fff}.payment-channel-upload small{color:#738087;line-height:1.4}
@media(max-width:900px){.payment-channel-card{grid-template-columns:64px 1fr}.payment-channel-upload{grid-column:1/-1;align-items:flex-start;text-align:left}.payment-channel-upload img{margin:0}.payment-channel-fields{grid-template-columns:1fr}}
@media(max-width:600px){.payment-channel-card{grid-template-columns:1fr}.payment-channel-icon{width:52px;height:52px}.payment-channel-fields{grid-template-columns:1fr}.payment-channel-fields .wide{grid-column:1}}
/* Refined registration editor: stable flow, no floating overlap */
.registration-editor-layout{grid-template-columns:minmax(0,1fr) 320px;gap:20px;max-width:1440px;margin:0 auto}.registration-editor-side{position:static;align-self:stretch}.registration-editor-side .card{height:100%}.registration-editor-layout input,.registration-editor-layout select,.registration-editor-layout textarea{min-width:0;width:100%;box-sizing:border-box}.registration-editor-main,.registration-editor-side .card,.registration-payment-section{border-radius:22px;box-shadow:0 8px 28px rgba(23,39,47,.035)}.registration-payment-section{overflow:hidden}.ticket-type-editor-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;padding:20px;margin-bottom:14px;border:1px solid #dfe5e7;border-radius:20px;background:#fff}.ticket-card-badge{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#ef6d57,#df5137);color:#fff;font-size:20px;font-weight:900;box-shadow:0 8px 18px rgba(239,109,87,.22)}.ticket-card-fields{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(150px,.8fr) minmax(160px,.85fr) minmax(120px,.6fr);gap:14px}.ticket-card-fields .field{margin:0}.ticket-name-field{grid-column:auto}.ticket-note-field{grid-column:1/-1}.money-input{display:flex;align-items:center;border:1px solid #d6dee1;border-radius:12px;background:#fff;overflow:hidden}.money-input:focus-within{border-color:#ef6d57;box-shadow:0 0 0 3px rgba(239,109,87,.1)}.money-input span{align-self:stretch;display:flex;align-items:center;padding:0 12px;background:#f2f5f5;color:#526168;font-size:12px;font-weight:800;border-right:1px solid #dfe5e7}.money-input input{border:0!important;border-radius:0!important;box-shadow:none!important}.payment-channel-card{box-shadow:0 5px 16px rgba(23,39,47,.035)}.payment-channel-upload .file-button{justify-content:center}.editor-save-footer{position:sticky;bottom:16px;z-index:5;box-shadow:0 16px 38px rgba(23,39,47,.2)}
@media(max-width:1200px){.registration-editor-layout{grid-template-columns:minmax(0,1fr) 290px}.ticket-card-fields{grid-template-columns:1fr 1fr}.ticket-note-field{grid-column:1/-1}}
@media(max-width:960px){.registration-editor-layout{grid-template-columns:1fr}.registration-editor-side .card{height:auto}.ticket-card-fields{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.ticket-type-editor-card{grid-template-columns:1fr}.ticket-card-badge{width:46px;height:46px}.ticket-card-fields{grid-template-columns:1fr}.ticket-note-field{grid-column:1}.registration-editor-main,.registration-editor-side .card,.registration-payment-section{padding:20px}.editor-save-footer{position:static}}
.row-remove{display:grid;place-items:center;width:30px;height:30px;margin:8px auto 0;border:0;border-radius:10px;background:#f3f5f5;color:#79868b;font-size:20px;cursor:pointer}.row-remove:hover{background:#fff0ed;color:#d94e35}
.registration-editor-layout .check-row:has(input[name="waitlistEnabled"]){display:none!important}
.registration-link-actions{display:flex;gap:8px;flex-wrap:wrap}.registration-public-url{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.registration-public-url span{font-size:12px;font-weight:800;color:var(--muted)}.registration-public-url code{max-width:min(520px,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;border-radius:9px;background:#f2f5f6;color:#263841;font-size:12px}
@media(max-width:760px){.registration-public-url{align-items:flex-start;flex-direction:column}.registration-public-url code{max-width:75vw}.registration-link-actions{width:100%}.registration-link-actions button{flex:1}}

/* Public registration journey */
.registration-page{max-width:1360px;padding-top:38px}.registration-back{margin-bottom:18px}.event-registration-overview{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:26px;padding:38px 42px;border-radius:30px;background:linear-gradient(135deg,#172a32 0%,#243e39 58%,#574c39 100%);color:#fff;box-shadow:0 28px 70px rgba(23,39,47,.18);overflow:hidden}.event-registration-overview h1{max-width:860px;margin:12px 0;font-size:clamp(38px,5vw,68px);line-height:1.06}.event-registration-overview>div:first-child>p{max-width:780px;margin:0;color:#d6dfdc;line-height:1.8}.registration-overview-status{align-self:start;display:flex;align-items:flex-end;flex-direction:column;gap:9px;padding:19px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}.registration-overview-status strong{font-size:22px}.registration-overview-status small{color:#cbd6d3}.event-registration-overview .event-facts{grid-column:1/-1;margin:10px 0 0;border-top:1px solid rgba(255,255,255,.13);padding-top:22px}.event-registration-overview .event-facts span{border-left-color:#ff8e79;color:#bfcac7}.event-registration-overview .event-facts strong{color:#fff}.registration-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;margin-top:26px}.public-registration-form{display:grid;gap:18px;padding:0;background:transparent;border:0;box-shadow:none}.registration-step-card{padding:30px 32px;border:1px solid #e1e6e5;border-radius:24px;background:#fff;box-shadow:0 12px 36px rgba(23,39,47,.055)}.registration-step-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.registration-step-heading>span{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:13px;background:#172a32;color:#fff;font-weight:900}.registration-step-heading h2{margin:0 0 4px;font-size:22px}.registration-step-heading p{margin:0;color:var(--muted)}.registration-step-card .field:last-child{margin-bottom:0}.ticket-choice-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:16px}.ticket-choice-notes article{padding:15px;border:1px solid #e2e6e6;border-radius:15px;background:#fafbfb}.ticket-choice-notes article strong,.ticket-choice-notes article span{display:block}.ticket-choice-notes article span{margin:5px 0;color:#e55b41;font-weight:800}.ticket-choice-notes article p{margin:0;color:#748087;font-size:12px;line-height:1.55}.verified-account-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #cfe5d8;border-radius:15px;background:#f1faf5}.verified-account-row span,.verified-account-row strong{display:block}.verified-account-row>div span{margin-bottom:3px;color:#668075;font-size:12px}.verified-pill{padding:6px 10px;border-radius:999px;background:#dff3e7;color:#177044;font-size:12px;font-weight:800}.verification-status{display:block;margin-top:8px;color:#6b777d}.verification-status.verified{color:#177044;font-weight:800}.registration-step-card .registration-payable{margin:16px 0}.payment-methods-preview{grid-template-columns:1fr}.payment-method-preview{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px 22px;align-items:start}.payment-method-preview>div{display:flex;justify-content:space-between;gap:12px}.payment-method-preview>div span{color:#e55b41;font-size:12px;font-weight:800}.payment-method-preview img{grid-column:2;grid-row:1/3;margin:0}.payment-method-preview p{margin:6px 0;line-height:1.65}.registration-upload{display:grid;place-items:center;min-height:150px;margin-top:18px;padding:24px;border:1.5px dashed #c9d2d3;border-radius:18px;background:#fafcfc;text-align:center;cursor:pointer;transition:.2s ease}.registration-upload:hover,.registration-upload.has-file{border-color:#ef6d57;background:#fff7f5}.registration-upload input{position:absolute;width:1px;height:1px;opacity:0}.registration-upload .upload-mark{display:grid;place-items:center;width:38px;height:38px;margin-bottom:8px;border-radius:50%;background:#fff0ec;color:#e75c42;font-size:23px}.registration-upload strong,.registration-upload small{display:block}.registration-upload small{margin-top:5px;color:#78858a}.registration-free-note{display:flex;align-items:center;gap:16px;padding:20px 24px;border:1px solid #cee6d7;border-radius:20px;background:#eff9f3}.registration-free-note>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#1f8b57;color:#fff;font-size:20px}.registration-free-note strong,.registration-free-note p{display:block;margin:0}.registration-free-note p{margin-top:4px;color:#527164}.registration-consent{display:flex;align-items:flex-start;gap:10px;padding:4px 8px;color:#5d696e;font-size:13px;line-height:1.65}.registration-consent input{margin-top:4px}.registration-feedback{display:none;grid-template-columns:auto 1fr;gap:4px 12px;padding:15px 18px;border-radius:15px}.registration-feedback:not(:empty){display:grid}.registration-feedback strong{grid-row:1/3}.registration-feedback.loading{background:#eef5f7;color:#315a68}.registration-feedback.success{background:#eaf8f0;color:#197047}.registration-feedback.error{background:#fff0ed;color:#a83b29}.registration-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:68px;padding:14px 22px;text-align:left}.registration-submit span{font-size:17px;font-weight:900}.registration-submit small{max-width:360px;color:rgba(255,255,255,.8);font-weight:500;text-align:right}.registration-submit:disabled{opacity:.65;cursor:wait}.registration-order-card{position:sticky;top:100px;padding:28px;border:1px solid #dde4e3;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(23,39,47,.08)}.registration-order-card h2{margin:8px 0 22px}.registration-order-card dl{margin:0}.registration-order-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid #eef1f1}.registration-order-card dt{color:#7a878b;font-size:13px}.registration-order-card dd{margin:0;font-weight:800;text-align:right}.registration-process{display:flex;align-items:center;margin:24px 0 16px}.registration-process span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#e6ebeb;color:#788489;font-size:12px;font-weight:900}.registration-process span.active{background:#ef6d57;color:#fff}.registration-process i{height:2px;flex:1;background:#e6ebeb}.registration-order-card>p{color:#647176;font-size:13px;line-height:1.7}.registration-help{margin-top:20px;padding:15px;border-radius:15px;background:#f3f6f5}.registration-help strong,.registration-help span{display:block}.registration-help span{margin-top:4px;color:#6e7a7f;font-size:12px;line-height:1.55}.member-login-gate{padding:50px 38px;border:1px solid #e0e5e5;border-radius:26px;background:#fff;text-align:center}.member-login-gate>span{color:#ef6d57;font-size:12px;font-weight:900;letter-spacing:.16em}.member-login-gate h2{margin:12px 0}.member-login-gate p{max-width:520px;margin:0 auto 24px;color:#68767b;line-height:1.75}.registration-success-card{padding:46px;border:1px solid #d8e5dc;border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(23,39,47,.08)}.success-mark{display:grid;place-items:center;width:64px;height:64px;margin-bottom:22px;border-radius:50%;background:#1f8b57;color:#fff;font-size:30px}.registration-success-card h2{margin:10px 0;font-size:34px}.registration-success-card>p{color:#637177;line-height:1.75}.registration-success-card dl{display:grid;grid-template-columns:1fr 1fr;margin:30px 0;border:1px solid #e4e8e7;border-radius:18px;overflow:hidden}.registration-success-card dl>div{padding:16px 18px;border-right:1px solid #e4e8e7;border-bottom:1px solid #e4e8e7}.registration-success-card dt{color:#748086;font-size:12px}.registration-success-card dd{margin:6px 0 0;font-weight:800}.registration-success-card code{font-size:11px;word-break:break-all}.registration-success-actions{display:flex;gap:10px}.registration-next-steps{padding:28px;border-radius:24px;background:#172a32;color:#fff}.registration-next-steps>span{color:#ff9481;font-size:12px;font-weight:900;letter-spacing:.14em}.registration-next-steps ol{margin:20px 0 0;padding-left:20px}.registration-next-steps li{padding:8px 0;color:#d8e1de;line-height:1.6}
@media(max-width:980px){.event-registration-overview{grid-template-columns:1fr}.registration-overview-status{align-items:flex-start}.registration-workspace{grid-template-columns:1fr}.registration-order-card{position:static;order:-1}.registration-order-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.registration-order-card dl>div{grid-template-columns:1fr}.registration-order-card dd{text-align:left}.registration-next-steps{order:-1}}
@media(max-width:640px){.registration-page{padding:22px 14px 70px}.event-registration-overview{padding:28px 22px;border-radius:24px}.event-registration-overview .event-facts{grid-template-columns:1fr}.registration-step-card{padding:22px 18px}.registration-step-heading p{font-size:13px}.ticket-choice-notes{grid-template-columns:1fr}.inline-control{align-items:stretch;flex-direction:column}.inline-control button{width:100%}.verified-account-row{align-items:flex-start;flex-direction:column}.payment-method-preview{grid-template-columns:1fr}.payment-method-preview img{grid-column:1;grid-row:auto;max-width:220px}.registration-submit{align-items:flex-start;flex-direction:column}.registration-submit small{text-align:left}.registration-order-card{padding:22px}.registration-order-card dl{grid-template-columns:1fr}.registration-success-card{padding:30px 22px}.registration-success-card dl{grid-template-columns:1fr}.registration-success-actions{flex-direction:column}.registration-success-actions button{width:100%}}

/* Large, legible payment QR codes and upload previews */
.payment-selected-detail{grid-template-columns:minmax(170px,.55fr) minmax(300px,1.45fr);align-items:start;padding:26px}
.payment-selected-detail>#paymentPageQr{min-width:0}
.payment-page-qr{display:grid;grid-template-columns:1fr;gap:16px;place-items:center}
.payment-page-qr>div{width:100%;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}
.payment-page-qr img{grid-column:1;grid-row:auto;width:min(100%,460px);height:auto;max-height:540px;aspect-ratio:1;object-fit:contain;padding:14px;border:1px solid rgba(255,255,255,.3);border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.22)}
.payment-page-qr p{width:100%;margin:0;text-align:center}
.payment-qr-preview-frame{display:grid;place-items:center;width:100%;min-height:158px;padding:8px;border:1px dashed #cbd4d6;border-radius:15px;background:#f4f7f7;color:#7c898e;font-size:12px}
.payment-qr-preview-frame img{width:142px;height:142px;margin:0;border:0;border-radius:11px}
.payment-qr-upload-status{overflow-wrap:anywhere}
.registration-admin-actions{justify-content:flex-end}
@media(max-width:900px){.payment-selected-detail{grid-template-columns:1fr}.payment-page-qr img{width:min(100%,520px)}.payment-qr-preview-frame{max-width:240px}}
@media(max-width:640px){.payment-selected-detail{padding:20px}.payment-page-qr img{width:100%;max-height:none;padding:10px;border-radius:18px}.payment-qr-preview-frame{width:100%;max-width:none}.payment-qr-preview-frame img{width:min(100%,220px);height:auto;aspect-ratio:1}.registration-admin-actions{width:100%;justify-content:flex-start}.registration-admin-actions>button,.registration-admin-actions>.registration-link-actions{flex:1 1 160px}}

/* Survey builder, response center and public questionnaire */
.survey-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.survey-admin-card{display:flex;min-height:280px;flex-direction:column;padding:24px}.survey-admin-card-head,.survey-admin-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.survey-admin-card h3{margin:20px 0 8px;font-size:22px}.survey-admin-card>p{min-height:44px;margin:0;color:var(--muted);line-height:1.7}.survey-admin-metrics{margin-top:auto;padding-top:22px}.survey-public-url{margin:14px 0}.survey-public-url code{display:block;overflow:hidden;padding:9px 11px;border-radius:9px;background:#f2f5f5;color:#526168;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.survey-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.survey-admin-actions button{flex:1 1 auto}
.survey-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start;max-width:1500px;margin:0 auto}.survey-editor-main{display:grid;gap:18px}.survey-editor-main>.card,.survey-editor-side>.card{padding:28px;border-radius:22px}.survey-editor-side{position:sticky;top:88px}.survey-editor-side .field{margin-bottom:17px}.survey-basic-editor .form-grid{grid-template-columns:1fr}.survey-basic-editor .wide{grid-column:1}.survey-cover-upload{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:center}.survey-cover-preview{display:grid;place-items:center;min-height:150px;overflow:hidden;border:1.5px dashed #d8dfe1;border-radius:17px;background:#f7f9f9;color:var(--muted)}.survey-cover-preview img{width:100%;height:220px;display:block;object-fit:cover}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.survey-question-builder{overflow:hidden}.survey-question-editor{overflow:hidden;margin-bottom:16px;border:1px solid #dfe5e6;border-radius:20px;background:#fff;box-shadow:0 6px 20px rgba(23,39,47,.035)}.survey-question-editor>header{display:grid;grid-template-columns:42px minmax(150px,220px) 1fr;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #e7ebeb;background:#f8faf9}.survey-question-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#172a32;color:#fff;font-weight:900}.survey-question-order{display:flex;justify-content:flex-end;gap:7px}.survey-question-order button{padding:8px 11px}.survey-question-core,.survey-question-dynamic{padding:20px}.survey-question-core .field{margin-bottom:14px}.survey-question-core textarea{resize:vertical}.survey-question-media{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 20px;border-block:1px solid #edf0f0;background:#fafcfc}.survey-media-preview{display:grid;place-items:center;min-height:78px;overflow:hidden;border:1px dashed #d6dddf;border-radius:13px;color:var(--muted);background:#fff}.survey-media-preview img{width:100%;max-height:260px;object-fit:contain}.survey-media-preview a{padding:16px;color:var(--blue);font-weight:800}.survey-options-editor{display:grid;gap:9px;margin-bottom:10px}.survey-option-editor{display:grid;grid-template-columns:24px minmax(0,1fr) 34px;gap:8px;align-items:center;padding:8px;border:1px solid #e2e7e7;border-radius:13px;background:#fafbfb}.survey-option-editor input{width:100%;min-width:0}.option-drag{color:#a5afb2;font-size:22px;text-align:center}.survey-option-editor .row-remove{margin:0}.survey-config-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding:15px;border-radius:14px;background:#f4f7f7}.survey-config-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.survey-config-row label{color:#5f6d72;font-size:12px;font-weight:800}.survey-config-row input,.survey-config-row select{width:100%;margin-top:7px}.survey-add-question{display:flex;justify-content:center;gap:9px;padding-top:10px}.survey-add-question select{min-width:190px}.survey-editor-layout>.editor-save-footer{grid-column:1/-1}
.survey-response-list{display:grid;gap:15px}.survey-response-card{padding:24px}.survey-response-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid var(--line)}.survey-response-card>header>div{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center}.survey-response-index{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#172a32;color:#fff;font-size:12px;font-weight:900}.survey-response-card header small{color:var(--muted)}.survey-response-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:18px 0 0;overflow:hidden;border:1px solid #e4e8e8;border-radius:15px;background:#e4e8e8}.survey-response-card dl>div{padding:15px;background:#fff}.survey-response-card dt{margin-bottom:7px;color:#6d797e;font-size:12px}.survey-response-card dd{margin:0;font-weight:700;line-height:1.6;white-space:pre-wrap}.survey-answer-file{display:inline-flex;margin:2px 6px 2px 0;padding:7px 10px;border-radius:8px;background:#edf4ff;color:var(--blue);font-size:12px;text-decoration:none}
.survey-public-page{max-width:1280px}.survey-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.survey-public-card{display:flex;min-height:280px;flex-direction:column;padding:26px}.survey-public-card h3{margin:22px 0 10px;font-size:22px}.survey-public-card p{margin:0;color:var(--muted);line-height:1.7}.survey-public-card small{display:block;margin:auto 0 18px;padding-top:24px;color:var(--muted)}.survey-public-card button{width:100%}
.survey-fill-page{max-width:1080px;margin:0 auto;padding:36px 24px 90px}.survey-fill-page>.text-button{margin-bottom:18px}.survey-fill-hero{position:relative;overflow:hidden;min-height:330px;border-radius:30px;background:linear-gradient(135deg,#172a32 0%,#28423b 55%,#695744 100%);color:#fff;box-shadow:0 28px 65px rgba(23,39,47,.18)}.survey-fill-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}.survey-fill-hero>div{position:relative;z-index:1;display:flex;min-height:330px;justify-content:flex-end;flex-direction:column;padding:44px;background:linear-gradient(90deg,rgba(17,34,41,.9),rgba(17,34,41,.28))}.survey-fill-hero h1{max-width:820px;margin:12px 0;font-size:clamp(38px,6vw,68px);line-height:1.08}.survey-fill-hero p{max-width:720px;margin:0;color:#d9e2df;font-size:16px;line-height:1.8;white-space:pre-wrap}.survey-fill-hero>div>div{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.survey-fill-hero>div>div span{padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px}.survey-public-form{display:grid;gap:18px;margin-top:22px}.survey-public-question{padding:30px 34px;border:1px solid #e0e6e5;border-radius:24px;background:#fff;box-shadow:0 12px 35px rgba(23,39,47,.05)}.survey-public-question>header{display:flex;align-items:flex-start;gap:15px;margin-bottom:22px}.survey-public-question>header>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#172a32;color:#fff;font-size:12px;font-weight:900}.survey-public-question h2{margin:2px 0 5px;font-size:21px}.survey-public-question h2 b{margin-left:5px;color:#ea5e44}.survey-public-question header p{margin:0;color:var(--muted);line-height:1.6;white-space:pre-wrap}.survey-question-public-image{width:100%;max-height:560px;display:block;margin:0 0 22px;border-radius:17px;object-fit:contain;background:#f3f6f5}.survey-question-public-file{display:inline-flex;margin:0 0 20px;padding:12px 15px;border-radius:11px;background:#edf4ff;color:var(--blue);font-weight:800;text-decoration:none}.survey-public-input>input,.survey-public-input>textarea,.survey-public-input>select{width:100%;font-size:16px}.survey-public-input textarea{min-height:140px;resize:vertical}.survey-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.survey-choice-list label{position:relative;cursor:pointer}.survey-choice-list input{position:absolute;opacity:0;pointer-events:none}.survey-choice-list span{display:flex;min-height:56px;align-items:center;padding:12px 15px;border:1px solid #dce3e3;border-radius:14px;background:#fafbfb;transition:.18s ease}.survey-choice-list span:before{width:18px;height:18px;margin-right:10px;border:2px solid #b6c0c2;border-radius:50%;content:""}.survey-choice-list input[type=checkbox]+span:before{border-radius:5px}.survey-choice-list input:checked+span{border-color:#ef6d57;background:#fff4f1;color:#b83e29;box-shadow:0 0 0 2px rgba(239,109,87,.08)}.survey-choice-list input:checked+span:before{border:5px solid #ef6d57;background:#fff}.survey-scale{display:grid;grid-template-columns:minmax(70px,auto) 1fr minmax(70px,auto);gap:14px;align-items:center;color:var(--muted);font-size:12px}.survey-scale>div{display:flex;gap:8px;justify-content:center}.survey-scale label{cursor:pointer}.survey-scale input{position:absolute;opacity:0}.survey-scale label span{display:grid;place-items:center;width:46px;height:46px;border:1px solid #dbe2e2;border-radius:13px;background:#fafbfb;color:#4e5b60;font-weight:900}.survey-scale input:checked+span{border-color:#ef6d57;background:#ef6d57;color:#fff}.survey-file-answer{margin:0}.survey-identity-question{border-color:#cadfd2;background:#fbfefc}.survey-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.survey-submit-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;width:100%;padding:15px 24px;text-align:left}.survey-submit-button span{font-size:18px;font-weight:900}.survey-submit-button small{color:rgba(255,255,255,.82)}.survey-submit-success{padding:50px 28px;border:1px solid #cfe4d7;border-radius:28px;background:#fff;text-align:center;box-shadow:0 18px 55px rgba(23,39,47,.08)}.survey-submit-success>span{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:#1f8b57;color:#fff;font-size:31px}.survey-submit-success h2{margin:8px 0;font-size:34px}.survey-submit-success p:not(.eyebrow){color:var(--muted)}.survey-submit-success small{display:block;margin:15px 0 25px;color:var(--muted)}
@media(max-width:1100px){.survey-admin-grid,.survey-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-editor-layout{grid-template-columns:minmax(0,1fr) 290px}.survey-config-row.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.survey-editor-layout{grid-template-columns:1fr}.survey-editor-side{position:static}.survey-editor-layout>.editor-save-footer{grid-column:1}.survey-response-card dl{grid-template-columns:1fr}}
@media(max-width:680px){.survey-admin-grid,.survey-public-grid{grid-template-columns:1fr}.survey-editor-main>.card,.survey-editor-side>.card{padding:20px 16px}.survey-question-editor>header{grid-template-columns:40px 1fr}.survey-question-order{grid-column:1/-1;justify-content:flex-start}.survey-question-core,.survey-question-dynamic{padding:18px 14px}.survey-question-media,.survey-cover-upload{grid-template-columns:1fr}.survey-config-row,.survey-config-row.four{grid-template-columns:1fr}.survey-add-question{align-items:stretch;flex-direction:column}.survey-add-question select{width:100%}.survey-fill-page{padding:22px 14px 70px}.survey-fill-hero,.survey-fill-hero>div{min-height:290px}.survey-fill-hero>div{padding:30px 22px}.survey-public-question{padding:23px 18px}.survey-choice-list,.survey-identity-grid{grid-template-columns:1fr}.survey-scale{grid-template-columns:1fr}.survey-scale>span{text-align:center}.survey-scale>div{overflow-x:auto;justify-content:flex-start;padding:3px}.survey-submit-button{align-items:flex-start;flex-direction:column}.survey-response-card>header{align-items:flex-start;flex-direction:column}.survey-admin-actions button{flex:1 1 40%}}

/* Survey designer v2 */
.survey-designer-head{display:grid;grid-template-columns:auto minmax(260px,1fr) auto auto;gap:20px;align-items:center;margin:-6px 0 24px;padding:22px 24px;border:1px solid #dfe5e4;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f7faf8 72%,#fff5f1 100%);box-shadow:0 12px 34px rgba(23,39,47,.055)}.survey-back-button{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 14px;border:1px solid #d9e0df;border-radius:13px;background:#fff;color:#34454c;font-weight:800;cursor:pointer}.survey-designer-title .eyebrow{color:#e45c43}.survey-designer-title h2{margin:4px 0 3px;font-size:25px}.survey-designer-title p{margin:0;color:var(--muted);font-size:13px}.survey-designer-stats{display:flex;gap:4px;padding:5px;border:1px solid #e1e7e6;border-radius:15px;background:rgba(255,255,255,.8)}.survey-designer-stats span{min-width:72px;padding:8px 10px;border-right:1px solid #e8eceb;color:#6a787d;font-size:11px;text-align:center}.survey-designer-stats span:last-child{border-right:0}.survey-designer-stats b{display:block;margin-bottom:1px;color:#172a32;font-size:17px}.survey-designer-actions{display:flex;gap:9px}.survey-designer-actions button{white-space:nowrap}
.survey-editor-layout.survey-designer{grid-template-columns:minmax(0,1fr) 380px;gap:22px}.survey-editor-errors{grid-column:1/-1;display:grid;grid-template-columns:minmax(250px,.55fr) 1fr;gap:20px;padding:18px 22px;border:1px solid #efb3a7;border-radius:18px;background:#fff4f1;color:#9d3b2b}.survey-editor-errors>div strong,.survey-editor-errors>div span{display:block}.survey-editor-errors>div span{margin-top:4px;font-size:12px}.survey-editor-errors ol{display:flex;gap:7px;flex-wrap:wrap;margin:0;padding:0;list-style:none}.survey-editor-errors button{padding:7px 10px;border:1px solid #efc6bd;border-radius:9px;background:#fff;color:#a33d2b;font-size:12px;cursor:pointer}.survey-editor-section{border:1px solid #e0e6e5!important;background:#fff;box-shadow:0 9px 30px rgba(23,39,47,.045)!important}.survey-builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.survey-builder-heading .section-title{margin-bottom:24px}.survey-builder-tools{display:flex;gap:7px}.survey-builder-tools button{padding:8px 11px;font-size:11px}
.survey-question-editor{border-color:#dde4e3;border-radius:19px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.survey-question-editor:hover{border-color:#cbd7d4;box-shadow:0 9px 26px rgba(23,39,47,.065)}.survey-question-editor:focus-within{border-color:#e97a63;box-shadow:0 0 0 3px rgba(233,122,99,.1),0 12px 30px rgba(23,39,47,.07)}.survey-question-editor.has-error{border-color:#dc654f;box-shadow:0 0 0 3px rgba(220,101,79,.1)}.survey-question-editor-head{grid-template-columns:42px 42px minmax(150px,1fr) 170px auto!important;gap:10px!important;padding:13px 14px!important;background:linear-gradient(90deg,#f8faf9,#fbfcfc)!important}.survey-question-kind{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dce4e2;border-radius:11px;background:#fff;color:#e55d44;font-size:13px;font-weight:900}.survey-question-summary{min-width:0}.survey-question-summary strong,.survey-question-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.survey-question-summary strong{font-size:13px}.survey-question-summary small{margin-top:3px;color:#7b878b;font-size:10px}.survey-question-editor-head .survey-question-type{height:38px;padding:0 31px 0 11px;border-radius:11px;background-color:#fff;font-size:12px}.survey-question-order{gap:4px}.survey-icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #dce3e2;border-radius:10px;background:#fff;color:#5f6d72;font-size:15px;font-weight:900;cursor:pointer;transition:.18s ease}.survey-icon-button:hover{border-color:#ef9a89;background:#fff5f2;color:#d94f35}.survey-icon-button.danger:hover{border-color:#e16a55;background:#e35d44;color:#fff}.survey-question-body{display:block}.survey-question-editor.collapsed .survey-question-body{display:none}.survey-question-editor.collapsed{box-shadow:none}.survey-question-editor.collapsed .survey-question-editor-head{border-bottom:0}.survey-required-toggle{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;padding:9px 12px;border:1px solid #e0e6e5;border-radius:12px;background:#f8faf9;cursor:pointer}.survey-required-toggle input{accent-color:#e85f46}.survey-required-toggle span b,.survey-required-toggle span small{display:block}.survey-required-toggle span b{font-size:12px}.survey-required-toggle span small{margin-top:2px;color:#7c888c;font-size:10px}.survey-media-preview>span b,.survey-media-preview>span small,.survey-cover-preview>span b,.survey-cover-preview>span small{display:block;text-align:center}.survey-media-preview>span small,.survey-cover-preview>span small{margin-top:5px;color:#8a9498;font-size:10px}.survey-media-actions{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.survey-media-actions .text-button{font-size:11px}.survey-option-editor{transition:border-color .18s ease,background .18s ease}.survey-option-editor:focus-within{border-color:#ee9a88;background:#fff}.survey-option-label[aria-invalid=true],.survey-question-title[aria-invalid=true],.survey-config-row input[aria-invalid=true]{border-color:#dc654f!important;background:#fff8f6!important}.survey-option-tools{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.survey-batch-options{position:relative}.survey-batch-options>summary{min-height:38px;padding:10px 13px;border:1px solid #dce4e2;border-radius:11px;background:#fff;color:#536267;font-size:11px;font-weight:800;cursor:pointer;list-style:none}.survey-batch-options>summary::-webkit-details-marker{display:none}.survey-batch-options[open]>summary{border-color:#ed927f;background:#fff6f3;color:#bd4b36}.survey-batch-options>div{position:absolute;z-index:12;top:44px;left:0;width:min(330px,calc(100vw - 48px));padding:12px;border:1px solid #dce4e2;border-radius:14px;background:#fff;box-shadow:0 14px 35px rgba(23,39,47,.15)}.survey-batch-options textarea{width:100%;resize:vertical}.survey-batch-options button{width:100%;margin-top:8px}
.survey-add-question{display:block;margin-top:18px;padding:22px;border:1.5px dashed #cfd9d7;border-radius:20px;background:linear-gradient(135deg,#f8faf9,#fffaf8)}.survey-add-question>div:first-child strong,.survey-add-question>div:first-child span{display:block}.survey-add-question>div:first-child span{margin-top:4px;color:var(--muted);font-size:12px}.survey-quick-types{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:17px 0}.survey-quick-types button{display:flex;min-width:0;align-items:center;flex-direction:column;gap:7px;padding:12px 6px;border:1px solid #dfe6e4;border-radius:13px;background:#fff;color:#536267;font-size:10px;font-weight:800;cursor:pointer;transition:.18s ease}.survey-quick-types button b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f0f4f3;color:#df583f;font-size:12px}.survey-quick-types button:hover{border-color:#ef8e7a;background:#fff5f2;transform:translateY(-2px)}.survey-all-types{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.survey-all-types select{min-width:0;width:100%}
.survey-editor-side{position:relative}.survey-editor-side-stack{position:sticky;top:86px;display:grid;gap:14px}.survey-editor-side-stack>.card{padding:20px;border:1px solid #e0e6e5;border-radius:20px;box-shadow:0 8px 25px rgba(23,39,47,.045)}.survey-side-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.survey-side-card-head>div>span{color:#e55c43;font-size:9px;font-weight:900;letter-spacing:.15em}.survey-side-card-head h3{margin:3px 0 0;font-size:16px}.survey-completion-ring{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:conic-gradient(#e85f46 var(--survey-progress,0deg),#e7eceb 0);font-size:0;font-weight:900}.survey-completion-ring::after{position:absolute;inset:5px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#172a32;font-size:10px;content:attr(data-label)}.survey-outline{display:grid;gap:5px;max-height:245px;overflow:auto;padding-right:3px}.survey-outline button{display:grid;grid-template-columns:29px minmax(0,1fr);gap:8px;align-items:center;width:100%;padding:8px;border:0;border-radius:11px;background:transparent;color:#405057;text-align:left;cursor:pointer}.survey-outline button:hover{background:#f3f6f5}.survey-outline button.error{background:#fff1ed;color:#a53d2c}.survey-outline button>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#edf2f1;color:#6e7b80;font-size:9px;font-weight:900}.survey-outline strong,.survey-outline small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.survey-outline strong{font-size:11px}.survey-outline small{margin-top:2px;color:#899396;font-size:9px}.survey-outline-hint{display:block;margin-top:12px;color:#8a9599;font-size:9px}.survey-preview-size{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dce4e2;border-radius:10px;background:#fff;color:#55666b;font-size:18px;cursor:pointer}.survey-live-preview{max-height:390px;overflow:auto;padding:10px;border-radius:15px;background:#e9eeec;transition:.2s ease}.survey-live-preview.mobile{max-width:245px;margin-inline:auto}.survey-mini-page{overflow:hidden;border-radius:11px;background:#fff;box-shadow:0 9px 25px rgba(23,39,47,.12);font-size:7px}.survey-mini-cover{width:100%;height:72px;display:block;object-fit:cover}.survey-mini-page>header{padding:14px;background:linear-gradient(135deg,#183039,#354b40);color:#fff}.survey-mini-page>header>span{color:#ff9a87;font-size:6px;font-weight:900;letter-spacing:.1em}.survey-mini-page h4{margin:4px 0 3px;font-size:14px;line-height:1.25}.survey-mini-page header p{margin:0;color:#d6dfdc;line-height:1.45}.survey-mini-page header small{display:block;margin-top:7px;color:#b9c7c2}.survey-mini-page>div{display:grid;gap:7px;padding:10px;background:#f7f9f8}.survey-mini-page section{display:grid;grid-template-columns:19px 1fr;gap:7px;padding:9px;border:1px solid #e7ebea;border-radius:8px;background:#fff}.survey-mini-page section>b{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#182e36;color:#fff;font-size:6px}.survey-mini-page h5{margin:2px 0 7px;font-size:8px}.survey-mini-page h5 em{margin-left:2px;color:#e85d43}.survey-mini-field,.survey-mini-textarea,.survey-mini-select{padding:6px;border:1px solid #dfe5e4;border-radius:5px;color:#9aa3a5}.survey-mini-textarea{min-height:24px}.survey-mini-select{display:flex;justify-content:space-between}.survey-mini-choices{display:grid;gap:4px}.survey-mini-choices span{display:flex;gap:4px;align-items:center;padding:4px;border:1px solid #e3e8e7;border-radius:5px}.survey-mini-choices i{color:#d7624c}.survey-mini-scale{display:flex;gap:3px}.survey-mini-scale span{display:grid;place-items:center;width:17px;height:17px;border:1px solid #dfe5e4;border-radius:5px}.survey-mini-upload{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;border:1px dashed #cad4d2;border-radius:5px;color:#788589}.survey-mini-page>button{width:calc(100% - 20px);margin:0 10px 10px;padding:7px;border:0;border-radius:6px;background:#e85e45;color:#fff;font-size:7px;font-weight:900}.survey-live-preview.mobile .survey-mini-page h4{font-size:13px}.survey-rules-card .field{margin-bottom:14px}.survey-access-selector{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 15px;padding:0;border:0}.survey-access-selector legend{grid-column:1/-1;margin-bottom:7px;font-size:11px;font-weight:800}.survey-access-selector label{position:relative;cursor:pointer}.survey-access-selector input{position:absolute;opacity:0}.survey-access-selector span{display:block;min-height:64px;padding:10px;border:1px solid #dde4e3;border-radius:12px;background:#fafbfb}.survey-access-selector b,.survey-access-selector small{display:block}.survey-access-selector b{font-size:11px}.survey-access-selector small{margin-top:4px;color:#869195;font-size:9px;line-height:1.35}.survey-access-selector input:checked+span{border-color:#e77964;background:#fff4f1;box-shadow:0 0 0 2px rgba(231,121,100,.08)}.survey-schedule-grid{display:grid;grid-template-columns:1fr;gap:0}.survey-rule-toggle{display:flex;gap:9px;align-items:flex-start;margin-bottom:8px;padding:10px;border:1px solid #e0e6e5;border-radius:12px;background:#fafbfb;cursor:pointer}.survey-rule-toggle input{margin-top:3px;accent-color:#e75d44}.survey-rule-toggle b,.survey-rule-toggle small{display:block}.survey-rule-toggle b{font-size:11px}.survey-rule-toggle small{margin-top:3px;color:#879195;font-size:9px}.survey-save-state{padding:5px 8px;border-radius:999px;background:#edf2f1;color:#718085;font-size:9px;font-weight:900}.survey-save-state.dirty{background:#fff1d9;color:#9b6310}.survey-save-state.saving{background:#eaf2ff;color:#3c65a4}.survey-save-state.saved{background:#e8f7ee;color:#217145}.survey-save-state.error{background:#fff0ec;color:#a73e2c}.survey-save-footer{bottom:12px}.survey-save-footer kbd{padding:2px 5px;border:1px solid #43565f;border-bottom-width:2px;border-radius:5px;background:#263b44;color:#fff;font:700 9px/1 monospace}.survey-designer :is(button,input,select,textarea):focus-visible{outline:3px solid rgba(232,95,70,.2);outline-offset:2px}
@media(max-width:1300px){.survey-designer-head{grid-template-columns:auto 1fr auto}.survey-designer-stats{grid-column:2}.survey-designer-actions{grid-row:1/3;grid-column:3}.survey-editor-layout.survey-designer{grid-template-columns:minmax(0,1fr) 340px}.survey-question-editor-head{grid-template-columns:38px 38px minmax(120px,1fr) 150px!important}.survey-question-order{grid-column:3/6;justify-content:flex-end}.survey-quick-types{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1250px){.survey-designer-head{grid-template-columns:auto 1fr}.survey-designer-stats{grid-column:2}.survey-designer-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-end}.survey-editor-layout.survey-designer{grid-template-columns:1fr}.survey-editor-side{grid-row:auto}.survey-editor-side-stack{position:static;grid-template-columns:1fr 1fr}.survey-rules-card{grid-column:1/-1}.survey-live-preview{max-height:330px}.survey-save-footer{grid-column:1}}
@media(max-width:700px){.survey-designer-head{display:flex;align-items:stretch;flex-direction:column;padding:18px}.survey-back-button{width:max-content}.survey-designer-stats{display:grid;grid-template-columns:repeat(3,1fr)}.survey-designer-actions{display:grid;grid-template-columns:1fr 1fr}.survey-designer-title h2{font-size:23px}.survey-editor-layout.survey-designer{display:block}.survey-editor-errors{display:block;margin-bottom:14px}.survey-editor-errors ol{margin-top:12px}.survey-editor-main{gap:14px}.survey-editor-side{margin-top:14px}.survey-editor-side-stack{display:block}.survey-editor-side-stack>.card{margin-bottom:14px}.survey-outline-card{position:sticky;z-index:5;top:68px}.survey-live-preview-card{display:none}.survey-question-editor-head{grid-template-columns:38px 38px minmax(0,1fr)!important}.survey-question-editor-head .survey-question-type{grid-column:1/3;width:100%}.survey-question-order{grid-column:3;justify-content:flex-end;flex-wrap:wrap}.survey-icon-button{width:32px;height:32px}.survey-question-media{display:block}.survey-media-actions{align-items:stretch;margin-top:10px}.survey-builder-heading{display:block}.survey-builder-tools{margin:-8px 0 18px;padding-left:52px}.survey-quick-types{grid-template-columns:repeat(2,1fr)}.survey-all-types{grid-template-columns:1fr}.survey-cover-upload{display:block}.survey-cover-upload .survey-media-actions{margin-top:10px}.survey-save-footer{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));margin-top:16px}.survey-save-footer>div:first-child{display:none}.survey-save-footer>div:last-child{width:100%}.survey-save-footer button{min-height:46px;flex:1}.survey-access-selector{grid-template-columns:1fr 1fr}}
.survey-access-selector input:focus-visible+span{outline:3px solid rgba(232,95,70,.22);outline-offset:2px}

/* Survey designer controls v3 */
.survey-designer input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),.survey-designer select,.survey-designer textarea{box-sizing:border-box;min-width:0;width:100%;min-height:46px;padding:11px 13px;border:1px solid #d8e1df;border-radius:12px;outline:0;background:#fff;color:#21343b;box-shadow:0 1px 2px rgba(23,39,47,.025);font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.survey-designer textarea{line-height:1.65;resize:vertical}.survey-designer input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):hover,.survey-designer select:hover,.survey-designer textarea:hover{border-color:#c4d0ce}.survey-designer input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,.survey-designer select:focus,.survey-designer textarea:focus{border-color:#e77b65;background:#fff;box-shadow:0 0 0 3px rgba(231,123,101,.11)}.survey-question-editor:focus-within{border-color:#d6dfdd;box-shadow:0 12px 30px rgba(23,39,47,.07)}.survey-question-editor-head .survey-question-type{border-color:#d8e1df;color:#405158;box-shadow:none}.survey-question-editor-head .survey-question-type:focus{border-color:#e77b65;box-shadow:0 0 0 3px rgba(231,123,101,.1)}
.survey-options-editor{counter-reset:survey-option;gap:10px;margin-bottom:12px}.survey-option-editor{counter-increment:survey-option;grid-template-columns:38px minmax(0,1fr) 36px;gap:8px;padding:8px 10px;border:1px solid #e0e7e5;border-radius:15px;background:#fff;box-shadow:0 3px 10px rgba(23,39,47,.035);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.survey-option-editor:hover{border-color:#cbd7d4}.survey-option-editor:focus-within{border-color:#e98a76;background:#fff;box-shadow:0 0 0 3px rgba(233,138,118,.09),0 5px 15px rgba(23,39,47,.05)}.survey-option-editor .option-drag{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef3f2;color:#56666b;font-size:0;font-weight:900}.survey-option-editor .option-drag::before{font-size:10px;content:counter(survey-option)}.survey-option-editor input.survey-option-label{min-height:38px;padding:5px 3px;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;font-weight:650}.survey-option-editor input.survey-option-label::placeholder{color:#9ba6a9;font-weight:500}.survey-option-editor .row-remove{display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:10px;background:#f0f4f3;color:#7e8b8f;font-size:20px;line-height:1;cursor:pointer;transition:.18s ease}.survey-option-editor .row-remove:hover{background:#fff0ec;color:#cf4c34;transform:scale(1.04)}
.survey-option-tools{margin-top:2px}.survey-option-tools>.secondary,.survey-batch-options>summary{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-color:#d7e0de;border-radius:12px;background:#f8faf9;color:#405158;box-shadow:none}.survey-option-tools>.secondary:hover,.survey-batch-options>summary:hover{border-color:#e49381;background:#fff5f2;color:#bd4a35}.survey-batch-options>div{top:48px}.survey-batch-options textarea{min-height:112px}
.survey-config-row.survey-choice-limits{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:18px;padding:16px 18px;border:1px solid #e2e8e7;border-radius:16px;background:linear-gradient(135deg,#f7faf9,#fbfcfc)}.survey-choice-limits .survey-config-caption{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:2px}.survey-config-caption b,.survey-config-caption span{display:block}.survey-config-caption b{color:#263a42;font-size:13px}.survey-config-caption span{color:#849095;font-size:10px}.survey-choice-limits>label{display:grid;gap:7px;color:#5b6a70;font-size:11px;font-weight:800}.survey-number-control{display:flex;align-items:stretch;overflow:hidden;border:1px solid #d8e1df;border-radius:12px;background:#fff;transition:.18s ease}.survey-number-control:focus-within{border-color:#e77b65;box-shadow:0 0 0 3px rgba(231,123,101,.1)}.survey-number-control input{min-height:42px!important;padding:9px 12px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-weight:800}.survey-number-control small{display:flex;align-items:center;padding:0 12px;border-left:1px solid #e3e8e7;background:#f3f6f5;color:#758287;font-size:11px}.survey-all-types{align-items:stretch}.survey-all-types select{min-height:48px;padding-inline:14px;border-radius:13px;background-color:#fff;font-weight:700}.survey-all-types .primary{min-height:48px;padding-inline:20px;border-radius:13px}.survey-add-question{border-color:#d9e2e0;background:linear-gradient(145deg,#fafcfc,#fffaf8);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
@media(max-width:700px){.survey-option-editor{grid-template-columns:32px minmax(0,1fr) 34px;padding:7px 8px}.survey-option-editor .option-drag{width:28px;height:28px}.survey-config-row.survey-choice-limits{grid-template-columns:1fr;padding:15px}.survey-choice-limits .survey-config-caption{display:block}.survey-config-caption span{margin-top:4px}.survey-all-types .primary{width:100%}}

/* Dedicated recruitment survey */
.recruitment-designer-head{border-color:#eadbd4;background:linear-gradient(135deg,#fff 0%,#fff9f5 60%,#f1f7f4 100%)}
.recruitment-core-card{display:grid;grid-template-columns:minmax(220px,.45fr) 1fr;gap:24px;align-items:center;padding:26px!important;border:1px solid #dce6e2!important;background:linear-gradient(135deg,#183039,#29483d)!important;color:#fff;box-shadow:0 14px 35px rgba(23,48,57,.14)!important}
.recruitment-core-card h3{margin:5px 0 8px;font-size:22px}.recruitment-core-card p{margin:0;color:#c9d6d1;line-height:1.65}.recruitment-core-card .eyebrow{color:#ff9b86}
.recruitment-core-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recruitment-core-grid span{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055);font-size:11px;font-weight:750}.recruitment-core-grid b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(255,155,134,.16);color:#ffad9c;font-size:9px}
.recruitment-question-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:17px 20px;border-top:1px solid #edf1f0;background:linear-gradient(90deg,#f7faf9,#fff8f5)}.recruitment-question-meta .field{margin:0}.recruitment-question-meta label{color:#526268;font-size:11px}.recruitment-question-meta small{display:block;margin-top:5px;color:#849095;font-size:9px}.recruitment-security-note{display:grid;gap:4px;margin-bottom:14px;padding:12px 13px;border:1px solid #cfe2d8;border-radius:13px;background:#f0f8f4}.recruitment-security-note b{font-size:11px}.recruitment-security-note span{color:#687a72;font-size:9px;line-height:1.5}
.join-recruitment-cover{width:100%;max-height:180px;margin-bottom:24px;border:1px solid rgba(255,255,255,.13);border-radius:20px;object-fit:cover;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.join-survey-questions{display:grid;gap:15px}.join-survey-questions .survey-public-question{padding:22px;border-radius:18px;background:#fff;box-shadow:none}.join-survey-questions .survey-public-question>header{margin-bottom:16px}.join-survey-questions .survey-public-question>header>span{flex-basis:36px;height:36px;border-radius:11px}.join-survey-questions .survey-public-question h2{font-size:17px}.join-survey-questions .survey-public-question header p{font-size:12px}.join-survey-questions .survey-public-input textarea{min-height:120px}.join-empty-question-group{padding:24px;border:1px dashed #d9d0c8;border-radius:18px;background:#fffaf6;color:#7d8588;text-align:center}.join-unavailable{display:grid;place-items:center;align-content:center;min-height:calc(100vh - 78px);padding:40px 20px;text-align:center}.join-unavailable>span{color:#e45d44;font-size:11px;font-weight:900;letter-spacing:.16em}.join-unavailable h1{max-width:720px;margin:14px 0 8px;font-size:clamp(36px,6vw,68px)}.join-unavailable p{max-width:620px;color:#758187;line-height:1.7}.join-unavailable .official-primary{margin-top:18px;text-decoration:none}
@media(max-width:900px){.recruitment-core-card{grid-template-columns:1fr}.join-recruitment-cover{max-height:240px}}
@media(max-width:680px){.recruitment-core-card{padding:22px 18px!important}.recruitment-core-grid,.recruitment-question-meta{grid-template-columns:1fr}.recruitment-question-meta{padding:15px 14px}.join-survey-questions .survey-public-question{padding:19px 15px}.join-survey-questions .survey-choice-list{grid-template-columns:1fr}.join-recruitment-cover{max-height:160px;margin-bottom:18px}.join-unavailable{min-height:calc(100vh - 68px)}}

/* Recruitment review workspace */
.recruitment-review-head .eyebrow,.application-review-page-head .eyebrow{display:block;margin-bottom:7px;color:#e65d43;font-size:10px;font-weight:900;letter-spacing:.16em}.recruitment-review-stats{margin-bottom:20px}.recruitment-application-list{display:grid;gap:12px}.recruitment-application-card{display:grid;grid-template-columns:54px minmax(260px,1fr) minmax(210px,.55fr) auto;gap:18px;align-items:center;padding:19px 20px;border-radius:20px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.recruitment-application-card:hover{border-color:#d5dfdd;box-shadow:0 12px 30px rgba(23,39,47,.065);transform:translateY(-1px)}.recruitment-applicant-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#19313a,#315044);color:#fff;font-size:13px;font-weight:900}.recruitment-application-main>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.recruitment-application-main h3{margin:8px 0 4px;font-size:18px}.recruitment-application-main p{margin:0 0 5px;color:#68767b;font-size:12px}.recruitment-application-main small{color:#90999c;font-size:10px}.reviewed-by-me,.review-vote-locked-mini{font-size:10px;font-weight:800}.reviewed-by-me{color:#197048}.review-vote-locked-mini{color:#8a7770}.review-vote-locked-mini::before{margin-right:4px;content:"●"}.recruitment-application-contact span,.recruitment-application-contact strong{display:block}.recruitment-application-contact span{margin-bottom:5px;color:#8b9699;font-size:10px}.recruitment-application-contact strong{overflow:hidden;text-overflow:ellipsis;color:#34464e;font-size:12px}.tag.danger{color:#a43d2c;background:#fff0ec}.recruitment-loading{min-height:280px}
.application-review-page{max-width:1500px;margin:0 auto}.application-review-page-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:22px;padding:20px 22px;border:1px solid #dfe6e4;border-radius:22px;background:linear-gradient(135deg,#fff,#fff9f6);box-shadow:0 8px 25px rgba(23,39,47,.04)}.application-review-page-head h2{margin:3px 0 5px;font-size:26px}.application-review-page-head p{margin:0;color:var(--muted);font-size:12px}.application-review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,410px);gap:20px;align-items:start}.application-review-layout>main{display:grid;gap:16px}.application-profile-card,.application-answer-card,.application-history-card,.application-review-vote-card{padding:25px;border-radius:22px}.application-section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:21px}.application-section-head>span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:12px;background:#192f38;color:#fff;font-size:10px;font-weight:900;letter-spacing:.05em}.application-section-head h3{margin:1px 0 4px}.application-section-head p{margin:0;color:var(--muted);font-size:12px}.application-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.application-profile-grid>div{min-width:0;padding:14px 15px;border:1px solid #e6ebe9;border-radius:14px;background:#fafcfc}.application-profile-grid span,.application-profile-grid strong{display:block}.application-profile-grid span{margin-bottom:6px;color:#849094;font-size:10px}.application-profile-grid strong{overflow-wrap:anywhere;color:#2a3d45;font-size:13px}.application-answer-list{display:grid;gap:10px}.application-answer-list>article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:15px;border:1px solid #e5eae9;border-radius:15px;background:#fff}.application-answer-list>article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0f4f3;color:#66777c;font-size:9px;font-weight:900}.application-answer-list h4{margin:2px 0 7px;font-size:13px}.application-answer-list p{margin:0;color:#52646b;line-height:1.7;white-space:pre-wrap}.empty-answer-state{padding:24px;border:1px dashed #d4ddda;border-radius:15px;background:#fafcfc;color:#7c898d;text-align:center}.application-history-card blockquote{margin:0;padding:17px;border-left:4px solid #ed806a;border-radius:0 14px 14px 0;background:#fff7f4;color:#4e6067;line-height:1.7}.application-history-card>small{display:block;margin-top:10px;color:#8a9598;text-align:right}
.application-review-vote-card{position:sticky;top:88px;overflow:hidden}.application-review-vote-card.locked{border-color:#ead9d1;background:linear-gradient(145deg,#fff,#fff8f4)}.application-review-vote-card.unlocked{border-color:#cfe1d8}.application-review-vote-card.resolved{border-color:#caddd5;background:linear-gradient(145deg,#fff,#f6faf8)}.application-vote-card-head{display:flex;align-items:center;gap:13px;margin-bottom:18px}.application-vote-card-head .eyebrow{color:#e45c43;font-size:9px;font-weight:900;letter-spacing:.14em}.application-vote-card-head h2{margin:3px 0 0;font-size:21px}.application-vote-lock{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#192f38;color:#fff;font-size:20px;font-weight:900}.application-vote-lock-note{padding:15px;border:1px solid #ead9d1;border-radius:15px;background:#fff7f3}.application-vote-lock-note strong,.application-vote-lock-note p{display:block}.application-vote-lock-note p{margin:6px 0 0;color:#776963;font-size:12px;line-height:1.65}.application-review-vote-form{margin-top:17px}.application-review-vote-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;padding:0;border:0}.application-review-vote-form legend{grid-column:1/-1;margin-bottom:8px;font-size:12px;font-weight:850}.review-decision-card{position:relative;cursor:pointer}.review-decision-card input{position:absolute;opacity:0}.review-decision-card span{display:block;min-height:112px;padding:14px;border:1px solid #dde4e2;border-radius:15px;background:#fff;transition:.18s ease}.review-decision-card b{display:grid;place-items:center;width:28px;height:28px;margin-bottom:10px;border-radius:9px;background:#edf3f0;color:#36745a}.review-decision-card strong,.review-decision-card small{display:block}.review-decision-card small{margin-top:4px;color:#829095;font-size:9px;line-height:1.45}.review-decision-card.reject b{color:#a94b39;background:#fff0ec}.review-decision-card input:checked+span{border-color:#368462;background:#f0faf5;box-shadow:0 0 0 3px rgba(54,132,98,.1)}.review-decision-card.reject input:checked+span{border-color:#d26049;background:#fff3ef;box-shadow:0 0 0 3px rgba(210,96,73,.1)}.review-decision-card input:focus-visible+span{outline:3px solid rgba(232,95,70,.2);outline-offset:2px}.application-review-vote-form textarea{width:100%;resize:vertical}.application-vote-submit{width:100%;min-height:48px}.application-vote-feedback:not(:empty){margin:10px 0;padding:11px 12px;border-radius:11px;background:#edf5f6;color:#365b65;font-size:11px}.application-vote-feedback.error{background:#fff0ed;color:#a6402e}.my-review-decision{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;padding:13px 15px;border-radius:13px;background:#edf7f2}.my-review-decision span{color:#677a71;font-size:11px}.my-review-decision strong{color:#1c7549}.review-aggregate{display:grid;gap:12px;padding:16px;border-radius:16px;background:#f7faf9}.review-aggregate>div header{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:11px}.review-aggregate>div>i{display:block;height:7px;overflow:hidden;border-radius:99px;background:#e2e9e6}.review-aggregate>div>i>b{display:block;height:100%;border-radius:inherit;background:#31835d}.review-aggregate>.reject>i>b{background:#d7634c}.review-aggregate>small{color:#7e8a87;text-align:right}.review-voter-list{display:grid;gap:8px;margin-top:18px}.review-voter-list h3{margin:0 0 3px;font-size:13px}.review-voter-list article{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #e7ebe9;border-radius:13px}.review-voter-list .avatar{flex:0 0 auto}.review-voter-list strong,.review-voter-list small{display:block}.review-voter-list small{margin-top:3px;color:#7d898c;font-size:9px}.review-voter-list p{margin:7px 0 0;color:#53656b;font-size:11px;line-height:1.55}.review-no-voter-detail{display:block;margin:14px 0 0}

/* Group chat administration and member directory */
.group-chat-page-head .eyebrow{display:block;margin-bottom:6px;color:#e65d43;font-size:10px;font-weight:900;letter-spacing:.16em}.group-chat-stats{margin-bottom:20px}.group-chat-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,430px);gap:20px;align-items:start}.group-chat-admin-list{display:grid;gap:12px}.group-chat-admin-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:17px;align-items:center;padding:16px;border-radius:20px}.group-chat-admin-card.selected{border-color:#ec8b77;box-shadow:0 0 0 3px rgba(236,139,119,.1)}.group-chat-admin-card h3{margin:8px 0 5px}.group-chat-admin-card p{margin:0 0 6px;color:var(--muted);font-size:12px;line-height:1.55}.group-chat-admin-card small{color:#8a9598}.group-chat-admin-qr,.group-chat-editor-qr,.group-chat-qr{display:block;aspect-ratio:1;border:1px solid #e0e6e4;border-radius:15px;background:#fff;object-fit:contain}.group-chat-admin-qr{width:92px}.group-chat-admin-qr.empty,.group-chat-editor-qr.empty,.group-chat-qr.empty{display:grid;place-items:center;align-content:center;color:#78868a;background:linear-gradient(145deg,#f5f8f7,#fff)}.group-chat-admin-qr.empty span,.group-chat-editor-qr.empty span,.group-chat-qr.empty span{font-weight:900}.group-chat-admin-qr.empty small,.group-chat-editor-qr.empty small,.group-chat-qr.empty small{margin-top:3px;font-size:8px}.group-chat-card-meta{display:flex;gap:7px;align-items:center}.group-platform{display:inline-flex;padding:5px 8px;border-radius:999px;background:#172f38;color:#fff;font-size:9px;font-weight:850;letter-spacing:.04em}.group-chat-admin-actions{display:grid;gap:7px}.group-chat-editor-card{position:sticky;top:86px;padding:23px;border-radius:22px}.group-chat-editor-card .field{margin-bottom:13px}.group-chat-editor-card input,.group-chat-editor-card select,.group-chat-editor-card textarea{box-sizing:border-box;width:100%;min-width:0}.group-chat-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.group-chat-qr-editor{display:grid;grid-template-columns:126px minmax(0,1fr);gap:14px;align-items:center;margin:5px 0 15px;padding:13px;border:1px solid #e1e7e5;border-radius:17px;background:#f8faf9}.group-chat-editor-qr{width:126px}.group-chat-qr-editor>div:last-child{display:grid;gap:8px}.group-chat-qr-editor .file-button{justify-content:center}.group-chat-qr-editor small{color:#7b888c;font-size:9px;line-height:1.45}.group-chat-visibility{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 15px}.group-chat-visibility label{display:flex;align-items:flex-start;gap:8px;padding:11px;border:1px solid #e0e6e4;border-radius:13px;background:#fafcfc;cursor:pointer}.group-chat-visibility input{width:auto;margin-top:3px;accent-color:#e86047}.group-chat-visibility strong,.group-chat-visibility small{display:block}.group-chat-visibility strong{font-size:10px}.group-chat-visibility small{margin-top:3px;color:#839095;font-size:8px;line-height:1.4}.group-chat-form-feedback:not(:empty){margin-bottom:12px;padding:11px;border-radius:11px;background:#edf5f6;color:#365b65;font-size:11px}.group-chat-form-feedback.error{background:#fff0ed;color:#a6402e}.group-chat-editor-actions{display:flex;justify-content:flex-end;gap:9px}.member-groups-page,.member-onboarding-page{min-height:calc(100vh - 80px);padding:54px clamp(18px,6vw,88px) 90px;background:#f4f6f5}.member-groups-hero{max-width:780px;margin:0 auto 34px;text-align:center}.member-groups-hero .eyebrow,.member-onboarding-hero .eyebrow{color:#e55d43;font-size:10px;font-weight:900;letter-spacing:.16em}.member-groups-hero h1{margin:12px 0 9px;font-size:clamp(39px,6vw,66px)}.member-groups-hero p{margin:0;color:#66757a;line-height:1.75}.member-group-directory,.onboarding-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:17px;max-width:1240px;margin:0 auto}.member-group-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;min-height:230px;padding:18px;border:1px solid #dfe6e4;border-radius:24px;background:#fff;box-shadow:0 13px 35px rgba(23,39,47,.055)}.member-group-card.onboarding{grid-template-columns:132px minmax(0,1fr);min-height:210px}.member-group-card .group-chat-qr{width:150px}.member-group-card.onboarding .group-chat-qr{width:132px}.member-group-card-content>div:first-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.member-group-card h3{margin:13px 0 7px;font-size:20px}.member-group-card p{margin:0;color:#65747a;font-size:12px;line-height:1.65}.member-group-code{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;padding:9px 10px;border-radius:11px;background:#f3f6f5}.member-group-code span{color:#758287;font-size:9px}.member-group-code code{font-weight:850}.member-group-code button{margin-left:auto;border:0;color:#d85740;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.member-group-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.member-group-actions .button-link{min-height:39px;padding:8px 13px;font-size:10px}.group-joined-check{display:flex;align-items:center;gap:7px;color:#5f706f;font-size:10px;cursor:pointer}.group-joined-check input{accent-color:#e75f46}

.member-group-code code{min-width:0;overflow-wrap:anywhere}.onboarding-profile-editor>div{min-width:0}.onboarding-profile-editor>div>span{max-width:100%;overflow-wrap:anywhere}.group-chat-admin-actions>button:only-child{grid-column:1/-1}

/* Account activation and first-member onboarding */
.login-help-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:12px 0;border-top:1px solid #e5eaeb;color:#718087;font-size:11px}.login-help-row a{color:#d95640;font-weight:800;text-decoration:none}.activation-page{min-height:100vh;color:#172b34;background:#f3f5f4}.activation-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px);border-bottom:1px solid #e0e6e4;background:rgba(255,255,255,.94)}.activation-header>a:last-child{color:#52636a;font-size:11px;font-weight:800;text-decoration:none}.activation-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(480px,1.2fr);min-height:calc(100vh - 78px)}.activation-intro{display:flex;flex-direction:column;padding:clamp(48px,7vw,92px);color:#fff;background:radial-gradient(circle at 85% 12%,rgba(239,109,87,.25),transparent 26%),linear-gradient(145deg,#172e37,#2d4b40)}.activation-intro>.eyebrow{color:#ff9b86;font-size:10px;font-weight:900;letter-spacing:.17em}.activation-intro h1{margin:20px 0 16px;font-size:clamp(42px,5vw,68px);line-height:1.05;letter-spacing:-.055em}.activation-intro>p{max-width:560px;margin:0;color:#c4d0cd;line-height:1.8}.activation-intro ol{display:grid;gap:8px;margin:auto 0 0;padding:35px 0 0;list-style:none}.activation-intro li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;color:#8fa19d}.activation-intro li>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.06);font-size:9px;font-weight:900}.activation-intro li strong,.activation-intro li small{display:block}.activation-intro li small{margin-top:3px;font-size:9px}.activation-intro li.active{border-color:rgba(255,155,134,.35);color:#fff;background:rgba(255,255,255,.06)}.activation-intro li.active>span,.activation-intro li.done>span{background:#ed745d;color:#fff}.activation-intro li.done{color:#bcc9c5}.activation-workspace{display:grid;place-items:center;align-content:center;padding:45px 22px}.activation-card{width:min(100%,560px);padding:36px;border:1px solid #dfe6e4;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(23,39,47,.1)}.activation-step-label{color:#e55d43;font-size:9px;font-weight:900;letter-spacing:.16em}.activation-card h2{margin:10px 0 7px;font-size:30px}.activation-card>p{margin:0 0 27px;color:#6f7c81;line-height:1.65}.activation-card form{display:grid;gap:14px}.activation-card form>.primary{min-height:50px}.activation-code-sent{padding:12px 14px;border-radius:12px;background:#eef8f3;color:#26704f;font-size:11px;line-height:1.6}.password-guidance{display:grid;gap:5px;padding:13px;border-radius:13px;background:#f4f7f6;color:#758287;font-size:9px}.password-guidance span::before{margin-right:6px;color:#2a805b;content:"✓"}.activation-feedback:not(:empty){margin-top:15px;padding:12px;border-radius:12px;background:#edf5f6;color:#365b65;font-size:11px}.activation-feedback.error{background:#fff0ed;color:#a6402e}.activation-feedback.success{background:#eaf8f0;color:#197047}.activation-help{max-width:520px;margin:15px auto 0;color:#7c898d;font-size:10px;text-align:center}.member-onboarding-page{background:linear-gradient(180deg,#eef3f1 0,#f7f8f7 320px)}.member-onboarding-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;max-width:1180px;margin:0 auto 26px;padding:35px;border-radius:28px;color:#fff;background:radial-gradient(circle at 88% 20%,rgba(239,109,87,.3),transparent 25%),linear-gradient(135deg,#173039,#315044)}.member-onboarding-hero h1{margin:10px 0 8px;font-size:clamp(34px,5vw,55px);line-height:1.08}.member-onboarding-hero p{max-width:760px;margin:0;color:#c8d4d0;line-height:1.7}.onboarding-progress-summary{min-width:150px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.07)}.onboarding-progress-summary span,.onboarding-progress-summary strong,.onboarding-progress-summary small{display:block}.onboarding-progress-summary span{color:#ffab99;font-size:9px;font-weight:900}.onboarding-progress-summary strong{margin:7px 0;font-size:20px}.onboarding-progress-summary small{color:#b8c7c2}.member-onboarding-form{display:grid;gap:17px;max-width:1180px;margin:0 auto}.onboarding-step-card{padding:28px;border-radius:24px}.onboarding-step-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:23px}.onboarding-step-head>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:13px;background:#19313a;color:#fff;font-size:10px;font-weight:900}.onboarding-step-head h2{margin:0 0 4px}.onboarding-step-head p{margin:0;color:#758287;font-size:12px}.onboarding-profile-editor{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid #e0e6e4;border-radius:18px;background:#f8faf9}.onboarding-profile-editor>.profile-avatar{flex:0 0 auto}.onboarding-profile-editor>div{display:grid;justify-items:start;gap:5px}.onboarding-profile-editor>div>strong{font-size:18px}.onboarding-profile-editor>div>span,.onboarding-profile-editor>div>small{color:#758287;font-size:10px}.onboarding-profile-editor .file-button{margin-top:5px}.onboarding-agreement>label{display:flex;align-items:flex-start;gap:11px;margin:9px 0;padding:15px;border:1px solid #e0e6e4;border-radius:15px;background:#fafcfc;cursor:pointer}.onboarding-agreement>label input{margin-top:4px;accent-color:#e75f46}.onboarding-agreement>label strong,.onboarding-agreement>label small{display:block}.onboarding-agreement>label small{margin-top:4px;color:#7d898d;font-size:10px;line-height:1.55}.onboarding-feedback:not(:empty){margin:12px 0;padding:12px;border-radius:12px;background:#edf5f6;color:#365b65;font-size:11px}.onboarding-feedback.error{background:#fff0ed;color:#a6402e}.onboarding-complete-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:62px;margin-top:16px;padding:12px 20px;text-align:left}.onboarding-complete-button span,.onboarding-complete-button small{display:block}.onboarding-complete-button span{font-size:16px}.onboarding-complete-button small{color:rgba(255,255,255,.75)}.onboarding-complete-card{max-width:760px;margin:8vh auto;padding:55px 34px;border:1px solid #d9e4df;border-radius:30px;background:#fff;box-shadow:0 25px 70px rgba(23,39,47,.1);text-align:center}.onboarding-complete-card>span{display:grid;place-items:center;width:66px;height:66px;margin:0 auto;border-radius:50%;background:#208b58;color:#fff;font-size:30px}.onboarding-complete-card h1{margin:10px 0;font-size:38px}.onboarding-complete-card>p:not(.eyebrow){color:#6e7c81;line-height:1.7}.onboarding-complete-card>div{display:flex;justify-content:center;gap:10px;margin-top:22px}

@media(max-width:1120px){.recruitment-application-card{grid-template-columns:54px minmax(0,1fr) auto}.recruitment-application-contact{display:none}.application-review-layout,.group-chat-admin-layout{grid-template-columns:1fr}.application-review-vote-card,.group-chat-editor-card{position:static}.group-chat-editor-card{grid-row:1}.activation-layout{grid-template-columns:minmax(300px,.7fr) minmax(440px,1.3fr)}}
@media(max-width:760px){.recruitment-application-card{grid-template-columns:45px minmax(0,1fr);padding:15px}.recruitment-applicant-avatar{width:44px;height:44px;border-radius:14px}.recruitment-application-card>.primary{grid-column:1/-1;width:100%}.application-review-page-head{grid-template-columns:1fr;align-items:flex-start;padding:17px}.application-review-page-head>.tag{justify-self:start}.application-review-layout{gap:14px}.application-profile-card,.application-answer-card,.application-history-card,.application-review-vote-card{padding:19px 16px}.application-profile-grid{grid-template-columns:1fr}.application-review-vote-form fieldset{grid-template-columns:1fr}.review-decision-card span{min-height:88px}.group-chat-admin-card{grid-template-columns:72px minmax(0,1fr)}.group-chat-admin-qr{width:72px}.group-chat-admin-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.group-chat-editor-grid,.group-chat-visibility{grid-template-columns:1fr}.group-chat-qr-editor{grid-template-columns:96px minmax(0,1fr)}.group-chat-editor-qr{width:96px}.member-groups-page,.member-onboarding-page{min-height:calc(100vh - 68px);padding:28px 12px 65px}.member-group-directory,.onboarding-group-grid{grid-template-columns:1fr}.member-group-card,.member-group-card.onboarding{grid-template-columns:112px minmax(0,1fr);padding:14px}.member-group-card .group-chat-qr,.member-group-card.onboarding .group-chat-qr{width:112px}.activation-header{height:68px;padding:0 14px}.activation-header .account-nav-brand span{display:none}.activation-layout{display:block}.activation-intro{min-height:auto;padding:34px 22px}.activation-intro h1{font-size:39px}.activation-intro ol{margin-top:28px;padding-top:0}.activation-workspace{padding:24px 12px 50px}.activation-card{padding:25px 19px;border-radius:22px}.activation-card h2{font-size:26px}.member-onboarding-hero{grid-template-columns:1fr;padding:25px 20px}.onboarding-progress-summary{min-width:0}.onboarding-step-card{padding:21px 16px}.onboarding-profile-editor{align-items:flex-start;flex-direction:column}.onboarding-complete-card{margin:5vh auto;padding:40px 20px}.onboarding-complete-card>div{align-items:stretch;flex-direction:column}}
@media(max-width:520px){.member-group-card,.member-group-card.onboarding{grid-template-columns:1fr}.member-group-card .group-chat-qr,.member-group-card.onboarding .group-chat-qr{width:min(100%,260px);margin:0 auto}.group-chat-qr-editor{grid-template-columns:1fr}.group-chat-editor-qr{width:min(100%,220px);margin:auto}.application-answer-list>article{grid-template-columns:32px minmax(0,1fr);padding:12px}.activation-intro li small{display:none}.activation-intro li{padding:9px}.activation-header>a:last-child{font-size:9px}}

/* Member registration invitations: separate profile data from account access. */
.member-save-notice{margin:0 0 20px;padding:15px 18px;border:1px solid #cfe4d8;border-radius:14px;background:#f0f8f3;color:#2b6245;line-height:1.65}
.member-row-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:160px;max-width:265px}
.member-row-actions .secondary{min-height:36px;padding:7px 12px;font-size:12px}
.member-mail-status{display:block;margin-top:7px;max-width:180px;color:#697b87;font-size:11px;line-height:1.5}
.member-account-panel{grid-column:1/-1;min-width:0;padding:22px;border:1px solid #efd6cb;border-radius:18px;background:linear-gradient(135deg,#fff9f6,#fff)}
.member-account-panel header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.member-account-panel h4{margin:5px 0 0;font-size:17px}
.member-account-panel .eyebrow,.member-registration-dialog .eyebrow{font-size:10px;letter-spacing:.14em;color:#bc5944}
.member-account-panel .field{margin-bottom:16px}
.member-account-panel input[readonly]{background:#f2f4f5;color:#687582}
.member-account-panel>p,.member-invitation-note{margin:12px 0 0;color:#74808a;font-size:12px;line-height:1.7}
.member-invite-toggle{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #eaded7;border-radius:12px;background:#fff;cursor:pointer}
.member-invite-toggle input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#e66b53}
.member-invite-toggle strong,.member-invite-toggle small{display:block}
.member-invite-toggle strong{font-size:14px;color:#213641}
.member-invite-toggle small{margin-top:5px;font-size:12px;font-weight:400;color:#73818a;line-height:1.6}
.modal.member-registration-dialog{width:min(620px,calc(100vw - 28px));max-height:92dvh;overflow:auto}
.member-registration-dialog .modal-head{align-items:center}
.member-registration-body{display:flex;flex-direction:column;gap:20px}
.member-invitation-person{display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;background:#f3f6f5}
.member-invitation-person .avatar{flex:none}
.member-invitation-person>div{min-width:0;overflow-wrap:anywhere}
.member-invitation-person strong,.member-invitation-person span:not(.avatar){display:block}
.member-invitation-person div>span{margin-top:4px;color:#6b7c83;font-size:12px;line-height:1.6}
.member-registration-body .field{width:100%;margin:0}
.member-registration-body .field small{display:block;margin-top:8px;color:#7a868c;font-size:12px;line-height:1.6}
.member-invitation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.member-invitation-steps span{padding:12px 8px;border:1px solid #e8ded8;border-radius:10px;background:#fdf9f6;text-align:center;color:#775f55;font-size:12px}
.member-form-feedback:empty{display:none}
.member-form-feedback{grid-column:1/-1;padding:12px 14px;border-radius:10px;background:#f1f5f7;color:#476277;line-height:1.65;font-size:13px}
.member-form-feedback.error{color:#a6382c;background:#fff0ec}
@media(max-width:600px){
  .member-account-panel{padding:16px}
  .member-registration-dialog .modal-head,.member-registration-dialog .modal-body{padding:18px}
  .member-invitation-steps{grid-template-columns:1fr}
  .member-invitation-steps span{text-align:left;padding:10px 14px}
  .member-registration-dialog .modal-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
  .member-registration-dialog .modal-actions button{width:100%;min-height:44px}
  .member-account-panel .field input,.member-registration-dialog .field input{font-size:16px}
  .member-invitation-person{align-items:flex-start}
}
