/* === PRINT MODE STYLES === */
.cgl-print-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(0,122,255,0.06), rgba(0,122,255,0.02));
    border: 1px solid rgba(0,122,255,0.2);
    border-radius: 12px;
    margin-bottom: 16px;
}
.cgl-print-toolbar-left,
.cgl-print-toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
}
.cgl-print-action {
    padding: 6px 14px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}
.cgl-print-action:hover {
    background: var(--bg-input);
    border-color: var(--apple-blue);
    color: var(--apple-blue);
}
.cgl-print-count {
    font-size: 13px;
    font-weight: 600;
    color: var(--apple-blue);
    padding: 4px 10px;
    background: rgba(0,122,255,0.08);
    border-radius: 12px;
}
.cgl-print-generate {
    padding: 8px 20px;
    background: var(--apple-blue);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.cgl-print-generate:hover:not(:disabled) {
    background: var(--apple-blue-hover);
}
.cgl-print-generate:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.cgl-print-cancel {
    padding: 8px 16px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}
.cgl-print-cancel:hover {
    border-color: var(--danger);
    color: var(--danger);
}
.cgl-print-checkbox {
    width: 18px;
    height: 18px;
    accent-color: var(--apple-blue);
    cursor: pointer;
    flex-shrink: 0;
}
.cgl-print-selected > td {
    background: rgba(0,122,255,0.04) !important;
}
.cgl-table th.cgl-print-th {
    width: 40px;
    text-align: center;
    padding: 8px 4px;
}

/* === CGL DARK MODE OVERRIDES === */
body.dark-mode .cgl-stat-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }
body.dark-mode .cgl-stat-card:hover { background: rgba(255,255,255,0.065); box-shadow: 0 6px 24px rgba(0,0,0,0.4); }
body.dark-mode .cgl-stat-card::before { opacity: 0.08; }
body.dark-mode .cgl-controls { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }
body.dark-mode .cgl-table-container { border-color: rgba(255,255,255,0.08); }
body.dark-mode .cgl-table th { background: rgba(255,255,255,0.04); }
body.dark-mode .cgl-table tr:hover { background: rgba(255,255,255,0.04); }
body.dark-mode .cgl-table tr.updated { background: rgba(52,199,89,0.08); }
body.dark-mode .cgl-table tr.hidden-row { background: rgba(255,255,255,0.02); }
body.dark-mode .cgl-table tr.hidden-row td { text-decoration-color: #555; }
body.dark-mode .cgl-status-badge.expired { background: rgba(255,59,48,0.12); color: #ff6b6b; border-color: rgba(255,59,48,0.3); }
body.dark-mode .cgl-status-badge.critical { background: rgba(204,102,0,0.12); color: #ffaa44; border-color: rgba(204,102,0,0.3); }
body.dark-mode .cgl-status-badge.notifying { background: rgba(255,59,48,0.15); color: #ff6b6b; border-color: rgba(255,59,48,0.35); box-shadow: 0 0 10px rgba(255,59,48,0.25), 0 0 3px rgba(255,59,48,0.15); }
body.dark-mode .cgl-status-badge.expiring-soon { background: rgba(204,153,0,0.12); color: #ffd644; border-color: rgba(204,153,0,0.3); }
body.dark-mode .cgl-status-badge.active { background: rgba(52,199,89,0.12); color: #6ee7b7; border-color: rgba(52,199,89,0.3); }
body.dark-mode .cgl-status-badge.needs-state-update { background: rgba(10,132,255,0.15); color: #5ac8fa; border-color: rgba(10,132,255,0.35); box-shadow: 0 0 10px rgba(10,132,255,0.2), 0 0 3px rgba(10,132,255,0.12); }
body.dark-mode .cgl-needs-state-row { background: rgba(10,132,255,0.06); }
body.dark-mode .cgl-toggle-slider { background-color: rgba(255,255,255,0.2); }
body.dark-mode .cgl-dismiss-btn { border-color: var(--border); color: #94a3b8; }
body.dark-mode .cgl-dismiss-btn:hover { background: rgba(255,59,48,0.15); color: #ff6b6b; border-color: rgba(255,59,48,0.3); }
body.dark-mode .cgl-snooze-btn { border-color: rgba(251,191,36,0.3); color: #fbbf24; }
body.dark-mode .cgl-snooze-btn:hover { background: rgba(251,191,36,0.15); border-color: rgba(251,191,36,0.5); }
body.dark-mode .cgl-snoozed-badge { background: rgba(251,191,36,0.12); border-color: rgba(251,191,36,0.25); color: #fbbf24; }
body.dark-mode .cgl-quick-note-btn.cgl-snooze-quick { background: rgba(88,86,214,0.10); border-color: rgba(88,86,214,0.2); color: #818cf8; }
body.dark-mode .cgl-quick-note-btn.cgl-snooze-quick:hover { background: rgba(88,86,214,0.18); border-color: rgba(88,86,214,0.35); }
body.dark-mode .cgl-restore-btn { border-color: var(--border); }
body.dark-mode .cgl-restore-btn:hover { background: rgba(59,130,246,0.12); border-color: rgba(59,130,246,0.3); }
body.dark-mode .cgl-show-more-btn { background: rgba(56,189,248,0.08); border-color: rgba(56,189,248,0.25); }
body.dark-mode .cgl-show-more-btn:hover { background: rgba(56,189,248,0.15); }
body.dark-mode .cgl-show-hidden-btn { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.1); }
body.dark-mode .cgl-show-hidden-btn:hover { background: rgba(59,130,246,0.08); }
body.dark-mode .cgl-show-hidden-btn.active { background: rgba(59,130,246,0.12); color: #93c5fd; }
body.dark-mode .cgl-hidden-count { background: var(--bg-input); color: var(--text-secondary); }
body.dark-mode .cgl-show-hidden-btn.active .cgl-hidden-count { background: rgba(59,130,246,0.2); color: #93c5fd; }
body.dark-mode .cgl-backup-btn { background: var(--bg-card); }
body.dark-mode .cgl-backup-btn:hover { background: var(--bg-input); }
body.dark-mode .cgl-file-btn { background: var(--bg-input); border-color: var(--border); color: var(--text); }
body.dark-mode .cgl-file-btn:hover { background: var(--border); color: var(--text); }
body.dark-mode .cgl-file-status .field-mode { background: var(--bg-input); border-color: var(--border); color: var(--text-secondary); }
body.dark-mode .cgl-file-sep { background: var(--border); }
body.dark-mode .cgl-backup-reminder { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.3); color: #fbbf24; }
body.dark-mode .cgl-backup-reminder .cgl-reminder-dismiss { color: #fbbf24; }
body.dark-mode .cgl-backup-reminder .cgl-reminder-dismiss:hover { color: #fcd34d; }
body.dark-mode .cgl-save-dot.saved { background-color: #34C759; }
body.dark-mode .cgl-save-dot.saving { background-color: var(--warning); }
body.dark-mode .cgl-save-dot.error { background-color: #ff6b6b; }
body.dark-mode .cgl-save-dot.loading { background-color: #8E8E93; }
body.dark-mode .cgl-quick-note-btn { background: var(--bg-input); border-color: var(--border); color: var(--text-secondary); }
body.dark-mode .cgl-quick-note-btn:hover { background: var(--border); color: var(--text); }
body.dark-mode .cgl-quick-note-btn.renew { background: rgba(37,99,235,0.12); border-color: rgba(37,99,235,0.25); color: #93c5fd; }
body.dark-mode .cgl-quick-note-btn.renew:hover { background: rgba(37,99,235,0.2); }
body.dark-mode .cgl-quick-note-btn.confirm { background: rgba(52,199,89,0.12); border-color: rgba(52,199,89,0.25); color: #6ee7b7; }
body.dark-mode .cgl-quick-note-btn.confirm:hover { background: rgba(52,199,89,0.2); }
body.dark-mode .cgl-quick-note-btn.state-done { background: rgba(52,199,89,0.12); border-color: rgba(52,199,89,0.25); color: #6ee7b7; }
body.dark-mode .cgl-quick-note-btn.state-done:hover { background: rgba(52,199,89,0.2); }
body.dark-mode .cgl-quick-note-btn.hs-done { background: rgba(88,86,214,0.12); border-color: rgba(88,86,214,0.25); color: #a78bfa; }
body.dark-mode .cgl-quick-note-btn.hs-done:hover { background: rgba(88,86,214,0.2); }
body.dark-mode .cgl-note-entry { border-bottom-color: var(--border); }
body.dark-mode .cgl-renewed-badge { background: rgba(52,199,89,0.15); color: #6ee7b7; border-color: rgba(52,199,89,0.3); }
body.dark-mode .cgl-auto-renewed-badge { background: rgba(59,130,246,0.15); color: #93c5fd; border-color: rgba(59,130,246,0.3); }
body.dark-mode .cgl-state-updated-row > td { background: rgba(52,199,89,0.08) !important; }
body.dark-mode .cgl-state-badge { background: rgba(52,199,89,0.15); color: #6ee7b7; border-color: rgba(52,199,89,0.3); }
body.dark-mode .cgl-error { background: rgba(255,59,48,0.1); border-color: rgba(255,59,48,0.25); }
body.dark-mode .cgl-legend { background: linear-gradient(135deg, rgba(56,189,248,0.04) 0%, rgba(99,102,241,0.04) 100%); border-color: rgba(56,189,248,0.12); box-shadow: 0 4px 24px rgba(0,0,0,0.3); }
body.dark-mode .cgl-legend-item:hover { background: rgba(56,189,248,0.06); border-color: rgba(56,189,248,0.15); }
body.dark-mode .cgl-manual-badge { background: rgba(204,102,0,0.12); color: #ffaa44; }
/* CGL type badges — dark mode */
body.dark-mode .cgl-type-badge.cgl { background: rgba(26,115,232,0.15); color: #93c5fd; }
body.dark-mode .cgl-type-badge.bond { background: rgba(217,48,37,0.15); color: #fca5a5; }
body.dark-mode .cgl-type-badge.auto { background: rgba(230,81,0,0.15); color: #fdba74; }
body.dark-mode .cgl-type-badge.wc { background: rgba(123,31,162,0.15); color: #d8b4fe; }
body.dark-mode .cgl-type-badge.pkg { background: rgba(0,105,92,0.15); color: #6ee7b7; }
body.dark-mode .cgl-type-badge.umbrella { background: rgba(40,53,147,0.15); color: #a5b4fc; }
body.dark-mode .cgl-type-badge.im { background: rgba(245,127,23,0.15); color: #fcd34d; }
body.dark-mode .cgl-type-badge.property { background: rgba(78,52,46,0.25); color: #d6bcb1; }
body.dark-mode .cgl-type-badge.epli, body.dark-mode .cgl-type-badge.do, body.dark-mode .cgl-type-badge.eo { background: rgba(136,14,79,0.15); color: #f9a8d4; }
body.dark-mode .cgl-type-badge.cyber { background: rgba(0,96,100,0.15); color: #67e8f9; }
body.dark-mode .cgl-type-badge.bop { background: rgba(51,105,30,0.15); color: #86efac; }
body.dark-mode .cgl-type-badge.commercial { background: rgba(255,255,255,0.08); color: #a1a1aa; }

/* Print mode dark overrides */
body.dark-mode .cgl-print-toolbar { background: linear-gradient(135deg, rgba(10,132,255,0.08), rgba(10,132,255,0.03)); border-color: rgba(10,132,255,0.25); }
body.dark-mode .cgl-print-action { background: var(--bg-input); border-color: var(--border); color: var(--text-secondary); }
body.dark-mode .cgl-print-action:hover { background: var(--border); color: var(--apple-blue); }
body.dark-mode .cgl-print-count { background: rgba(10,132,255,0.12); color: #60a5fa; }
body.dark-mode .cgl-print-cancel { border-color: var(--border); color: var(--text-secondary); }
body.dark-mode .cgl-print-selected > td { background: rgba(10,132,255,0.06) !important; }

