/* ═══════════════════════════════════════════════════
   sms.css — SMS Ship Management System Styles
   Extracted from sms_dashboard.php inline <style> blocks
   ═══════════════════════════════════════════════════ */

/* ─── Dashboard Stats ─────────────────────────────── */

.sms-stat-card { background: var(--bg-card); border: 1px solid rgba(104,159,56,0.3); border-radius: 12px; padding: 20px; text-align: center; transition: all 0.3s; }
[data-theme="dark"] .sms-stat-card { background: rgba(255,255,255,0.03); }
.sms-stat-card:hover { border-color: #689f38; box-shadow: 0 0 25px rgba(104,159,56,0.2); transform: translateY(-3px); }
.sms-stat-icon { font-size: 2rem; color: var(--sms-green); margin-bottom: 10px; }
.sms-stat-num { font-size: 2rem; font-weight: 700; color: var(--text-heading); 'Microsoft YaHei', monospace; }
.sms-stat-label { color: var(--text-muted); font-size: 0.85rem; margin-top: 5px; }
[data-theme="dark"] .sms-stat-label { color: #8bc34a; }
.alert-card { background: rgba(255,152,0,0.1); border: 1px solid rgba(255,152,0,0.3); border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; }
.alert-card .text-danger { color: #ff5252 !important; }

/* ─── Main SMS Layout ─────────────────────────────── */

:root {
    --sms-green: #689f38;
    --sms-green-light: #8bc34a;
    --sms-green-dark: #33691e;
}
body { background: var(--bg-page) !important; 'Microsoft YaHei', sans-serif; }

/* Sidebar */
.sms-sidebar {
    position: fixed;
    top: 70px;
    left: 0;
    width: 240px;
    bottom: 0;
    background: var(--bg-card);
    border-right: 1px solid rgba(104,159,56,0.2);
    overflow-y: auto;
    z-index: 100;
    padding: 10px 0;
}
[data-theme="dark"] .sms-sidebar { background: rgba(10,10,15,0.95); }
.sms-sidebar::-webkit-scrollbar { width: 4px; }
.sms-sidebar::-webkit-scrollbar-thumb { background: var(--sms-green); border-radius: 2px; }

.sms-sidebar .module-header {
    padding: 10px 15px;
    color: var(--text-heading);
    font-weight: 600;
    font-size: 0.85rem;
    
    
    cursor: pointer;
    border-bottom: 1px solid rgba(104,159,56,0.1);
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
[data-theme="dark"] .sms-sidebar .module-header { color: #8bc34a; }
.sms-sidebar .module-header:hover { background: rgba(104,159,56,0.1); }
.sms-sidebar .module-header .arrow { transition: transform 0.3s; font-size: 0.7rem; }
.sms-sidebar .module-header.collapsed .arrow { transform: rotate(-90deg); }

.sms-sidebar .sub-items { padding: 0; }
.sms-sidebar .sub-items a {
    display: block;
    padding: 7px 15px 7px 35px;
    color: var(--text-body);
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.2s;
    border-left: 2px solid transparent;
}
.sms-sidebar .sub-items a:hover {
    background: rgba(104,159,56,0.08);
    color: var(--text-heading);
    border-left-color: var(--sms-green);
}
[data-theme="dark"] .sms-sidebar .sub-items a:hover { color: #8bc34a; }
.sms-sidebar .sub-items a.active {
    background: rgba(104,159,56,0.12);
    color: var(--text-heading);
    border-left-color: var(--sms-green);
}
[data-theme="dark"] .sms-sidebar .sub-items a.active { color: #8bc34a; }

/* Main Content */
.sms-content {
    margin-left: 240px;
    margin-top: 70px;
    padding: 20px 25px;
    min-height: calc(100vh - 70px);
}

/* Light mode table overrides */
.table-dark {
  --bs-table-color: var(--text-heading);
  --bs-table-bg: var(--bg-card);
  --bs-table-striped-bg: rgba(0,0,0,0.02);
  --bs-table-hover-bg: rgba(104,159,56,0.10);
  --bs-table-border-color: var(--border);
  color: var(--text-heading);
}
.table-dark th { border-color: var(--border); color: #e74c3c !important; white-space: nowrap; }
.table-dark td { border-color: var(--border); color: var(--text-body) !important; }
.table-dark thead th { background: rgba(231,76,60,0.08) !important; color: #e74c3c !important; }
.table-dark tbody tr:hover { background: rgba(104,159,56,0.10); }

/* Dark mode table overrides */
[data-theme="dark"] .table-dark {
  --bs-table-color: #e0e0e0;
  --bs-table-bg: rgba(255,255,255,0.02);
  --bs-table-striped-bg: rgba(255,255,255,0.03);
  --bs-table-hover-bg: rgba(104,159,56,0.10);
  --bs-table-border-color: rgba(104,159,56,0.2);
  color: #e0e0e0;
}
[data-theme="dark"] .table-dark th { border-color: rgba(231,76,60,0.3); color: #e74c3c !important; white-space: nowrap; }
[data-theme="dark"] .table-dark td { border-color: rgba(104,159,56,0.1); color: var(--text-body) !important; }
[data-theme="dark"] .table-dark thead th { background: rgba(231,76,60,0.15) !important; color: #e74c3c !important; }
[data-theme="dark"] .table-dark tbody tr:hover { background: rgba(104,159,56,0.08); }

.form-control-dark { background: var(--bg-card); border: 1px solid var(--border); color: var(--text-body); }
[data-theme="dark"] .form-control-dark { background: rgba(255,255,255,0.05); border: 1px solid rgba(104,159,56,0.2); color: var(--text-primary); }
.form-control-dark:focus { background: var(--bg-card); border-color: #689f38; color: var(--text-heading); box-shadow: 0 0 10px rgba(104,159,56,0.2); }
.form-control-dark::placeholder { color: var(--text-muted); }
.form-select { background-color: var(--bg-card); border: 1px solid var(--border); color: var(--text-body); }
[data-theme="dark"] .form-select { background-color: rgba(255,255,255,0.05); border: 1px solid rgba(104,159,56,0.2); color: var(--text-primary); }
.form-select:focus { border-color: #689f38; box-shadow: 0 0 10px rgba(104,159,56,0.2); }
.card-dark { background: var(--bg-card); border: 1px solid rgba(104,159,56,0.15); border-radius: 10px; }
[data-theme="dark"] .card-dark { background: rgba(255,255,255,0.03); }
.card-dark .card-header { background: rgba(104,159,56,0.08); border-bottom: 1px solid rgba(104,159,56,0.15); color: var(--text-heading); font-weight: 600; }
[data-theme="dark"] .card-dark .card-header { color: #8bc34a; }
.btn-primary-modern { background: linear-gradient(135deg, #689f38, #33691e); border: none; color: var(--bg-card); }
.btn-primary-modern:hover { background: linear-gradient(135deg, #8bc34a, #689f38); color: var(--bg-card); }
.page-title-sms { color: var(--text-heading); 'Microsoft YaHei', monospace; font-size: 1.2rem; border-bottom: 1px solid rgba(104,159,56,0.3); padding-bottom: 8px; margin-bottom: 20px; }
[data-theme="dark"] .page-title-sms { color: #8bc34a; }
.badge { 'Microsoft YaHei', sans-serif; }
a { color: var(--primary); }
a:hover { color: var(--primary-hover); }

/* Responsive */
@media (max-width: 768px) {
    .sms-sidebar { width: 100%; position: relative; top: 0; height: auto; border-right: none; border-bottom: 1px solid rgba(104,159,56,0.2); }
    .sms-content { margin-left: 0; margin-top: 0; }
}

/* Sidebar toggle on mobile */
.sidebar-toggle-btn {
    display: none;
    position: fixed;
    top: 75px;
    left: 10px;
    z-index: 200;
    background: rgba(104,159,56,0.2);
    border: 1px solid #689f38;
    color: var(--text-heading);
    border-radius: 5px;
    padding: 5px 10px;
    cursor: pointer;
}
@media (max-width: 768px) {
    .sidebar-toggle-btn { display: block; }
    .sms-sidebar { display: none; }
    .sms-sidebar.show { display: block; position: fixed; top: 56px; left: 0; width: 280px; height: calc(100vh - 56px); z-index: 300; }
    .sms-content { margin-left: 0; padding-top: 10px; }
}

/* ─── LAST RESORT — SMS table header overrides ───── */

table.table.table-dark thead tr th,
table.table.table-dark thead tr td,
table.table-dark thead tr th,
table.table-dark thead tr td {
  color: #ffffff !important;
  background: #3B82F6 !important;
}
[data-theme="dark"] table.table.table-dark thead tr th,
[data-theme="dark"] table.table.table-dark thead tr td,
[data-theme="dark"] table.table-dark thead tr th,
[data-theme="dark"] table.table-dark thead tr td {
  color: #ffffff !important;
  background: #2563EB !important;
}
