body.public-rebuild{--rb-bg:#f4f7fa;--rb-surface:#fff;--rb-text:#092a45;--rb-muted:#455d70;--rb-line:#cad7e2;--rb-accent:#b04400;--rb-band:#e8f0f6;background:var(--rb-bg);color:var(--rb-text);font-family:system-ui,sans-serif}
html[data-theme="dark"] body.public-rebuild{--rb-bg:#081c2c;--rb-surface:#102c40;--rb-text:#f1f6fa;--rb-muted:#bed0de;--rb-line:#3a566c;--rb-accent:#ffb06b;--rb-band:#14384f}
.public-rebuild main{width:min(1180px,calc(100% - 48px));margin:40px auto 64px;padding:0;color:var(--rb-text)}
.public-rebuild .rb-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center;padding:40px 0 48px;background:none;border:0}
.public-rebuild .rb-intro:has(.rb-visual){grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.public-rebuild h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;letter-spacing:-.035em;color:var(--rb-text);margin:12px 0 22px;max-width:800px}
.public-rebuild h2{font-size:1.45rem;line-height:1.3;color:var(--rb-text);margin:0 0 14px}
.public-rebuild p{color:var(--rb-muted);font-size:1rem;line-height:1.7;margin:0 0 18px}
.public-rebuild .rb-lead{font-size:1.15rem;max-width:760px}.public-rebuild .rb-kicker{color:var(--rb-accent);text-transform:uppercase;font-size:.8rem;letter-spacing:.09em;font-weight:700;margin:0}
.public-rebuild .rb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-rebuild .rb-card{display:flex;flex-direction:column;background:var(--rb-surface);border:1px solid var(--rb-line);border-radius:12px;padding:26px;min-width:0}.public-rebuild .rb-card p{flex:1}
.public-rebuild .rb-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;background:var(--rb-text);color:var(--rb-surface);border-radius:7px;font-size:1rem;font-weight:650;text-decoration:none;text-align:center;max-width:100%;white-space:normal;line-height:1.4}
.public-rebuild .rb-action:hover{text-decoration:underline}.public-rebuild .rb-action:focus-visible,.public-rebuild .rb-skip:focus{outline:3px solid var(--rb-accent);outline-offset:4px}
.public-rebuild .rb-section{padding:48px 0;background:none;border:0}.public-rebuild .rb-section>p{max-width:850px}.public-rebuild .rb-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:decimal;padding-left:23px;margin:28px 0 0}.public-rebuild .rb-steps li{padding-left:6px;color:var(--rb-accent)}.public-rebuild .rb-steps strong,.public-rebuild .rb-steps span{display:block;color:var(--rb-text);font-size:1rem}.public-rebuild .rb-steps span{color:var(--rb-muted);line-height:1.65;margin-top:8px}
.public-rebuild .rb-band{display:flex;gap:32px;align-items:center;justify-content:space-between;background:var(--rb-band);padding:32px;border:1px solid var(--rb-line);border-radius:12px;margin:0 0 32px}.public-rebuild .rb-band>div{max-width:760px}.public-rebuild .rb-band>.rb-action{flex-shrink:0}.public-rebuild .rb-small{font-size:.875rem}.public-rebuild .rb-status{border-top:1px solid var(--rb-line);padding:20px 0;color:var(--rb-muted);font-size:.875rem;line-height:1.6;background:none}
.public-rebuild .rb-visual{margin:0;min-width:0}.public-rebuild .rb-visual img{width:100%;height:auto;display:block;border-radius:12px;aspect-ratio:4/3;object-fit:cover}.public-rebuild figcaption{font-size:.8rem;color:var(--rb-muted);margin-top:8px}.public-rebuild .rb-skip{position:absolute;top:-100px;left:16px;padding:12px;background:var(--rb-surface);color:var(--rb-text);z-index:10000}.public-rebuild .rb-skip:focus{top:12px}
@media(max-width:850px){.public-rebuild main{width:calc(100% - 32px);margin-top:20px}.public-rebuild .rb-intro:has(.rb-visual),.public-rebuild .rb-grid,.public-rebuild .rb-steps{grid-template-columns:1fr}.public-rebuild .rb-intro{padding:24px 0 30px}.public-rebuild .rb-band{flex-direction:column;align-items:stretch;padding:24px}.public-rebuild .rb-visual img{max-height:320px}.public-rebuild .rb-section{padding:32px 0}.public-rebuild .rb-card{padding:22px}}
@media(prefers-reduced-motion:reduce){.public-rebuild *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* These scoped rules override the legacy public/beta global typography only on rebuilt pages. */
body.public-rebuild #inhoud{width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important;margin:32px auto 64px!important;padding:0!important}
body.public-rebuild #inhoud p,body.public-rebuild #inhoud li,body.public-rebuild #inhoud .rb-steps span{font-family:system-ui,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.65!important;color:var(--rb-muted)!important}
body.public-rebuild #inhoud h1{font-family:system-ui,sans-serif!important;font-size:clamp(32px,4vw,54px)!important;line-height:1.12!important;color:var(--rb-text)!important}
body.public-rebuild #inhoud h2{font-family:system-ui,sans-serif!important;font-size:24px!important;line-height:1.3!important;color:var(--rb-text)!important}
body.public-rebuild #inhoud .rb-kicker{font-size:13px!important;font-weight:650!important;color:var(--rb-accent)!important}
body.public-rebuild #inhoud .rb-action{font-family:system-ui,sans-serif!important;font-size:16px!important;color:var(--rb-surface)!important;background:var(--rb-text)!important;text-decoration:none!important}
body.public-rebuild #inhoud .rb-action:hover{text-decoration:underline!important}
body.public-rebuild #inhoud .rb-visual img{max-height:365px}
body.public-rebuild #inhoud figcaption{font-size:14px!important;line-height:1.5!important;color:var(--rb-muted)!important}
@media(max-width:850px){body.public-rebuild #inhoud{width:calc(100% - 32px)!important;margin:20px auto 64px!important}body.public-rebuild #inhoud .rb-visual img{max-height:280px}}

/* Shared signup presentation; field names, visibility and submission remain with login.js. */
@media(max-width:980px){body.public-site.public-rebuild>header.topbar{display:block!important;width:100%!important;max-width:none!important;min-height:64px!important;padding:0!important}body.public-site.public-rebuild .public-header-inner{max-width:none!important}body.public-site.public-rebuild .public-brand img{min-width:0!important;max-width:100%!important;object-fit:contain!important}}
@media(max-width:980px){body.public-site.public-rebuild .public-header-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:64px!important;padding:8px 16px!important;box-sizing:border-box!important}body.public-site.public-rebuild .public-brand{flex:0 1 170px!important;width:170px!important;min-width:0!important}body.public-site.public-rebuild .public-brand-logo{max-width:170px!important;width:100%!important;height:auto!important}body.public-site.public-rebuild .site-menu-toggle{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-height:44px!important;margin:0 0 0 auto!important;padding:10px!important;position:static!important}body.public-site.public-rebuild .site-menu-toggle span{display:block!important;flex:none!important;width:22px!important;height:2px!important;margin:0!important}}
body.public-site.public-rebuild #aanmelden{width:min(1060px,calc(100% - 40px))!important;max-width:1060px!important;margin:32px auto 56px!important;padding:0!important;background:none!important}
body.public-site.public-rebuild #aanmelden .portal-shell{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:none!important}
body.public-site.public-rebuild #aanmelden .taxi-pool-signup-shell{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(240px,1fr)!important;gap:24px!important;align-items:start!important}
body.public-site.public-rebuild #aanmelden .login-panel{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:32px!important;background:var(--rb-surface)!important;border:1px solid var(--rb-line)!important;border-radius:12px!important;box-shadow:none!important}
body.public-site.public-rebuild #aanmelden :is(p,label,span,strong,small,summary,a,input,select,button){font-family:system-ui,sans-serif!important;font-size:16px!important;line-height:1.5!important;color:var(--rb-text)!important;overflow-wrap:anywhere}
body.public-site.public-rebuild #aanmelden h1{font-family:system-ui,sans-serif!important;font-size:clamp(26px,3vw,36px)!important;line-height:1.2!important;letter-spacing:-.025em!important;margin:0 0 16px!important;color:var(--rb-text)!important}
body.public-site.public-rebuild #aanmelden h2{font-family:system-ui,sans-serif!important;font-size:22px!important;line-height:1.3!important;color:var(--rb-text)!important}
body.public-site.public-rebuild #aanmelden p{margin:0 0 16px!important;color:var(--rb-muted)!important}
body.public-site.public-rebuild #aanmelden form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin-top:24px!important}
body.public-site.public-rebuild #aanmelden form>:is(section,article,details,p,div,button,.signup-beta-request){grid-column:1/-1!important;min-width:0}
body.public-site.public-rebuild #aanmelden label{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!important;margin:0!important}
body.public-site.public-rebuild #aanmelden :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){width:100%!important;min-width:0!important;min-height:44px!important;padding:10px 12px!important;background:var(--rb-surface)!important;border:1px solid var(--rb-line)!important;border-radius:6px!important;color:var(--rb-text)!important;box-sizing:border-box!important}
body.public-site.public-rebuild #aanmelden label:has(input[type=checkbox]){flex-direction:row!important;align-items:flex-start!important;gap:10px!important;padding:8px 0!important;min-height:44px!important;cursor:pointer}
body.public-site.public-rebuild #aanmelden input[type=checkbox]{appearance:auto!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;margin:3px 0 0!important;padding:0!important;accent-color:var(--rb-accent)}
body.public-site.public-rebuild #aanmelden :is(.signup-cost-confirmation,.branch-profile-picker,.signup-structure,.signup-branch-preview,.taxi-pool-signup-side){background:var(--rb-band)!important;border:1px solid var(--rb-line)!important;border-radius:8px!important;padding:20px!important;color:var(--rb-text)!important;box-shadow:none!important}
body.public-site.public-rebuild #aanmelden .taxi-pool-signup-side{margin:0!important;min-width:0!important}
body.public-site.public-rebuild #aanmelden .taxi-pool-signup-side>span{display:flex;gap:10px;margin:12px 0}
body.public-site.public-rebuild #aanmelden .button.primary{min-height:46px!important;padding:12px 18px!important;background:var(--rb-text)!important;color:var(--rb-surface)!important;border:0!important;white-space:normal!important;box-shadow:none!important}
body.public-site.public-rebuild #aanmelden a{text-decoration:underline!important;text-underline-offset:3px}
body.public-site.public-rebuild #aanmelden :is(input,select,button,summary,a):focus-visible{outline:3px solid var(--rb-accent)!important;outline-offset:3px!important}
body.public-site.public-rebuild #aanmelden [hidden]{display:none!important}
@media(max-width:760px){body.public-site.public-rebuild #aanmelden{width:calc(100% - 24px)!important;margin-top:20px!important}body.public-site.public-rebuild #aanmelden .taxi-pool-signup-shell,body.public-site.public-rebuild #aanmelden form{grid-template-columns:minmax(0,1fr)!important}body.public-site.public-rebuild #aanmelden .login-panel{padding:20px!important}body.public-site.public-rebuild #aanmelden :is(.signup-cost-confirmation,.branch-profile-picker,.signup-structure,.signup-branch-preview){padding:14px!important}}

/* Publieke website: teksten en kaarten blijven leesbaar op elke breedte. */
body.public-site :where(main, .rb-grid, .rb-card, .rb-band, .rb-section, article, section) { min-width: 0; }
body.public-site :where(main, .rb-grid, .rb-card, .rb-band, .rb-section, article, section) :where(h1,h2,h3,h4,p,small,span,li,a) { overflow-wrap: anywhere; word-break: normal; text-overflow: clip; }
body.public-site :where(.rb-card, .rb-band, .rb-section, article, section) { height: auto; max-height: none; }
@media (max-width: 850px) { body.public-site :where(.rb-grid, .rb-steps) { grid-template-columns: minmax(0, 1fr) !important; } }

/* Keep rebuilt public surfaces and the fixed white header readable in both themes. */
html body.public-site.public-rebuild #inhoud .rb-card { background: var(--rb-surface) !important; }
html body.public-site.public-rebuild .site-menu-toggle span { background: #102033 !important; }
html body.public-site.public-rebuild .public-brand img.language-brand-logo { width: auto !important; height: 52px !important; max-height: 52px !important; max-width: 170px !important; }
/* Static public landing pages: text settings control must not inherit icon-only sizing. */
html body.public-site.public-rebuild[data-public-static="true"] .public-header-inner{flex-wrap:wrap!important}
html body.public-site.public-rebuild[data-public-static="true"] .site-nav{gap:12px!important;flex-wrap:wrap!important}
html body.public-site.public-rebuild[data-public-static="true"] .site-nav>a,
html body.public-site.public-rebuild[data-public-static="true"] .site-nav>details{flex:0 0 auto!important;max-width:100%;box-sizing:border-box}
html body.public-site.public-rebuild[data-public-static="true"] .site-nav>a,
html body.public-site.public-rebuild[data-public-static="true"] .public-settings-menu>summary{width:auto!important;min-width:44px!important;min-height:44px!important;height:auto!important;padding:10px 12px!important;white-space:nowrap!important;box-sizing:border-box!important}
html body.public-site.public-rebuild[data-public-static="true"] .site-menu-toggle{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
@media(max-width:1024px){
 html body.public-site.public-rebuild[data-public-static="true"] .public-header-inner{flex-wrap:nowrap!important}
 html body.public-site.public-rebuild[data-public-static="true"] .site-nav{flex-wrap:nowrap!important;gap:8px!important}
 html body.public-site.public-rebuild[data-public-static="true"] .site-nav>a,
 html body.public-site.public-rebuild[data-public-static="true"] .site-nav>details,
 html body.public-site.public-rebuild[data-public-static="true"] .public-settings-menu>summary{width:100%!important;justify-content:flex-start!important;white-space:normal!important;overflow-wrap:anywhere}
}

/* Legacy styles.css also caps text settings at max-width:36px. Override the cap,
   parent flex basis and text-breaking, not only the outer hit-target rectangle. */
html body.public-site.public-rebuild[data-public-static="true"] #publicSiteMenu>details.public-settings-menu{width:max-content!important;min-width:170px!important;max-width:none!important;flex:0 0 auto!important}
html body.public-site.public-rebuild[data-public-static="true"] #publicSiteMenu>details.public-settings-menu>summary{display:flex!important;width:max-content!important;min-width:170px!important;max-width:none!important;min-height:44px!important;height:auto!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;grid-template-columns:none!important;padding:10px 12px!important;box-sizing:border-box!important}
@media(max-width:1024px){
 html body.public-site.public-rebuild[data-public-static="true"] #publicSiteMenu>details.public-settings-menu,
 html body.public-site.public-rebuild[data-public-static="true"] #publicSiteMenu>details.public-settings-menu>summary{width:100%!important;min-width:170px!important;max-width:100%!important;justify-content:flex-start!important}
}


/* Keep the two public entry actions separated on every screen size. */
html body.public-site.public-rebuild[data-public-static="true"] .rb-entry-actions{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:12px!important;margin:24px 0!important}
html body.public-site.public-rebuild[data-public-static="true"] .rb-entry-actions>.rb-action{min-height:44px!important;box-sizing:border-box!important;max-width:100%!important;margin:0!important;white-space:normal!important}
@media(max-width:600px){html body.public-site.public-rebuild[data-public-static="true"] .rb-entry-actions{flex-direction:column!important}html body.public-site.public-rebuild[data-public-static="true"] .rb-entry-actions>.rb-action{width:100%!important}}
