/* style.css */

:root {
    --bg-body: #111827;       /* Nền chính tối */
    --bg-card: #1f2937;       /* Nền thẻ */
    --bg-input: #030712;      /* Nền input */
    --text-primary: #f3f4f6;  /* Chữ chính */
    --text-muted: #9ca3af;    /* Chữ mờ */
    --border-color: #374151;  /* Viền */
    --accent-color: #3b82f6;  /* Xanh chủ đạo */
}

html, body {
    height: 100%;
    margin: 0;
    overflow: hidden; 
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--bg-body);
    color: var(--text-primary);
    font-size: 14px;
}

.flex-shrink-0 { flex-shrink: 0 !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.overflow-hidden { overflow: hidden !important; }
.min-height-0 { min-height: 0 !important; }

/* CARD */
.card {
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
}
.card-header {
    background-color: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid var(--border-color);
    padding: 8px 12px;
}
.bg-gradient-primary {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-left: 5px solid var(--accent-color);
}

/* NAV */
.nav-pills .nav-link {
    color: var(--text-muted);
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid transparent;
    transition: all 0.2s;
}
.nav-pills .nav-link.active {
    background-color: var(--accent-color);
    color: #fff;
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
}

/* INPUT */
.form-control, .form-select {
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    color: #fff !important;
    font-size: 13px;
}
.form-control:focus, .form-select:focus {
    border-color: var(--accent-color) !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3) !important;
}

/* LIST & LOGS */
.list-container, .list-container-short, .log-box {
    background-color: var(--bg-input);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 10px 10px 10px 20px;
    overflow-y: auto;
}

/* HIGH CONTRAST LOG */
.log-box {
    background-color: #000;
    font-family: 'Consolas', monospace;
    font-size: 12px;
}
.log-box .text-muted { color: #d1d5db !important; }
.log-box .text-success { color: #4ade80 !important; }
.log-box .text-danger { color: #f87171 !important; }
.log-box .text-warning { color: #facc15 !important; }
.log-box .text-info { color: #38bdf8 !important; }

/* CHECKBOX LAYOUT FIX */
.form-check {
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    margin: 0;
    display: flex;
    align-items: flex-start;
}
.form-check:hover { background-color: rgba(255, 255, 255, 0.1); }
.form-check-input {
    background-color: #374151;
    border-color: #6b7280;
    cursor: pointer;
    width: 1.3em;
    height: 1.3em;
    margin-right: 12px;
    margin-top: 2px;
    flex-shrink: 0;
}
.form-check-input:checked {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}
.form-check-label {
    cursor: pointer;
    font-size: 13px;
    line-height: 1.4;
    color: #e5e7eb;
    white-space: normal !important; 
    word-break: break-word;
    width: 100%;
}

/* TOGGLE SWITCH STYLE */
.form-switch .form-check-input {
    width: 2.5em;
    height: 1.5em;
    margin-top: 0;
}
.form-switch .form-check-input:checked {
    background-color: #ef4444; /* Đỏ cảnh báo */
    border-color: #ef4444;
}

/* UTILS */
.border-dashed { border-style: dashed !important; border-width: 2px !important; }
.time-slot { background: rgba(255,255,255,0.05); padding: 4px; border-radius: 4px; margin-bottom: 4px; }
.modal-content { background-color: var(--bg-card); border: 1px solid var(--border-color); color: #fff; }
.modal-header, .modal-footer { border-color: var(--border-color); }
.btn-close-white { filter: invert(1) grayscale(100%) brightness(200%); }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.2); }
::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #6b7280; }