
:root{
  --wl-deep:#081b17;
  --wl-deep-2:#0d2922;
  --wl-deep-3:#143d32;
  --wl-green:#0f6b57;
  --wl-green-2:#19866f;
  --wl-gold:#c9ae88;
  --wl-ink:#12201c;
  --wl-ink-soft:#5c6d68;
  --wl-line:rgba(8,35,29,.08);
}

/* page takeover */
html.wl-portal-page,
body.wl-portal-page{
  background:#edf1eb !important;
}
body.wl-portal-page{
  position:relative !important;
  margin:0 !important;
}
body.wl-portal-page::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-1 !important;
  background:
    radial-gradient(circle at 10% 10%, rgba(25,134,111,.10), transparent 24%),
    radial-gradient(circle at 86% 12%, rgba(201,174,136,.08), transparent 22%),
    linear-gradient(180deg, #edf1eb 0%, #f5f7f3 100%) !important;
}

/* remove theme chrome/canvas on portal page */
body.wl-portal-page #page,
body.wl-portal-page .site,
body.wl-portal-page .site-content,
body.wl-portal-page .content-area,
body.wl-portal-page .site-main,
body.wl-portal-page .entry-content,
body.wl-portal-page article,
body.wl-portal-page .post,
body.wl-portal-page .page,
body.wl-portal-page main{
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
}
body.wl-portal-page .site-content,
body.wl-portal-page main,
body.wl-portal-page .content-area{
  padding-top:28px !important;
}

/* hide header/title junk */
body.wl-portal-page header.site-header,
body.wl-portal-page #masthead,
body.wl-portal-page .site-header,
body.wl-portal-page .page-header,
body.wl-portal-page .entry-header,
body.wl-portal-page .wl-hide-on-portal{
  display:none !important;
}

/* portal width */
body.wl-portal-page .wlp-wrap{
  max-width:1180px !important;
  margin:0 auto 80px !important;
  position:relative !important;
}

/* page hero above card */
body.wl-portal-page .wl-v8-page-hero{
  max-width:1180px !important;
  margin:0 auto 22px !important;
  padding:18px 6px 8px !important;
}
body.wl-portal-page .wl-v8-page-hero .wl-v8-page-kicker{
  color:#1d7663 !important;
  font-size:13px !important;
  letter-spacing:.22em !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  margin:0 0 12px !important;
}
body.wl-portal-page .wl-v8-page-hero .wl-v8-page-title{
  color:#111 !important;
  font-size:56px !important;
  line-height:.94 !important;
  letter-spacing:-1.8px !important;
  font-weight:700 !important;
  margin:0 !important;
}
body.wl-portal-page .wl-v8-page-hero .wl-v8-page-sub{
  color:#5c6d68 !important;
  font-size:18px !important;
  line-height:1.55 !important;
  margin:12px 0 0 !important;
  max-width:780px !important;
}

/* card */
body.wl-portal-page .wlp-card{
  position:relative !important;
  padding:28px !important;
  border-radius:36px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,252,249,.98)) !important;
  border:1px solid rgba(8,35,29,.08) !important;
  box-shadow:
    0 44px 110px rgba(8,18,16,.10),
    0 18px 42px rgba(8,18,16,.05),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  overflow:hidden !important;
}
body.wl-portal-page .wlp-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 0 auto 0 !important;
  height:188px !important;
  background:
    radial-gradient(circle at 20% 24%, rgba(39,166,138,.15), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(201,174,136,.12), transparent 24%),
    linear-gradient(135deg, var(--wl-deep) 0%, var(--wl-deep-2) 48%, var(--wl-deep-3) 100%) !important;
  z-index:0 !important;
}
body.wl-portal-page .wlp-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 0 auto 0 !important;
  height:188px !important;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:32px 32px !important;
  opacity:.30 !important;
  z-index:0 !important;
  pointer-events:none !important;
}
body.wl-portal-page .wlp-card > *{
  position:relative !important;
  z-index:2 !important;
}
body.wl-portal-page .wlp-card h3{
  display:none !important;
}

/* card masthead */
body.wl-portal-page .wl-v8-card-hero{
  display:grid !important;
  grid-template-columns:1.4fr .8fr !important;
  gap:24px !important;
  align-items:end !important;
  padding:0 0 22px !important;
  margin:0 0 18px !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}
