@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap');
:root {
    --bg-main: #f8fafc; --card-bg: #ffffff; --text-main: #1e293b; 
    --header-bg: #1e293b; --header-text: #ffffff; --accent: #3b82f6; 
    --border: #e2e8f0; --row-hover: #f1f5f9; --btn-unhide: #e2e8f0;
    --unhide-text: #1e293b; --modal-btn-bg: #ef4444; --modal-btn-text: #ffffff;
}
.dark {
    --bg-main: #0f172a; --card-bg: #1e293b; --text-main: #f8fafc; 
    --header-bg: #020617; --header-text: #f8fafc; --accent: #60a5fa; 
    --border: #334155; --row-hover: #1e293b; --btn-unhide: #cbd5e1;
    --unhide-text: #1e293b;
}
.theme-peaches {
    --bg-main: #fff5f0; --card-bg: #ffffff; --text-main: #4a1e1e; 
    --header-bg: #ff8b6b; --header-text: #4a1e1e; --accent: #d946ef; 
    --border: #fed7aa; --row-hover: #fff1eb; --btn-unhide: #fee2e2;
    --unhide-text: #4a1e1e;
}
.theme-peaches.dark {
    --bg-main: #2d1b1b; --card-bg: #4a1e1e; --text-main: #fff5f0; 
    --header-bg: #1a0a0a; --header-text: #ff8b6b; --accent: #ff8b6b; 
    --border: #7c2d12; --row-hover: #3d1616; --btn-unhide: #ffedd5;
    --unhide-text: #4a1e1e;
}
body { font-family: 'Inter', sans-serif; background-color: var(--bg-main); color: var(--text-main); transition: all 0.2s ease; }
.header-section { background-color: var(--header-bg); color: var(--header-text); }
.tab-active { border-bottom: 3px solid var(--accent); color: var(--accent); }
.checked-line { text-decoration: line-through; opacity: 0.3; }
.hidden-item { display: none !important; }
.show-hidden .hidden-item { display: table-row !important; opacity: 0.5; background: rgba(239, 68, 68, 0.1); }
.border-theme { border-color: var(--border); }
.control-btn { font-size: 0.85rem; font-weight: 900; padding: 0.4rem 1rem; border-radius: 0.5rem; transition: all 0.2s; }
.btn-dense { height: 1.25rem; min-width: 1.25rem; display: flex; align-items: center; justify-content: center; font-size: 0.6rem; }
#master-unhide-btn { background-color: var(--btn-unhide); color: var(--unhide-text); border: 1px solid var(--border); }
.themed-bg { background-color: var(--btn-unhide) !important; color: var(--unhide-text) !important; border: 1px solid var(--border); }
.table-text { color: var(--unhide-text) !important; }
.btn-add { background-color: #10b981 !important; color: white !important; }
.btn-danger { background-color: var(--modal-btn-bg) !important; color: var(--modal-btn-text) !important; }
.edit-trigger { opacity: 0; transition: opacity 0.2s; cursor: pointer; }
.group:hover .edit-trigger { opacity: 0.6; }
.resizer { width: 4px; position: absolute; right: 0; top: 0; bottom: 0; cursor: col-resize; transition: background 0.2s; z-index: 10; }
.resizer:hover { background: var(--accent); }
th { position: relative; }

/* Drag & Drop Visuals */
.dragging { opacity: 0.4; transform: scale(0.98); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }
.drag-over { outline: 2px dashed var(--accent); outline-offset: -2px; background-color: var(--row-hover) !important; }

/* Print View Optimization */
@media print {
    body { background: white; color: black; }
    #table-controls button, .header-section button, .header-section .edit-trigger, #nav-tabs, .resizer, td button, th button, #login-screen, #unauthorized-screen, #modal-overlay { display: none !important; }
    #main-dashboard { box-shadow: none; border: none; }
    .themed-bg { background-color: white !important; color: black !important; border-bottom: 1px solid #ccc; }
}