/* TabledHQ product styles. Tokens and shared components (buttons, cards, hero, badges, app shell, footer) come from
   /tokens.css = packages/core/src/design.ts with TabledHQ's indigo accent. Only TabledHQ-specific bits live here. */
.brand .word b{color:var(--accent);font-weight:700}
.mark{width:32px;height:32px;display:block;border-radius:9px}
.side .brand-tile{background:none;width:36px;height:36px}.side .brand-tile img{display:block;border-radius:10px}
.ok{color:#24693f;font-weight:700}.bad{color:#a8323e;font-weight:700}.error{color:#a8323e}
main.wrap{padding-top:28px;padding-bottom:56px}
.crumb{margin:0 0 6px;font-size:13.5px;color:var(--muted)}.crumb a{color:var(--muted)}.crumb a:hover{color:var(--accent)}
/* Search box */
.search{display:flex;gap:8px;margin:18px 0 6px;max-width:640px}
.search input{flex:1;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;font:inherit;background:var(--paper);box-shadow:var(--shadow)}
.search input:focus{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);border-color:var(--accent)}
.search button{min-height:48px;padding:0 20px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:600 15.5px var(--font);cursor:pointer}.search button:hover{background:var(--accent-hover)}
.filters{margin:4px 0 8px;font-size:14px}.filters select{max-width:100%;font:inherit;min-height:44px;padding:4px 8px;border-radius:8px;border:1px solid var(--line-2);background:var(--paper)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:22px}
.card h2{margin:0 0 6px;font-size:18px}
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:14px}
.plan h2{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650}
.plan .price span{font-size:15px;color:var(--muted);font-weight:500;letter-spacing:0}
.pricing .plan-paid{border:2px solid var(--accent)}.pricing.plans-3{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-team{border:2px solid var(--ink)}.team-card{margin:14px 0}.team-people{list-style:none;margin:0;padding:0}.team-person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.team-person:first-child{border-top:0}.team-person form{flex:none}
.topic-list{padding-left:20px}.topic-list li{margin:0;display:flex;align-items:center;gap:6px}.topic-list a{display:inline-flex;align-items:center;min-height:44px}
/* Results lists (search, topics, bills) */
.results{list-style:none;padding:0;margin:8px 0}
.results>li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:0 0 10px;overflow-wrap:anywhere;box-shadow:var(--shadow)}
.results p{margin:6px 0 0}.results h3{margin:6px 0 2px}.results h3 a{display:inline-block;padding:2px 0;color:var(--ink);text-decoration:none}.results h3 a:hover{color:var(--accent);text-decoration:underline}
.meta{font-size:12.5px;color:var(--muted)}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}.kv dt{color:var(--muted);font-size:13px}.kv dd{margin:0;overflow-wrap:anywhere}
iframe.email{width:100%;height:1100px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
table.data .num{text-align:right;white-space:nowrap}
.signup-cta{margin:20px 0;border-left:4px solid var(--accent)}.signup-cta h2{margin:0 0 6px;font-size:18px}.signup-cta p{margin:6px 0}
.source-line{margin-top:24px}
.back-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 8px}
/* Shell extras: offline banner, install button, iOS hint */
.offline-banner{background:var(--ink);color:#fff;text-align:center;padding:8px 12px;font-size:14px}
.install-btn{min-height:40px;padding:0 12px;border:1px solid var(--accent);border-radius:8px;background:var(--paper);color:var(--accent);font:600 14px var(--font);cursor:pointer}
.ios-hint{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:14px;padding:8px 20px}.ios-hint p{margin:0}
.avatar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
/* Private test preview (PREVIEW=true only; src/preview/gate.ts injects the banner and serves the gate page) */
.preview-banner{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:center;align-items:center;padding:6px max(16px,env(safe-area-inset-left));background:var(--nav);color:#fff;font:500 12px/1.4 var(--font);letter-spacing:.03em;text-align:center}
.preview-banner strong{text-transform:uppercase;letter-spacing:.08em;font-weight:650}.preview-banner strong:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#a5b4fc;margin-right:8px;vertical-align:middle}
.gate-body{min-height:100vh}.gate{display:flex;justify-content:center;padding-top:clamp(24px,8vh,96px);padding-bottom:48px}
.gate-card{max-width:480px;width:100%;padding:24px}.gate-card .brand{margin-bottom:18px}.gate-card h1{font-size:clamp(24px,4vw,32px)}.gate-card .lede{font-size:16px}
.gate-card form{display:grid;gap:10px;margin-top:8px}.gate-card label{font-weight:600}
.gate-card .form-card{border:0;padding:0;margin:12px 0 0;background:none}
/* Home: product visual (a real briefing built from the latest records) */
.hero-copy .actions{margin-top:var(--s5)}.hero h1 .l2{display:block}.topic-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.brief{margin:0;background:var(--paper);border:1px solid var(--accent-edge);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;font-size:14px}
.brief-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--accent-tint)}
.brief-head b{font-size:13px}.brief-head span{font-size:12px;color:var(--muted)}
.brief ol{list-style:none;margin:0;padding:4px 16px}.brief li{padding:12px 0;border-bottom:1px solid var(--line)}.brief li:last-child{border-bottom:0}
.brief li a{display:block;margin:5px 0 3px;color:var(--ink);font-weight:600;line-height:1.35;text-decoration:none}.brief li a:hover{color:var(--accent);text-decoration:underline}
.brief .src{font-size:12px;color:var(--muted)}.brief-foot{padding:10px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);background:var(--accent-tint)}
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.trust .card p{margin:0}.plan .founding-tag{align-self:flex-start;margin:8px 0 0;white-space:normal;line-height:1.4;padding:4px 10px;border-radius:8px}.plan .founding-tag:before{display:none}
.plan p{margin:0}.plan .plan-note{margin-top:8px;font-size:13px;color:var(--muted)}
.trust-strip{margin:var(--s5) 0 0;text-align:center;color:var(--ink-2);font-size:15px}.trust-strip strong{font-weight:600;color:var(--ink)}
.home-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:var(--s2);font-size:13px;color:var(--muted)}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;background:var(--nav);color:#e8eef7;border-radius:var(--radius-lg);padding:28px clamp(20px,4vw,40px)}
.cta-band h2{color:#fff;margin:0 0 4px}.cta-band p{margin:0;color:#c5d2e3}.cta-band .btn{background:#fff;color:var(--ink);border-color:#fff}.cta-band .btn:hover{background:#e8ecff;color:var(--ink)}
@media (max-width:960px){.trust{grid-template-columns:1fr 1fr}}
@media (max-width:720px){table.data{font-size:13px}table.data th,table.data td{padding:8px 7px}.hide-sm{display:none}.grid3,.pricing,.pricing.plans-3{grid-template-columns:1fr}main.wrap{padding-top:18px}iframe.email{height:1500px}}
@media (max-width:480px){.trust{grid-template-columns:1fr}}
nav.pager,nav.dash-jump{display:flex;flex-wrap:wrap;gap:4px}
/* Source badges by family (generated from SOURCE_LABEL + sourceTone in src/lib/html.ts; test/redesign.test.ts checks coverage) */
.b-bills,.b-bill_amendments,.b-bill_publications,.b-scot_bills{--tone:#4338ca;--tint:#eceafd}
.b-hansard,.b-ni_plenary,.b-senedd_meetings{--tone:#6d3fc0;--tint:#f1ebfc}
.b-written_questions,.b-scot_questions,.b-ni_questions,.b-oral_questions{--tone:#1d5c9a;--tint:#e7f0fa}
.b-written_statements,.b-senedd,.b-research_briefings{--tone:#0f6b6b;--tint:#e2f4f2}
.b-statutory_instruments,.b-legislation,.b-members,.b-treaties,.b-whatson{--tone:#475569;--tint:#eef1f5}
.b-govuk_consultations,.b-govuk_policy_papers,.b-govuk_consultation_outcomes,.b-govuk_news,.b-govuk_guidance,.b-govuk_impact_assessments,.b-govuk_statistics_announcements,.b-govuk_research_statistics,.b-govuk_transparency{--tone:#24693f;--tint:#e6f4ea}
.b-commons_divisions,.b-lords_divisions,.b-edms,.b-scot_motions,.b-scot_divisions{--tone:#a8323e;--tint:#fcebec}
.b-committee_inquiries,.b-committee_publications,.b-committee_oral_evidence,.b-committee_written_evidence,.b-petitions,.b-committee_events{--tone:#8a5a00;--tint:#fbf1dc}
span.mark{background:url(/favicon.svg) center/cover no-repeat;flex:none}
.plan-flag{position:absolute;top:-11px;left:20px}.plans .plan{position:relative}
.empty-state:before{content:"✦";display:grid;place-items:center;width:40px;height:40px;margin:0 auto 10px;border-radius:12px;background:var(--accent-soft,#eceafd);color:var(--accent);font-size:18px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}

/* Sign in / sign up: one centred card (redesign, 1 Nov 2026) */
.auth-page{max-width:480px;margin:clamp(8px,4vw,40px) auto 0;padding:clamp(20px,4vw,32px);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.auth-page h1{font-size:28px;margin:0 0 6px}.auth-page .lede{font-size:15.5px;margin:0 0 16px}.auth-page .form-card{border:0;box-shadow:none;padding:0;background:none}.auth-page>p:last-of-type{margin:14px 0 0;font-size:14px;color:var(--ink-2)}
/* Phone nav: wrap every item onto extra rows instead of a hidden side-scroll (1 Nov 2026). */
/* Header and app-shell nav at phone widths live in packages/core/src/design.ts (one scrollable row, shared with Food). */
@media (max-width:480px){.side-nav a{padding:0 9px}}
/* Phone tap targets (Task 727, 2 Nov 2026): every nav, header and footer link is at least 44px tall at phone widths. */
@media (max-width:720px){.side-nav a,.foot-grid li a{min-height:44px}.src-pill{min-height:44px}.circle,.avatar{width:44px;height:44px}}

/* Landing audit 2 Nov 2026: hero offer line, plain-text founding prices (no strikethrough), refund note, FAQ */
.hero-offer{margin:var(--s3) 0 0;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:60ch}.hero-offer strong{color:var(--ink)}
.plan .founding-note{margin:6px 0 0;font-size:14px;line-height:1.4;color:var(--ink-2)}
.plans-note{margin:var(--s3) 0 0;font-size:14px;color:var(--muted);max-width:80ch}
.faq-list{display:grid;gap:10px}.faq-item{padding:0}.faq-item summary{cursor:pointer;list-style:none;padding:14px 18px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:20px;line-height:1;color:var(--muted)}.faq-item[open] summary:after{content:"\2212"}
.faq-item summary h3{margin:0;font-size:16px}.faq-item p{margin:0;padding:0 18px 16px;color:var(--ink-2);line-height:1.55}
