/* =========================================
   RESET
========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    overflow-x:hidden;
}

body{
    font-family:Arial, sans-serif;
    background:#f3f4f6;
    color:#111827;
}

/* =========================================
   NAVBAR
========================================= */

.navbar{

    width:100%;

    background:#111827;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px 25px;

    position:sticky;

    top:0;

    z-index:999;
}

.logo{

    color:#fff;

    font-size:24px;

    font-weight:bold;
}

.nav-links{

    display:flex;

    gap:12px;

    flex-wrap:wrap;
}

.nav-links a{

    color:#fff;

    text-decoration:none;

    padding:10px 15px;

    border-radius:6px;

    transition:0.3s;

    font-size:14px;
}

.nav-links a:hover{

    background:#2563eb;
}

/* =========================================
   MAIN CONTAINER
========================================= */

.container{

    width:100%;

    max-width:1400px;

    margin:auto;

    padding:25px;
}

/* =========================================
   PAGE TITLE
========================================= */

.page-title{

    margin-bottom:25px;
}

.page-title h1{

    font-size:30px;

    color:#111827;

    margin-bottom:5px;
}

.page-title p{

    color:#6b7280;

    font-size:15px;
}

/* =========================================
   DASHBOARD CARDS
========================================= */

.cards{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:20px;
}

.card{

    background:#fff;

    border-radius:12px;

    padding:25px;

    box-shadow:
    0 2px 10px rgba(0,0,0,0.08);

    transition:0.3s;
}

.card:hover{

    transform:translateY(-5px);

    box-shadow:
    0 5px 20px rgba(0,0,0,0.12);
}

.card h3{

    margin-bottom:10px;

    font-size:22px;

    color:#111827;
}

.card p{

    color:#6b7280;

    line-height:1.6;

    margin-bottom:20px;
}

/* =========================================
   BUTTONS
========================================= */

.btn{

    display:inline-block;

    padding:10px 18px;

    border:none;

    border-radius:6px;

    text-decoration:none;

    cursor:pointer;

    font-size:14px;

    transition:0.3s;
}

.btn:hover{

    opacity:0.9;
}

.btn-primary{

    background:#2563eb;

    color:#fff;
}

.btn-success{

    background:#16a34a;

    color:#fff;
}

.btn-danger{

    background:#dc2626;

    color:#fff;
}

.btn-warning{

    background:#f59e0b;

    color:#fff;
}

/* =========================================
   FORM CARD
========================================= */

.form-card{

    background:#fff;

    padding:25px;

    border-radius:12px;

    box-shadow:
    0 2px 10px rgba(0,0,0,0.08);
}

/* =========================================
   ROWS
========================================= */

.row{

    display:flex;

    gap:20px;

    margin-bottom:20px;

    flex-wrap:wrap;
}

.col{

    flex:1;

    min-width:250px;
}

/* =========================================
   FORM ELEMENTS
========================================= */

label{

    display:block;

    margin-bottom:7px;

    font-weight:bold;

    font-size:14px;

    color:#374151;
}

input,
select,
textarea{

    width:100%;

    padding:12px;

    border:1px solid #d1d5db;

    border-radius:6px;

    font-size:14px;

    background:#fff;
}

input:focus,
select:focus,
textarea:focus{

    outline:none;

    border-color:#2563eb;

    box-shadow:
    0 0 0 3px rgba(37,99,235,0.1);
}

/* =========================================
   TABLE
========================================= */

.table-responsive{

    width:100%;

    overflow-x:auto;
}

table{

    width:100%;

    border-collapse:collapse;

    min-width:900px;

    background:#fff;
}

table th{

    background:#111827;

    color:#fff;

    padding:14px;

    text-align:left;

    font-size:14px;
}

table td{

    border:1px solid #e5e7eb;

    padding:12px;

    font-size:14px;
}

table tr:nth-child(even){

    background:#f9fafb;
}

table tr:hover{

    background:#f3f4f6;
}

/* =========================================
   STATUS BADGES
========================================= */

.status{

    display:inline-block;

    padding:6px 12px;

    border-radius:20px;

    font-size:12px;

    font-weight:bold;
}

.Submitted{

    background:#dbeafe;

    color:#1d4ed8;
}

.Approved{

    background:#dcfce7;

    color:#166534;
}

.Cancelled{

    background:#fee2e2;

    color:#991b1b;
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .navbar{

        flex-direction:column;

        gap:15px;

        align-items:flex-start;
    }

    .nav-links{

        width:100%;

        justify-content:flex-start;

        flex-wrap:wrap;
    }

    .nav-links a{

        font-size:13px;

        padding:8px 10px;
    }

    .container{

        padding:15px;
    }

    .page-title h1{

        font-size:24px;
    }

    .row{

        flex-direction:column;

        gap:10px;
    }

    .btn{

        width:100%;

        text-align:center;
    }

    table{

        min-width:700px;
    }

}

/* =========================================
   TABLETS / IPADS
========================================= */

@media(min-width:769px)
and
(max-width:1024px){

    .container{

        padding:20px;
    }

    table th,
    table td{

        font-size:13px;
    }

}