/* ===============================
   🎨 Root Variables (رنگ سازمانی)
================================ */
:root{
    --primary:#2e7d32;
    --primary-dark:#1b5e20;
    --primary-light:#e8f5e9;
    --gray-bg:#f4f6f8;
    --text-dark:#222;
    --text-light:#666;
    --danger:#c62828;
    --radius:12px;
}

/* ===============================
   🔤 Font
================================ */

body,
button,
input,
select,
textarea {
    font-family: 'B Yekan', tahoma, sans-serif;
}

/* ===============================
   🧱 Base Layout
================================ */
*{
    box-sizing:border-box;
}

body{
    margin:0;
    padding:0;
    background:var(--gray-bg);
    color:var(--text-dark);
    direction:rtl;
    line-height:1.9;
}

.container{
    max-width:1100px;
    margin:auto;
    padding:20px;
}

/* ===============================
   🧾 Card Design
================================ */
.card{
    background:#fff;
    padding:25px;
    border-radius:var(--radius);
    margin-bottom:25px;
    box-shadow:0 8px 25px rgba(0,0,0,0.06);
    transition:0.3s ease;
}

.card:hover{
    transform:translateY(-3px);
}

/* ===============================
   🟢 Buttons
================================ */
.btn{
    display:inline-block;
    padding:12px 22px;
    border-radius:8px;
    border:none;
    cursor:pointer;
    font-size:14px;
    transition:0.3s ease;
    text-decoration:none;
}

.btn-primary{
    background:var(--primary);
    color:#fff;
}

.btn-primary:hover{
    background:var(--primary-dark);
    transform:translateY(-2px);
}

.btn-outline{
    background:#fff;
    border:2px solid var(--primary);
    color:var(--primary);
}

.btn-outline:hover{
    background:var(--primary-light);
}

/* ===============================
   🧾 Invoice Box (Payment Page)
================================ */
.invoice-box{
    background:#fff;
    padding:30px;
    border-radius:var(--radius);
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    max-width:600px;
    margin:auto;
}

.invoice-title{
    font-size:20px;
    font-weight:bold;
    color:var(--primary);
    margin-bottom:20px;
}

.price-box{
    background:var(--primary-light);
    padding:15px;
    border-radius:8px;
    font-size:18px;
    margin:15px 0;
}

/* ===============================
   🧠 Report Header
================================ */
.report-header{
    background:#fff;
    padding:20px;
    border-bottom:4px solid var(--primary);
    border-radius:var(--radius);
    margin-bottom:30px;
}

.report-header img{
    height:110px;
}

.student-info{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
    margin-top:15px;
}

.student-info div{
    background:var(--gray-bg);
    padding:8px 12px;
    border-radius:8px;
    font-size:14px;
}

/* ===============================
   📊 Chart Container
================================ */
.chart-box{
    max-width:700px;
    margin:auto;
}

/* ===============================
   🟡 Notice / Alert
================================ */
.notice{
    background:#fff8e1;
    border-right:5px solid #f9a825;
    padding:15px;
    border-radius:8px;
    font-size:14px;
    margin-top:15px;
}

/* ===============================
   🚩 Warning
================================ */
.warning{
    background:#ffebee;
    border-right:5px solid var(--danger);
    padding:15px;
    border-radius:8px;
}

/* ===============================
   📱 Responsive
================================ */
@media(max-width:768px){

    .card{
        padding:18px;
    }

    .invoice-box{
        padding:20px;
    }

    .btn{
        width:100%;
        text-align:center;
    }
}

/* ===============================
   🖨 Print Style (گزارش)
================================ */
@media print{

    body{
        background:#fff;
    }

    .btn,
    .no-print{
        display:none !important;
    }

    .card{
        box-shadow:none;
        page-break-inside:avoid;
    }
}
