/* ==========================================
   CONTROL ACCESS V2
   Master / Delegato gratuito / futuri Extra
   ========================================== */

.control-access-module{
    max-width:1100px;
    margin:20px auto 40px auto;
    padding:20px 25px;
    background:#0f1622;
    border:1px solid #1f2a3d;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    gap:22px;
}

.control-access-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
}

.control-access-header p{
    max-width:700px;
    margin-top:8px;
    font-size:13px;
    color:#9fb4d0;
    line-height:1.6;
}

.control-access-back-btn{
    background:#1f2a3d;
    color:#cfe3ff;
    border:1px solid #32435e;
    padding:8px 12px;
    border-radius:7px;
    font-size:11px;
    font-weight:600;
    cursor:pointer;
    white-space:nowrap;
    transition:all 0.2s ease;
}

.control-access-back-btn:hover{
    background:#283952;
}

.control-access-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
}

.control-access-stat{
    background:#121b2a;
    border:1px solid #1f2a3d;
    border-radius:10px;
    padding:15px;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.control-access-stat span{
    font-size:12px;
    color:#8aa2c4;
}

.control-access-stat strong{
    font-size:19px;
    color:#d6e3ff;
}

.control-access-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:18px;
}

.control-access-card{
    background:#121b2a;
    border:1px solid #1f2a3d;
    border-radius:12px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.control-access-card.master{
    border-left:3px solid #5ea2ff;
}

.control-access-card.delegate{
    border-left:3px solid #00ff88;
}

.control-access-card.warning{
    border-left:3px solid #ffd666;
}

.control-access-role-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}

.control-access-role-row h3{
    font-size:16px;
    color:#d6e3ff;
}

.control-access-badge{
    font-size:10px;
    padding:4px 7px;
    border-radius:5px;
    letter-spacing:1px;
    font-weight:600;
}

.control-access-badge.master{
    background:#102b4d;
    color:#7db8ff;
}

.control-access-badge.active{
    background:#123d2b;
    color:#00ff88;
}

.control-access-badge.included{
    background:#3b2d08;
    color:#ffd666;
}

.control-access-name{
    font-size:18px;
    color:#eaf2ff;
    font-weight:600;
}

.control-access-description{
    font-size:13px;
    color:#9fb4d0;
    line-height:1.55;
}

.control-access-meta{
    display:flex;
    align-items:center;
    gap:6px;
    width:fit-content;
    background:#0f1622;
    border:1px solid #32435e;
    border-radius:8px;
    padding:8px 10px;
    font-size:12px;
    color:#8aa2c4;
}

.control-access-meta strong{
    color:#eaf2ff;
    font-size:13px;
}

.control-access-link-box{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:4px;
}

.control-access-link-box label,
.control-access-form label{
    font-size:12px;
    color:#8aa2c4;
}

.control-access-link-box input,
.control-access-form input{
    width:100%;
    box-sizing:border-box;
    background:#0f1622;
    color:#d6e3ff;
    border:1px solid #32435e;
    border-radius:7px;
    padding:10px;
    font-size:12px;
}

.control-access-link-box button,
.control-access-form button{
    background:#1f2a3d;
    color:#cfe3ff;
    border:1px solid #32435e;
    padding:9px 12px;
    border-radius:7px;
    font-size:11px;
    font-weight:600;
    cursor:pointer;
    transition:all 0.2s ease;
}

.control-access-link-box button:hover,
.control-access-form button:hover{
    background:#283952;
}

.control-access-link-box .control-access-btn-regenerate{
    background:#3b2d08;
    color:#ffd666;
    border-color:#7a5b12;
}

.control-access-link-box .control-access-btn-regenerate:hover{
    background:#503d0c;
}

.control-access-link-box .control-access-btn-replace{
    background:#3d1618;
    color:#ff9b9b;
    border-color:#7a2d32;
}

.control-access-link-box .control-access-btn-replace:hover{
    background:#552024;
}

.control-access-form{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.control-access-future-box{
    background:#121b2a;
    border:1px solid #1f2a3d;
    border-left:3px solid #ffd666;
    border-radius:12px;
    padding:18px;
}

.control-access-future-box h3{
    font-size:15px;
    color:#d6e3ff;
    margin-bottom:8px;
}

.control-access-future-box p{
    font-size:13px;
    color:#9fb4d0;
    line-height:1.6;
}

@media (max-width:700px){

    .control-access-module{
        padding:18px;
    }

    .control-access-header{
        flex-direction:column;
    }

    .control-access-back-btn{
        width:100%;
    }

    .control-access-grid{
        grid-template-columns:1fr;
    }
}

.control-access-info-box{
    background:#121b2a;
    border:1px solid #1f2a3d;
    border-left:3px solid #5ea2ff;
    border-radius:12px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.control-access-info-box h3{
    font-size:15px;
    color:#d6e3ff;
}

.control-access-info-box p{
    font-size:13px;
    color:#9fb4d0;
    line-height:1.65;
}

.control-access-card.extra{
    border-left:3px solid #b889ff;
}

.control-access-badge.extra{
    background:#27183f;
    color:#caa8ff;
}

.control-access-extra-pricing{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px;
    margin:14px 0;
}

.control-access-extra-pricing > div{
    background:#0f1622;
    border:1px solid #1f2a3d;
    border-radius:9px;
    padding:12px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.control-access-extra-pricing span{
    font-size:11px;
    color:#8aa2c4;
}

.control-access-extra-pricing strong{
    font-size:16px;
    color:#eaf2ff;
}


.control-access-extra-pricing .control-access-extra-current-cost{
    border-color:#1d6a48;
    box-shadow:0 0 0 1px rgba(0,255,136,0.10);
}

.control-access-extra-pricing .control-access-extra-current-cost strong{
    color:#00ff88;
}


.control-access-form .control-access-btn-buy-extra{
    background:#123d2b;
    color:#00ff88;
    border-color:#1d6a48;
}

.control-access-form .control-access-btn-buy-extra:hover{
    background:#185438;
}

.control-access-form .control-access-btn-buy-extra:disabled{
    background:#202734;
    color:#7e8da5;
    border-color:#32435e;
    cursor:not-allowed;
    opacity:0.8;
}

/* ==========================================
   CONTROL ACCESS V2 – EXTRA / CREDITO
   ========================================== */

.control-access-extra-pricing .control-access-extra-insufficient-credit{
    border-color:#7a2d32;
    box-shadow:0 0 0 1px rgba(255,90,90,0.10);
}

.control-access-extra-pricing .control-access-extra-insufficient-credit strong{
    color:#ff9b9b;
}

.control-access-extra-pricing .control-access-extra-insufficient-credit em{
    font-size:11px;
    color:#ff9b9b;
    font-style:normal;
    font-weight:600;
    margin-top:2px;
}

.control-access-extra-pricing .control-access-extra-insufficient-credit button{
    margin-top:4px;
    background:#3d1618;
    color:#ff9b9b;
    border:1px solid #7a2d32;
    padding:7px 9px;
    border-radius:7px;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
    transition:all 0.2s ease;
}

.control-access-extra-pricing .control-access-extra-insufficient-credit button:hover{
    background:#552024;
}
