/* Geonet Leads. Geonet brand kit v1.3 (library/brand/v2/geonet): navy family plus white, Cinnabar once per view for
   status only, radius 0, hairlines, no shadows. Newsreader for headings, Poppins for labels and buttons, Hanken
   Grotesk for text and figures. */
@font-face { font-family:"Newsreader"; font-style:normal; font-weight:200 800; font-display:swap; src:url("/assets/fonts/newsreader-var.woff2") format("woff2"); }
@font-face { font-family:"Newsreader"; font-style:italic; font-weight:200 800; font-display:swap; src:url("/assets/fonts/newsreader-var-italic.woff2") format("woff2"); }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/poppins-regular.woff2") format("woff2"); }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:500; font-display:swap; src:url("/assets/fonts/poppins-medium.woff2") format("woff2"); }
@font-face { font-family:"Hanken Grotesk"; font-style:normal; font-weight:100 900; font-display:swap; src:url("/assets/fonts/hanken-grotesk-var.woff2") format("woff2"); }

:root {
  --ink:#0B0D17; --navy-deep:#001735; --navy:#002147; --white:#FFFFFF;
  --slate:#4C647E; --haze:#8090A3; --fog:#B2BCC8; --rule:#E0E4E9; --navy-8:#EBEDF0; --paper:#F5F6F8;
  --rule-navy:rgba(255,255,255,.16); --red:#C8401C;
  --display:"Newsreader", Georgia, serif; --label:"Poppins", "Helvetica Neue", Arial, sans-serif; --text:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --m:16px;
}
@media (min-width:640px) { :root { --m:32px; } }
@media (min-width:1024px) { :root { --m:48px; } }

* { box-sizing:border-box; border-radius:0; }
html, body { margin:0; background:var(--white); color:var(--navy); }
body { font:300 16px/24px var(--text); -webkit-font-smoothing:antialiased; }
img { display:block; }
a { color:inherit; }
button, input, select, textarea { font:inherit; color:inherit; }
:focus-visible { outline:2px solid var(--navy); outline-offset:3px; }
[hidden] { display:none !important; }

.gn-label { font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; }
.micro { font:400 11px/14px var(--label); letter-spacing:.16em; text-transform:uppercase; color:var(--slate); }
h1, h2, h3 { font-family:var(--display); font-weight:300; letter-spacing:-.005em; margin:0; }
h1 { font-size:36px; line-height:42px; }
h2 { font-size:24px; line-height:30px; font-weight:400; }
h3 { font-size:20px; line-height:26px; font-weight:400; }
h1 em, h2 em { font-style:italic; }
.muted { color:var(--slate); }
.small { font-size:14px; line-height:20px; font-weight:400; }

/* bar */
.bar { background:var(--navy); color:var(--white); display:flex; align-items:center; gap:24px; padding:12px var(--m); flex-wrap:wrap; position:sticky; top:0; z-index:5; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand .gn-label { color:var(--fog); border-left:1px solid var(--rule-navy); padding-left:12px; }
.nav { display:flex; gap:4px; margin-left:auto; flex-wrap:wrap; }
.nav a { font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:var(--fog); padding:10px 12px; border-bottom:1px solid transparent; }
.nav a[aria-current="page"] { color:var(--white); border-bottom-color:var(--white); }
.nav .count { color:var(--white); margin-left:6px; }
@media (max-width:639px) { .nav { margin-left:0; width:100%; overflow-x:auto; flex-wrap:nowrap; } .nav a { padding:8px 10px; } }

.mode { background:var(--paper); border-bottom:1px solid var(--rule); padding:10px var(--m); font-size:14px; line-height:20px; font-weight:400; color:var(--slate); }
.mode b { color:var(--navy); font-weight:500; }

.main { max-width:1280px; margin:0 auto; padding:32px var(--m) 96px; }
.head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.head p { margin:4px 0 0; }

/* buttons */
.btn { display:inline-flex; align-items:center; gap:8px; font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; padding:14px 22px; border:1px solid var(--navy); background:var(--navy); color:var(--white); cursor:pointer; text-decoration:none; white-space:nowrap; }
.btn.line { background:transparent; color:var(--navy); }
.btn.quiet { border-color:var(--rule); background:transparent; color:var(--navy); }
.btn:disabled { opacity:.45; cursor:default; }
.btn svg, .ico svg { width:18px; height:18px; flex:none; }
.ico { display:inline-flex; width:18px; height:18px; }
.row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }

/* cards */
.list { display:grid; gap:16px; }
@media (min-width:1024px) { .list.two { grid-template-columns:1fr 1fr; } }
.card { border:1px solid var(--rule); padding:24px; display:grid; gap:12px; background:var(--white); }
.card.claimed { border-color:var(--navy); }
.card a.name { text-decoration:none; }
.card a.name:hover h2 { text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.why { display:flex; gap:8px; flex-wrap:wrap; }
.chip { font:400 11px/14px var(--label); letter-spacing:.14em; text-transform:uppercase; padding:6px 8px; border:1px solid var(--rule); color:var(--navy); background:var(--paper); }
.chip.solid { background:var(--navy); color:var(--white); border-color:var(--navy); }
.facts { display:grid; gap:4px; font-size:14px; line-height:20px; font-weight:400; color:var(--slate); }
.facts b { color:var(--navy); font-weight:500; }
.summary { margin:0; font-size:15px; line-height:22px; color:var(--navy); border-left:1px solid var(--rule); padding-left:12px; }
.urgent { display:flex; align-items:center; gap:10px; font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; }
.sq { width:6px; height:6px; background:var(--red); display:inline-block; flex:none; }

.empty { border:1px solid var(--rule); background:var(--paper); padding:40px 24px; text-align:center; color:var(--slate); }
.empty h2 { color:var(--navy); margin-bottom:8px; }

/* inputs */
label.f { display:grid; gap:6px; }
label.f > span { font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; color:var(--slate); }
input[type=text], input[type=email], input[type=number], input[type=datetime-local], input[type=search], select, textarea {
  border:1px solid var(--rule); background:transparent; padding:12px 14px; font:300 16px/24px var(--text); width:100%; color:var(--navy); }
textarea { min-height:96px; resize:vertical; }
input:focus, select:focus, textarea:focus { border-color:var(--navy); outline:none; }
.err { display:flex; gap:8px; align-items:center; color:var(--red); font-size:14px; font-weight:400; }
.search { max-width:420px; }

/* record */
.rec-head { display:grid; gap:12px; padding-bottom:24px; border-bottom:1px solid var(--rule); margin-bottom:24px; }
.rec-grid { display:grid; gap:32px; }
@media (min-width:1024px) { .rec-grid { grid-template-columns:minmax(0,5fr) minmax(0,7fr); } }
.panel { display:grid; gap:16px; align-content:start; }
.panel + .panel { border-top:1px solid var(--rule); padding-top:24px; }
@media (min-width:1024px) { .rec-grid > .side { border-right:1px solid var(--rule); padding-right:32px; } }
.contact a { text-decoration:none; }
.tl { list-style:none; margin:0; padding:0; display:grid; }
.tl li { display:grid; grid-template-columns:96px 1fr; gap:16px; padding:14px 0; border-top:1px solid var(--navy-8); }
.tl li:first-child { border-top:0; }
.tl .when { font:400 11px/16px var(--label); letter-spacing:.12em; text-transform:uppercase; color:var(--slate); }
.tl .what { font-weight:400; }
.tl .body { white-space:pre-wrap; font-size:15px; line-height:22px; margin-top:4px; color:var(--navy); }
.tl .by { font-size:13px; color:var(--slate); }
.tl li.open .what::after { content:"  to do"; font:400 10px/14px var(--label); letter-spacing:.14em; text-transform:uppercase; color:var(--slate); }
.tl li.pending { background:var(--paper); padding-left:8px; padding-right:8px; }

/* sheet */
.sheet-back { position:fixed; inset:0; background:rgba(0,23,53,.55); z-index:20; }
.sheet { position:fixed; z-index:21; left:0; right:0; bottom:0; max-height:92vh; overflow:auto; background:var(--white); border-top:1px solid var(--navy); padding:24px var(--m) 32px; display:grid; gap:16px; align-content:start; }
@media (min-width:1024px) { .sheet { left:auto; top:0; bottom:0; width:520px; max-height:none; border-top:0; border-left:1px solid var(--navy); } }
.sheet .top { display:flex; justify-content:space-between; align-items:center; }
.opts { display:flex; gap:8px; flex-wrap:wrap; }
.opt { font:400 12px/16px var(--label); letter-spacing:.14em; text-transform:uppercase; padding:12px 14px; border:1px solid var(--rule); background:transparent; cursor:pointer; color:var(--navy); }
.opt[aria-pressed="true"] { background:var(--navy); color:var(--white); border-color:var(--navy); }
.x { background:none; border:0; cursor:pointer; padding:8px; color:var(--navy); }
.x svg { width:24px; height:24px; }

/* stats */
.figs { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); border-top:1px solid var(--rule); border-left:1px solid var(--rule); }
.fig { border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:24px; display:grid; gap:8px; align-content:start; }
.fig .n { font:200 64px/64px var(--text); font-variant-numeric:tabular-nums lining-nums; }
.fig .n small { font-size:20px; font-weight:300; }
table.t { border-collapse:collapse; width:100%; font-size:14px; line-height:20px; font-weight:400; }
table.t th { font:400 11px/14px var(--label); letter-spacing:.14em; text-transform:uppercase; color:var(--slate); text-align:left; padding:10px 8px; border-bottom:1px solid var(--rule); }
table.t td { padding:10px 8px; border-bottom:1px solid var(--navy-8); font-variant-numeric:tabular-nums; }

