* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

body {
    background-color: #eef2f7;
    color: #3a4750;
    display: flex;
    min-height: 100vh;
}

/* Auth (Login/Signup) Layout */
.auth-container {
    margin: auto;
    width: 100%;
    max-width: 420px;
    background: #eef2f7;
    padding: 40px 30px;
    border-radius: 24px;
    box-shadow: 10px 10px 20px #cfd7e3, -10px -10px 20px #ffffff;
    text-align: center;
}

.auth-container h2 {
    margin-bottom: 25px;
    color: #2c3e50;
}

/* Sidebar Layout */
.sidebar {
    width: 260px;
    background: #eef2f7;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    box-shadow: 5px 0 15px #cfd7e3;
    z-index: 10;
}

.sidebar h2 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 30px;
    color: #2c3e50;
    padding: 10px;
    border-radius: 12px;
    box-shadow: inset 3px 3px 6px #cfd7e3, inset -3px -3px 6px #ffffff;
}

.sidebar a {
    text-decoration: none;
    color: #5a6578;
    padding: 12px 15px;
    margin-bottom: 15px;
    font-weight: 600;
    border-radius: 12px;
    transition: all 0.2s ease;
    box-shadow: 4px 4px 8px #cfd7e3, -4px -4px 8px #ffffff;
}

.sidebar a:hover, .sidebar a.active {
    color: #2b6cb0;
    transform: translateY(-2px);
    box-shadow: 6px 6px 12px #c2cbdc, -6px -6px 12px #ffffff;
}

.sidebar a:active {
    box-shadow: inset 3px 3px 6px #cfd7e3, inset -3px -3px 6px #ffffff;
}

.logout-btn {
    margin-top: auto;
    color: #e53e3e !important;
}

/* Main Content Area */
.main-content {
    flex: 1;
    padding: 40px;
    overflow-y: auto;
}

.dashboard-card {
    background: #eef2f7;
    padding: 30px;
    border-radius: 24px;
    box-shadow: 10px 10px 20px #cfd7e3, -10px -10px 20px #ffffff;
    margin-bottom: 30px;
}

/* 3D Inputs and Buttons */
.form-group {
    margin-bottom: 20px;
    text-align: left;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #4a5568;
    font-size: 14px;
}

.form-control {
    width: 100%;
    padding: 12px 15px;
    border: none;
    outline: none;
    background: #eef2f7;
    border-radius: 12px;
    box-shadow: inset 4px 4px 8px #cfd7e3, inset -4px -4px 8px #ffffff;
    font-size: 15px;
    color: #2d3748;
}

.btn-3d {
    width: 100%;
    background: #eef2f7;
    border: none;
    padding: 14px;
    font-size: 16px;
    font-weight: 600;
    color: #2b6cb0;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 5px 5px 10px #cfd7e3, -5px -5px 10px #ffffff;
    transition: all 0.2s ease;
}

.btn-3d:hover {
    transform: translateY(-2px);
    box-shadow: 7px 7px 14px #c2cbdc, -7px -7px 14px #ffffff;
}

.btn-3d:active {
    transform: translateY(1px);
    box-shadow: inset 3px 3px 6px #cfd7e3, inset -3px -3px 6px #ffffff;
}

/* Tables Styling */
.custom-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.custom-table th {
    padding: 12px;
    color: #718096;
    text-align: left;
    font-size: 14px;
}

.custom-table td {
    padding: 15px;
    background: #eef2f7;
    box-shadow: 4px 4px 8px #cfd7e3, -4px -4px 8px #ffffff;
    color: #2d3748;
}

.custom-table tr td:first-child { border-top-left-radius: 12px; border-bottom-left-radius: 12px; }
.custom-table tr td:last-child { border-top-right-radius: 12px; border-bottom-right-radius: 12px; }

/* Status Badges */
.badge {
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}
.badge-pending { background: #feebc8; color: #c05621; }
.badge-approved { background: #c6f6d5; color: #22543d; }
.badge-banned { background: #fed7d7; color: #9b2c2c; }

/* Notification System */
.notification {
    padding: 15px;
    border-radius: 12px;
    margin-bottom: 20px;
    font-weight: 500;
    box-shadow: 5px 5px 10px #cfd7e3;
}
.alert-danger { background: #fed7d7; color: #9b2c2c; border-left: 5px solid #e53e3e; }
.alert-success { background: #c6f6d5; color: #22543d; border-left: 5px solid #38a169; }