/* =========================================================
   HOSTVISION COMPONENTS
   hostvision-components.css
   REUSABLE UI COMPONENTS
========================================================= */


/* =========================================================
   SECTION WRAPPERS
========================================================= */

.hv-section{

    margin-bottom:42px;

}

.hv-section-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:24px;

    margin-bottom:26px;

}

.hv-section-title{

    font-size:28px;

    line-height:1.05;

    letter-spacing:-1px;

    font-weight:800;

}

.hv-section-description{

    margin-top:10px;

    font-size:15px;

    color:#64748b;

}


/* =========================================================
   METRIC CARDS
========================================================= */

.hv-metric-card{

    position:relative;

    overflow:hidden;

    padding:28px;

}

.hv-metric-card::before{

    content:'';

    position:absolute;

    right:-80px;
    top:-80px;

    width:180px;
    height:180px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(90,38,201,.10),
        transparent 70%
    );

}

.hv-metric-label{

    font-size:13px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

    color:#64748b;

    margin-bottom:18px;

}

.hv-metric-value{

    font-size:40px;

    line-height:1;

    letter-spacing:-2px;

    font-weight:800;

    color:#0f172a;

    margin-bottom:14px;

}

.hv-metric-trend{

    display:inline-flex;

    align-items:center;

    gap:8px;

    min-height:34px;

    padding:0 14px;

    border-radius:999px;

    font-size:12px;

    font-weight:700;

}

.hv-metric-trend.positive{

    background:
    rgba(34,197,94,.12);

    color:#22c55e;

}

.hv-metric-trend.negative{

    background:
    rgba(239,68,68,.12);

    color:#ef4444;

}


/* =========================================================
   SERVICE CARDS
========================================================= */

.hv-service-card{

    position:relative;

    overflow:hidden;

    padding:30px;

}

.hv-service-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:20px;

    margin-bottom:26px;

}

.hv-service-icon{

    width:58px;
    height:58px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #5a26c9,
        #7c4dff
    );

    color:#fff;

    font-size:20px;

}

.hv-service-status{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:32px;

    padding:0 14px;

    border-radius:999px;

    background:
    rgba(34,197,94,.12);

    color:#22c55e;

    font-size:12px;

    font-weight:700;

}

.hv-service-name{

    font-size:22px;

    line-height:1.1;

    font-weight:800;

    margin-bottom:12px;

}

.hv-service-meta{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    margin-bottom:24px;

}

.hv-service-meta-item{

    display:flex;

    align-items:center;

    gap:8px;

    color:#64748b;

    font-size:14px;

}

.hv-service-actions{

    display:flex;

    align-items:center;

    gap:14px;

}


/* =========================================================
   DOMAIN CARDS
========================================================= */

.hv-domain-card{

    position:relative;

    overflow:hidden;

    padding:30px;

}

.hv-domain-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    margin-bottom:22px;

}

.hv-domain-name{

    font-size:24px;

    line-height:1.1;

    font-weight:800;

    letter-spacing:-1px;

}

.hv-domain-expiry{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:14px;

    color:#64748b;

}

.hv-domain-expiry.urgent{

    color:#ef4444;

    font-weight:700;

}

.hv-domain-actions{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:26px;

}


/* =========================================================
   INVOICE CARDS
========================================================= */

.hv-invoice-card{

    padding:28px;

}

.hv-invoice-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:20px;

    margin-bottom:22px;

}

.hv-invoice-id{

    font-size:20px;

    font-weight:800;

}

.hv-invoice-date{

    margin-top:6px;

    font-size:14px;

    color:#64748b;

}

.hv-invoice-total{

    font-size:26px;

    line-height:1;

    font-weight:800;

    color:#5a26c9;

}

.hv-invoice-actions{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:24px;

}


/* =========================================================
   TICKET CARDS
========================================================= */

.hv-ticket-card{

    padding:28px;

}

.hv-ticket-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:20px;

    margin-bottom:18px;

}

.hv-ticket-title{

    font-size:20px;

    line-height:1.2;

    font-weight:800;

}

.hv-ticket-meta{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    margin-top:14px;

}

.hv-ticket-meta-item{

    display:flex;

    align-items:center;

    gap:8px;

    color:#64748b;

    font-size:14px;

}

.hv-ticket-actions{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:24px;

}


/* =========================================================
   INSIGHT CARDS
========================================================= */

.hv-insight-card{

    position:relative;

    overflow:hidden;

    padding:30px;

}

.hv-insight-label{

    font-size:13px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

    color:#64748b;

    margin-bottom:16px;

}

.hv-insight-value{

    font-size:38px;

    line-height:1;

    letter-spacing:-2px;

    font-weight:800;

    margin-bottom:18px;

}

.hv-insight-description{

    font-size:15px;

    line-height:1.7;

    color:#64748b;

}


/* =========================================================
   EMPTY STATES
========================================================= */

.hv-empty-state{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:70px 30px;

    border-radius:32px;

    background:
    rgba(255,255,255,.72);

    border:
    1px dashed rgba(15,23,42,.08);

}

.hv-empty-icon{

    width:82px;
    height:82px;

    border-radius:24px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:24px;

    background:
    rgba(90,38,201,.08);

    color:#5a26c9;

    font-size:28px;

}

.hv-empty-title{

    font-size:26px;

    line-height:1.1;

    font-weight:800;

    margin-bottom:14px;

}

.hv-empty-description{

    max-width:540px;

    margin-bottom:28px;

}


/* =========================================================
   ACTION CARDS
========================================================= */

.hv-action-card{

    position:relative;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    gap:20px;

    padding:28px;

}

.hv-action-icon{

    width:58px;
    height:58px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #2563eb,
        #7c3aed
    );

    color:#fff;

    font-size:20px;

}

.hv-action-title{

    font-size:22px;

    line-height:1.1;

    font-weight:800;

}

.hv-action-description{

    font-size:15px;

    line-height:1.7;

    color:#64748b;

}


/* =========================================================
   SECURITY CARDS
========================================================= */

.hv-security-card{

    position:relative;

    overflow:hidden;

    padding:30px;

}

.hv-security-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:20px;

    margin-bottom:22px;

}

.hv-security-title{

    font-size:22px;

    font-weight:800;

}

.hv-security-score{

    width:70px;
    height:70px;

    border-radius:24px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #22c55e,
        #16a34a
    );

    color:#fff;

    font-size:22px;

    font-weight:800;

}


/* =========================================================
   QUICK ACTIONS
========================================================= */

.hv-quick-actions{

    display:flex;

    flex-wrap:wrap;

    gap:16px;

}

.hv-quick-action{

    display:flex;

    align-items:center;

    gap:12px;

    min-height:54px;

    padding:0 20px;

    border-radius:18px;

    background:
    rgba(255,255,255,.72);

    border:
    1px solid rgba(15,23,42,.05);

    color:#0f172a;

    font-size:14px;

    font-weight:600;

}

.hv-quick-action:hover{

    transform:translateY(-2px);

    box-shadow:
    0 10px 30px rgba(15,23,42,.06);

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:768px){

    .hv-section-header,
    .hv-service-top,
    .hv-domain-top,
    .hv-invoice-top,
    .hv-ticket-top,
    .hv-security-top{

        flex-direction:column;

        align-items:flex-start;

    }

    .hv-service-actions,
    .hv-domain-actions,
    .hv-invoice-actions,
    .hv-ticket-actions{

        flex-wrap:wrap;

    }

}

.domain-suggestion{
   background:red!important;
}
