/* Light theme. Tokens first; everything below uses them. */
:root {
  color-scheme: light;
  --bg: #f4f6fb; --card: #ffffff; --tx: #1e2433; --tx-2: #475069; --tx-3: #7b849b;
  --border: #e4e8f1; --border-strong: #cfd6e4;
  --primary: #4f46e5; --primary-hover: #4338ca; --primary-soft: #eef0ff;
  --danger: #e5484d; --danger-hover: #cf3a3f; --secondary: #eef1f8; --secondary-hover: #e2e7f3;
  --ok: #12a150; --ok-soft: #e8f8ef;
  --shadow: 0 1px 2px rgb(30 36 51 / .04), 0 8px 24px rgb(30 36 51 / .06);
  --radius: 14px; --radius-sm: 10px;
}
* { box-sizing: border-box; }
body {
  margin: 0; color: var(--tx); font: 14px/1.55 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Roboto, sans-serif;
  background: radial-gradient(900px 360px at 50% -120px, #e3e6ff 0%, transparent 70%), var(--bg);
  min-height: 100vh; -webkit-font-smoothing: antialiased;
}
code { background: var(--secondary); padding: 1px 6px; border-radius: 6px; font-size: .92em; }

.container { max-width: 760px; margin: 0 auto; padding: 44px 16px 80px; }
.page-title { font-size: 28px; line-height: 1.2; font-weight: 700; letter-spacing: -.02em; margin: 0 0 6px; }
.page-desc { font-size: 15px; color: var(--tx-2); margin: 0 0 28px; max-width: 60ch; }

/* cards + dropdowns */
.card, .accordion { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 16px; }
.card { padding: 22px; }
.card h2 { font-size: 15px; font-weight: 650; margin: 0 0 4px; }
.hint { font-size: 12.5px; color: var(--tx-3); margin: 0 0 14px; }
.accordion > summary { list-style: none; cursor: pointer; padding: 18px 22px; font-size: 15px; font-weight: 650; display: flex; justify-content: space-between; align-items: center; border-radius: var(--radius); transition: background .15s; }
.accordion > summary:hover { background: #fafbff; }
.accordion > summary::-webkit-details-marker { display: none; }
.accordion > summary::after { content: ''; width: 8px; height: 8px; border-right: 2px solid var(--tx-3); border-bottom: 2px solid var(--tx-3); transform: rotate(45deg); transition: transform .18s; }
.accordion[open] > summary { border-bottom: 1px solid var(--border); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.accordion[open] > summary::after { transform: rotate(-135deg); }
.accordion-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 26px; }
.accordion-body h3 { font-size: 13.5px; font-weight: 650; margin: 0 0 4px; }

/* forms */
.row { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.stack { display: flex; flex-direction: column; gap: 14px; }
.mb { margin-bottom: 14px; }
.full { width: 100%; }
.narrow { max-width: 380px; }
.between { justify-content: space-between; align-items: center; }
.field-label { display: block; font-size: 12px; font-weight: 500; color: var(--tx-2); margin-bottom: 5px; }
.field-input {
  padding: 9px 12px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  background: #fff; color: var(--tx); font: inherit; transition: border-color .15s, box-shadow .15s;
}
.field-input::placeholder { color: #a6aec2; }
.field-input:hover { border-color: #b9c2d6; }
.field-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgb(79 70 229 / .14); }
textarea.field-input { resize: vertical; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.w-60 { width: 60px; } .w-80 { width: 80px; } .w-100 { width: 100px; } .w-120 { width: 120px; } .w-140 { width: 140px; }

/* buttons */
.btn { padding: 9px 16px; border: 0; border-radius: var(--radius-sm); font: inherit; font-weight: 550; cursor: pointer; color: var(--tx); background: var(--secondary); transition: background .15s, transform .05s, box-shadow .15s; }
.btn:hover { background: var(--secondary-hover); }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: none; box-shadow: 0 0 0 4px rgb(79 70 229 / .22); }
.btn:disabled { opacity: .5; cursor: default; transform: none; }
.btn-primary { background: var(--primary); color: #fff; box-shadow: 0 1px 2px rgb(79 70 229 / .35); }
.btn-primary:hover { background: var(--primary-hover); }
.btn-secondary { background: var(--secondary); }
.btn-danger { background: var(--danger); color: #fff; box-shadow: 0 1px 2px rgb(229 72 77 / .35); }
.btn-danger:hover { background: var(--danger-hover); }
a.btn { text-decoration: none; display: inline-block; }

/* notices on admin pages */
.alert { padding: 10px 14px; border-radius: var(--radius-sm); margin: 0 0 14px; font-size: 13px; border: 1px solid transparent; }
.alert-error { background: #fef2f2; color: #b42318; border-color: #fecaca; }
.alert-ok { background: var(--ok-soft); color: #0b7a3c; border-color: #bfe9d0; }
.sticky { position: sticky; bottom: 0; padding: 14px 0; background: linear-gradient(to top, var(--bg) 70%, transparent); }

/* existing declarations */
.existing { margin-top: 16px; overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.existing h4 { font-size: 12px; font-weight: 650; margin: 0; padding: 10px 12px; color: var(--tx-2); background: #fafbfe; border-bottom: 1px solid var(--border); }
.existing table { border-collapse: collapse; width: 100%; font-size: 12.5px; }
.existing th, .existing td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.existing tr:last-child td { border-bottom: 0; }
.existing th { font-weight: 550; color: var(--tx-3); font-size: 11.5px; text-transform: uppercase; letter-spacing: .03em; }
.existing .mono { font-size: 12px; }
.existing .btn { padding: 4px 12px; font-size: 12px; }
.existing tr.selected td { background: var(--primary-soft); }
.existing tr.selected td:first-child { box-shadow: inset 3px 0 0 var(--primary); }
.badge { padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 550; background: var(--secondary); color: var(--tx-2); }
.badge-sent { background: var(--ok-soft); color: #0b7a3c; }

/* notifications */
#toasts { position: fixed; top: 18px; left: 50%; transform: translateX(-50%); width: min(560px, calc(100vw - 32px)); display: flex; flex-direction: column; gap: 10px; z-index: 50; pointer-events: none; }
.toast { pointer-events: auto; display: flex; gap: 12px; align-items: center; padding: 14px 16px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: #fff; box-shadow: 0 10px 30px rgb(30 36 51 / .16); font-size: 14px; font-weight: 500; text-align: center; animation: toast-in .2s ease-out; }
.toast span { flex: 1; overflow-wrap: anywhere; }
.toast button { background: none; border: 0; color: inherit; opacity: .6; cursor: pointer; font-size: 18px; line-height: 1; padding: 0; }
.toast button:hover { opacity: 1; }
.toast-success { background: #ecfdf3; border-color: #86d9a8; color: #0b6b36; }
.toast-error { background: #fef2f2; border-color: #f5a3a6; color: #a1262b; }
.toast-info { background: #f4f6fb; border-color: var(--border-strong); color: var(--tx-2); }
@keyframes toast-in { from { opacity: 0; transform: translateY(-8px); } }

@media (max-width: 520px) { .container { padding-top: 28px; } .page-title { font-size: 24px; } .card, .accordion-body { padding-left: 16px; padding-right: 16px; } }

.admin-bar { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: -20px 0 22px; }
.admin-bar form { margin: 0; }
.admin-bar-label { font-size: 12px; color: var(--tx-3); margin-right: auto; }
.admin-bar .btn { padding: 5px 12px; font-size: 12.5px; }

/* "?" help buttons + modal */
.heading { display: flex; align-items: center; gap: 8px; }
.card h2.heading { margin: 0 0 14px; }
.accordion-body h3.heading { margin: 0 0 12px; }
.help-btn { flex: none; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #c9ceff; background: var(--primary-soft); color: var(--primary); font: inherit; font-size: 15px; font-weight: 700; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .15s, color .15s, transform .1s; }
.help-btn:hover { background: var(--primary); color: #fff; transform: scale(1.06); }
.help-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px rgb(79 70 229 / .22); }
.help-dialog { border: 0; padding: 0; border-radius: var(--radius); box-shadow: 0 24px 60px rgb(30 36 51 / .28); width: min(520px, calc(100vw - 32px)); color: var(--tx); background: #fff; }
.help-dialog::backdrop { background: rgb(30 36 51 / .42); backdrop-filter: blur(2px); }
.help-dialog[open] { animation: dialog-in .16s ease-out; }
.help-content { padding: 24px; }
.help-content h3 { font-size: 17px; font-weight: 700; margin: 0 0 10px; letter-spacing: -.01em; }
.help-content p { margin: 0 0 20px; color: var(--tx-2); font-size: 14.5px; line-height: 1.65; }
.help-content form { display: flex; justify-content: flex-end; margin: 0; }
@keyframes dialog-in { from { opacity: 0; transform: translateY(8px) scale(.98); } }

/* saved companies */
.company-list { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.company-list:empty { display: none; }
.company-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #fafbfe; }
.company-item strong { font-weight: 600; }
.company-item .mono { color: var(--tx-3); font-size: 12px; margin-left: 8px; }
.company-item .btn { padding: 4px 12px; font-size: 12px; }
.company-empty { margin: 0; font-size: 13px; color: var(--tx-3); }
select.field-input { padding-right: 28px; }

/* ===== 3D depth layer =====
   Raised surfaces: light top edge + layered shadows. Keys (buttons): a solid "side" under the face that
   collapses when pressed. Fields: sunken (inset). Everything below overrides the flat styles above. */
:root {
  --lift-1: 0 1px 0 rgb(255 255 255 / .95) inset, 0 -1px 0 rgb(30 36 51 / .04) inset,
    0 1px 2px rgb(30 36 51 / .06), 0 6px 12px -4px rgb(30 36 51 / .10), 0 22px 40px -14px rgb(70 80 160 / .22);
  --lift-2: 0 1px 0 rgb(255 255 255 / .95) inset, 0 -1px 0 rgb(30 36 51 / .04) inset,
    0 2px 4px rgb(30 36 51 / .07), 0 12px 22px -6px rgb(30 36 51 / .14), 0 34px 56px -16px rgb(70 80 160 / .30);
  --sunken: inset 0 2px 4px rgb(30 36 51 / .08), 0 1px 0 rgb(255 255 255 / .9);
}
body { background: radial-gradient(900px 380px at 50% -140px, #dfe3ff 0%, transparent 70%), linear-gradient(180deg, #f4f6fc 0%, #eaeef8 100%); background-attachment: fixed; }

.card, .accordion { background: linear-gradient(180deg, #ffffff 0%, #f9faff 100%); border: 1px solid #dde3f1; box-shadow: var(--lift-1); }
.card { transition: transform .18s ease, box-shadow .18s ease; }
.card:hover { transform: translateY(-2px); box-shadow: var(--lift-2); }
.accordion[open] { box-shadow: var(--lift-2); }
.accordion > summary:hover { background: linear-gradient(180deg, #fbfcff, #f3f5ff); }

/* inputs: pressed into the card */
.field-input { background: linear-gradient(180deg, #f6f8fd 0%, #ffffff 40%); border-color: #d3dbea; box-shadow: var(--sunken); }
.field-input:focus { box-shadow: var(--sunken), 0 0 0 4px rgb(79 70 229 / .16); }

/* buttons: raised keys */
.btn { position: relative; border: 1px solid transparent; transition: transform .08s ease, box-shadow .08s ease, background .15s; }
.btn-primary {
  background: linear-gradient(180deg, #6a63f2 0%, #4f46e5 100%); border-color: #4338ca;
  box-shadow: 0 1px 0 rgb(255 255 255 / .35) inset, 0 3px 0 #372fb0, 0 8px 14px -2px rgb(79 70 229 / .45);
}
.btn-primary:hover { background: linear-gradient(180deg, #7a74f5 0%, #5a52ea 100%); }
.btn-secondary, .btn:not(.btn-primary):not(.btn-danger) {
  background: linear-gradient(180deg, #ffffff 0%, #e9edf7 100%); border-color: #cdd4e6;
  box-shadow: 0 1px 0 #fff inset, 0 3px 0 #c3cbe0, 0 7px 12px -3px rgb(30 36 51 / .18);
}
.btn-secondary:hover, .btn:not(.btn-primary):not(.btn-danger):hover { background: linear-gradient(180deg, #ffffff 0%, #dfe5f4 100%); }
.btn-danger {
  background: linear-gradient(180deg, #f0585c 0%, #e5484d 100%); border-color: #cf3a3f;
  box-shadow: 0 1px 0 rgb(255 255 255 / .3) inset, 0 3px 0 #a92b30, 0 8px 14px -2px rgb(229 72 77 / .45);
}
.btn-danger:hover { background: linear-gradient(180deg, #f46b6f 0%, #ea5358 100%); }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(3px); box-shadow: 0 1px 0 rgb(255 255 255 / .25) inset, 0 0 0 transparent; }
.btn:disabled, .btn:disabled:hover { transform: translateY(2px); box-shadow: none; opacity: .55; }
.btn:focus-visible { box-shadow: 0 0 0 4px rgb(79 70 229 / .28); }
.existing .btn:not(.btn-primary):not(.btn-danger) { box-shadow: 0 1px 0 #fff inset, 0 2px 0 #c3cbe0; }
.existing .btn.btn-primary { box-shadow: 0 1px 0 rgb(255 255 255 / .35) inset, 0 2px 0 #372fb0; }
.existing .btn:active { transform: translateY(2px); box-shadow: none; }
.toast button, .help-btn { box-shadow: none; }

/* "?" buttons: small raised dome */
.help-btn { background: radial-gradient(circle at 30% 25%, #ffffff 0%, #e6e9ff 55%, #d3d8ff 100%); border-color: #bcc3ff; box-shadow: 0 2px 0 #aeb6f7, 0 5px 8px -2px rgb(79 70 229 / .35), 0 1px 0 #fff inset; }
.help-btn:hover { background: radial-gradient(circle at 30% 25%, #7f79f6 0%, #4f46e5 70%); box-shadow: 0 2px 0 #372fb0, 0 6px 10px -2px rgb(79 70 229 / .5); transform: translateY(-1px); }
.help-btn:active { transform: translateY(2px); box-shadow: none; }

/* floating layers */
.toast { box-shadow: 0 1px 0 rgb(255 255 255 / .7) inset, 0 4px 8px rgb(30 36 51 / .10), 0 18px 36px -8px rgb(30 36 51 / .28); }
.help-dialog { box-shadow: 0 1px 0 #fff inset, 0 8px 16px rgb(30 36 51 / .12), 0 40px 90px -10px rgb(30 36 51 / .45); background: linear-gradient(180deg, #fff, #f9faff); }
.help-dialog[open] { animation: dialog-pop .22s cubic-bezier(.2, .9, .3, 1.2); }
@keyframes dialog-pop { from { opacity: 0; transform: translateY(14px) scale(.96); } }

/* table + list rows */
.existing { box-shadow: var(--sunken); background: #fff; }
.company-item { background: linear-gradient(180deg, #ffffff, #f5f7fd); border-color: #dde3f1; box-shadow: 0 1px 0 #fff inset, 0 2px 4px rgb(30 36 51 / .06), 0 6px 10px -6px rgb(30 36 51 / .14); }
.badge { box-shadow: 0 1px 0 #fff inset, 0 1px 2px rgb(30 36 51 / .12); }
.alert { box-shadow: 0 1px 0 rgb(255 255 255 / .6) inset, 0 4px 10px -4px rgb(30 36 51 / .15); }

@media (prefers-reduced-motion: reduce) {
  .card, .btn, .help-btn { transition: none; }
  .card:hover, .btn:hover, .help-btn:hover { transform: none; }
  .help-dialog[open], .toast { animation: none; }
}

/* authenticate form: saved-company picker on its own row, then username / password / Send on one row */
.auth-row #company-pick-wrap { flex: 1 1 100%; }
.auth-row #company-pick { width: 100%; }
.auth-row > div:not(#company-pick-wrap) { flex: 1 1 180px; min-width: 0; }
.auth-row .field-input { width: 100%; }
.auth-row .btn { flex: none; }

/* "?" next to a dropdown title */
.summary-title { display: inline-flex; align-items: center; gap: 10px; }
.accordion-body > .help-dialog { margin: auto; }

/* centered page header */
.page-title { text-align: center; }
.page-desc { text-align: center; margin-left: auto; margin-right: auto; }

/* dropdown bodies: no section headings, so a rule separates the lookup part from save / send */
.accordion-body > section + section { border-top: 1px solid var(--border); padding-top: 22px; }
.accordion-body .row > .help-btn { align-self: center; }

/* signed-in banner */
.auth-chip { display: flex; width: fit-content; max-width: 100%; align-items: center; gap: 8px; margin: -10px auto 24px; padding: 8px 16px; border-radius: 999px; font-size: 14px; color: #0b6b36; border: 1px solid #86d9a8; background: linear-gradient(180deg, #f3fff8, #dff7e9); box-shadow: 0 1px 0 #fff inset, 0 3px 0 #b5e6c9, 0 10px 18px -8px rgb(18 161 80 / .45); animation: toast-in .2s ease-out; }
.auth-chip[hidden] { display: none; }
.auth-chip strong { font-weight: 650; }
.auth-chip .mono { color: #3f8f62; font-size: 12.5px; }
.auth-chip-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 3px rgb(18 161 80 / .22); }

/* profit Annex N3 table */
.n3 { margin-bottom: 18px; }
.n3-title { font-size: 13.5px; font-weight: 650; margin: 0 0 8px; }
.n3-check { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px 12px; border: 1px solid #f3d9a4; border-radius: var(--radius-sm); background: linear-gradient(180deg, #fffaf0, #fff4de); color: #7a4a05; font-size: 13px; font-weight: 500; cursor: pointer; box-shadow: 0 1px 0 #fff inset, 0 2px 6px -3px rgb(122 74 5 / .3); }
.n3-check input { width: 18px; height: 18px; accent-color: var(--primary); cursor: pointer; flex: none; }
.n3-scroll { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--sunken); background: #fff; }
.n3-table { border-collapse: collapse; width: 100%; min-width: 620px; font-size: 12.5px; }
.n3-table th, .n3-table td { padding: 8px 5px; border-bottom: 1px solid var(--border); text-align: right; vertical-align: middle; }
.n3-table thead th { font-weight: 550; font-size: 11.5px; color: var(--tx-3); background: #fafbfe; text-align: center; line-height: 1.3; }
.n3-table thead th:first-child, .n3-table tbody th { text-align: left; }
.n3-table tbody th { font-weight: 550; color: var(--tx); width: 18%; padding-left: 10px; }
.n3-table thead th:first-child { padding-left: 10px; }
.n3-table td:last-child, .n3-table thead th:last-child { padding-right: 10px; background: #fafbfe; }
.n3-table tr:last-child th, .n3-table tr:last-child td { border-bottom: 0; }
.n3-input { width: 100%; min-width: 68px; padding: 6px 6px; text-align: right; font-size: 12.5px; }
.n3-input:disabled { background: #f1f3f9; color: var(--tx-3); box-shadow: none; cursor: not-allowed; }
.n3-na { background: repeating-linear-gradient(135deg, #fafbfe, #fafbfe 6px, #f3f5fb 6px, #f3f5fb 12px); }
.n3-out { display: block; padding: 6px 8px; font-weight: 650; color: var(--tx); white-space: nowrap; }

/* numbered steps */
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.step-no { flex: none; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: #fff; background: linear-gradient(180deg, #6a63f2, #4f46e5); box-shadow: 0 1px 0 rgb(255 255 255 / .35) inset, 0 2px 0 #372fb0, 0 6px 10px -3px rgb(79 70 229 / .5); }
.accordion-body.steps { gap: 0; }
.step { position: relative; display: flex; gap: 14px; padding-bottom: 26px; }
.step:last-child { padding-bottom: 0; }
.step:not(:last-child)::before { content: ''; position: absolute; left: 12px; top: 32px; bottom: 6px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, #c9ceff, #e4e8f1); }
.step-main { flex: 1; min-width: 0; }
.step > .step-badge { margin-top: 4px; }
.step:not(:last-child)::before { top: 36px; }
.card h2.heading .step-badge { margin-right: 2px; }

/* multi-line error lists + invalid cells */
.toast-multi { align-items: flex-start; }
.toast-multi span { white-space: pre-line; text-align: left; line-height: 1.55; }
.field-input[aria-invalid="true"] { border-color: var(--danger); background: #fff5f5; box-shadow: var(--sunken), 0 0 0 3px rgb(229 72 77 / .2); }

/* green tick on a finished step */
.step-badge { position: relative; flex: none; display: inline-flex; }
.step-done { position: absolute; top: -7px; right: -8px; width: 17px; height: 17px; border-radius: 50%; display: none; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; line-height: 1; color: #fff; background: linear-gradient(180deg, #2fc46b, #12a150); box-shadow: 0 0 0 2px #fff, 0 3px 6px rgb(18 161 80 / .5); }
.step-badge[data-done="true"] .step-done { display: inline-flex; animation: tick-pop .28s cubic-bezier(.2, .9, .3, 1.4); }
@keyframes tick-pop { from { transform: scale(.3); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .step-badge[data-done="true"] .step-done { animation: none; } }

/* FAQ + contacts (public page) */
.section-title { font-size: 18px; font-weight: 700; letter-spacing: -.01em; margin: 40px 0 14px; text-align: center; }
.faq-answer { padding: 16px 22px 20px; color: var(--tx-2); font-size: 14px; line-height: 1.65; white-space: pre-line; border-top: 1px solid var(--border); }
.faq-item { margin-bottom: 12px; }
.contact-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.contact { display: flex; flex-direction: column; gap: 2px; min-width: 200px; padding: 14px 20px; text-decoration: none; color: var(--tx); border: 1px solid #dde3f1; border-radius: var(--radius); background: linear-gradient(180deg, #fff, #f9faff); box-shadow: var(--lift-1); transition: transform .18s ease, box-shadow .18s ease; }
.contact:hover { transform: translateY(-2px); box-shadow: var(--lift-2); }
.contact:focus-visible { outline: none; box-shadow: 0 0 0 4px rgb(79 70 229 / .28); }
.contact-label { font-size: 11.5px; font-weight: 550; text-transform: uppercase; letter-spacing: .04em; color: var(--tx-3); }
.contact-value { font-size: 15px; font-weight: 600; color: var(--primary); overflow-wrap: anywhere; }

/* admin: FAQ editor + section links */
.admin-jump { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.admin-jump a { padding: 5px 12px; border-radius: 999px; border: 1px solid var(--border-strong); background: #fff; color: var(--tx-2); text-decoration: none; font-size: 12.5px; font-weight: 550; }
.admin-jump a:hover { background: var(--primary-soft); color: var(--primary); border-color: #c9ceff; }
.faq-row { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #fafbfe; }
.faq-row-fields { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.faq-row-actions { display: flex; flex-direction: column; gap: 6px; }
.faq-row-actions .btn { padding: 4px 9px; font-size: 12px; min-width: 34px; }
.faq-actions { margin-top: 16px; }
html { scroll-behavior: smooth; scroll-padding-top: 16px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.alert ul { margin: 6px 0 0; padding-left: 18px; }
.alert strong { font-weight: 650; }
.faq-row-invalid { border-color: var(--danger); background: #fff5f5; }
