:root {
  --ink: #102b2e;
  --ink-2: #183e40;
  --cream: #f5f2e9;
  --paper: #fffdf7;
  --line: #d9ded7;
  --muted: #687a78;
  --mint: #c9f36b;
  --mint-deep: #507613;
  --coral: #ff7f62;
  --red: #c94736;
  --blue: #4a81ed;
  --shadow: 0 18px 50px rgba(16, 43, 46, .10);
  --radius: 22px;
  --safe: max(18px, env(safe-area-inset-left));
  color-scheme: light;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--cream); color: var(--ink); line-height: 1.5; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.skip-link { position: fixed; left: 12px; top: -80px; padding: 10px 14px; background: white; z-index: 100; }
.skip-link:focus { top: 12px; }
.demo-ribbon { padding: 5px 16px; background: var(--mint); color: var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-align: center; text-transform: uppercase; }
.site-header { min-height: 72px; padding: 14px max(24px, calc((100vw - 1240px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid rgba(16,43,46,.11); background: rgba(245,242,233,.94); backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-weight: 850; font-size: 19px; letter-spacing: -.04em; }
.brand-mark { width: 31px; height: 31px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; padding: 6px; background: var(--ink); border-radius: 9px; transform: rotate(-3deg); }
.brand-mark i { display: block; background: var(--mint); border-radius: 2px; }
.brand-mark i:nth-child(1) { height: 45%; }.brand-mark i:nth-child(2) { height: 72%; }.brand-mark i:nth-child(3) { height: 100%; }
.site-header nav { display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 700; }
.site-header nav a, .header-link, .nav-button { text-decoration: none; border: 0; background: transparent; color: var(--ink); cursor: pointer; font-weight: 750; }
.inline-form { display: inline; margin: 0; }
.nav-button { color: var(--muted); padding: 0; }
main { min-height: calc(100vh - 150px); }
.site-footer { max-width: 1240px; margin: 0 auto; padding: 34px 24px 42px; border-top: 1px solid rgba(16,43,46,.12); display: flex; justify-content: space-between; align-items: flex-start; gap: 28px; color: var(--muted); font-size: 12px; font-weight: 650; }
.footer-identity { display: grid; gap: 4px; }.footer-identity strong { color: var(--ink); font-size: 15px; letter-spacing: -.02em; }.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 20px; }.footer-links a { text-underline-offset: 4px; }
.shell, .workspace-shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.workspace-shell { padding: 54px 0 80px; }.workspace-shell.narrow { max-width: 920px; }
.eyebrow { color: var(--mint-deep); font-size: 12px; line-height: 1.2; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(42px, 7vw, 86px); line-height: .98; letter-spacing: -.065em; }
h2 { font-size: 23px; line-height: 1.1; letter-spacing: -.035em; }
.lead { font-size: 20px; color: var(--muted); }
.quiet, .form-note, .privacy-note, .expires { color: var(--muted); font-size: 13px; }
.card { background: var(--paper); border: 1px solid rgba(16,43,46,.11); border-radius: var(--radius); box-shadow: var(--shadow); }
.button { min-height: 48px; padding: 12px 20px; display: inline-flex; justify-content: center; align-items: center; gap: 8px; border: 1px solid transparent; border-radius: 13px; text-decoration: none; font-weight: 850; letter-spacing: -.01em; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.button:hover { transform: translateY(-1px); }.button:active { transform: translateY(0); }
.button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible, .text-button:focus-visible { outline: 3px solid rgba(74,129,237,.52); outline-offset: 3px; }
.button.primary { background: var(--ink); color: white; box-shadow: 0 8px 24px rgba(16,43,46,.22); }
.button.primary:hover { background: var(--ink-2); }
.button.secondary { border-color: var(--line); background: transparent; color: var(--ink); }
.button.accent { background: var(--mint); color: var(--ink); }
.button.full { width: 100%; }.button.large { min-height: 58px; font-size: 17px; }.button.compact { min-height: 38px; padding: 8px 14px; font-size: 13px; }
.danger-button { color: white; background: var(--red); }.quiet-button { border-color: rgba(255,255,255,.4); background: rgba(0,0,0,.4); color: white; }
.text-button { padding: 4px 0; border: 0; background: transparent; color: var(--ink); font-weight: 800; text-decoration: underline; text-decoration-color: rgba(16,43,46,.3); text-underline-offset: 4px; cursor: pointer; }
.flash-stack { position: fixed; z-index: 20; top: 96px; left: 50%; transform: translateX(-50%); width: min(620px, calc(100% - 36px)); }
.flash { padding: 13px 18px; border-radius: 12px; background: white; box-shadow: var(--shadow); font-weight: 750; }.flash.success { border-left: 5px solid var(--mint-deep); }.flash.error { border-left: 5px solid var(--red); }

/* Marketing site */
.landing-page { background: var(--paper); color: var(--ink); }.landing-page .site-header { position: sticky; top: 0; z-index: 30; }.marketing-nav .nav-sign-in { padding: 10px 15px; border: 1px solid rgba(16,43,46,.28); border-radius: 999px; }
.marketing-hero { min-height: 720px; padding: 86px 0 92px; display: grid; grid-template-columns: minmax(0, .93fr) minmax(500px, 1.07fr); gap: 76px; align-items: center; }
.hero-copy-block h1 { max-width: 690px; margin: 18px 0 27px; font-size: clamp(56px, 6.4vw, 92px); line-height: .93; letter-spacing: -.075em; }.hero-copy { max-width: 670px; color: #526563; font-size: clamp(19px, 1.9vw, 24px); line-height: 1.52; letter-spacing: -.025em; }
.hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 24px; }.text-cta { font-size: 15px; font-weight: 850; text-decoration: none; border-bottom: 1px solid rgba(16,43,46,.4); }.text-cta span { color: var(--mint-deep); }
.hero-standards { margin: 34px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; list-style: none; color: var(--muted); font-size: 12px; font-weight: 800; }.hero-standards li::before { content: ""; width: 7px; height: 7px; margin-right: 9px; display: inline-block; border-radius: 50%; background: var(--mint-deep); }
.product-stage { position: relative; min-height: 570px; border-radius: 32px; background: #e7e4d8; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(16,43,46,.08); }.product-stage::before { content: ""; position: absolute; inset: 0; background: linear-gradient(125deg, transparent 55%, rgba(255,255,255,.52)); }.product-stage::after { content: ""; position: absolute; left: 5%; right: 5%; bottom: 9%; height: 22%; border-radius: 50%; background: rgba(16,43,46,.12); filter: blur(28px); }
.hero-product-image { position: absolute; z-index: 2; left: -9%; bottom: -4%; width: 91%; height: auto; display: block; filter: drop-shadow(0 24px 30px rgba(16,43,46,.18)); }.render-label { position: absolute; z-index: 4; left: 18px; bottom: 17px; padding: 5px 8px; border-radius: 999px; background: rgba(16,43,46,.84); color: white; font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.dashboard-preview { position: absolute; z-index: 3; top: 8%; right: 5%; width: 44%; padding: 20px; border: 1px solid rgba(16,43,46,.13); border-radius: 18px; background: rgba(255,253,247,.96); box-shadow: 0 20px 45px rgba(16,43,46,.16); transform: rotate(2deg); }.preview-label, .preview-row, .preview-revenue { display: flex; justify-content: space-between; gap: 10px; }.preview-label { margin-bottom: 20px; align-items: center; font-size: 12px; font-weight: 900; }.preview-label small { padding: 4px 7px; border-radius: 999px; background: #eceee8; color: var(--muted); font-size: 8px; text-transform: uppercase; }.preview-metric { padding: 14px; border-radius: 12px; background: var(--ink); color: white; }.preview-metric span, .preview-revenue span { display: block; font-size: 9px; font-weight: 800; }.preview-metric strong { display: block; margin-top: 5px; font-size: 33px; line-height: 1; }.preview-row { padding: 10px 2px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; }.preview-row b { color: var(--ink); }.preview-revenue { margin-top: 13px; padding: 12px; display: grid; border-radius: 11px; background: var(--mint); }.preview-revenue strong { font-size: 25px; letter-spacing: -.04em; }.preview-revenue small { font-size: 8px; color: #4f681e; }
.proof-strip { border-block: 1px solid rgba(16,43,46,.13); background: var(--ink); color: white; }.proof-strip .shell { min-height: 82px; display: grid; grid-template-columns: 1.2fr repeat(3,1fr); align-items: center; gap: 24px; }.proof-strip p, .proof-strip span { margin: 0; font-size: 12px; }.proof-strip p { color: var(--mint); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }.proof-strip span { color: rgba(255,255,255,.72); }
.marketing-section { padding-block: 116px; }.marketing-section h2, .closing-section h2 { margin: 14px 0 25px; font-size: clamp(44px, 5.2vw, 72px); line-height: .98; letter-spacing: -.065em; }.section-intro { max-width: 850px; }.section-intro > p:last-child, .outcomes-copy > p, .founder-lead, .closing-grid > div > p:last-child { max-width: 690px; color: var(--muted); font-size: 19px; }
.process-grid { margin: 72px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); list-style: none; border-top: 1px solid var(--line); }.process-grid li { min-height: 260px; padding: 24px 24px 16px 0; border-right: 1px solid var(--line); }.process-grid li:not(:first-child) { padding-left: 24px; }.process-grid li:last-child { border-right: 0; }.process-grid li > span, .signal-number { color: var(--mint-deep); font-size: 11px; font-weight: 950; letter-spacing: .1em; }.process-grid h3 { margin: 62px 0 12px; font-size: 27px; letter-spacing: -.045em; }.process-grid p { color: var(--muted); font-size: 15px; }
.real-hardware-section { padding: 112px 0; background: #e7e4d8; }.real-hardware-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 86px; align-items: center; }.hardware-photo { margin: 0; }.hardware-photo img { width: 100%; height: auto; display: block; border-radius: 24px; box-shadow: 0 28px 70px rgba(16,43,46,.18); }.hardware-photo figcaption { margin-top: 12px; color: var(--muted); font-size: 11px; }.hardware-copy h2 { margin: 14px 0 25px; font-size: clamp(43px, 4.5vw, 65px); line-height: 1; letter-spacing: -.06em; }.hardware-copy > p:not(.eyebrow) { color: var(--muted); font-size: 18px; }.hardware-copy ul { margin: 38px 0 0; padding: 0; list-style: none; }.hardware-copy li { padding: 18px 0; display: grid; gap: 4px; border-top: 1px solid rgba(16,43,46,.15); }.hardware-copy li strong { font-size: 15px; }.hardware-copy li span { color: var(--muted); font-size: 13px; }
.outcomes-section { background: var(--ink); color: white; }.outcomes-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }.outcomes-copy .eyebrow { color: var(--mint); }.outcomes-copy > p { color: rgba(255,255,255,.66); }.truth-note { margin-top: 48px; padding: 22px 0 0; display: grid; gap: 7px; border-top: 1px solid rgba(255,255,255,.17); }.truth-note strong { color: var(--mint); }.truth-note span { color: rgba(255,255,255,.62); font-size: 13px; }
.signal-board { border-top: 1px solid rgba(255,255,255,.22); }.signal-board article { padding: 27px 0; display: grid; grid-template-columns: 55px 1fr; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.16); }.signal-board h3 { margin: 0 0 7px; font-size: 22px; letter-spacing: -.025em; }.signal-board p { margin: 0; color: rgba(255,255,255,.62); }.signal-board .signal-number { color: var(--mint); }
.principles-heading { max-width: 750px; }.principles-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--line); }.principles-grid article { min-height: 245px; padding: 32px; }.principles-grid article:nth-child(odd) { border-right: 1px solid var(--line); }.principles-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.principles-grid article > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--mint); font-weight: 950; }.principles-grid h3 { margin: 36px 0 10px; font-size: 23px; letter-spacing: -.035em; }.principles-grid p { max-width: 490px; color: var(--muted); }
.founder-section { background: #e7e4d8; }.founder-grid { display: grid; grid-template-columns: 1fr .82fr; gap: 90px; align-items: start; }.price-card { padding: 34px; border-radius: 24px; background: var(--paper); box-shadow: 0 30px 70px rgba(16,43,46,.13); }.price-line { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }.price-line span { font-weight: 850; }.price-line strong { font-size: 57px; letter-spacing: -.07em; }.price-card ul { margin: 28px 0; padding: 0; display: grid; gap: 13px; list-style: none; }.price-card li { display: grid; grid-template-columns: 20px 1fr; gap: 8px; }.price-card li::before { content: "✓"; color: var(--mint-deep); font-weight: 950; }.price-disclosure { color: var(--muted); font-size: 12px; }
.faq-section > h2 { max-width: 720px; }.faq-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(2,1fr); gap: 0 44px; }.faq-grid details { padding: 24px 0; border-top: 1px solid var(--line); }.faq-grid summary { position: relative; padding-right: 34px; cursor: pointer; font-weight: 850; list-style: none; }.faq-grid summary::-webkit-details-marker { display: none; }.faq-grid summary::after { content: "+"; position: absolute; right: 2px; top: -4px; color: var(--mint-deep); font-size: 22px; }.faq-grid details[open] summary::after { content: "−"; }.faq-grid details p { margin: 14px 34px 0 0; color: var(--muted); font-size: 14px; }
.closing-section { padding: 92px 0; background: var(--ink); color: white; }.closing-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: end; }.closing-grid .eyebrow { color: var(--mint); }.closing-grid > div > p:last-child, .closing-action p { color: rgba(255,255,255,.65); }.closing-action { padding: 28px; border-left: 1px solid rgba(255,255,255,.21); }.closing-action .button { margin-top: 12px; }
.landing-page .site-footer { max-width: none; padding-inline: max(24px, calc((100vw - 1240px)/2)); background: var(--ink); color: rgba(255,255,255,.58); border-color: rgba(255,255,255,.14); }.landing-page .footer-identity strong { color: white; }

