/* Shared Yawlead brand: header and footer geometry from yawlead.com.
   Existing self-hosted Poppins / Cairo only. No decorative card borders. */
:root { --blue:#0570ae; --ink:#26364d; --muted:#596978; --soft:#f4f6f8; --header:#2c2c2c; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-family:Poppins,sans-serif; font-size:16px; line-height:1.65; }
[hidden] { display:none!important; }
a { color:var(--blue); text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:4px; }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #80bddd; outline-offset:4px; }
button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; padding:11px 24px; border:0; border-radius:6px; background:var(--blue); color:#fff; font-weight:600; cursor:pointer; }
button:hover { background:#044f7a; }
button:disabled { background:#e7ebef; color:#697782; cursor:not-allowed; }
h1,h2,h3,p { margin:0; }
h1 { color:var(--blue); font-size:clamp(32px,3.6vw,48px); font-weight:600; letter-spacing:-1.1px; line-height:1.2; }
h2 { font-size:24px; font-weight:600; line-height:1.35; }
h3 { font-size:19px; font-weight:500; line-height:1.45; }
.container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.hint { color:var(--muted); font-size:14px; line-height:1.65; }
.eyebrow { color:var(--muted); font-size:14px; font-weight:500; margin-bottom:16px; }
.inline-link { font-weight:500; }
.skip-link { position:fixed; z-index:200; left:20px; top:-100px; padding:12px; background:#fff; }
.skip-link:focus { top:10px; }
/* Navigation mirrors the main site's size, colour and responsive breakpoint. */
.site-header { position:sticky; top:0; z-index:100; background:var(--header); color:#e0e0e0; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:clamp(18px,2vw,36px); width:min(1440px,calc(100% - 48px)); min-height:92px; margin:auto; }
.brand { display:flex; align-items:center; gap:12px; color:#e0e0e0; flex:none; }
.brand:hover { text-decoration:none; }
.brand img { display:block; width:68px; height:68px; }
.brand span { font-family:Cairo,sans-serif; font-size:32px; font-weight:700; line-height:1; letter-spacing:1px; }
.site-nav { display:flex; align-items:center; justify-content:flex-end; gap:0; }
.site-nav>a,.nav-group>summary { padding:14px 8px; color:#e0e0e0; font-size:clamp(15px,1.2vw,20px); font-weight:600; letter-spacing:1px; line-height:1.2; white-space:nowrap; }
.site-nav>a:hover,.nav-group>summary:hover,.nav-group[open]>summary { color:#9aadf6; text-decoration:none; }
summary { cursor:pointer; font-weight:500; }
.nav-group>summary { list-style:none; display:flex; align-items:center; gap:7px; }
.nav-group>summary::-webkit-details-marker { display:none; }
.nav-group>summary::after { content:'⌄'; color:#9aadf6; font-size:14px; }
.nav-group[open]>summary::after { transform:rotate(180deg); }
.nav-panel { position:absolute; top:100%; left:0; right:0; display:grid; grid-template-columns:repeat(3,1fr); gap:36px; padding:36px max(32px,calc((100% - 1180px)/2)); background:#f4f6f8; color:var(--ink); }
.nav-panel a { color:var(--ink); font-size:17px; font-weight:600; }
.nav-panel small { display:block; margin-top:8px; color:var(--muted); font-weight:400; font-size:13px; }
.site-search { margin-left:12px; }
.site-search>summary { background:var(--blue); border-radius:6px; color:#fff; min-height:46px; padding:12px 15px; }
.site-search>summary::after { content:none; }
.site-search>summary:hover { background:#044f7a; color:#fff; }
.search-panel { display:block; }
.search-panel form { max-width:680px; margin:auto; }
.search-inline { display:flex; gap:12px; align-items:center; }
.search-inline input { margin:0; background:#fff; }
.menu-toggle { display:none; }
/* Form controls follow the site's calm, open layout. */
label { display:block; font-size:14px; font-weight:500; }
label small { font-size:12px; font-weight:400; color:var(--muted); margin-left:5px; }
input:not([type=checkbox]):not([type=radio]),select { display:block; width:100%; min-height:49px; margin:7px 0 20px; padding:12px 14px; background:var(--soft); border:0; border-radius:6px; color:var(--ink); font-size:15px; }
input::placeholder { color:#71808c; opacity:1; }
input[type=checkbox],input[type=radio] { width:18px; height:18px; accent-color:var(--blue); flex:none; margin:3px 0 0; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.text-button { padding:0; min-height:30px; background:transparent; color:var(--blue); font-size:14px; font-weight:500; }
.text-button:hover { color:#044f7a; background:transparent; text-decoration:underline; text-underline-offset:4px; }
.text-button:disabled { background:transparent; color:#697782; }
.search-status { color:var(--muted); font-size:14px; margin:22px 0; min-height:24px; }
.error { color:#a42d30; }
.busy { color:var(--blue); }
/* Registration and sign-in share the same shell as the discovery workspace. */
.auth-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(50px,8vw,110px); padding-block:72px 80px; }
.auth-intro { padding-top:38px; }
.auth-intro h1 { margin-bottom:28px; }
.auth-intro>p:not(.eyebrow) { max-width:440px; color:var(--muted); }
.auth-intro .allowance-copy { margin:26px 0 24px; font-size:14px; color:var(--ink); }
.auth-panel { max-width:510px; width:100%; }
.auth-tabs { display:flex; gap:6px; margin-bottom:30px; }
.auth-tabs button { color:var(--muted); background:transparent; font-size:14px; padding:10px 19px; }
.auth-tabs button.selected { background:#edf6fb; color:var(--blue); }
.auth-panel h2 { margin-bottom:8px; }
.auth-panel> .hint { margin-bottom:25px; }
.consent { display:flex; align-items:flex-start; gap:11px; margin:4px 0 17px; font-size:12px; line-height:1.65; font-weight:400; color:var(--muted); }
#send-code,#verify-code { width:100%; margin-top:7px; }
#back-to-email { margin-top:18px; text-align:left; }
#code { letter-spacing:5px; font-size:24px; }
#code::placeholder { letter-spacing:0; font-size:15px; }
.allowance-note { font-size:12px; margin-top:18px; }
/* Company search comes first; secondary controls stay out of the way. */
.account-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; column-gap:24px; row-gap:6px; padding-top:24px; font-size:13px; color:var(--muted); }
.workspace-intro { padding:40px 0 42px; }
.workspace-intro h1 { font-size:clamp(30px,3.1vw,40px); margin-bottom:16px; }
.workspace-intro>p:last-child { color:var(--muted); }
.discovery { display:grid; grid-template-columns:1.5fr 1fr; gap:64px; }
.discovery h2 { margin-bottom:8px; }
.discovery .hint { margin-bottom:24px; }
.contact-search select { max-width:240px; }
.contact-search .allowance-note { margin:17px 0 0; max-width:350px; }
.company-choice { display:flex; align-items:flex-start; gap:13px; padding:15px; margin-top:12px; background:var(--soft); border-radius:6px; cursor:pointer; }
.company-choice:has(input:checked) { background:#edf6fb; }
.company-choice small { display:block; margin:4px 0 0; }
.workspace-tools { display:flex; flex-wrap:wrap; align-items:flex-start; gap:20px 40px; margin:26px 0 48px; }
.workspace-tools>details { flex:1; min-width:250px; }
.workspace-tools>details>summary { font-size:15px; color:var(--blue); }
.workspace-tools .hint { margin:16px 0; }
.rule-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; font-size:13px; }
.rule-columns summary span { color:var(--muted); margin-left:8px; }
.title-list { padding-top:12px; display:flex; flex-wrap:wrap; gap:6px 18px; color:var(--muted); font-size:12px; }
.title-list span { display:block; }
.history-item { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; margin-top:16px; font-size:13px; }
.history-item small { color:var(--muted); }
.results-band { background:var(--soft); padding:40px 0 52px; min-height:290px; }
.result-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
#results-title { scroll-margin-top:115px; }
#count { color:var(--muted); font-size:16px; font-weight:400; margin-left:10px; }
#search-summary { font-size:13px; color:var(--muted); margin-top:14px; }
.empty { padding:30px 0 10px; }
.empty p { color:var(--muted); margin-top:8px; font-size:14px; }
.table-wrap { overflow:auto; margin-top:20px; }
table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
th { color:var(--muted); font-weight:500; padding:14px 18px; white-space:nowrap; }
td { padding:18px; vertical-align:top; min-width:140px; overflow-wrap:anywhere; }
tbody tr:nth-child(odd) { background:#fff; }
td:first-child { min-width:230px; font-weight:500; }
td small,td a { display:block; font-size:12px; font-weight:400; margin-top:5px; }
td small { color:var(--muted); }
#coverage:not(:empty),#results-note { margin-top:20px; font-size:12px; }
/* Footer reused from the main site's shared footer, without divider lines. */
.yaw-site-footer { padding:50px 0 28px; color:#fff; background:#252525; font-size:16px; line-height:1.65; }
.yaw-site-footer__shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.yaw-site-footer__grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; }
.yaw-site-footer .yaw-site-footer__brand { display:inline-flex; align-items:center; gap:11px; margin-bottom:17px; color:#fff; font-family:Cairo,sans-serif; font-size:25px; font-weight:700; letter-spacing:1px; text-decoration:none; }
.yaw-site-footer__mark { display:block; width:52px; height:52px; object-fit:contain; }
.yaw-site-footer__brand-column p { max-width:360px; color:#bfc7cc; font-size:13px; }
.yaw-site-footer h2 { margin:0 0 16px; color:#fff; font-size:14px; font-weight:700; letter-spacing:.08em; line-height:1.25; text-transform:uppercase; }
.yaw-site-footer ul { margin:0; padding:0; list-style:none; }
.yaw-site-footer li { margin:0 0 9px; }
.yaw-site-footer a { color:#bfc7cc; font-size:13px; }
.yaw-site-footer a:hover { color:#fff; }
.yaw-site-footer__bottom { display:flex; justify-content:space-between; gap:24px; margin-top:45px; padding-top:23px; color:#9fa8ad; font-size:12px; }
.yaw-site-footer__bottom a { font-size:inherit; }
@media(max-width:1100px) {
  .header-inner { min-height:80px; }
  .brand img { width:56px; height:56px; }
  .brand span { font-size:24px; }
  .menu-toggle { display:inline-flex; font-size:14px; padding:9px 15px; gap:15px; min-height:42px; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--header); padding:12px 24px 24px; max-height:calc(100dvh - 80px); overflow:auto; }
  .menu-open .site-nav { display:block; }
  .site-nav>a,.nav-group>summary { display:flex; padding:14px 0; font-size:16px; justify-content:space-between; }
  .nav-panel { position:static; display:grid; grid-template-columns:1fr; gap:24px; padding:24px; border-radius:6px; }
  .nav-panel a { font-size:15px; }
  .site-search { margin:10px 0 0; }
  .site-search>summary { display:inline-flex; padding:12px 15px; }
  .site-search[open]>summary { margin-bottom:12px; }
  .search-panel { display:block; }
  .auth-layout { gap:48px; }
  .discovery { gap:40px; }
}
@media(max-width:760px) {
  .auth-layout { grid-template-columns:1fr; gap:38px; padding-block:36px 48px; }
  .auth-intro { padding-top:0; }
  .auth-intro h1 { font-size:36px; margin-bottom:20px; }
  .auth-intro h1 br { display:none; }
  .auth-intro>p:not(.eyebrow) { max-width:100%; }
  .auth-intro .allowance-copy { margin:18px 0 0; }
  .auth-intro .inline-link { display:none; }
  .auth-panel { max-width:none; }
  .discovery { grid-template-columns:1fr; gap:32px; }
  .workspace-intro { padding:30px 0; }
  .account-nav { justify-content:flex-start; column-gap:16px; font-size:12px; }
  .contact-search select { max-width:none; }
  .yaw-site-footer__grid { grid-template-columns:1fr 1fr; gap:30px; }
  .yaw-site-footer__brand-column { grid-column:1/-1; }
  .yaw-site-footer__bottom { flex-direction:column; gap:12px; margin-top:25px; }
}
@media(max-width:480px) {
  .container,.yaw-site-footer__shell,.header-inner { width:calc(100% - 32px); }
  .header-inner { gap:12px; }
  .form-pair { grid-template-columns:1fr; gap:0; }
  .auth-intro h1 { font-size:32px; }
  .auth-tabs { margin-bottom:24px; }
  .auth-tabs button { flex:1; }
  .workspace-tools>details { min-width:100%; }
  .rule-columns { grid-template-columns:1fr; }
  .search-inline { flex-direction:column; align-items:stretch; }
  .results-band { padding:32px 0; }
  #resolve,#enrich { width:100%; }
}

.admin-workspace { padding-bottom:60px; }
.admin-search { display:flex; align-items:flex-end; gap:20px; margin-bottom:24px; }
.admin-search label { flex:1; max-width:560px; }
.admin-search input { margin-bottom:0!important; }
.admin-pagination { display:flex; gap:24px; margin-top:24px; }
@media(max-width:480px) { .admin-search { display:block; } .admin-search button { margin-top:14px; } }

textarea { display:block; width:100%; padding:12px 14px; margin-top:9px; border:0; border-radius:6px; background:var(--soft); color:var(--ink); font:inherit; font-size:13px; line-height:1.7; resize:vertical; min-height:180px; }
.rule-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; }
.policy #rules-status.error { color:#a42d30; }
