:root{
  --bpa-color-primary:#2F5993;
  --bpa-color-primary-hover:#223356;
  --bpa-color-text:#291C2D;
  --bpa-color-muted:rgba(41,28,45,.66);
  --bpa-color-surface:#ffffff;
  --bpa-color-border:rgba(34,51,86,.12);
  --bpa-color-border-strong:rgba(34,51,86,.18);

  --bpa-panel-bg:#F7F3EE;

  --bpa-btn-primary-bg:#2F5993;
  --bpa-btn-primary-border:#2F5993;
  --bpa-btn-primary-color:#ffffff;
  --bpa-btn-primary-hover-bg:#223356;
  --bpa-btn-primary-hover-border:#223356;
  --bpa-btn-primary-hover-color:#ffffff;

  --bpa-btn-secondary-bg:#ffffff;
  --bpa-btn-secondary-border:rgba(34,51,86,.14);
  --bpa-btn-secondary-color:#223356;
  --bpa-btn-secondary-hover-bg:#eef3f8;
  --bpa-btn-secondary-hover-border:rgba(34,51,86,.22);
  --bpa-btn-secondary-hover-color:#223356;

  --bpa-shadow-sm:0 10px 24px rgba(34,51,86,.06);
  --bpa-shadow-md:0 10px 30px rgba(34,51,86,.08);
  --bpa-radius-sm:12px;
  --bpa-radius-md:16px;
  --bpa-radius-lg:20px;
  --bpa-radius-xl:24px;
}

.bpa-wrap{
  max-width:920px;
  margin:0 auto;
  padding:12px;
}

.bpa-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.bpa-card{
  border:1px solid var(--bpa-color-border);
  border-radius:var(--bpa-radius-md);
  padding:14px;
  background:var(--bpa-color-surface);
  box-shadow:var(--bpa-shadow-sm);
}

.bpa-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.bpa-row .bpa-spacer{
  flex:1;
}

.bpa-title{
  margin:0 0 8px;
  font-size:18px;
  font-weight:700;
  line-height:1.3;
  color:var(--bpa-color-text);
}

.bpa-muted{
  color:var(--bpa-color-muted);
  font-size:14px;
}

.bpa-btn,
.bpa-btn-primary,
.bpa-btn-secondary,
.bpa-btn-danger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 16px;
  border-radius:12px;
  border:1px solid var(--bpa-color-border-strong);
  background:#ffffff;
  color:var(--bpa-color-text);
  font:inherit;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

.bpa-btn:hover,
.bpa-btn-primary:hover,
.bpa-btn-secondary:hover,
.bpa-btn-danger:hover{
  transform:translateY(-1px);
}

.bpa-btn.primary,
.bpa-btn-primary{
  background:var(--bpa-btn-primary-bg);
  border-color:var(--bpa-btn-primary-border);
  color:var(--bpa-btn-primary-color);
}

.bpa-btn.primary:hover,
.bpa-btn.primary:focus,
.bpa-btn-primary:hover,
.bpa-btn-primary:focus{
  background:var(--bpa-btn-primary-hover-bg);
  border-color:var(--bpa-btn-primary-hover-border);
  color:var(--bpa-btn-primary-hover-color);
}

.bpa-btn-secondary{
  background:var(--bpa-btn-secondary-bg);
  border-color:var(--bpa-btn-secondary-border);
  color:var(--bpa-btn-secondary-color);
}

.bpa-btn-secondary:hover,
.bpa-btn-secondary:focus{
  background:#e8eef7;
  border-color:rgba(34,51,86,.22);
  color:#223356;
}

.bpa-btn-danger{
  background:#fbf1f0;
  border-color:rgba(180,35,24,.10);
  color:#b42318;
}

.bpa-btn-danger:hover,
.bpa-btn-danger:focus{
  background:#f8e7e5;
  border-color:rgba(180,35,24,.14);
  color:#972014;
}

