/* 커스텀 스타일 */
* { -webkit-tap-highlight-color: transparent; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif; }

.nav-item { display:flex; align-items:center; gap:.6rem; padding:.6rem .75rem; border-radius:.6rem; color:#475569; font-weight:500; cursor:pointer; transition:.15s; }
.nav-item:hover { background:#f1f5f9; }
.nav-item.active { background:#eef2ff; color:#4f46e5; }
.nav-item i { width:1.2rem; text-align:center; }

#nav-mobile { overflow-x:auto; -webkit-overflow-scrolling:touch; }
#nav-mobile::-webkit-scrollbar { display:none; }
.tab-m { flex:1 0 auto; min-width:56px; display:flex; flex-direction:column; align-items:center; gap:2px; padding:.5rem .3rem; font-size:.62rem; color:#64748b; }
.tab-m.active { color:#4f46e5; }
.tab-m i { font-size:1.05rem; }

.prio-3 { border-left:4px solid #ef4444; }
.prio-2 { border-left:4px solid #f59e0b; }
.prio-1 { border-left:4px solid #3b82f6; }
.prio-0 { border-left:4px solid #e2e8f0; }

.heatmap-cell { width:12px; height:12px; border-radius:2px; }

.cal-day { min-height:84px; }
@media (max-width:768px){ .cal-day { min-height:56px; } }

.spin { animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.fade-in { animation: fade .2s ease; }
@keyframes fade { from { opacity:0; transform:translateY(4px);} to {opacity:1; transform:none;} }
