/* ================================================================ dashboard.css — Tinker Tickets TDS v1.2 App-specific overrides. base.css handles all base components. ================================================================ */ /* ── Stats grid spacing ──────────────────────────────────────── */ .lt-stats-grid { margin-bottom: 1rem; } /* Priority row highlights */ .lt-row-critical td { background: rgba(255, 77, 77, 0.04); } .lt-row-warning td { background: rgba(255, 167, 38, 0.04); } /* Stat cards — clickable filter shortcuts */ .lt-stat-card[role="button"] { cursor: pointer; transition: border-color 0.15s ease, background 0.15s ease; } .lt-stat-card[role="button"]:hover, .lt-stat-card[role="button"]:focus-visible { border-color: var(--lt-text-primary, #00ff41); background: rgba(0, 255, 65, 0.06); outline: none; } .lt-stat-card.stat-critical .lt-stat-icon { color: var(--lt-danger, #ff4d4d); } .lt-stat-card.stat-open .lt-stat-icon { color: var(--lt-text-primary, #00ff41); } .lt-stat-card.stat-unassigned .lt-stat-icon { color: var(--lt-amber, #ffb000); } .lt-stat-card.stat-today .lt-stat-icon { color: var(--lt-cyan, #00ffff); } /* ── Active filters bar ──────────────────────────────────────── */ .active-filters-bar { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; padding: 0.5rem 0; margin-bottom: 0.5rem; } .filter-badge { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.5rem; border: 1px solid var(--lt-border, #00ff41); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--lt-text-primary, #00ff41); background: transparent; } .filter-remove { background: none; border: none; cursor: pointer; color: inherit; opacity: 0.6; font-size: 0.75rem; padding: 0 0.1rem; line-height: 1; } .filter-remove:hover { opacity: 1; } /* ── Bulk actions inline bar ─────────────────────────────────── */ .bulk-actions-inline { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.75rem; border: 1px solid var(--lt-amber, #ffb000); margin-bottom: 0.5rem; font-size: 0.75rem; } /* ── Search form ─────────────────────────────────────────────── */ .lt-search-form { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; } /* ── Pagination ──────────────────────────────────────────────── */ .lt-pagination { display: flex; align-items: center; gap: 0.2rem; padding: 0.75rem 0; flex-wrap: wrap; } /* ── Sidebar expand stub ─────────────────────────────────────── */ .lt-sidebar-expand-btn { writing-mode: vertical-rl; text-orientation: mixed; padding: 0.75rem 0.3rem; cursor: pointer; border: 1px solid var(--lt-border, #00ff41); background: transparent; color: var(--lt-text-primary, #00ff41); font-family: inherit; font-size: 0.7rem; letter-spacing: 0.1em; align-self: flex-start; } /* ── Kanban empty state ──────────────────────────────────────── */ #tab-kanban .lt-section-body:empty::after { content: '— empty —'; display: block; padding: 1rem; text-align: center; font-size: 0.7rem; opacity: 0.4; } /* ── Dashboard-specific page header ─────────────────────────── */ .lt-page-header { display: flex; justify-content: space-between; align-items: center; padding: 0.5rem 0 0.75rem; margin-bottom: 0.25rem; } /* ── Col checkbox width ──────────────────────────────────────── */ .col-checkbox { width: 2rem; text-align: center; } .col-actions { width: auto; white-space: nowrap; } /* ── Admin container ─────────────────────────────────────────── */ .admin-container { max-width: 900px; } /* ── Create ticket meta grid ─────────────────────────────────── */ .create-ticket-meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } @media (max-width: 600px) { .create-ticket-meta-grid { grid-template-columns: 1fr; } } /* ── Form hint text ──────────────────────────────────────────── */ .lt-form-hint { font-size: 0.7rem; opacity: 0.6; margin: 0.2rem 0 0; } .lt-form-hint--warn { color: var(--lt-amber, #ffb000); opacity: 1; } /* ── Visibility groups ───────────────────────────────────────── */ .visibility-groups-list { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.4rem 0; } /* ── Duplicate warning list ──────────────────────────────────── */ .duplicate-list { list-style: none; padding: 0.25rem 0 0; margin: 0; } .duplicate-list li { padding: 0.2rem 0; border-bottom: 1px solid rgba(255, 176, 0, 0.2); } .duplicate-list li:last-child { border-bottom: none; } /* ── Admin sections ──────────────────────────────────────────── */ .settings-section { margin-bottom: 1.5rem; } .settings-section:last-child { margin-bottom: 0; } /* ── Shortcuts list ──────────────────────────────────────────── */ .shortcuts-list { display: flex; flex-direction: column; gap: 0.35rem; } .shortcut-item { display: flex; align-items: center; gap: 0.75rem; } kbd { font-family: inherit; font-size: 0.7rem; padding: 0.1rem 0.35rem; border: 1px solid var(--lt-border, #00ff41); white-space: nowrap; } /* ── lt-msg variants ─────────────────────────────────────────── */ .lt-mb-md { margin-bottom: 1rem; } /* ── Responsive ──────────────────────────────────────────────── */ @media (max-width: 768px) { .lt-page-header { flex-direction: column; align-items: flex-start; gap: 0.5rem; } .lt-stats-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .lt-stats-grid { grid-template-columns: 1fr; } }