/* Shared geeva palette for management, accounting, and survey pages. */
:root {
  --turquoise: #17bebb;
  --primary: #007f83;
  --primary-hover: #00676e;
  --primary-soft: #e7f7f5;
  --primary-tint: #f3fbfa;
  --primary-border: #b5dfdc;
  --sidebar: #076b73;
  --ink: #203f45;
  --muted: #587479;
  --line: #dcebea;
  --paper: #f4faf9;
  --danger: #a43f34;
  /* Compatibility aliases used by the existing screen components. */
  --green: var(--primary);
  --green-soft: var(--primary-soft);
  --rose: var(--primary);
  --rose-soft: var(--primary-soft);
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline-color: var(--primary);
}
.sidebar {background:var(--sidebar);color:#e3faf8}
.brand span,.workspace-label,.sidebar-bottom>p,.account small {color:#b9e8e4}
.sidebar nav a {color:#e3faf8}
.sidebar nav a:hover {background:#ffffff14}
.sidebar a:focus-visible,.sidebar button:focus-visible {outline-color:#7be5d8}
.sidebar nav a.active {background:#dcf8f3;color:#07565c}
.sidebar nav b {background:#b7e8e1;color:#07565c}
.env-dot {color:#d7f7ed}
.env-dot:before {background:#65e0cb}
.account {border-color:#ffffff30;color:#fff}
.account .avatar {background:#ffffff22}
.account button {color:#dbf7f4}
.topbar,.topbar-note,.app-footer,.summary-line {color:var(--muted)}
.demo-pill {background:var(--primary-tint);border-color:var(--primary-border);color:#17656a}
.eyebrow,.stat>span svg,.expand,.submark {color:#378589}
.btn,.source-select select {border-color:#cadfdd}
.btn:hover {background:var(--primary-soft)}
.btn.primary:hover {background:var(--primary-hover);border-color:var(--primary-hover)}
.icon-btn:hover {background:#007f8312}
.text-link,.summary-line b,.inventory-summary b {color:var(--primary-hover)}
.stat>span,.stat p,.stat strong small,.panel-heading p,.q-code,
.field,.form-note,.side-caption,.review-side p,.review-tools,.review-table details,
.workflow li,.tabs button,.inventory-summary,.order-unlinked {color:var(--muted)}
.side-caption {color:var(--muted)!important}
.stat:hover {border-color:var(--primary-border);box-shadow:0 5px 18px #007f830a}
th {background:#f5fbfa;color:#496b70}
td {border-bottom-color:#e7f0ef}
td small {color:#58787b}
tbody tr:hover,.subrow {background:#f3faf9}
.badge.confirmed,.badge.sent,.badge.published,.badge.simulated,
.badge.delivered,.badge.responded,.badge.active,.badge.complete {
  background:#dcf4ee;color:#156c62;
}
.confirmed-mark,.checklist .ok {color:#167563}
.start-panel,.hint-panel,.source-note,.reward-preview {
  background:var(--primary-soft);border-color:var(--primary-border);color:#35676b;
}
.start-panel .eyebrow,.start-panel p,.source-note p,.source-note>small {color:#4f7376}
.start-panel .btn {background:#fff;border-color:var(--primary-border)}
.start-graphic {color:#4f8787}
.start-graphic span,.workflow li:before {background:#eaf8f5;border-color:#b8ddda;color:#286f70}
.start-graphic i {background:#b8ddda}
.workflow li:after {border-color:var(--line)}
.search {background:#f8fcfb;border-color:#d3e5e3;color:#63888a}
.response-tabs a {border-color:var(--line)}
.response-tabs .active {border-color:var(--primary);background:var(--primary-soft)}
.review-table .answer {background:#f0f9f7}
.review-table .changed .answer {background:#edf0fb}
.review-table details p {background:#f5f8f9}
.field input,.field textarea,.field select,textarea#entry-note {border-color:#cadfdd;color:var(--ink)}
.field input:disabled,.field textarea:disabled,.field select:disabled {background:#f3f7f6;color:#6f8283}
fieldset.field,.inventory-summary,.stepper {border-color:var(--line)}
.stepper button {color:#5b787b}
.stepper button span {border-color:#c6e2de}
.stepper .active {background:var(--primary-soft)}
.stepper .active button {color:var(--primary-hover)}
.stepper .active span {background:var(--primary);border-color:var(--primary);color:white}
.stepper .done span {background:#dcf4ee;color:#156c62}
.theme-preview {background:var(--primary-tint);border-color:var(--primary-border)}
.theme-swatch {border-color:var(--primary-border)}
.theme-preview h3 {color:var(--primary-hover)}
.theme-preview p {color:var(--muted)}
.candidate-actions {background:#edf8f6}
.batch-result {border-color:var(--primary-border)}
#toast {background:#075e66;box-shadow:0 8px 25px #075e6630}
#toast.error {background:#9b534c}

/* Login uses the same turquoise identity as the authenticated workspace. */
.login-story {background:var(--sidebar);color:#f0fffc}
.login-story:after {border-color:#62e1d044}
.login-story .eyebrow,.login-story p,.login-copyright {color:#b9e8e4}
.login-line {color:#d7f7f1}
.login-line i {background:#62bcb9}
.login-form>p {color:var(--muted)}
.login-tabs {background:var(--primary-soft);border-color:var(--line)}
.login-tabs button {color:var(--muted)}
.login-tabs button.active {color:var(--primary-hover);box-shadow:0 2px 4px #007f8310}
.demo-help {background:var(--primary-tint);border-color:var(--line);color:var(--muted)}
.demo-help strong,.demo-help code {color:#306b6d}

/* The respondent keeps the mock's images and typography with the shared palette. */
.respondent {--ink:inherit;--muted:inherit;--line:inherit}
.respond-brand span,.respond-header>span,.respond-services>div>p,.service-grid p,
.survey-letter>p,.letter-sign,.participation-card dt,.consent,.respond-card>p,
.respond-card .field,.respond-progress-label,.respond-qmeta,.respond-card .question-caution,
.respond-nav .respond-back,.respond-card p.save-state,.respond-review-list small,
.character-count,.scale-captions,.respond-reward>span,.respond-reward>small,
.respond-footer,.respond-footer small {color:var(--muted)}
.respondent .respond-button:hover {background:var(--primary-hover)}
.respond-text-link {border-color:var(--primary-border)}
.demo-banner,.release-badge {background:var(--primary-tint);border-color:var(--primary-border);color:#326d71}
.service-grid article>div,.participate {background:var(--primary-tint)}
.letter-sign,.respond-review-list>div {border-color:var(--line)}
.respond-card {box-shadow:0 18px 55px #007f8308}
.respond-card .field input,.respond-textarea {border-color:#b8dad7;color:var(--ink)}
.respond-progress {background:#dff2ee}
.respond-qmeta .optional {background:#f1f5f4;color:#5e7475}
.respond-choices>label,.respond-scale span,.respond-matrix fieldset,.respond-matrix label {border-color:#c7e2de}
.respond-choices label:has(input:checked) {background:var(--primary-soft);border-color:var(--primary)}
.respond-review-list p {color:var(--ink)}
.branch-row {background:var(--primary-tint)}
@media(max-width:720px) {.respond-card {box-shadow:none}}

.entry-filters.entry-survey-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.survey-tab-group{min-width:0}
.survey-tabs-label{font-size:12px;color:var(--ink);margin-bottom:9px}
.survey-tabs-label>span{font-size:10px;color:var(--muted);margin-left:10px}
.survey-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 3px;scrollbar-width:thin}
.survey-tabs [role=tab]{flex:none;min-width:118px;padding:10px 12px 7px;border:1px solid var(--line);border-bottom:3px solid var(--line);border-radius:6px;background:#fff;text-align:left}
.survey-tabs [role=tab]:hover{background:var(--primary-tint);border-color:var(--primary-border)}
.survey-tabs [aria-selected=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-hover)}
.survey-tab-main{display:flex;align-items:center;gap:9px;justify-content:space-between}
.survey-tab-name{font-size:13px;font-weight:600;white-space:nowrap}
.survey-pending-count{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:12px;padding:0 6px;background:#eff4f3;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.survey-pending-count.has-pending{background:var(--primary);color:#fff;font-weight:600}
.survey-tabs [role=tab]>small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.survey-tabs-empty{font-size:12px;color:var(--muted);padding:12px 0}
.entry-period-filters{display:flex;gap:16px;padding-bottom:4px}
.entry-period-filters .field{min-width:155px}
.selected-survey{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 23px 0;font-size:12px}
.selected-survey>span:last-child{color:var(--muted);font-size:11px}
@media(max-width:1200px){.entry-filters.entry-survey-layout{grid-template-columns:minmax(0,1fr);gap:14px}.entry-period-filters{justify-content:flex-end}.entry-period-filters .field{flex:none!important}}
@media(max-width:600px){.entry-period-filters .field{min-width:0;flex:1!important}.entry-period-filters{gap:10px}.survey-tabs [role=tab]{min-width:112px}.selected-survey{padding-inline:20px}}

.entry-information-table{min-width:2020px}
.entry-table .wedding-id{font-size:13px;color:var(--primary-hover);overflow-wrap:anywhere}
.entry-information-table td:first-child{min-width:245px}
.response-id{display:block;font-size:10px;overflow-wrap:anywhere;margin-top:5px;color:var(--muted)}
.wedding-overview{margin-bottom:20px}
.wedding-heading{padding:19px 22px;display:flex;gap:20px;align-items:center;justify-content:space-between;background:var(--primary-tint)}
.wedding-heading span{font-size:11px;color:var(--muted)}
.wedding-heading h2{font-size:21px;overflow-wrap:anywhere;color:var(--primary-hover)}
.wedding-heading p{font-size:11px;color:var(--muted);margin-top:6px}
.wedding-heading>strong{white-space:nowrap;font-size:13px}
.wedding-response-list{min-width:1060px}
.wedding-response-list td{padding:13px}
.wedding-response-list code{font-size:10px;display:block;overflow-wrap:anywhere}
.wedding-response-list .current-response{background:var(--primary-soft)}
.wedding-response-list .current-response>td:first-child{border-left:3px solid var(--primary)}
.current-response-heading{margin:0 0 18px;padding:12px 16px;border-left:3px solid var(--primary);background:#fff;font-size:12px}
.current-response-heading>span{font-weight:600;margin-right:12px}
.current-response-heading code{overflow-wrap:anywhere}
.current-response-heading small{display:block;color:var(--muted);margin-top:4px}
.response-assignment .field{font-size:12px}
.response-history ol{list-style:none;padding:0;margin:0;max-height:450px;overflow-y:auto}
.response-history li{padding:12px 0;border-top:1px solid var(--line)}
.response-history li>strong,.response-history li>span,.response-history li>small{display:block;font-size:11px}
.response-history li>span,.response-history li>small{color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
@media(max-width:720px){.wedding-heading{padding:15px;align-items:flex-start;flex-direction:column;gap:8px}.wedding-heading h2{font-size:18px}.current-response-heading code{display:block;margin-top:5px}}

/* Static privacy page for survey respondents. */
.privacy-main{width:min(760px,calc(100% - 40px));margin:42px auto 72px}
.privacy-card{padding:38px 42px 42px;border:1px solid var(--line);border-radius:9px;box-shadow:0 18px 55px #007f8308;background:#fff;color:var(--ink)}
.privacy-title{font:400 clamp(24px,3vw,29px)/1.6 var(--serif);letter-spacing:.02em;margin:0 0 28px;overflow-wrap:anywhere}
.privacy-title span{display:inline-block}
.privacy-card p,.privacy-card li{font-size:15px;line-height:2;overflow-wrap:anywhere}
.privacy-card p+p{margin-top:16px}
.privacy-section{margin-top:34px}
.privacy-section h2{font:400 21px/1.7 var(--serif);padding-bottom:10px;margin:0 0 17px;border-bottom:1px solid var(--line)}
.privacy-section ul{margin:12px 0 16px;padding-left:1.5em}
.privacy-section li+li{margin-top:6px}
.privacy-card a{color:#00676e;text-decoration:underline;text-underline-offset:3px}
.privacy-signature{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);text-align:right;color:var(--muted)}
.privacy-signature p{font-size:12px;line-height:1.9}
.privacy-signature p+p{margin-top:0}
@media(max-width:720px){
  .privacy-main{width:100%;margin:0 auto 48px}
  .privacy-card{border:0;border-radius:0;box-shadow:none;padding:30px 20px 36px}
  .privacy-title{font-size:23px;margin-bottom:24px}
  .privacy-section{margin-top:30px}
  .privacy-section h2{font-size:19px}
  .privacy-card p,.privacy-card li{font-size:14px;line-height:1.95}
  .privacy-signature p{font-size:12px;line-height:1.9}
}
