/* ==========================================================
   WEEKLY DONATION PRO v2.1
   PART 1
   FOUNDATION
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@300;400;500;600;700&display=swap');

:root{

    --primary:#0F7B53;
    --primary-dark:#0B6142;
    --primary-light:#18A36A;

    --white:#FFFFFF;
    --background:#F6F8F9;

    --text:#222222;
    --muted:#6B7280;

    --border:#E5E7EB;

    --radius:4px;

    --shadow:
        0 6px 18px rgba(0,0,0,.05);

    --transition:.25s ease;

    --container:1280px;

}


/* ==========================================================
   RESET
========================================================== */

#wdp-app,
#wdp-app *,
#wdp-app *::before,
#wdp-app *::after{

    box-sizing:border-box;

}

#wdp-app{

    width:100%;

    max-width:var(--container);

    margin:40px auto;

    font-family:
        "Roboto Slab",
        sans-serif;

    color:var(--text);

}


/* ==========================================================
   CONTAINER
========================================================== */


.wdp-container{

    background:
	linear-gradient(#fff,#fff) padding-box,
	linear-gradient(
	90deg,
	#21B5FF 0%,
	#19C4D8 35%,
	#15C16A 100%
	) border-box;

    border:1px solid transparent;

    border-radius:4px;

    padding:20px;

    /*box-shadow:
        0 10px 30px rgba(0,0,0,.06);*/
	
	box-shadow:
	0 10px 30px rgba(0,0,0,.05),
	0 0 0 1px rgba(26,181,254,.10),
	0 0 20px rgba(29,185,84,.08);
	
	position:relative;

    margin-top:55px;
	margin:80px auto;

}
	


/* ==========================================================
   WEEK NAVIGATION
========================================================== */

/*=====================================
WEEK NAVIGATION
=====================================*/

.wdp-week-nav{

    position:absolute;

    top:0;

    left:20px;

    right:20px;

    transform:translateY(-50%);

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:8px;

    align-items:stretch;

    padding:8px;

    background:#fff;

    border-radius:4px;

    box-sizing:border-box;

    z-index:20;

    box-shadow:0 6px 18px rgba(0,0,0,.08);

}

.wdp-week{

    width:100%;

    min-width:0;

    height:40px;

    padding:0;

    font-size:13px;

    display:flex;

    align-items:center;

    justify-content:center;

    box-sizing:border-box;

}

.wdp-week:hover{

    border-color:var(--primary);

    color:var(--primary);
	color:#fff;

}

.wdp-week.active{

    background:linear-gradient(
        60deg,
        #18B6F6,
        #16B35D
    );

    color:#fff;

    border:none;

    font-weight:700;
	

}


/* ==========================================================
   HEADER
========================================================== */

.wdp-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:60px;

    margin-bottom:10px;
	padding-top:30px;

}

.wdp-header-left{

    flex:1;

}

.wdp-header-left h2{

    margin:0 0 12px;

    font-size:25px;

    font-weight:700;

    color:var(--primary);

    line-height:1.2;

}

.wdp-header-left p{

    margin:6px 0;

    font-size:13px;

    color:var(--muted);

}


/* ==========================================================
   SUMMARY
========================================================== */

.wdp-header-right{

    display:flex;

    gap:48px;

    border-left:1px solid var(--border);

    padding-left:40px;

}

.wdp-summary-item{

    display:flex;

    flex-direction:column;

    gap:8px;

    text-align:right;

}

.wdp-summary-item span{

    font-size:14px;

    color:var(--muted);

    text-transform:uppercase;

}

.wdp-summary-item strong{

    font-size:26px;

    font-weight:700;

    color:var(--primary);

}
/* ==========================================================
   WEEKLY DONATION PRO v2.1
   PART 2
   TABLE SYSTEM
==========================================================*/

/* ==========================
   TABLE WRAPPER
========================== */

.wdp-table-wrapper{

    margin-top:24px;

    border:1px solid var(--border);

    border-radius:var(--radius);

    overflow:hidden;

    background:#fff;

}


/* ==========================
   TABLE
========================== */

.wdp-table{

    width:100%;

    border-collapse:collapse;

}


/* ==========================
   HEADER
========================== */

.wdp-table thead{

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--primary-light)
    );

}

.wdp-table th{

    padding:8px 12px;

    color:#fff;

    text-align:left;

    font-size:12px;

    font-weight:600;

    letter-spacing:.3px;

}


/* ==========================
   BODY
========================== */

.wdp-table td{

    padding:6px 12px;

    border-bottom:1px solid #EEF2F4;

    font-size:12px;

    color:var(--text);

    vertical-align:middle;
	
	height:34px;

}

.wdp-table tbody tr{

    transition:background .2s ease;

}

.wdp-table tbody tr:nth-child(even){

    background:#FAFCFC;

}

