/* ============================================================
   NOTARY NETWORK — Global Design System
   File: public/css/app.css
   ============================================================ */

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --brand:          #1D9E75;
  --brand-dark:     #0F6E56;
  --brand-light:    #E1F5EE;
  --brand-pale:     #F0FAF6;

  --text-primary:   #1a1a1a;
  --text-secondary: #5a5a5a;
  --text-muted:     #909090;
  --text-inverse:   #ffffff;

  --bg-page:        #F7F8FA;
  --bg-card:        #ffffff;
  --bg-subtle:      #F3F4F6;
  --bg-hover:       #F0FAF6;

  --border:         #e4e4e4;
  --border-focus:   #1D9E75;

  --radius-sm:      6px;
  --radius-md:      10px;
  --radius-lg:      16px;
  --radius-xl:      24px;

  --shadow-sm:      0 1px 3px rgba(0,0,0,.07);
  --shadow-md:      0 4px 16px rgba(0,0,0,.09);
  --shadow-lg:      0 8px 32px rgba(0,0,0,.11);

  --nav-h:          64px;
  --sidebar-w:      240px;
  --content-max:    1180px;

  --font:           -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono:      'SFMono-Regular', Consolas, monospace;

  --transition:     150ms ease;

  /* Status */
  --success-bg:   #EAF3DE; --success-text: #27500A;
  --warning-bg:   #FAEEDA; --warning-text: #633806;
  --danger-bg:    #FCEBEB; --danger-text:  #791F1F;
  --info-bg:      #E6F1FB; --info-text:    #0C447C;
  --neutral-bg:   #F1EFE8; --neutral-text: #444441;
  --danger:         #DC2626;
}

html { font-size: 16px; -webkit-text-size-adjust: 100%; }

body {
  font-family:      var(--font);
  font-size:        15px;
  line-height:      1.6;
  color:            var(--text-primary);
  background:       var(--bg-page);
  min-height:       100vh;
}

a { color: var(--brand-dark); text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; display: block; }

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.25;
  color: var(--text-primary);
}
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
h4 { font-size: 1rem; }

p { margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }

/* ── Layout Shell ── */
.site-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.site-main {
  flex: 1;
  padding: 2rem 1.5rem;
}

.container {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.container--narrow { max-width: 720px; margin: 0 auto; }
.container--wide   { max-width: 1400px; margin: 0 auto; }

/* ── Top Navigation ── */
.nav {
  height: var(--nav-h);
  background: #fff;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--shadow-sm);
}

.nav__inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1.5rem;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: nowrap;
  min-width: 0;
}

.nav__search {
  position: relative;
  flex: 0 1 440px;
  min-width: 0;
  max-width: 440px;
}

.nav__search-input {
  width: 100%;
  min-width: 0;
  padding: 0.5rem 0.85rem 0.5rem 2.25rem;
  font-size: 0.875rem;
  line-height: 1.35;
  background: var(--surface-muted, #f9fafb) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' viewBox='0 0 24 24'%3E%3Cpath d='M10 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12zm8.707 13.293-3.4-3.4A8 8 0 1 0 2 10a8 8 0 0 0 12.893 6.307l3.4 3.4a1 1 0 0 0 1.415-1.414z'/%3E%3C/svg%3E") no-repeat 0.75rem center;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}

.nav__search-input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-light);
  background-color: #fff;
}

.nav__search-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md, 0 8px 24px rgba(0, 0, 0, 0.08));
  max-height: 360px;
  overflow: auto;
}

.nav__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 0;
}

.nav__brand-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

.nav__brand-icon {
  width: 34px;
  height: 34px;
  background: var(--brand);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
}

.nav__links {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  list-style: none;
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: nowrap;
  overflow: hidden;
}

.nav__links a {
  display: block;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background var(--transition), color var(--transition);
}

.nav__links a:hover,
.nav__links a.active {
  background: var(--brand-light);
  color: var(--brand-dark);
}

.nav__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
  flex-wrap: nowrap;
}

.nav__actions .btn {
  white-space: nowrap;
}

.nav__actions .badge {
  white-space: nowrap;
}

.capability-switcher {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 280px;
}

.capability-switcher__label {
  flex-shrink: 0;
}

.capability-switcher__buttons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.capability-switcher__form {
  margin: 0;
}

.capability-switcher__active {
  pointer-events: none;
}

@media (max-width: 900px) {
  .capability-switcher {
    display: none;
  }
}

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 20px;
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background var(--transition), border-color var(--transition), transform var(--transition);
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
}

.btn:active { transform: scale(0.98); }

.btn--primary {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}
.btn--primary:hover {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  text-decoration: none;
  color: #fff;
}

.btn--outline {
  background: transparent;
  color: var(--brand-dark);
  border-color: var(--brand);
}
.btn--outline:hover {
  background: var(--brand-light);
  text-decoration: none;
}

.btn--ghost {
  background: transparent;
  color: var(--text-secondary);
  border-color: var(--border);
}
.btn--ghost:hover { background: var(--bg-hover); text-decoration: none; }

.btn--danger {
  background: #E24B4A;
  color: #fff;
  border-color: #E24B4A;
}
.btn--danger:hover { background: #A32D2D; border-color: #A32D2D; text-decoration: none; color:#fff; }

.btn--sm { padding: 6px 14px; font-size: 13px; }
.btn--lg { padding: 12px 28px; font-size: 16px; }
.btn--full { width: 100%; justify-content: center; }

.btn:disabled, .btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── Cards ── */
.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  box-shadow: var(--shadow-sm);
}

.card--flat { box-shadow: none; }
.card--hover { transition: box-shadow var(--transition), transform var(--transition); cursor: pointer; }
.card--hover:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.card__title { font-size: 1rem; font-weight: 600; }
.card__subtitle { font-size: 13px; color: var(--text-muted); margin-top: 2px; }

/* ── Notary Profile Card ── */
.notary-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);
}
.notary-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.notary-card__head { display: flex; align-items: center; gap: 12px; }

.notary-card__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--brand-light);
  color: var(--brand-dark);
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.notary-card__avatar img { width: 100%; height: 100%; object-fit: cover; }

.notary-card__name { font-size: 15px; font-weight: 600; }
.notary-card__meta { font-size: 12px; color: var(--text-muted); margin-top: 2px; }

.notary-card__services {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.notary-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.notary-card__rate { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.notary-card__rate span { font-size: 12px; font-weight: 400; color: var(--text-muted); }

/* ── Badges & Tags ── */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.badge--success  { background: var(--success-bg); color: var(--success-text); }
.badge--warning  { background: var(--warning-bg); color: var(--warning-text); }
.badge--danger   { background: var(--danger-bg);  color: var(--danger-text); }
.badge--info     { background: var(--info-bg);    color: var(--info-text); }
.badge--neutral  { background: var(--neutral-bg); color: var(--neutral-text); }
.badge--brand    { background: var(--brand-light); color: var(--brand-dark); }

.tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 500;
  background: var(--bg-page);
  color: var(--text-secondary);
  border: 1px solid var(--border);
}

/* ── Star Rating ── */
.stars { display: inline-flex; gap: 2px; color: #EF9F27; font-size: 14px; }
.stars--sm { font-size: 12px; }
.rating { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.rating__count { color: var(--text-muted); }

/* ── Forms ── */
.form-group { margin-bottom: 1.25rem; }

.form-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 6px;
}
.form-label .required { color: #E24B4A; margin-left: 2px; }

.form-control, .form-input {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: var(--font);
  color: var(--text-primary);
  background: #fff;
  transition: border-color var(--transition), box-shadow var(--transition);
  appearance: none;
}

.form-control:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(29,158,117,.15);
}

.form-control::placeholder { color: var(--text-muted); }
.form-control:disabled { background: var(--bg-page); opacity: 0.7; }

textarea.form-control { min-height: 100px; resize: vertical; }
select.form-control { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23909090' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }

.form-hint  { font-size: 12px; color: var(--text-muted); margin-top: 5px; }
.form-error { font-size: 12px; color: var(--danger-text); margin-top: 5px; }
.form-control.is-invalid { border-color: #E24B4A; }

.form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

/* ── Flash Messages ── */
.flash {
  padding: 12px 16px;
  border-radius: var(--radius-md);
  font-size: 14px;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.flash--success { background: var(--success-bg); color: var(--success-text); }
.flash--warning { background: var(--warning-bg); color: var(--warning-text); }
.flash--danger  { background: var(--danger-bg);  color: var(--danger-text); }
.flash--info    { background: var(--info-bg);    color: var(--info-text); }

/* ── Stat / Metric Cards ── */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.stat-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  box-shadow: var(--shadow-sm);
}

.stat-card__label { font-size: 12px; color: var(--text-muted); font-weight: 500; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 6px; }
.stat-card__value { font-size: 1.75rem; font-weight: 700; color: var(--text-primary); line-height: 1; }
.stat-card__sub   { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.stat-card__trend-up   { color: var(--success-text); }
.stat-card__trend-down { color: var(--danger-text); }

/* ── Tables ── */
.table-wrap { overflow-x: auto; border-radius: var(--radius-lg); border: 1px solid var(--border); }

table.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.data-table thead { background: var(--bg-page); }
.data-table th {
  padding: 11px 16px;
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.data-table td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table tbody tr:hover { background: var(--bg-hover); }

/* ── Page Headers ── */
.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.page-header__title  { font-size: 1.5rem; font-weight: 700; }
.page-header__sub    { font-size: 14px; color: var(--text-muted); margin-top: 4px; }
.page-header__actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }

/* ── Section Headers ── */
.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.section-title { font-size: 1rem; font-weight: 600; }

/* ── Search Bar ── */
.search-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 10px 16px;
  box-shadow: var(--shadow-sm);
}
.search-bar input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 15px;
  font-family: var(--font);
  color: var(--text-primary);
  background: transparent;
}
.search-bar input::placeholder { color: var(--text-muted); }
.search-bar__icon { color: var(--text-muted); font-size: 20px; flex-shrink: 0; }
.search-bar__divider { width: 1px; height: 20px; background: var(--border); }

/* ── Dashboard Layout ── */
.dashboard {
  display: grid;
  grid-template-columns: var(--sidebar-w) 1fr;
  gap: 0;
  min-height: calc(100vh - var(--nav-h));
}

.sidebar {
  background: #fff;
  border-right: 1px solid var(--border);
  padding: 1.5rem 0;
  position: sticky;
  top: var(--nav-h);
  height: calc(100vh - var(--nav-h));
  overflow-y: auto;
}

.sidebar__section { margin-bottom: 0.5rem; }
.sidebar__label {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 8px 20px 4px;
}

.sidebar__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.sidebar__link:hover { background: var(--bg-hover); color: var(--brand-dark); text-decoration: none; }
.sidebar__link.active { background: var(--brand-pale); color: var(--brand-dark); border-left-color: var(--brand); }
.sidebar__link i { font-size: 18px; flex-shrink: 0; }

.dashboard__content { padding: 2rem; overflow-y: auto; }

/* ── Avatar ── */
.avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--brand-light);
  color: var(--brand-dark);
  font-size: 15px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; flex-shrink: 0;
}
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.avatar--sm { width: 30px; height: 30px; font-size: 12px; }
.avatar--lg { width: 64px; height: 64px; font-size: 22px; }
.avatar--xl { width: 96px; height: 96px; font-size: 32px; }

/* ── Divider ── */
.divider { border: none; border-top: 1px solid var(--border); margin: 1.5rem 0; }

/* ── Empty State ── */
.empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  color: var(--text-muted);
}
.empty-state i { font-size: 48px; margin-bottom: 1rem; color: var(--border); }
.empty-state h3 { font-size: 1rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 0.5rem; }
.empty-state p  { font-size: 14px; max-width: 360px; margin: 0 auto 1.25rem; }