/* Policy pages */
.policy-page { background: var(--paper); }.policy-shell { width: min(860px, calc(100% - 48px)); margin: 0 auto; padding: 86px 0 120px; }.policy-hero { padding-bottom: 42px; border-bottom: 1px solid var(--line); }.policy-hero h1 { margin: 16px 0 14px; font-size: clamp(54px, 8vw, 86px); }.policy-effective { color: var(--muted); font-size: 13px; font-weight: 750; }.policy-hero .lead { max-width: 760px; margin: 32px 0 0; color: var(--ink); line-height: 1.55; }.policy-index { margin: 28px 0 58px; display: flex; flex-wrap: wrap; gap: 9px; }.policy-index a { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; text-decoration: none; }.policy-shell section { padding: 28px 0; border-top: 1px solid var(--line); }.policy-shell section:first-of-type { border-top: 0; }.policy-shell section h2 { margin-bottom: 18px; font-size: 27px; }.policy-shell section h3 { margin: 24px 0 7px; font-size: 17px; }.policy-shell section p, .policy-shell section li { color: #4e605e; font-size: 15px; line-height: 1.75; }.policy-shell section ul { padding-left: 22px; }.policy-shell section a { color: #315d00; font-weight: 750; text-underline-offset: 4px; }

/* Authentication */
.auth-shell { width: min(960px, calc(100% - 40px)); margin: 0 auto; min-height: 650px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; padding: 70px 0; }
.auth-intro h1 { margin: 18px 0; font-size: clamp(46px, 7vw, 76px); }.auth-intro p { max-width: 490px; color: var(--muted); font-size: 18px; }
.form-card { padding: 30px; }.form-card label, .form-grid label { display: grid; gap: 8px; margin-bottom: 18px; color: var(--ink); font-size: 13px; font-weight: 800; }
input, textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cbd3cc; border-radius: 10px; background: #fff; color: var(--ink); font-size: 16px; }
textarea { resize: vertical; }.form-note { margin: 15px 0 0; text-align: center; }

/* Customer */
.customer-page { background: var(--ink); color: white; }.customer-page .site-header { display: none; }.customer-page .demo-ribbon { background: #e8ffb8; }.customer-page .site-footer { width: min(520px, 100%); padding-inline: var(--safe); color: rgba(255,255,255,.62); border-color: rgba(255,255,255,.14); }.customer-page .footer-identity { display: none; }.customer-page .footer-links { justify-content: center; width: 100%; }
.mobile-shell { width: min(520px, 100%); margin: 0 auto; min-height: calc(100vh - 25px); padding: 40px var(--safe) max(36px, env(safe-area-inset-bottom)); display: flex; flex-direction: column; justify-content: center; }
.customer-brand { margin-bottom: 20px; text-align: center; font-weight: 850; letter-spacing: -.03em; }
.offer-card, .pass-ticket { position: relative; padding: 34px; overflow: hidden; border-radius: 28px; background: var(--paper); color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.28); }
.offer-card::before, .pass-ticket::before { content: ""; position: absolute; width: 170px; height: 170px; right: -76px; top: -76px; border: 36px solid var(--mint); border-radius: 50%; opacity: .72; }
.offer-card > *, .pass-ticket > * { position: relative; }.offer-card h1, .pass-ticket h1 { margin: 16px 0; font-size: clamp(36px, 10vw, 52px); line-height: 1.02; }
.offer-description { color: var(--muted); font-size: 17px; }.value-chip { display: inline-flex; margin: 4px 0 24px; padding: 8px 14px; border-radius: 999px; background: var(--mint); font-weight: 900; }
.claim-details, .compact-details, .device-details { margin: 0 0 24px; display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.claim-details div, .compact-details div { padding: 12px; border-radius: 12px; background: #eff1eb; }
dt { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; } dd { margin: 3px 0 0; font-weight: 850; }
.terms { margin-top: 20px; color: var(--muted); font-size: 13px; }.terms summary { color: var(--ink); font-weight: 800; cursor: pointer; }.terms p { margin: 10px 0 0; }
.privacy-note { margin: 18px auto 0; color: rgba(255,255,255,.58); text-align: center; }.copy-status { min-height: 20px; margin: 10px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.state-panel { margin: 18px 0; padding: 15px; display: flex; flex-direction: column; border-radius: 12px; }.state-panel strong { font-size: 17px; }.state-panel span { font-size: 13px; }.state-panel.success { background: #e7f7d1; }.state-panel.danger { background: #fce1dc; color: #7f281e; }.state-panel.neutral { background: #e9eeeb; }
.success-page { text-align: center; }.success-page h1 { margin: 15px 0; font-size: clamp(54px, 16vw, 78px); }.success-orbit { width: 72px; height: 72px; margin: 0 auto 22px; display: grid; place-items: center; border-radius: 50%; background: var(--mint); color: var(--ink); font-size: 34px; font-weight: 950; box-shadow: 0 0 0 12px rgba(201,243,107,.13); }
.claim-code { margin: 26px 0 6px; font: 850 27px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }.friend-card { margin: 28px 0 18px; padding: 26px; border-radius: 22px; background: var(--paper); color: var(--ink); text-align: left; }.friend-card h2 { margin: 8px 0 22px; font-size: 27px; }.friend-kicker { color: var(--mint-deep); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }.text-link { color: white; text-underline-offset: 4px; }
.friend-page .pass-ticket { border: 2px dashed rgba(16,43,46,.28); }

/* Staff */
.page-heading, .dashboard-heading { margin-bottom: 34px; display: flex; justify-content: space-between; align-items: flex-end; gap: 25px; }.page-heading h1 { margin: 10px 0 0; font-size: clamp(42px, 7vw, 70px); }.role-chip, .status-pill { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: 12px; font-weight: 800; }
.staff-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }.scanner-panel { position: relative; overflow: hidden; border-radius: var(--radius); background: #000; }.scanner-panel video { width: 100%; min-height: 340px; object-fit: cover; }.scanner-panel .button { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); }
.validation-card { margin-top: 24px; padding: 30px; border-radius: var(--radius); background: var(--paper); border-left: 7px solid var(--blue); box-shadow: var(--shadow); }.validation-card.redeemed { border-color: var(--red); }.validation-card.expired { border-color: var(--muted); }
.validation-topline { display: flex; justify-content: space-between; gap: 15px; align-items: center; }.validation-topline span { font-size: 11px; font-weight: 900; letter-spacing: .12em; }.validation-topline code, table code { font-weight: 850; }.validation-card h2 { margin: 22px 0 10px; font-size: 32px; }.result-hero { margin-bottom: 24px; padding: 20px; display: flex; gap: 15px; border-radius: 16px; background: #def4bf; }.result-hero p { margin: 3px 0 0; }.result-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--ink); color: var(--mint); font-size: 22px; }

/* Owner */
.dashboard-heading h1 { margin: 10px 0; font-size: clamp(48px, 6vw, 74px); }.dashboard-heading p { margin: 0; color: var(--muted); }.status-pill { display: flex; align-items: center; gap: 8px; }.status-pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--mint-deep); box-shadow: 0 0 0 4px rgba(128,173,43,.14); }
.metric-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; margin-bottom: 20px; }.metric-grid article { min-height: 145px; padding: 21px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 18px; background: var(--ink); color: white; }.metric-grid span { color: rgba(255,255,255,.64); font-size: 12px; font-weight: 750; }.metric-grid strong { font-size: 41px; letter-spacing: -.05em; }.metric-grid small { color: rgba(255,255,255,.56); }.metric-grid .revenue-metric { grid-column: 1 / -1; min-height: 120px; background: var(--mint); color: var(--ink); }.metric-grid .revenue-metric span, .metric-grid .revenue-metric small { color: rgba(16,43,46,.68); }
.dashboard-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 20px; margin-bottom: 20px; }.dashboard-grid.lower { grid-template-columns: .8fr 1.2fr; }.dashboard-grid .card, .history-card { padding: 25px; box-shadow: none; }
.section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 22px; }.section-heading h2 { margin: 7px 0 0; }.campaign-state, .device-state, .access-state, .table-state { padding: 5px 9px; border-radius: 999px; background: #e5eae5; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.campaign-state.active, .device-state.active, .access-state.on, .table-state.claimed { background: #def4bf; }.campaign-state.inactive, .access-state.off, .table-state.expired { background: #eee; color: var(--muted); }.table-state.redeemed { background: #cfe8ff; }.table-state.issued { background: #fff0c7; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 16px; }.form-grid .wide { grid-column: 1 / -1; }.form-grid label { position: relative; }.input-suffix { position: absolute; right: 12px; bottom: 15px; color: var(--muted); font-size: 11px; }.form-grid input[type=number] { padding-right: 50px; }.campaign-toggle { margin-top: 12px; }
.device-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }.device-row small, .staff-row small { display: block; color: var(--muted); }.device-glyph { width: 38px; height: 46px; border: 3px solid var(--ink); border-radius: 7px; box-shadow: inset 0 0 0 3px var(--paper); background: var(--mint); }.device-details { display: block; margin: 22px 0 0; }.device-details div { padding: 12px 0; border-top: 1px solid var(--line); }.device-details dd { overflow-wrap: anywhere; font-size: 12px; }
.staff-row { min-height: 68px; display: grid; grid-template-columns: 1fr auto auto; gap: 15px; align-items: center; border-top: 1px solid var(--line); }.staff-row:first-of-type { border-top: 0; }
.activity-list { list-style: none; margin: 0; padding: 0; }.activity-list li { position: relative; min-height: 52px; display: grid; grid-template-columns: auto 1fr; gap: 12px; }.activity-list i { width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: var(--mint-deep); }.activity-list small { display: block; color: var(--muted); font-size: 11px; }
.history-card { margin-bottom: 20px; }.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; font-size: 13px; } th { padding: 11px 12px; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; } td { padding: 14px 12px; border-top: 1px solid var(--line); white-space: nowrap; }

