/* =========================================================
   RAZ CLOUD — CUSTOMER WORKFLOW V6
   Source-first customer workflow
   Does NOT control sidebar geometry
   ========================================================= */

/* ---------- NEW CUSTOMER ---------- */

.nc-main{
    max-width:1600px;
}

.nc-layout{
    align-items:start;
}

.nc-summary{
    box-shadow:
        0 10px 35px rgba(15,23,42,.04);
}

.nc-summary::before{
    content:"";
    display:block;
    height:3px;
    background:linear-gradient(
        90deg,
        var(--raz-primary, #2c7be5),
        var(--accent, #00d27a)
    );
}

.nc-summary-progress{
    padding:12px 14px 4px;
}

.nc-summary-progress-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:7px;
    font-size:8px;
    color:var(--muted);
}

.nc-summary-progress-head strong{
    color:var(--text);
}

.nc-summary-progress-track{
    height:5px;
    border-radius:99px;
    overflow:hidden;
    background:rgba(127,143,164,.14);
}

.nc-summary-progress-bar{
    width:25%;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(
        90deg,
        var(--raz-primary, #2c7be5),
        var(--accent, #00d27a)
    );
    transition:width .25s ease;
}

.nc-step{
    position:relative;
}

.nc-step.done strong{
    color:var(--text);
}

.nc-step-line.done{
    background:linear-gradient(
        90deg,
        var(--accent, #00d27a),
        rgba(0,210,122,.25)
    );
}

.nc-field-error{
    display:none;
    margin:5px 2px 0;
    color:#e63757;
    font-size:8px;
    font-weight:600;
}

.nc-field.invalid .nc-field-error{
    display:block;
}

.nc-section-actions{
    position:relative;
}

.nc-step-hint{
    margin-right:auto;
    color:var(--muted);
    font-size:8px;
}

.nc-draft-state{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-left:8px;
    color:var(--muted);
    font-size:8px;
}

.nc-draft-state::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#94a3b8;
}

.nc-draft-state.saved::before{
    background:#00d27a;
}

.nc-service-option{
    position:relative;
}

.nc-service-option.active::after{
    content:"Selected";
    position:absolute;
    top:10px;
    right:11px;
    color:var(--accent);
    font-size:7px;
    font-weight:800;
    letter-spacing:.4px;
    text-transform:uppercase;
}

.nc-payment-state{
    margin:0 18px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:10px;
    background:rgba(127,143,164,.035);
}

.nc-payment-state span{
    color:var(--muted);
    font-size:8px;
}

.nc-payment-state strong{
    font-size:9px;
    color:var(--text);
}

.nc-payment-state.paid strong{
    color:#00d27a;
}

.nc-payment-state.due strong{
    color:#f5803e;
}

.nc-final-review{
    margin:0 18px 18px;
    padding:13px 14px;
    border:1px solid rgba(44,123,229,.16);
    border-radius:10px;
    background:rgba(44,123,229,.035);
    font-size:8px;
    line-height:1.6;
    color:var(--muted);
}

.nc-final-review strong{
    color:var(--text);
}


/* ---------- CUSTOMER PROFILE — VIEW FIRST ---------- */

.cp-card{
    position:relative;
}

.cp-card.cp-editing{
    box-shadow:
        0 0 0 1px rgba(44,123,229,.12),
        0 15px 35px rgba(15,23,42,.05);
}

.cp-card header{
    transition:background .2s ease;
}

.cp-card.cp-editing header{
    background:
        linear-gradient(
            90deg,
            rgba(44,123,229,.055),
            transparent 55%
        );
}

.cp-form input:disabled,
.cp-form select:disabled,
.cp-form textarea:disabled{
    opacity:1;
    cursor:default;
    color:var(--text);
    -webkit-text-fill-color:var(--text);
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    padding-left:0;
}

.cp-form textarea:disabled{
    resize:none;
}

.cp-form select:disabled{
    appearance:none;
    background-image:none;
}

.cp-form label > span{
    transition:color .2s ease;
}

.cp-card.cp-editing .cp-form label > span{
    color:var(--raz-primary, #2c7be5);
}

.cp-save{
    min-width:78px;
}

.cp-save[data-mode="edit"]{
    color:var(--raz-primary, #2c7be5);
    background:rgba(44,123,229,.06);
    border-color:rgba(44,123,229,.18);
}

.cp-save[data-mode="save"]{
    color:white;
    background:var(--raz-primary, #2c7be5);
    border-color:var(--raz-primary, #2c7be5);
}

.cp-cancel{
    height:31px;
    display:none;
    align-items:center;
    justify-content:center;
    margin-left:7px;
    padding:0 11px;
    border:1px solid var(--border);
    border-radius:8px;
    background:transparent;
    color:var(--muted);
    font:inherit;
    font-size:8px;
    font-weight:700;
    cursor:pointer;
}

.cp-card.cp-editing .cp-cancel{
    display:inline-flex;
}

.cp-card-state{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-left:10px;
    color:var(--muted);
    font-size:8px;
}

.cp-card-state::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#94a3b8;
}

.cp-card-state.editing::before{
    background:#2c7be5;
}

.cp-service-type button:disabled{
    cursor:default;
    opacity:.72;
}

.cp-service-type button.active:disabled{
    opacity:1;
}

.cp-profile-contact{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:9px;
}

.cp-profile-contact span{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 8px;
    border:1px solid var(--border);
    border-radius:7px;
    background:var(--surface);
    color:var(--muted);
    font-size:8px;
}

.cp-empty-value{
    color:var(--muted) !important;
}

.cp-payment-box{
    position:relative;
}

.cp-payment-box::before{
    content:"Independent billing transaction";
    position:absolute;
    top:-12px;
    right:0;
    color:var(--muted);
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.5px;
}


/* ---------- TABLET ---------- */

@media (max-width:1100px){

    .nc-summary{
        order:-1;
    }

    .nc-summary-head{
        padding-bottom:10px;
    }

    .nc-summary-list{
        padding-top:2px;
    }
}


/* ---------- MOBILE ---------- */

@media (max-width:760px){

    .nc-main,
    .cp-main{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .nc-stepper{
        scrollbar-width:none;
    }

    .nc-stepper::-webkit-scrollbar{
        display:none;
    }

    .nc-summary{
        border-radius:12px;
    }

    .nc-summary-progress{
        padding-top:10px;
    }

    .nc-section{
        border-radius:12px;
    }

    .nc-section-header{
        min-height:64px;
        padding:13px 14px;
    }

    .nc-form-grid{
        padding:16px 14px 18px;
    }

    .nc-section-actions{
        padding:11px 14px;
    }

    .cp-summary-grid{
        grid-template-columns:1fr 1fr !important;
    }

    .cp-card header{
        align-items:flex-start;
    }
}

@media (max-width:520px){

    .nc-step{
        min-width:88px;
    }

    .nc-step > div{
        display:none;
    }

    .nc-step-line{
        flex:1;
    }

    .nc-summary-list{
        grid-template-columns:1fr 1fr;
    }

    .nc-summary-note{
        margin-top:4px;
    }

    .cp-summary-grid{
        grid-template-columns:1fr 1fr !important;
    }

    .cp-profile-contact{
        gap:5px;
    }
}

/* =========================================================
   CUSTOMER PROFILE V6.2 — FINAL POLISH
   ========================================================= */

.cp-card:not(.cp-editing) .cp-form{
    gap:12px 18px;
}

.cp-card:not(.cp-editing) .cp-form label{
    min-height:46px;
    padding:8px 10px;
    border-bottom:1px solid rgba(127,143,164,.10);
}

.cp-card:not(.cp-editing) .cp-form label > span{
    margin-bottom:4px;
    color:var(--muted);
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.45px;
}

.cp-card:not(.cp-editing) .cp-form input:disabled,
.cp-card:not(.cp-editing) .cp-form select:disabled,
.cp-card:not(.cp-editing) .cp-form textarea:disabled{
    min-height:auto;
    height:auto;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:var(--text);
    font-size:10px;
    font-weight:650;
}

.cp-card:not(.cp-editing) .cp-form textarea:disabled{
    min-height:30px;
}

.cp-card:not(.cp-editing) .cp-inline{
    display:flex;
    gap:5px;
    align-items:center;
}

.cp-card:not(.cp-editing) .cp-inline input{
    flex:0 0 auto;
    width:auto;
    max-width:90px;
}

.cp-card:not(.cp-editing) .cp-inline select{
    width:auto;
}

.cp-save[data-mode="edit"]{
    min-width:82px;
    height:32px;
    font-size:8px;
}

.cp-save[data-mode="edit"]::before{
    content:"✎";
    margin-right:6px;
    font-size:9px;
}

.cp-card:not(.cp-editing) #servicePassword{
    display:none;
}

.cp-card:not(.cp-editing) label:has(#servicePassword){
    display:none;
}

.cp-service-status-row{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    padding:0 15px 14px;
}

.cp-service-badge{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 9px;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(127,143,164,.04);
    color:var(--muted);
    font-size:7px;
    font-weight:750;
}

.cp-service-badge.cloud{
    color:#00d27a;
    border-color:rgba(0,210,122,.22);
    background:rgba(0,210,122,.06);
}

.cp-service-badge.edge{
    color:#f5803e;
    border-color:rgba(245,128,62,.22);
    background:rgba(245,128,62,.06);
}

@media (max-width:760px){
    .cp-card:not(.cp-editing) .cp-form label{
        min-height:42px;
    }
}