.wdp-table tbody tr:hover{

    background:#F1FAF6;

}

.wdp-table tbody tr:last-child td{

    border-bottom:none;

}


/* ==========================
   COLUMN ALIGNMENT
========================== */

.wdp-table th:first-child,
.wdp-table td:first-child{

    width:60px;

    text-align:center;

}

.wdp-table th:nth-child(3),
.wdp-table td:nth-child(3){

    text-align:right;

    white-space:nowrap;

}

.wdp-table th:last-child,
.wdp-table td:last-child{

    text-align:center;

}

/*tambahan*/

.wdp-table th:nth-child(1),
.wdp-table td:nth-child(1){

    width:60px;

}

.wdp-table th:nth-child(2),
.wdp-table td:nth-child(2){

    width:52%;

}

.wdp-table th:nth-child(3),
.wdp-table td:nth-child(3){

    width:18%;

}

.wdp-table th:nth-child(4),
.wdp-table td:nth-child(4){

    width:120px;

}


/* ==========================
   BADGE
========================== */

.wdp-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:72px;

    height:24px;

    padding:0 10px;

    border-radius:4px;

    font-size:12px;

    font-weight:600;

}

.success{

    background:#DCFCE7;

    color:#15803D;

}

.warning{

    background:#FEF3C7;

    color:#B45309;

}

.danger{

    background:#FEE2E2;

    color:#B91C1C;

}


/* ==========================
   LOADING
========================== */

.wdp-loading{

    text-align:center;

    padding:30px;

    color:var(--muted);

    font-size:15px;

}


/* ==========================
   EMPTY STATE
========================== */

.wdp-empty{

    text-align:center;

    padding:30px;

    color:var(--muted);

    font-size:15px;

}

/* ==========================================================
   WEEKLY DONATION PRO v2.1
   PART 3
   FINAL POLISH
==========================================================*/

/* ==========================
   FOOTER
========================== */

.wdp-footer{

    margin-top:28px;

    padding:24px 28px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    background:#F8FBFA;

    border:1px solid var(--border);

    border-radius:var(--radius);

}