body.wl-portal-page .wl-v8-card-kicker{
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  letter-spacing:.22em !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  margin:0 0 10px !important;
}
body.wl-portal-page .wl-v8-card-title{
  color:#fff !important;
  font-size:44px !important;
  line-height:1.00 !important;
  letter-spacing:-1.2px !important;
  font-weight:700 !important;
  margin:0 !important;
  text-shadow:0 6px 16px rgba(0,0,0,.16) !important;
}
body.wl-portal-page .wl-v8-card-sub{
  color:rgba(255,255,255,.74) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  margin:10px 0 0 !important;
  max-width:700px !important;
}
body.wl-portal-page .wl-v8-card-right{
  text-align:right !important;
  min-width:220px !important;
}
body.wl-portal-page .wl-v8-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  margin-bottom:12px !important;
}
body.wl-portal-page .wl-v8-card-right strong{
  display:block !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.2 !important;
}
body.wl-portal-page .wl-v8-card-right span{
  display:block !important;
  color:rgba(255,255,255,.72) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  margin-top:6px !important;
}

/* forms */
body.wl-portal-page #wlp-upload-form,
body.wl-portal-page #wlp-pin-form{
  margin:0 0 18px !important;
  padding:20px !important;
  border-radius:24px !important;
  background:linear-gradient(180deg, #fbfcfa 0%, #f2f5f1 100%) !important;
  border:1px solid rgba(8,35,29,.07) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 12px 24px rgba(8,18,16,.04) !important;
  overflow:visible !important;
}

/* exact row alignment */
body.wl-portal-page #wlp-upload-form.wlp-row{
  display:grid !important;
  grid-template-columns: 220px minmax(0,1fr) minmax(0,1fr) 126px !important;
  column-gap:18px !important;
  row-gap:14px !important;
  align-items:end !important;
}
body.wl-portal-page #wlp-pin-form.wlp-row{
  display:grid !important;
  grid-template-columns: minmax(0,1fr) 126px !important;
  column-gap:18px !important;
  align-items:end !important;
}

/* kill old inline flex widths */
body.wl-portal-page #wlp-upload-form > div,
body.wl-portal-page #wlp-pin-form > div{
  min-width:0 !important;
  width:auto !important;
  flex:none !important;
  align-self:end !important;
}
body.wl-portal-page #wlp-upload-form > div:last-child,
body.wl-portal-page #wlp-pin-form > div:last-child{
  width:126px !important;
}

/* labels */
body.wl-portal-page .wlp-card label{
  display:block !important;
  margin:0 0 8px !important;
  color:#24463d !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.16em !important;
  line-height:1.2 !important;
}

/* inputs */
body.wl-portal-page .wlp-card input[type="text"],
body.wl-portal-page .wlp-card input[type="search"],
body.wl-portal-page .wlp-card input[type="email"],
body.wl-portal-page .wlp-card input[type="password"],
body.wl-portal-page .wlp-card select,
body.wl-portal-page .wlp-card textarea{
  width:100% !important;
  min-height:56px !important;
  height:56px !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  border:1px solid rgba(8,35,29,.10) !important;
  background:#fff !important;
  color:#12201c !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 4px 10px rgba(8,18,16,.03) !important;
  box-sizing:border-box !important;
}

/* file input stays native but aligned */
body.wl-portal-page .wlp-card input[type="file"]{
  width:100% !important;
  min-height:56px !important;
  height:56px !important;
  padding:12px 14px !important;
  border-radius:18px !important;
  border:1px solid rgba(8,35,29,.10) !important;
  background:#fff !important;
  color:#12201c !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 4px 10px rgba(8,18,16,.03) !important;
  box-sizing:border-box !important;
}

