body { font-family: 'Segoe UI', Arial, sans-serif; margin: 0; background-color: #2B2B2B; color: white; display: flex; }
.sidebar { width: 260px; background-color: #1E1E1E; padding: 20px; height: 100vh; overflow-y: auto; position: sticky; top: 0; }
.sidebar h2 { color: #A6A6A6; font-size: 16px; margin: 20px 0 10px; text-transform: uppercase; }
.sidebar ul { list-style: none; padding: 0; margin: 0 0 20px; }
.sidebar li { margin-bottom: 6px; }
.sidebar a { color: white; text-decoration: none; font-size: 14px; display: block; cursor: pointer; }
.sidebar a:hover { text-decoration: underline; color: #EA4C89; }
.dashboard { flex: 1; padding: 20px 30px; overflow-x: auto; }
.top-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-bottom: 30px; }
.stat-card { background-color: #3C3C3C; padding: 15px; border-radius: 8px; text-align: center; }
.stat-value { font-size: 36px; font-weight: bold; }
.stat-label { text-transform: uppercase; font-size: 12px; color: #ccc; }
.section-heading { text-transform: uppercase; font-size: 18px; font-weight: bold; margin: 0 0 15px; border-left: 4px solid #EA4C89; padding-left: 12px; }
.days-remaining { margin-left: 15px; color: #EA4C89; font-size: 14px; font-weight: normal; }
.table-wrapper { overflow-x: auto; margin-bottom: 30px; }
table { width: 100%; border-collapse: collapse; background-color: #2B2B2B; }
th, td { padding: 12px 10px; text-align: left; border-bottom: 1px solid #444; }
th { background-color: #3C3C3C; color: #ddd; text-transform: uppercase; font-size: 12px; }
tr:hover { background-color: #3A3A3A; }
button { background-color: #EA4C89; color: white; border: none; padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: bold; cursor: pointer; margin-right: 6px; transition: 0.2s; }
button:hover { background-color: #F082AC; }
.status-active { background-color: #2E7D32; border-radius: 20px; padding: 4px 12px; display: inline-block; font-size: 12px; }
.status-revoked { background-color: #C62828; border-radius: 20px; padding: 4px 12px; display: inline-block; font-size: 12px; }
.chart-container { max-width: 300px; margin: 0 auto 20px; }
.country-breakdown { width: 100%; margin-top: 10px; background: #2B2B2B; }
.country-breakdown td { padding: 6px 10px; border: none; }
.country-flag { width: 24px; height: 18px; margin-right: 8px; vertical-align: middle; }
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); }
.modal-content { background-color: #3C3C3C; margin: 5% auto; padding: 25px; border-radius: 12px; width: 600px; max-width: 90%; color: white; }
.close-modal { float: right; font-size: 28px; font-weight: bold; cursor: pointer; color: #aaa; }
.close-modal:hover { color: #EA4C89; }
.modal input, .modal textarea, .modal select { width: 100%; margin: 8px 0 16px; padding: 10px; background-color: #555; color: white; border: 1px solid #777; border-radius: 6px; }
.inbox-list { max-height: 400px; overflow-y: auto; margin-top: 15px; }
.inbox-item { padding: 10px; border-bottom: 1px solid #555; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.inbox-item:hover { background: #555; }
.inbox-item.selected { background: #4E79A7; }
.hidden { display: none; }