/* CFW unified interface layer — loaded after each page's own styles. */
:root{
  --cfw-surface:rgba(255,255,255,.94);
  --cfw-shadow:0 24px 70px -46px rgba(6,62,34,.72);
  --cfw-shadow-up:0 26px 62px -38px rgba(6,62,34,.52);
  --cfw-radius:16px;
  --cfw-line:rgba(16,82,48,.14);
  --cfw-glow:rgba(201,162,39,.18);
}
html{scroll-padding-top:88px}
body.cfw-modern{
  min-width:320px;
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(900px circle at 10% -10%,rgba(0,132,61,.075),transparent 48%),
    radial-gradient(720px circle at 100% 22%,rgba(201,162,39,.055),transparent 48%),
    var(--paper,#F7F5EF);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.cfw-modern::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.24;
  background-image:
    linear-gradient(rgba(6,62,34,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(6,62,34,.035) 1px,transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 72%);
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
}
body.cfw-modern img{max-width:100%}
body.cfw-modern :where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}
body.cfw-modern :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--gold,#C9A227)!important;
  outline-offset:3px;
}
body.cfw-modern .masthead{
  background:rgba(6,62,34,.9)!important;
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  box-shadow:0 12px 36px -30px rgba(0,0,0,.92);
}
body.cfw-modern .masthead-in{min-height:68px}
body.cfw-modern .shield{
  filter:drop-shadow(0 7px 13px rgba(0,0,0,.22));
}
body.cfw-modern .nav a{
  position:relative;
  transition:background .18s,color .18s,transform .18s;
}
body.cfw-modern .nav a:hover{transform:translateY(-1px)}
body.cfw-modern .nav a[aria-current="page"],
body.cfw-modern .nav a[aria-current="true"]{
  background:rgba(255,255,255,.13);
  color:#fff;
}
body.cfw-modern main>section:first-child{
  position:relative;
  isolation:isolate;
}
body.cfw-modern main>section:first-child::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%),
    linear-gradient(transparent 49.8%,rgba(255,255,255,.06) 50%,transparent 50.2%);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(circle at 78% 20%,#000,transparent 65%);
  mask-image:radial-gradient(circle at 78% 20%,#000,transparent 65%);
}
body.cfw-modern .section{padding-block:clamp(52px,7vw,78px)}
body.cfw-modern .wrap{width:min(100%,1200px)}
body.cfw-modern .card{
  border-radius:var(--cfw-radius)!important;
  border-color:rgba(16,82,48,.14)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(252,253,251,.94));
  box-shadow:var(--cfw-shadow);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
@media(hover:hover){
  body.cfw-modern .card:hover{
    border-color:rgba(0,132,61,.3)!important;
    box-shadow:var(--cfw-shadow-up);
  }
}
body.cfw-modern .btn{
  min-height:44px;
  border-radius:11px!important;
  box-shadow:0 12px 26px -20px rgba(6,62,34,.9);
  transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;
}
body.cfw-modern .btn:not(.btn-ghost):not(.btn-ghost-light):not(.btn-danger){
  background-image:linear-gradient(135deg,var(--green,#00843D),var(--green-mid,#046A38));
  border-color:rgba(0,96,44,.78);
}
body.cfw-modern .btn:hover{box-shadow:0 15px 28px -18px rgba(6,62,34,.8)}
body.cfw-modern .btn:active{transform:translateY(1px)}
body.cfw-modern :where(input,select,textarea){
  min-height:46px;
  border-radius:11px!important;
  border-color:rgba(20,33,26,.18)!important;
  transition:border-color .16s,box-shadow .16s,background .16s;
}
body.cfw-modern :where(input,select,textarea):focus{
  border-color:var(--green,#00843D)!important;
  box-shadow:0 0 0 4px rgba(0,132,61,.11)!important;
  outline:0!important;
}
body.cfw-modern :where(input,select,textarea):user-invalid{
  border-color:var(--rust,#B3402F)!important;
  box-shadow:0 0 0 4px rgba(179,64,47,.1)!important;
}
body.cfw-modern .field label{letter-spacing:.01em}
body.cfw-modern table.data{
  border-spacing:0;
  background:#fff;
}
body.cfw-modern table.data th{background:#F1F5F2!important}
body.cfw-modern table.data tbody tr{transition:background .14s}
body.cfw-modern table.data tbody tr:hover{background:#F7FBF8}
body.cfw-modern .tbl-scroll{
  scrollbar-width:thin;
  scrollbar-color:#AEC5B5 transparent;
}
body.cfw-modern .notice{border-radius:12px!important}
body.cfw-modern .pill{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
body.cfw-modern .modal-bg{
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
body.cfw-modern .modal{
  border:1px solid rgba(255,255,255,.42);
  border-radius:18px!important;
  box-shadow:0 32px 90px rgba(6,62,34,.36)!important;
}
.cfw-skip-link{
  position:fixed;
  top:8px;
  left:12px;
  z-index:2000;
  transform:translateY(-150%);
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  color:var(--green-deep,#063E22);
  font-weight:800;
  text-decoration:none;
  box-shadow:0 14px 35px rgba(0,0,0,.25);
  transition:transform .15s;
}
.cfw-skip-link:focus{transform:none}
.cfw-password-wrap{position:relative}
.cfw-password-wrap>input{padding-right:68px!important}
.cfw-password-toggle{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  min-height:34px!important;
  padding:5px 9px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--green,#00843D)!important;
  font:700 11.5px/1 'DM Sans',system-ui,sans-serif!important;
  box-shadow:none!important;
  cursor:pointer;
}
.cfw-password-toggle:hover{background:var(--green-tint,#E8F4ED)!important}
.cfw-protected-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 12px;
  padding:6px 9px;
  border:1px solid rgba(0,132,61,.2);
  border-radius:999px;
  background:rgba(232,244,237,.72);
  color:var(--green-deep,#063E22);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cfw-protected-badge span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green,#00843D);
  box-shadow:0 0 0 4px rgba(0,132,61,.11);
}
body.cfw-modern [aria-busy="true"]{cursor:progress}
body.cfw-modern .foot{position:relative;overflow:hidden}
body.cfw-modern .foot::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;
  background:radial-gradient(600px circle at 80% 0,var(--gold,#C9A227),transparent 60%);
}
body.cfw-modern .foot>.wrap{position:relative}
.cfw-scroll-progress{
  position:fixed;top:0;left:0;width:0;height:3px;z-index:1000;
  background:linear-gradient(90deg,var(--gold,#C9A227),#F0D473);
  box-shadow:0 0 14px rgba(201,162,39,.5);
  pointer-events:none;
}
.cfw-back-top{
  position:fixed;right:18px;bottom:18px;z-index:90;
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  background:rgba(6,62,34,.92);color:#fff;display:grid;place-items:center;
  font:700 18px system-ui;cursor:pointer;
  box-shadow:0 18px 38px -18px rgba(6,62,34,.9);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .18s,visibility .18s,transform .18s,background .18s;
}
.cfw-back-top.is-visible{opacity:1;visibility:visible;transform:none}
.cfw-back-top:hover{background:var(--green-mid,#046A38)}
.cfw-network{
  position:fixed;left:50%;top:82px;z-index:999;
  transform:translate(-50%,-12px);opacity:0;visibility:hidden;
  display:flex;align-items:center;gap:8px;max-width:calc(100% - 28px);
  padding:9px 14px;border-radius:999px;background:#7E2C20;color:#fff;
  font-size:12.5px;font-weight:700;box-shadow:0 15px 32px -18px rgba(0,0,0,.8);
  transition:opacity .18s,visibility .18s,transform .18s;
}
.cfw-network.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.cfw-step-status{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 15px;margin:0 0 12px;border:1px solid var(--line,#DDE5E0);
  border-radius:12px;background:rgba(255,255,255,.84);font-size:12.5px;
  color:var(--ink-soft,#5A6B62);
}
.cfw-step-status strong{color:var(--green,#00843D)}
.cfw-mobile-dock{display:none}
body.cfw-modern[data-page="claim"] .card,
body.cfw-modern[data-page="verify"] .card{
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:0 28px 80px -30px rgba(0,0,0,.65)!important;
}
body.cfw-modern[data-page="apply"] form>.card{overflow:hidden}
body.cfw-modern[data-page="privacy"] main .wrap{max-width:1040px}
body.cfw-modern[data-page="corner"] #filters{
  position:sticky;top:80px;z-index:20;padding:10px;
  background:rgba(247,245,239,.88);backdrop-filter:blur(12px);
  border:1px solid rgba(16,82,48,.12);border-radius:13px;
}
body.cfw-modern[data-page="np"] .workspace-nav,
body.cfw-modern[data-page="cp"] .workspace-nav,
body.cfw-modern[data-page="member"] .member-nav{
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
body.cfw-modern[data-page="np"] .portal-hero,
body.cfw-modern[data-page="cp"] .portal-hero,
body.cfw-modern[data-page="member"] .portal-hero{
  position:relative;
  overflow:hidden;
}
body.cfw-modern[data-page="np"] .portal-hero::after,
body.cfw-modern[data-page="cp"] .portal-hero::after,
body.cfw-modern[data-page="member"] .portal-hero::after{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:-100px;
  top:-210px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(255,255,255,.025),
             0 0 0 96px rgba(201,162,39,.025);
  pointer-events:none;
}
body.cfw-modern[data-page="partner"] .masthead{
  border-bottom:3px solid var(--gold,#C9A227);
}
body.cfw-modern[data-page="partner"] #summary>.stat{
  border-top:3px solid rgba(0,132,61,.28)!important;
}
body.cfw-modern[data-page="partner"] #summary>.stat:first-child{
  border-top-color:var(--gold,#C9A227)!important;
}
body.cfw-modern[data-page="np"] .workspace-toolbar,
body.cfw-modern[data-page="cp"] .workspace-toolbar{
  box-shadow:var(--cfw-shadow);
}
body.cfw-modern .workspace-title::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin:0 8px 2px 0;
  border-radius:50%;
  background:var(--gold,#C9A227);
  box-shadow:0 0 0 5px rgba(201,162,39,.12);
}
@media(max-width:940px){
  body.cfw-modern .nav.open{
    box-shadow:0 24px 55px -24px rgba(0,0,0,.72);
    max-height:calc(100vh - 68px);
    overflow-y:auto;
  }
  body.cfw-modern .nav.open a{min-height:46px;display:flex;align-items:center}
}
@media(max-width:700px){
  html{scroll-padding-top:76px}
  body.cfw-modern{font-size:15.5px}
  body.cfw-modern .section{padding-block:48px}
  body.cfw-modern .wrap{padding-inline:16px!important}
  body.cfw-modern .card{border-radius:14px!important}
  body.cfw-modern :where(.btn,button){min-height:46px}
  body.cfw-modern :where(input,select,textarea){font-size:16px!important}
  body.cfw-modern .masthead-in{
    align-items:flex-start!important;
    gap:10px!important;
  }
  body.cfw-modern[data-page="partner"] .masthead-in>div:last-child{
    width:100%;
    overflow-x:auto;
    padding-bottom:3px;
    justify-content:flex-start;
    scrollbar-width:none;
  }
  body.cfw-modern[data-page="partner"] .masthead-in>div:last-child .btn{
    flex:0 0 auto;
  }
  body.cfw-modern .portal-hero-row{align-items:flex-start}
  body.cfw-modern .portal-hero-row>.btn,
  body.cfw-modern .portal-hero-row>button{width:100%}
  body.cfw-modern[data-page="index"],
  body.cfw-modern[data-page="services"],
  body.cfw-modern[data-page="apply"],
  body.cfw-modern[data-page="corner"],
  body.cfw-modern[data-page="privacy"]{padding-bottom:70px}
  .cfw-mobile-dock{
    position:fixed;left:10px;right:10px;bottom:9px;z-index:85;
    display:grid;grid-template-columns:repeat(4,1fr);padding:6px;
    background:rgba(6,62,34,.94);border:1px solid rgba(255,255,255,.16);
    border-radius:17px;box-shadow:0 24px 55px -20px rgba(0,0,0,.85);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  }
  .cfw-mobile-dock a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;min-height:48px;padding:5px 2px;border-radius:11px;color:rgba(255,255,255,.72);
    text-decoration:none;font-size:9.5px;font-weight:700;line-height:1.15;
  }
  .cfw-mobile-dock a span{font-size:16px;line-height:1}
  .cfw-mobile-dock a[aria-current="page"]{background:rgba(255,255,255,.13);color:#fff}
  .cfw-back-top{right:14px;bottom:82px;width:44px;height:44px}
  body.cfw-modern[data-page="corner"] #filters{top:70px;overflow-x:auto;flex-wrap:nowrap!important}
  body.cfw-modern[data-page="corner"] #filters .btn{white-space:nowrap;flex:0 0 auto}

  body.cfw-modern table.cfw-table-cards{
    min-width:0!important;
    display:block;
    background:transparent!important;
  }
  body.cfw-modern table.cfw-table-cards thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  body.cfw-modern table.cfw-table-cards tbody,
  body.cfw-modern table.cfw-table-cards tr,
  body.cfw-modern table.cfw-table-cards td{display:block;width:100%}
  body.cfw-modern table.cfw-table-cards tbody{
    display:grid;
    gap:12px;
  }
  body.cfw-modern table.cfw-table-cards tr{
    overflow:hidden;
    border:1px solid var(--cfw-line);
    border-radius:13px;
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 38px -34px rgba(6,62,34,.7);
  }
  body.cfw-modern table.cfw-table-cards td{
    display:grid;
    grid-template-columns:minmax(105px,.42fr) minmax(0,.58fr);
    align-items:start;
    gap:12px;
    min-height:42px;
    padding:10px 12px!important;
    text-align:left!important;
    overflow-wrap:anywhere;
  }
  body.cfw-modern table.cfw-table-cards td::before{
    content:attr(data-label);
    color:var(--ink-soft,#5A6B62);
    font-size:9.5px;
    line-height:1.4;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
  }
  body.cfw-modern table.cfw-table-cards td[colspan]{
    display:block;
  }
  body.cfw-modern table.cfw-table-cards td[colspan]::before{content:none}
  body.cfw-modern table.cfw-table-cards td:last-child{
    border-bottom:0!important;
  }
}
@media(max-width:520px){
  body.cfw-modern .brand-txt .n{font-size:14px}
  body.cfw-modern .brand-txt .s{font-size:8px}
  body.cfw-modern .modal{padding:20px!important}
  body.cfw-modern table.data th,
  body.cfw-modern table.data td{padding-inline:11px}
  body.cfw-modern .modal-bg{
    place-items:end center;
    padding:0;
  }
  body.cfw-modern .modal{
    width:100%;
    max-width:none!important;
    max-height:90vh;
    border-radius:20px 20px 0 0!important;
    padding:22px 18px max(24px,env(safe-area-inset-bottom))!important;
  }
  body.cfw-modern table.cfw-table-cards td{
    grid-template-columns:96px minmax(0,1fr);
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.cfw-modern *,body.cfw-modern *::before,body.cfw-modern *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
@media print{
  .cfw-scroll-progress,.cfw-back-top,.cfw-network,.cfw-mobile-dock,
  .cfw-step-status{display:none!important}
  body.cfw-modern{background:#fff!important;padding-bottom:0!important}
  body.cfw-modern .card{box-shadow:none!important}
}
