* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #0a0a1a; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #0f0f23; }
::-webkit-scrollbar-thumb { background: #2a2a5a; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #3a3a6a; }

.sidebar-item { transition: all 0.2s ease; }
.sidebar-item:hover { background: rgba(67, 97, 238, 0.1); }
.sidebar-item.active { background: linear-gradient(135deg, rgba(67, 97, 238, 0.2), rgba(0, 180, 216, 0.1)); border-right: 3px solid #4361ee; }

.card-hover { transition: all 0.25s ease; }
.card-hover:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0,0,0,0.3); }

.stat-card { position: relative; overflow: hidden; }
.stat-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; }
.stat-card.blue::before { background: linear-gradient(180deg, #4361ee, #00b4d8); }
.stat-card.green::before { background: linear-gradient(180deg, #10b981, #34d399); }
.stat-card.orange::before { background: linear-gradient(180deg, #f59e0b, #fbbf24); }
.stat-card.purple::before { background: linear-gradient(180deg, #7b2ff7, #a855f7); }

.badge { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 9999px; font-size: 11px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.badge-green { background: rgba(16, 185, 129, 0.15); color: #34d399; }
.badge-yellow { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.badge-blue { background: rgba(67, 97, 238, 0.15); color: #818cf8; }
.badge-red { background: rgba(239, 68, 68, 0.15); color: #f87171; }
.badge-orange { background: rgba(249, 115, 22, 0.15); color: #fb923c; }
.badge-teal { background: rgba(0, 180, 216, 0.15); color: #22d3ee; }

.modal-overlay { background: rgba(0,0,0,0.6); backdrop-filter: blur(4px); }

.input-field { background: #151530; border: 1px solid #2a2a5a; border-radius: 8px; padding: 10px 14px; color: #e2e8f0; font-size: 14px; transition: all 0.2s; width: 100%; font-family: 'DM Sans', sans-serif; }
.input-field:focus { outline: none; border-color: #4361ee; box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.15); }
.input-field::placeholder { color: #4a4a7a; }

select.input-field { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236a6a9a' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }

.toast { animation: slideIn 0.3s ease, fadeOut 0.3s ease 2.7s; }
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }

.kanban-col { min-height: 200px; }

.property-img { background-size: cover; background-position: center; }

@keyframes countUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.animate-in { animation: countUp 0.5s ease forwards; }

.calendar-day { transition: all 0.15s; }
.calendar-day:hover { background: rgba(67, 97, 238, 0.15); }

.heart-btn { transition: all 0.2s; }
.heart-btn:hover { transform: scale(1.2); }
.heart-btn.active { color: #f72585; }

textarea.input-field { resize: vertical; min-height: 80px; }