/* ── Loading Spinner ── */
.spinner {
  width: 24px; height: 24px;
  border: 2.5px solid var(--border);
  border-top-color: var(--brand);
  border-radius: 50%;
  animation: spin .7s linear infinite;
  display: inline-block;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Pagination ── */
.pagination { display: flex; gap: 4px; align-items: center; justify-content: center; margin-top: 1.5rem; }
.pagination a, .pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border-radius: var(--radius-md);
  font-size: 14px; font-weight: 500;
  color: var(--text-secondary);
  border: 1px solid var(--border);
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
}
.pagination a:hover { background: var(--bg-hover); color: var(--brand-dark); text-decoration: none; }
.pagination .active { background: var(--brand); color: #fff; border-color: var(--brand); }

/* ── Footer ── */
.footer {
  background: #fff;
  border-top: 1px solid var(--border);
  padding: 2rem 1.5rem;
  margin-top: auto;
}
.footer__inner {
  max-width: var(--content-max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 13px;
  color: var(--text-muted);
}
.footer__links { display: flex; gap: 1.5rem; }
.footer__links a { color: var(--text-muted); text-decoration: none; }
.footer__links a:hover { color: var(--brand-dark); }

/* ── Responsive ── */
@media (max-width: 1100px) {
  .nav__links a {
    padding: 6px 8px;
    font-size: 12px;
  }
  .nav__brand {
    font-size: 0.95rem;
  }
  .nav__search {
    flex: 0 1 280px;
    max-width: 280px;
  }
}

@media (max-width: 900px) {
  .dashboard {
    grid-template-columns: 1fr;
  }
  .sidebar {
    position: static;
    height: auto;
    border-right: none;
    border-bottom: 1px solid var(--border);
  }
  .nav__links { display: none; }
  .nav__search {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
}

@media (max-width: 600px) {
  .page-header { flex-direction: column; align-items: flex-start; }
  .form-row { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__inner { flex-direction: column; text-align: center; }
  .nav__brand-text { display: none; }
}

/* ── NOTARY-INIT-118: fee schedule + contact hours ── */
.fee-schedule-card .card__header {
  border-left: 3px solid var(--brand);
  padding-left: calc(1.25rem - 3px);
}

.fee-schedule-card .card__title {
  color: var(--brand-dark);
}

.fee-schedule-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.fee-schedule-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 130px 90px 90px minmax(100px, 1fr);
  gap: 10px;
  align-items: center;
  padding: 0.75rem 1rem;
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
}

.fee-schedule-row:last-child {
  border-bottom: none;
}

.fee-schedule-row:nth-child(even) {
  background: var(--bg-card);
}

.contact-hours-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.contact-hours-grid-head,
.contact-hours-grid-row {
  display: grid;
  grid-template-columns: minmax(72px, 100px) 48px 56px minmax(108px, 1fr) minmax(108px, 1fr) 56px 56px minmax(88px, 100px);
  gap: 8px;
  align-items: center;
}

.contact-hours-grid-head {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  padding: 0 2px 6px;
  min-width: 720px;
}

.contact-hours-grid-row {
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  min-width: 720px;
  transition: background 0.15s;
}

.contact-hours-grid-row + .contact-hours-grid-row {
  margin-top: 8px;
}

.contact-hours-grid-row .form-control {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

.contact-hours-fee {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.contact-hours-fee .form-control {
  flex: 1 1 auto;
  min-width: 0;
}

@media (max-width: 900px) {
  .fee-schedule-row {
    grid-template-columns: 1fr 1fr;
  }
  .fee-schedule-row > div:first-child {
    grid-column: 1 / -1;
  }
  .contact-hours-grid-head {
    display: none;
  }
  .contact-hours-grid-row {
    grid-template-columns: 1fr 1fr;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    margin-bottom: 10px;
  }
}

/* ── Settings collapsible sections (INIT-128) ── */
.settings-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.settings-section__toggle {
  border: 1px solid var(--border);
  background: var(--bg-subtle);
  color: var(--text-secondary);
  width: 32px;
  height: 32px;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.settings-section__toggle .ti { transition: transform .2s ease; }
.settings-section.is-collapsed .settings-section__toggle .ti { transform: rotate(-90deg); }
.settings-section.is-collapsed .settings-section__body,
.settings-section.is-collapsed .settings-section__footer { display: none; }
.settings-section__footer {
  margin: 0;
  padding: .75rem 1.25rem 1rem;
  font-size: 12px;
  color: var(--text-muted);
  border-top: 1px solid var(--border);
  background: var(--bg-subtle);
}
.settings-avatar-picker__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
  gap: 10px;
  max-width: 460px;
}
.settings-avatar-option {
  display: block;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 50%;
  padding: 2px;
}
.settings-avatar-option:has(input:checked) { border-color: var(--brand); }
.settings-avatar-option input { position: absolute; opacity: 0; pointer-events: none; }
.settings-avatar-option img { width: 56px; height: 56px; border-radius: 50%; display: block; }

/* ── Contact hours time steppers (INIT-128) ── */
.time-stepper {
  display: flex;
  align-items: center;
  gap: 4px;
}
.time-stepper__btn {
  width: 28px;
  height: 28px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-subtle);
  color: var(--text-secondary);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}
.time-stepper__btn:disabled { opacity: .45; cursor: not-allowed; }
.time-stepper__input { flex: 1; min-width: 0; padding: 4px 6px; }

/* ── Payment method brand icons (INIT-128) ── */
.pay-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 14px;
}
.pay-icon .ti { font-size: 18px; }
.pay-icon--card { background: #eef2ff; color: #4338ca; }
.pay-icon--apple { background: #111; color: #fff; }
.pay-icon--google { background: #fff; color: #4285f4; border: 1px solid #e5e7eb; }
.pay-icon--paypal { background: #003087; color: #fff; }
.pay-icon--ach { background: #ecfdf5; color: #047857; }
.pay-icon--cashapp { background: #00d632; color: #fff; }
.pay-icon--venmo { background: #3d95ce; color: #fff; }
.pay-icon--zelle { background: #6d1ed4; color: #fff; }
.pay-icon--generic { background: var(--bg-subtle); color: var(--text-muted); }

/* ── Public profile map (INIT-128) ── */
.profile-map-embed {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-subtle);
}
.profile-map-embed iframe {
  display: block;
  width: 100%;
  height: 260px;
  border: 0;
}

/* ── Utilities ── */
/* ── NOTARY-INIT-145: inline → utility relocation ── */
.page-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 1rem; }
.page-title--spacious { margin-bottom: 1.5rem; }
.page-title--flat { margin-bottom: 0; }
.page-title--tight { margin-bottom: .25rem; }
.page-title--sm-gap { margin-bottom: .5rem; }
.section-title { font-size: 1.35rem; font-weight: 700; }
.subsection-title { font-size: 1rem; margin: 0 0 .75rem; }
.card-body-pad { padding: 0 1.25rem 1.25rem; }
.card-body-pad--compact { padding-bottom: 1rem; }
.card-body-pad--narrow { padding: 0 1rem 1rem; }
.card-pad { padding: 1rem; }
.p-2xl { padding: 2rem; }
.kv-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--border); }
.kv-row--sm { font-size: 13px; padding: 4px 0; }
.grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.d-inline-flex { display: inline-flex; }
.gap-xs { gap: 4px; }
.flex-wrap { flex-wrap: wrap; }
.pl-list { padding-left: 1.2rem; }
.mb-125 { margin-bottom: 1.25rem; }
.mb-75 { margin-bottom: .75rem; }
.mb-05 { margin-bottom: .5rem; }
.mt-12 { margin-top: 12px; }
.mt-8 { margin-top: 8px; }
.mt-4px { margin-top: 4px; }
.ml-auto { margin-left: auto; }
.badge-push-end { margin-left: auto; font-size: 10px; }
.max-w-280 { max-width: 280px; }
.container--mid { max-width: 800px; margin: 2rem auto; }
.min-w-0 { min-width: 0; }
.flex-1 { flex: 1; }
.font-semibold { font-weight: 600; }
.text-14 { font-size: 14px; }
.text-2xs { font-size: 11px; }
.text-3xs { font-size: 10px; }
.text-brand-bright { color: var(--brand); }
.link-inherit { text-decoration: none; color: inherit; }
.whitespace-nowrap { white-space: nowrap; }
.sidebar-dash-label { padding: .75rem 20px 0; font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; }
.sidebar-dash-label--first { padding-top: 1rem; font-size: 12px; }
.sidebar-footer { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--border); }
.page-pad { padding: 1rem; }
.m-0 { margin: 0; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.d-inline { display: inline; }
.border-0 { border: none; }
.label-caps { margin-bottom: 3px; text-transform: uppercase; letter-spacing: .04em; }
.section-divider { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.impersonation-bar { background: var(--danger, #DC2626); color: #fff; padding: 8px 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: 0; z-index: 9999; box-shadow: 0 2px 8px rgba(220, 38, 38, .3); }
.impersonation-bar__link { color: #fff; font-weight: 700; text-decoration: underline; white-space: nowrap; }
.mr-6 { margin-right: 6px; }
.cookie-title { margin: 0 0 .5rem; font-size: 1.1rem; }
.cookie-lead { margin: 0 0 1rem; font-size: 14px; line-height: 1.5; color: var(--text-secondary); }
.fieldset-plain { border: 0; padding: 0; }
.check-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 14px; }
.check-row--last { margin-bottom: 0; }

.text-muted    { color: var(--text-muted); }
.text-secondary{ color: var(--text-secondary); }
.text-brand    { color: var(--brand-dark); }
.text-danger   { color: var(--danger-text); }
.text-success  { color: var(--success-text); }
.text-sm       { font-size: 13px; }
.text-xs       { font-size: 12px; }
.text-lg       { font-size: 18px; }
.font-bold     { font-weight: 700; }
.font-medium   { font-weight: 500; }

.d-flex        { display: flex; }
.align-center  { align-items: center; }
.justify-between{ justify-content: space-between; }
.gap-sm        { gap: 8px; }
.gap-md        { gap: 16px; }
.gap-lg        { gap: 24px; }

.mt-1 { margin-top: .5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }
.mb-1 { margin-bottom: .5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.w-full  { width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }


/* ============================================================
   ADMIN PANEL LAYOUT
   ============================================================ */
.admin-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 0;
  align-items: start;
  min-height: calc(100vh - 64px);
}
.admin-sidebar {
  background: #fff;
  border-right: 1px solid #e5e7eb;
  padding: 1.25rem 0;
  position: sticky;
  top: 64px;
  align-self: stretch;
  min-height: calc(100vh - 64px);
}
.admin-main {
  padding: 1.75rem 2rem;
  min-width: 0;
}
.sidebar__header {
  padding: 0 1.25rem 1rem;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: .75rem;
}
.sidebar__header a { display: flex; align-items: center; gap: .5rem; color: #111827; }
.sidebar__logo { color: #1D9E75; font-size: 1.1rem; display: inline-flex; }
.sidebar__title { font-weight: 700; font-size: .95rem; }
.sidebar__nav { display: flex; flex-direction: column; gap: 1px; padding: 0 .5rem; }
.sidebar__section-label {
  font-size: .68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: #9ca3af; padding: .75rem .75rem .25rem;
}
.sidebar__link {
  display: flex; align-items: center; gap: .6rem;
  padding: .5rem .75rem; border-radius: 8px;
  color: #374151; font-size: .9rem; text-decoration: none;
  transition: background .12s, color .12s;
}
.sidebar__link:hover { background: #f3f4f6; color: #111827; }
.sidebar__link.active { background: #ecfdf5; color: #1D9E75; font-weight: 600; }
.sidebar__link i { font-size: 1.05rem; flex-shrink: 0; }

@media (max-width: 860px) {
  .admin-layout { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; min-height: 0; border-right: none; border-bottom: 1px solid #e5e7eb; }
}

/* NOTARY-INIT-080 — Accessibility */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 10000;
  padding: 10px 16px;
  background: var(--brand-dark);
  color: var(--text-inverse);
  font-weight: 600;
  border-radius: var(--radius-sm);
  text-decoration: none;
}
.skip-link:focus {
  left: 12px;
  top: 12px;
  width: auto;
  height: auto;
  overflow: visible;
}
:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}
/* Password show/hide toggle (NOTARY-INIT-100) */
.password-field {
  position: relative;
}
.password-field .form-control {
  padding-right: 2.6rem;
}
.password-toggle {
  position: absolute;
  top: 50%;
  right: .55rem;
  transform: translateY(-50%);
  background: none;
  border: 0;
  padding: .25rem;
  margin: 0;
  cursor: pointer;
  color: #667085;
  line-height: 0;
}
.password-toggle__icon--off {
  display: none;
}
.password-toggle[aria-pressed="true"] .password-toggle__icon--open {
  display: none;
}
.password-toggle[aria-pressed="true"] .password-toggle__icon--off {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .celebration-toast {
    animation: none !important;
  }
}

/* ── NOTARY-INIT-121: mobile persona QA dock (FR#12) ── */
.persona-mobile-dock {
  display: none;
}

@media (max-width: 900px) {
  .persona-mobile-dock {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    background: #1e3a5f;
    border-top: 2px solid #fff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.2);
    padding: env(safe-area-inset-bottom, 0) 0 0;
  }

  body:has(.persona-mobile-dock) {
    padding-bottom: calc(52px + env(safe-area-inset-bottom, 0));
  }

  .persona-mobile-dock__inner {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .persona-mobile-dock__label {
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
    margin-right: 2px;
  }

  .persona-mobile-dock__form {
    margin: 0;
    flex-shrink: 0;
  }

  .persona-mobile-dock__btn {
    min-height: 36px;
    min-width: 44px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 6px;
    background: transparent;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
  }

  .persona-mobile-dock__btn.is-active {
    background: #fff;
    color: #1e3a5f;
  }

  .persona-mobile-dock__exit {
    margin-left: auto;
    flex-shrink: 0;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    text-decoration: underline;
    white-space: nowrap;
    padding: 8px 4px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
  }

  /* Sidebar switcher duplicates the dock on narrow screens */
  .sidebar .persona-switcher-sidebar {
    display: none;
  }
}

/* ============================================================
   NOTARY-INIT-145 — consolidated view styles
   ============================================================ */

/* ── NOTARY-INIT-145: feedback widget (was feedback.css) ── */
/* NOTARY-INIT-027 — site-wide feedback overlay */
.feedback-widget {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 8500;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.4;
}

.feedback-widget__tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 8px;
  border: none;
  border-radius: 8px 0 0 8px;
  background: #1e3a5f;
  color: #fff;
  cursor: pointer;
  box-shadow: -2px 2px 12px rgba(0, 0, 0, 0.15);
  transition: background 0.15s ease, transform 0.15s ease;
}

.feedback-widget__tab:hover,
.feedback-widget__tab:focus-visible {
  background: #2563eb;
  outline: none;
}

.feedback-widget__tab-icon {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

.feedback-widget__tab-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.feedback-widget__panel {
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  width: min(320px, calc(100vw - 48px));
  margin-right: 8px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.18);
}

.feedback-widget__panel[hidden] {
  display: none;
}

.feedback-widget__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.feedback-widget__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
}

.feedback-widget__close {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  color: #64748b;
  cursor: pointer;
  padding: 0 4px;
}

.feedback-widget__close:hover {
  color: #0f172a;
}

.feedback-widget__modes {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
}

.feedback-widget__mode {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.feedback-widget__mode.is-active {
  background: #1e3a5f;
  border-color: #1e3a5f;
  color: #fff;
}

.feedback-widget__label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #475569;
  margin-bottom: 6px;
}

.feedback-widget__textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font: inherit;
  resize: vertical;
  min-height: 88px;
}

.feedback-widget__textarea:focus {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
  border-color: #2563eb;
}

.feedback-widget__note {
  margin: 8px 0 12px;
  font-size: 11px;
  color: #94a3b8;
}

.feedback-widget__actions {
  display: flex;
  justify-content: flex-end;
}

.feedback-widget__submit {
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  background: #2563eb;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.feedback-widget__submit:hover:not(:disabled) {
  background: #1d4ed8;
}

.feedback-widget__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.feedback-widget__status {
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12px;
}

.feedback-widget__status.is-success {
  background: #dcfce7;
  color: #166534;
}

.feedback-widget__status.is-error {
  background: #fee2e2;
  color: #991b1b;
}

@media (max-width: 640px) {
  .feedback-widget {
    top: auto;
    bottom: 16px;
    transform: none;
  }

  .feedback-widget__panel {
    top: auto;
    bottom: 100%;
    transform: none;
    margin-right: 0;
    margin-bottom: 8px;
  }

  .feedback-widget__tab-label {
    writing-mode: horizontal-tb;
  }

  .feedback-widget__tab {
    flex-direction: row;
    border-radius: 999px;
    padding: 10px 14px;
  }
}


/* ── NOTARY-INIT-145: from views/home/index.php block 1 ── */
.home-primary-cta {
  display: flex;
  justify-content: center;
  padding: 0.75rem 1rem 0.5rem;
  margin-bottom: 0;
  background: linear-gradient(180deg, var(--brand-pale) 0%, var(--brand-pale) 100%);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}
.home-primary-cta__btn {
  min-width: min(100%, 320px);
  justify-content: center;
  font-size: 1.05rem;
  padding: 0.85rem 1.75rem;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--brand) 28%, transparent);
}
.home-hero {
  text-align: center;
  padding: 0.75rem 1rem 2rem;
  background: linear-gradient(180deg, var(--brand-pale) 0%, var(--bg-page) 70%);
  border-radius: 0 0 var(--radius-xl) var(--radius-xl);
  margin-bottom: 1.5rem;
  margin-top: 0;
}
.home-hero h1 {
  font-size: clamp(1.75rem, 4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: .75rem;
}
.home-hero__lead {
  font-size: 1.05rem;
  color: var(--text-secondary);
  max-width: 640px;
  margin: 0 auto 1.25rem;
}
.home-hero__dual {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  max-width: 720px;
  margin: 0 auto 1.5rem;
  text-align: left;
}
.home-hero__pill {
  padding: 12px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: 14px;
  color: var(--text-secondary);
}
.home-hero__pill strong { color: var(--text-primary); display: block; margin-bottom: 4px; }
.home-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.home-proof {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: .5rem;
}
.home-section { padding: 2rem 0; }
.home-section h2 { font-size: 1.35rem; font-weight: 700; margin-bottom: 1rem; }
.home-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.home-step {
  padding: 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.home-step__num {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--brand-light);
  color: var(--brand-dark);
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: .75rem;
}
.home-modalities {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.home-mod-card {
  padding: 1rem;
  background: var(--bg-card);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}
.home-mod-card i { font-size: 24px; color: var(--brand-dark); margin-bottom: 8px; display: block; }
.home-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 1rem 0;
}
.home-trust span {
  font-size: 13px;
  padding: 6px 12px;
  background: var(--neutral-bg);
  color: var(--neutral-text);
  border-radius: var(--radius-sm);
}
.home-reviews {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.home-review {
  padding: 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: 14px;
}
.home-review__stars { color: var(--brand-dark); margin-bottom: 6px; }
.home-review__tag { font-size: 11px; color: var(--text-muted); margin-top: 8px; }
#geo-bar, #state-prompt { /* existing geo styles */ }
#geo-bar {
  display: none; align-items: center; gap: 12px; padding: 10px 18px;
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); margin-bottom: 1.25rem; font-size: 14px;
  animation: slideDown .25s ease;
}
@keyframes slideDown { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
#geo-bar.visible { display: flex; }
#geo-bar i { font-size: 18px; color: var(--brand-dark); flex-shrink: 0; }
#geo-bar .geo-text { flex: 1; color: var(--text-secondary); }
#geo-bar .geo-text strong { color: var(--text-primary); }
#geo-dismiss { background: none; border: none; cursor: pointer; color: var(--text-muted); font-size: 18px; }
#state-prompt {
  display: none; align-items: center; gap: 12px; padding: 12px 18px;
  background: var(--brand-pale); border: 1px solid var(--brand-light);
  border-radius: var(--radius-lg); margin-bottom: 1.25rem; font-size: 14px;
}
#state-prompt.visible { display: flex; }
#state-prompt select {
  padding: 6px 28px 6px 10px; border: 1px solid var(--brand);
  border-radius: var(--radius-md); font-size: 14px; background: var(--bg-card);
}


/* ── NOTARY-INIT-145: from views/search/index.php block 1 ── */
.search-layout { display:grid; grid-template-columns:260px 1fr; gap:1.5rem; align-items:start; }
.filters-panel { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.25rem; position:sticky; top:calc(var(--nav-h) + 1rem); }
.filter-section { margin-bottom:1.25rem; }
.filter-section:last-child { margin-bottom:0; }
.filter-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:8px; }
.filter-chip { display:inline-flex; align-items:center; gap:4px; padding:5px 12px; border-radius:999px; font-size:12px; font-weight:500; border:1px solid var(--border); color:var(--text-secondary); text-decoration:none; margin:3px 3px 3px 0; transition:all .15s; }
.filter-chip:hover { border-color:var(--brand); color:var(--brand-dark); text-decoration:none; }
.filter-chip.active { background:var(--brand); border-color:var(--brand); color:#fff; }
.notary-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; }
.availability-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.dot-available { background:#1D9E75; }
.dot-busy      { background:#EF9F27; }
.sort-bar { display:flex; align-items:center; gap:10px; margin-bottom:1rem; }
.sort-bar label { font-size:13px; color:var(--text-muted); }
@media(max-width:860px){ .search-layout { grid-template-columns:1fr; } .filters-panel { position:static; } }


/* ── NOTARY-INIT-145: from views/states/show.php block 1 ── */
.state-grid   { display:grid; grid-template-columns:1fr 300px; gap:1.5rem; align-items:start; }
.info-section { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.25rem; margin-bottom:1rem; }
.info-section h2 { font-size:1rem; font-weight:600; padding-bottom:.75rem; margin-bottom:1rem; border-bottom:1px solid var(--border); }
.rule-row     { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:8px 0; border-bottom:1px solid var(--border); font-size:14px; }
.rule-row:last-child { border-bottom:none; }
.rule-label   { color:var(--text-muted); flex-shrink:0; min-width:160px; }
.req-item     { padding:10px 0; border-bottom:1px solid var(--border); }
.req-item:last-child { border-bottom:none; }
.statute-row  { padding:10px 0; border-bottom:1px solid var(--border); font-size:13px; }
.statute-row:last-child { border-bottom:none; }
@media(max-width:860px){ .state-grid{ grid-template-columns:1fr; } }


/* ── NOTARY-INIT-145: from views/notary/profile.php block 1 ── */
.profile-grid   { display:grid; grid-template-columns:1fr 320px; gap:1.5rem; align-items:start; }
.profile-main   { min-width:0; }
.profile-aside  { display:flex; flex-direction:column; gap:1rem; }
.profile-hero   { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.75rem; margin-bottom:1rem; }
.section-card   { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.25rem; margin-bottom:1rem; }
.section-card h2{ font-size:1rem; font-weight:600; margin-bottom:1rem; padding-bottom:.75rem; border-bottom:1px solid var(--border); }
.svc-row        { display:flex; align-items:flex-start; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); }
.svc-row:last-child { border-bottom:none; }
.avail-row      { display:flex; align-items:center; gap:12px; padding:8px 0; font-size:14px; border-bottom:1px solid var(--border); }
.avail-row:last-child { border-bottom:none; }
.avail-day      { width:96px; font-weight:500; text-transform:capitalize; flex-shrink:0; }
.review-card    { padding:1rem 0; border-bottom:1px solid var(--border); }
.review-card:last-child { border-bottom:none; }
.booking-card   { background:var(--bg-card); border:2px solid var(--brand); border-radius:var(--radius-lg); padding:1.5rem; position:sticky; top:calc(var(--nav-h) + 1rem); }
@media(max-width:860px){ .profile-grid{ grid-template-columns:1fr; } .booking-card{ position:static; } }


/* ── NOTARY-INIT-145: from views/appointments/book.php block 1 ── */
.book-grid { display:grid; grid-template-columns:1fr 300px; gap:1.5rem; align-items:start; }
.step-pill { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--brand); color:#fff; font-size:12px; font-weight:700; flex-shrink:0; }
.type-card { border:1.5px solid var(--border); border-radius:var(--radius-md); padding:12px 16px; cursor:pointer; display:flex; align-items:center; gap:12px; transition:border-color .15s, background .15s; margin-bottom:8px; }
.type-card:hover { border-color:var(--brand); background:var(--brand-pale); }
.type-card input[type=radio]:checked ~ .type-card-inner { color:var(--brand-dark); }
.type-card.selected { border-color:var(--brand); background:var(--brand-pale); }
.slot-grid { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.slot-btn { padding:7px 14px; border-radius:var(--radius-md); border:1px solid var(--border); font-size:13px; font-weight:500; cursor:pointer; background:var(--bg-card); color:var(--text-secondary); transition:all .15s; }
.slot-btn:hover { border-color:var(--brand); color:var(--brand-dark); }
.slot-btn.selected { background:var(--brand); border-color:var(--brand); color:#fff; }
.fee-row { display:flex; justify-content:space-between; font-size:14px; padding:6px 0; }
.fee-row.total { font-weight:700; font-size:16px; border-top:1px solid var(--border); padding-top:10px; margin-top:4px; }
@media(max-width:760px){ .book-grid{ grid-template-columns:1fr; } }


/* ── NOTARY-INIT-145: from views/appointments/ron_check.php block 1 ── */
.ron-check        { max-width:680px; margin:0 auto; }
.check-step       { display:flex; align-items:flex-start; gap:16px; padding:1.25rem;
                    background:var(--bg-card); border:1px solid var(--border);
                    border-radius:var(--radius-lg); margin-bottom:1rem; transition:border-color .2s; }
.check-step.pass  { border-color:#1D9E75; background:#f0fdf8; }
.check-step.fail  { border-color:var(--danger-text); background:#fef2f2; }
.check-step.warn  { border-color:#EF9F27; background:#fffbeb; }
.check-icon       { width:40px; height:40px; border-radius:50%; display:flex; align-items:center;
                    justify-content:center; font-size:18px; flex-shrink:0; }
.check-icon.pass  { background:#dcfce7; color:#1D9E75; }
.check-icon.fail  { background:#fee2e2; color:#DC2626; }
.check-icon.warn  { background:#fef9c3; color:#D97706; }
.check-icon.idle  { background:var(--bg-subtle); color:var(--text-muted); }
.check-body       { flex:1; }
.check-title      { font-size:15px; font-weight:600; margin-bottom:4px; }
.check-detail     { font-size:13px; color:var(--text-muted); line-height:1.5; }
.progress-ring    { width:56px; height:56px; flex-shrink:0; }


/* ── NOTARY-INIT-145: from views/reviews/write.php block 1 ── */
.star-picker { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px; }
.star-picker input { display:none; }
.star-picker label {
  font-size:36px; color:var(--border); cursor:pointer;
  transition:color .1s; line-height:1;
}
.star-picker input:checked ~ label,
.star-picker label:hover,
.star-picker label:hover ~ label { color:#EF9F27; }


/* ── NOTARY-INIT-145: from views/status/index.php block 1 ── */
.st-wrap{max-width:1040px;margin:0 auto;}
  .st-hero{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;margin:0 0 1.5rem;}
  .st-progress{height:14px;border-radius:8px;background:var(--border,#e5e7eb);overflow:hidden;}
  .st-progress > span{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);}
  .st-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:1rem 0 0;}
  .st-stat{border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:.85rem 1rem;}
  .st-stat b{display:block;font-size:1.6rem;line-height:1.1;}
  .st-stat span{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;}
  .st-tier{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:1rem 1.1rem;margin:0 0 1rem;}
  .st-tier h3{margin:0 0 .25rem;font-size:1.05rem;}
  .st-item{padding:.8rem 0;border-top:1px solid var(--border,#e5e7eb);}
  .st-item:first-of-type{border-top:0;}
  .st-item-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;}
  .st-key{font-family:ui-monospace,Menlo,monospace;font-size:.78rem;color:#6b7280;}
  .st-pill{font-size:.7rem;font-weight:600;padding:.12rem .5rem;border-radius:999px;border:1px solid var(--border,#e5e7eb);}
  .st-pill.t1{background:#fef2f2;border-color:#fecaca;color:#b91c1c;}
  .st-pill.t2{background:#fffbeb;border-color:#fde68a;color:#b45309;}
  .st-pill.t3{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;}
  .st-pill.tD{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280;}
  .st-why{margin:.35rem 0 0;color:#374151;font-size:.9rem;}
  .st-meta{font-size:.78rem;color:#6b7280;margin-top:.25rem;}
  .st-gate{display:flex;gap:.6rem;padding:.6rem 0;border-top:1px solid var(--border,#e5e7eb);}
  .st-gate:first-child{border-top:0;}
  details.st-done > summary{cursor:pointer;font-weight:600;padding:.6rem 0;}
  .st-done-row{display:flex;gap:.6rem;padding:.4rem 0;border-top:1px solid var(--border,#e5e7eb);font-size:.86rem;}
  .st-done-row .st-key{min-width:152px;}
  .st-note{font-size:.8rem;color:#6b7280;margin-top:1.5rem;}
  /* INIT-144 audit-phase review console */
  .ar-intro{color:#374151;font-size:.92rem;margin:0 0 1rem;}
  .ar-card{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:1.1rem 1.15rem;margin:0 0 1rem;}
  .ar-card.ar-flagged{background:#fffbeb;border-color:#fde68a;}
  .ar-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
  .ar-gate{font-size:.7rem;font-weight:700;padding:.12rem .55rem;border-radius:999px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;}
  .ar-badge{font-size:.7rem;font-weight:700;padding:.12rem .55rem;border-radius:999px;background:#fef3c7;border:1px solid #fcd34d;color:#92400e;}
  .ar-summary{margin:.55rem 0 .4rem;color:#374151;font-size:.92rem;}
  .ar-items{margin:.25rem 0 .75rem;padding-left:1.1rem;color:#374151;font-size:.88rem;}
  .ar-items li{margin:.25rem 0;}
  .ar-lastnote{margin:.4rem 0 .6rem;padding:.5rem .6rem;background:#f9fafb;border-left:3px solid #d1d5db;border-radius:4px;font-size:.85rem;color:#374151;white-space:pre-wrap;}
  .ar-form{border-top:1px dashed var(--border,#e5e7eb);padding-top:.7rem;margin-top:.5rem;}
  .ar-flagrow{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin-bottom:.5rem;font-weight:600;}
  .ar-note{width:100%;min-height:64px;border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:.5rem .6rem;font:inherit;font-size:.88rem;resize:vertical;box-sizing:border-box;}
  .ar-actions{display:flex;align-items:center;gap:.75rem;margin-top:.55rem;flex-wrap:wrap;}
  .ar-state{font-size:.78rem;color:#6b7280;}
  @media print{.nav,.site-footer,.flash,.ar-form{display:none!important}}


/* ── NOTARY-INIT-145: from views/builder/_workspace.php block 1 ── */
.builder-workspace { display:grid; grid-template-columns:minmax(200px,1fr) minmax(280px,2fr) minmax(240px,1fr); gap:1rem; margin:1.5rem 0; }
@media (max-width:900px) { .builder-workspace { grid-template-columns:1fr; } .builder-pane--preview { order:-1; } }
.builder-pane { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:1rem; min-height:200px; }
.builder-pane h2 { font-size:.95rem; font-weight:600; margin:0 0 .75rem; text-transform:uppercase; letter-spacing:.03em; color:#6b7280; }
.builder-status { display:flex; flex-wrap:wrap; gap:.35rem .75rem; margin-bottom:1rem; font-size:.8rem; }
.builder-status span { padding:.2rem .5rem; border-radius:4px; background:#f3f4f6; color:#6b7280; }
.builder-status span.is-done { background:#dcfce7; color:#166534; }
.builder-status span.is-current { background:#dbeafe; color:#1e40af; font-weight:600; }
.builder-preview-doc { border:1px solid #d1d5db; padding:1.25rem; min-height:320px; background:#fafafa; line-height:1.5; }


/* ── NOTARY-INIT-145: from views/partials/cookie_consent.php block 1 ── */
.cookie-consent{position:fixed;inset:auto 0 0 0;z-index:10000;padding:16px;background:rgba(15,23,42,.45);}
.cookie-consent__panel{max-width:720px;margin:0 auto;background:var(--surface,#fff);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.15);}
.cookie-consent__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
.cookie-consent__actions .btn{min-width:140px;}

/* ── NOTARY-INIT-145: local dev overlay (was header.php inline block) ── */
#dev-mode-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  pointer-events: none;
  background: #b45309;
  color: #fff;
  font: 700 11px/1 ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: .08em;
  padding: 5px 9px;
  border-bottom-right-radius: 6px;
  box-shadow: 0 1px 6px rgba(0,0,0,.3);
  text-transform: uppercase;
}
@media print { #dev-mode-overlay { display: none !important; } }

/* ── NOTARY-INIT-145: autogen utilities (pass 2) ── */
.u145-3897574c { padding:6rem 1.5rem; }
.u145-362aad8a { font-size:1.4rem; }
.u145-618bb259 { max-width:960px;margin:2rem auto; }
.u145-b330c4a3 { font-size:1.5rem;font-weight:700; }
.u145-8ba96bec { margin:1.25rem 0; }
.u145-35abb75d { padding:1rem;margin-bottom:1rem;background:#f0f9ff; }
.u145-2f55ca1c { margin:0;padding-left:0;list-style:none; }
.u145-305ac01a { padding:.35rem 0;border-bottom:1px solid var(--border); }
.u145-49ea1953 { font-size:1.1rem;margin:1.5rem 0 .5rem; }
.u145-3b240a62 { max-width:700px;margin:2rem auto; }
.u145-51fcd47c { padding:1rem;margin-top:1rem; }
.u145-0281502a { display:flex;align-items:center;gap:12px;padding:.75rem 0;border-bottom:1px solid var(--border); }
.u145-da71aab0 { font-size:1.2rem; }
.u145-1d130081 { margin:.75rem 0 1.25rem; }
.u145-f0ac2631 { padding:1.25rem;margin-bottom:1.25rem; }
.u145-d675eb3a { display:flex;gap:8px;align-items:center;margin-top:.5rem;flex-wrap:wrap; }
.u145-de348c77 { flex:1;min-width:200px;padding:8px 12px;background:var(--bg-muted);border-radius:6px; }
.u145-9ca5e7cd { margin-top:1rem;display:flex;gap:8px;flex-wrap:wrap; }
.u145-54417c1b { padding:0 1rem; }
.u145-72ed68d4 { padding:.75rem 0;border-bottom:1px solid var(--border);font-size:13px; }
.u145-ce254b80 { display:flex;gap:8px;margin:1rem 0;flex-wrap:wrap; }
.u145-e711ca39 { margin-bottom:12px;border:1px solid var(--border);border-radius:8px;padding:12px; }
.u145-edd7f039 { cursor:pointer;font-weight:600; }
.u145-b581ab1a { width:100%;margin:8px 0; }
.u145-eee78769 { display:flex;flex-wrap:wrap;gap:8px; }
.u145-9c929c09 { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:1rem; }
.u145-68c83ff7 { max-width:140px; }
.u145-2b582e7c { display:flex;gap:8px;margin-bottom:1rem; }
.u145-edf14668 { cursor:pointer;display:inline-block; }
.u145-b1c741ae { margin-top:1rem;display:grid;gap:.6rem;max-width:36rem; }
.u145-261c20ce { display:inline-flex;gap:4px;margin-left:8px; }
.u145-62ecb84b { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem; }
.u145-1abb6226 { font-size:1.5rem;font-weight:700;margin:0 0 .35rem; }
.u145-d0698c48 { overflow-x:auto; }
.u145-d79fdc50 { width:100%;min-width:880px; }
.u145-d8813ecc { margin:0 0 .35rem; }
.u145-ed422c13 { display:flex;align-items:center;gap:.75rem;flex-wrap:wrap; }
.u145-3fba7dfa { margin:.5rem 0 0; }
.u145-2cc1962e { display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem; }
.u145-2ed9e356 { margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color,#eee); }
.u145-503633a3 { display:grid;gap:.4rem; }
.u145-fa70757e { margin-bottom:.6rem; }
.u145-c87e7712 { display:grid;gap:.4rem;margin-top:.75rem; }
.u145-11cc547f { margin-bottom:.6rem;white-space:pre-wrap; }
.u145-0286603c { margin-top:.35rem; }
.u145-79d05129 { margin:0;grid-column:1/-1; }
.u145-26c531a0 { padding:1rem 1.25rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:end; }
.u145-192e200c { margin:0;min-width:200px; }
.u145-5ed77b46 { width:100%;min-width:960px; }
.u145-40df0f88 { margin-top:.25rem; }
.u145-edc15010 { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:1.5rem; }
.u145-417adb7c { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px; }
.u145-0cd28ce9 { display:inline; }
.u145-3343fd64 { margin-top:24px; }
.u145-fc9f2f8b { font-size:40px;color:var(--brand-dark); }
.u145-5f91e549 { line-height:1.55; }
.u145-e10bbcec { font-size:13px;padding:.4rem .75rem; }
.u145-83786339 { margin:0 0 .75rem;font-size:1.05rem; }
.u145-c92780eb { display:flex;flex-wrap:wrap;gap:.5rem; }
.u145-ea03ff07 { margin-bottom:2rem; }
.u145-0662d158 { font-size:1.15rem;font-weight:700;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted); }
.u145-d1fb38d3 { display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem; }
.u145-506a5c46 { display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem; }
.u145-d2a6169e { display:flex;flex-direction:column;align-items:flex-end;gap:.35rem; }
.u145-6000a4a0 { display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem;font-size:1.1rem;font-weight:600; }
.u145-f5628769 { font-weight:400; }
.u145-113a5faa { font-size:10px;margin-left:auto; }
.u145-d4f67507 { margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap; }
.u145-caf2a787 { cursor:pointer;font-weight:600;margin-bottom:.5rem; }
.u145-5440ce6c { margin-top:.65rem; }
.u145-1e7e77ec { padding:1.25rem; }
.u145-a24394b6 { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem; }
.u145-1e3977d9 { display:flex;justify-content:space-between;padding:6px 0; }
.u145-d8a81eac { margin-top:10px; }
.u145-185f7f38 { padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:8px; }
.u145-4304ce55 { margin:4px 0 0; }
.u145-9fe45cd8 { width:120px; }
.u145-b1c5d41a { min-width:90px; }
.u145-7cbe5ecf { width:160px; }
.u145-b22abe9f { font-size:13px;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-bottom:12px; }
.u145-3ef1fa1a { margin-bottom:12px; }
.u145-2a2ba55e { padding:4px 0;font-size:13px; }
.u145-6c002e21 { margin-bottom:6px; }
.u145-2aa144b4 { padding:6px 10px;background:var(--bg-subtle);border-radius:var(--radius-md);margin-bottom:6px;font-size:13px; }
.u145-08d8f870 { padding:.5rem 0;border-bottom:1px solid var(--border);font-size:13px; }
.u145-0889360d { display:flex;gap:8px;flex-wrap:wrap; }
.u145-60744541 { font-size:1.1rem;margin-bottom:.75rem; }
.u145-e6de09c4 { margin:.5rem 0 0 1rem; }
.u145-4c382b0b { align-self:center; }
.u145-bc8ad2bd { align-self:center;margin-left:12px; }
.u145-f98592d9 { white-space:pre-wrap;margin:4px 0 0;font-size:11px; }
.u145-a3d741eb { font-size:12px;padding:4px 8px; }
.u145-e74241ef { padding:1rem;margin:1rem 0;display:flex;gap:12px;flex-wrap:wrap; }
.u145-ba62946b { font-size:14px; }
.u145-73aaa24a { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.u145-c1e19fb5 { max-width:760px; }
.u145-4588bbea { font-size:1.1rem;margin:0 0 .75rem; }
.u145-3b0befaa { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem; }
.u145-cd610d6d { font-size:1.25rem;font-weight:700; }
.u145-272e590d { margin:0 0 1.25rem; }
.u145-e19447e9 { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1rem; }
.u145-6befe1c9 { align-items:flex-end; }
.u145-bb31a40b { margin:0;flex:1;min-width:160px; }
.u145-7d913788 { margin:0;min-width:140px; }
.u145-f69c7542 { margin:0;min-width:120px; }
.u145-5dc728a7 { margin:0;min-width:100px; }
.u145-ef407946 { margin-bottom:1.5rem;padding:1.25rem; }
.u145-574f6be7 { border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin:0 0 1rem; }
.u145-8602ea7d { padding:0 6px; }
.u145-9f398c70 { display:block;margin-bottom:8px; }
.u145-c2e7294d { display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto;padding-top:4px; }
.u145-ab199aad { display:flex;align-items:center;gap:4px;min-width:52px; }
.u145-b9bbe540 { display:flex;gap:8px; }
.u145-e4ad4a16 { margin-bottom:8px; }
.u145-5aec6ffa { width:32px; }
.u145-2272bf5d { cursor:grab; }
.u145-d7828480 { margin-top:2rem;padding:1.25rem; }
.u145-6e58ee35 { margin-top:2rem; }
.u145-0f232dc8 { font-size:.95rem;margin:1rem 0 .5rem; }
.u145-938d751f { padding:0 1.25rem 1rem;display:flex;flex-direction:column;gap:8px; }
.u145-6613f639 { padding:8px 0;border-bottom:1px solid var(--border);font-size:13px; }
.u145-a4dd2041 { margin:0 0 1.25rem;max-width:720px; }
.u145-62a19644 { display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.25rem; }
.u145-6e488270 { padding:.75rem 1rem;min-width:120px; }
.u145-422249e4 { font-size:1.4rem;font-weight:700; }
.u145-dde8ef49 { font-size:1.4rem;font-weight:700;color:var(--success-text,#1D9E75); }
.u145-4f878974 { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem; }
.u145-d4fe5051 { display:inline-flex;align-items:center;gap:8px; }
.u145-e013562f { padding:1rem;margin-bottom:1rem;display:flex;gap:12px;flex-wrap:wrap; }
.u145-8f3898fc { align-self:flex-end; }
.u145-c2ccc63d { width:100%;font-size:13px; }
.u145-63d058f8 { cursor:pointer; }
.u145-b5a857b2 { white-space:pre-wrap;font-size:11px;max-width:420px;margin-top:8px;padding:8px;background:var(--bg-muted);border-radius:var(--radius-md); }
.u145-8d4677e3 { font-size:12px;margin-bottom:4px; }
.u145-f584cc5c { font-size:12px;margin-bottom:4px;max-width:80px; }
.u145-499d810c { margin-top:1.5rem;padding:1rem; }
.u145-fbc46bc1 { font-size:13px;margin:0 0 1rem; }
.u145-80e05e79 { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;align-items:end; }
.u145-244daa5f { grid-column:span 2; }
.u145-f836a58a { max-width:160px; }
.u145-65239081 { max-width:180px; }
.u145-b3ac37ad { display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap; }
.u145-be288cad { display:flex;align-items:center;gap:6px;margin-left:auto; }
.u145-46770ae8 { display:flex;align-items:center;gap:10px;margin-bottom:1.25rem;flex-wrap:wrap; }
.u145-26f63121 { font-size:1.5rem;font-weight:700;margin:0;flex:1; }
.u145-e6621794 { display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:start; }
.u145-3cc4dcda { padding:0 1.25rem 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px; }
.u145-446b260d { display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px; }
.u145-4dcb9744 { display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px; }
.u145-f6a16880 { color:var(--text-muted);font-size:11px;margin-bottom:2px; }
.u145-28cee241 { font-size:13px;resize:vertical;margin-bottom:6px; }
.u145-d4311d00 { display:flex;flex-direction:column;gap:1rem; }
.u145-3a60b1b7 { margin:0 0 8px; }
.u145-a4691c04 { padding:0 1.25rem 1rem;display:flex;flex-wrap:wrap;gap:6px; }
.u145-6f326b41 { padding:0 1.25rem 1rem;font-size:13px; }
.u145-cbf45441 { display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border); }
.u145-5bb3f6b5 { padding:8px 0;border-bottom:1px solid var(--border); }
.u145-7c5b4d6f { background:#312e81;color:#fff;padding:6px 16px;font-size:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.u145-ce5c5b1a { background:#fff;color:#312e81;border:none;padding:4px 10px; }
.u145-367253a6 { width:100%;margin-top:6px;padding:10px;background:#1e1b4b;border-radius:6px; }
.u145-e8ba19bd { width:100%;padding:8px;border-radius:4px;border:1px solid #4f46e5;font-size:13px; }
.u145-352b3870 { display:flex;gap:8px;margin-top:8px;align-items:center;flex-wrap:wrap; }
.u145-b8957ba3 { padding:4px 8px;border-radius:4px;font-size:12px; }
.u145-3979fd18 { display:flex;flex-wrap:wrap;align-items:center;gap:4px; }
.u145-af841f24 { padding:0 6px;color:var(--text-muted); }
.u145-94c7c2ac { margin-left:.75rem;color:var(--text-muted);font-size:.85rem; }
.u145-314996fd { background:#1e3a5f;color:#fff;padding:8px 16px;font-size:13px; }
.u145-f2f0b359 { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
.u145-b13c6a35 { margin-top:6px;font-size:12px;opacity:.95; }
.u145-25ed77a9 { margin-top:8px;display:flex;flex-wrap:wrap;gap:6px; }
.u145-c7589d95 { margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.u145-59294e98 { font-size:12px;opacity:.9; }
.u145-e1949f1d { font-size:12px;padding:4px 8px;min-width:220px;border-radius:4px;border:0; }
.u145-676789ee { background:#fff;color:#1e3a5f;padding:2px 10px; }
.u145-9465acd4 { margin-top:4px;font-size:12px;opacity:.85; }
.u145-93ecf523 { display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:8px; }
.u145-30dcc599 { width:70px;font-size:13px;padding:4px 8px; }
.u145-5b0090c8 { margin-top:1.5rem;padding:1rem 1.25rem;background:var(--bg-subtle);border-radius:var(--radius-lg);font-size:13px;color:var(--text-secondary); }
.u145-31750bda { display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem; }
.u145-1a2f9690 { padding:1.5rem; }
.u145-452cdda4 { margin-bottom:.25rem; }
.u145-98bc7f3f { color:#666;margin-top:0; }
.u145-05ec5a30 { padding:.5rem 1rem;border:0;border-radius:6px;background:#2563eb;color:#fff;font-weight:600;cursor:pointer; }
.u145-5bba4f8e { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1rem 0; }
.u145-14728bc5 { font-size:.72rem;text-transform:uppercase;color:#888;letter-spacing:.04em; }
.u145-473e6bbf { width:100%;border-collapse:collapse; }
.u145-6c19f780 { text-align:left;border-bottom:2px solid #ddd; }
.u145-bd389aef { padding:.5rem; }
.u145-ae1e4118 { border-bottom:1px solid #eee; }
.u145-c27a7ebc { color:#c0392b;font-weight:600; }
.u145-debcd991 { color:#27ae60;font-weight:600;margin-top:1rem; }
.u145-e62ebc91 { color:var(--brand-dark);font-size:40px; }
.u145-d4511486 { font-size:1rem;margin:0 0 1rem; }
.u145-bc43bc61 { display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem; }
.u145-37721414 { display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem; }
.u145-71c7258e { margin-left:.5rem; }
.u145-153a4bf2 { display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap; }
.u145-b9332517 { display:flex;align-items:center;gap:.35rem;font-size:.875rem; }
.u145-2b0c559d { display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-top:.75rem; }
.u145-03e22305 { margin-top:.75rem; }
.u145-bc18a03b { display:flex;flex-wrap:wrap;gap:.5rem 1rem; }
.u145-deb1e495 { margin-top:.5rem; }
.u145-050683ea { color:var(--text-muted);margin:.25rem 0 0; }
.u145-bbfd6866 { display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem; }
.u145-88c3e0ee { padding:.85rem 1.1rem;min-width:120px; }
.u145-885e975d { font-size:24px;font-weight:700; }
.u145-0b5d226d { color:var(--text-muted);font-size:12px; }
.u145-6fe6c608 { font-size:24px;font-weight:700;color:#b42318; }
.u145-1240a09d { margin:1.5rem 0 .5rem;font-size:18px; }
.u145-17b40199 { color:var(--text-muted);margin:0 0 .75rem;font-size:13px; }
.u145-c05b5e22 { display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;margin-bottom:1.5rem; }
.u145-ccf5297f { display:flex;justify-content:space-between;align-items:center;gap:.5rem; }
.u145-915cd8a3 { color:var(--text-muted);font-size:12px;margin-top:.35rem; }
.u145-a9831f4a { font-size:12px;margin-top:.25rem; }
.u145-b6cfff30 { padding:0;overflow:auto;margin-bottom:1.5rem; }
.u145-a2013f32 { text-align:left;padding:.6rem .8rem; }
.u145-3edebbfe { text-align:left;padding-right:.8rem; }
.u145-9691878f { border-top:1px solid var(--border); }
.u145-f4174197 { padding:.55rem .8rem;font-weight:600; }
.u145-084696a2 { padding-right:.8rem; }
.u145-83950000 { padding:.8rem;color:var(--text-muted); }
.u145-dc43b18b { background:#fff8e6;border:1px solid #f5d98b;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;font-size:13px; }
.u145-69c2ed50 { padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px; }
.u145-d4e4684d { padding:.4rem .9rem; }
.u145-613a61a1 { color:var(--text-muted);font-size:13px; }
.u145-aad57f7f { padding:0;overflow:auto; }
.u145-5dd2f7e8 { width:100%;border-collapse:collapse;font-size:13px; }
.u145-2faa3273 { text-align:left;padding:.55rem .8rem; }
.u145-1f6f18a7 { padding:.5rem .8rem; }
.u145-9bd66a0a { font-size:9px;margin-left:.3rem; }
.u145-bdd7e892 { color:var(--text-muted);font-size:12px;margin-top:.5rem; }
.u145-3a003900 { padding:1.25rem;margin-top:1.5rem;border:2px solid var(--primary,#1a56db); }
.u145-5383cc82 { margin:0;font-size:18px; }
.u145-4551ae81 { font-weight:400;color:var(--text-muted);font-size:14px; }
.u145-79d6f63c { display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0; }
.u145-199d8688 { width:100%;font-size:13px;border-collapse:collapse; }
.u145-6470670f { padding:.35rem .5rem;color:var(--text-muted);width:140px; }
.u145-e98a5697 { padding:.35rem .5rem; }
.u145-7b24bca3 { margin:1rem 0 .35rem;font-size:14px; }
.u145-634178b0 { margin:.25rem 0;padding-left:1.1rem;font-size:13px; }
.u145-a5808ea7 { font-weight:400;color:var(--text-muted); }
.u145-375229ab { width:100%;font-size:12px;border-collapse:collapse; }
.u145-8bfa9f8d { text-align:left;padding:.3rem .5rem; }
.u145-f74420af { padding:.3rem .5rem; }
.u145-1e90930a { display:flex;gap:10px;flex-wrap:wrap; }
.u145-dd4b3af5 { margin-bottom:1rem;padding:1rem; }
.u145-4296b6b9 { margin:.5rem 0 0;line-height:1.6; }
.u145-2e2a4224 { margin-right:8px; }
.u145-a82566c0 { padding:0 1rem;margin:0 0 .75rem; }
.u145-bdcaca75 { max-width:700px; }
.u145-78cead65 { display:flex;gap:8px;align-items:center; }
.u145-6add97ef { max-width:480px; }
.u145-a30502bb { margin-top:1rem;padding:.75rem 1rem;background:var(--bg-subtle);border-radius:var(--radius-md);display:flex;align-items:center;gap:12px; }
.u145-a5b0a0d8 { height:22px; }
/* === NOTARY-INIT-145 dynstyle-repair archive (2026-06-22) — PHP literals wrongly extracted into static CSS ===
.u145-b7a847d9 { display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:' . htmlspecialchars($vb['color']) . ';color:#fff; }
.u145-750798cf { font-size:' . $size . '; }
.u145-f3cbf671 { display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;'
         . 'font-size:12px;font-weight:700;background:' . $color . ';color:#fff; }
.u145-fcb2c2ad { display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;' . $bg . '; }
*/
.u145-b7a847d9 { display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff; }
.u145-c4a2d00f { max-width:100px;font-family:monospace; }
.u145-acc36bdb { display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#F3F4F6;color:#6B7280;border:1px solid #D1D5DB; }
.u145-692a9a71 { padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:1rem;max-width:480px; }
.u145-9d7f64fa { display:flex;gap:10px;align-items:center; }
.u145-c74d1cc1 { font-weight:600;min-width:36px;text-align:right; }
.u145-4868a876 { display:flex;align-items:center;gap:10px;cursor:pointer; }
.u145-f9f709c1 { padding:0 1.25rem 1.25rem;max-width:520px; }
.u145-9000f447 { display:flex;flex-direction:column;gap:10px;margin-bottom:1.25rem; }
.u145-68057bf1 { cursor:grab;user-select:none; }
.u145-cf6630b2 { flex:1;min-width:140px; }
.u145-6170d94c { margin-left:8px; }
.u145-3da18590 { display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.u145-6a80fbdd { padding:0 1.25rem 1.25rem;max-width:400px; }
.u145-c43eb2bf { max-width:200px; }
.u145-3381f5cc { font-size:1.1rem;margin:1.5rem 0 .75rem; }
.u145-cfd9b8e2 { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem; }
.u145-cf8cd1fa { font-size:.95rem;margin:0 0 .5rem; }
.u145-8e4d27d1 { margin:.5rem 0 0;padding-left:1rem; }
.u145-f2ea5fc1 { font-size:1rem; }
.u145-026d86e8 { margin-left:1rem; }
.u145-cd7c6198 { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.u145-97294b20 { grid-column:1/-1; }
.u145-6846f789 { display:block;margin:.75rem 0; }
.u145-716123aa { display:block;margin-bottom:.75rem; }
.u145-6ae3dd2f { margin-bottom:1rem;display:flex;gap:8px;flex-wrap:wrap; }
.u145-3ffb6d6b { width:120px;font-size:12px; }
.u145-b5790f49 { margin-top:1rem;padding:1rem; }
.u145-39d968b4 { font-size:12px;padding:4px 8px;min-width:100px; }
.u145-d421279b { padding:0 1.25rem 1.25rem;overflow-x:auto; }
.u145-26aceba0 { display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end; }
.u145-a3a2743d { min-width:180px; }
.u145-234b578d { width:190px; }
.u145-e1b9d089 { display:flex;align-items:center;gap:6px;font-size:13px; }
.u145-3b8de1b5 { color:var(--danger);margin:.5rem 0 0; }
.u145-376e728c { display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:1.5rem; }
.u145-5dc9771e { font-family:monospace;font-size:12px; }
.u145-dcbc2da5 { width:100%;font-size:12px; }
.u145-be2fa368 { display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem; }
.u145-da4f44e8 { display:flex;gap:6px;margin-bottom:1rem; }
.u145-61847d20 { max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.u145-6f6aab01 { max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.u145-3c4316eb { display:block;margin-bottom:4px; }
.u145-8bd19c0f { width:100%;margin-bottom:10px; }
.u145-bc087720 { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px; }
.u145-089afccb { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1rem; }
.u145-fe4dc007 { font-size:12px;padding:4px 6px; }
.u145-a914e117 { font-size:1.4rem;font-weight:700;margin-bottom:4px; }
.u145-8a7db248 { display:flex;align-items:center;gap:10px;margin-bottom:1rem; }
.u145-955f80da { font-size:1rem;font-weight:600;margin:0; }
.u145-fbbbd544 { margin-top:1rem;margin-bottom:0; }
.u145-6ad77a4d { font-weight:500;font-size:14px; }
.u145-76084ee4 { margin-bottom:0; }
.u145-8224dac8 { margin-top:1rem;display:none; }
.u145-a8dc071a { display:none;font-size:13px;color:var(--text-muted);margin-top:8px; }
.u145-ba853ea6 { display:none;margin-top:12px; }
.u145-15e4c04a { font-size:13px;color:var(--text-muted);margin-left:8px; }
.u145-f19838ca { text-align:center;margin-top:8px; }
.u145-84b70ff9 { position:sticky;top:calc(var(--nav-h) + 1rem); }
.u145-6f1cf553 { display:flex;align-items:center;gap:10px;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border); }
.u145-c8be1ccb { display:none; }
.u145-7f1f5a63 { margin-top:1rem;font-size:13px;color:var(--text-muted);display:none; }
.u145-d982937d { margin-bottom:4px; }
.u145-9e9fd53b { max-width:520px;margin:2.5rem auto; }
.u145-6307ba9e { padding:2rem;text-align:center; }
.u145-b1801c99 { font-size:3rem;color:var(--success-text);margin-bottom:1rem; }
.u145-e84750f9 { font-size:1.5rem;margin-bottom:.5rem; }
.u145-73e9ac5b { text-align:left;background:var(--bg-page);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem; }
.u145-a1fcf5fe { display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px; }
.u145-7a0cadd2 { display:flex;justify-content:space-between;font-size:14px; }
.u145-e4a98738 { display:flex;gap:10px;justify-content:center;flex-wrap:wrap; }
.u145-e3f61041 { display:flex;align-items:center;gap:8px; }
.u145-68662f87 { text-align:center;margin-bottom:2rem; }
.u145-77bf51a4 { width:64px;height:64px;border-radius:50%;background:var(--brand-light);
                display:flex;align-items:center;justify-content:center;margin:0 auto 1rem; }
.u145-94515c07 { font-size:28px;color:var(--brand-dark); }
.u145-0bc8e7c7 { font-size:1.4rem;font-weight:700;margin:0 0 .5rem; }
.u145-2feb7ff1 { margin:0;font-size:14px; }
.u145-254f5690 { display:none;width:160px;height:100px;border-radius:6px;margin-top:8px;object-fit:cover;background:#000; }
.u145-6c5362fe { display:none;margin-top:8px;height:8px;background:var(--bg-subtle);
             border-radius:4px;overflow:hidden; }
.u145-a84d3f0e { height:100%;background:var(--brand);width:0%;transition:width .1s; }
.u145-c222f401 { background:var(--bg-subtle);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.5rem; }
.u145-75f62c88 { font-weight:600;font-size:14px;margin-bottom:6px; }
.u145-c5366887 { color:var(--brand-dark); }
.u145-6ddc2d4b { font-size:13px;color:var(--text-secondary);margin:0;padding-left:1.25rem;line-height:1.9; }
.u145-637e84f0 { margin:10px 0 0; }
.u145-1e612fcd { margin-bottom:1.5rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
.u145-2ac711ab { font-size:1.3rem;font-weight:700;margin:0; }
.u145-7fafeb1b { display:grid;grid-template-columns:1fr 300px;gap:1.5rem;align-items:start; }
.u145-04494c7e { display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:14px; }
.u145-0e42856c { color:var(--text-secondary); }
.u145-de69a490 { font-size:16px;color:var(--brand-dark); }
.u145-fa67ab69 { flex:1;min-width:200px; }
.u145-fd02d795 { border-color:var(--color-border-tertiary); }
.u145-594056f2 { font-size:14px;font-weight:600;margin-bottom:8px;color:var(--danger-text); }
.u145-bc223df6 { display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap; }
.u145-79eb2d84 { background:var(--brand-pale);border-color:var(--brand); }
.u145-b72a96f6 { display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap; }
.u145-b35318eb { text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px; }
.u145-15101c1f { display:flex;align-items:center;gap:10px;margin-bottom:12px; }
.u145-0a3a92d7 { display:flex;justify-content:space-between;font-size:15px;font-weight:700;padding:8px 0 0;border-top:1px solid var(--border);margin-top:4px; }
.u145-2fd7789b { margin-top:6px; }
.u145-342ac4dc { margin:0 0 10px; }
.u145-d79fca4b { margin-top:12px;padding:10px;border-radius:var(--radius-md);background:var(--bg-muted);font-size:12px; }
.u145-f226ee2d { font-weight:600;margin-bottom:6px; }
.u145-f9f9f62b { margin:8px 0 0;color:var(--text-muted);line-height:1.4; }
.u145-70d3f129 { color:var(--brand-dark);font-weight:600; }
.u145-724b8b16 { margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-muted); }
.u145-13220a30 { font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px; }
.u145-17e4977e { font-size:13px;margin-top:4px; }
.u145-c8ab803b { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;max-width:860px; }
.u145-a8ab7777 { padding:0 1.25rem 1.25rem;font-size:14px;display:flex;flex-direction:column;gap:10px; }
.u145-841c342a { display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border); }
.u145-30997569 { width:48px;height:48px;font-size:16px;flex-shrink:0; }
.u145-f728a235 { text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px; }
.u145-ce9de5e2 { padding-top:8px;border-top:1px solid var(--border); }
.u145-ca4ce21b { margin:2.5rem auto; }
.u145-b27fd611 { background:var(--bg-subtle);border-radius:var(--radius-lg);padding:1rem 1.25rem;
                margin-bottom:1.75rem;font-size:13px;color:var(--text-secondary);line-height:1.6; }
.u145-52bd15b1 { margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);
                font-size:13px;color:var(--text-muted);text-align:center; }
.u145-0f650f25 { max-width:420px;margin:2.5rem auto; }
.u145-737733ae { border:none;padding:0 0 1.25rem;margin:0; }
.u145-8e2b91d0 { font-size:1.5rem; }
.u145-b716c4b7 { margin:1.5rem 0; }
.u145-7a4e23aa { text-align:center;margin:0; }
.u145-ae7439a7 { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.u145-16cb4f25 { display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer; }
.u145-da1d9f06 { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:8px; }
.u145-36cf110d { padding:1rem;cursor:pointer;display:flex;gap:12px;align-items:flex-start;margin:0; }
.u145-23cc6092 { display:block;color:var(--text-primary); }
.u145-d256176e { background:var(--bg-subtle);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.75rem; }
.u145-b32a606a { display:flex;flex-direction:column;gap:10px; }
.u145-e1ed7704 { display:flex;align-items:flex-start;gap:10px;font-size:14px; }
.u145-c5cafe8c { color:var(--brand-dark);font-size:16px;margin-top:1px;flex-shrink:0; }
.u145-379f0930 { text-align:center;margin:1rem 0 0; }
.u145-623c60f0 { padding:2rem 0;max-width:800px; }
.u145-0cbbffe0 { padding:1rem;margin:1.5rem 0;background:#EFF6FF;border:1px solid #BFDBFE; }
.u145-776f5333 { max-width:800px;margin:2rem auto;padding:1rem; }
.u145-5fcc578f { padding:1rem;margin-bottom:1.5rem;border-left:4px solid #2563eb; }
.u145-c9e89946 { padding:1.25rem;margin-bottom:1.5rem; }
.u145-59dfbf27 { margin:0 0 1rem;font-size:1.1rem; }
.u145-ca83e8f0 { display:grid;gap:.75rem;margin-bottom:1rem; }
.u145-f8432071 { display:flex;align-items:center;gap:10px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer; }
.u145-488371ca { display:grid;gap:.5rem;margin-top:.75rem; }
.u145-999ccfc0 { display:flex;align-items:center;gap:10px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md); }
.u145-24da50f1 { background:var(--bg-subtle);padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:14px; }
.u145-f5618a4d { display:flex;justify-content:space-between;margin-bottom:6px; }
.u145-da5a4919 { display:flex;justify-content:space-between; }
.u145-a127d00d { display:none;margin-top:8px;color:var(--warning);font-size:13px; }
.u145-425e9976 { display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--border); }
.u145-86ff2f64 { margin-bottom:4px;font-size:13px; }
.u145-09d7910f { padding:1.25rem;margin-bottom:1.5rem;border-left:4px solid var(--brand-dark); }
.u145-1219e65b { display:grid;gap:.75rem; }
.u145-d17604d4 { margin:.25rem 0 0; }
.u145-5bbeac6a { font-size:1.1rem;font-weight:700;margin:.5rem 0; }
.u145-755c22ab { margin-top:.5rem;color:#92400E; }
.u145-5fea9de5 { margin:.35rem 0 0;padding-left:1.1rem; }
.u145-e6194e99 { padding:0 .4rem;font-size:.75rem; }
.u145-3121cc9a { color:#b91c1c; }
.u145-6730fc6c { margin:1rem 0;border:1px solid #e5e7eb;padding:.75rem;border-radius:6px; }
.u145-7e5cd829 { display:block;margin-bottom:.35rem; }
.u145-4c20eda4 { padding:.75rem;margin:1rem 0;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px; }
.u145-9bbb39f0 { margin:.35rem 0 0; }
.u145-1e43ff8f { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem; }
.u145-cdde719f { max-width:1200px;margin:2rem auto; }
.u145-0b544566 { max-width:1100px;margin:2rem auto; }
.u145-4463cdc1 { padding:1rem;margin-bottom:1rem;background:#fffbeb;border-color:#FCD34D; }
.u145-f7886259 { margin:.35rem 0 0;line-height:1.5; }
.u145-97c2cb5a { margin:.5rem 0 0;color:#92400E; }
.u145-7f846215 { display:grid;gap:1rem; }
.u145-725cd0df { font-size:1.1rem;margin:0 0 .35rem; }
.u145-e10e92ea { max-width:900px;margin:2rem auto; }
.u145-cb71753b { padding:1rem;margin-bottom:1rem;background:#fef2f2; }
.u145-c11a7634 { margin-top:1rem;padding:.75rem;background:#fffbeb;border-radius:6px; }
.u145-d6b26b98 { padding:2rem 0; }
.u145-f6dc06f8 { max-width:960px;margin:2rem auto;padding:0 1rem; }
.u145-07bbf13a { font-size:0.75rem; }
.u145-f5d779a1 { max-width:200px;margin-bottom:.5rem; }
.u145-2548ffb7 { max-width:160px;margin-bottom:.5rem; }
.u145-8ed82131 { font-size:1.5rem;font-weight:700;margin:0 0 0.5rem; }
.u145-c9ba4293 { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start; }
.u145-f28b4d0c { margin:0;display:grid;grid-template-columns:120px 1fr;gap:8px 12px;font-size:14px; }
.u145-8838dfb6 { margin-top:1rem;display:flex;gap:8px; }
.u145-83bc9b8b { padding:0 1.25rem 1.25rem;margin:0; }
.u145-5c2e1051 { padding:0 1.25rem 1.25rem;margin:0;list-style:none; }
.u145-846db170 { margin:1.5rem 0;padding:1rem;border:1px solid #ddd;border-radius:8px; }
.u145-ca1460ac { margin-left:0.5rem; }
.u145-0ec31be6 { padding:1.25rem;margin:1rem 0; }
.u145-6d09221a { max-width:400px; }
.u145-e73ebf41 { max-width:220px; }
.u145-1c3e1e11 { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:2rem; }
.u145-3b781e27 { font-size:1rem;margin:0 0 .35rem; }
.u145-864c8f60 { font-size:1.1rem; }
.u145-311c9979 { font-size:1rem;margin:1.25rem 0 .5rem;color:var(--text-secondary); }
.u145-4bdf9030 { padding:1rem;margin-bottom:.5rem; }
.u145-9c220079 { margin-top:.5rem;line-height:1.6; }
.u145-d4856065 { margin:1rem 0; }
.u145-d1dc2960 { padding:1rem;background:#fffbeb; }
.u145-29144f9f { list-style:none;padding:0; }
.u145-bf68f32c { flex:1;font-weight:500;color:var(--brand-dark); }
.u145-7ea1beb8 { flex-wrap:wrap;gap:8px;padding:8px 12px; }
.u145-496e2ed2 { min-width:180px;border:none;outline:none;font-size:15px;background:transparent;flex:1; }
.u145-a9ffb0a2 { border:none;outline:none;font-family:inherit;font-size:15px;background:transparent;padding:4px 24px 4px 4px;cursor:pointer; }
.u145-454ea3ce { font-size:14px;color:var(--text-secondary);margin:0; }
.u145-d3151eae { font-size:13px;color:var(--text-secondary);margin:0; }
.u145-d5978226 { color:var(--text-secondary);font-size:14px;margin-bottom:1rem; }
.u145-acf57f55 { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px; }
.u145-df7579d7 { margin:0;color:var(--text-primary); }
.u145-7e024e02 { padding:.5rem 0 2rem; }
.u145-4cdb180b { max-width:800px;margin:0 auto; }
.u145-e48c6897 { padding:1rem 0 3rem; }
.u145-12b3355c { display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem; }
.u145-b5c6cfa0 { font-size:1.1rem;font-weight:700; }
.u145-78bff657 { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px; }
.u145-31eaa591 { width:38px;height:38px;border-radius:var(--radius-md);background:var(--brand-light);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.u145-c8d3d721 { font-size:14px;font-weight:600;color:var(--text-primary); }
.u145-7052d141 { font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.4; }
.u145-b177d35c { background:var(--brand-light);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;margin-bottom:1rem; }
.u145-d548fee7 { font-size:1.6rem;font-weight:700;margin-bottom:.75rem; }
.u145-bc6f07e1 { color:var(--text-secondary);max-width:520px;margin:0 auto 1.5rem; }
.u145-28108b0a { font-weight:600;color:var(--text-secondary); }
.u145-a8f74844 { font-weight:600;margin-right:4px; }
.u145-172a1352 { line-height:0;flex-shrink:0; }
.u145-4b1d27e4 { padding:1.5rem;margin-top:1rem; }
.u145-22177e7e { margin:.35rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.u145-dd9afeb6 { padding:1rem;margin-bottom:1rem;max-height:420px;overflow-y:auto; }
.u145-1e3e5e7b { font-weight:600;margin-bottom:.25rem; }
.u145-fa8e7d31 { margin:.25rem 0; }
.u145-3245beef { font-size:1rem;margin:0 0 .5rem; }
.u145-d4321179 { margin:0;padding-left:1.25rem; }
.u145-11e47c28 { margin:0 0 .75rem;border-left:3px solid #ccc;padding-left:.75rem; }
.u145-7be5b5e6 { padding:1rem;margin-top:2rem;font-size:.9rem;color:#555; }
.u145-044190f7 { background:var(--bg-subtle);border-radius:var(--radius-md);padding:1rem;font-size:14px;color:var(--text-muted);text-align:center; }
.u145-e75bd8ca { display:block;margin-bottom:3px; }
.u145-4ce4dd35 { margin-top:1rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap; }
.u145-c04fdcc9 { max-width:600px; }
.u145-f3f74656 { margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border); }
.u145-78a7b9be { font-weight:600;margin-bottom:8px; }
.u145-06de7537 { display:flex;align-items:center;gap:8px;margin-bottom:6px; }
.u145-fdcee13f { margin-top:1.25rem;display:flex;gap:10px;flex-wrap:wrap;align-items:center; }
.u145-816e4be0 { display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:start; }
.u145-2d270e56 { padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:1rem; }
.u145-48957195 { display:flex;justify-content:space-between;gap:8px;align-items:center; }
.u145-7c4db53f { color:var(--warning-text);font-size:14px;margin:4px 0; }
.u145-873b44a8 { margin:0;color:var(--text-secondary); }
.u145-fb1a6147 { display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap; }
.u145-01310b42 { margin-bottom:1rem;border:1px solid #ddd;padding:1rem; }
.u145-e40ff326 { display:block;margin:.25rem 0; }
.u145-255efbe5 { margin:0 0 2rem; }
.u145-11783247 { display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:760px; }
.u145-50e9273a { padding:1.75rem;border:2px solid var(--brand);position:relative; }
.u145-640e6220 { position:absolute;top:-12px;left:1.25rem;background:var(--brand);color:#fff;
                border-radius:999px;padding:2px 12px;font-size:11px;font-weight:700; }
.u145-29b8ad3e { width:52px;height:52px;border-radius:50%;background:var(--brand-light);
                display:flex;align-items:center;justify-content:center;margin-bottom:1rem; }
.u145-0a5abcd0 { font-size:22px;color:var(--brand-dark); }
.u145-fc07d837 { font-size:1.1rem;font-weight:700;margin:0 0 .5rem; }
.u145-88ced774 { margin:0 0 1.25rem;line-height:1.6; }
.u145-0de9fb07 { font-size:13px;color:var(--text-secondary);margin:0 0 1.5rem;padding-left:1.25rem;line-height:1.8; }
.u145-7ae12615 { padding:1.75rem; }
.u145-53284783 { width:52px;height:52px;border-radius:50%;background:var(--bg-subtle);
                display:flex;align-items:center;justify-content:center;margin-bottom:1rem; }
.u145-8f3fb449 { font-size:22px;color:var(--text-muted); }
.u145-c065daa4 { margin:1.5rem 0 0; }
.u145-deedbcaa { padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px; }
.u145-cd9ff86e { color:var(--danger-text);margin-bottom:8px; }
.u145-0ebd0e2a { margin-bottom:1rem;font-size:13px; }
.u145-62c135d5 { display:flex;flex-direction:column;gap:14px; }
.u145-2ad184a9 { border:1px solid var(--border);border-radius:var(--radius-md);padding:12px; }
.u145-88348d43 { display:flex;align-items:center;gap:8px;margin-bottom:8px; }
.u145-ed3097c9 { padding:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem; }
.u145-1d658f0d { min-height:160px; }
.u145-e68f3ebe { margin-top:8px;word-break:break-all; }
.u145-8ddf6bc5 { margin:0;font-size:1.35rem; }
.u145-33c33a4b { margin-bottom:1rem;border-color:var(--brand); }
.u145-cd99bf8f { padding:1rem 1.25rem; }
.u145-8c310e42 { margin:.35rem 0 .75rem; }
.u145-992daf23 { padding:1.5rem;text-align:center; }
.u145-4711cdc6 { display:block;margin-bottom:6px;max-width:320px; }
.u145-a4894d9a { display:block;margin-bottom:6px; }
.u145-be0b5d86 { height:22px;width:auto;vertical-align:middle; }
.u145-f3cbf671 { display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff; }
.u145-67aa18b5 { font-size:13px;color:var(--text-muted);margin-bottom:1rem; }
.u145-239425b2 { margin:0 6px; }
.u145-55289dc1 { color:var(--text-primary); }
.u145-166e1776 { display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap; }
.u145-9515cfb7 { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px; }
.u145-6452804e { font-size:14px;color:var(--text-secondary);margin-bottom:8px; }
.u145-af3fee87 { margin-bottom:10px; }
.u145-e63f1e23 { font-size:15px; }
.u145-2483a073 { margin-left:8px;font-size:13px; }
.u145-2a669cec { width:10px;height:10px;border-radius:50%;background:#1D9E75;display:inline-block;animation:pulse-online 1.5s ease-in-out infinite;flex-shrink:0; }
.u145-b2b92f57 { font-size:13px;font-weight:600;color:#1D9E75; }
.u145-9aff6bb0 { display:flex;flex-wrap:wrap;gap:6px; }
.u145-1e9e836b { margin:1.25rem 0 0;font-size:15px;color:var(--text-secondary);font-style:italic; }
.u145-8f42de42 { background:#FFFBEB;border:1px solid #FCD34D;border-radius:var(--radius-lg);
                padding:1rem 1.25rem;margin-bottom:1rem;display:flex;align-items:flex-start;
                gap:12px;flex-wrap:wrap; }
.u145-bfdc6616 { font-size:20px;color:#D97706;flex-shrink:0;margin-top:2px; }
.u145-4c84ade4 { font-weight:700;font-size:14px;color:#92400E;margin-bottom:4px; }
.u145-86b1d7c0 { font-size:13px;color:#78350F;line-height:1.5; }
.u145-fe23c70c { font-size:14px;line-height:1.7;color:var(--text-secondary);margin:0; }
.u145-67313c54 { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px; }
.u145-f4ffdd29 { font-size:14px;font-weight:500;margin-bottom:2px; }
.u145-4fee09dc { margin-left:6px;font-size:11px; }
.u145-7c04906e { margin-left:4px;font-size:11px; }
.u145-d2ca15ce { text-align:right;flex-shrink:0; }
.u145-f2857dd7 { font-size:14px;font-weight:600; }
.u145-1d230953 { color:var(--success-text);font-weight:500;min-width:140px; }
.u145-216a580a { font-size:11px;color:var(--brand-dark); }
.u145-650d9324 { margin:.75rem 0 0; }
.u145-0db0719f { display:flex;align-items:center;gap:10px;margin-bottom:6px; }
.u145-28d2d7e6 { font-size:14px;font-weight:500; }
.u145-035fc86f { font-size:11px;margin-left:6px; }
.u145-b1324ad4 { font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0; }
.u145-3a594245 { font-size:1.6rem;font-weight:700; }
.u145-48f32e28 { font-size:1rem;font-weight:600; }
.u145-65c9a607 { font-size:12px;color:var(--text-muted);margin-top:4px; }
.u145-a6dea213 { display:flex;flex-direction:column;gap:8px;margin-bottom:1.25rem; }
.u145-ae9a20c1 { display:flex;align-items:center;gap:8px;font-size:13px; }
.u145-176b86f7 { color:var(--brand-dark);font-size:16px; }
.u145-a2aa6fb2 { font-size:11px;padding:3px 8px;border-radius:999px;background:var(--bg-muted);border:1px solid var(--border); }
.u145-9241a983 { margin-bottom:1rem;padding:10px;border-radius:var(--radius-md);background:var(--bg-muted);border:1px dashed var(--border); }
.u145-44c6ac03 { font-size:13px;margin-bottom:4px; }
.u145-b6e272dd { font-size:11px;color:var(--text-muted);margin:8px 0 0;line-height:1.4; }
.u145-fb58c132 { font-size:12px;color:var(--text-muted);text-align:center;margin:8px 0 0; }
.u145-d061b86e { margin-bottom:.75rem; }
.u145-08cd2af8 { font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:4px; }
.u145-eb2d7f91 { font-size:13px;resize:vertical; }
.u145-9b919830 { margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted); }
.u145-250bb750 { font-size:13px;font-weight:600;margin-bottom:4px; }
.u145-16bf43c1 { font-size:12px;color:var(--text-muted);margin:0 0 .75rem;line-height:1.45; }
.u145-6c01daf0 { font-size:12px;margin:0 0 .75rem; }
.u145-2c0b4fd4 { display:flex;flex-direction:column;gap:10px;font-size:13px; }
.u145-c7a2b3d5 { color:var(--success-text);font-weight:500; }
.u145-4f94f798 { font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px; }
.u145-16f2d512 { display:flex;align-items:center;gap:12px; }
.u145-f06328bb { padding:1rem;border-style:dashed; }
.u145-687e6e72 { font-size:13px;color:var(--text-muted);margin-bottom:8px; }
.u145-911190d6 { border:1px solid #d1d5db;padding:1rem;background:#fafafa;max-height:420px;overflow:auto;font-size:11pt;line-height:1.45; }
.u145-ea37a3f1 { margin:0;padding-left:1.1rem;line-height:1.6; }
.u145-bb038eee { padding:0;margin:0;height:100vh;display:flex;flex-direction:column; }
.u145-ff5c0a6f { padding:10px 16px;background:var(--bg-subtle);border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center; }
.u145-b4cfb325 { display:grid;grid-template-columns:1.5fr 1fr;gap:1.5rem;align-items:start; }
.u145-77645176 { display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap; }
.u145-5d45a66e { display:flex;gap:16px;flex-wrap:wrap;margin-top:8px; }
.u145-db7fb625 { font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px; }
.u145-91d834fe { display:flex;flex-direction:column;gap:8px;margin-bottom:10px; }
.u145-132ffa33 { display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px; }
.u145-285af160 { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.u145-c07820d6 { max-width:260px;font-size:12px; }
.u145-71364d8c { display:flex;gap:16px;margin-bottom:1rem; }
.u145-732dcb0c { display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem; }
.u145-fe1c261b { flex:1;min-width:220px; }
.u145-c27099c4 { margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.04em; }
.u145-5711f5ca { grid-column:1/-1;justify-self:start; }
.u145-9c4d0b53 { border:0;padding:0;margin:1rem 0 0; }
.u145-363174ac { max-width:80px;text-transform:uppercase; }
.u145-a392c5cb { max-width:120px; }
.u145-fefc9355 { display:flex;flex-wrap:wrap;gap:16px;margin-top:8px; }
.u145-ef4e6f9c { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
.u145-20370a9d { display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:4px; }
.u145-4b6ddefe { display:flex;flex-direction:column;gap:10px;margin-bottom:12px; }
.u145-1825db25 { margin-left:1.25rem; }
.u145-0088aca0 { margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md); }
.u145-649073b7 { display:flex;flex-direction:column;gap:12px;margin-bottom:1rem; }
.u145-2fa304ec { display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-subtle);border-radius:var(--radius-md);flex-wrap:wrap; }
.u145-4c28b25f { flex:1;min-width:160px; }
.u145-60d61d22 { margin-bottom:1.5rem;padding:1rem; }
.u145-4ded9338 { font-size:1rem;margin:1rem 0 .5rem; }
.u145-99871d5f { margin-right:1rem; }
.u145-aefdcc0b { padding:10px 0;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:flex-start; }
.u145-52942956 { grid-template-columns:repeat(3,1fr);margin-bottom:12px; }
.u145-758a8873 { font-weight:700; }
.u145-547cdd70 { padding:6px 0;border-bottom:1px solid var(--border); }
.u145-052e265b { margin-top:1rem;color:var(--warning); }
.u145-4018f4a8 { margin-left:12px; }
.u145-213c7882 { max-width:320px; }
.u145-cb2b04ea { padding:1rem;font-size:13px; }
.u145-808d3926 { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem;align-items:center; }
.u145-b5478958 { margin-bottom:1rem;padding:1rem;font-size:12px;color:var(--text-muted); }
.u145-2d093ade { display:flex;flex-wrap:wrap;gap:8px;margin:8px 0; }
.u145-55458d11 { margin:0 0 1rem;padding:12px 16px;border-radius:var(--radius-md,8px);
            background:var(--bg-subtle,#f3f4f6);border:1px solid var(--border,#e5e7eb);
            display:flex;align-items:flex-start;gap:12px; }
.u145-6be2ce0d { flex-shrink:0;line-height:0; }
.u145-21491055 { display:block;font-size:14px; }
.u145-f38a951c { flex-shrink:0; }
.u145-a42388f6 { display:flex;justify-content:space-between;align-items:center;margin-bottom:6px; }
.u145-ac1ddafc { height:8px;background:var(--border,#e5e7eb);border-radius:99px;overflow:hidden; }
.u145-5b567766 { display:flex;flex-wrap:wrap;gap:8px;margin-top:10px; }
.u145-a6d82961 { margin:8px 0 0; }
.u145-a338036d { font-size:.95rem;margin:0 0 .35rem; }
.u145-3ef207ba { margin:0 0 .5rem;line-height:1.5; }
.u145-3714d51f { color:var(--warning-text); }
.u145-8bad3072 { margin:0 0 .5rem;line-height:1.5;font-style:italic; }
.u145-f0c6461e { display:flex;flex-wrap:wrap;gap:12px;margin-top:.5rem; }
.u145-127eb825 { position:fixed;bottom:80px;left:16px;z-index:8400; }
.u145-13e8bdbf { border-radius:50%;width:36px;height:36px;padding:0; }
.u145-da5793be { position:absolute;bottom:44px;left:0;width:280px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px;box-shadow:0 4px 12px rgba(0,0,0,.12); }
.u145-5af1d2cd { margin:.5rem 0 0;padding-left:1rem;font-size:12px; }
.u145-fac12e37 { margin:.75rem 0 0;font-size:11px; }
.u145-0293675b { display:block;font-size:14px;margin-bottom:4px; }
.u145-a84f1dc0 { min-height:auto;padding:6px 8px;margin-bottom:8px; }
.u145-9984406a { position:absolute;left:-9999px; }
.u145-eca14e5d { display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start; }
.u145-b4698169 { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem; }
.u145-3d42c106 { display:none;margin-bottom:1rem; }
.u145-72e9aff1 { max-width:720px;margin:2rem auto; }
.u145-bc01ac3f { display:flex;gap:.5rem;flex-wrap:wrap; }
.u145-99eb3a58 { margin-top:2rem;font-size:.9rem;color:#666; }
.u145-c9acbbee { max-width:480px;margin:2rem auto; }
.u145-61de274b { max-width:560px;margin:0 auto; }
.u145-45458912 { display:flex;align-items:center;gap:12px;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border); }
.u145-cdee609a { width:52px;height:52px;font-size:18px;flex-shrink:0; }
.u145-be137058 { font-weight:700;font-size:1.1rem; }
.u145-ed2e4ea6 { margin-top:8px;min-height:18px; }
.u145-a527bac1 { text-align:right; }
.u145-830b470c { background:var(--brand-light);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:1.25rem;font-size:13px;color:var(--brand-dark);display:flex;align-items:center;gap:8px; }
.u145-6c28d089 { font-size:16px; }
.u145-f29cbd07 { max-width:640px;margin:2rem auto; }
.u145-67694105 { height:20px;width:auto;vertical-align:middle; }
.u145-fcb2c2ad { display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600; }
.u145-efa083ab { position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),#10b981);border-radius:var(--radius-lg) var(--radius-lg) 0 0; }
.u145-7ae93a1c { display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0; }
.u145-360943d9 { font-size:12px;color:var(--text-secondary);line-height:1.4;margin:0 0 6px; }
.u145-e48b0583 { font-size:11px; }
.u145-60370f36 { font-size:11px;color:var(--text-muted);margin-bottom:6px; }
.u145-3315399b { color:var(--warning-text);font-weight:600; }
.u145-c87511f9 { font-size:11px;color:var(--brand-dark);font-weight:500;background:var(--brand-light);
                padding:4px 10px;border-radius:var(--radius-md);display:inline-block; }
.u145-42f83076 { margin-top:auto;padding-top:8px; }
.u145-05000290 { font-size:12px;font-weight:600; }
.u145-9b4e79d3 { font-size:11px;color:var(--text-muted); }
.u145-47c33f5b { flex-wrap:wrap;gap:8px;padding:8px 14px; }
.u145-aed18dc1 { border:none;outline:none;font-family:inherit;font-size:14px;background:transparent;cursor:pointer; }
.u145-9e6595fb { font-size:13px; }
.u145-d2fc3500 { font-size:11px;color:var(--text-muted);margin:8px 0 4px;font-weight:600; }
.u145-490324f8 { font-size:14px;font-weight:600;flex:1; }
.u145-f89ec2ba { margin-left:6px; }
.u145-ee820015 { margin-left:4px; }
.u145-922a4537 { font-size:13px;color:var(--text-secondary);line-height:1.4;margin:0; }
.u145-e71ae94b { font-size:12px; }
.u145-e378797d { font-size:13px;font-weight:600; }
.u145-6343bf39 { font-size:1.5rem;font-weight:700;margin-bottom:1rem; }
.u145-dca5dd39 { font-size:1rem;font-weight:600;margin:0 0 .75rem; }
.u145-e7184d9d { list-style:none;padding:0;margin:0; }
.u145-70ed2bf6 { padding:.65rem 0;border-bottom:1px solid #e5e7eb; }
.u145-5e7dfdc9 { max-width:960px;margin:2rem auto;padding:1rem; }
.u145-70177f38 { grid-template-columns:repeat(4,1fr);max-width:700px;margin-bottom:2rem; }
.u145-fec41c3c { display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.5rem;font-size:13px; }
.u145-d9caa2c0 { display:flex;align-items:center;gap:5px; }
.u145-740e53cb { color:var(--brand-dark);font-size:15px; }
.u145-b089706f { color:#D4537E;font-size:15px; }
.u145-c9a7daba { color:var(--danger-text);font-size:15px; }
.u145-a283c5a7 { color:#BA7517;font-size:15px; }
.u145-d7c66034 { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border); }
.u145-c926446f { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px; }
.u145-5460d30c { width:36px;height:36px;border-radius:var(--radius-sm);background:var(--brand-light);color:var(--brand-dark);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.u145-785fd8bb { font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.u145-eab822c9 { font-size:11px;color:var(--text-muted);margin-top:1px; }
.u145-3e89d1f9 { display:flex;gap:4px;flex-shrink:0; }
.u145-eda3cd5c { font-size:14px;color:var(--brand-dark); }
.u145-bb4494cb { font-size:14px;color:#D4537E; }
.u145-4b04d6d6 { font-size:14px;color:var(--danger-text); }
.u145-bd1d871f { font-size:14px;color:#BA7517; }
.u145-e69138c1 { font-size:13px;color:var(--text-muted);margin-bottom:1.25rem; }
.u145-6fd8b089 { display:flex;align-items:center;gap:16px;margin-bottom:1.75rem;flex-wrap:wrap; }
.u145-a13c0695 { width:60px;height:60px;border-radius:var(--radius-md);background:var(--brand-light);color:var(--brand-dark);font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.u145-e5f13e7f { font-size:1.75rem;font-weight:800;margin:0 0 6px; }
.u145-624bb275 { color:var(--danger-text);font-weight:500; }
.u145-a13d2b06 { display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px; }
.u145-3ff659b8 { color:var(--success-text);font-size:16px;flex-shrink:0; }
.u145-ae99f9ef { border-color:var(--color-border-danger); }
.u145-f2252149 { color:var(--danger-text); }
.u145-f4af9b58 { display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px; }
.u145-be7c26ec { color:var(--warning-text);font-size:16px;flex-shrink:0;margin-top:1px; }
.u145-f7ce22ef { font-size:13px;color:var(--text-muted);margin-top:3px;line-height:1.5; }
.u145-be2f7343 { border-color:var(--color-border-info); }
.u145-f54222fa { font-weight:500;font-size:14px;margin-bottom:4px; }
.u145-1905d5e9 { font-size:13px;color:var(--text-secondary);line-height:1.6; }
.u145-17bf8704 { font-size:12px;color:var(--text-muted);margin-top:4px;font-style:italic; }
.u145-17d99b41 { display:flex;align-items:flex-start;gap:10px; }
.u145-96d1c9c6 { flex-shrink:0;font-family:var(--font-mono);font-size:11px; }
.u145-1243d632 { font-weight:500;margin-bottom:3px; }
.u145-4e241864 { color:var(--text-muted);line-height:1.5; }
.u145-62714d3f { font-size:11px;color:var(--text-muted);margin-top:4px; }
.u145-a62f6d5d { border-color:var(--brand);border-width:2px; }
.u145-dc98298b { font-size:1rem;font-weight:700;margin-bottom:.5rem; }
.u145-5cf3ae3c { font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px; }
.u145-7a18e9ae { font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.u145-8f577014 { flex-shrink:0;display:flex;gap:4px; }
.u145-300195bd { font-size:13px;color:var(--brand-dark); }
.u145-ef266ae8 { font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px; }
.u145-5c41183c { font-size:1.6rem;font-weight:800;margin:0; }
.u145-066e8159 { color:#6b7280;margin:.35rem 0 0;font-size:.9rem; }
.u145-3d561be2 { margin-top:1.75rem; }
.u145-84a88c42 { font-size:1.2rem;font-weight:700;margin:0 0 .35rem; }
.u145-1183df84 { font-size:1.2rem;font-weight:700;margin:0 0 .75rem; }
.u145-d0bbc752 { color:#374151;font-size:.92rem;margin:0 0 1rem; }
.u145-634ba8b2 { font-size:1.2rem;font-weight:700;margin:1.5rem 0 .75rem; }
.u145-6375ff68 { color:#b45309;margin-top:2px; }
.u145-869726da { font-size:1.2rem;font-weight:700;margin:0 0 .25rem; }
.u145-4c17d545 { color:#6b7280;font-size:.85rem;margin:0 0 .75rem; }
.u145-7bc1ec7c { display:grid;gap:1rem;margin-top:1rem; }
.u145-b4a4e8d9 { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem; }
.u145-850cb5eb { padding:1rem;text-decoration:none;color:inherit; }
.u145-179f91b8 { margin:.5rem 0 0;font-size:.9rem;color:#666; }
.u145-3366a642 { max-width:640px;margin:2rem auto;padding:1rem; }
.u145-6ed62a02 { display:block;margin:.5rem 0; }
.u145-c8f4bf27 { width:100%;margin-bottom:.75rem; }

/* ── NOTARY-INIT-145: autogen utilities (pass 3) ── */
.u145-a1169e6d { margin:0 0 1rem;padding:14px 16px;border-radius:var(--radius-md,8px);
            border:1px solid var(--border,#e5e7eb);background:var(--bg-subtle,#fafafa);
            display:flex;gap:12px;align-items:flex-start; }
.u145-0ef4aed3 { display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;transition:all .15s; }
.u145-9216027c { display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap; }
.u145-b0198a1a { font-size:13px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer; }
.u145-3e3cfe79 { height:60px;width:auto;border:1px solid var(--border);border-radius:6px;background:#fff;padding:4px;margin-bottom:8px; }
.u145-6f901e5f { display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);text-decoration:none; }
.u145-7e7c57ce { color:#fff;background:rgba(255,255,255,.15);padding:2px 8px;border-radius:4px;text-decoration:none;font-size:12px; }
.u145-6939c80d { height:56px;width:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:3px; }
.u145-589ce8e3 { width:48px;height:36px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer; }
.u145-19c22bd3 { padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;align-items:end; }
.u145-4a268d6e { height:52px;width:auto;border:1px solid var(--border);border-radius:6px;background:#fff;padding:3px; }
.u145-5f95d0fc { display:block;padding:1rem;border-bottom:1px solid var(--border);text-decoration:none;color:inherit; }
.u145-7dc03e56 { width:48px;height:36px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md); }
.u145-641f39ca { padding:1rem;margin-bottom:1.25rem;display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.u145-bdcb2969 { width:88px;height:88px;border-radius:50%;object-fit:cover;border:2px solid var(--border); }
.u145-30aa8808 { margin-left:auto;color:#fff;font-weight:600;text-decoration:underline;white-space:nowrap; }
.u145-2c57f9ec { display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted); }
.u145-8c4c72c8 { min-width:160px;border:none;outline:none;font-size:15px;background:transparent;flex:1; }
.u145-abd557dd { display:flex;align-items:flex-start;gap:12px;padding:1rem;text-decoration:none; }
.u145-b780b8fb { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem;align-items:flex-end; }
.u145-def4805b { display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem; }
.u145-bae95c6b { font-size:11px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px; }
.u145-5deaa1e3 { display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:1rem; }
.u145-11492479 { margin-right:auto;align-self:center;font-size:13px;text-decoration:underline; }
.u145-a2bfae02 { margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border); }
.u145-038198bf { margin-top:1rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.u145-f3abe1e7 { padding:.85rem 1rem;text-decoration:none;font-size:14px;font-weight:500; }
.u145-3ae41226 { color:#fff;font-weight:700;text-decoration:underline;white-space:nowrap; }
.u145-10f86d51 { padding:1rem;margin-bottom:1.5rem;display:flex;gap:1rem;flex-wrap:wrap; }
.u145-d27b0284 { padding:.85rem 1rem;text-decoration:none;color:inherit;display:block; }
.u145-5d0f3b7a { padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px; }
.u145-8079fe49 { padding-top:1rem;border-top:1px solid var(--border);max-width:520px; }
.u145-a8ee8150 { font-family:monospace;letter-spacing:.05em;text-transform:uppercase; }
.u145-d658a3f5 { font-weight:600;text-decoration:none;color:var(--primary,#1a56db); }
.u145-65c58035 { margin:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap; }
.u145-8b45c7b2 { color:#fff;text-decoration:none;opacity:.92;white-space:nowrap; }
.u145-c6f94c89 { width:48px;height:48px;border-radius:50%;object-fit:cover; }
.u145-402176ba { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:1rem; }
.u145-ba2fc008 { display:flex;gap:.75rem;align-items:end;flex-wrap:wrap; }
.u145-ead5ec20 { display:flex;gap:4px;flex-wrap:wrap;align-items:center; }
.u145-9bb84415 { font-size:22px;color:var(--brand-dark);flex-shrink:0; }
.u145-2812850b { color:#c7d2fe;text-decoration:none;font-size:11px; }
.u145-f63bd1d5 { display:inline-flex;align-items:center;gap:4px; }
.u145-2c467d5c { display:inline-flex;gap:4px;align-items:center; }
.u145-43b37b87 { text-decoration:none;color:var(--text-muted); }
.u145-1b4d1ccc { margin-bottom:1.5rem;display:flex;gap:.5rem; }
.u145-f67b86e0 { display:flex;flex-direction:column;gap:8px; }
.u145-861e4676 { font-weight:500;color:var(--text-primary); }
.u145-7e30d285 { display:flex;align-items:center;gap:10px; }
.u145-7315d0ba { max-width:120px;height:40px;padding:4px; }
.u145-a521e2ab { display:flex;gap:4px;align-items:center; }
.u145-ac86ac11 { display:flex;align-items:center;gap:6px; }
.u145-f4a32e57 { display:flex;gap:.35rem;flex-wrap:wrap; }
.u145-f68f2224 { font-size:16px;color:var(--text-muted); }
.u145-3068dc35 { font-size:20px;color:var(--brand-dark); }
.u145-15b26a6f { display:inline-block;margin-right:6px; }
.u145-02485621 { max-width:680px;margin:1.5rem auto 0; }
.u145-d6099bbe { font-weight:600;text-decoration:none; }
.u145-7c9bd998 { font-size:13px;padding:.4rem .75rem; }
.u145-835340e6 { display:flex;gap:4px;flex-wrap:wrap; }
.u145-2da01cb6 { padding:1rem;margin-bottom:1.25rem; }
.u145-31ab5c20 { text-decoration:none;color:inherit; }
.u145-9c60baa2 { padding:1rem;margin-bottom:1.5rem; }
.u145-3146ee5b { font-weight:400;margin-left:.5rem; }
.u145-6474e85b { flex:1;accent-color:var(--brand); }
.u145-9f7d39cc { flex-shrink:0;white-space:nowrap; }
.u145-c7d717db { padding:1rem;margin-top:1.5rem; }
.u145-905e37a4 { max-width:120px;margin-top:8px; }
.u145-2434439b { font-size:12px;min-width:140px; }
.u145-6240bd4c { height:72px;object-fit:contain; }
.u145-e31a2e80 { display:block;margin-top:8px; }
.u145-b8ac85c2 { display:inline-flex;gap:4px; }
.u145-13da9416 { padding:1rem;margin:1rem 0; }
.u145-81e4b9e7 { flex:1;border:0;width:100%; }
.u145-08afa334 { padding:0 1.25rem 1.25rem; }
.u145-5c7699d7 { margin:0;display:inline; }
.u145-d44ae31e { margin-bottom:1.25rem; }
.u145-bece3558 { margin-bottom:1.5rem; }
.u145-4edeb9e7 { text-decoration:none; }
.u145-343bb33f { margin:.5rem 0 1rem; }
.u145-c6f92fb3 { margin-bottom:3px; }
.u145-690f054c { margin-left:auto; }
.u145-9d33f924 { max-width:150px; }
.u145-9374e842 { margin-top:12px; }
.u145-73f9c49f { max-width:520px; }
.u145-57f8c58d { max-width:280px; }
.u145-0b87e9e0 { font-weight:600; }
.u145-7e7619bd { max-width:440px; }
.u145-b1ecc496 { margin-top:8px; }
.u145-0c8a27e1 { font-size:10px; }
.u145-a3a55686 { margin-top:4px; }
.u145-edf2ee6e { margin:1rem 0; }
.u145-c951e35a { padding:1rem; }
.u145-af1d1644 { width:100px; }
.u145-7a1ab98a { width:140px; }
.u145-d26d79f4 { width:70px; }
.u145-1a91ef9e { width:80px; }
.u145-1da9facb { margin:0; }
.u145-7623f055 { flex:1; }

/* ── NOTARY-INIT-145: semantic helpers (dynamic-inline companions) ── */
.alert-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 13px;
}
.persona-qa-bar {
  background: #7f1d1d;
  color: #fff;
  padding: 6px 20px;
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  position: sticky;
  z-index: 9998;
}


/* === NOTARY-INIT-145 verification repair (Claude, 2026-06-21) ===
   The consolidation referenced these custom properties via var() but never
   defined them, leaving those declarations invalid — missing backgrounds,
   borders, and warning colors site-wide. Aliased to existing palette tokens. */
:root{
  --warning: var(--warning-text);
  --bg-muted: var(--bg-subtle);
  --surface: var(--bg-card);
  --surface-muted: var(--bg-subtle);
  --border-color: var(--border);
  --color-border-danger: var(--danger);
  --color-border-info: var(--info-text);
  --color-border-tertiary: var(--border);
}


/* === NOTARY-INIT-145 remediation: missing standalone component classes (Claude, 2026-06-21) ===
   Only classes that are genuinely undefined AND not paired with a u145-* style hook
   (defining paired ones would override the consolidated styles). Mirrors existing
   .btn--/.badge--/.flash--/.data-table families. */

/* tables — legacy .table is the same component as .data-table */
.table { width: 100%; border-collapse: collapse; }
.table thead { background: var(--bg-page); }
.table th { padding: 11px 16px; text-align: left; font-size: 12px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--border); }
.table td { padding: 13px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.table tbody tr:last-child td { border-bottom: none; }
.table tbody tr:hover { background: var(--bg-hover); }

/* button variants (+ legacy .btn-primary typo of .btn--primary) */
.btn--secondary { background: var(--neutral-bg); color: var(--neutral-text); border-color: var(--border); }
.btn--secondary:hover { background: var(--bg-hover); text-decoration: none; }
.btn--warning { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-text); }
.btn--warning:hover { filter: brightness(0.97); text-decoration: none; }
.btn-primary { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn-primary:hover { background: var(--brand-dark); border-color: var(--brand-dark); color: #fff; text-decoration: none; }

/* badge variants (mirror .badge--neutral) */
.badge--secondary { background: var(--neutral-bg); color: var(--neutral-text); }
.badge--primary   { background: var(--brand-light); color: var(--brand-dark); }
.badge--muted     { background: var(--bg-subtle); color: var(--text-muted); }

/* alert/callout — same component as .flash; supports BEM (--) and bootstrap (-) modifiers */
.alert { padding: 12px 16px; border-radius: var(--radius-md); font-size: 14px; margin-bottom: 1.25rem; display: flex; align-items: flex-start; gap: 10px; }
.alert--success, .alert-success { background: var(--success-bg); color: var(--success-text); }
.alert--warning, .alert-warning { background: var(--warning-bg); color: var(--warning-text); }
.alert--danger,  .alert-danger  { background: var(--danger-bg);  color: var(--danger-text); }
.alert--info,    .alert-info    { background: var(--info-bg);    color: var(--info-text); }

/* form controls + small utilities */
.form-select { width: 100%; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius-md); font-size: 14px; font-family: var(--font); color: var(--text-primary); background: #fff; }
.form-check { display: flex; align-items: center; gap: 8px; }
.inline-form { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.admin-content { padding: 1.5rem; }
.dc-narrative { font-size: 14px; color: var(--text-secondary); line-height: 1.6; margin-bottom: 1rem; }
.max-w-400 { max-width: 400px; }

/* docgen canvas — NOTARY-INIT-167 */
.docgen-workspace {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 120px);
  margin: -0.5rem 0 0;
}
.docgen-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0 16px;
  border-bottom: 1px solid var(--border);
}
.docgen-toolbar__left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.docgen-toolbar__title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}
.docgen-toolbar__doc-title {
  font-size: 14px;
  color: var(--text-muted);
}
.docgen-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.docgen-doc-select-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-right: 4px;
}
.docgen-doc-select__label {
  font-size: 12px;
  color: var(--text-muted);
  white-space: nowrap;
}
.docgen-doc-select {
  min-width: 12rem;
  max-width: 20rem;
  padding: 6px 10px;
  font-size: 13px;
}
.docgen-import-warnings {
  margin-top: 12px;
  padding: 10px 12px;
  background: var(--warning-bg);
  color: var(--warning-text);
  border: 1px solid var(--warning-text);
  border-radius: var(--radius-md);
  font-size: 13px;
}
.docgen-import-warnings__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.docgen-import-warnings__dismiss {
  border: none;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  color: inherit;
  line-height: 1;
}
.docgen-import-warnings__list {
  margin: 0;
  padding-left: 1.2rem;
}
.docgen-tools-pop__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.docgen-tools-pop__btn {
  width: 100%;
  justify-content: center;
}
.docgen-fill-pop__intro code {
  font-size: 12px;
}
.docgen-fill-pop__fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: min(52vh, 420px);
  overflow-y: auto;
  margin: 12px 0;
  padding-right: 4px;
}
.docgen-fill-field__req {
  color: var(--danger, #c0392b);
}
.docgen-fill-field__source {
  font-size: 11px;
  font-weight: 400;
  color: var(--text-muted);
  text-transform: lowercase;
}
.docgen-fill-field--empty .docgen-fill-field__label {
  color: var(--danger, #c0392b);
}
.docgen-fill-field__check {
  margin-top: 4px;
}
.docgen-fill-pop__missing {
  font-size: 13px;
  color: var(--warning-text, #856404);
  background: var(--warning-bg, #fff3cd);
  border: 1px solid var(--warning-border, #ffeeba);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  margin-bottom: 10px;
}
.docgen-fill-pop__missing[hidden] {
  display: none !important;
}
.docgen-fill-pop__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
}
.docgen-zoom {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
}
.docgen-zoom__label {
  font-size: 12px;
  color: var(--text-muted);
}
.docgen-zoom__select {
  width: auto;
  min-width: 5.5rem;
  padding: 6px 10px;
  font-size: 13px;
}
.docgen-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.docgen-badge--draft {
  background: var(--info-bg);
  color: var(--info-text);
}
.docgen-badge--committed {
  background: var(--success-bg);
  color: var(--success-text);
}
.docgen-page-switcher {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px 0 12px;
  border-bottom: 1px solid var(--border);
}
.docgen-page-switcher[hidden] {
  display: none !important;
}
.docgen-page-switcher__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.docgen-page-switcher__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.docgen-page-tab {
  min-width: 2.5rem;
  padding: 4px 10px;
  font-size: 13px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg);
  color: var(--text);
  cursor: pointer;
}
.docgen-page-tab:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.docgen-page-tab.is-active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.docgen-page-switcher__of {
  font-size: 13px;
  color: var(--text-muted);
}
.docgen-body {
  flex: 1;
  padding-top: 16px;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.docgen-canvas-col {
  width: 100%;
  min-width: 0;
}
.docgen-canvas-scroll {
  overflow: auto;
  min-height: 480px;
  max-height: calc(100vh - 220px);
  padding: 16px;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  position: relative;
  z-index: 1;
}
.docgen-page-wrap {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 24px;
  background: #c8c8c8;
  border-radius: 4px;
}
.docgen-page {
  position: relative;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.docgen-el {
  position: absolute;
  box-sizing: border-box;
  padding: 2px 4px;
  border: 1px dashed transparent;
  cursor: move;
  overflow: hidden;
  word-wrap: break-word;
  user-select: none;
}
.docgen-el--selected {
  border-color: var(--brand);
  outline: 1px solid var(--brand);
  z-index: 10;
}
.docgen-el--slot {
  background: rgba(10, 126, 0, 0.06);
  font-style: italic;
}
.docgen-el:hover .docgen-el__resize,
.docgen-el--selected .docgen-el__resize {
  opacity: 1;
}
.docgen-el__resize {
  position: absolute;
  background: var(--brand);
  opacity: 0;
  z-index: 2;
}
.docgen-el__resize--se {
  right: 0;
  bottom: 0;
  width: 10px;
  height: 10px;
  cursor: se-resize;
  border-radius: 2px 0 0 0;
}
.docgen-el__resize--e {
  top: 25%;
  right: -3px;
  width: 6px;
  height: 50%;
  cursor: e-resize;
  border-radius: 3px;
}
.docgen-el__resize--s {
  left: 25%;
  bottom: -3px;
  width: 50%;
  height: 6px;
  cursor: s-resize;
  border-radius: 3px;
}
.docgen-hint {
  font-size: 12px;
  color: var(--text-muted);
  margin: 8px 0 0;
}
.docgen-props-dock {
  position: fixed;
  top: var(--nav-h);
  right: 0;
  width: min(360px, 92vw);
  height: calc(100vh - var(--nav-h));
  z-index: 10400;
  background: var(--bg-card);
  border-left: 1px solid var(--border);
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
  flex-direction: column;
  display: none;
  pointer-events: none;
  visibility: hidden;
}
.docgen-props-dock.is-open {
  display: flex;
  pointer-events: auto;
  visibility: visible;
}
.docgen-props-dock__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
}
.docgen-props-dock__title {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
}
.docgen-props-dock__close {
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: var(--text-muted);
  padding: 4px 8px;
}
.docgen-props-dock__body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px 24px;
}
.docgen-modal {
  position: fixed;
  inset: 0;
  z-index: 10500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  pointer-events: none;
  visibility: hidden;
}
.docgen-modal.is-open {
  display: flex;
  pointer-events: auto;
  visibility: visible;
}
.docgen-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  cursor: pointer;
}
.docgen-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(920px, 96vw);
  max-height: 92vh;
  background: var(--bg-card);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  cursor: default;
}
.docgen-modal__dialog--preview {
  padding-bottom: 0;
}
.docgen-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.docgen-modal__header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.docgen-modal__title {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
}
.docgen-modal__close {
  border: none;
  background: transparent;
  font-size: 22px;
  cursor: pointer;
  color: var(--text-muted);
  padding: 4px 8px;
}
.docgen-modal .docgen-preview-notice {
  margin: 10px 16px 0;
}
.docgen-modal .docgen-preview-frame {
  flex: 1;
  min-height: 480px;
  height: min(72vh, 640px);
  border: none;
  width: 100%;
}
body.docgen-modal-open {
  overflow: hidden;
}
.docgen-panel {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px;
}
.docgen-panel__heading {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px;
}
.docgen-panel__empty {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
}
.docgen-fieldset {
  border: none;
  margin: 0 0 14px;
  padding: 0;
}
.docgen-fieldset legend {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  margin-bottom: 8px;
}
.docgen-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.docgen-style-toggles {
  display: flex;
  gap: 12px;
  margin-bottom: 10px;
}
.docgen-color-input {
  height: 38px;
  padding: 4px;
}
.docgen-props-form .form-group {
  margin-bottom: 10px;
}
.docgen-preview-frame {
  width: 100%;
  border: none;
  display: block;
}
.docgen-preview-notice {
  font-size: 12px;
  padding: 8px 10px;
  border-radius: var(--radius-md);
  margin-bottom: 10px;
}
.docgen-preview-notice--warn {
  background: var(--warning-bg);
  color: var(--warning-text);
}
.docgen-preview-notice--error {
  background: var(--danger-bg);
  color: var(--danger-text);
}
.docgen-statusbar {
  margin-top: 12px;
  padding: 8px 12px;
  font-size: 12px;
  color: var(--text-muted);
  background: var(--bg-subtle);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}
.docgen-statusbar--ok {
  color: var(--success-text);
  background: var(--success-bg);
  border-color: var(--success-text);
}
.docgen-statusbar--error {
  color: var(--danger-text);
  background: var(--danger-bg);
  border-color: var(--danger-text);
}

/* docgen staging form — NOTARY-INIT-167 B */
.docgen-stage {
  max-width: 960px;
}
.docgen-stage__header {
  margin-bottom: 20px;
}
.docgen-stage__title {
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0 0 6px;
}
.docgen-stage__meta {
  font-size: 14px;
  color: var(--text-muted);
  margin: 0;
}
.docgen-stage__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
@media (max-width: 960px) {
  .docgen-stage__layout {
    grid-template-columns: 1fr;
  }
}
.docgen-stage__form-card,
.docgen-stage__result-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 16px;
}
.docgen-stage__slot {
  margin-bottom: 14px;
}
.docgen-stage__slot--error .form-control,
.docgen-stage__slot--error .form-select {
  border-color: var(--danger-text);
}
.docgen-stage__slot-label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.docgen-stage__required {
  color: var(--danger-text);
  font-size: 12px;
}
.docgen-stage__hint {
  font-size: 12px;
  color: var(--text-muted);
  margin: 4px 0 0;
}
.docgen-stage__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.docgen-stage__preview-frame {
  width: 100%;
  height: min(70vh, 520px);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg-subtle);
}
.docgen-stage__sha {
  font-size: 11px;
  color: var(--text-muted);
  word-break: break-all;
  margin-top: 8px;
}
.docgen-stage__contract {
  margin-top: 24px;
}
.docgen-stage__contract summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
}
.docgen-stage__contract-body {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 10px;
  line-height: 1.55;
}
.docgen-stage__contract-body code {
  font-size: 12px;
}

/* NOTARY-INIT-166 P3 — geo radius picker widget */
.geo-radius-picker-mount,
.geo-radius-picker {
  width: 100%;
}
.geo-radius-picker__map {
  height: 280px;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--border-color, #e2e8f0);
  overflow: hidden;
  background: var(--surface-muted, #f8fafc);
}
.geo-radius-picker__stats {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary, #0f172a);
}
.geo-radius-picker__controls {
  margin-top: 8px;
}
.geo-radius-picker__slider-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.geo-radius-picker__slider-label {
  font-size: 13px;
  font-weight: 600;
  min-width: 100px;
}
.geo-radius-picker__slider {
  flex: 1;
  min-width: 140px;
}
.geo-radius-picker__slider-value {
  font-size: 13px;
  font-weight: 600;
  min-width: 48px;
}
.geo-radius-picker__hint {
  margin: 8px 0 0;
}
.geo-radius-picker__pin,
.geo-radius-picker__edge-handle {
  background: transparent;
  border: none;
}
.geo-radius-picker__pin-dot {
  display: block;
  width: 18px;
  height: 18px;
  margin: 3px;
  border-radius: 50%;
  background: #2563eb;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.35);
}
.geo-radius-picker__edge-dot {
  display: block;
  width: 14px;
  height: 14px;
  margin: 1px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #2563eb;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25);
  cursor: ew-resize;
}
.toolpop__tool--wide .geo-radius-picker__map {
  height: 240px;
}

.geo-radius-picker__overlay-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary, #475569);
  cursor: pointer;
  user-select: none;
}
.geo-radius-picker__overlay-toggle input {
  margin: 0;
}

.geo-coverage-table .text-right {
  text-align: right;
}