.bpa-btn:disabled,
.bpa-btn.primary:disabled,
.bpa-btn-primary:disabled,
.bpa-btn-secondary:disabled,
.bpa-btn-danger:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.bpa-toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:#111;
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  opacity:0;
  transition:opacity .18s ease;
  z-index:99999;
  max-width:92vw;
}

.bpa-toast.show{
  opacity:1;
}

.bpa-toast-success{
  background:#1f7a3a;
}

.bpa-toast-error{
  background:#a32020;
}

.bpa-toast-info{
  background:#111;
}

.bpa-respond-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 14px;
  border-radius:10px;
  font-size:14px;
  line-height:1.2;
  cursor:pointer;
  box-sizing:border-box;
}

.bpa-respond-btn.bpa-btn-primary{
  background:var(--bpa-color-primary);
  border:1px solid var(--bpa-color-primary);
  color:#fff;
}

.bpa-respond-btn.bpa-btn-primary:hover{
  background:var(--bpa-color-primary-hover);
  border-color:var(--bpa-color-primary-hover);
}

/* =========================================
   BPA Shared panel shell
   ========================================= */

   .bpa-shell{
    width:100%;
    max-width:1440px;
    margin:0 auto;
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:24px;
    align-items:start;
    box-sizing:border-box;
  }
  
  .bpa-sidebar{
    position:sticky;
    top:24px;
  }
  
  .bpa-sidebar-card,
  .bpa-panel-nav,
  .bpa-main-section{
    background:var(--bpa-color-surface);
    border:1px solid var(--bpa-color-border);
    border-radius:24px;
    box-shadow:var(--bpa-shadow-md);
  }
  
  .bpa-sidebar-card{
    padding:22px;
    margin-bottom:14px;
  }
  
  .bpa-panel-kicker{
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800;
    color:rgba(41,28,45,.60);
    margin-bottom:8px;
  }
  
  .bpa-panel-title{
    margin:0;
    font-size:28px;
    line-height:1.1;
    color:var(--bpa-color-text);
  }
  
  .bpa-panel-lead{
    margin:10px 0 0;
    color:var(--bpa-color-muted);
    line-height:1.55;
  }
  
  .bpa-panel-nav{
    padding:10px;
    display:grid;
    gap:8px;
  }
  
  .bpa-nav-btn,
  .bpa-subtab-btn,
  .bpa-request-tab-btn{
    appearance:none;
    border:1px solid transparent;
    background:rgba(104,76,107,0.06);
    color:var(--bpa-color-text);
    border-radius:16px;
    min-height:48px;
    padding:12px 16px;
    text-align:left;
    font-weight:800;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
    box-shadow:none;
  }
  
  .bpa-nav-btn:hover,
  .bpa-subtab-btn:hover,
  .bpa-request-tab-btn:hover{
  background:#e8eef7;
  border-color:rgba(34,51,86,.22);
  color:#223356;
}
  
  .bpa-nav-btn.is-active,
  .bpa-subtab-btn.is-active,
  .bpa-request-tab-btn.is-active{
    background:#2F5993;
    color:#ffffff;
    border-color:#2F5993;
  }
  
  .bpa-main-section{
    display:none;
    padding:24px;
  }
  
  .bpa-main-section.is-active{
    display:block;
  }
  
  .bpa-subtabs,
  .bpa-request-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:16px 0 14px;
  }
  
  .bpa-box{
    width:100%;
    max-width:none;
    margin:0;
    padding:18px;
    background:var(--bpa-color-surface);
    border:1px solid var(--bpa-color-border);
    border-radius:20px;
    box-shadow:var(--bpa-shadow-sm);
    box-sizing:border-box;
  }
  
  @media (max-width: 980px){
    .bpa-shell{
      grid-template-columns:1fr;
      padding:0;
    }
  
    .bpa-sidebar{
      position:static;
    }
  }
