/* CPCS FRONTEND ↔ BACKEND INTEGRATION — connection/login gate only. */
body.cpcs-backend-gated{overflow:hidden}
.cpcs-backend-gate{
    position:fixed;
    inset:0;
    z-index:100000;
    display:grid;
    place-items:center;
    padding:28px;
    background:
        radial-gradient(circle at 15% 10%,rgba(37,99,235,.16),transparent 34%),
        radial-gradient(circle at 92% 86%,rgba(14,165,233,.12),transparent 30%),
        linear-gradient(145deg,#f5f9ff 0%,#edf5ff 48%,#f8fbff 100%);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.cpcs-backend-card{
    width:min(760px,100%);
    border:1px solid rgba(148,163,184,.28);
    border-radius:26px;
    background:rgba(255,255,255,.92);
    box-shadow:0 28px 80px rgba(15,23,42,.16);
    backdrop-filter:blur(20px);
    overflow:hidden;
}
.cpcs-backend-brand{
    display:flex;
    align-items:center;
    gap:18px;
    padding:28px 30px 22px;
    border-bottom:1px solid rgba(226,232,240,.9);
}
.cpcs-backend-brand img{width:58px;height:58px;object-fit:contain;flex:0 0 auto}
.cpcs-backend-brand small{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.16em;color:#2563eb}
.cpcs-backend-brand h1{margin:0;color:#0f172a;font-size:28px;line-height:1.15;letter-spacing:-.025em}
.cpcs-backend-brand p{margin:7px 0 0;color:#64748b;font-size:14px;line-height:1.5}
.cpcs-backend-form{padding:24px 30px 28px}
.cpcs-backend-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cpcs-backend-form label{display:block;margin-bottom:16px}
.cpcs-backend-form label>span{display:block;margin-bottom:7px;color:#334155;font-size:12px;font-weight:750}
.cpcs-backend-form input{
    width:100%;
    box-sizing:border-box;
    min-height:44px;
    border:1px solid #d8e1ec;
    border-radius:12px;
    background:#fff;
    padding:10px 12px;
    color:#0f172a;
    font:inherit;
    font-size:13px;
    outline:none;
    transition:border-color .16s ease,box-shadow .16s ease;
}
.cpcs-backend-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.10)}
.cpcs-backend-message{min-height:20px;margin:0 0 10px;font-size:12px;color:#64748b}
.cpcs-backend-message.is-error{color:#b91c1c}
.cpcs-backend-submit{
    width:100%;
    min-height:46px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    box-shadow:0 10px 24px rgba(37,99,235,.22);
    color:#fff;
    font:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}
.cpcs-backend-submit:hover{filter:brightness(1.03)}
.cpcs-backend-submit:disabled{cursor:wait;opacity:.7}
.cpcs-backend-note{margin:12px 4px 0;text-align:center;color:#64748b;font-size:11px;line-height:1.45}
@media(max-width:640px){
    .cpcs-backend-gate{padding:14px}
    .cpcs-backend-card{border-radius:20px}
    .cpcs-backend-brand{align-items:flex-start;padding:22px 20px 18px}
    .cpcs-backend-brand img{width:46px;height:46px}
    .cpcs-backend-brand h1{font-size:23px}
    .cpcs-backend-form{padding:20px}
    .cpcs-backend-grid{grid-template-columns:1fr;gap:0}
}
