@font-face{font-family:'Archivo';src:url('fonts/archivo.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
h1,h2,.brand,.wordmark,.hero-title{font-family:'Archivo','Inter',system-ui,sans-serif;letter-spacing:-.01em}
/* Tools Shelf v1.2 — premium dark shelf. Static page, no JS. */

* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --ink: #eef2f7;
  --ink-dim: #9fb0c3;
  --card: rgba(255, 255, 255, 0.07);
  --card-border: rgba(255, 255, 255, 0.14);
  --gold: #f5b83d;
  /* Device top inset, read once (v2.4). The hero consumes it via var(--sat);
     tests override --sat to simulate different devices. */
  --sat: env(safe-area-inset-top, 0px);
}

html { -webkit-text-size-adjust: 100%; }

body {
  background: #060d1f;
  background-image:
    radial-gradient(1100px 500px at 85% -10%, rgba(245, 184, 61, 0.14), transparent 60%),
    radial-gradient(900px 600px at -10% 30%, rgba(59, 130, 246, 0.08), transparent 55%),
    linear-gradient(180deg, #081226 0%, #060d1f 55%, #050a18 100%);
  color: var(--ink);
  min-height: 100vh;
  padding: 0 18px 34px; /* v2.4: top gap lives ONLY in .hero padding-top now */
}

/* ---------- Top bar (v2.50: ONE row — weather chip left, account right) ---------- */

.top-row {
  max-width: 680px;
  /* v2.119 TOP BREATHING ROOM (Steven phone screenshot, 2026-10-27: "Top a
     little cut off"): the old 6px base gap left the pills flush against the
     top edge of the screen — measured 6px from viewport top to the pill
     border at 390px and 360px. Base gap 6px -> 16px; the device safe-area
     inset (var(--sat), capped 59px) still stacks on top of it. */
  margin: calc(16px + min(var(--sat), 59px)) auto 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.top-side { flex: 1; display: flex; }
.top-left { justify-content: flex-start; }

/* The account chip mount is the top bar's right cell: it balances the
   left cell (flex:1) and its contents hug the right edge. */
.top-acct { flex: 1; min-width: 0; }

.wx-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #0d2148;
  border: 1px solid rgba(245, 184, 61, 0.55);
  color: var(--ink);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
  padding: 9px 12px;
  min-height: 38px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.wx-chip[hidden] { display: none; }

.wx-picker {
  max-width: 680px;
  margin: 8px auto 0;
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: 12px;
  padding: 10px 12px;
}

.wx-picker[hidden] { display: none; }

.wxp-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.wxp-title { font-size: 13px; font-weight: 700; color: var(--ink); }
.wxp-close { background: none; border: none; color: var(--ink-dim); font-size: 14px; cursor: pointer; padding: 2px 6px; }
.wxp-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.wxp-input { font: inherit; font-size: 14px; padding: 7px 10px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.25); background: #fff; color: #0b1220; min-width: 150px; }
.wxp-btn { font: inherit; font-size: 13.5px; font-weight: 700; background: var(--gold); color: #0b1220; border: none; border-radius: 8px; padding: 8px 12px; cursor: pointer; }
.wxp-msg { font-size: 13px; color: var(--ink-dim); margin-top: 8px; }
.wxp-msg:empty { margin-top: 0; }
.wxp-picks { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.wxp-pick { font: inherit; font-size: 13px; background: #fff; color: #0b1220; border: none; border-radius: 999px; padding: 6px 12px; cursor: pointer; font-weight: 600; }

/* ---------- Hero ---------- */

.hero {
  max-width: 680px;
  margin: 0 auto 6px;
  /* v2.4 TOP GAP FIX: one single gap = small fixed base + the device inset,
     counted ONCE (capped at 59px so an over-reporting webview can't blow it
     open). v2.3 stacked env() on body's 40px padding + hero's 10px margin,
     which ballooned to a ~150px blank hole above the logo.
     v2.41: base trimmed 24px → 10px — the merged top line + account row
     now sit above the hero and carry their own small margins. */
  padding-top: 4px;
  text-align: center;
}

/* v2.41: logo + eyebrow on ONE compact row */
.hero-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-bottom: 5px;
}

.hero-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.hero-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}

/* v2.52 TOP REDO: brand stack — tile + AGENTOS on one line, the eyebrow
   sentence on its own single line beneath the wordmark (nowrap: the old
   combined eyebrow wrapped to two lines at phone width). */
.hero-brand-text { text-align: left; }

.hero-name {
  font-family: 'Archivo', 'Inter', system-ui, sans-serif;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.1;
  color: var(--ink);
}

.hero-brand .hero-eyebrow {
  font-size: 10.5px;
  letter-spacing: 0.14em;
  white-space: nowrap;
  margin-top: 3px;
}

/* v2.52 TOP REDO: the merged count line lives under the H1 now —
   it absorbed the old standalone .top-line above the hero. */
.hero-sub {
  margin-top: 6px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  color: var(--gold);
}

.hero h1 {
  font-size: clamp(30px, 7.6vw, 44px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* ---------- Shelf ---------- */

.shelf {
  max-width: 680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 620px) {
  .shelf { grid-template-columns: 1fr 1fr; }
  .tool { align-items: flex-start; }
  .tool-tile { margin-top: 2px; }
  .tool-feature { grid-column: 1 / -1; }
}

.section-title {
  grid-column: 1 / -1;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 6px 2px 0;
}

.section-title:first-child { margin-top: 0; }

.tool {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: 18px;
  padding: 16px;
  backdrop-filter: blur(6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) {
  .tool:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.10);
    border-color: var(--accent);
  }
}

.tool:active { transform: scale(0.99); }

.tool-tile {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0b1220;
  background: linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 78%, #000));
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

.tool-body { flex: 1 1 auto; min-width: 0; }

.tool-name {
  display: block;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.tool-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #0b1220;
  background: var(--gold);
  margin-left: 6px;
  vertical-align: 3px;
  display: inline-block;
  white-space: nowrap;
  padding: 1px 8px;
  border-radius: 999px;
}

.tool-desc {
  display: block;
  font-size: 13.5px;
  color: var(--ink-dim);
  margin-top: 2px;
  line-height: 1.45;
}

.tool-arrow {
  flex: 0 0 auto;
  font-size: 19px;
  color: var(--ink-dim);
  transition: transform 0.15s ease, color 0.15s ease;
}

.tool:hover .tool-arrow { transform: translateX(3px); color: var(--ink); }

.tool.homeowner {
  border-style: dashed;
  border-color: rgba(14, 165, 233, 0.45);
  background: rgba(14, 165, 233, 0.06);
}

/* ---------- Manual refresh (v2.76, MockHQ v1.6+ pattern) ---------- */

.refreshbar {
  max-width: 680px;
  margin: 0 auto 6px;
  text-align: center;
}

.refreshbtn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: var(--ink-dim);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 8px;
  font-size: 12px;
  cursor: pointer;
}

.refreshbtn:hover { border-color: var(--gold); color: var(--gold); }

/* ---------- Home tabs (v2.94: Apps / HomeHunt) ---------- */
.home-tabs{max-width:680px;margin:0 auto 8px;display:flex;gap:8px}
.home-tab{flex:1;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:12px;background:var(--card);border:1px solid var(--card-border);color:var(--ink);font-weight:700;font-size:14.5px;text-decoration:none}
.home-tab.is-active{background:var(--gold);border-color:var(--gold);color:#131313}
.home-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.foot-refresh { margin-bottom: 8px; }

/* ---------- Footer ---------- */

.site-footer {
  max-width: 680px;
  margin: 34px auto 0;
  text-align: center;
}

.foot-tag {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 8px;
}

.foot-site {
  font-size: 13.5px;
  color: var(--ink-dim);
  margin-bottom: 10px;
}

.foot-site a {
  color: var(--gold);
  font-weight: 700;
  text-decoration: none;
}

.foot-site a:hover { text-decoration: underline; }

.foot-ver {
  font-size: 12px;
  color: var(--ink-dim);
  letter-spacing: 0.04em;
}

/* v2.50: the feedback opener lives in the footer, above the version
   stamp. Its panel opens UPWARD (the snippet's default drops it below
   the link, which would run off the bottom of the page here). */
.foot-fb {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}

.foot-fb .ao-fb-panel {
  top: auto;
  bottom: calc(100% + 6px);
  right: auto;
  left: 50%;
  transform: translateX(-50%);
  text-align: left;
}

/* ---------- Realtor news strip (v2.47) ---------- */

.news-strip {
  grid-column: 1 / -1;
  max-width: 680px;
  margin: 0 auto 2px;
  padding: 0 2px;
}

.news-strip[hidden] { display: none; }

.news-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}

.news-asof {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--ink-dim);
}

.news-list { list-style: none; margin-top: 6px; }

.news-list li { padding: 4px 0; line-height: 1.35; }

.news-list a {
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.news-list a:hover, .news-list a:active { text-decoration: underline; }

.news-src {
  color: var(--ink-dim);
  font-size: 12px;
  font-weight: 600;
  margin-left: 7px;
  white-space: nowrap;
}

/* ---------- v2.59 looks pass: territory stack + focus + desktop ---------- */

.hub-join {
  grid-column: 1 / -1;
  display: block;
  text-align: center;
  padding: 11px 14px;
  border: 1.5px solid var(--gold);
  border-radius: 18px;
  color: var(--gold);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  background: rgba(245, 184, 61, 0.08);
}

.hub-members {
  grid-column: 1 / -1;
  text-align: center;
  font-size: 12.5px;
  color: var(--ink-dim);
}

.hub-contact {
  grid-column: 1 / -1;
  text-align: center;
  font-size: 12.5px;
  color: var(--ink-dim);
  margin-top: 4px;
}

.hub-contact a, .foot-contact a {
  color: var(--gold);
  text-decoration: none;
}

.hub-contact a:hover, .foot-contact a:hover { text-decoration: underline; }

.foot-contact {
  font-size: 12.5px;
  color: var(--ink-dim);
  margin-bottom: 10px;
}

.tool-tile--light { color: #fff; }
.tool-tile--ads { background: linear-gradient(145deg, #4aa3ff, #1877f2 55%, #0b4db3); }

.tool:focus-visible, .wx-chip:focus-visible, .hub-join:focus-visible,
.foot-site a:focus-visible, .news-list a:focus-visible,
.hub-contact a:focus-visible, .foot-contact a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

@media (min-width: 1024px) {
  .top-row, .wx-picker, .hero, .shelf, .site-footer, .news-strip, .home-tabs { max-width: 940px; }
  body .ao-jp-wide { max-width: 940px; }
  .hero h1 { font-size: 56px; }
  .hero-icon { width: 40px; height: 40px; border-radius: 12px; }
  .hero-name { font-size: 19px; }
  .tool { padding: 20px; gap: 16px; }
  .tool-tile { width: 56px; height: 56px; font-size: 18px; border-radius: 16px; }
  .tool-name { font-size: 18.5px; }
  .tool-desc { font-size: 14.5px; }
  .site-footer { border-top: 1px solid var(--card-border); padding-top: 24px; }
}

/* ---------- v2.86: Make it yours / Calculator / Calendar ---------- */
.make-yours-btn{display:block;margin:8px auto 0;min-height:44px;padding:10px 22px;border-radius:999px;border:1.5px solid var(--gold);background:rgba(245,184,61,.10);color:var(--gold);font:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.make-yours-hint{margin:8px auto 0;max-width:360px;text-align:center;font-size:13px;line-height:1.45;color:var(--ink-dim)}
.custom-head{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.custom-head[hidden]{display:none}
.custom-head-img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.custom-head-text{display:flex;flex-direction:column;text-align:left;min-width:0}
.custom-head-name{font-size:16px;font-weight:800;color:var(--ink);line-height:1.2;overflow-wrap:anywhere}
.custom-head-broker{font-size:12.5px;font-weight:600;color:var(--ink-dim);line-height:1.25;overflow-wrap:anywhere}
.favs-row{grid-column:1/-1}
.favs-list{display:grid;grid-template-columns:1fr;gap:12px;margin-top:2px}
@media (min-width:620px){.favs-list{grid-template-columns:1fr 1fr}}
.fav-badge{display:inline-block;margin-top:5px;font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--gold)}
.shelf-view{max-width:680px;margin:0 auto;background:var(--card);border:1px solid var(--card-border);border-radius:18px;padding:18px 16px 20px}
.shelf-view[hidden]{display:none}
.view-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.view-title{flex:1;font-size:20px;font-weight:800;text-align:center}
.view-back,.view-x{min-height:44px;border-radius:10px;border:1px solid var(--card-border);background:transparent;color:var(--ink);font:inherit;font-size:13.5px;font-weight:700;padding:8px 12px;cursor:pointer}
.view-x{width:44px;flex:0 0 44px;font-size:16px;color:var(--gold)}
.view-note{font-size:13px;color:var(--ink-dim);line-height:1.5;margin:10px 0}
.fld{display:block;margin:14px 0}
.fld>span{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px}
.fld input[type="text"],.fld input[type="number"],.fld input[type="date"],.fld input[type="time"]{width:100%;min-height:44px;font:inherit;font-size:15px;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#fff;color:#0b1220}
.photo-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.photo-preview{width:56px;height:56px;border-radius:12px;object-fit:cover;border:1px solid var(--card-border)}
.btn-file{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:10px;background:var(--gold);color:#0b1220;font-size:14px;font-weight:800;cursor:pointer}
.btn-quiet{min-height:44px;padding:9px 14px;border-radius:10px;border:1px solid var(--card-border);background:transparent;color:var(--ink);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.btn-gold{display:block;width:100%;min-height:44px;padding:10px 16px;border:none;border-radius:10px;background:var(--gold);color:#0b1220;font:inherit;font-size:15px;font-weight:800;cursor:pointer;margin-top:6px}
.btn-danger{min-height:44px;padding:9px 14px;border-radius:10px;border:1px solid #f87171;background:transparent;color:#f87171;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.btn-reset{display:block;width:100%;min-height:44px;padding:10px 16px;border-radius:10px;border:1.5px solid #f87171;background:transparent;color:#f87171;font:inherit;font-size:14.5px;font-weight:800;cursor:pointer;margin-top:18px}
.btn-reset.armed{background:#f87171;color:#0b1220}
.swatches{display:flex;gap:10px;flex-wrap:wrap}
.swatch{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:3px solid transparent;cursor:pointer;padding:0}
.swatch-on{border-color:#fff;box-shadow:0 0 0 2px var(--gold)}
.custom-tool-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.ctr-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}
.ctr-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:10px;border:1px solid var(--card-border);background:transparent;color:var(--ink);font-size:17px;cursor:pointer;padding:0}
.ctr-btn:disabled{opacity:.35;cursor:default}
.ctr-star{color:var(--ink-dim)}
.ctr-star.on{color:var(--gold);border-color:var(--gold)}
.ctr-remove{width:auto;min-width:64px;padding:0 12px;font-size:13.5px;font-weight:700;color:#f87171;border-color:rgba(248,113,113,.5)}
.ctr-addback{width:auto;min-width:76px;padding:0 12px;font-size:13.5px;font-weight:700;color:var(--gold);border-color:var(--gold)}
.custom-tool-row.removed-row .ctr-name{color:var(--ink-dim)}
.calc-card{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:14px;margin:14px 0;background:rgba(255,255,255,.03)}
.calc-card h3{font-size:16.5px;font-weight:800;margin-bottom:4px}
.calc-result{font-size:15.5px;font-weight:800;color:var(--gold);line-height:1.45;margin-top:12px}
.calc-result:empty{margin-top:0}
.calc-sub{font-size:13px;color:var(--ink-dim);line-height:1.5;margin-top:5px}
.fld select{width:100%;min-height:44px;font:inherit;font-size:15px;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#fff;color:#0b1220}
.cmp-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}
.cmp-table th,.cmp-table td{padding:7px 6px;border-bottom:1px solid rgba(255,255,255,.08);text-align:right;vertical-align:top}
.cmp-table th:first-child,.cmp-table td:first-child{text-align:left}
.cmp-net{color:var(--gold);font-weight:800;white-space:nowrap}
.cmp-flags{font-size:12px;color:var(--ink-dim);font-weight:600;line-height:1.4}
.offer-box{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:2px 12px 12px;margin:12px 0;background:rgba(255,255,255,.02)}
.chk-row{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:10px 0}
.chk-row label{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700}
.chk-row input[type="checkbox"]{width:20px;height:20px;flex:0 0 20px}
.chk-cap{font-size:13px;font-weight:700}
.cal-bar{display:flex;align-items:center;gap:8px;margin:6px 0 10px}
.cal-month{flex:1;text-align:center;font-size:17px;font-weight:800}
.cal-nav{width:44px;min-width:44px;font-size:22px;padding:4px 0}
.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-week span{text-align:center;font-size:11.5px;font-weight:800;color:var(--ink-dim);padding:4px 0}
.cal-day{position:relative;min-height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--ink);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px 0}
.cal-blank{border:none;background:transparent;cursor:default}
.cal-today{border-color:var(--gold);background:rgba(245,184,61,.12)}
.cal-today-tag{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.cal-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.cal-today-line{font-size:13px;color:var(--ink-dim);margin:10px 0 2px}
.cal-sub{font-size:14px;font-weight:800;color:var(--gold);letter-spacing:.04em;margin:16px 0 8px}
.cal-event{display:block;width:100%;text-align:left;margin:0 0 8px;padding:11px 12px;min-height:44px;border-radius:12px;border:1px solid var(--card-border);background:rgba(255,255,255,.04);color:var(--ink);font:inherit;cursor:pointer}
.cal-ev-when{display:block;font-size:12.5px;font-weight:800;color:var(--ink-dim)}
.cal-badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--gold);color:#0b1220;border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:2px}
.cal-ev-title{display:block;font-size:15px;font-weight:700;margin-top:2px}
.cal-ev-note{display:block;font-size:13px;color:var(--ink-dim);margin-top:1px}
.cal-none,.cal-empty{font-size:13.5px;color:var(--ink-dim);line-height:1.5}
.cal-form{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:14px;margin-top:16px;background:rgba(255,255,255,.03)}
.cal-form h3{font-size:16px;font-weight:800}
.cal-form-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cal-form-btns .btn-gold{flex:1;width:auto}
.cal-shared-item{font-size:13.5px;color:var(--ink);padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.make-yours-btn:focus-visible,.view-back:focus-visible,.view-x:focus-visible,.ctr-btn:focus-visible,.swatch:focus-visible,.cal-day:focus-visible,.cal-event:focus-visible,.btn-gold:focus-visible,.btn-quiet:focus-visible,.btn-reset:focus-visible,.btn-file:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (min-width:1024px){.shelf-view{max-width:940px}}


/* ---------- v2.121: CUSTOMIZE SPOTLIGHT (Steven, 2026-10-27: "make customize
   list easier to see — it's a big deal"). Visibility only: hero button + helper
   become one gold spotlight block (solid-fill button, full-contrast helper at
   a phone-readable size); panel rows become clear separated cards with bigger
   names and taller controls that carry word captions under the glyphs.
   Customize mechanics, agentosCustomV1 store and saved layouts untouched. */
.make-yours-block{max-width:600px;margin:16px auto 0;padding:18px 18px 16px;border:1.5px solid var(--gold);border-radius:20px;background:rgba(245,184,61,.08);background:color-mix(in srgb,var(--gold) 10%,transparent);text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.make-yours-btn{display:block;width:100%;margin:0;min-height:56px;padding:14px 24px;border:none;border-radius:999px;background:var(--gold);color:#0b1220;font-size:18px;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.make-yours-hint{margin:12px auto 0;max-width:520px;font-size:15.5px;font-weight:600;line-height:1.55;color:var(--ink)}
.custom-tool-row{gap:10px;padding:12px 10px;margin-bottom:8px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.04);flex-wrap:wrap}
.ctr-name{flex:1 1 100%;font-size:16px;font-weight:700;line-height:1.35}
.custom-tool-row.removed-row .ctr-name{color:var(--ink)}
.ctr-btn{height:54px;min-height:54px;min-width:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px}
.ctr-glyph{font-size:19px;line-height:1}
.ctr-cap{font-size:10.5px;font-weight:800;letter-spacing:.05em;line-height:1}
.ctr-remove,.ctr-addback{height:54px;min-height:54px;min-width:78px;font-size:14.5px}

/* Seller net sheet + calculator tabs (v2.141) */
.calc-tabs{display:flex;gap:6px;margin:12px 0 2px}
.calc-tab{flex:1;min-height:44px;padding:9px 4px;border-radius:10px;border:1px solid var(--card-border);background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.calc-tab.active{background:var(--gold);color:#0b1220;border-color:var(--gold)}
.ns-net{font-size:19px}
.ns-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ns-actions .btn-gold{flex:1;width:auto;margin-top:0}
.ns-actions .btn-quiet{flex:0 0 auto}
#nsOtherList .ns-other{margin:10px 0}
#nsPrintSheet{display:none}
@media print{
  html,body{background:#fff!important}
  body>*{display:none!important}
  #nsPrintSheet{display:block!important;color:#000;background:#fff;padding:4px;font-size:14px;line-height:1.5}
  #nsPrintSheet h1{font-size:22px;margin:0 0 10px;color:#000}
  #nsPrintSheet p{margin:3px 0;color:#000}
  #nsPrintSheet table{width:100%;border-collapse:collapse;margin:14px 0}
  #nsPrintSheet td{padding:6px 4px;border-bottom:1px solid #bbb;text-align:right;color:#000}
  #nsPrintSheet td:first-child{text-align:left}
  #nsPrintSheet .ns-total td{font-weight:800;font-size:17px;border-top:2px solid #000;border-bottom:none}
  #nsPrintSheet .ns-fine{font-size:12px;color:#333;margin-top:16px}
  @page{margin:16mm}
}
