    :root {
      /* --- bold techno-futuristic palette (dark by default) --- */
      --brand: #d4b06a;
      --brand-press: #b8954e;
      --brand-2: #ecd49a;
      --accent: #ecd49a;
      --glow: rgba(212, 176, 106, .34);
      --tint: rgba(201, 165, 94, .12);
      --tint-2: rgba(201, 165, 94, .22);
      --ink: #f4f1e8;
      --ink-2: #a7adc1;
      --ink-3: #6e7491;
      --bg: #05060e;
      --bg-2: #0a0c1a;
      --surface: #0f111e;
      --surface-2: #151827;
      --line: rgba(227, 201, 135, 0.12);
      --line-2: rgba(227, 201, 135, 0.22);
      --grey: #828aa3;
      --ok: #34d39a;
      --ok-t: rgba(52, 211, 154, .14);
      --warn: #f5b942;
      --warn-t: rgba(245, 185, 66, .14);
      --bad: #ff6b6b;
      --bad-t: rgba(255, 107, 107, .14);
      --radius: 14px;
      --radius-lg: 20px;
      --radius-sm: 11px;
      --shadow: 0 2px 8px rgba(0, 0, 0, .5), 0 18px 50px -16px rgba(0, 0, 0, .6);
      --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
      --display: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
      --mono: ui-monospace, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
      --maxw: 440px;
      --emblem: url("data:image/png;base64,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");
    }

    /* dark techno-futuristic theme is now the default - see :root */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      -webkit-tap-highlight-color: transparent;
    }

    html,
    body {
      height: 100%;
    }

    body {
      font-family: var(--font);
      background: var(--bg);
      color: var(--ink);
      font-size: 15px;
      line-height: 1.45;
      display: flex;
      flex-direction: column;
      align-items: center;
      min-height: 100dvh;
    }

    .wrap {
      width: 100%;
      max-width: var(--maxw);
      min-height: 100dvh;
      display: flex;
      flex-direction: column;
      background: var(--bg);
      position: relative;
    }

    a {
      color: var(--brand-2);
    }

    ::selection {
      background: var(--tint-2);
    }

    :focus-visible {
      outline: 2.5px solid var(--brand-2);
      outline-offset: 2px;
      border-radius: 4px;
    }

    @media(prefers-reduced-motion:reduce) {
      * {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important;
      }
    }

    /* ---------- type ---------- */
    h1,
    h2,
    h3 {
      letter-spacing: -0.02em;
      line-height: 1.2;
      font-weight: 800;
    }

    .eyebrow {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .10em;
      text-transform: uppercase;
      color: var(--ink-3);
    }

    .mono {
      font-family: var(--mono);
      font-variant-ligatures: none;
    }

    .muted {
      color: var(--ink-2);
    }

    .tiny {
      font-size: 12px;
    }

    /* ---------- app bar ---------- */
    .appbar {
      position: sticky;
      top: 0;
      z-index: 40;
      background: var(--brand);
      color: #fff;
      padding: calc(env(safe-area-inset-top) + 12px) 16px 12px;
      display: flex;
      align-items: center;
      gap: 11px;
      overflow: hidden;
    }

    .appbar::after {
      content: "";
      position: absolute;
      right: -26px;
      top: -44px;
      width: 150px;
      height: 150px;
      background: var(--emblem) center/contain no-repeat;
      opacity: .07;
      pointer-events: none;
    }

    .ab-emblem {
      width: 30px;
      height: 30px;
      flex: none;
      border-radius: 50%;
      background: var(--emblem) center/contain no-repeat;
      background-color: rgba(255, 255, 255, .10);
    }

    .ab-title {
      font-size: 16px;
      font-weight: 800;
      letter-spacing: -0.01em;
      line-height: 1.1;
      flex: 1;
      min-width: 0;
    }

    .ab-title small {
      display: block;
      font-size: 11px;
      font-weight: 600;
      opacity: .7;
      letter-spacing: 0;
      margin-top: 1px;
    }

    .ab-avatar {
      width: 34px;
      height: 34px;
      flex: none;
      border-radius: 50%;
      background: rgba(255, 255, 255, .16);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      font-size: 13px;
      border: 1px solid rgba(255, 255, 255, .25);
      cursor: pointer;
    }

    .mode-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #7fd8a3;
      flex: none;
      box-shadow: 0 0 0 3px rgba(127, 216, 163, .25);
    }

    .mode-dot.local {
      background: #ffd27a;
      box-shadow: 0 0 0 3px rgba(255, 210, 122, .22);
    }

    .mode-dot.memory {
      background: #ff9d8f;
      box-shadow: 0 0 0 3px rgba(255, 157, 143, .22);
    }

    /* ---------- layout ---------- */
    .view {
      flex: 1;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 16px 16px 96px;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .view.nopad-bottom {
      padding-bottom: 120px;
    }

    .card {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      padding: 16px;
      box-shadow: var(--shadow);
    }

    .card.tight {
      padding: 13px 14px;
    }

    .sec-h {
      font-size: 13px;
      font-weight: 800;
      letter-spacing: -0.01em;
      display: flex;
      align-items: center;
      gap: 7px;
    }

    .row-sb {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

    .stack {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .divider {
      height: 1px;
      background: var(--line);
      margin: 2px 0;
      border: none;
    }

    /* ---------- forms ---------- */
    .fgrp {
      display: flex;
      flex-direction: column;
      gap: 5px;
    }

    label.lbl,
    .lbl {
      font-size: 12px;
      font-weight: 600;
      color: var(--ink-2);
      letter-spacing: .01em;
    }

    input[type=text],
    input[type=email],
    input[type=tel],
    input[type=number],
    input[type=password],
    textarea,
    select {
      width: 100%;
      min-height: 44px;
      padding: 10px 12px;
      font-size: 15px;
      font-family: var(--font);
      border: 1px solid var(--line-2);
      border-radius: var(--radius);
      background: var(--surface);
      color: var(--ink);
      outline: none;
      transition: border-color .15s, box-shadow .15s;
    }

    textarea {
      min-height: 78px;
      resize: vertical;
      line-height: 1.4;
    }

    input:focus,
    textarea:focus,
    select:focus {
      border-color: var(--brand-2);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-2) 18%, transparent);
    }

    input[readonly] {
      background: var(--surface-2);
      color: var(--ink-2);
    }

    /* field-panel Access password: match the EMP/EMC .btn.sm height (38px) above it */
    #i-field-pw {
      min-height: 38px;
      padding: 8px 12px;
    }

    select {
      appearance: none;
      cursor: pointer;
      padding-right: 34px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%237C7D83' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
    }

    .field-err {
      color: var(--bad);
      font-size: 12.5px;
      font-weight: 600;
      display: none;
    }

    .field-err.show {
      display: block;
    }

    /* ---------- buttons ---------- */
    .btn {
      appearance: none;
      font-family: var(--font);
      font-size: 15px;
      font-weight: 700;
      min-height: 48px;
      padding: 12px 18px;
      border-radius: var(--radius);
      border: 1px solid var(--line-2);
      background: var(--surface);
      color: var(--ink);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      transition: background .15s, transform .08s, border-color .15s;
    }

    .btn:active {
      transform: scale(.985);
    }

    .btn:disabled {
      opacity: .5;
      cursor: not-allowed;
    }

    .btn.primary {
      background: var(--brand);
      color: #fff;
      border-color: var(--brand);
    }

    .btn.primary:active {
      background: var(--brand-press);
    }

    .btn.ghost {
      background: transparent;
    }

    .btn.subtle {
      background: var(--tint);
      border-color: transparent;
      color: var(--brand);
    }

    .btn.danger {
      background: transparent;
      color: var(--bad);
      border-color: color-mix(in srgb, var(--bad) 35%, transparent);
    }

    .btn.sm {
      min-height: 38px;
      font-size: 13px;
      padding: 8px 12px;
      width: auto;
    }

    .btn-row {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .btn-row .btn {
      flex: 1 1 140px;
    }

    .btn-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .btn-grid .btn {
      width: 100%;
    }

    .linkbtn {
      background: none;
      border: none;
      color: var(--brand-2);
      font-weight: 700;
      font-size: 13.5px;
      cursor: pointer;
      padding: 6px 2px;
      font-family: var(--font);
    }

    /* ---------- chips / pills ---------- */
    .pill {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: 11.5px;
      font-weight: 700;
      padding: 3px 9px;
      border-radius: 999px;
      letter-spacing: .01em;
      white-space: nowrap;
    }

    .pill.brand {
      background: var(--tint);
      color: var(--brand);
    }

    .pill.ok {
      background: var(--ok-t);
      color: var(--ok);
    }

    .pill.warn {
      background: var(--warn-t);
      color: var(--warn);
    }

    .pill.bad {
      background: var(--bad-t);
      color: var(--bad);
    }

    .pill.grey {
      background: var(--surface-2);
      color: var(--ink-2);
    }

    .chip-tray {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }

    .fchip {
      font-size: 13px;
      font-weight: 600;
      padding: 7px 13px;
      border-radius: 999px;
      border: 1px solid var(--line-2);
      background: var(--surface);
      color: var(--ink-2);
      cursor: pointer;
    }

    .fchip.on {
      background: var(--brand);
      border-color: var(--brand);
      color: #fff;
    }

    /* ---------- home hero ---------- */
    .greet h2 {
      font-size: 21px;
    }

    .stat-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 10px;
    }

    .stat {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 12px 10px;
      text-align: left;
      box-shadow: var(--shadow);
    }

    .stat .n {
      font-size: 23px;
      font-weight: 800;
      letter-spacing: -0.03em;
      line-height: 1;
    }

    .stat .l {
      font-size: 11px;
      font-weight: 600;
      color: var(--ink-2);
      margin-top: 5px;
    }

    .cta-capture {
      background: linear-gradient(135deg, var(--brand), var(--brand-2));
      color: #fff;
      border: none;
      border-radius: var(--radius-lg);
      padding: 18px;
      display: flex;
      align-items: center;
      gap: 14px;
      cursor: pointer;
      width: 100%;
      text-align: left;
      box-shadow: var(--shadow);
      position: relative;
      overflow: hidden;
    }

    .cta-capture::after {
      content: "";
      position: absolute;
      right: -30px;
      bottom: -50px;
      width: 150px;
      height: 150px;
      background: var(--emblem) center/contain no-repeat;
      opacity: .10;
    }

    .cta-capture .cc-ic {
      width: 46px;
      height: 46px;
      border-radius: 13px;
      background: rgba(255, 255, 255, .18);
      display: flex;
      align-items: center;
      justify-content: center;
      flex: none;
    }

    .cta-capture .cc-t {
      font-size: 17px;
      font-weight: 800;
    }

    .cta-capture .cc-s {
      font-size: 12.5px;
      opacity: .85;
      margin-top: 2px;
    }

    /* ---------- dossier (record card) ---------- */
    .dossier {
      display: flex;
      gap: 12px;
      align-items: stretch;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 12px;
      box-shadow: var(--shadow);
      cursor: pointer;
      text-align: left;
      width: 100%;
      position: relative;
      overflow: hidden;
      color: var(--ink);
      font-family: var(--font);
    }

    .dossier:active {
      transform: scale(.992);
    }

    .dossier .stripe {
      width: 4px;
      border-radius: 4px;
      flex: none;
      background: var(--warn);
    }

    .dossier .stripe.ok {
      background: var(--ok);
    }

    .dossier .thumb {
      width: 52px;
      height: 52px;
      border-radius: 10px;
      flex: none;
      background: var(--surface-2) var(--emblem) center/22px no-repeat;
      background-blend-mode: luminosity;
      object-fit: cover;
      border: 1px solid var(--line);
    }

    .dossier .d-main {
      flex: 1;
      min-width: 0;
    }

    .dossier .d-top {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .dossier .d-type {
      font-size: 14px;
      font-weight: 800;
      letter-spacing: -0.01em;
    }

    .dossier .d-id {
      font-size: 11.5px;
      color: var(--ink-3);
    }

    .dossier .d-meta {
      font-size: 12.5px;
      color: var(--ink-2);
      margin-top: 3px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .dossier .d-code {
      font-size: 11.5px;
      margin-top: 3px;
      color: var(--ink-2);
    }

    .dossier .d-code b {
      color: var(--ink);
      font-weight: 700;
    }

    /* ---------- review / detail rows ---------- */
    .kv {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      padding: 8px 0;
      border-bottom: 1px solid var(--line);
    }

    .kv:last-child {
      border-bottom: none;
    }

    .kv .k {
      font-size: 13px;
      color: var(--ink-2);
      flex: none;
    }

    .kv .v {
      font-size: 13.5px;
      font-weight: 600;
      text-align: right;
      word-break: break-word;
    }

    .kv .v.mono {
      font-weight: 600;
      font-size: 12.5px;
    }

    .group-lbl {
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ink-3);
      padding: 14px 0 2px;
    }

    .sub-kv .k {
      padding-left: 14px;
      color: var(--ink-3);
    }

    /* ---------- stepper ---------- */
    .stepbar {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 2px 0;
    }

    .stepdots {
      display: flex;
      gap: 6px;
      flex: 1;
    }

    .sdot {
      height: 5px;
      flex: 1;
      border-radius: 3px;
      background: var(--line-2);
      transition: background .2s;
    }

    .sdot.on {
      background: var(--brand);
    }

    .sdot.done {
      background: var(--ok);
    }

    .step-count {
      font-size: 12px;
      font-weight: 700;
      color: var(--ink-2);
      white-space: nowrap;
    }

    /* ---------- photo capture ---------- */
    .photo-block {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .pcard {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 12px;
    }

    .pcard .ph {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 9px;
    }

    .pcard .ph .pe {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      background: var(--tint);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      flex: none;
    }

    .pcard .ph .pt {
      font-size: 13.5px;
      font-weight: 700;
    }

    .pcard .ph .ps {
      font-size: 11.5px;
      color: var(--ink-3);
    }

    .dropzone {
      border: 1.5px dashed var(--line-2);
      border-radius: var(--radius);
      padding: 18px 12px;
      text-align: center;
      position: relative;
      cursor: pointer;
      background: var(--surface-2);
    }

    .dropzone input[type=file] {
      position: absolute;
      inset: 0;
      opacity: 0;
      width: 100%;
      height: 100%;
      cursor: pointer;
    }

    .dz-ic {
      font-size: 22px;
      display: block;
      margin-bottom: 4px;
    }

    .dz-l {
      font-size: 13.5px;
      font-weight: 600;
      color: var(--ink-2);
    }

    .dz-s {
      font-size: 11.5px;
      color: var(--ink-3);
      margin-top: 2px;
    }

    .preview {
      width: 100%;
      max-height: 160px;
      object-fit: cover;
      border-radius: var(--radius);
      display: none;
      border: 1px solid var(--line);
    }

    .scanning {
      position: relative;
    }

    .scan-overlay {
      display: none;
      align-items: center;
      gap: 9px;
      background: var(--tint);
      color: var(--brand);
      font-size: 13px;
      font-weight: 600;
      padding: 10px 12px;
      border-radius: var(--radius);
      margin-top: 8px;
    }

    .spin {
      width: 15px;
      height: 15px;
      border: 2.4px solid currentColor;
      border-top-color: transparent;
      border-radius: 50%;
      animation: spin .7s linear infinite;
      flex: none;
    }

    @keyframes spin {
      to {
        transform: rotate(360deg);
      }
    }

    .extract {
      display: none;
      flex-direction: column;
      gap: 6px;
      margin-top: 9px;
    }

    .xrow {
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: var(--surface-2);
      border-radius: var(--radius-sm);
      padding: 8px 11px;
      gap: 10px;
    }

    .xrow .xk {
      font-size: 12px;
      color: var(--ink-2);
    }

    .xrow .xv {
      font-size: 13px;
      font-weight: 700;
      text-align: right;
      word-break: break-word;
    }

    .retake {
      margin-top: 8px;
    }

    /* ---------- gps ---------- */
    .gps-box {
      display: flex;
      align-items: center;
      gap: 11px;
      background: var(--surface-2);
      border-radius: var(--radius);
      padding: 12px;
    }

    .gps-ic {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      background: var(--brand);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      flex: none;
    }

    .gps-main {
      flex: 1;
      min-width: 0;
    }

    .gps-coord {
      font-size: 13px;
      font-weight: 700;
    }

    .gps-sub {
      font-size: 11.5px;
      color: var(--ink-2);
      margin-top: 1px;
    }

    /* ---------- notes / flags ---------- */
    .flagrow {
      display: flex;
      gap: 9px;
    }

    .flag {
      flex: 1;
      border: 1px solid var(--line-2);
      border-radius: var(--radius);
      padding: 10px;
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 600;
      color: var(--ink-2);
    }

    .flag.on {
      border-color: var(--warn);
      background: var(--warn-t);
      color: var(--warn);
    }

    .flag .box {
      width: 18px;
      height: 18px;
      border-radius: 5px;
      border: 2px solid currentColor;
      flex: none;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
    }

    /* ---------- bottom nav ---------- */
    .tabbar {
      position: fixed;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      max-width: var(--maxw);
      background: color-mix(in srgb, var(--surface) 92%, transparent);
      backdrop-filter: saturate(1.4) blur(12px);
      border-top: 1px solid var(--line);
      display: flex;
      z-index: 50;
      padding-bottom: env(safe-area-inset-bottom);
    }

    .tab {
      flex: 1;
      background: none;
      border: none;
      cursor: pointer;
      padding: 9px 4px 8px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 3px;
      color: var(--ink-3);
      font-family: var(--font);
    }

    .tab svg {
      width: 23px;
      height: 23px;
    }

    .tab .tl {
      font-size: 10.5px;
      font-weight: 700;
      letter-spacing: .01em;
    }

    .tab.on {
      color: var(--brand);
    }

    /* active tab color handled in reskin block */

    /* ---------- toast ---------- */
    .toast {
      position: fixed;
      bottom: 84px;
      left: 50%;
      transform: translateX(-50%) translateY(20px);
      background: var(--ink);
      color: var(--bg);
      padding: 11px 16px;
      border-radius: 999px;
      font-size: 13.5px;
      font-weight: 600;
      z-index: 4000;
      opacity: 0;
      pointer-events: none;
      transition: opacity .25s, transform .25s;
      box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
      max-width: 90%;
      text-align: center;
    }

    .toast.show {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
    }

    /* ---------- empty ---------- */
    .empty {
      text-align: center;
      padding: 42px 18px;
      color: var(--ink-2);
    }

    .empty .ee {
      font-size: 40px;
      margin-bottom: 10px;
    }

    .empty h3 {
      font-size: 16px;
      margin-bottom: 6px;
      color: var(--ink);
    }

    /* ---------- home partnership lockup ---------- */
    .home-wrap {
      display: flex;
      flex-direction: column;
      gap: 14px;
      min-height: 100%;
    }

    .home-cobrand {
      margin-top: auto;
      padding: 22px 8px 16px;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      gap: 24px;
    }

    .hc-pair {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      max-width: 150px;
      text-align: center;
    }

    .hc-tree {
      width: 46px;
      height: 46px;
      flex: none;
      background: url("../img/nuevo-tree-gold.png") center/contain no-repeat;
      filter: drop-shadow(0 0 11px rgba(212, 176, 106, .4));
    }

    .hc-div {
      flex: none;
      align-self: flex-start;
      width: 1px;
      height: 46px;
      background: linear-gradient(180deg, transparent, var(--line-2), transparent);
    }

    .hc-seal {
      width: 46px;
      height: 46px;
      flex: none;
    }

    .hc-seal img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      border-radius: 10px;
      display: block;
    }

    .hc-lbl {
      font-family: var(--mono);
      font-size: 9.5px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--ink-3);
      line-height: 1.6;
    }

    .hc-lbl.gold {
      color: #f8c030;
      text-shadow: 0 0 8px rgba(248, 192, 48, .55), 0 0 16px rgba(248, 192, 48, .3);
    }

    .hc-lbl.brandgold {
      color: #d4b06a;
      text-shadow: 0 0 8px rgba(212, 176, 106, .5), 0 0 16px rgba(212, 176, 106, .28);
    }

    /* ---------- login ---------- */
    .login {
      flex: 1;
      display: flex;
      flex-direction: column;
      background: var(--brand);
      color: #fff;
      position: relative;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      min-height: 100dvh;
    }

    .login::before {
      content: "";
      position: absolute;
      left: -60px;
      top: -40px;
      width: 280px;
      height: 280px;
      background: var(--emblem) center/contain no-repeat;
      opacity: .06;
    }

    .login-top {
      padding: calc(env(safe-area-inset-top) + 18px) 22px 12px;
      text-align: center;
    }

    .login-logo {
      width: 230px;
      max-width: 78%;
      height: auto;
      margin: 0 auto;
      display: block;
    }

    .login-emblem {
      width: 82px;
      height: 82px;
      margin: 0 auto;
      background: var(--emblem) center/contain no-repeat;
      animation: embglow 3.8s ease-in-out infinite;
    }

    @keyframes embglow {

      0%,
      100% {
        filter: drop-shadow(0 0 14px rgba(212, 176, 106, .35));
      }

      50% {
        filter: drop-shadow(0 0 32px rgba(236, 212, 154, .7)) drop-shadow(0 0 12px rgba(212, 176, 106, .5));
      }
    }

    .login-word {
      font-family: 'Sora', var(--display);
      font-size: 38px;
      font-weight: 700;
      letter-spacing: -0.045em;
      line-height: .96;
      margin-top: 14px;
      background: linear-gradient(105deg, #cbb588 0%, #fffaf0 20%, #c9a55e 37%, #ffffff 50%, #c9a55e 63%, #fff6e2 80%, #cbb588 100%);
      background-size: 250% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      filter: drop-shadow(0 2px 13px rgba(212, 176, 106, .34));
      animation: bling 5s linear infinite;
    }

    .login-mark {
      font-size: 11px;
      letter-spacing: .32em;
      text-transform: uppercase;
      color: var(--brand-2);
      font-weight: 600;
      margin-top: 11px;
      padding-left: .32em;
    }

    .login-tag {
      font-size: 13px;
      opacity: .78;
      margin-top: 14px;
      font-weight: 500;
      letter-spacing: .01em;
    }

    .login-sheet {
      margin-top: auto;
      background: var(--bg);
      color: var(--ink);
      border-radius: 22px 22px 0 0;
      padding: 18px 18px calc(env(safe-area-inset-bottom) + 16px);
    }

    .login-sheet h2 {
      font-size: 18px;
      margin-bottom: 3px;
    }

    .login-sheet .sub {
      font-size: 13px;
      color: var(--ink-2);
      margin-bottom: 16px;
    }

    .id-photo {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .id-thumb {
      width: 54px;
      height: 54px;
      border-radius: 50%;
      background: var(--surface-2);
      border: 1px solid var(--line);
      object-fit: cover;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--ink-3);
      flex: none;
      overflow: hidden;
    }

    .id-thumb input {
      display: none;
    }

    .resume-card {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 13px;
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 14px;
      box-shadow: var(--shadow);
    }

    .cobrand {
      margin-top: 20px;
      padding-top: 15px;
      border-top: 1px solid var(--line);
      text-align: center;
    }

    .cobrand-l {
      display: block;
      font-family: var(--mono);
      font-size: 9.5px;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--ink-3);
    }

    .cobrand-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 11px;
      margin-top: 9px;
    }

    .cobrand-seal {
      width: 64px;
      height: 64px;
      flex: none;
    }

    .cobrand-seal img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      border-radius: 12px;
      display: block;
    }

    .cobrand-name {
      font-family: var(--display);
      font-size: 18px;
      font-weight: 700;
      letter-spacing: -0.03em;
      background: linear-gradient(105deg, #e0a81e 0%, #fff1b8 24%, #f8c030 46%, #ffe892 70%, #e0a81e 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      filter: drop-shadow(0 0 10px rgba(248, 192, 48, .55));
    }

    /* connectors */
    .conn {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 13px 0;
      border-bottom: 1px solid var(--line);
    }

    .conn:last-child {
      border-bottom: none;
    }

    .conn .ci {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      flex: none;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      background: var(--surface-2);
    }

    .conn .cn {
      font-size: 14px;
      font-weight: 700;
    }

    .conn .cd {
      font-size: 12px;
      color: var(--ink-2);
      margin-top: 2px;
    }

    .hide {
      display: none !important;
    }

    .banner {
      background: var(--warn-t);
      color: var(--warn);
      border: 1px solid color-mix(in srgb, var(--warn) 25%, transparent);
      border-radius: var(--radius);
      padding: 10px 12px;
      font-size: 12.5px;
      font-weight: 600;
      display: flex;
      gap: 8px;
      align-items: flex-start;
    }

    /* === LAYOUT FIX: #wrap wraps only the login; collapse it once the login is hidden === */
    html,
    body {
      height: 100%;
      margin: 0;
      padding: 0;
    }

    body {
      display: flex;
      flex-direction: column;
      align-items: center;
      height: 100vh;
      height: 100dvh;
    }

    #wrap {
      height: auto;
      min-height: 0;
      max-height: 100dvh;
      overflow-y: auto;
      flex: 0 0 auto;
    }

    #login {
      min-height: 100vh;
      min-height: 100dvh;
    }

    #appbar {
      flex: 0 0 auto;
      width: 100%;
      max-width: var(--maxw);
    }

    #view {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      width: 100%;
      max-width: var(--maxw);
    }

    /* ============================================================
     BOLD / ELEGANT / MODERN  -  techno-futuristic reskin
     (visual only; all markup & logic unchanged)
     ============================================================ */
    body {
      background:
        radial-gradient(120% 72% at 50% -10%, #11142b 0%, rgba(17, 20, 43, 0) 55%),
        radial-gradient(85% 50% at 100% 112%, #0e1124 0%, rgba(0, 0, 0, 0) 60%),
        var(--bg);
      background-attachment: fixed;
    }

    .wrap,
    #view,
    .view {
      background: transparent;
    }

    :root {
      --emblem: url("../img/nuevo-tree.png");
    }

    /* display type */
    h1,
    h2,
    h3,
    .ab-title,
    .ab-title small,
    .stat .n,
    .cta-capture .cc-t,
    .gps-coord,
    .step-count {
      font-family: var(--display);
    }

    h1,
    h2,
    h3 {
      font-weight: 700;
      letter-spacing: -0.03em;
    }

    .greet h2 {
      font-size: 27px;
      letter-spacing: -0.035em;
    }

    .ab-title {
      font-size: 17px;
    }

    .stat .n {
      font-size: 27px;
      letter-spacing: -0.04em;
      color: var(--brand-2);
    }

    .eyebrow {
      letter-spacing: .16em;
      color: var(--brand-2);
    }

    .group-lbl {
      letter-spacing: .14em;
    }

    /* surfaces - flat & modern */
    .card {
      background: rgba(19, 21, 34, .82);
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
    }

    .stat,
    .gps-box,
    .pcard,
    .dossier,
    .resume-card,
    .dropzone,
    .xrow,
    .scan-overlay {
      background: rgba(17, 19, 31, .78);
    }

    .stat,
    .dossier,
    .resume-card {
      box-shadow: var(--shadow);
    }

    /* app bar - dark glass with brand glow */
    .appbar {
      background: linear-gradient(180deg, rgba(13, 15, 30, .94), rgba(8, 10, 22, .85));
      backdrop-filter: blur(18px) saturate(1.2);
      -webkit-backdrop-filter: blur(18px) saturate(1.2);
      border-bottom: 1px solid var(--line);
      box-shadow: 0 1px 0 rgba(227, 201, 135, .08) inset, 0 14px 34px -22px rgba(0, 0, 0, .9);
    }

    .appbar::after {
      opacity: .10;
      filter: drop-shadow(0 0 12px var(--glow));
    }

    .ab-emblem {
      width: 38px;
      height: 38px;
      border-radius: 0;
      background-image: url("../img/nuevo-tree-gold.png");
      background-color: transparent;
      image-rendering: -webkit-optimize-contrast;
      animation: embglow 3.8s ease-in-out infinite;
    }

    /* primary actions */
    .btn {
      background: rgba(255, 255, 255, .04);
      border: 1px solid var(--line-2);
    }

    .btn.ghost {
      background: transparent;
    }

    .btn.subtle {
      background: var(--tint);
      color: var(--brand-2);
      border-color: transparent;
    }

    .fchip.on {
      color: #231b08;
    }

    .btn.primary {
      background: #d4b06a;
      border-color: transparent;
      color: #231b08;
      font-weight: 700;
      box-shadow: 0 8px 22px -12px rgba(212, 176, 106, .5);
    }

    .btn.primary:active {
      background: #bf9a52;
    }

    .cta-capture {
      background: #14172a;
      border: 1px solid var(--line-2);
      box-shadow: 0 16px 40px -22px rgba(0, 0, 0, .85);
    }

    .cta-capture::after {
      opacity: .09;
      filter: none;
    }

    .cta-capture .cc-ic {
      background: rgba(212, 176, 106, .16);
    }

    .cta-capture .cc-t {
      color: var(--brand-2);
    }

    /* gps + step accents */
    .gps-ic {
      background: rgba(212, 176, 106, .18);
      box-shadow: none;
    }

    .sdot.on {
      background: var(--brand);
      box-shadow: 0 0 10px var(--glow);
    }

    /* tab bar - dark glass, glowing active */
    .tabbar {
      background: linear-gradient(180deg, rgba(12, 16, 44, .74), rgba(8, 11, 32, .94));
      backdrop-filter: blur(22px) saturate(1.5);
      -webkit-backdrop-filter: blur(22px) saturate(1.5);
      border-top: 1px solid var(--line);
    }

    .tab.on {
      color: var(--accent);
    }

    .tab.on svg {
      filter: drop-shadow(0 0 8px var(--glow));
    }

    /* login / hero */
    .login {
      background: radial-gradient(125% 72% at 50% 2%, #131634 0%, #0a0c1c 52%, #05060e 100%);
    }

    .login::before {
      width: min(560px, 150%);
      height: min(560px, 150vw);
      left: 50%;
      top: 4%;
      transform: translateX(-50%);
      opacity: .09;
      filter: drop-shadow(0 0 30px rgba(201, 165, 94, .32));
    }

    .login-logo {
      filter: drop-shadow(0 6px 30px rgba(0, 0, 0, .5));
    }

    .login-tag {
      font-size: 11px;
      letter-spacing: .34em;
      text-transform: uppercase;
      opacity: .5;
      font-weight: 600;
      margin-top: 14px;
    }

    .login-sheet {
      background: linear-gradient(180deg, rgba(17, 22, 56, .94), rgba(10, 13, 38, .97));
      backdrop-filter: blur(20px) saturate(1.3);
      -webkit-backdrop-filter: blur(20px) saturate(1.3);
      border-top: 1px solid var(--line-2);
      border-radius: 26px 26px 0 0;
      box-shadow: 0 -24px 60px -24px rgba(0, 0, 0, .8);
    }

    /* focus ring glow */
    input:focus,
    textarea:focus,
    select:focus {
      box-shadow: 0 0 0 3px rgba(70, 110, 255, .28), 0 0 18px -4px var(--glow);
    }

    /* ===== splash (bold hold until tapped) ===== */
    #splash {
      position: fixed;
      inset: 0;
      z-index: 999;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      text-align: center;
      padding: 3vh 32px calc(env(safe-area-inset-bottom) + 3vh);
      cursor: pointer;
      color: #fff;
      background: radial-gradient(125% 80% at 50% 26%, #14172f 0%, #0a0c1c 54%, #05060e 100%);
      transition: opacity .55s ease, visibility .55s;
    }

    .sp-main {
      flex: 1 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 18px 0;
    }

    .sp-foot {
      flex: none;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    #splash.gone {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .sp-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      overflow: hidden;
    }

    .sp-bg::before {
      content: "";
      position: absolute;
      left: 50%;
      top: 30%;
      width: 130vw;
      height: 130vw;
      transform: translate(-50%, -50%);
      background: radial-gradient(closest-side, rgba(212, 176, 106, .12), rgba(212, 176, 106, 0) 70%);
      animation: spaura 9s ease-in-out infinite;
    }

    @keyframes spaura {

      0%,
      100% {
        opacity: .45;
        transform: translate(-50%, -50%) scale(1);
      }

      50% {
        opacity: .85;
        transform: translate(-50%, -50%) scale(1.12);
      }
    }

    .sp-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .045;
      mix-blend-mode: overlay;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    .sp-tree {
      flex: none;
      width: min(64vw, 34vh, 300px);
      height: min(64vw, 34vh, 300px);
      background: var(--emblem) center/contain no-repeat;
      margin-bottom: 14px;
      animation: sppulse 3.8s ease-in-out infinite;
    }

    @keyframes sppulse {

      0%,
      100% {
        filter: drop-shadow(0 0 26px rgba(212, 176, 106, .4));
      }

      50% {
        filter: drop-shadow(0 0 62px rgba(236, 212, 154, .9)) drop-shadow(0 0 22px rgba(212, 176, 106, .6));
      }
    }

    .sp-word {
      font-family: 'Sora', var(--display);
      font-size: clamp(40px, 11vw, 64px);
      font-weight: 700;
      letter-spacing: -0.045em;
      line-height: .94;
      background: linear-gradient(105deg, #cbb588 0%, #fffaf0 20%, #c9a55e 37%, #ffffff 50%, #c9a55e 63%, #fff6e2 80%, #cbb588 100%);
      background-size: 250% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      filter: drop-shadow(0 2px 16px rgba(212, 176, 106, .4));
      animation: bling 5s linear infinite;
    }

    @keyframes bling {
      0% {
        background-position: 200% 0;
      }

      100% {
        background-position: -60% 0;
      }
    }

    .sp-mark {
      margin-top: 18px;
      font-size: 13px;
      letter-spacing: .78em;
      text-transform: uppercase;
      color: var(--brand-2);
      font-weight: 600;
      padding-left: .78em;
    }

    .sp-sub {
      margin-top: 18px;
      font-size: 11px;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: var(--ink-2);
      font-weight: 600;
    }

    .sp-rule {
      width: 44px;
      height: 1px;
      margin: 15px auto 0;
      background: linear-gradient(90deg, transparent, rgba(212, 176, 106, .75), transparent);
    }

    .sp-prop {
      margin: 13px auto 0;
      max-width: 38ch;
      font-size: 13px;
      line-height: 1.5;
      color: var(--ink-2);
      font-weight: 400;
      text-wrap: balance;
    }

    .sp-prop b {
      color: #e7ddca;
      font-weight: 600;
    }

    .sp-tap {
      margin: 0 0 18px;
      font-size: 14px;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .82);
      font-weight: 600;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 16px 34px;
      border: 1px solid var(--line-2);
      border-radius: 999px;
      background: rgba(212, 176, 106, .05);
      animation: spblink 2.6s ease-in-out infinite;
      white-space: nowrap;
    }

    .sp-tap::after {
      content: "\2192";
      font-size: 16px;
      letter-spacing: 0;
      color: var(--brand-2);
    }

    @keyframes spblink {

      0%,
      100% {
        opacity: .32;
      }

      50% {
        opacity: .92;
      }
    }

    .sp-built {
      display: flex;
      flex-direction: column;
      align-items: center;
      color: rgba(255, 255, 255, .5);
    }

    .sp-built-l {
      font-size: 12px;
      letter-spacing: .26em;
      text-transform: uppercase;
      font-weight: 600;
    }

    .sp-badge {
      width: 128px;
      height: auto;
      display: block;
      border-radius: 20px;
      margin: 12px 0 6px;
      filter: drop-shadow(0 8px 22px rgba(0, 0, 0, .55));
    }

    .sp-built b {
      color: #cdd8ff;
      font-weight: 600;
      font-family: var(--display);
      font-size: 12px;
      letter-spacing: .01em;
    }

    .sp-built-name {
      margin-top: 9px;
      font-family: var(--display);
      font-size: 19px;
      font-weight: 700;
      letter-spacing: -0.02em;
      background: linear-gradient(105deg, #e0a81e 0%, #fff1b8 24%, #f8c030 46%, #ffe892 70%, #e0a81e 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      filter: drop-shadow(0 0 10px rgba(248, 192, 48, .55));
    }

    /* ---- multi-tenant splash: chooser pills + dual-logo footer (additive) ---- */
    .sp-choose {
      font-size: 12px;
      letter-spacing: .26em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .5);
      font-weight: 600;
      margin: 0 0 13px;
    }

    .sp-taps {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 11px;
      margin: 0 0 22px;
    }

    .sp-taps .sp-tap {
      margin: 0;
      min-width: 250px;
      padding: 15px 24px;
      letter-spacing: .02em;
      text-transform: none;
      justify-content: center;
    }

    /* ---- municipality dropdown + continue ---- */
    .sp-muni {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 11px;
      margin: 0 0 22px;
      position: relative;
      z-index: 1;
    }

    .sp-select {
      min-width: 250px;
      max-width: 86vw;
      padding: 14px 46px 14px 24px;
      font-family: inherit;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.2;
      color: rgba(255, 255, 255, .92);
      border: 1px solid var(--line-2);
      border-radius: 999px;
      cursor: pointer;
      -webkit-appearance: none;
      appearance: none;
      text-align: center;
      text-align-last: center;
      background: rgba(212, 176, 106, .05) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path d="M1 1l5 5 5-5" fill="none" stroke="%23ecd49a" stroke-width="2" stroke-linecap="round"/></svg>') right 20px center/12px 8px no-repeat;
    }

    .sp-select:focus {
      outline: none;
      border-color: var(--brand);
      box-shadow: 0 0 0 3px var(--tint);
    }

    .sp-select option {
      color: #10131f;
      background: #ffffff;
      font-weight: 600;
    }

    .sp-go {
      min-width: 250px;
      padding: 15px 24px;
      font-family: inherit;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
      line-height: 1.2;
      color: #151002;
      background: linear-gradient(135deg, var(--brand-2), var(--brand));
      border: 0;
      border-radius: 999px;
      cursor: pointer;
      box-shadow: 0 10px 26px var(--glow);
    }

    .sp-go:active {
      transform: translateY(1px);
    }

    .sp-go:disabled {
      opacity: .38;
      box-shadow: none;
      cursor: default;
      filter: grayscale(.35);
    }

    .sp-go:disabled:active {
      transform: none;
    }

    .sp-admin {
      appearance: none;
      border: 0;
      background: transparent;
      color: rgba(236, 212, 154, .55);
      font-family: inherit;
      font-size: 11.5px;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: 8px 12px;
      cursor: pointer;
      text-decoration: underline;
      text-underline-offset: 3px;
      text-decoration-color: rgba(236, 212, 154, .25);
    }

    .sp-admin:active {
      color: var(--brand-2);
    }

    .sp-badges {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin: 4px 0 8px;
      flex-wrap: wrap;
    }

    .sp-badges .sp-badge {
      height: 84px;
      width: auto;
      margin: 0;
      border-radius: 18px;
    }

    .sp-cp {
      height: 84px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #fff;
      border-radius: 14px;
      padding: 9px 14px;
      margin: 0;
      filter: drop-shadow(0 8px 22px rgba(0, 0, 0, .55));
    }

    /* ---- City Power tenant theme: Navy Rich background + CP accent (additive) ---- */
    body.cp {
      --brand: #ff7a1a;
      --brand-press: #d9610a;
      --brand-2: #ffd21f;
      --accent: #ffd21f;
      --glow: rgba(255, 122, 26, .30);
      --tint: rgba(255, 122, 26, .12);
      --tint-2: rgba(255, 210, 31, .18);
      --ink: #eef2ff;
      --ink-2: #aab6dd;
      --ink-3: #6c79a6;
      --bg: #060f29;
      --bg-2: #0b1538;
      --surface: #15224d;
      --surface-2: #1c2c5e;
      --line: rgba(176, 196, 255, 0.14);
      --line-2: rgba(176, 196, 255, 0.24);
    }

    /* City Power logo is navy-on-white -> sits on a white chip on dark surfaces */
    .seal-chip {
      background: #fff;
      border-radius: 8px;
      padding: 3px 6px;
    }

    .cobrand-seal.seal-chip {
      padding: 4px 8px;
    }

    .sp-cp img {
      height: 100%;
      width: auto;
      display: block;
    }

    /* ambient tree-branch framing on the landing (creeps in from both side edges) */
    #splash {
      overflow-y: auto;
      overflow-x: hidden;
    }

    #splash::before,
    #splash::after,
    .login::after {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: min(86vw, 660px);
      height: min(86vw, 660px);
      background: var(--emblem) center/contain no-repeat;
      opacity: .07;
      pointer-events: none;
      z-index: 0;
    }

    #splash::before {
      left: -44%;
    }

    #splash::after {
      right: -44%;
      transform: translateY(-50%) scaleX(-1);
    }

    .login::after {
      right: -44%;
      top: 36%;
      width: min(82vw, 580px);
      height: min(82vw, 580px);
      opacity: .06;
      transform: translateY(-50%) scaleX(-1);
    }

    .login::before {
      left: -44% !important;
      right: auto;
      top: 36% !important;
      transform: translateY(-50%) !important;
      width: min(82vw, 580px) !important;
      height: min(82vw, 580px) !important;
      opacity: .06 !important;
    }

    .sp-main,
    .sp-foot {
      position: relative;
      z-index: 1;
    }

    .login-top,
    .login-sheet {
      position: relative;
      z-index: 1;
    }

    /* sign-in screen polish */
    .login-sheet h2 {
      font-family: var(--display);
      font-size: 23px;
      letter-spacing: -0.025em;
    }

    .id-photo {
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, .02);
    }

    .id-thumb {
      border: 1.5px dashed var(--line-2) !important;
    }

    #i-field-pw,
    #i-password {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%238a90a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: 13px center;
      padding-left: 38px;
    }

    /* ════════════════════════════════════════════════════════════════
     ULTRA POLISH - premium pass (appended override layer; visual only)
     crisp rendering / refined depth / phone fit / micro-motion
     ════════════════════════════════════════════════════════════════ */

    /* -- crisp, high-DPI text rendering -- */
    html {
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }

    body {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
      overscroll-behavior: none;
    }

    #view {
      overscroll-behavior: contain;
      scrollbar-width: none;
    }

    #view::-webkit-scrollbar {
      width: 0;
      height: 0;
      display: none;
    }

    /* -- refined type rhythm -- */
    h1,
    h2,
    h3 {
      text-wrap: balance;
    }

    .muted,
    .cc-s,
    .gps-sub,
    .d-meta,
    .sp-prop,
    .login-tag,
    .empty .tiny {
      text-wrap: pretty;
    }

    .stat .n,
    .mono,
    .kv .v.mono,
    .d-id,
    .step-count,
    .gps-coord {
      font-variant-numeric: tabular-nums;
    }

    /* -- phone fit: stop iOS focus-zoom (controls must be >=16px) -- */
    input[type=text],
    input[type=email],
    input[type=tel],
    input[type=number],
    input[type=password],
    textarea,
    select {
      font-size: 16px;
      border-radius: 13px;
      transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
    }

    /* -- on-brand focus ring (replaces off-brand blue glow) -- */
    input:focus,
    textarea:focus,
    select:focus {
      border-color: var(--brand) !important;
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent), 0 0 22px -6px var(--glow) !important;
    }

    /* -- premium surface depth -- */
    :root {
      --shadow: 0 1px 2px rgba(0, 0, 0, .42), 0 12px 30px -16px rgba(0, 0, 0, .72);
      --shadow-lg: 0 2px 6px rgba(0, 0, 0, .45), 0 28px 64px -24px rgba(0, 0, 0, .82);
    }

    .card {
      border-radius: 18px;
      background: linear-gradient(180deg, rgba(23, 26, 43, .86), rgba(16, 18, 31, .88));
      box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, .045);
    }

    .stat,
    .dossier,
    .resume-card,
    .gps-box,
    .pcard {
      box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, .04);
    }

    .cta-capture {
      box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255, 255, 255, .05);
    }

    /* -- buttons: tactile press -- */
    .btn {
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .12s cubic-bezier(.3, .7, .3, 1);
    }

    .btn:active {
      transform: translateY(1px) scale(.99);
    }

    .btn.primary {
      box-shadow: 0 1px 0 rgba(255, 255, 255, .22) inset, 0 10px 26px -12px rgba(212, 176, 106, .6);
    }

    .btn.primary:active {
      box-shadow: 0 6px 16px -10px rgba(212, 176, 106, .5);
    }

    /* -- cta + cards: lift on press / hover -- */
    .cta-capture,
    .dossier,
    .stat {
      transition: transform .15s cubic-bezier(.3, .7, .3, 1), box-shadow .22s ease, border-color .22s ease;
    }

    .cta-capture:active {
      transform: scale(.985);
    }

    .dossier:active {
      transform: scale(.99);
    }

    @media(hover:hover) {

      .dossier:hover,
      .cta-capture:hover {
        border-color: var(--line-2);
        transform: translateY(-1px);
      }

      .stat:hover {
        border-color: var(--line-2);
      }

      .fchip:hover {
        border-color: var(--line-2);
        color: var(--ink);
      }
    }

    /* -- pills + chips crisper on dark -- */
    .pill {
      border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
    }

    .pill.grey {
      border-color: var(--line);
    }

    /* -- fix: recent-capture tiles were vertically squashed (home-wrap min-height:100%
     + flex-shrink) which clipped the location line. Keep tiles at natural height. -- */
    .home-wrap>.dossier,
    .dossier {
      flex-shrink: 0;
    }

    .dossier {
      overflow: visible;
    }

    /* -- fix: home-wrap is a flex item in the flex-column #view; default flex-shrink
     capped it to the viewport height so tall content overflowed under the tab bar.
     Let it keep natural height so #view scrolls. -- */
    .home-wrap {
      min-height: 0;
      flex-shrink: 0;
    }

    .home-cobrand {
      margin-top: 28px;
    }

    /* -- stat number subtle glow -- */
    .stat .n {
      text-shadow: 0 0 26px var(--glow);
    }

    /* -- tabbar: glowing active indicator -- */
    .tab {
      position: relative;
      transition: color .2s ease;
    }

    .tab.on::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 26px;
      height: 2.5px;
      border-radius: 0 0 3px 3px;
      background: var(--accent);
      box-shadow: 0 0 10px var(--glow);
    }

    /* -- appbar avatar + mode dot crisp -- */
    .ab-avatar {
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 8px -2px rgba(0, 0, 0, .55);
    }

    /* -- appbar tree emblem: larger & crisper (matches the bottom co-brand mark) -- */
    .ab-emblem {
      width: 44px !important;
      height: 44px !important;
      background-size: contain !important;
      image-rendering: auto;
      animation: embglowTop 4s ease-in-out infinite !important;
    }

    @keyframes embglowTop {

      0%,
      100% {
        filter: drop-shadow(0 0 7px rgba(212, 176, 106, .42));
      }

      50% {
        filter: drop-shadow(0 0 13px rgba(236, 212, 154, .62));
      }
    }

    /* -- micro-motion: view content rises in on each navigation (transform-only = never hides content) -- */
    @keyframes viewRise {
      from {
        transform: translateY(10px);
        opacity: .55;
      }

      to {
        transform: none;
        opacity: 1;
      }
    }

    .view>* {
      animation: viewRise .34s cubic-bezier(.22, .61, .36, 1) both;
    }

    .view>*:nth-child(2) {
      animation-delay: .05s;
    }

    .view>*:nth-child(3) {
      animation-delay: .10s;
    }

    .view>*:nth-child(4) {
      animation-delay: .14s;
    }

    .view>*:nth-child(n+5) {
      animation-delay: .17s;
    }

    /* -- toast premium -- */
    .toast {
      box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .3);
    }

    /* ════════════════════════════════════════════════════════════════
     COMPACT DENSITY - fit content to the phone, minimise scrolling
     (tightens vertical rhythm everywhere; touch targets stay >=44px)
     ════════════════════════════════════════════════════════════════ */
    .view {
      gap: 11px;
      padding: 14px 14px 84px;
    }

    .view.nopad-bottom {
      padding-bottom: 100px;
    }

    .home-wrap {
      gap: 11px;
    }

    .stack {
      gap: 10px;
    }

    .card {
      padding: 14px;
    }

    .card.tight {
      padding: 12px 13px;
    }

    .greet h2 {
      font-size: 23px;
    }

    .cta-capture {
      padding: 14px;
    }

    .cta-capture .cc-ic {
      width: 42px;
      height: 42px;
    }

    .stat {
      padding: 11px 11px;
    }

    .stat .n {
      font-size: 24px;
    }

    .stat-grid {
      gap: 9px;
    }

    .dossier {
      padding: 11px;
      gap: 11px;
    }

    .dossier .thumb {
      width: 48px;
      height: 48px;
    }

    .group-lbl {
      padding: 10px 0 2px;
    }

    .row-sb {
      gap: 8px;
    }

    .home-cobrand {
      margin-top: 16px;
      padding: 14px 8px 10px;
    }

    .hc-tree,
    .hc-seal {
      width: 40px;
      height: 40px;
    }

    .photo-block {
      gap: 5px;
    }

    .pcard {
      padding: 11px;
    }

    .kv {
      padding: 7px 0;
    }

    /* -- Records: stop filter chips from shrinking & wrapping mid-label -- */
    .fchip {
      white-space: nowrap;
      flex-shrink: 0;
    }

    .chip-tray {
      align-items: center;
    }

    /* -- City Power co-brand logo is landscape: give its white chip a wide shape
     so the logo fills the height instead of shrinking into a tiny square -- */
    .home-cobrand .hc-seal.seal-chip {
      width: auto;
      min-width: 62px;
      height: 42px;
      padding: 5px 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 9px;
    }

    .home-cobrand .hc-seal.seal-chip img {
      width: auto;
      height: 100%;
      object-fit: contain;
      border-radius: 3px;
    }

    /* -- Login lockup: enlarge the City Power logo inside its white chip
     (reduce internal padding) while keeping the outer 64x64 square the same -- */
    #login .cobrand-seal.seal-chip {
      padding: 2px 3px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #login .cobrand-seal.seal-chip img {
      width: 100%;
      height: auto;
      max-height: 100%;
      object-fit: contain;
    }

    /* -- Login hero: use the gold circuit tree (matches the top-bar mark) -- */
    #login .login-emblem {
      background-image: url("../img/nuevo-tree-gold.png");
      width: 98px;
      height: 98px;
    }

    /* ════════════════════════════════════════════════════════════════
     CITY POWER - distinct deep-plum ground that blends with gold
     ════════════════════════════════════════════════════════════════ */
    body.cp {
      --bg: #160c1b;
      --bg-2: #22102e;
      --surface: #221331;
      --surface-2: #2f1d42;
      --ink: #f2ecf5;
      --ink-2: #b4a7c1;
      --ink-3: #776a87;
      --line: rgba(227, 201, 135, 0.16);
      --line-2: rgba(227, 201, 135, 0.30);
      --glow: rgba(236, 200, 120, .34);
    }

    body.cp {
      background:
        radial-gradient(120% 72% at 50% -10%, #2c1640 0%, rgba(44, 22, 64, 0) 55%),
        radial-gradient(85% 50% at 100% 112%, #1b0e26 0%, rgba(0, 0, 0, 0) 60%),
        var(--bg);
      background-attachment: fixed;
    }

    body.cp .appbar {
      background: linear-gradient(180deg, rgba(34, 19, 49, .95), rgba(20, 11, 28, .86));
      border-bottom: 1px solid var(--line);
    }

    body.cp .tabbar {
      background: linear-gradient(180deg, rgba(37, 21, 52, .76), rgba(20, 11, 28, .95));
    }

    body.cp .card {
      background: linear-gradient(180deg, rgba(38, 22, 54, .88), rgba(27, 15, 38, .9));
    }

    body.cp .stat,
    body.cp .dossier,
    body.cp .resume-card,
    body.cp .gps-box,
    body.cp .pcard,
    body.cp .xrow,
    body.cp .scan-overlay {
      background: rgba(35, 20, 50, .84);
    }

    body.cp .cta-capture {
      background: #231331;
    }

    body.cp .login {
      background: radial-gradient(125% 72% at 50% 2%, #2a1640 0%, #190d24 52%, #0c0712 100%);
    }

    body.cp .login-sheet {
      background: linear-gradient(180deg, rgba(38, 22, 54, .95), rgba(21, 12, 30, .97));
    }

    /* -- CableTrace mode - hi-vis instrument chrome on the NuEvo shell -- */
    .ct-cta {
      border: 1px solid rgba(255, 178, 0, .38);
      background: linear-gradient(135deg, rgba(255, 178, 0, .16), rgba(255, 178, 0, .05));
    }

    .ct-cta .cc-ic {
      background: linear-gradient(135deg, #ffb200, #e09400);
    }

    .ct-amber {
      color: #ffb200
    }

    .ct-fixrow {
      display: flex;
      gap: 8px;
      align-items: baseline;
      padding: 8px 11px;
      border: 1px solid var(--line, #2a2e36);
      border-radius: 10px;
      margin-top: 6px;
      font-size: 12px
    }

    .ct-fixrow .seq {
      color: #ffb200;
      font-weight: 700;
      min-width: 26px;
      font-family: var(--mono)
    }

    .ct-refusal {
      border: 1px dashed rgba(255, 107, 87, .65);
      background: rgba(255, 107, 87, .07);
      border-radius: 12px;
      padding: 12px 14px;
      margin-top: 10px
    }

    .ct-gapband {
      background: repeating-linear-gradient(135deg, rgba(255, 178, 0, .16) 0 7px, transparent 7px 14px);
      border: 1px dashed rgba(255, 178, 0, .55);
      border-radius: 10px;
      padding: 9px 12px;
      font-size: 12px;
      margin-top: 8px
    }

    .ct-okcard {
      border: 1px solid rgba(111, 208, 140, .4);
      background: rgba(111, 208, 140, .07);
      border-radius: 12px;
      padding: 12px 14px;
      margin-top: 10px
    }

    .ct-video {
      width: 100%;
      border-radius: 12px;
      background: #000;
      margin-top: 8px;
      max-height: 280px;
      object-fit: cover
    }

    .ct-pill-a {
      background: rgba(255, 178, 0, .14);
      color: #ffb200
    }

    /* -- coverage ladder - the run's tag interval, drawn -- */
    .ct-ladder {
      display: flex;
      gap: 2px;
      margin-top: 7px
    }

    .ct-seg {
      flex: 1;
      min-width: 2px;
      border-radius: 2px;
      background: repeating-linear-gradient(135deg, #ffb200 0 3px, transparent 3px 6px);
      box-shadow: inset 0 0 0 1px rgba(255, 178, 0, .5)
    }

    .ct-seg.on {
      background: var(--ok);
      box-shadow: none
    }

    .ct-scale {
      display: flex;
      justify-content: space-between;
      font-family: var(--mono);
      font-size: 9.5px;
      color: var(--ink-3);
      margin-top: 5px
    }

    /* -- outcome slam card -- */
    .ct-slam {
      border-radius: 16px;
      padding: 14px;
      margin-top: 2px;
      animation: ctslam .24s ease both
    }

    .ct-slam.ok {
      border: 1px solid var(--ok);
      background: var(--ok-t)
    }

    .ct-slam.warn {
      border: 1px solid var(--warn);
      background: var(--warn-t)
    }

    .ct-slam.bad {
      border: 1px solid var(--bad);
      background: var(--bad-t)
    }

    .ct-slam .ic {
      width: 26px;
      height: 26px;
      flex: none;
      border-radius: 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      font-weight: 800
    }

    .ct-slam.ok .ic {
      color: var(--ok);
      background: var(--ok-t);
      box-shadow: inset 0 0 0 1px var(--ok)
    }

    .ct-slam.warn .ic {
      color: var(--warn);
      background: var(--warn-t);
      box-shadow: inset 0 0 0 1px var(--warn)
    }

    .ct-slam.bad .ic {
      color: var(--bad);
      background: var(--bad-t);
      box-shadow: inset 0 0 0 1px var(--bad)
    }

    .ct-slam .ti {
      font-size: 15px;
      font-weight: 800;
      letter-spacing: -.015em;
      line-height: 1.2
    }

    .ct-slam.ok .ti {
      color: var(--ok)
    }

    .ct-slam.warn .ti {
      color: var(--warn)
    }

    .ct-slam.bad .ti {
      color: var(--bad)
    }

    @keyframes ctslam {
      0% {
        opacity: 0;
        transform: translateY(14px) scale(.97)
      }

      60% {
        transform: translateY(-2px)
      }

      100% {
        opacity: 1;
        transform: none
      }
    }

    /* -- map -- */
    .ct-map {
      width: 100%;
      height: 250px;
      background: var(--surface-2);
      border-radius: 0;
      position: relative
    }

    .ct-map.rounded {
      border-radius: var(--radius);
      overflow: hidden;
      border: 1px solid var(--line)
    }

    .ct-mapchip {
      position: absolute;
      z-index: 500;
      background: rgba(5, 6, 14, .82);
      border: 1px solid rgba(255, 255, 255, .14);
      color: #f4f1e8;
      font-size: 11.5px;
      font-weight: 600;
      padding: 5px 9px;
      border-radius: 8px;
      white-space: nowrap;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px)
    }

    .ct-mapchip.amber {
      border-color: rgba(255, 178, 0, .38);
      color: #ffb200;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .1em
    }

    .ct-mapstat {
      position: absolute;
      right: 12px;
      top: 12px;
      z-index: 500;
      background: rgba(5, 6, 14, .82);
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 12px;
      padding: 8px 12px;
      text-align: right;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px)
    }

    .ct-mapstat .n {
      font-family: var(--mono);
      font-size: 22px;
      font-weight: 700;
      color: #f4f1e8;
      line-height: 1
    }

    .ct-mapstat .l {
      font-size: 9.5px;
      letter-spacing: .14em;
      color: #a7adc1;
      margin-top: 3px
    }

    .ct-legend {
      display: flex;
      gap: 12px;
      padding: 10px 16px;
      flex-wrap: wrap;
      border-bottom: 1px solid var(--line);
      background: var(--bg-2)
    }

    .ct-legend span {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 11px;
      font-weight: 600;
      color: var(--ink-2)
    }

    .ct-legend i {
      display: block;
      border-radius: 2px
    }

    .ct-mapoff {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%;
      color: var(--ink-3);
      font-size: 12.5px;
      text-align: center;
      padding: 0 24px
    }

    /* -- thumb-zone action bar (gloved hands: 64px targets) -- */
    .ct-actionbar {
      position: fixed;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      max-width: var(--maxw);
      z-index: 60;
      display: flex;
      gap: 10px;
      padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
      border-top: 1px solid var(--line);
      background: color-mix(in srgb, var(--bg-2) 94%, transparent);
      -webkit-backdrop-filter: blur(18px);
      backdrop-filter: blur(18px)
    }

    .ct-big {
      min-height: 64px;
      border-radius: 16px;
      border: none;
      font-family: var(--font);
      font-size: 17px;
      font-weight: 800;
      letter-spacing: -.01em;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      cursor: pointer;
      background: linear-gradient(135deg, #ffb200, #e09400);
      color: #0b0d16;
      box-shadow: 0 10px 24px -14px rgba(255, 178, 0, .9)
    }

    .ct-big.sec {
      background: transparent;
      color: var(--ink);
      border: 1px solid var(--line-2);
      box-shadow: none;
      font-size: 15px
    }

    .ct-big:disabled {
      opacity: .45
    }

    .view.ct-hasbar {
      padding-bottom: 106px
    }

    /* -- scan HUD -- */
    .ct-hud {
      position: relative;
      height: 300px;
      overflow: hidden;
      margin: -16px -16px 0;
      background: radial-gradient(70% 55% at 50% 42%, #2a2f3d 0, #0e1017 55%, #05060e 100%)
    }

    .ct-hud .grain {
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .028) 0 2px, transparent 2px 4px)
    }

    .ct-hud video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover
    }

    .ct-retic {
      position: absolute;
      left: 50%;
      top: 162px;
      transform: translate(-50%, -50%);
      width: 236px;
      height: 170px;
      pointer-events: none
    }

    .ct-retic i {
      position: absolute;
      width: 30px;
      height: 30px;
      border: 0 solid #ffb200
    }

    .ct-retic i:nth-child(1) {
      left: 0;
      top: 0;
      border-left-width: 3px;
      border-top-width: 3px;
      border-radius: 7px 0 0 0
    }

    .ct-retic i:nth-child(2) {
      right: 0;
      top: 0;
      border-right-width: 3px;
      border-top-width: 3px;
      border-radius: 0 7px 0 0
    }

    .ct-retic i:nth-child(3) {
      left: 0;
      bottom: 0;
      border-left-width: 3px;
      border-bottom-width: 3px;
      border-radius: 0 0 0 7px
    }

    .ct-retic i:nth-child(4) {
      right: 0;
      bottom: 0;
      border-right-width: 3px;
      border-bottom-width: 3px;
      border-radius: 0 0 7px 0
    }

    .ct-retic b {
      position: absolute;
      left: 8px;
      right: 8px;
      top: 6px;
      height: 2px;
      display: block;
      background: linear-gradient(90deg, transparent, #ffb200, transparent);
      animation: ctscan 2.6s ease-in-out infinite alternate
    }

    @keyframes ctscan {
      0% {
        transform: translateY(0)
      }

      100% {
        transform: translateY(152px)
      }
    }

    .ct-hudcount {
      position: absolute;
      right: 12px;
      top: 12px;
      z-index: 3;
      background: rgba(5, 6, 14, .78);
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 12px;
      padding: 8px 12px;
      text-align: right;
      min-width: 76px;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px)
    }

    .ct-hudcount .n {
      font-family: var(--mono);
      font-size: 24px;
      font-weight: 700;
      color: #f4f1e8;
      line-height: 1
    }

    .ct-hudcount .l {
      font-size: 9px;
      letter-spacing: .14em;
      color: #a7adc1;
      margin-top: 3px
    }

    .ct-hudtop {
      position: absolute;
      left: 12px;
      top: 12px;
      z-index: 3;
      display: flex;
      flex-direction: column;
      gap: 6px;
      align-items: flex-start
    }

    .ct-hudrail {
      position: absolute;
      left: 12px;
      right: 12px;
      bottom: 10px;
      z-index: 3
    }

    .ct-hudrail .hd {
      display: flex;
      justify-content: space-between;
      font-family: var(--mono);
      font-size: 9px;
      color: #8b90a3;
      margin-bottom: 4px
    }

    .ct-hudrail .ct-ladder {
      margin-top: 0;
      height: 12px
    }

    /* -- full-screen coverage-gap interrupt -- */
    .ct-sheetwrap {
      position: fixed;
      inset: 0;
      z-index: 3200;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      background: rgba(3, 4, 10, .74);
      animation: ctfade .16s ease both
    }

    .ct-sheet {
      background: var(--surface);
      border-top: 2px solid var(--brand);
      border-radius: 24px 24px 0 0;
      padding: 20px 20px calc(20px + env(safe-area-inset-bottom));
      width: 100%;
      max-width: var(--maxw);
      margin: 0 auto;
      animation: ctsheet .24s cubic-bezier(.2, .8, .3, 1) both;
      max-height: 88vh;
      overflow-y: auto
    }

    .ct-sheet.amber {
      border-top-color: #ffb200
    }

    .ct-sheet.bad {
      border-top-color: var(--bad)
    }

    .ct-sheet .grab {
      width: 38px;
      height: 4px;
      border-radius: 2px;
      background: var(--line-2);
      margin: 0 auto 16px
    }

    @keyframes ctsheet {
      from {
        transform: translateY(100%)
      }

      to {
        transform: none
      }
    }

    @keyframes ctfade {
      from {
        opacity: 0
      }

      to {
        opacity: 1
      }
    }

    .ct-gapfull {
      position: fixed;
      inset: 0;
      z-index: 3300;
      background: var(--bg);
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: var(--maxw);
      left: 50%;
      transform: translateX(-50%);
      animation: ctfade .18s ease both
    }

    .ct-hazbar {
      flex: none;
      height: 16px;
      background: repeating-linear-gradient(135deg, #ffb200 0 14px, #0b0d16 14px 28px);
      background-size: 56px 100%;
      animation: cthaz 1.4s linear infinite
    }

    @keyframes cthaz {
      to {
        background-position: 56px 0
      }
    }

    .ct-gapbody {
      flex: 1;
      overflow-y: auto;
      padding: 26px 22px calc(22px + env(safe-area-inset-bottom));
      display: flex;
      flex-direction: column
    }

    .ct-gapbody .big {
      font-size: 34px;
      font-weight: 800;
      letter-spacing: -.035em;
      line-height: 1.05;
      margin-top: 7px
    }

    .ct-mark {
      font-family: var(--mono);
      font-size: 12.5px;
      font-weight: 700;
      color: #ffb200;
      background: rgba(255, 178, 0, .14);
      border: 1px dashed rgba(255, 178, 0, .5);
      border-radius: 9px;
      padding: 7px 11px;
      white-space: nowrap
    }

    .ct-reason {
      width: 100%;
      min-height: 56px;
      padding: 12px 16px;
      border-radius: 14px;
      border: 1px solid var(--line-2);
      background: var(--surface-2);
      color: var(--ink);
      font-family: var(--font);
      font-size: 14.5px;
      font-weight: 700;
      text-align: left;
      cursor: pointer
    }

    /* -- daylight mode - sunlight-legible, toggled from the Cable Track header -- */
    body.ct-day {
      --brand: #7d5f14;
      --brand-press: #5f470c;
      --brand-2: #5f470c;
      --accent: #5f470c;
      --glow: rgba(125, 95, 20, .2);
      --tint: rgba(125, 95, 20, .10);
      --tint-2: rgba(125, 95, 20, .20);
      --ink: #0a0c14;
      --ink-2: #3a4054;
      --ink-3: #5b6175;
      --bg: #e7e3d7;
      --bg-2: #efebe0;
      --surface: #ffffff;
      --surface-2: #f3f0e6;
      --line: rgba(10, 12, 20, .16);
      --line-2: rgba(10, 12, 20, .30);
      --grey: #5b6175;
      --ok: #06603d;
      --ok-t: rgba(6, 96, 61, .13);
      --warn: #7a4d00;
      --warn-t: rgba(122, 77, 0, .13);
      --bad: #a5170f;
      --bad-t: rgba(165, 23, 15, .11);
      --shadow: 0 1px 2px rgba(0, 0, 0, .10), 0 12px 28px -14px rgba(0, 0, 0, .3);
    }

    body.ct-day .appbar {
      background: linear-gradient(180deg, #ffffff, #f3f0e6);
      color: var(--ink);
      border-bottom: 1px solid var(--line)
    }

    body.ct-day .appbar::after {
      opacity: .05
    }

    body.ct-day .ab-avatar {
      background: var(--surface-2);
      color: var(--ink);
      border-color: var(--line-2)
    }

    body.ct-day .tabbar {
      background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(243, 240, 230, .98))
    }

    body.ct-day .btn.primary,
    body.ct-day .cta-capture {
      color: #fff
    }

    body.ct-day .ct-amber {
      color: #9a5300
    }

    body.ct-day .ct-seg {
      background: repeating-linear-gradient(135deg, #9a5300 0 3px, transparent 3px 6px);
      box-shadow: inset 0 0 0 1px rgba(154, 83, 0, .55)
    }

    body.ct-day .ct-pill-a {
      background: rgba(154, 83, 0, .13);
      color: #9a5300
    }

    body.ct-day .ct-cta {
      border-color: rgba(154, 83, 0, .4);
      background: linear-gradient(135deg, rgba(154, 83, 0, .12), rgba(154, 83, 0, .04))
    }

    body.ct-day .ct-big {
      background: linear-gradient(135deg, #b06000, #8a4a00);
      color: #fff;
      box-shadow: 0 10px 24px -14px rgba(154, 83, 0, .7)
    }

    body.ct-day .ct-mark {
      color: #9a5300;
      background: rgba(154, 83, 0, .12);
      border-color: rgba(154, 83, 0, .5)
    }

    body.ct-day .ct-hazbar {
      background: repeating-linear-gradient(135deg, #b06000 0 14px, #1a1206 14px 28px);
      background-size: 56px 100%
    }

    body.ct-day .ct-retic i {
      border-color: #ffb200
    }

    .ct-sunbtn {
      width: 38px;
      height: 38px;
      flex: none;
      border-radius: 11px;
      border: 1px solid rgba(255, 255, 255, .28);
      background: rgba(255, 255, 255, .14);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer
    }

    body.ct-day .ct-sunbtn {
      border-color: var(--line-2);
      background: var(--surface);
      color: var(--brand)
    }

    @media (max-width: 400px) {
      .ct-actionbar {
        flex-direction: column;
      }
      .ct-actionbar button {
        width: 100% !important;
        flex: none !important;
      }
    }
