/* Header and footer matching DreamPOS. Namespaced to signed-out auth views only. */
body:has(#loginView:not(.hidden)),body:has(#registerView:not(.hidden)){overflow-x:clip!important}
@font-face{font-family:'DP Brand Hanken';font-style:normal;font-weight:400;font-display:swap;src:url(assets/font-3.ttf) format('truetype')}
@font-face{font-family:'DP Brand Hanken';font-style:normal;font-weight:500;font-display:swap;src:url(assets/font-4.ttf) format('truetype')}
@font-face{font-family:'DP Brand Hanken';font-style:normal;font-weight:600;font-display:swap;src:url(assets/font-5.ttf) format('truetype')}
@font-face{font-family:'DP Brand Hanken';font-style:normal;font-weight:700;font-display:swap;src:url(assets/font-6.ttf) format('truetype')}
@font-face{font-family:'DP Brand Mono';font-style:normal;font-weight:800;font-display:swap;src:url(assets/font-7.ttf) format('truetype')}
:is(#loginView,#registerView).dp-auth{width:100%;max-width:none;min-width:0;margin:0;padding:0;display:block;place-items:normal;place-content:normal;grid-template:none;gap:0}
:is(#loginView,#registerView).dp-auth.hidden{display:none!important}
:is(#loginView,#registerView).dp-auth > :is(.dp-brand-bar,.dp-site-header,.dp-site-footer,.dp-hero,.dp-steps){width:100%;max-width:none;margin-inline:0;justify-self:stretch;align-self:stretch}
.dp-auth .dp-brand-bar{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 20px;background:#0a1a33;color:#e6edf5}
.dp-auth .dp-brand-bar > span{display:flex;align-items:center;gap:10px;font:800 12px/14px 'DP Brand Mono',monospace;letter-spacing:2px;text-transform:uppercase}
.dp-auth .dp-brand-bar img{display:block;width:20px;height:20px;object-fit:contain}
.dp-auth .dp-site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border:0;border-bottom:1px solid #d7e2ec;box-shadow:none;padding:0;font:500 16px/1.45 'DP Brand Hanken',sans-serif;color:#0a1a33}
.dp-auth .dp-site-header-inner{width:100%;padding:16px max(32px,calc((100% - 1200px)/2));min-height:128px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:24px;align-items:center;justify-content:stretch}
.dp-auth .dp-site-header :is(a,button){font:inherit;color:inherit;text-decoration:none}
.dp-auth .dp-shell-brand{display:flex;align-items:center;min-width:0;gap:12px;text-decoration:none}
.dp-auth .dp-site-header .dp-shell-brand{grid-column:1;grid-row:1}
.dp-auth .dp-site-header .dp-shell-brand img{display:block;width:260px;max-width:100%;height:auto;object-fit:contain;flex:0 1 auto}
.dp-auth .dp-marketing-nav{grid-column:2;grid-row:1;display:flex;align-items:center;gap:18px;position:static;width:auto;max-width:none;padding:0;margin:0;border:0;background:#fff;box-shadow:none}
.dp-auth .dp-marketing-nav > a,.dp-auth .dp-menu-page{padding:12px 0;white-space:nowrap}
.dp-auth .dp-menu-group{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 6px;position:relative;width:auto}
.dp-auth .dp-menu-trigger{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 6px;border:0;background:transparent;cursor:pointer}
.dp-auth .dp-menu-trigger span{display:block;width:7px;height:7px;margin:0 0 4px;border-right:1.5px solid #0c747e;border-bottom:1.5px solid #0c747e;transform:rotate(45deg);font-size:0}
.dp-auth .dp-menu-panel[hidden]{display:none!important}
.dp-auth .dp-menu-panel{display:block;position:fixed;left:var(--dp-menu-left,16px);top:var(--dp-menu-top,170px);width:var(--dp-menu-width,260px);max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--dp-menu-top,170px) - 16px);overflow-y:auto;padding:14px;margin:0;background:#fff;border:1px solid #dde3eb;border-radius:12px;box-shadow:0 12px 32px #0a1a3326;z-index:31;text-align:left}
.dp-auth .dp-menu-panel.dp-menu-wide{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dp-auth .dp-menu-heading{display:block;margin:0 8px 7px;color:#0c747e;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.dp-auth .dp-menu-links{display:grid;gap:2px}
.dp-auth .dp-menu-links a{display:block;padding:8px;font-size:14px;line-height:20px;border-radius:5px;white-space:normal}
.dp-auth .dp-site-header a:hover{color:#0c747e}
.dp-auth .dp-menu-links a:hover{background:#dcf1ef}
.dp-auth .dp-account-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:10px;margin:0}
.dp-auth .dp-account-actions button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #0a1a33;border-radius:8px;padding:10px 14px;font:500 15px/22px 'DP Brand Hanken',sans-serif;white-space:nowrap;min-height:44px;cursor:pointer;box-shadow:none}
.dp-auth .dp-account-actions .dp-account-signin{background:#fff;color:#0a1a33}
.dp-auth .dp-account-actions .dp-account-register{background:#ffbf2e;border-color:#ffbf2e;color:#0a1a33;gap:10px;font-weight:600}
.dp-auth .dp-account-register span{font-size:21px;line-height:20px}
.dp-auth .dp-account-signin:hover{background:#f4f6f8}
.dp-auth .dp-account-register:hover{background:#f5b425}
.dp-auth .dp-mobile-toggle{display:none;border:1px solid #b9cad4;background:#f2f6f8;color:#163550;border-radius:8px;padding:8px 12px;min-height:44px;cursor:pointer}
.dp-auth .dp-site-header :is(a,button):focus-visible{outline:3px solid #0c747e;outline-offset:4px}
.dp-auth .dp-site-footer{display:block;width:100%;max-width:none;justify-self:stretch;margin:0;box-sizing:border-box}
@media(max-width:1279px){
 .dp-auth .dp-site-header-inner{min-height:90px;grid-template-columns:minmax(0,1fr) auto auto;padding:14px 32px;gap:14px 18px}
 .dp-auth .dp-site-header .dp-shell-brand img{width:240px}
 .dp-auth .dp-mobile-toggle{display:block;grid-column:2;grid-row:1}
 .dp-auth .dp-marketing-nav{display:none;position:absolute;top:100%;left:20px;right:20px;width:auto;max-height:55vh;overflow:auto;padding:12px;flex-direction:column;align-items:stretch;gap:4px;border:1px solid #dde3eb;border-radius:12px;box-shadow:0 12px 32px #0a1a3326}
 .dp-auth .dp-marketing-nav.is-open{display:flex}
 .dp-auth .dp-menu-group{width:100%}
 .dp-auth .dp-marketing-nav > a,.dp-auth .dp-menu-page{padding:14px 6px}
 .dp-auth .dp-menu-trigger{width:44px}
 .dp-auth .dp-menu-panel{grid-column:1/-1;position:static;width:100%;max-width:100%;max-height:none;overflow:visible;box-shadow:none}
 .dp-auth .dp-menu-links a{min-height:44px;padding:12px 8px}
}
@media(min-width:641px) and (max-width:800px){.dp-auth .dp-site-header-inner{padding-inline:20px}}
@media(max-width:640px){
 .dp-auth .dp-site-header-inner{grid-template-columns:minmax(0,1fr) auto;padding:12px 20px;gap:12px}
 .dp-auth .dp-site-header .dp-shell-brand img{width:220px}
 .dp-auth .dp-account-actions{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:flex-end}
 .dp-auth .dp-menu-panel.dp-menu-wide{grid-template-columns:1fr;gap:16px}
}

/* DreamPOS footer rules, scoped to auth views. */
.dp-auth footer.fh-footer{ padding:72px 0 32px; margin:0; background:#0a1a33; color:#fff; font:400 14px/1.4 'DP Brand Hanken',sans-serif; }
.dp-auth .fh-footer-container{ width:min(1200px,calc(100% - 64px)); margin:auto; }
.dp-auth .fh-footer-newsletter{ display:flex; align-items:center; justify-content:space-between; gap:32px; padding-bottom:48px; }
.dp-auth .fh-footer .fh-footer-newsletter h2{ margin:0 0 8px; color:#fff; font:700 22px/1.3 'DP Brand Hanken',sans-serif; }
.dp-auth .fh-footer-newsletter p{ margin:0; font-size:14px; }
.dp-auth .fh-footer-subscribe{ display:grid; grid-template-columns:minmax(0,320px) auto; gap:8px 12px; flex-shrink:0; }
.dp-auth .fh-footer-email{ min-width:0; }
.dp-auth .fh-footer-subscribe input{ box-sizing:border-box; width:100%; height:44px; padding:12px 16px; border:1px solid #bac6d4; border-radius:8px; color:#fff; background:transparent; font:inherit; opacity:1; }
.dp-auth .fh-footer-subscribe input::placeholder{ color:#e0e5ec; opacity:1; }
.dp-auth .fh-footer-subscribe button{ border:0; border-radius:8px; padding:12px 24px; background:#ffbf2e; color:#111; font:600 16px/1.2 'DP Brand Hanken',sans-serif; opacity:1; }
.dp-auth .fh-footer-subscribe :disabled{ cursor:not-allowed; }
.dp-auth .fh-footer-subscribe small{ grid-column:1/-1; color:#bac6d4; font-size:12px; }
.dp-auth .fh-footer-sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.dp-auth .fh-footer-columns{ display:grid; grid-template-columns:1.7fr repeat(5,minmax(0,1fr)); gap:40px; padding:56px 0; border-top:1px solid #ffffffaa; border-bottom:1px solid #ffffffaa; }
.dp-auth .fh-footer-columns > *{ min-width:0; }
.dp-auth .fh-footer .dp-shell-brand{ display:flex; gap:10px; text-decoration:none; color:#fff; align-items:center; }
.dp-auth .fh-footer .dp-shell-brand .mark{ flex:none; width:56px; height:56px; background:none; border:0; border-radius:0; font-size:0; }
.dp-auth .fh-footer .dp-shell-brand b{ color:#fff; font:700 23px/1.2 Archivo,sans-serif; letter-spacing:-1.2px; }
.dp-auth .fh-footer .dp-shell-brand small{ display:block; font:300 7px/1.5 'DP Brand Hanken',sans-serif; letter-spacing:1.2px; text-transform:uppercase; margin-top:2px; }
.dp-auth .fh-footer-brand p{ margin:22px 0; max-width:260px; }
.dp-auth .fh-footer address{ font-style:normal; margin:0 0 20px; }
.dp-auth .fh-footer a{ color:#fff; text-decoration:none; overflow-wrap:anywhere; }
.dp-auth .fh-footer a:hover{ text-decoration:underline; }
.dp-auth .fh-footer a:focus-visible{ outline:3px solid #ffbf2e; outline-offset:4px; }
.dp-auth .fh-footer .fh-footer-demo{ display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:12px 24px; min-height:44px; box-sizing:border-box; border-radius:8px; background:#ffbf2e; color:#111; font-weight:600; font-size:16px; }
.dp-auth .fh-footer h2{ margin:0 0 18px; color:#ffbf2e; font:700 22px/1.2 'DP Brand Hanken',sans-serif; }
.dp-auth .fh-footer h3{ margin:0 0 10px; color:#fff; font:700 11px/1.4 'DP Brand Mono',monospace; letter-spacing:2px; }
.dp-auth .fh-footer-brand h3{ margin-top:22px; }
.dp-auth .fh-footer-group + .fh-footer-group{ margin-top:18px; }
.dp-auth .fh-footer-group{ display:flex; flex-direction:column; gap:9px; }
.dp-auth .fh-footer-group h3{ margin-bottom:2px; }
.dp-auth .fh-social-icons{ display:flex; gap:10px; }
.dp-auth .fh-social-icon{ display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#fff; color:#0a1a33; }
.dp-auth .fh-social-icon svg{ width:23px; height:23px; fill:currentColor; }
.dp-auth .fh-footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:24px; font-size:11px; }
.dp-auth .fh-footer-bottom nav{ display:flex; flex-wrap:wrap; gap:24px; }
@media(max-width:1200px){
.dp-auth .fh-footer-columns{ grid-template-columns:1.5fr repeat(3,minmax(0,1fr)); gap:36px 24px; }
.dp-auth .fh-footer-newsletter{ align-items:flex-start; flex-direction:column; }
.dp-auth .fh-footer-subscribe{ width:min(100%,460px); grid-template-columns:minmax(0,1fr) auto; }
}
@media(max-width:760px){
.dp-auth .fh-footer-columns{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.dp-auth .fh-footer-brand{ grid-column:1/-1; }
.dp-auth .fh-footer-bottom{ flex-direction:column; align-items:flex-start; }
}
@media(max-width:640px){
.dp-auth footer.fh-footer{ padding:40px 0 24px; }
.dp-auth .fh-footer-container{ width:calc(100% - 40px); }
.dp-auth .fh-footer-columns{ padding:36px 0; gap:32px 20px; }
.dp-auth .fh-footer h2{ font-size:20px; }
.dp-auth .fh-footer-bottom nav{ gap:16px; }
.dp-auth .fh-footer-subscribe button{ padding:12px 16px; }
}
.dp-auth .fh-footer nav.fh-footer-column{ display:block; position:static; width:auto; max-width:none; padding:0; margin:0; background:transparent; border:0; box-shadow:none; font:inherit; text-align:left; }
.dp-auth .fh-footer nav a{ display:block; padding:0; margin:0; background:transparent; border:0; color:#fff; font:400 14px/1.4 'DP Brand Hanken',sans-serif; }
.dp-auth .fh-footer .fh-footer-bottom nav{ display:flex; position:static; width:auto; max-width:none; padding:0; margin:0; background:transparent; border:0; box-shadow:none; font:inherit; }
.dp-auth .fh-footer .fh-footer-bottom nav a{ font-size:12px; }
.dp-auth .dp-site-footer .dp-shell-logo{display:block;width:240px;max-width:100%;height:auto;object-fit:contain}


/* Marketing-header CTA parity: scoped to Pay portal sign-in/registration views. */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(assets/font-3.ttf) format('truetype')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(assets/font-4.ttf) format('truetype')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(assets/font-5.ttf) format('truetype')}
.dp-auth .dp-account-actions{gap:10px}
.dp-auth .dp-account-actions button{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;border:1px solid #0a1a33;border-radius:8px;padding:4px 10px;font:400 13px/20px 'Hanken Grotesk',sans-serif;white-space:nowrap;min-height:30px;height:30px;max-height:30px;cursor:pointer;box-shadow:none}
.dp-auth .dp-account-actions .dp-account-signin{background:transparent;color:#10233f;width:64px;min-width:64px;max-width:64px;flex:none}
.dp-auth .dp-account-actions .dp-account-register{background:#ffbf2e;border-color:#ffbf2e;color:#10233f;width:110px;min-width:110px;max-width:110px;flex:none;gap:8px;font-weight:600}
.dp-auth .dp-account-register span{font-size:16px;line-height:20px}
