    @import url("https://fonts.googleapis.com/css2?family=Oxanium:wght@400;600;700&display=swap");
    :root {
      --night-950: #081c2a;
      --night-900: #0a2639;
      --night-800: #0c3147;
      --teal-600: #088469;
      --teal-500: #0aa68d;
      --lime-600: #80ae47;
      --lime-500: #b4da5a;
      --lime-400: #c7e873;
      --lime-300: #dff49c;
      --slate-800: #30353a;
      --slate-700: #4a4d51;
      --slate-500: #6b7176;
      --slate-200: #b0b8bc;
      --paper-50: #f3f7f5;
      --paper-100: #e8f0ed;
      --ink-900: #0b1722;
      --ink-700: #233240;
      --ink-500: #4c5b66;
      --shadow-lg: 0 26px 70px rgba(6, 18, 28, 0.4);
      --shadow-md: 0 16px 40px rgba(8, 26, 39, 0.18);
      --radius-lg: 16px;
      --radius-md: 12px;
      --radius-sm: 10px;
    }
    * { box-sizing: border-box; }
    html, body { overflow-x: hidden; overscroll-behavior-x: none; }
    html { -webkit-text-size-adjust: 100%; }
    body {
      margin: 0;
      background: rgb(251, 252, 250);
      color: var(--ink-900);
      font-family: "Oxanium", "Segoe UI", sans-serif;
      line-height: 1.5;
      font-size: 18px;
      min-height: 100dvh;
    }
    body:before {
      display: none;
    }
    header {
      padding: 32px 18px 18px;
      background: rgb(251, 252, 250);
      border-bottom: 1px solid #e3eaee;
      backdrop-filter: blur(10px);
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-weight: 700;
      letter-spacing: 0.6px;
      color: var(--night-900);
    }
    header .brand-link,
    header .brand-link:link,
    header .brand-link:visited,
    header .brand-link:hover,
    header .brand-link:active {
      text-decoration: none;
      color: var(--night-900) !important;
    }
    .brand-mark {
      width: 66px;
      height: 66px;
      border-radius: 0;
      background: transparent;
      position: relative;
      display: grid;
      place-items: center;
      overflow: hidden;
      flex-shrink: 0;
    }
    .brand-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .brand-mark svg {
      width: 30px;
      height: 30px;
    }
    .brand-title {
      font-size: 42px;
      line-height: 1;
      letter-spacing: 1px;
      margin: 0;
    }
    .brand-copy { transform: none; }
    .container {
      max-width: 1100px;
      margin: 0 auto;
      padding: 28px 18px 70px;
      min-width: 0;
    }
    .card {
      background: #fff;
      border-radius: var(--radius-lg);
      padding: 28px;
      box-shadow: var(--shadow-md);
      border: 1px solid rgba(8, 26, 39, 0.08);
      min-width: 0;
      transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    }
    .card:hover {
      transform: translateY(-1px);
      box-shadow: 0 18px 42px rgba(8, 26, 39, 0.14);
      border-color: rgba(10, 95, 119, 0.2);
    }
    h1, h2, h3 { margin: 0 0 10px; }
    h1 { font-size: 38px; color: var(--night-900); }
    h2 { font-size: 28px; color: var(--night-800); }
    h3 { font-size: 22px; color: var(--night-800); }
    p { color: var(--ink-500); margin: 0 0 20px; }
    label { font-weight: 600; color: var(--ink-700); }
    input:not([type="checkbox"]):not([type="range"]), select, textarea {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      padding: 16px 18px;
      border-radius: var(--radius-md);
      border: 1px solid #0a2639;
      margin: 6px 0 14px;
      font-size: 18px;
      font-family: "Oxanium", "Segoe UI", sans-serif;
      color: var(--night-900);
      background: #fff;
      display: block;
      transition: border-color 0.16s ease, box-shadow 0.16s ease;
    }
    textarea {
      min-height: 180px;
      resize: vertical;
      line-height: 1.45;
    }
    input:not([type="checkbox"]):not([type="range"]):focus, select:focus, textarea:focus {
      outline: none;
      border-color: #0a5f77;
      box-shadow: 0 0 0 3px rgba(10, 95, 119, 0.14);
    }
    input:not([type="checkbox"]):not([type="range"])::placeholder, textarea::placeholder {
      color: #96a4af;
      opacity: 1;
      font-style: italic;
    }
    input[type="checkbox"] {
      width: auto;
      margin: 0;
      padding: 0;
      accent-color: var(--teal-600);
    }
    input[type="range"] {
      width: 100%;
      margin: 8px 0;
      accent-color: var(--teal-600);
      padding: 0;
      border: none;
      background: transparent;
    }
    .hint {
      color: var(--ink-500);
      font-size: 13px;
      margin: -8px 0 12px;
    }
    .field-help {
      color: var(--ink-500);
      font-size: 13px;
      margin: -8px 0 12px;
    }
    .hint.warn {
      color: #8b2f1f;
      font-weight: 600;
    }
    .hint.block {
      margin-top: 10px;
      padding-top: 6px;
    }
    .verify-status {
      margin-top: 6px;
      font-size: 14px;
      color: var(--ink-500);
    }
    .verify-status.ok { color: #0b7a5a; }
    .verify-status.err { color: #b42318; }
    button {
      border: none;
      background: var(--teal-600);
      color: #f3f7f5;
      padding: 18px 26px;
      border-radius: var(--radius-md);
      font-weight: 600;
      cursor: pointer;
      box-shadow: none;
      font-size: 18px;
      margin: 6px 0;
      transition: transform 0.14s ease, box-shadow 0.14s ease, background-color 0.14s ease;
    }
    button:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 20px rgba(8, 38, 57, 0.16);
    }
    button:active {
      transform: translateY(0);
    }
    button.secondary {
      background: #eaf2e7;
      color: var(--night-800);
      box-shadow: none;
    }
    .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .row.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .row > * { min-width: 0; }
    .radius-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: -4px 0 8px;
      font-size: 14px;
      color: var(--ink-700);
    }
    .check-row {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 15px;
      margin: 2px 0 10px;
      color: var(--ink-700);
      font-weight: 600;
    }
    .warmup-card {
      border: none;
      padding: 0;
      margin-top: 6px;
      background: transparent;
      border-radius: 0;
    }
    .filter-details {
      border: none;
      margin: 6px 0 14px;
      padding: 0;
      background: transparent;
    }
    .filter-details .hint {
      margin: -2px 0 10px;
    }
    .map-wrap {
      width: 100%;
      height: 230px;
      border: 1px solid #d7e3e7;
      margin: 6px 0 16px;
      overflow: hidden;
      border-radius: var(--radius-md);
    }
    .field-action-gap {
      margin-bottom: 10px;
    }
    .pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #e6f0e4;
      color: var(--teal-600);
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 600;
    }
    .chip {
      display: inline-flex;
      align-items: center;
      padding: 6px 10px;
      background: #e6f0e4;
      border-radius: 999px;
      font-size: 14px;
      color: var(--ink-900);
    }
    .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      max-width: 980px;
      margin: 0 auto;
    }
    .topbar-left {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    .menu-toggle {
      margin: 0;
      width: 40px;
      height: 40px;
      padding: 0;
      font-size: 20px;
      line-height: 1;
      border: none;
      border-radius: 0;
      background: transparent;
      color: #1f3847;
      box-shadow: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .menu-toggle:hover {
      background: transparent;
      box-shadow: none;
      transform: none;
    }
    .user-chip { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; }
    .header-links { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    body.app-shell .user-chip { display: none; }
    .topbar .muted { color: var(--ink-500); font-size: 16px; }
    .link { color: #1f3847; text-decoration: none; font-weight: 600; }
    .app-menu-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(8, 26, 39, 0.45);
      z-index: 1300;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.16s ease;
    }
    .app-menu-backdrop.open {
      opacity: 1;
      pointer-events: auto;
    }
    .app-menu-drawer {
      position: fixed;
      top: 0;
      right: 0;
      left: auto;
      bottom: 0;
      width: min(84vw, 320px);
      background: #fff;
      border-left: 1px solid #d7e3e8;
      box-shadow: 0 22px 60px rgba(8, 26, 39, 0.24);
      z-index: 1310;
      transform: translateX(105%);
      transition: transform 0.2s ease;
      display: grid;
      grid-template-rows: auto auto 1fr;
      gap: 8px;
      padding: 14px;
    }
    .app-menu-drawer.open { transform: translateX(0); }
    .app-menu-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }
    .app-menu-head button {
      margin: 0;
      padding: 8px 10px;
      font-size: 13px;
    }
    .app-menu-email {
      color: var(--ink-500);
      font-size: 13px;
      border-bottom: 1px solid #e6edf0;
      padding-bottom: 8px;
      word-break: break-word;
    }
    .app-menu-links {
      display: grid;
      gap: 6px;
      align-content: start;
    }
    .app-menu-links a {
      text-decoration: none;
      color: #1f3847;
      font-weight: 700;
      border: none;
      border-radius: 0;
      padding: 10px 12px;
      background: transparent;
    }
    body.app-shell .topbar-left {
      width: 100%;
      justify-content: space-between;
    }
    .grid { display: grid; gap: 16px; }
    .search-card { border: 1px solid #e3eaee; border-radius: var(--radius-md); padding: 14px; background: #fff; transition: border-color 0.16s ease, transform 0.16s ease; }
    .search-card:hover { border-color: #cfe0e7; transform: translateY(-1px); }
    .search-card-meta {
      margin-top: 8px;
      display: grid;
      gap: 7px;
    }
    .search-card-row {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      color: var(--ink-700);
      font-size: 14px;
      line-height: 1.35;
    }
    .search-card-row .icon {
      width: 16px;
      min-width: 16px;
      display: inline-flex;
      justify-content: center;
      color: #3e5564;
    }
    .search-keywords {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .search-keyword-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 8px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      border: 1px solid transparent;
      line-height: 1.2;
    }
    .search-keyword-pill.locked {
      background: #e8f4ef;
      border-color: #b9dfcd;
      color: #0f5132;
    }
    .search-keyword-pill.flexible {
      background: #eef2f7;
      border-color: #dbe3ea;
      color: #294256;
    }
    .search-card .actions {
      margin-top: 10px;
      gap: 8px;
    }
    .search-card .actions button {
      margin: 0;
      width: auto;
      padding: 9px 12px;
      font-size: 14px;
      flex: 0 0 auto;
    }
    .empty { padding: 20px; text-align: center; color: var(--ink-500); }
    .muted { color: var(--ink-500); font-size: 15px; margin: 0; }
    .actions { margin-top: 12px; display: flex; gap: 10px; flex-wrap: wrap; }
    .wizard-shell {
      border: none;
      padding: 0;
      background: transparent;
      border-radius: 0;
    }
    .wizard-meta {
      margin-bottom: 10px;
    }
    .wizard-title {
      margin-top: 8px;
      margin-bottom: 4px;
    }
    .wizard-progress {
      width: 100%;
      height: 8px;
      background: #e5ecef;
      overflow: hidden;
      margin-bottom: 12px;
    }
    .wizard-progress span {
      display: block;
      height: 100%;
      width: 14.28%;
      background: linear-gradient(90deg, #0a5f77, #0aa68d);
      transition: width 0.25s ease;
    }
    .wizard-step {
      display: none;
      animation: wizardStepIn 0.22s ease;
    }
    .wizard-step.active {
      display: block;
    }
    .wizard-actions {
      padding-top: 12px;
      border-top: 1px solid #dfe8eb;
      margin-top: 16px;
      display: flex;
      flex-wrap: nowrap;
      gap: 8px;
      align-items: center;
      justify-content: space-between;
    }
    .wizard-actions button {
      margin: 0;
      padding: 11px 12px;
      font-size: 14px;
      flex: 1 1 0;
    }
    .summary-card {
      border: none;
      background: transparent;
      padding: 0;
      border-radius: 0;
    }
    .summary-section + .summary-section {
      border-top: 1px solid #edf2f4;
      margin-top: 10px;
      padding-top: 10px;
    }
    .search-flow-overlay {
      position: fixed;
      inset: 0;
      background: rgba(5, 25, 36, 0.58);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 1200;
      padding: 16px;
    }
    .search-flow-card {
      width: min(92vw, 460px);
      background: #f8fbfa;
      border: 1px solid #dce7ea;
      border-radius: var(--radius-lg);
      box-shadow: 0 20px 50px rgba(8, 37, 58, 0.28);
      padding: 22px;
      text-align: center;
    }
    .search-flow-card h3 {
      margin: 8px 0 6px;
    }
    .search-flow-spinner {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 4px solid #cfe1e7;
      border-top-color: #0a8f7b;
      margin: 0 auto;
      animation: spin 0.85s linear infinite;
    }
    .search-flow-done {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: #0a8f7b;
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      font-weight: 800;
      margin: 0 auto;
      animation: pulseIn 0.35s ease;
    }
    @keyframes wizardStepIn {
      from { opacity: 0; transform: translateY(6px) scale(0.995); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes chipIn {
      from { opacity: 0; transform: translateY(4px) scale(0.96); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes spin {
      to { transform: rotate(360deg); }
    }
    @keyframes pulseIn {
      from { transform: scale(0.7); opacity: 0; }
      to { transform: scale(1); opacity: 1; }
    }
    .term-panel {
      border: none;
      background: transparent;
      padding: 0;
      border-radius: 0;
    }
    .term-panel-required {
      border: 1px solid #bcded2;
      background: #edf8f3;
      border-radius: var(--radius-md);
      padding: 12px;
      margin-bottom: 10px;
    }
    .term-panel-exclude {
      border: 1px solid #f2cccc;
      background: #fff5f5;
      border-radius: var(--radius-md);
      padding: 12px;
      margin-top: 10px;
    }
    .term-input-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      margin-bottom: 8px;
    }
    .term-input-row button {
      margin: 0;
      padding: 12px 16px;
      font-size: 14px;
    }
    .term-input-row input {
      margin: 0;
    }
    .term-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      min-height: 28px;
      margin-bottom: 8px;
    }
    .term-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 600;
      animation: chipIn 0.18s ease both;
      border: 1px solid transparent;
      background: #e8f4ef;
      color: #0f5132;
    }
    .term-chip.optional {
      background: #eef2f7;
      color: #294256;
      border-color: #dbe3ea;
    }
    .term-chip.excluded {
      background: #fdeaea;
      color: #8b1f1f;
      border-color: #f7c6c6;
    }
    .term-chip.locked {
      background: #e8f4ef;
      color: #0f5132;
      border-color: #b9dfcd;
    }
    .term-chip.flexible {
      background: #eef2f7;
      color: #294256;
      border-color: #dbe3ea;
    }
    .term-chip .term-lock {
      border: 1px solid currentColor;
      border-radius: 999px;
      padding: 2px 8px;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.4;
      background: transparent;
      color: inherit;
      opacity: 0.85;
      cursor: pointer;
      transition: opacity 0.12s ease, transform 0.12s ease;
    }
    .term-chip .term-lock:hover {
      opacity: 1;
      transform: translateY(-1px);
    }
    .term-chip button:not(.term-lock) {
      margin: 0;
      border: none;
      background: transparent;
      color: inherit;
      font-size: 14px;
      padding: 0;
      line-height: 1;
      min-width: 16px;
      cursor: pointer;
      opacity: 0.72;
      transition: opacity 0.12s ease;
    }
    .term-chip button:not(.term-lock):hover {
      opacity: 1;
    }
    .term-chip-empty {
      font-size: 13px;
      color: var(--ink-500);
      font-style: italic;
      padding: 4px 0;
    }
    .view-switch-wrap {
      margin: 4px 0 18px 0;
      display: grid;
      gap: 8px;
    }
    .view-switch-note {
      margin: 0;
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: #3d5461;
    }
    .view-switch {
      display: inline-flex;
      gap: 4px;
      padding: 4px;
      border: 1px solid #d2dce2;
      border-radius: var(--radius-sm);
      background: #f3f7f8;
      width: fit-content;
      max-width: 100%;
      flex-wrap: wrap;
    }
    .view-link {
      text-decoration: none;
      border: 1px solid transparent;
      border-radius: 10px;
      color: #2c4656;
      padding: 10px 16px;
      font-weight: 700;
      background: transparent;
      transition: background-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
    }
    .view-link:hover {
      background: #e8f0f3;
      color: #123243;
    }
    .view-link.active {
      background: #0a5f77;
      border-color: #0a5f77;
      color: #eaf5ed;
      box-shadow: 0 2px 6px rgba(10, 95, 119, 0.28);
    }
    .app-root {
      display: grid;
      gap: 0;
    }
    .app-view-shell {
      display: grid;
      gap: 16px;
    }
    .app-pane {
      will-change: opacity, transform;
    }
    .app-pane.is-enter {
      animation: appPaneIn 0.2s ease;
    }
    @keyframes appPaneIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .mobile-tabbar {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1100;
      display: none;
      grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
      gap: 0;
      padding: 0 0 env(safe-area-inset-bottom);
      background: rgba(251, 252, 250, 0.98);
      border-top: 1px solid #d7e3e8;
      backdrop-filter: blur(8px);
    }
    .mobile-tab-divider {
      background: #d7e3e8;
      width: 1px;
      align-self: stretch;
    }
    .mobile-tab {
      appearance: none;
      border: none;
      border-radius: 0;
      background: transparent;
      color: #1f3847;
      text-decoration: none;
      font-weight: 700;
      font-size: 14px;
      padding: 9px 10px;
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      line-height: 1.1;
      transition: transform 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
      -webkit-tap-highlight-color: transparent;
    }
    .mobile-tab:focus,
    .mobile-tab:focus-visible {
      outline: none;
      box-shadow: none;
    }
    .mobile-tab-icon {
      width: 16px;
      height: 16px;
      color: inherit;
      flex: 0 0 auto;
      display: inline-flex;
    }
    .mobile-tab-icon svg {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .mobile-tab .mobile-tab-count {
      min-width: 20px;
      height: 20px;
      padding: 0 6px;
      border-radius: 999px;
      background: #edf3f6;
      border: 1px solid #d2dee5;
      color: #1f3847;
      font-size: 11px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .mobile-tab:active {
      transform: translateY(1px);
    }
    .mobile-tab.active {
      background: transparent;
      color: #000;
      box-shadow: none;
    }
    .mobile-tab.active .mobile-tab-count {
      background: #edf3f6;
      border-color: #d2dee5;
      color: #000;
    }
    body.app-shell .wizard-actions {
      background: #fbfcfa;
    }
    .alerts-shell {
      border: none;
      background: transparent;
      padding: 0;
    }
    .alerts-toolbar {
      display: grid;
      grid-template-columns: 1fr auto auto;
      gap: 10px;
      align-items: center;
      margin-bottom: 10px;
    }
    .alerts-mode {
      display: inline-flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .alerts-mode button {
      margin: 0;
      padding: 10px 14px;
      font-size: 14px;
      background: #f2f6f8;
      color: var(--night-800);
      border: 1px solid #d7e3e8;
    }
    .alerts-mode button.active {
      background: #0a5f77;
      border-color: #0a5f77;
      color: #eaf5ed;
    }
    .alert-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 12px;
    }
    .alert-stat {
      border: 1px solid #dce6ea;
      background: #fff;
      padding: 10px;
    }
    .alert-stat .label {
      display: block;
      font-size: 12px;
      color: var(--ink-500);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin-bottom: 4px;
    }
    .alert-stat strong {
      font-size: 22px;
      color: var(--night-900);
      line-height: 1;
    }
    .alerts-feed {
      display: grid;
      gap: 10px;
    }
    .alert-card {
      border: 1px solid #dfe8eb;
      background: #fff;
      padding: 12px;
      display: grid;
      gap: 10px;
    }
    .alert-card.is-read {
      opacity: 0.78;
      background: #fbfcfa;
    }
    .alert-card-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
    }
    .alert-badge {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      padding: 3px 7px;
      background: #e6f5ef;
      color: #0b7a5a;
      border: 1px solid #bce8d7;
    }
    .alert-badge.read {
      background: #edf2f4;
      color: #5f6b74;
      border-color: #d9e3e8;
    }
    .alert-title {
      font-size: 18px;
      color: var(--night-900);
      text-decoration: none;
      font-weight: 700;
      word-break: break-word;
    }
    .alert-content {
      display: grid;
      grid-template-columns: 104px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
    }
    .alert-thumb {
      width: 104px;
      height: 104px;
      border: 1px solid #d9e3e8;
      background: #eef3f6;
      display: block;
      object-fit: cover;
    }
    .alert-thumb-empty {
      display: grid;
      place-items: center;
      color: #6d7a84;
      font-size: 12px;
      text-align: center;
      padding: 8px;
    }
    .alert-meta {
      display: grid;
      gap: 5px;
    }
    .alert-meta-line {
      color: var(--ink-500);
      font-size: 14px;
      line-height: 1.35;
    }
    .alert-open-row {
      margin-top: 4px;
    }
    .alert-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-top: 6px;
    }
    .alert-open-row .alert-open {
      width: 100%;
      justify-content: center;
    }
    .alert-actions button {
      margin: 0;
      padding: 10px 12px;
      font-size: 14px;
      flex: 1 1 0;
      justify-content: center;
    }
    .alert-open {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      background: #0a5f77;
      color: #eaf5ed;
      border: 1px solid #0a5f77;
      font-weight: 600;
      padding: 10px 12px;
      font-size: 14px;
    }
    .admin-shell {
      display: grid;
      gap: 16px;
    }
    .admin-top {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }
    .admin-main {
      display: grid;
      grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
      gap: 14px;
    }
    .admin-status {
      margin-top: 10px;
      padding: 8px 10px;
      border: 1px solid #dce6ea;
      background: #f8fbfa;
      color: var(--ink-700);
      font-size: 14px;
      border-radius: var(--radius-sm);
    }
    .admin-status.success {
      border-color: #bfe4d6;
      background: #ecf9f3;
      color: #0b7a5a;
    }
    .admin-status.error {
      border-color: #f1c8c4;
      background: #fff1ef;
      color: #b42318;
    }
    .admin-toolbar {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      margin: 10px 0;
    }
    .admin-toolbar input,
    .admin-toolbar select {
      margin: 0;
      min-width: 180px;
      flex: 1 1 220px;
    }
    .admin-toolbar button {
      margin: 0;
      padding: 10px 14px;
      font-size: 14px;
    }
    .admin-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 10px;
    }
    .admin-stat {
      border: 1px solid #dce6ea;
      background: #fff;
      padding: 10px;
      border-radius: var(--radius-sm);
    }
    .admin-stat .label {
      font-size: 12px;
      color: var(--ink-500);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      display: block;
      margin-bottom: 4px;
    }
    .admin-stat strong {
      font-size: 20px;
      color: var(--night-900);
      line-height: 1;
    }
    .admin-users-list {
      display: grid;
      gap: 8px;
    }
    .admin-user-card {
      border: 1px solid #dfe8eb;
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 8px;
      border-radius: var(--radius-sm);
    }
    .admin-user-card.selected {
      border-color: #0a5f77;
      box-shadow: inset 0 0 0 1px #0a5f77;
      background: #f4fafc;
    }
    .admin-user-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      flex-wrap: wrap;
    }
    .admin-user-email {
      font-size: 16px;
      font-weight: 700;
      color: var(--night-900);
      word-break: break-word;
    }
    .admin-user-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .admin-user-actions button {
      margin: 0;
      padding: 9px 11px;
      font-size: 13px;
    }
    .admin-search-card {
      border: 1px solid #dfe8eb;
      background: #fff;
      padding: 12px;
      display: grid;
      gap: 10px;
      border-radius: var(--radius-sm);
    }
    .admin-search-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .admin-search-head .pill {
      margin-left: auto;
    }
    .admin-search-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .admin-search-actions button {
      margin: 0;
      padding: 10px 12px;
      font-size: 14px;
    }
    .hero {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 20px;
      align-items: stretch;
      margin-bottom: 22px;
    }
    .hero-panel {
      background: linear-gradient(160deg, #0a2639, #0a2f45 55%, #0c3a4f);
      color: #eaf5ed;
      padding: 30px;
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-md);
      position: relative;
      overflow: hidden;
    }
    .hero-panel:after {
      content: "";
      position: absolute;
      width: 240px;
      height: 240px;
      right: -30px;
      top: -40px;
      background-image: var(--hero-logo);
      background-size: contain;
      background-repeat: no-repeat;
      opacity: 0.18;
      filter: drop-shadow(0 18px 30px rgba(5, 18, 28, 0.35));
      pointer-events: none;
    }
    .hero-title { font-size: 36px; margin-bottom: 12px; }
    .hero-sub {
      color: rgba(234, 245, 237, 0.8);
      font-size: 18px;
      margin-bottom: 20px;
    }
    .stat-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .stat {
      background: rgba(8, 132, 105, 0.16);
      border-radius: var(--radius-sm);
      padding: 14px;
      font-size: 16px;
    }
    .stat strong {
      display: block;
      font-size: 18px;
      margin-bottom: 4px;
      color: #f1ffcf;
    }
    .auth-grid {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 18px;
    }
    .panel {
      background: #fbfcfa;
      border-radius: var(--radius-lg);
      padding: 28px;
      border: 1px solid rgba(8, 26, 39, 0.08);
      box-shadow: var(--shadow-md);
      line-height: 1.3;
      min-width: 0;
    }
    .panel h2 {
      margin-bottom: 8px;
    }
    .tagline { font-size: 30px; color: var(--night-900); margin-bottom: 12px; }
    .bullet {
      display: grid;
      grid-template-columns: 18px 1fr;
      gap: 10px;
      align-items: start;
      margin-bottom: 14px;
      color: var(--ink-500);
    }
    .bullet span {
      width: 18px;
      height: 18px;
      border-radius: 999px;
      background: rgba(8, 132, 105, 0.15);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--teal-600);
      font-weight: 700;
      font-size: 14px;
    }
    .fade-in {
      animation: fadeIn 0.6s ease both;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(12px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @media (max-width: 720px) {
      .row, .row.three { grid-template-columns: 1fr; }
      .container { padding: 14px 12px 18px; }
      .card, .panel, .search-card, .wizard-shell, .alerts-shell { padding: 14px; border-radius: 14px; }
      body { font-size: 15px; line-height: 1.42; }
      h1 { font-size: 28px; }
      h2 { font-size: 22px; }
      h3 { font-size: 19px; }
      p, .muted { font-size: 14px; }
      label { font-size: 14px; }
      .tagline { font-size: 24px; }
      .hero-title { font-size: 28px; }
      .hero-sub { font-size: 15px; }
      .field-help, .hint { font-size: 12px; }
      .radius-meta, .check-row { font-size: 13px; }
      input:not([type="checkbox"]):not([type="range"]), select, textarea { font-size: 16px; padding: 12px 10px; }
      button { font-size: 15px; padding: 14px 16px; }
      .map-wrap { height: 200px; }
      .hero-panel { display: none; }
      .hero { margin-bottom: 12px; }
      .actions { gap: 10px; }
      .actions > button { width: 100%; }
      .search-card .actions > button { width: auto; flex: 0 0 auto; }
      .wizard-actions > button { width: auto; flex: 1 1 0; }
      .alerts-toolbar { grid-template-columns: 1fr; }
      .alerts-mode { width: 100%; }
      .alerts-mode button { flex: 1 1 auto; }
      .alert-stats { grid-template-columns: 1fr 1fr 1fr; }
      .alert-content { grid-template-columns: 84px minmax(0, 1fr); }
      .alert-thumb { width: 84px; height: 84px; }
      .alert-open-row .alert-open { width: 100%; }
      .alert-actions button { width: auto; }
      .admin-top,
      .admin-main { grid-template-columns: 1fr; }
      .admin-toolbar { flex-direction: column; align-items: stretch; }
      .admin-stats { grid-template-columns: 1fr 1fr 1fr; }
      .admin-user-actions button,
      .admin-search-actions button { width: 100%; justify-content: center; }
      header { padding: 12px 12px 10px; }
      .topbar { flex-direction: row; align-items: center; justify-content: center; gap: 8px; }
      .topbar-left { width: 100%; justify-content: center; position: relative; }
      .menu-toggle { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
      .brand { flex-wrap: nowrap; gap: 10px; justify-content: center; text-align: center; }
      .brand-mark { width: 44px; height: 44px; }
      .brand-title { font-size: 20px; letter-spacing: 0.3px; }
      .topbar .muted { display: none; }
      .user-chip { margin-top: 0; width: auto; justify-content: flex-end; gap: 8px; }
      .header-links { justify-content: flex-end; gap: 8px; }
      .user-chip .chip { font-size: 12px; }
      .user-chip .link { font-size: 12px; }
      .mobile-tab { font-size: 13px; border-radius: 10px; }
    }
    @media (max-width: 420px) {
      body { font-size: 14px; }
      h1 { font-size: 25px; }
      h2 { font-size: 20px; }
      h3 { font-size: 18px; }
      .brand-title { font-size: 18px; }
      .container { padding: 12px 10px 14px; }
      .card, .panel, .search-card, .wizard-shell, .alerts-shell { padding: 12px; }
      input:not([type="checkbox"]):not([type="range"]), select, textarea { font-size: 16px; padding: 11px 9px; }
      button { font-size: 14px; padding: 12px 14px; }
      .mobile-tab { min-height: 40px; padding: 8px 8px; }
    }
    @media (max-width: 900px) {
      .hero, .auth-grid { grid-template-columns: 1fr; }
      .stat-grid { grid-template-columns: 1fr 1fr; }
      .row.three { grid-template-columns: 1fr; }
      .view-switch-wrap { display: none; }
      .mobile-tabbar { display: grid; }
      .app-root { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
      body.app-shell {
        min-height: 100dvh;
        height: 100dvh;
        overflow: hidden;
      }
      body.app-shell header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1150;
        padding: 10px 12px;
      }
      body.app-shell main.container {
        max-width: none;
        width: 100%;
        height: 100dvh;
        overflow-y: auto;
        overflow-x: clip;
        overscroll-behavior-x: none;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-gutter: stable both-edges;
        padding-top: 72px;
        padding-bottom: calc(92px + env(safe-area-inset-bottom));
      }
      body.app-shell #searchesView,
      body.app-shell .wizard-shell {
        overflow-x: clip;
      }
      body.app-shell .mobile-tabbar {
        box-shadow: 0 -8px 20px rgba(8, 26, 39, 0.08);
      }
      body.app-shell .topbar {
        justify-content: center;
      }
      body.app-shell .brand {
        gap: 10px;
      }
      body.app-shell .brand-mark {
        width: 40px;
        height: 40px;
      }
      body.app-shell .brand-title {
        font-size: 18px;
      }
      body.app-shell .brand-copy .muted {
        display: none;
      }
      body.app-shell .user-chip .chip,
      body.app-shell .header-links,
      body.app-shell .user-chip {
        display: none;
      }
      body.app-shell .app-view-shell {
        gap: 12px;
      }
      body.app-shell .wizard-actions {
        padding-top: 10px;
        padding-bottom: 8px;
        margin-top: 14px;
        border-top: 1px solid #dfe8eb;
        background: transparent;
      }
      body.app-shell .wizard-actions button {
        margin: 0;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .app-pane.is-enter {
        animation: none;
      }
    }
