/* ========== 打卡模块 ========== */
.ci-container { display: flex; flex-direction: column; gap: 1rem; }
.ci-quick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 0.6rem; }
.ci-quick-btn {
  display: flex; flex-direction: column; align-items: center; gap: 0.3rem;
  padding: 0.8rem 0.5rem; border-radius: var(--tw-radius);
  background: var(--tw-bg-card); border: 2px solid var(--tw-border);
  cursor: pointer; transition: all 0.2s; user-select: none;
}
.ci-quick-btn:hover { transform: scale(1.05); box-shadow: var(--tw-shadow); }
.ci-quick-btn:active { transform: scale(0.95); }
.ci-quick-btn .ci-emoji { font-size: 1.5rem; }
.ci-quick-btn .ci-name { font-size: 0.8rem; color: var(--tw-text-secondary); }
.ci-quick-btn.done { opacity: 0.5; border-color: var(--tw-success); }

.ci-today-section h4 { margin-bottom: 0.5rem; color: var(--tw-text-secondary); }
.ci-today-list { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.ci-today-chip { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.3rem 0.6rem; border-radius: 12px; font-size: 0.8rem; background: var(--tw-bg-secondary); border: 1px solid var(--tw-border); }

.ci-timeline { max-height: 500px; overflow-y: auto; }
.ci-timeline-day { margin-bottom: 1rem; }
.ci-timeline-date { font-size: 0.85rem; font-weight: 600; color: var(--tw-text-secondary); padding: 0.3rem 0; border-bottom: 1px solid var(--tw-border); margin-bottom: 0.4rem; }
.ci-timeline-items { display: flex; flex-direction: column; gap: 0.3rem; }
.ci-timeline-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.6rem; border-radius: var(--tw-radius-sm); background: var(--tw-bg-secondary); font-size: 0.85rem; }
.ci-timeline-time { color: var(--tw-text-muted); font-size: 0.75rem; min-width: 50px; }

.ci-type-manager { display: flex; flex-direction: column; gap: 0.6rem; }
.ci-type-row { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.ci-type-row label { min-width: 60px; font-size: 0.85rem; color: var(--tw-text-secondary); }
.ci-type-list { display: flex; flex-direction: column; gap: 0.4rem; }
.ci-type-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.7rem; border-radius: var(--tw-radius-sm); background: var(--tw-bg-secondary); border: 1px solid var(--tw-border); }
.ci-type-color { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--tw-border); cursor: pointer; }
.ci-type-name { flex: 1; font-size: 0.9rem; }
.ci-type-emoji { font-size: 1.1rem; }

.ci-export-row { display: flex; gap: 0.5rem; align-items: center; }

@media (max-width: 768px) {
  .ci-quick-grid { grid-template-columns: repeat(3, 1fr); }
  .ci-quick-btn { padding: 0.6rem 0.3rem; }
}
