/* Edwin OS - Custom Styles */

[x-cloak] { display: none !important; }

/* Kanban scroll */
.kanban-board { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: 1rem; min-height: 400px; }
.kanban-col { min-width: 220px; max-width: 220px; flex-shrink: 0; }

/* Status dots */
.status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.status-dot.running { animation: pulse 1.5s infinite; }

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* Slide panel */
.panel-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.3); z-index: 40; }
.slide-panel { position: fixed; top: 0; right: 0; height: 100vh; width: 480px; max-width: 100vw; background: white; z-index: 50; box-shadow: -4px 0 24px rgba(0,0,0,0.1); overflow-y: auto; }

/* Sidebar */
.sidebar { width: 240px; min-width: 240px; }
@media (max-width: 768px) {
  .sidebar { position: fixed; left: 0; top: 0; height: 100vh; z-index: 30; transform: translateX(-100%); transition: transform 0.2s; }
  .sidebar.open { transform: translateX(0); }
  .slide-panel { width: 100vw; }
  .kanban-col { min-width: 200px; max-width: 200px; }
}

/* Cards */
.card { background: white; border-radius: 0.5rem; box-shadow: 0 1px 3px rgba(0,0,0,0.1); padding: 1rem; }
.card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.12); }

/* Badge */
.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 9999px; font-size: 0.75rem; font-weight: 500; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