.message-shell { width: min(580px, calc(100% - 40px)); min-height: 650px; margin: 0 auto; padding: 80px 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }.message-shell h1 { margin: 16px 0; font-size: 58px; }.message-shell p { color: var(--muted); font-size: 18px; }.error-glyph { width: 64px; height: 64px; margin-bottom: 22px; display: grid; place-items: center; border-radius: 50%; background: #f8d8d2; color: var(--red); font-size: 32px; font-weight: 950; }

@media (max-width: 860px) {
  .site-header { padding-inline: 18px; }.site-header nav { gap: 12px; }.header-link { font-size: 12px; }.marketing-nav a:not(.nav-sign-in) { display: none; }
  .marketing-hero { min-height: auto; padding: 72px 0 80px; grid-template-columns: 1fr; gap: 58px; }.hero-copy-block { max-width: 720px; }.product-stage { min-height: 590px; }.hero-product-image { width: 82%; }.dashboard-preview { width: 42%; }
  .proof-strip .shell { padding-block: 25px; grid-template-columns: repeat(3,1fr); }.proof-strip p { grid-column: 1 / -1; }
  .marketing-section { padding-block: 88px; }.process-grid { grid-template-columns: repeat(2,1fr); }.process-grid li:nth-child(2) { border-right: 0; }.process-grid li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.real-hardware-grid, .outcomes-grid, .founder-grid, .closing-grid { grid-template-columns: 1fr; gap: 54px; }.closing-action { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.21); }.faq-grid { gap: 0 28px; }
  .auth-shell { grid-template-columns: 1fr; gap: 25px; padding: 50px 0; }.auth-intro p { margin-bottom: 0; }
  .metric-grid { grid-template-columns: repeat(2,1fr); }.dashboard-grid, .dashboard-grid.lower { grid-template-columns: 1fr; }
  .dashboard-heading { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .demo-ribbon { font-size: 9px; }.site-header { min-height: 62px; }.brand { font-size: 16px; }.brand-mark { width: 27px; height: 27px; }.site-header nav:not(.marketing-nav) a:first-child { display: none; }
  .shell, .workspace-shell { width: min(100% - 28px, 1240px); }.workspace-shell { padding: 36px 0 60px; }
  .marketing-hero { padding: 56px 0 64px; gap: 46px; }.hero-copy-block h1 { font-size: clamp(48px, 15vw, 68px); }.hero-copy { font-size: 18px; }.hero-actions { align-items: flex-start; flex-direction: column; }.hero-standards { display: grid; gap: 9px; }.product-stage { min-height: 510px; border-radius: 22px; }.hero-product-image { left: -18%; bottom: -1%; width: 112%; }.dashboard-preview { top: 5%; right: 4%; width: 57%; padding: 15px; }.preview-row { display: none; }.proof-strip .shell { grid-template-columns: 1fr; gap: 12px; }.proof-strip p { grid-column: auto; }.marketing-section { padding-block: 72px; }.marketing-section h2, .closing-section h2 { font-size: 45px; }.process-grid { grid-template-columns: 1fr; }.process-grid li, .process-grid li:not(:first-child) { min-height: 0; padding: 24px 0 28px; border-right: 0; border-bottom: 1px solid var(--line); }.process-grid h3 { margin-top: 32px; }.real-hardware-section { padding: 72px 0; }.hardware-copy h2 { font-size: 44px; }.principles-grid { grid-template-columns: 1fr; }.principles-grid article, .principles-grid article:nth-child(odd), .principles-grid article:nth-child(-n+2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }.principles-grid article:last-child { border-bottom: 0; }.price-card { padding: 24px; }.price-line strong { font-size: 48px; }.faq-grid { grid-template-columns: 1fr; }.closing-section { padding-block: 72px; }.policy-shell { width: min(100% - 32px, 860px); padding: 60px 0 90px; }.policy-index { margin-bottom: 42px; }
  .offer-card, .pass-ticket { padding: 27px 23px; }.mobile-shell { justify-content: flex-start; padding-top: 32px; }.claim-details { grid-template-columns: 1fr; }
  .page-heading { align-items: flex-start; flex-direction: column; }.form-card, .validation-card { padding: 22px; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.metric-grid article { min-height: 125px; padding: 16px; }.metric-grid strong { font-size: 32px; }.metric-grid .revenue-metric { grid-column: 1 / -1; }
  .dashboard-grid .card, .history-card { padding: 19px; }.form-grid { grid-template-columns: 1fr; }.form-grid .wide { grid-column: auto; }.staff-row { grid-template-columns: 1fr auto; }.staff-row form { grid-column: 1 / -1; }
  .site-footer { flex-direction: column; padding-inline: 18px; }.footer-links { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