/* sign in */
.signin { min-height:100vh; display:grid; place-items:center; background:var(--navy); color:var(--white); padding:var(--m); background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size:64px 64px; }
.signin .box { width:100%; max-width:440px; background:var(--navy-deep); border:1px solid var(--rule-navy); padding:40px 32px; display:grid; gap:24px; }
.signin h1 { color:var(--white); }
.signin p { color:var(--fog); margin:0; }
.signin input { border-color:var(--rule-navy); color:var(--white); }
.signin input:focus { border-color:var(--white); }
.signin .btn { background:var(--white); color:var(--navy); border-color:var(--white); justify-content:center; }
.signin label.f > span { color:var(--fog); }
.signin a { color:var(--white); }

.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); background:var(--navy); color:var(--white); padding:12px 18px; z-index:30; font-size:14px; font-weight:400; max-width:90vw; }
.dialer { position:fixed; right:16px; bottom:16px; width:340px; height:560px; z-index:25; border:1px solid var(--navy); background:var(--white); }
.code { font:400 13px/20px ui-monospace, Menlo, monospace; background:var(--paper); border:1px solid var(--rule); padding:12px; white-space:pre-wrap; word-break:break-all; }

.more { background:none; border:0; padding:0; font:400 11px/14px var(--label); letter-spacing:.14em; text-transform:uppercase; color:var(--navy); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }

/* 20 Oct 2026 redesign pass */
.card-top { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.temp { font:400 11px/14px var(--label); letter-spacing:.14em; text-transform:uppercase; padding:4px 8px; border:1px solid var(--navy); white-space:nowrap; }
.temp-hot { background:var(--navy); color:var(--white); }
.temp-cold { border-color:var(--rule); color:var(--slate); }
.attempts { display:flex; align-items:center; gap:10px; font-size:13px; line-height:18px; font-weight:400; color:var(--slate); }
.attempts .dots { display:inline-flex; gap:3px; }
.attempts .dots i { width:10px; height:10px; border:1px solid var(--navy); display:inline-block; }
.attempts .dots i.on { background:var(--navy); }
.attempts.spoke .dots { display:none; }
.expires { display:flex; align-items:center; gap:8px; font-size:13px; line-height:18px; font-weight:400; color:var(--slate); }
.expires b { color:var(--navy); font-weight:500; font-variant-numeric:tabular-nums; }
.group + .group { margin-top:40px; }
.gh { font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; color:var(--navy); margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid var(--rule); }
.gh .muted { margin-left:6px; }
.tools { display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; }
.sortby { display:grid; gap:4px; }
.sortby select { min-width:220px; }
.filters { margin-bottom:24px; }
.filters .opt { padding:8px 12px; }
.linkbtn { background:none; border:0; padding:6px 0; margin-right:16px; font:400 12px/16px var(--label); letter-spacing:.14em; text-transform:uppercase; color:var(--slate); cursor:pointer; text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--rule); }
.linkbtn:hover { color:var(--navy); text-decoration-color:var(--navy); }
.quietrow { margin-top:4px; }
.glance { border:1px solid var(--rule); padding:20px; background:var(--paper); }
.back { text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.dg { border-top:1px solid var(--navy-8); padding:10px 0; }
.dg summary { cursor:pointer; font:400 12px/16px var(--label); letter-spacing:.14em; text-transform:uppercase; list-style:none; }
.dg summary::-webkit-details-marker { display:none; }
.dg summary::before { content:"+ "; }
.dg[open] summary::before { content:"− "; }
.dg dl { display:grid; grid-template-columns:minmax(120px, 42%) 1fr; gap:6px 12px; margin:12px 0 0; font-size:14px; line-height:20px; }
.dg dt { color:var(--slate); font-weight:400; }
.dg dd { margin:0; color:var(--navy); font-weight:400; word-break:break-word; }
.warn { display:flex; gap:10px; align-items:flex-start; border:1px solid var(--red); padding:12px 14px; font-size:14px; line-height:20px; font-weight:400; }
.warn .sq { margin-top:7px; }
.cmp { font-size:13px; line-height:18px; font-weight:400; color:var(--slate); }
.cmp.good { color:var(--navy); }
.figs { grid-template-columns:repeat(3, 1fr); }
@media (max-width:1023px) { .figs { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:639px) { .figs { grid-template-columns:1fr; } }

/* Calls (booking pages), 21 Oct 2026 */
.biglink { display:flex; gap:12px; align-items:center; flex-wrap:wrap; border:1px solid var(--navy); padding:12px 14px; margin:8px 0; }
.biglink a { font:400 16px/22px var(--text); word-break:break-all; flex:1; }
.pages { list-style:none; margin:0; padding:0; display:grid; }
.pg { display:grid; gap:10px; padding:14px 0; border-top:1px solid var(--navy-8); }
.pg:first-child { border-top:0; }
.pg.off { opacity:.6; }
.card.dim { background:var(--paper); }
.hours { display:grid; gap:32px; max-width:760px; }
.week { display:grid; }
.dayrow { display:grid; grid-template-columns:150px 1fr auto; gap:12px; align-items:start; padding:12px 0; border-top:1px solid var(--navy-8); }
.dayrow:first-child { border-top:0; }
@media (max-width:639px) { .dayrow { grid-template-columns:1fr; } }
.ranges { display:grid; gap:8px; justify-items:start; }
.range { display:flex; gap:8px; align-items:center; }
.range input[type=time] { border:1px solid var(--rule); padding:8px 10px; font:400 15px/20px var(--text); color:var(--navy); background:transparent; }
.range .x svg, .q .x svg { width:18px; height:18px; }
.chk { display:flex; gap:10px; align-items:center; font-weight:400; cursor:pointer; }
.chk input { width:18px; height:18px; accent-color:var(--navy); }
input[type=date] { border:1px solid var(--rule); background:transparent; padding:11px 12px; font:300 16px/24px var(--text); color:var(--navy); }
.ov { grid-template-columns:150px 1fr auto; }
.grid2 { display:grid; gap:16px; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); }
.q { display:grid; gap:8px; padding:14px 0; border-top:1px solid var(--navy-8); }
.q input[name=ql] { flex:1; }
.q select { max-width:180px; }
.hostpick { display:grid; gap:8px; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); border:1px solid var(--rule); padding:14px; max-height:280px; overflow:auto; }
a.opt { text-decoration:none; display:inline-block; }
div.f { display:grid; gap:6px; }
div.f > span { font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; color:var(--slate); }
/* Partner demo sign-in (LP_DEMO): one button per made-up account */
.demo-accounts { display:grid; gap:8px; border-top:1px solid var(--rule-navy); padding-top:16px; }
.demo-accounts .btn.line { color:var(--white); background:transparent; border-color:rgba(255,255,255,.45); justify-content:flex-start; text-align:left; }
.demo-accounts .btn.line:hover { background:rgba(255,255,255,.08); }

/* The Claude page: numbered setup steps */
.steps { padding-left:20px; margin:8px 0; }
.steps li { margin:6px 0; }
details summary { cursor:pointer; }

/* reps' tools (reptools.js): wide sheet for email, the message editor, tick boxes, sub-heads on Connections */
@media (min-width:1024px) { .sheet.wide { width:760px; } }
input[type=tel], input:not([type]) { border:1px solid var(--rule); background:transparent; padding:12px 14px; font:300 16px/24px var(--text); width:100%; color:var(--navy); box-sizing:border-box; }
input[readonly] { background:var(--paper); color:var(--slate); }
.mailedit { width:100%; min-height:380px; border:1px solid var(--rule); background:var(--white); box-sizing:border-box; }
label.check { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:20px; font-weight:400; cursor:pointer; }
label.check input { margin-top:3px; accent-color:var(--navy); }
.panel h4 { font:400 12px/16px var(--label); letter-spacing:.16em; text-transform:uppercase; color:var(--slate); margin:24px 0 8px; }
.rec-grid > div > .panel + .panel { margin-top:24px; }
[data-zoom] { display:grid; gap:12px; }
[data-zoom][hidden] { display:none; }
