.peercore-login__link{
color:#142850;
font-weight:600;
cursor:pointer;
text-decoration:none;
}

.peercore-login__link:hover,
.peercore-login__link:focus{
text-decoration:none;
}

.peercore-dashboard-link{
display:inline-flex;
align-items:center;
justify-content:center;
line-height:0;
vertical-align:middle;
}

.peercore-dashboard-link svg{
display:block;
}

/* =====================================================
   LOGIN POPUP (custom, replaces Auth0 Lock)
===================================================== */

.peercore-login-modal{
display:none;
position:fixed;
inset:0;
z-index:100000;
align-items:center;
justify-content:center;
}

.peercore-login-modal.is-open{
display:flex;
}

.peercore-login-modal__overlay{
position:absolute;
inset:0;
background:rgba(10,20,40,.55);
}

.peercore-login-modal__panel{
position:relative;
width:100%;
max-width:380px;
margin:20px;
background:#fff;
border-radius:14px;
padding:32px;
box-sizing:border-box;
text-align:center;
box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.peercore-login-modal__close{
position:absolute;
top:15px;
right:10px;
border:none !important;
background:none !important;
box-shadow:none !important;
padding:0 !important;
appearance:none;
-webkit-appearance:none;
color:#50575e !important;
font-size: 40px!important;
    font-weight: 400!important;
line-height:1;
cursor:pointer;
}

.peercore-login-modal__logo{
max-width:140px;
max-height:60px;
margin:0 auto 14px;
display:block;
}

.peercore-login-modal__title{
margin:0 0 20px;
font-size:22px;
font-weight:800;
color:#142850;
}

.peercore-login-modal__error{
margin:0 0 16px;
padding:10px 12px;
background:#fdecea;
color:#c0392b;
border-radius:8px;
font-size:13px;
text-align:left;
}

.peercore-login-modal__form{
display:flex;
flex-direction:column;
gap:14px;
}

.peercore-login-modal__label{
display:flex;
flex-direction:column;
gap:6px;
text-align:left;
font-size:13px;
font-weight:600;
color:#50575e;
}

.peercore-login-modal__input{
width:100%;
box-sizing:border-box;
padding:10px 12px;
border:1px solid #d7dae0;
border-radius:8px;
font-size:14px;
font-family:inherit;
}

.peercore-login-modal__submit{
margin-top:6px;
width:100%;
background:#142850 !important;
background-image:none !important;
box-shadow:none !important;
color:#fff !important;
border:none !important;
border-radius:10px;
padding:12px;
font-family:inherit;
font-weight:700;
font-size:15px;
cursor:pointer;
}

.peercore-login-modal__submit:hover,
.peercore-login-modal__submit:focus{
filter:brightness(0.9);
}

.peercore-login-modal__submit:disabled{
opacity:.7;
cursor:default;
}

/* =====================================================
   DASHBOARD
===================================================== */

.peercore-dashboard{
max-width:900px;
margin:0 auto;
padding:30px 20px;
}

.peercore-dashboard--locked{
text-align:center;
padding:60px 20px;
}

.peercore-dashboard--locked a{
color:#142850;
font-weight:700;
}

.peercore-dashboard__header{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
flex-wrap:wrap;
margin-bottom:20px;
padding-bottom:16px;
border-bottom:1px solid #e3e6ea;
}

.peercore-dashboard__header h2{
margin:0;
color:#142850;
}

/* [peercore_customer_selector] - standalone, placeable anywhere (e.g. the
   header next to the cart icon), compact enough to sit inline with nav. */
.peercore-customer-selector{
display:inline-flex;
align-items:center;
gap:8px;
color:#142850;
font-size:14px;
}

.peercore-customer-selector--single{
font-weight:600;
}

.peercore-customer-selector__select{
padding:6px 10px;
border:1px solid #d7dae0;
border-radius:8px;
color:#142850;
background:#fff;
font-size:13px;
max-width:180px;
}

.peercore-customer-selector__msg{
font-size:12px;
color:#8a8f98;
}

/* Full-screen centered loader shown while switching customer (created on
   demand by shortcodes/customer-selector.php's JS). */
.peercore-customer-switch-overlay{
display:none;
position:fixed;
inset:0;
z-index:100020;
align-items:center;
justify-content:center;
flex-direction:column;
gap:14px;
background:rgba(255,255,255,.85);
}

.peercore-customer-switch-overlay.is-active{
display:flex;
}

.peercore-customer-switch-overlay__spinner{
width:40px;
height:40px;
border:3px solid #d7dae0;
border-top-color:#046bd2;
border-radius:50%;
animation:peercore-customer-switch-spin .8s linear infinite;
}

.peercore-customer-switch-overlay__text{
margin:0;
font-size:14px;
color:#142850;
font-weight:600;
}

@keyframes peercore-customer-switch-spin{
to{ transform:rotate(360deg); }
}

