body { background-color: #0f172a; font-family: 'Inter', sans-serif; color: #e2e8f0; }
.sidebar-item.active { background-color: #3b82f6; color: white; }
.sidebar-item.active i { color: white; }
#loading-overlay, .modal { transition: opacity 0.3s; }
.modal-content { transition: transform 0.3s; }
.bg-dark { background-color: #1e293b; }
.bg-darker { background-color: #0f172a; }
.bg-card { background-color: #1e293b; }
.text-light { color: #e2e8f0; }
.text-muted { color: #cbd5e1; }
.border-dark { border-color: #334155; }
.mobile-header { display: none; }
@media (max-width: 768px) {
    .mobile-header { display: flex !important; }
    .main-content { padding-top: 4rem; margin-left: 0; }
    .sidebar { transform: translateX(-100%); transition: transform 0.3s ease; z-index: 40; position: fixed; }
    .sidebar.open { transform: translateX(0); }
}
@media (min-width: 769px) {
    .mobile-header { display: none !important; }
    .main-content { padding-top: 0; margin-left: 16rem; }
    .sidebar { position: relative; transform: translateX(0); }
}
.touch-btn { min-height: 44px; min-width: 44px; }
.responsive-table { font-size: 14px; }
.responsive-table td, .responsive-table th { padding: 8px 4px; }
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="date"], input[type="file"], textarea, select { color: #e2e8f0 !important; }
input::placeholder, textarea::placeholder { color: #6b7280 !important; opacity: 1; }
.modal input[type="text"], .modal input[type="password"], .modal input[type="email"], .modal input[type="number"], .modal input[type="date"], .modal input[type="file"], .modal textarea, .modal select { color: #111827 !important; background-color: #ffffff !important; }
.modal input::placeholder, .modal textarea::placeholder { color: #9ca3af !important; }

.codes-table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.codes-table-container table {
    width: 100%;
    border-collapse: collapse;
    min-width: 700px;
}
.codes-table-container th,
.codes-table-container td {
    padding: 10px 8px;
    vertical-align: middle;
    border-bottom: 1px solid #334155;
}
.codes-table-container td:last-child {
    white-space: nowrap;
    text-align: right;
}
.codes-table-container td:nth-child(2) {
    word-break: break-word;
    white-space: normal;
}
@media (max-width: 640px) {
    .codes-table-container th,
    .codes-table-container td {
        padding: 6px 4px;
        font-size: 12px;
    }
}

.search-input { background-color: #1e293b; border: 1px solid #334155; color: #e2e8f0; }
.search-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.4); }
.search-input::placeholder { color: #94a3b8; }
.code-checkbox { width: 18px; height: 18px; cursor: pointer; }
.selected-count-badge { background: linear-gradient(135deg, #10b981 0%, #059669 100%); padding: 4px 12px; border-radius: 20px; font-weight: bold; color: white; display: inline-flex; align-items: center; gap: 6px; }
.action-btn { display: inline-flex; align-items: center; justify-content: center; padding: 6px 8px; border-radius: 6px; transition: all 0.2s; }
.action-btn-blue { background-color: rgba(59, 130, 246, 0.2); } .action-btn-blue:hover { background-color: rgba(59, 130, 246, 0.4); }
.action-btn-purple { background-color: rgba(147, 51, 234, 0.2); } .action-btn-purple:hover { background-color: rgba(147, 51, 234, 0.4); }
.action-btn-pink { background-color: rgba(236, 72, 153, 0.2); } .action-btn-pink:hover { background-color: rgba(236, 72, 153, 0.4); }
.action-btn-green { background-color: rgba(34, 197, 94, 0.2); } .action-btn-green:hover { background-color: rgba(34, 197, 94, 0.4); }
.action-btn-orange { background-color: rgba(249, 115, 22, 0.2); } .action-btn-orange:hover { background-color: rgba(249, 115, 22, 0.4); }
.action-btn-yellow { background-color: rgba(234, 179, 8, 0.2); } .action-btn-yellow:hover { background-color: rgba(234, 179, 8, 0.4); }
.action-btn-red { background-color: rgba(239, 68, 68, 0.2); } .action-btn-red:hover { background-color: rgba(239, 68, 68, 0.4); }