html, body { margin: 0; padding: 0; height: 100%; }
* { box-sizing: border-box; }
body { font-family: 'Hanken Grotesk', sans-serif; color: #1A1A18; background: #FAFAF9; }

.leaflet-container { font-family: 'Hanken Grotesk', sans-serif; background: #EDEDE8; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #D6D6CE; border-radius: 999px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: #BFBFB5; background-clip: content-box; }

@keyframes sheetIn { from { transform: translateX(36px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes toastIn { from { transform: translate(-50%, 14px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }

/* Hover affordances ported from the prototype's style-hover hints */
.btn-dark:hover { background: #000000 !important; }
.btn-soft:hover { background: #F1F1EC !important; }
.btn-soft-dashed:hover { border-color: #1A1A18 !important; background: #F4F4EF !important; }
.btn-ghost:hover { background: #F4F4EF !important; }
.card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.09); transform: translateY(-2px); }
.row:hover { background: #F6F6F2 !important; }
.del:hover { background: #FCF0ED !important; color: #B03A22 !important; }
.copy-btn:hover { background: #1B8C6C !important; }
.move-btn:hover { background: #EAF5EF !important; }
.danger-soft:hover { background: #F8E8E4 !important; }
.geo-btn:hover { background: #DDEFE6 !important; }
.link-back:hover { color: #1A1A18 !important; }
.rename-btn:hover { background: #F1F1EC !important; color: #1A1A18 !important; }
input:focus, textarea:focus { border-color: #1A1A18 !important; }
