        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: Arial, sans-serif;
        }

body{
    display:flex;

    background:
    linear-gradient(
    rgba(245,247,250,.80),
    rgba(245,247,250,.80)
    ),
    url('/images/fleet-bg.png');

    background-size:cover;
    background-position:center;
    background-attachment:fixed;
}

        /* SIDEBAR */
.sidebar{
    width:230px;
    background:#0d7c3b;
    color:white;
    min-height:100vh;
    padding:20px;
    box-shadow:4px 0 18px rgba(0,0,0,.15);
}

        .sidebar h2 {
            margin-bottom: 30px;
        }

        .sidebar a {
            display: block;
            padding: 10px;
            color: white;
            text-decoration: none;
            border-radius: 6px;
            margin-bottom: 10px;
        }

        .sidebar a.active,
        .sidebar a:hover {
            background: #0fa958;
        }

        /* MAIN */
        .main {
            flex: 1;
        }

.topbar{
    background:white;
    padding:15px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #ddd;
    box-shadow:0 2px 10px rgba(0,0,0,.04);
}

        .admin-btn {
            background: #0d7c3b;
            color: white;
            padding: 8px 14px;
            border-radius: 8px;
            cursor: pointer;
            position: relative;
        }

        .dropdown {
            position: absolute;
            top: 45px;
            right: 0;
            background: white;
            width: 150px;
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0,0,0,0.1);
            display: none;
        }

        .dropdown a {
            display: block;
            padding: 10px;
            color: #333;
            text-decoration: none;
        }

        .dropdown a:hover {
            background: #f1f1f1;
        }

        .content {
            padding: 20px;
        }

        /* CARDS */

        .card{
background:white;
padding:22px;
border-radius:14px;
box-shadow:0 4px 12px rgba(0,0,0,0.06);
transition:.2s;
}

        .card h3 {
            margin-bottom: 10px;
            font-size: 14px;
            color: #777;
        }

        .card p {
            font-size: 22px;
            font-weight: bold;
        }

        .card{
            background:#fff;
            padding:20px;
            border-radius:12px;
            box-shadow:0 4px 10px rgba(0,0,0,0.08);
            text-align:center;
        }

        .card h1{
            margin:10px 0 0;
            color:#0a8f3d;
        }

        /* TABLE */
        table {
            width: 100%;
            background: white;
            border-radius: 10px;
            border-collapse: collapse;
            overflow: hidden;
        }

        th, td {
            padding: 12px;
            border-bottom: 1px solid #eee;
            text-align: left;
        }

        th {
            background: #f9fafb;
            font-size: 13px;
            color: #777;
        }

        .status {
            padding: 4px 10px;
            border-radius: 12px;
            font-size: 12px;
        }

        .available { background: #d4edda; color: #155724; }
        .inuse { background: #cce5ff; color: #004085; }
        .maintenance { background: #fff3cd; color: #856404; }

        .btn {
            padding: 6px 12px;
            border-radius: 6px;
            border: none;
            cursor: pointer;
        }

        .btn-green { background: #28a745; color: white; }
        .btn-red { background: #dc3545; color: white; }

        .badge{
            padding:6px 12px;
            border-radius:20px;
            color:white;
            font-size:13px;
            font-weight:600;
            display:inline-block;
        }

        .pending{
            background:#f0ad4e;
        }

        .approved{
            background:#28a745;
        }

        .rejected{
            background:#dc3545;
        }

        /* ROLE BUTTON */

        .role-btn{
            background:#15803d;
            color:white;
            padding:8px 14px;
            border-radius:8px;
            font-size:14px;
            font-weight:600;
            cursor:pointer;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            height:36px;
            line-height:1;
            transition:.2s;
        }

        .role-btn:hover{
            background:#166534;
        }


/* MODAL OVERLAY */

        .modal-overlay{
            position:fixed;
            top:0;
            left:0;
            width:100%;
            height:100%;
            background:rgba(0,0,0,.25);
            backdrop-filter:blur(8px);
            display:none;
            justify-content:center;
            align-items:center;
            z-index:999;
        }


/* POPUP CARD */

        .profile-card{
            width:400px;
            background:white;
            border-radius:22px;
            padding:34px;
            box-shadow:0 25px 70px rgba(0,0,0,.12);
            position:relative;
            animation:fadeIn .2s ease;
        }


/* TITLE */

        .profile-card h2{
            font-size:34px;
            font-weight:700;
            color:#166534;
            margin-bottom:28px;
            text-align:center;
        }


/* INFO TEXT */

.profile-card strong{
display:block;
font-size:15px;
color:#111827;
margin-bottom:3px;
font-weight:700;
}


/* BUTTONS */

        .modal-btn{
            display:flex;
            justify-content:center;
            align-items:center;
            width:100%;
            padding:13px;
            margin-top:14px;
            border:none;
            border-radius:12px;
            font-weight:600;
            font-size:15px;
            text-decoration:none;
            cursor:pointer;
            transition:.2s;
            text-align:center;
        }


/* NORMAL BUTTON */

.neutral-btn{
background:#f8fafc;
color:#111827;
border:1px solid #e5e7eb;
}

.neutral-btn:hover{
background:#eef2f7;
}


/* LOGOUT BUTTON */

.logout-btn{
background:#ef4444;
color:white;
}

.logout-btn:hover{
background:#dc2626;
}


/* CLOSE BUTTON */

.close-btn{
position:absolute;
top:18px;
right:20px;
font-size:22px;
color:#94a3b8;
cursor:pointer;
transition:.2s;
}

.close-btn:hover{
color:#111827;
}


/* ANIMATION */

@keyframes fadeIn{
from{
transform:scale(.95);
opacity:0;
}
to{
transform:scale(1);
opacity:1;
}
}

.profile-card p{
margin-bottom:14px;
font-size:15px;
color:#475569;
line-height:1.35;
text-align:left;
padding-left:6px;
}

.card{
background:white;
padding:22px;
border-radius:14px;
box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.card h4{
font-size:14px;
color:#64748b;
margin-bottom:10px;
}

.number{
font-size:34px;
font-weight:700;
color:#15803d;
}

.action-btn{
display:block;
padding:12px 14px;
margin-bottom:12px;
background:#f1f5f9;
border-radius:10px;
text-decoration:none;
color:#111827;
font-weight:600;
}

.action-btn:hover{
background:#e2e8f0;
}

.badge{
padding:6px 12px;
border-radius:30px;
font-size:12px;
font-weight:700;
display:inline-block;
}

.pending{
background:#fef3c7;
color:#92400e;
}

.approved{
background:#dcfce7;
color:#166534;
}

.rejected{
background:#fee2e2;
color:#991b1b;
}

input[type=text],
textarea{
width:100%;
padding:12px;
border:1px solid #d1d5db;
border-radius:10px;
font-size:14px;
outline:none;
transition:0.2s;
}

input[type=text]:focus,
textarea:focus{
border-color:#16a34a;
box-shadow:0 0 0 3px rgba(22,163,74,0.15);
}

.btn-green{
background:#16a34a;
color:white;
border:none;
padding:12px 18px;
border-radius:10px;
font-weight:700;
cursor:pointer;
transition:0.2s;
}

.btn-green:hover{
background:#15803d;
transform:translateY(-1px);
}

.announcement-box{
border-left:5px solid #16a34a;
margin-bottom:18px;
}

.announce-top{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:10px;
}

.announce-badge{
background:#dcfce7;
color:#166534;
padding:6px 10px;
border-radius:20px;
font-size:12px;
font-weight:700;
}

.announce-date{
font-size:13px;
color:#6b7280;
}

.announcement-box h3{
margin-bottom:10px;
font-size:20px;
}

.announcement-box p{
line-height:1.7;
color:#374151;
}

.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin-bottom:25px;
}

.stat-card{
    background:white;
    border-radius:14px;
    padding:22px;
    min-height:110px;
    text-align:center;
    text-decoration:none;
    color:#222;
    box-shadow:0 4px 10px rgba(0,0,0,0.05);
    transition:0.2s ease;
}

.stat-card:hover{
    transform:translateY(-4px);
}

.stat-card h4{
    font-size:14px;
    color:#666;
    margin-bottom:10px;
}

.stat-card p{
    font-size:28px;
    font-weight:bold;
    color:#15803d;
    margin:0;
}

.bottom-grid{
    display:grid;
    grid-template-columns: 2.4fr 1fr;
    gap:20px;
}

label{
    display:block;
    text-align:left;
    margin-bottom:8px;
    font-weight:600;
    color:#1e293b;
}

/* DEMO POLISH */

table tr:hover{
    background:#f8fafc;
}

.card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 22px rgba(0,0,0,.10);
}

.role-btn:hover{
    transform:translateY(-1px);
}

.sidebar a:hover{
    transform:translateX(4px);
}

.main{
    backdrop-filter:blur(2px);
}