/* buttons */
body.wl-portal-page .wlp-btn,
body.wl-portal-page .wlp-card button,
body.wl-portal-page .wlp-card input[type="submit"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:126px !important;
  min-width:126px !important;
  height:56px !important;
  min-height:56px !important;
  padding:0 20px !important;
  border:none !important;
  border-radius:18px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  background:linear-gradient(180deg, var(--wl-green-2), var(--wl-green)) !important;
  box-shadow:
    0 16px 34px rgba(15,107,87,.24),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

/* tabs */
body.wl-portal-page .wlp-tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin:18px 0 22px !important;
}
body.wl-portal-page .wlp-tab{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid rgba(8,35,29,.08) !important;
  background:linear-gradient(180deg, #ffffff, #f2f5f1) !important;
  color:#16352d !important;
  font-weight:800 !important;
  box-shadow:0 10px 22px rgba(8,18,16,.04) !important;
}
body.wl-portal-page .wlp-tab.active{
  background:linear-gradient(180deg, var(--wl-green-2), var(--wl-green)) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 16px 34px rgba(15,107,87,.22) !important;
}

/* table */
body.wl-portal-page table.wlp-table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 12px !important;
  margin-top:8px !important;
  background:transparent !important;
}
body.wl-portal-page table.wlp-table thead th{
  padding:0 16px 8px !important;
  border:none !important;
  color:#27483f !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.14em !important;
}
body.wl-portal-page table.wlp-table thead th:last-child{
  color:transparent !important;
  position:relative !important;
}
body.wl-portal-page table.wlp-table thead th:last-child::after{
  content:"Manage";
  font:inherit;
  color:#27483f !important;
}
body.wl-portal-page table.wlp-table tbody tr{
  background:#fff !important;
  box-shadow:0 14px 30px rgba(8,18,16,.05) !important;
}
body.wl-portal-page table.wlp-table tbody td{
  padding:20px 16px !important;
  background:#fff !important;
  border-top:1px solid rgba(8,35,29,.05) !important;
  border-bottom:1px solid rgba(8,35,29,.05) !important;
  vertical-align:middle !important;
}
body.wl-portal-page table.wlp-table tbody td:first-child{
  border-left:1px solid rgba(8,35,29,.05) !important;
  border-radius:16px 0 0 16px !important;
}
body.wl-portal-page table.wlp-table tbody td:last-child{
  border-right:1px solid rgba(8,35,29,.05) !important;
  border-radius:0 16px 16px 0 !important;
}
body.wl-portal-page table.wlp-table a{
  color:var(--wl-green) !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
body.wl-portal-page .wlp-actions{
  display:flex !important;
  gap:10px !important;
}
body.wl-portal-page .wlp-actions .wlp-btn:not(.wlp-btn--primary),
body.wl-portal-page table.wlp-table .wlp-btn:not(.wlp-btn--primary){
  background:linear-gradient(180deg, #f8faf7, #edf1ec) !important;
  color:#22352f !important;
  border:1px solid rgba(8,35,29,.08) !important;
  box-shadow:none !important;
}

@media (max-width: 960px){
  body.wl-portal-page .wl-v8-page-hero{
    padding:10px 16px 4px !important;
  }
  body.wl-portal-page .wl-v8-page-title{
    font-size:40px !important;
  }
  body.wl-portal-page .wlp-wrap{
    margin:0 auto 42px !important;
  }
  body.wl-portal-page .wlp-card{
    margin:0 14px !important;
    padding:18px !important;
    border-radius:24px !important;
  }
  body.wl-portal-page .wlp-card::before,
  body.wl-portal-page .wlp-card::after{
    height:260px !important;
  }
  body.wl-portal-page .wl-v8-card-hero{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  body.wl-portal-page .wl-v8-card-title{
    font-size:34px !important;
  }
  body.wl-portal-page .wl-v8-card-right{
    text-align:left !important;
    min-width:0 !important;
  }
  body.wl-portal-page #wlp-upload-form.wlp-row,
  body.wl-portal-page #wlp-pin-form.wlp-row{
    grid-template-columns:1fr !important;
  }
  body.wl-portal-page #wlp-upload-form > div:last-child,
  body.wl-portal-page #wlp-pin-form > div:last-child,
  body.wl-portal-page .wlp-btn,
  body.wl-portal-page .wlp-card button,
  body.wl-portal-page .wlp-card input[type="submit"]{
    width:100% !important;
    min-width:0 !important;
  }
  body.wl-portal-page .wlp-tab{
    width:100% !important;
    justify-content:flex-start !important;
  }
  body.wl-portal-page table.wlp-table{
    display:block !important;
    overflow-x:auto !important;
  }
}
