#kanban-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-top: 1rem; } .kanban-column { background: #f8f9fa; border-radius: 8px; padding: 0.6rem; display: flex; flex-direction: column; } .kanban-column h3 { text-align: center; font-size: 0.9rem; margin: 0.4rem 0 0.6rem; font-weight: 600; } .kanban-list { flex-grow: 1; min-height: 3rem; display: flex; flex-direction: column; gap: 0.5rem; } .kanban-card { background: var(--bg); border-radius: 6px; padding: 0.5rem 0.6rem; font-size: 0.85rem; cursor: grab; box-shadow: 0 1px 2px rgba(0,0,0,0.1); color: var(--fg); } .kanban-card.dragging { opacity: 0.5; cursor: grabbing; } .kanban-column[data-state="completed"] { background: var(--kb-bg-completed); } .kanban-column[data-state="manager_review"] { background: var(--kb-bg-manager-review); } .kanban-column[data-state="in_progress"] { background: var(--kb-bg-in-progress); } .kanban-column[data-state="not_started"] { background: var(--kb-bg-not-started); } .kanban-column[data-state="comments"] { background: var(--kb-bg-comments); } #mobile-move-panel { display: none; max-width: 22rem; margin: 1.5rem auto 0 auto; padding: 1rem; box-sizing: border-box; border: 1px solid var(--border-color, #ddd); border-radius: 0.5rem; background: var(--bg); color: var(--fg); overflow: hidden; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); font-size: 0.9rem; } #mobile-move-panel * { box-sizing: border-box; } #mobile-move-panel h4 { margin: 0 0 0.75rem 0; font-size: 0.95rem; font-weight: 600; } #mobile-move-panel label { display: flex; flex-direction: column; gap: 0.35rem; width: 100%; } #mobile-move-panel select, #mobile-move-panel button { font-size: 0.9rem; padding: 0.4rem 0.5rem; min-width: 0; } #mobile-move-panel button { margin-top: 0.5rem; align-self: flex-start; } #mobile-move-panel select { width: 100%; max-width: 100%; padding: 0.45rem 2rem 0.45rem 0.6rem; font-size: 0.9rem; line-height: 1.2; border: 1px solid var(--border-color, #ccc); border-radius: 0.4rem; background-color: var(--bg, #fff); appearance: none; -webkit-appearance: none; -moz-appearance: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background-image: linear-gradient(45deg, transparent 50%, #666 50%), linear-gradient(135deg, #666 50%, transparent 50%), linear-gradient(to right, transparent, transparent); background-position: calc(100% - 1.2rem) 50%, calc(100% - 0.9rem) 50%, 100% 0; background-size: 6px 6px, 6px 6px, 2.5rem 100%; background-repeat: no-repeat; margin-bottom: 1em; } #mobile-move-panel select:focus { outline: none; border-color: #666; box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08); } #mobile-move-panel button { width: 100%; padding: 0.5rem 0.6rem; font-size: 0.9rem; border-radius: 0.4rem; border: 1px solid #888; background: #f8f8f8; cursor: pointer; } #mobile-move-panel button:active { background: #eee; } #mobile-move-panel select:disabled { background-color: #f3f3f3; color: #555; border-color: #ccc; opacity: 1; cursor: default; background-image: none; } #progress-wrapper { margin-bottom: 16px; } #progress-label { font-size: 14px; margin-bottom: 6px; text-align: right; color: #555; } #progress-bar { width: 100%; height: 10px; background: #e5e7eb; border-radius: 999px; overflow: hidden; } #progress-fill { height: 100%; width: 0%; background: #22c55e; transition: width 0.3s ease; } #level-tabs { display: inline-flex; align-items: center; gap: 0; margin-bottom: 1rem; border-radius: 999px; padding: 3px; background: var(--bg, #fff); width: fit-content; } .level-tab { border: none; background: transparent; padding: 0.35rem 1rem; font-size: 0.85rem; border-radius: 999px; cursor: pointer; color: var(--fg, #333); transition: background 0.2s ease, color 0.2s ease, transform 0.1s ease; } .level-tab:hover { background: rgba(0,0,0,0.05); } .level-tab.active { background: #333; color: white; font-weight: 500; } .level-tab:active { transform: scale(0.97); }