.wdp-footer-left{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.wdp-footer-label{

    font-size:14px;

    color:var(--muted);

    text-transform:uppercase;

    letter-spacing:.3px;

}

.wdp-footer-total{

    font-size:25px;

    font-weight:700;

    color:var(--primary);

    line-height:1.2;

}

.wdp-footer-right{

    text-align:right;

}

.wdp-last-update{

    font-size:10px;

    color:var(--muted);

    margin-bottom:8px;

}

.wdp-sync{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-size:10px;

    font-weight:600;

    color:#16A34A;

}


/* ==========================
   TRANSITION
========================== */

.wdp-container,
.wdp-week,
.wdp-table tbody tr,
.wdp-footer{

    transition:all .25s ease;

}


/* ==========================
   FOCUS
========================== */

.wdp-week:focus{

    outline:none;

    box-shadow:0 0 0 3px rgba(15,123,83,.15);

}


/* ==========================
   SCROLL TABLE
========================== */

.wdp-table-wrapper{

    width:100%;

    overflow:hidden;

    border:1px solid var(--border);

    border-radius:4px;

}

.wdp-table{

    width:100%;

    table-layout:fixed;

    border-collapse:collapse;

}


/* ==========================
   RESPONSIVE
========================== */

@media (max-width:992px){

    .wdp-header{

        flex-direction:column;

        gap:28px;

    }

    .wdp-header-right{

        width:100%;

        justify-content:flex-start;

        border-left:none;

        padding-left:0;

        padding-top:18px;

        border-top:1px solid var(--border);

    }

}


@media (max-width:768px){

    .wdp-container{

        padding:20px;

    }

    .wdp-week-nav{

        gap:10px;

    }

    .wdp-week{

        flex:1;

        min-width:120px;

    }

    .wdp-header-left h2{

        font-size:30px;

    }

    .wdp-summary-item{

        text-align:left;

    }

    .wdp-summary-item strong{

        font-size:22px;

    }

    .wdp-footer{

        flex-direction:column;

        align-items:flex-start;

    }

    .wdp-footer-right{

        text-align:left;

    }

}


@media (max-width:576px){

    .wdp-week{

        width:100%;

    }

    .wdp-header-right{

        flex-direction:column;

        gap:20px;

    }

    .wdp-footer-total{

        font-size:28px;

    }

}


/* ==========================
   PRINT
========================== */

@media print{

    .wdp-week-nav{

        display:none;

    }

    .wdp-container{

        border:none;

        padding:0;

    }

}


/* ==========================
   END
========================== */


/*==================================================
MOBILE RESPONSIVE
==================================================*/
@media (max-width:768px){

	/* ==========================
   MOBILE HEADER FIX
	========================== */

	.wdp-header{

    padding-top:20px;
    margin-top:0;

	}

	.wdp-week-nav{

    position:relative;
    top:auto;
    left:auto;
    transform:none;

    width:100%;

    margin:0 0 20px;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;

	}

.wdp-title{

    text-align:center;

	}	
	
    /* Container */
    .wdp-container{
        margin:0px 0px;
        padding:16px;
        border-radius:4px;
		
    }

    /* Header */
    .wdp-header{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:18px;
        padding:10px;
        text-align:center;
    }

    .wdp-title h2{
        font-size:22px;
        line-height:1.3;
    }

    .wdp-title p{
        font-size:13px;
    }

    /* Week Navigation */
    .wdp-week-nav{
        width:100%;
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:10px;
        order:2;
    }

    .wdp-week{
        width:100%;
        padding:10px;
        font-size:13px;
    }

    /* Statistic */
    .wdp-stat-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        margin-top:20px;
    }

    .wdp-stat-card{
        padding:18px;
        border-radius:10px;
    }

    .wdp-stat-title{
        font-size:12px;
    }

    .wdp-stat-value{
        font-size:22px;
    }

}
/*==================================================
MOBILE TABLE
==================================================*/
@media (max-width:768px){

    .wdp-table-wrapper{
        overflow:visible;
        border-radius:12px;
        margin-top:18px;
    }

    .wdp-table{
        width:100%;
        table-layout:fixed;
        border-collapse:collapse;
    }

    .wdp-table th,
    .wdp-table td{
        padding:8px 6px;
        font-size:12px;
        line-height:1.35;
        white-space:normal;
        word-break:break-word;
    }

    .wdp-table th{
        font-size:11px;
        font-weight:700;
        text-transform:uppercase;
    }

    /* Lebar Kolom */
    .wdp-table th:nth-child(1),
    .wdp-table td:nth-child(1){
        width:10%;
        text-align:center;
    }

    .wdp-table th:nth-child(2),
    .wdp-table td:nth-child(2){
        width:45%;
    }

    .wdp-table th:nth-child(3),
    .wdp-table td:nth-child(3){
        width:25%;
        text-align:right;
    }

    .wdp-table th:nth-child(4),
    .wdp-table td:nth-child(4){
        width:20%;
        text-align:center;
    }

    .wdp-badge{
        min-width:auto;
        padding:4px 8px;
        font-size:10px;
        border-radius:4px;
    }

}
/*==================================================
MOBILE FINAL POLISH
==================================================*/
@media (max-width:768px){

    /* Card */
    .wdp-card,
    .wdp-stat-card,
    .wdp-footer{

        border-radius:10px;
        box-shadow:0 3px 10px rgba(0,0,0,.06);

    }

    /* Container */
    .wdp-container{

        border-width:2px;
        padding:14px;

    }

    /* Header */
    .wdp-header{

        margin-bottom:18px;
        border-radius:10px;

    }

    /* Week Button */
    .wdp-week{

        border-radius:6px;
        font-size:12px;
        font-weight:600;
        min-height:40px;
        transition:.2s;

    }

    .wdp-week.active{

        transform:scale(.98);

    }

    /* Hover dimatikan di HP */
    .wdp-table tbody tr:hover{

        background:inherit;

    }

    /* Footer */
    .wdp-footer{

        margin-top:18px;
        padding:18px;
        text-align:center;

    }

    .wdp-footer-label{

        font-size:12px;
        margin-bottom:6px;

    }

    .wdp-footer-total{

        font-size:24px;
        line-height:1.2;
        margin-bottom:10px;

    }

    .wdp-footer-update{

        font-size:11px;
        opacity:.75;
        margin-top:10px;

    }

    .wdp-sync{

        margin-top:10px;
        font-size:11px;
        justify-content:center;

    }

    /* Animasi */
    .wdp-card,
    .wdp-stat-card,
    .wdp-footer,
    .wdp-table-wrapper{

        animation:wdpFade .35s ease;

    }

}

/*=============================================
FADE ANIMATION
=============================================*/

@keyframes wdpFade{

    from{

        opacity:0;
        transform:translateY(8px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

/*=====================================
TABLET
=====================================*/

@media (min-width:768px) and (max-width:991px){

    .wdp-week-nav{

        width:90%;

        justify-content:center;

        gap:6px;

        padding:6px;

    }

    .wdp-week{

        flex:1;

        min-width:0;

        font-size:14px;

        padding:10px 0;

    }

}

/*=====================================
MOBILE
=====================================*/

@media (max-width:767px){

    .wdp-week-nav{

        position:relative;

        top:auto;

        left:auto;
		
		right:auto;

        transform:none;

        width:100%;

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:10px;

        margin:0 0 20px;

        padding:0;

        box-shadow:none;

        background:transparent;

    }

    .wdp-week{

        width:100%;

    }

}