/* Registrarius branding — self-hosted (no CDN), works offline and behind the Windows
   SYSTEM Scheduled Task. Reproduces the FastAPI Tailwind design (web/templates/*.html):
     brand  #07139c   accent #a5e6ff   soft #c3ebfa   bodytext #4e4c4c   surface #f1f1f1
     body   #333 @18px/400 Ubuntu; headings regular weight 400, #4e4c4c
   Component sizing mirrors the Tailwind utilities used in the Jinja templates. */

:root {
  --brand: #07139c;
  --accent: #a5e6ff;
  --soft: #c3ebfa;
  --bodytext: #4e4c4c;
  --surface: #f1f1f1;
  --fail: #fde4dc;
  --ok: #1a7a3a;
  --err: #c0170c;
  --amber-bg: #fef3c7;
  --amber-border: #fcd34d;
  --amber-text: #b45309;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  color: #333;
  font-size: 18px;
  font-weight: 400;
  font-family: Ubuntu, Helvetica, "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 { font-weight: 400; color: var(--bodytext); margin: 0; }
a { color: #333; text-decoration: none; }
a:hover { color: var(--brand); }
p { margin: 0.5rem 0; }

/* ── Header ─────────────────────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid #f0f0f0;
}
.site-header .bar {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.site-header img { height: 3rem; width: auto; display: block; }
.site-header .logout {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--bodytext);
  font-size: 0.875rem;
  font-weight: 500;
}
.site-header .logout:hover { color: var(--brand); }
.site-header .logout svg { height: 1rem; width: 1rem; }

.site-header .menu {
  border-top: 1px solid #f0f0f0;
  background: rgba(241, 241, 241, 0.5);
}
.site-header .menu .inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
}
.site-header .menu nav { display: flex; align-items: center; gap: 0.25rem; }

.menu-item { position: relative; }
.menu-btn {
  border: 0;
  background: none;
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  color: var(--bodytext);
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
}
.menu-btn:hover { background: #fff; color: var(--brand); }
.menu-panel {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 0.25rem;
  min-width: 16rem;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(7, 19, 156, 0.04), 0 8px 24px rgba(7, 19, 156, 0.05);
  padding: 0.375rem;
  z-index: 40;
}
.menu-open .menu-panel { display: block; }
.menu-panel a, .menu-panel .disabled {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  color: var(--bodytext);
}
.menu-panel a:hover { background: rgba(195, 235, 250, 0.4); color: var(--brand); }
.menu-panel .disabled { color: #9ca3af; cursor: not-allowed; }
.menu-panel .sep { border-top: 1px solid #f0f0f0; margin: 0.25rem 0; }
.soon {
  margin-left: 0.5rem;
  border-radius: 9999px;
  background: #f3f4f6;
  padding: 0.05rem 0.4rem;
  font-size: 10px;
  font-weight: 500;
  color: #9ca3af;
}
.lang { display: inline-flex; align-items: center; gap: 0.375rem; user-select: none; }
.lang .active { font-weight: 600; color: var(--brand); }
.lang .off { color: #9ca3af; display: inline-flex; align-items: center; gap: 0.25rem; }
.lang .div { color: #d1d5db; }

/* ── Layout / footer ────────────────────────────────────────────────────── */
main { flex: 1 0 auto; width: 100%; }
.container { max-width: 72rem; margin: 0 auto; padding: 2rem 1.5rem; }

.site-footer {
  flex-shrink: 0;
  border-top: 1px solid #f0f0f0;
  background: rgba(241, 241, 241, 0.6);
}
.site-footer .inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
  color: var(--bodytext);
}
.site-footer .inner p { margin: 0; }
.site-footer .inner p:first-child { font-weight: 500; color: #333; }
.site-footer .inner p:last-child { color: #9ca3af; }

/* ── Cards ──────────────────────────────────────────────────────────────── */
.card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(7, 19, 156, 0.04), 0 8px 24px rgba(7, 19, 156, 0.05);
}
a.card { display: block; transition: border-color .15s, box-shadow .15s; }
a.card:hover { border-color: var(--brand); box-shadow: 0 4px 12px rgba(7, 19, 156, 0.1); }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: var(--brand);
  color: #fff;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: opacity .15s, background .15s, color .15s;
}
.btn:hover { opacity: 0.9; color: #fff; }
.btn svg { height: 1rem; width: 1rem; }
.btn-block { display: flex; width: 100%; }
.btn-outline { background: #fff; color: var(--brand); border-color: var(--brand); }
.btn-outline:hover { background: rgba(195, 235, 250, 0.4); color: var(--brand); opacity: 1; }
.btn-danger { background: #fff; color: var(--err); border-color: var(--err); }
.btn-danger:hover { background: #fef2f2; color: var(--err); opacity: 1; }
.btn-warn { background: #fff; color: var(--amber-text); border-color: var(--amber-border); }
.btn-warn:hover { background: #fffbeb; color: var(--amber-text); opacity: 1; }
.btn-disabled {
  background: #fff; color: #9ca3af; border-color: #e5e7eb; cursor: not-allowed;
  display: flex; width: 100%; justify-content: space-between;
}

/* ── Forms ──────────────────────────────────────────────────────────────── */
label { display: block; }
.field { display: block; margin-bottom: 1rem; }
.field-label { display: block; font-size: 0.875rem; color: var(--bodytext); margin-bottom: 0.375rem; }
.req { color: var(--err); }
.hint { font-size: 0.75rem; color: #9ca3af; }

input[type=text], input[type=password], input[type=search], input[type=email],
select, textarea {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font: inherit;
  font-size: 0.875rem;
  color: #333;
  background: #fff;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 2px var(--accent);
}
input[type=file] {
  width: 100%;
  font-size: 0.875rem;
  color: var(--bodytext);
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  background: rgba(241, 241, 241, 0.4);
  cursor: pointer;
}
input[type=file]::file-selector-button {
  margin-right: 1rem;
  border: 0;
  background: var(--brand);
  color: #fff;
  padding: 0.625rem 1rem;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}
input[type=file]::file-selector-button:hover { opacity: 0.9; }

/* small inputs used inside the dossier edit forms */
.input-sm { padding: 0.375rem 0.625rem; font-size: 0.75rem; border-radius: 0.375rem; }
.file-sm { font-size: 0.75rem; border: 0; background: none; }
.file-sm::file-selector-button {
  padding: 0.25rem 0.5rem; margin-right: 0.5rem; border-radius: 0.375rem;
  background: rgba(195, 235, 250, 0.5); color: var(--brand); font-size: 0.75rem;
}

/* ── Text helpers ───────────────────────────────────────────────────────── */
.eyebrow { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: #9ca3af; }
.muted { color: #6b7280; }
.faint { color: #9ca3af; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.page-title { color: var(--brand); font-size: 1.5rem; line-height: 1.2; }
.hero-title { color: var(--brand); font-size: 1.875rem; line-height: 1.15; }
.stack > * + * { margin-top: 0.5rem; }

/* ── Home ───────────────────────────────────────────────────────────────── */
.home-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.home-card { padding: 1.5rem; display: flex; flex-direction: column; }
.home-card h2 { color: var(--brand); font-size: 0.9rem; font-weight: 600; margin-bottom: 0.75rem; }
.home-card .go { margin-top: 1rem; color: var(--brand); font-weight: 500; font-size: 0.875rem; }
.recent-list { list-style: none; padding: 0; margin: 0; }
.recent-list li { margin-bottom: 0.5rem; }
.recent-list a {
  display: block;
  border: 1px solid #f0f0f0;
  border-radius: 0.5rem;
  padding: 0.625rem 0.875rem;
  transition: border-color .15s, background .15s;
}
.recent-list a:hover { border-color: var(--brand); background: rgba(241, 241, 241, 0.4); }
.recent-name { display: block; font-size: 0.875rem; font-weight: 500; color: var(--bodytext); }
.recent-file { display: block; font-size: 0.75rem; color: #9ca3af; }

/* ── Chips / badges / alerts ────────────────────────────────────────────── */
.chip {
  display: inline-flex; align-items: center; gap: 0.375rem;
  border-radius: 9999px; padding: 0.25rem 0.75rem;
  font-size: 0.75rem; font-weight: 500;
}
.chip-soft { background: rgba(195, 235, 250, 0.5); color: var(--brand); border: 1px solid var(--soft); }
.chip-ok { background: #dcfce7; color: var(--ok); }
.chip-err { background: #fee2e2; color: var(--err); }
.chip-neutral { background: #f3f4f6; color: #6b7280; }
.chip-warn { background: var(--amber-bg); color: var(--amber-text); border: 1px solid var(--amber-border); }
.alert { border-radius: 0.5rem; padding: 0.75rem 1rem; font-size: 0.875rem; }
.alert-ok { background: #f0fdf4; color: var(--ok); border: 1px solid #bbf7d0; }
.alert-err { background: #fef2f2; color: var(--err); border: 1px solid #fecaca; }

/* ── Stat tiles (validation) ────────────────────────────────────────────── */
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1rem 0; }
.stat-card { padding: 1.25rem; }
.stat-card p:first-child { margin: 0; }
.stat-num { font-size: 1.875rem; font-weight: 700; margin: 0.25rem 0 0; }

/* ── Validation table ───────────────────────────────────────────────────── */
.vtable-wrap { overflow: hidden; }
.vtable-scroll { max-height: 60vh; overflow: auto; }
.vtable { border-collapse: collapse; width: 100%; font-size: 0.875rem; }
.vtable thead th {
  position: sticky; top: 0; z-index: 10;
  background: var(--surface); text-align: left;
  font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.03em; color: #6b7280;
  font-weight: 500; padding: 0.75rem 1rem; border-bottom: 1px solid #e5e7eb;
}
.vtable td { padding: 0.625rem 1rem; vertical-align: top; border-bottom: 1px solid #f3f4f6; }
.vtable tbody tr:hover { background: rgba(241, 241, 241, 0.4); }
.vtable tr.fail { background: var(--fail); }
.vtable tr.fail:hover { background: var(--fail); }
.vtable tr.fail td { color: #7f1d1d; }
.vtable .num { color: #9ca3af; }
.vtable .status-ok { color: var(--ok); font-weight: 600; }
.vtable .status-fail { color: var(--err); font-weight: 600; }

/* legacy demo table (HtmlHelpers.Page) */
table { border-collapse: collapse; width: 100%; font-size: 13px; }
th, td { border: 1px solid #e3e3e3; padding: 4px 8px; text-align: left; vertical-align: top; }
th { background: var(--brand); color: #fff; }
tr.fail td { background: var(--fail); }

/* ── Dossier workspace ──────────────────────────────────────────────────── */
.dossier-head {
  padding: 0.75rem 1.5rem;
  background: rgba(241, 241, 241, 0.4);
  border-bottom: 1px solid #f0f0f0;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.dossier-head h1 { color: var(--brand); font-size: 1.125rem; font-weight: 700; margin: 0; }
.workspace {
  display: grid;
  grid-template-columns: 28% 44% 28%;
  border-bottom: 1px solid #f0f0f0;
  height: calc(100vh - 12.5rem);
  min-height: 30rem;
}
.pane { overflow-y: auto; overflow-x: hidden; }
.pane + .pane { border-left: 1px solid #f0f0f0; }
.pane-center { background: rgba(241, 241, 241, 0.3); }
.pane-head {
  position: sticky; top: 0; z-index: 10;
  background: #fff; border-bottom: 1px solid #f0f0f0;
  padding: 0.625rem 1rem;
}
.pane-title { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--brand); }
.pane-body { padding: 0.75rem; }

.filters { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-bottom: 0.5rem; }
.filter-btn {
  border: 1px solid #e5e7eb; background: #fff; color: var(--bodytext);
  border-radius: 0.375rem; padding: 0.25rem 0.5rem;
  font-size: 11px; font-weight: 500; cursor: pointer; transition: all .12s;
}
.filter-btn:hover { border-color: var(--brand); color: var(--brand); }
.filter-btn.active { background: var(--brand); color: #fff; border-color: var(--brand); }

#tree { padding: 0.5rem 0; }
.module-wrap { border: 1px solid #f0f0f0; border-radius: 0.5rem; margin-bottom: 0.375rem; }
.mod-btn {
  width: 100%; text-align: left; border: 0; background: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.5rem 0.75rem; border-radius: 0.5rem; font: inherit;
}
.mod-btn:hover { background: rgba(241, 241, 241, 0.5); }
.mod-btn .label { font-size: 0.75rem; font-weight: 600; color: var(--bodytext); }
.mod-count { border-radius: 9999px; background: rgba(195, 235, 250, 0.5); border: 1px solid var(--soft);
  padding: 0.05rem 0.5rem; font-size: 10px; font-weight: 500; color: var(--brand); }
.dot-err { display: inline-block; height: 0.5rem; width: 0.5rem; border-radius: 9999px; background: #ef4444; margin-right: 0.25rem; }
.mod-body { padding: 0 0.375rem 0.375rem; }

.section-wrap { margin-top: 0.25rem; }
.sec-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.25rem 0.5rem; border-radius: 0.375rem; background: rgba(241, 241, 241, 0.4);
}
.sec-head.empty { background: #fef2f2; }
.sec-code { font-family: ui-monospace, Menlo, monospace; font-size: 11px; color: var(--brand); margin-right: 0.25rem; }
.sec-head.empty .sec-code { color: var(--err); }
.sec-oblig { color: var(--err); font-weight: 700; }
.sec-empty-tag { color: var(--err); margin-left: 0.25rem; font-size: 11px; }
.sec-count { font-size: 10px; color: #9ca3af; }
.rep-line { font-size: 10px; color: #9ca3af; padding: 0.05rem 0 0.05rem 0.75rem; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc-list { list-style: none; padding: 0.125rem 0 0.125rem 0.375rem; margin: 0; }
.doc-row {
  width: 100%; text-align: left; border: 0; background: none; cursor: pointer;
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.375rem 0.5rem; border-radius: 0.375rem; transition: background .12s;
}
.doc-row:hover { background: rgba(195, 235, 250, 0.4); }
.doc-row.selected { background: rgba(195, 235, 250, 0.4); box-shadow: inset 3px 0 0 var(--brand); }
.doc-name { font-size: 11px; color: var(--bodytext); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc-code { border-radius: 0.25rem; background: rgba(195, 235, 250, 0.4); padding: 0.05rem 0.25rem; font-family: ui-monospace, Menlo, monospace; font-size: 9px; color: var(--brand); }
.doc-op { border-radius: 0.25rem; background: #f3f4f6; padding: 0.05rem 0.25rem; font-size: 9px; font-weight: 500; color: #6b7280; }
.doc-warn { color: #ef4444; }

/* right pane info */
.info-dl { font-size: 0.875rem; margin: 0.5rem 0; }
.info-row { display: flex; justify-content: space-between; gap: 0.5rem; padding: 0.1rem 0; }
.info-row dt { color: #9ca3af; margin: 0; }
.info-row dd { text-align: right; color: var(--bodytext); margin: 0; }
.subhead { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: #9ca3af; margin: 0.75rem 0 0.375rem; }
.count-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.375rem; font-size: 0.875rem; }
.count-tile { border-radius: 0.5rem; background: rgba(241, 241, 241, 0.6); padding: 0.375rem 0.625rem; display: flex; justify-content: space-between; }
.count-tile span { color: #9ca3af; }
.count-tile b { color: var(--bodytext); }
.val-chip { border-radius: 0.5rem; padding: 0.5rem 0.75rem; margin-top: 0.5rem; font-size: 0.75rem; font-weight: 500; }
.val-chip.ok { background: #f0fdf4; color: var(--ok); border: 1px solid #bbf7d0; }
.val-chip.err { background: #fef2f2; color: var(--err); border: 1px solid #fecaca; }
.actions-block > * { margin-bottom: 0.375rem; }
.edit-forms .card { padding: 0.625rem; margin-top: 0.5rem; }
.edit-forms .card > * + * { margin-top: 0.25rem; }
.edit-forms .form-title { font-size: 11px; color: #9ca3af; margin: 0 0 0.375rem; }
.lock-banner {
  border-radius: 0.5rem; border: 1px solid var(--amber-border); background: var(--amber-bg);
  padding: 0.5rem 0.75rem; font-size: 0.875rem; font-weight: 600; color: var(--amber-text); text-align: center;
}
.divider { border-top: 1px solid #f0f0f0; padding-top: 0.5rem; margin-top: 0.75rem; }
#previewPlaceholder { padding: 1.5rem; text-align: center; color: #9ca3af; }
#preview { width: 100%; height: 70vh; border: 0; background: #fff; }
#docinfo dl { margin: 0.25rem 0; }
#docinfo dt { margin-top: 0.5rem; }
#docinfo dd { margin: 0; }

/* ── Export wizard / result ─────────────────────────────────────────────── */
.narrow { max-width: 40rem; margin: 0 auto; }
.narrow-lg { max-width: 48rem; margin: 0 auto; }
.row-between { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.steps { display: flex; align-items: center; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; font-size: 0.75rem; font-weight: 500; color: #9ca3af; }
.steps .on { color: var(--brand); }
.option-card {
  display: flex; align-items: flex-start; gap: 0.75rem;
  border: 1px solid #e5e7eb; border-radius: 0.5rem; padding: 0.75rem; cursor: pointer; margin-top: 0.5rem;
}
.option-card:hover { border-color: var(--brand); }
.option-card input { width: auto; margin-top: 0.25rem; }
.option-card .t { font-size: 0.875rem; font-weight: 500; color: var(--bodytext); display: block; }
.option-card .d { font-size: 0.75rem; color: #6b7280; display: block; }
.check-row { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: var(--bodytext); margin: 0.75rem 0; }
.check-row input { width: auto; }
.export-dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0.25rem 1.5rem; font-size: 0.875rem; margin: 0.5rem 0; }
.xml-preview {
  background: var(--surface); border-radius: 0.5rem; padding: 1rem;
  font-size: 0.75rem; overflow: auto; max-height: 40vh;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre;
}

/* ── Progress bar (upload) ──────────────────────────────────────────────── */
.progress-label { display: flex; justify-content: space-between; font-size: 0.75rem; color: var(--bodytext); margin-bottom: 0.25rem; }
.progress-track { height: 0.5rem; width: 100%; border-radius: 9999px; background: var(--surface); overflow: hidden; }
.progress-bar { height: 0.5rem; background: var(--brand); width: 0%; transition: width .2s; }
.info-note {
  border-radius: 0.5rem; background: rgba(195, 235, 250, 0.4); border: 1px solid var(--soft);
  padding: 0.75rem 1rem; font-size: 0.75rem; color: var(--bodytext);
  display: flex; align-items: flex-start; gap: 0.5rem;
}
.info-note svg { height: 1rem; width: 1rem; color: var(--brand); flex-shrink: 0; margin-top: 0.125rem; }

/* ── Login ──────────────────────────────────────────────────────────────── */
.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; background: #fff; }
.login-box { width: 100%; max-width: 28rem; }
.login-logo { display: flex; justify-content: center; margin-bottom: 2rem; }
.login-logo img { height: 3.5rem; width: auto; }
.login-card { padding: 2rem; }
.login-card h1 { font-size: 1.25rem; font-weight: 600; color: var(--brand); text-align: center; margin-bottom: 0.25rem; }
.login-sub { font-size: 0.875rem; color: #9ca3af; text-align: center; margin: 0 0 1.5rem; }
.login-tag { text-align: center; font-size: 0.75rem; color: #333; margin-top: 1.5rem; }

/* ── Phase 0 parity additions ── */
.vstatus-list { list-style: none; margin: 0; padding: 0; }
.vstatus-row { display: flex; justify-content: space-between; align-items: center;
  padding: 0.375rem 0; border-bottom: 1px solid #f0f0f0; font-size: 0.875rem; }
.vstatus-row:last-child { border-bottom: 0; }
.vstatus-row .status-ok { color: var(--ok); font-weight: 600; }
.vstatus-row .status-fail { color: var(--err); font-weight: 600; }
.rep-edit { margin: 0.25rem 0 0.5rem 1.25rem; }
.rep-edit > summary { cursor: pointer; font-size: 0.75rem; color: var(--brand); }
.rep-edit form { margin: 0.375rem 0; display: flex; flex-direction: column; gap: 0.25rem; }

/* ── Phase 1 sequence block ── */
.seq-block { margin-top: 0.5rem; padding-top: 0.5rem; border-top: 1px solid #f0f0f0; }
.seq-block .form-title { font-weight: 600; font-size: 0.8125rem; margin: 0 0 0.375rem; }
.seq-switch { margin-bottom: 0.375rem; }
.seq-switch select { width: 100%; }
