:root { --campaign-ink: #252433; --campaign-muted: #737383; --campaign-accent: #7455ca; --campaign-border: #e9e6ef; --campaign-surface: #fff; }
[hidden] { display: none !important; }
.account-nav { position: absolute; top: max(22px, env(safe-area-inset-top)); right: max(28px, env(safe-area-inset-right)); display: flex; align-items: center; gap: 10px; z-index: 10; max-width: calc(100% - 32px); }
.account-button { padding: 10px 16px; border: 1px solid #36343e; border-radius: 11px; background: #18181b; color: #f4f4f5; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; max-width: 230px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.account-button-primary { background: #8b5cf6; border-color: #8b5cf6; }
.account-status { font-size: 12px; color: #b9b5c6; max-width: 240px; }
.campaign-dialog { margin: auto; max-height: calc(100dvh - 32px); overflow-y: auto; width: 440px; max-width: calc(100vw - 32px); padding: 30px; border: 1px solid #ece8f2; border-radius: 25px; background: #fff; color: var(--campaign-ink); text-align: left; box-shadow: 0 30px 100px #0005; font-family: inherit; }
.campaign-dialog::backdrop { background: #090913b8; backdrop-filter: blur(8px); }
.campaign-dialog button, .campaign-admin button { font-family: inherit; cursor: pointer; }
.auth-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.campaign-brand { display: flex; align-items: center; gap: 9px; font-size: 18px; font-weight: 800; letter-spacing: -.5px; }
.campaign-brand > span { font-size: 24px; }
.icon-button { display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f4f2f7; color: #777080; font-size: 24px; line-height: 1; }
.auth-language { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-bottom: 24px; font-size: 12px; color: var(--campaign-muted); }
.auth-language select { border: 1px solid var(--campaign-border); border-radius: 8px; background: #fff; padding: 6px 8px; font: inherit; color: var(--campaign-ink); }
.campaign-dialog h2 { font-size: 27px; line-height: 1.22; letter-spacing: -.8px; margin: 0 0 10px; font-weight: 750; }
.campaign-dialog .muted { color: var(--campaign-muted); line-height: 1.6; font-size: 14px; margin-bottom: 24px; }
.auth-field { margin-top: 17px; }
.auth-field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.auth-field input { width: 100%; border: 1px solid #ddd9e6; background: #fcfbfd; border-radius: 11px; padding: 12px 14px; font: inherit; font-size: 15px; color: var(--campaign-ink); }
.field-hint { font-size: 12px; color: var(--campaign-muted); margin-top: 7px; }
.text-button { border: 0; background: transparent; color: var(--campaign-accent); font-size: 13px; font-weight: 600; padding: 7px 0; }
.auth-forgot { display: block; margin: 10px 0 17px auto; }
.campaign-primary, .campaign-secondary { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 42px; padding: 11px 17px; border-radius: 11px; font-size: 13px; line-height: 1.4; font-weight: 650; transition: background .15s, box-shadow .15s; }
.campaign-primary { background: var(--campaign-accent); border: 1px solid var(--campaign-accent); color: #fff; box-shadow: 0 4px 12px #7455ca22; }
.campaign-primary:hover { background: #6346b4; }
.campaign-secondary { background: #fff; border: 1px solid #e4e0eb; color: #625b70; }
.campaign-secondary:hover { background: #f7f5fa; }
#auth-submit { width: 100%; margin-top: 18px; min-height: 46px; }
.campaign-dialog button:disabled, .campaign-admin button:disabled, .account-button:disabled { opacity: .5; cursor: default; }
.campaign-dialog :focus-visible, .campaign-admin :focus-visible, .account-nav :focus-visible { outline: 3px solid #aa8beb; outline-offset: 3px; }
.campaign-dialog input:focus-visible, .admin-search input:focus-visible { outline-offset: 1px; }
.auth-divider { display: flex; align-items: center; gap: 14px; color: #96909e; font-size: 12px; margin: 23px 0; }
.auth-divider::before, .auth-divider::after { content: ''; height: 1px; background: var(--campaign-border); flex: 1; }
.google-button { width: 100%; display: flex; align-items: center; justify-content: center; gap: 11px; padding: 13px; background: #fff; color: #45414e; border: 1px solid #e4e0eb; border-radius: 11px; font-size: 13px; font-weight: 600; }
.auth-terms { font-size: 11px; color: #817988; line-height: 1.8; margin-top: 18px; }
.auth-terms a { color: var(--campaign-accent); }
.auth-switch { display: block; margin: 20px auto 0; text-align: center; }
.campaign-message { border: 1px solid #e4def0; padding: 12px 14px; border-radius: 12px; background: #f7f4fd; color: #63527d; font-size: 13px; line-height: 1.6; margin: 16px 0; overflow-wrap: anywhere; }
.campaign-message[data-tone="error"] { border-color: #f0d7d7; background: #fff4f4; color: #a33e43; }
.campaign-message[data-tone="success"] { border-color: #d3e9dc; background: #eff9f3; color: #357552; }
body.campaign-admin-open { background: #f8f7fb; color: var(--campaign-ink); align-items: stretch; justify-content: flex-start; padding: 100px 36px 36px; }
body.campaign-admin-open .account-button { background: #fff; color: #625b70; border-color: #e5e0ee; }
body.campaign-admin-open .account-status { color: var(--campaign-muted); }
.campaign-admin { width: 100%; max-width: 1120px; margin: 0 auto; text-align: left; }
.admin-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 28px; }
.admin-eyebrow { font-size: 10px; font-weight: 750; letter-spacing: 1.6px; color: #9683b1; line-height: 1.6; }
.admin-heading .admin-eyebrow { color: #806aa6; margin-bottom: 14px; }
.admin-heading .admin-eyebrow span { font-size: 18px; margin-right: 6px; }
.admin-heading h2 { font-size: clamp(25px, 3.4vw, 36px); font-weight: 750; letter-spacing: -1.2px; margin: 0 0 12px; line-height: 1.2; }
.admin-heading p { font-size: 14px; line-height: 1.6; color: var(--campaign-muted); }
.admin-heading > button { flex-shrink: 0; }
.admin-action-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 24px; }
.admin-action-card { display: flex; align-items: center; gap: 13px; text-align: left; border: 1px solid var(--campaign-border); padding: 21px 18px; border-radius: 16px; background: #fff; color: var(--campaign-ink); min-width: 0; box-shadow: 0 3px 12px #35214e03; }
.admin-action-card.active { border-color: #b39ae2; background: #fbf9ff; box-shadow: 0 0 0 1px #b39ae21a; }
.admin-action-card strong { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; line-height: 1.5; }
.admin-action-card small { display: block; color: var(--campaign-muted); font-size: 11px; line-height: 1.5; }
.admin-card-icon { flex-shrink: 0; display: inline-flex; width: 43px; height: 43px; align-items: center; justify-content: center; border-radius: 13px; font-size: 23px; }
.feedback-icon { background: #eee6fc; color: #8064b7; }
.gift-icon { background: #fff0df; }
.responses-icon { background: #e7f3ec; color: #699b82; font-size: 28px; }
.admin-card-arrow { margin-left: auto; color: #aca3b8; font-size: 18px; }
.admin-workspace { border: 1px solid var(--campaign-border); border-radius: 19px; background: #fff; overflow: hidden; box-shadow: 0 8px 30px #39275804; }
.admin-list-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 28px 23px; }
.admin-list-header h3 { font-size: 21px; letter-spacing: -.5px; margin: 6px 0 9px; }
.admin-list-header p { font-size: 12px; color: var(--campaign-muted); line-height: 1.6; max-width: 640px; }
.admin-stat { display: flex; align-items: baseline; gap: 7px; white-space: nowrap; font-size: 12px; color: #8a7d9c; background: #f7f4fc; border: 1px solid #ede7f6; padding: 11px 14px; border-radius: 11px; }
.admin-stat strong { font-size: 22px; letter-spacing: -.7px; color: #76618f; }
.admin-tools { display: flex; gap: 12px; padding: 0 28px 20px; }
.admin-search { display: flex; align-items: center; gap: 10px; flex: 1; border: 1px solid #e6e1ed; border-radius: 11px; padding: 0 13px; color: #9c90ab; background: #fdfcff; }
.admin-search input { width: 100%; min-width: 0; padding: 12px 0; border: 0; background: transparent; color: var(--campaign-ink); font: inherit; font-size: 13px; }
.admin-search input::placeholder { color: #a49aaa; }
.admin-selection { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 28px; background: #fcfbfe; border-top: 1px solid #f0edf5; border-bottom: 1px solid #f0edf5; }
.admin-selection label { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 650; }
.admin-selection > span { color: #9b90a8; font-size: 11px; }
.campaign-admin input[type="checkbox"] { appearance: auto; width: 16px; height: 16px; accent-color: var(--campaign-accent); cursor: pointer; }
.admin-table-scroll { width: 100%; overflow-x: auto; }
.admin-users-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; }
.admin-users-table th { padding: 12px 14px; font-size: 10px; color: #a095ad; font-weight: 650; letter-spacing: .5px; border-bottom: 1px solid #eeebf3; }
.admin-users-table td { padding: 14px; border-bottom: 1px solid #f3f0f7; font-size: 12px; color: #71647f; }
.admin-users-table tr:last-child td { border-bottom: 0; }
.admin-users-table tbody tr:hover { background: #fdfbff; }
.admin-users-table th:nth-child(2) { width: auto; }
.admin-users-table th:nth-child(3) { width: 105px; }
.admin-users-table th:nth-child(4) { width: 95px; }
.admin-users-table .checkbox-cell { width: 55px; padding-left: 28px; }
.admin-user-info { display: flex; align-items: center; gap: 12px; min-width: 0; }
.admin-avatar { display: flex; width: 34px; height: 34px; flex-shrink: 0; justify-content: center; align-items: center; font-size: 12px; font-weight: 700; border-radius: 50%; background: #f0eaf8; color: #9071b0; }
.admin-user-info > div { min-width: 0; }
.admin-user-name { display: block; font-size: 12px; font-weight: 650; color: #4f445d; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-email { display: block; font-size: 11px; color: #a194ad; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-plan { display: inline-flex; align-items: center; padding: 4px 9px; background: #f4f1f7; color: #93839f; border-radius: 6px; font-size: 10px; }
.admin-plan.pro { color: #916a38; background: #fff3df; }
.admin-empty { text-align: center; padding: 35px 20px; font-size: 13px; color: var(--campaign-muted); }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 28px; border-top: 1px solid #f0edf4; color: #a096aa; font-size: 11px; }
.admin-pagination > div { display: flex; gap: 8px; }
.admin-pagination button { min-height: 32px; font-size: 11px; padding: 6px 12px; border-radius: 8px; }
.admin-send-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 21px 28px; border-top: 1px solid #ede8f4; background: #faf8fd; }
.admin-send-bar strong { display: block; font-size: 13px; color: #6d588c; margin-bottom: 5px; }
.admin-send-bar span { display: block; font-size: 11px; color: #a091b1; line-height: 1.5; }
.admin-send-bar .campaign-primary > span { color: #fff; font-size: 19px; }
.admin-footnote { font-size: 11px; text-align: center; color: #a297ad; margin-top: 22px; }
.admin-response-list { display: grid; gap: 13px; padding: 0 28px 25px; }
.admin-response { padding: 20px; background: #fdfbff; border: 1px solid #ede7f6; border-radius: 13px; }
.admin-response-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.admin-response-header strong { font-size: 13px; }
.admin-response-header small { display: block; font-size: 11px; color: #9a8ca8; margin-top: 5px; overflow-wrap: anywhere; }
.admin-response time { font-size: 11px; color: #9a8ca8; }
.admin-response dt { font-size: 11px; font-weight: 600; color: #8f7e9f; margin: 13px 0 6px; }
.admin-response dd { font-size: 13px; line-height: 1.7; color: #60506f; white-space: pre-wrap; overflow-wrap: anywhere; }
.send-dialog { width: 460px; }
.send-preview-icon { display: flex; width: 68px; height: 68px; align-items: center; justify-content: center; background: #f3ebfd; border-radius: 20px; font-size: 34px; color: #8b6eba; margin: 22px 0; }
.send-preview { padding: 18px; border: 1px solid #ece5f4; border-radius: 13px; background: #fbf9fe; color: #7c6890; font-size: 13px; line-height: 1.8; margin-bottom: 22px; }
.send-preview strong { display: block; color: #69507f; margin-bottom: 9px; }
.send-dialog-actions { display: flex; gap: 10px; justify-content: flex-end; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .account-nav { top: max(18px, env(safe-area-inset-top)); right: 18px; gap: 7px; }
  .account-button { padding: 9px 12px; max-width: 185px; font-size: 12px; }
  .account-status { max-width: 130px; font-size: 10px; }
  body.campaign-admin-open { padding: 94px 16px 28px; }
  .admin-heading { align-items: flex-start; gap: 14px; }
  .admin-heading > button { padding: 7px 11px; font-size: 11px; min-height: 34px; }
  .admin-heading h2 { font-size: 25px; }
  .admin-heading p { font-size: 12px; }
  .admin-action-grid { grid-template-columns: 1fr; gap: 9px; }
  .admin-action-card { padding: 15px; gap: 12px; }
  .admin-action-card strong { margin-bottom: 3px; }
  .admin-card-icon { width: 39px; height: 39px; }
  .admin-list-header { padding: 21px 18px 20px; gap: 12px; align-items: flex-start; }
  .admin-list-header h3 { font-size: 20px; }
  .admin-stat { padding: 8px 9px; gap: 4px; font-size: 10px; }
  .admin-stat strong { font-size: 18px; }
  .admin-tools { padding: 0 18px 18px; gap: 8px; }
  .admin-tools > button { padding: 9px 11px; }
  .admin-selection { padding: 14px 18px; align-items: flex-start; flex-direction: column; gap: 8px; }
  .admin-users-table .checkbox-cell { width: 40px; padding-left: 18px; }
  .admin-users-table th, .admin-users-table td { padding: 13px 9px; }
  .admin-users-table th:nth-child(3) { width: 70px; }
  .admin-users-table th:nth-child(4) { width: 62px; }
  .admin-user-info { gap: 9px; }
  .admin-avatar { display: none; }
  .admin-pagination { padding: 15px 18px; gap: 8px; flex-wrap: wrap; }
  .admin-send-bar { padding: 19px 18px; flex-direction: column; align-items: stretch; gap: 16px; }
  .admin-send-bar .campaign-primary { width: 100%; }
  .admin-response-list { padding: 0 18px 20px; }
  .admin-response-header { flex-direction: column; }
  .campaign-dialog { padding: 25px; }
}
@media (prefers-reduced-motion: reduce) { .campaign-primary, .campaign-secondary { transition: none; } .campaign-dialog::backdrop { backdrop-filter: none; } }

.gift-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:0;margin:0 0 22px}.gift-options[hidden]{display:none}.gift-options legend{font-weight:700;font-size:12px;color:#587165;margin-bottom:10px}.gift-options label{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid #d9e1d6;border-radius:16px;background:#fafcf5;cursor:pointer}.gift-options label:has(input:checked){border-color:#1d7857;background:#eef8eb;box-shadow:0 0 0 1px #1d7857}.gift-options input{accent-color:#1d7857}.gift-options strong,.gift-options small{display:block}.gift-options strong{font-size:13px;color:#28503c}.gift-options small{font-size:11px;color:#657c69;margin-top:5px}.gift-options:disabled{opacity:.65}@media(max-width:560px){.gift-options{grid-template-columns:1fr}}
