
/* Client Portal — screenshot-inspired; only enabled after authenticated Supabase user */
#fw-registration.fw-portal-mode{--fwcp-bg:#06122e;--fwcp-card:#111e3d;--fwcp-tile:#1c2f55;--fwcp-line:#2b3c60;--fwcp-text:#f7f9ff;--fwcp-soft:#adc2e2;--fwcp-lime:#e3ff00;display:block!important;min-height:100svh;padding:0 20px 105px;background:radial-gradient(ellipse at 25% -25%,#11316a 0,transparent 56%),linear-gradient(135deg,#071936,#02091e)!important;color:var(--fwcp-text)}
html[data-fw-theme=light] #fw-registration.fw-portal-mode{--fwcp-bg:#e8f0ff;--fwcp-card:#fff;--fwcp-tile:#eaf0ff;--fwcp-line:#d0ddf0;--fwcp-text:#0d2b62;--fwcp-soft:#546f9d;--fwcp-lime:#d9f500;background:#eef4ff!important}
body:has(#fw-registration.fw-portal-mode),html:has(#fw-registration.fw-portal-mode){background:#07132f!important}
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode){background:#eef4ff!important}
#fw-registration.fw-portal-mode .fw-container{width:min(100%,1080px);max-width:1080px}
#fw-registration.fw-portal-mode>.fw-theme-toggle{position:fixed;top:25px;right:max(18px,calc((100vw - 1080px)/2 + 58px));z-index:20;background:var(--fwcp-card);border-color:var(--fwcp-line);color:var(--fwcp-text)}
#fw-registration.fw-portal-mode .fw-logo,#fw-registration.fw-portal-mode>.fw-container>.fw-login-title{display:none!important}
#fw-registration .fw-client-portal{padding:0;width:100%;background:transparent;color:var(--fwcp-text);border:0;border-radius:0;box-shadow:none;font:inherit}
#fw-registration .fwcp-top{display:flex;align-items:center;justify-content:space-between;padding:55px 0 95px;min-height:135px}
#fw-registration .fwcp-logo{text-decoration:none;color:var(--fwcp-lime);font-size:34px;font-weight:900;font-style:italic;line-height:1;letter-spacing:-1.8px}
#fw-registration .fwcp-logo em{color:var(--fwcp-text);font-style:normal}
#fw-registration .fwcp-top-actions{display:flex;align-items:center;gap:12px;padding-right:5px}
#fw-registration .fwcp-icon{width:45px;height:45px;border-radius:50%;border:0;background:var(--fwcp-card);color:var(--fwcp-text);font-size:29px;cursor:pointer}
#fw-registration .fwcp-body{max-width:810px}
#fw-registration .fwcp-eyebrow{font-size:12px;font-weight:800;letter-spacing:2.2px;color:var(--fwcp-text);margin:0 0 19px}
#fw-registration .fwcp-space{margin-top:38px;color:var(--fwcp-lime)}
#fw-registration .fwcp-hello{font-size:clamp(28px,4.5vw,56px)!important;line-height:1.13!important;letter-spacing:-1.7px!important;max-width:100%!important;overflow-wrap:anywhere;text-align:left!important;color:var(--fwcp-text)!important;margin:0 0 50px!important}
#fw-registration .fwcp-summary{width:min(100%,670px);background:var(--fwcp-card);border:1px solid var(--fwcp-line);border-radius:24px;padding:27px 26px 24px}
#fw-registration .fwcp-summary>small{display:block;letter-spacing:2px;font-size:9px;font-weight:800;color:var(--fwcp-soft);margin-bottom:15px}
#fw-registration .fwcp-summary h2{font-size:29px;line-height:1.07;letter-spacing:-1px;color:var(--fwcp-text);margin:0 0 30px}
#fw-registration .fwcp-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 17px}
#fw-registration .fwcp-stats>div{border:1px solid var(--fwcp-line);border-radius:17px;background:var(--fwcp-tile);min-height:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
#fw-registration .fwcp-stats strong{font-size:27px;color:var(--fwcp-lime);line-height:1}
#fw-registration .fwcp-stats span{font-size:10px;color:var(--fwcp-soft)}
#fw-registration .fwcp-primary{display:block;width:100%;border:0;border-radius:999px;padding:16px 22px;background:var(--fwcp-lime);color:#041c4f;font-weight:800;cursor:pointer;min-height:53px}
#fw-registration .fwcp-primary:disabled{opacity:.6}
#fw-registration .fwcp-section-title{font-size:23px;font-weight:500;color:var(--fwcp-text);margin:0 0 13px}
#fw-registration .fwcp-title{font-size:clamp(29px,5vw,45px)!important;max-width:none!important;text-align:left!important;color:var(--fwcp-text)!important;margin:0 0 16px!important}
#fw-registration .fwcp-subtitle{color:var(--fwcp-soft);margin:0 0 22px}
#fw-registration .fwcp-nav{position:fixed;z-index:30;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(610px,calc(100% - 24px));height:74px;border-radius:24px;background:var(--fwcp-card);border:1px solid var(--fwcp-line);box-shadow:0 18px 45px #0006;display:flex;align-items:center;gap:3px;padding:6px}
#fw-registration .fwcp-nav button{flex:1;border:0;border-radius:16px;min-width:0;height:61px;background:transparent;color:var(--fwcp-text);font-size:10px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}
#fw-registration .fwcp-nav button>span{font-size:22px;line-height:1}
#fw-registration .fwcp-nav button.active:not(.fwcp-plus){background:var(--fwcp-tile);color:var(--fwcp-lime)}
#fw-registration .fwcp-nav button.fwcp-plus{height:62px;flex:0 0 64px;width:64px;border:5px solid #fff;border-radius:50%;background:var(--fwcp-lime);color:#093c83;transform:translateY(-9px);font-size:34px;box-shadow:0 3px 0 4px var(--fwcp-card)}
#fw-registration .fwcp-nav button.fwcp-plus span{font-size:33px}
#fw-registration .fwcp-tabs{display:flex;gap:9px;margin-bottom:18px;flex-wrap:wrap}
#fw-registration .fwcp-tabs button,#fw-registration .fwcp-small{border:1px solid var(--fwcp-line);background:var(--fwcp-card);color:var(--fwcp-text);border-radius:999px;padding:10px 15px;cursor:pointer}
#fw-registration .fwcp-tabs button.active{background:var(--fwcp-lime);border-color:var(--fwcp-lime);color:#001746}
#fw-registration .fwcp-order,#fw-registration .fwcp-empty,#fw-registration .fwcp-account{padding:19px 20px;border:1px solid var(--fwcp-line);border-radius:18px;background:var(--fwcp-card);margin-bottom:12px;overflow-wrap:anywhere}
#fw-registration .fwcp-order-top{display:flex;justify-content:space-between;align-items:center;gap:15px}
#fw-registration .fwcp-order-top strong{font-size:16px}
#fw-registration .fwcp-status{color:var(--fwcp-lime);font-size:12px;text-align:right}
#fw-registration .fwcp-order p{margin:12px 0 5px}
#fw-registration .fwcp-order small{display:block;color:var(--fwcp-soft);font-size:12px;margin-top:5px}
#fw-registration .fwcp-empty{color:var(--fwcp-soft);padding:30px 22px}
#fw-registration .fwcp-form{background:var(--fwcp-card);border:1px solid var(--fwcp-line);padding:24px;border-radius:24px;max-width:680px}
#fw-registration .fwcp-form label{display:block;color:var(--fwcp-text);font-size:13px;font-weight:700;margin-bottom:17px}
#fw-registration .fwcp-form input{display:block;width:100%;margin-top:8px;border-radius:14px;border:1px solid var(--fwcp-line);min-height:53px;padding:12px 14px;background:var(--fwcp-bg);color:var(--fwcp-text);font-size:15px}
#fw-registration .fwcp-form input:focus{outline:2px solid var(--fwcp-lime)}
#fw-registration .fwcp-account>div{padding:12px 0;border-bottom:1px solid var(--fwcp-line);overflow-wrap:anywhere}
#fw-registration .fwcp-secondary{padding:14px 22px;border-radius:999px;border:1px solid var(--fwcp-line);background:var(--fwcp-card);color:var(--fwcp-text);cursor:pointer}
#fw-registration .fwcp-location-actions{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}
#fw-registration .fwcp-delete{opacity:.8}
#fw-registration .fwcp-screen[hidden]{display:none!important}
#fw-registration.fw-portal-mode #fw-auth-feedback{position:fixed;z-index:45;top:85px;right:18px;max-width:350px;background:var(--fwcp-card);border-color:var(--fwcp-line);color:var(--fwcp-text)}
@media(max-width:640px){
 #fw-registration.fw-portal-mode{padding:0 18px 115px!important}
 #fw-registration .fwcp-top{padding:75px 0 70px}
 #fw-registration .fwcp-logo{font-size:30px}
 #fw-registration .fwcp-hello{margin-bottom:35px!important;letter-spacing:-1px!important}
 #fw-registration .fwcp-summary{padding:24px 19px;border-radius:24px}
 #fw-registration .fwcp-summary h2{font-size:26px}
 #fw-registration .fwcp-nav{bottom:max(10px,env(safe-area-inset-bottom));height:69px;border-radius:20px}
 #fw-registration .fwcp-nav button{font-size:9px}
 #fw-registration .fwcp-nav button.fwcp-plus{flex-basis:58px;width:58px;height:58px}
 #fw-registration.fw-portal-mode>.fw-theme-toggle{right:76px;top:23px;font-size:10px;padding:8px}
}

/* Flashway 0.4.1 visual parity — edge-to-edge themes */
#fw-registration.fw-portal-mode{
  position:relative!important;
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:100vw!important;
  min-width:0!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  overflow-x:clip;
  padding:0 24px 110px!important;
  background:radial-gradient(ellipse at 25% -10%,#0e2d60 0%,transparent 55%),
    linear-gradient(135deg,#071934 0%,#02091c 100%)!important;
  --fwcp-text:#fff;--fwcp-bg:#07152e;
  --fwcp-card:#121f3d;--fwcp-tile:#1c3157;--fwcp-line:#304263;
  --fwcp-soft:#c2d1e9;--fwcp-lime:#e3ff00;
}
html[data-fw-theme=light] #fw-registration.fw-portal-mode{
  --fwcp-text:#071b3d;
  --fwcp-bg:#0060eb;
  --fwcp-card:#ffffff;
  --fwcp-tile:#e5efff;
  --fwcp-line:#c9dcf8;
  --fwcp-soft:#385b91;
  --fwcp-lime:#e3ff00;
  background:#0060EB!important;
}
body:has(#fw-registration.fw-portal-mode),
html:has(#fw-registration.fw-portal-mode),
body:has(#fw-registration.fw-portal-mode) .wp-site-blocks,
body:has(#fw-registration.fw-portal-mode) .site,
body:has(#fw-registration.fw-portal-mode) main,
body:has(#fw-registration.fw-portal-mode) .entry-content,
body:has(#fw-registration.fw-portal-mode) .wp-block-post-content{
  background-color:#06132c!important;
}
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode),
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .wp-site-blocks,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .site,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) main,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .entry-content,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .wp-block-post-content{
  background-color:#0060eb!important;
}
#fw-registration.fw-portal-mode .fw-container{width:min(100%,1080px)!important;max-width:1080px!important;margin:0 auto!important;padding:0!important}
#fw-registration.fw-portal-mode .fwcp-top{padding:55px 0 98px;min-height:0}
#fw-registration.fw-portal-mode .fwcp-logo{display:inline-flex;align-items:center;max-width:260px}
#fw-registration.fw-portal-mode .fwcp-logo-img{display:block;width:235px;max-width:100%;height:auto;object-fit:contain}
#fw-registration.fw-portal-mode .fwcp-top-actions{padding-right:4px}
#fw-registration.fw-portal-mode .fwcp-icon{display:flex;align-items:center;justify-content:center}
#fw-registration.fw-portal-mode .fwcp-icon svg{width:21px;height:21px;stroke:var(--fwcp-text)}
#fw-registration.fw-portal-mode .fwcp-body{max-width:850px}
#fw-registration.fw-portal-mode .fwcp-nav button>span{display:flex;align-items:center;justify-content:center}
#fw-registration.fw-portal-mode .fwcp-nav button svg{display:block;width:20px;height:20px}
#fw-registration.fw-portal-mode .fwcp-nav button.fwcp-plus svg{width:29px;height:29px;stroke-width:2}
#fw-registration.fw-portal-mode .fwcp-nav button.active:not(.fwcp-plus){color:var(--fwcp-lime)}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-nav button.active:not(.fwcp-plus){color:#071b3d}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-nav{box-shadow:0 16px 46px #002f8e55}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-hello,
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-eyebrow,
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-title,
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-section-title{color:#071b3d!important}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-space{color:#e3ff00!important}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-summary{box-shadow:0 22px 55px #002a8440}
#fw-registration.fw-portal-mode>.fw-theme-toggle{top:25px;right:max(95px,calc((100vw - 1080px)/2 + 80px))}
@media(max-width:640px){
 #fw-registration.fw-portal-mode{padding:0 18px 115px!important}
 #fw-registration.fw-portal-mode .fwcp-top{padding:77px 0 70px}
 #fw-registration.fw-portal-mode .fwcp-logo-img{width:185px}
 #fw-registration.fw-portal-mode>.fw-theme-toggle{right:75px;top:27px}
}
/* Shared address suggestions — registration, pickup, delivery, saved locations */
#fw-registration .fw-address-wrap{position:relative!important}
#fw-registration .fw-address-suggestions{position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:1000;max-height:280px;overflow-y:auto;border-radius:0 0 17px 17px;background:#fff;border:1px solid #c7daf5;box-shadow:0 14px 28px #0003;padding:5px;color:#092554}
#fw-registration .fw-address-suggestions[hidden]{display:none!important}
#fw-registration .fw-address-option{display:flex;width:100%;align-items:flex-start;gap:10px;text-align:left;background:transparent!important;color:#102e58!important;border:0;border-bottom:1px solid #e4edfd;padding:12px 10px;min-height:47px;font:500 13px/1.35 Arial,sans-serif;cursor:pointer;white-space:normal}
#fw-registration .fw-address-option:last-child{border-bottom:0}
#fw-registration .fw-address-option:focus,#fw-registration .fw-address-option:hover{background:#eaf2ff!important;outline:0}
#fw-registration .fw-address-pin{font-size:24px;line-height:1;color:#0060eb;flex-shrink:0}
#fw-registration .fw-address-notice{padding:12px;font:500 12px/1.45 Arial,sans-serif;color:#32537d}
html[data-fw-theme=dark] #fw-registration .fw-address-suggestions{background:#15213b;border-color:#3d5379;box-shadow:0 16px 36px #0008}
html[data-fw-theme=dark] #fw-registration .fw-address-option{color:#fff!important;border-color:#324664}
html[data-fw-theme=dark] #fw-registration .fw-address-option:hover,html[data-fw-theme=dark] #fw-registration .fw-address-option:focus{background:#24385a!important}
html[data-fw-theme=dark] #fw-registration .fw-address-pin{color:#e3ff00}
html[data-fw-theme=dark] #fw-registration .fw-address-notice{color:#d2def3}
@media(max-width:640px){
 #fw-registration .fw-address-suggestions{max-height:230px}
 #fw-registration .fw-address-option{font-size:13px}
}


/* Kilimanjaroo 0.4.2 — continuous backgrounds and unified profile/theme actions.
   Portal-wide rules come after previous 0.4.1 rules to override them cleanly. */
html:has(#fw-registration.fw-portal-mode),
body:has(#fw-registration.fw-portal-mode),
body:has(#fw-registration.fw-portal-mode) .wp-site-blocks,
body:has(#fw-registration.fw-portal-mode) .wp-site-blocks > main,
body:has(#fw-registration.fw-portal-mode) .wp-site-blocks > main > *,
body:has(#fw-registration.fw-portal-mode) .site,
body:has(#fw-registration.fw-portal-mode) .entry-content,
body:has(#fw-registration.fw-portal-mode) .wp-block-post-content,
#fw-registration.fw-portal-mode{
  background:#09152d!important;
  background-image:none!important;
}
html[data-fw-theme=light]:has(#fw-registration.fw-portal-mode),
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode),
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .wp-site-blocks,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .wp-site-blocks > main,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .wp-site-blocks > main > *,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .site,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .entry-content,
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode) .wp-block-post-content,
html[data-fw-theme=light] #fw-registration.fw-portal-mode{
  background:#0060eb!important;
  background-image:none!important;
}
/* Light theme text on the BLUE canvas: white. Card and navigation
   text are independently governed by their dark-on-white theme variables. */
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-hello,
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-eyebrow,
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-title,
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-subtitle,
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-section-title{
  color:#fff!important;
}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-space{
  color:#e3ff00!important;
}
#fw-registration.fw-portal-mode .fwcp-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  padding:0 4px 0 0;
  flex:0 0 auto;
}
#fw-registration.fw-portal-mode .fwcp-top-actions .fw-theme-toggle{
  position:static!important;
  inset:auto!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin:0!important;
  padding:9px 14px;
  border-radius:999px;
  background:#18294d;
  border:1px solid #415477;
  color:#fff;
  font-weight:700;
  font-size:12px;
  line-height:1.1;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:none;
}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-top-actions .fw-theme-toggle{
  background:#fff;
  color:#091c3b;
  border-color:#d6e5fa;
}
#fw-registration.fw-portal-mode .fwcp-top-actions .fwcp-icon{
  position:static;
  margin:0;
  min-width:44px;
  width:44px;
  height:44px;
  background:#18294d;
  color:#fff;
  border-radius:50%;
  flex-shrink:0;
}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-top-actions .fwcp-icon{
  background:#fff;
  color:#091c3b;
}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-top-actions .fwcp-icon svg{
  stroke:#091c3b;
}
@media(max-width:640px){
 #fw-registration.fw-portal-mode .fwcp-top-actions{gap:7px;}
 #fw-registration.fw-portal-mode .fwcp-top-actions .fw-theme-toggle{
  min-height:36px;
  padding:8px 10px;
  font-size:10px;
 }
 #fw-registration.fw-portal-mode .fwcp-top-actions .fwcp-icon{
  min-width:38px;
  width:38px;
  height:38px;
 }
}

@media(max-width:375px){
 #fw-registration.fw-portal-mode .fwcp-logo-img{
  width:clamp(124px,42vw,162px);
 }
 #fw-registration.fw-portal-mode .fwcp-top{
  gap:8px;
 }
 #fw-registration.fw-portal-mode .fwcp-top-actions .fw-theme-toggle{
  padding:8px 8px;
  font-size:9px;
 }
}

/* 0.4.3 — WordPress also sets a dark body background via a higher
   specificity html[data-fw-theme=dark] body:has(...) rule.  Override the
   body itself, not only the blocks inside it, to remove the color seam. */
html[data-fw-theme=dark] body:has(#fw-registration.fw-portal-mode){
  background:#09152d!important;
  background-color:#09152d!important;
  background-image:none!important;
}
html[data-fw-theme=light] body:has(#fw-registration.fw-portal-mode){
  background:#0060eb!important;
  background-color:#0060eb!important;
  background-image:none!important;
}


/* 0.4.4 — center customer dashboard as a single, balanced column */
#fw-registration.fw-portal-mode .fwcp-body{
  width:100%!important;
  max-width:670px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#fw-registration.fw-portal-mode .fwcp-summary{
  width:100%!important;
  margin-inline:auto!important;
}
html[data-fw-theme=light] #fw-registration.fw-portal-mode .fwcp-stats strong{
  color:#0060eb!important;
}
@media(max-width:640px){
 #fw-registration.fw-portal-mode .fwcp-body{
   width:100%!important;
   max-width:100%!important;
 }
}
