/*
|--------------------------------------------------------------------------
| TechPackHub Client Portal v2
| Dashboard Styles
| File: assets/css/dashboard.css
|--------------------------------------------------------------------------
*/

/* ==========================================================
   Dashboard Layout
========================================================== */

.tph-dashboard{
    display:flex;
    flex-direction:column;
    gap:32px;
}


/* ==========================================================
   Page Header
========================================================== */

.tph-page-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}

.tph-page-header-content{
    flex:1;
}

.tph-page-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.tph-page-header h1{
    margin:0;
    font-size:2.25rem;
    font-weight:700;
    color:var(--tph-heading);
}

.tph-page-header p{
    margin:10px 0 0;
    color:var(--tph-text-light);
    font-size:1rem;
}


/* ==========================================================
   Dashboard Grid
========================================================== */

.tph-dashboard-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:24px;
    align-items:start;
}

.tph-dashboard-main{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.tph-dashboard-sidebar{
    display:flex;
    flex-direction:column;
    gap:24px;
}


/* ==========================================================
   Statistics Grid
========================================================== */

.tph-grid-4{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
}


/* ==========================================================
   Metric Cards
========================================================== */

.tph-metric-card{
    display:flex;
    align-items:center;
    gap:18px;
}

.tph-metric-icon{
    width:64px;
    height:64px;
    border-radius:18px;
    background:#eff6ff;
    color:var(--tph-primary);

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;
}

.tph-metric-icon i{
    font-size:28px;
}

.tph-metric-content{
    flex:1;
}

.tph-metric-label{
    font-size:.95rem;
    color:var(--tph-text-light);
    margin-bottom:6px;
}

.tph-metric-value{
    font-size:2.15rem;
    font-weight:700;
    color:var(--tph-heading);
    line-height:1;
}

.tph-metric-change{
    margin-top:8px;
    font-size:.85rem;
    font-weight:600;
}

.tph-positive{
    color:#16a34a;
}

.tph-negative{
    color:#dc2626;
}


/* ==========================================================
   Recent Projects Table
========================================================== */

.tph-dashboard-table{
    width:100%;
    border-collapse:collapse;
}

.tph-dashboard-table th{
    text-align:left;
    padding:16px;
    font-weight:600;
    color:var(--tph-heading);
    border-bottom:1px solid var(--tph-border);
    white-space:nowrap;
}

.tph-dashboard-table td{
    padding:16px;
    border-bottom:1px solid var(--tph-border);
    vertical-align:middle;
}

.tph-dashboard-table tbody tr:hover{
    background:#fafcff;
}

.tph-dashboard-table img{
    display:block;
}


/* ==========================================================
   Activity
========================================================== */

.tph-activity-list{
    display:flex;
    flex-direction:column;
}

.tph-activity-item{
    display:flex;
    gap:16px;
    padding:18px 0;
    border-bottom:1px solid var(--tph-border);
}

.tph-activity-item:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.tph-activity-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#eff6ff;
    color:var(--tph-primary);

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;
}

.tph-activity-content{
    flex:1;
}

.tph-activity-title{
    margin:0;
    font-size:.95rem;
    font-weight:600;
    color:var(--tph-heading);
}

.tph-activity-description{
    margin-top:6px;
    color:var(--tph-text-light);
    line-height:1.6;
}

.tph-activity-time{
    margin-top:8px;
    font-size:.8rem;
    color:var(--tph-text-light);
}


/* ==========================================================
   Upcoming Deliveries
========================================================== */

.tph-delivery-list{
    display:flex;
    flex-direction:column;
}

.tph-delivery-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:16px 0;
    border-bottom:1px solid var(--tph-border);
}

.tph-delivery-item:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.tph-delivery-project{
    font-weight:600;
    color:var(--tph-heading);
}

.tph-delivery-date{
    color:var(--tph-text-light);
    font-size:.875rem;
}


/* ==========================================================
   Designer Workload
========================================================== */

.tph-workload-list{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.tph-workload-item{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.tph-workload-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.tph-workload-name{
    font-weight:600;
}

.tph-workload-count{
    color:var(--tph-text-light);
    font-size:.875rem;
}

.tph-workload-bar{
    width:100%;
    height:8px;
    background:#eef2f7;
    border-radius:999px;
    overflow:hidden;
}

.tph-workload-progress{
    height:100%;
    background:var(--tph-primary);
    border-radius:999px;
}


/* ==========================================================
   Empty Dashboard
========================================================== */

.tph-empty-dashboard{
    text-align:center;
    padding:60px 20px;
}

.tph-empty-dashboard i{
    font-size:56px;
    color:var(--tph-primary);
    margin-bottom:18px;
}

.tph-empty-dashboard h3{
    margin:0 0 10px;
}

.tph-empty-dashboard p{
    color:var(--tph-text-light);
}


/* ==========================================================
   Responsive
========================================================== */

@media (max-width:1200px){

    .tph-grid-4{
        grid-template-columns:repeat(2,1fr);
    }

    .tph-dashboard-grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:768px){

    .tph-page-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .tph-page-header-actions{
        width:100%;
    }

    .tph-grid-4{
        grid-template-columns:1fr;
    }

    .tph-delivery-item,
    .tph-workload-top{
        flex-direction:column;
        align-items:flex-start;
    }

}

@media (max-width:576px){

    .tph-metric-card{
        flex-direction:column;
        text-align:center;
    }

}

/* Frontend dashboard polish */
.tph-dashboard .tph-section-header h2{font-size:1.5rem;font-weight:700;line-height:1.25;color:var(--tph-heading);}
.tph-dashboard .tph-btn{font-size:15px;padding:12px 20px;border-radius:10px;}
.tph-dashboard .tph-empty-state{font-size:16px;}
.tph-dashboard .tph-muted{font-size:16px;}


/* Client/Designer dashboard visual polish */
.tph-dashboard{background:#f4f6f8;padding:34px;border-radius:18px;}
.tph-dashboard .tph-page-header h1{font-size:2.45rem;line-height:1.15;}
.tph-dashboard .tph-page-header p{font-size:1.15rem;line-height:1.6;}
.tph-dashboard .tph-section-header h2{font-size:1.65rem;}
.tph-dashboard .tph-btn{font-size:16px;padding:13px 22px;}
.tph-dashboard .tph-metric-label{font-size:1rem;}
.tph-dashboard .tph-metric-value{font-size:2.45rem;}
.tph-dashboard .tph-empty-state{font-size:17px;min-height:120px;display:grid;place-items:center;}
.tph-dashboard .tph-btn-outline{border-color:var(--tph-primary)!important;color:var(--tph-primary)!important;background:#fff!important;}
.tph-dashboard .tph-btn-outline:hover{background:var(--tph-primary)!important;color:#fff!important;}
@media(max-width:768px){.tph-dashboard{padding:22px 16px;}.tph-dashboard .tph-page-header h1{font-size:2rem;}}
