:root{color-scheme:dark;--background:#07111f;--surface:#0d1b2d;--surface-raised:#13243a;--border:#243b55;--foreground:#f8fafc;--muted:#93a4b8;--primary:#22c55e;--primary-dark:#15803d;--accent:#38bdf8;--danger:#ef4444}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;background:radial-gradient(circle at top left,rgba(34,197,94,.12),transparent 35%),radial-gradient(circle at bottom right,rgba(56,189,248,.1),transparent 35%),var(--background);color:var(--foreground);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:relative;z-index:1000;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);background:rgba(7,17,31,.86);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand,.site-header{display:flex;align-items:center}.brand{gap:.7rem;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:.8rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#04140a;font-size:1.3rem}.nav-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.55rem;padding:.65rem 1rem;border:1px solid transparent;border-radius:.7rem;background:var(--primary);color:#04140a;font-size:.9rem;font-weight:750;cursor:pointer;transition:transform .15s ease,filter .15s ease}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.button.secondary{background:transparent;border-color:var(--border);color:var(--foreground)}.button.danger{background:var(--danger);color:#fff}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.main-content{flex:1 1;width:100%}.page-container{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.hero-map{position:relative;height:calc(100vh - 68px);min-height:540px}.map-instance{height:100%;width:100%;background:#0b1626}.map-overlay{position:absolute;z-index:600;top:clamp(1rem,3vw,2rem);left:clamp(1rem,4vw,3rem);width:min(430px,calc(100% - 2rem));padding:1.4rem;border:1px solid rgba(148,163,184,.24);border-radius:1.2rem;background:rgba(7,17,31,.82);box-shadow:0 22px 70px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow{margin:0 0 .45rem;color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero-title{margin:0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05;letter-spacing:-.045em}.hero-copy{margin:.85rem 0 0;color:var(--muted);line-height:1.6}.contact-card{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border)}.contact-card p{margin:.25rem 0;color:var(--muted);font-size:.9rem}.contact-card strong{color:var(--foreground)}.whatsapp{width:100%;margin-top:.9rem;background:#25d366;color:#052e16}.leaflet-container{background:#0b1626;font-family:inherit}.leaflet-control-attribution{background:rgba(7,17,31,.72)!important;color:#94a3b8!important}.leaflet-control-attribution a{color:#38bdf8!important}.leaflet-bar a{background:#0d1b2d!important;color:#f8fafc!important;border-color:#243b55!important}.storage-pin{display:grid;place-items:center;width:18px;height:18px;border:3px solid #bbf7d0;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.18)}.auth-panel{width:min(440px,100%);margin:8vh auto;padding:2rem;border:1px solid var(--border);border-radius:1.2rem;background:rgba(13,27,45,.9);box-shadow:0 24px 80px rgba(0,0,0,.3)}.auth-title{margin:0;font-size:1.8rem;letter-spacing:-.04em}.auth-copy{margin:.6rem 0 1.5rem;color:var(--muted)}.form-grid{display:grid;grid-gap:1rem;gap:1rem}.field{display:grid;grid-gap:.4rem;gap:.4rem}.field label{color:#cbd5e1;font-size:.82rem;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:2.55rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:.65rem;background:rgba(7,17,31,.75);color:var(--foreground);font:inherit}.field textarea{min-height:5rem;resize:vertical}.hint{color:var(--muted);font-size:.8rem}.alert{padding:.75rem .9rem;border-radius:.7rem;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.45);color:#fecaca;font-size:.88rem}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.dashboard-title{margin:0;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.04em}.section{margin-top:2rem;padding:1.4rem;border:1px solid var(--border);border-radius:1rem;background:rgba(13,27,45,.72)}.section-title{margin:0 0 1rem;font-size:1.2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:1rem;gap:1rem}.stat-card{padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:rgba(7,17,31,.65)}.stat-value{margin:.3rem 0 0;font-size:1.7rem;font-weight:800}.stat-label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table td,.data-table th{padding:.7rem;border-bottom:1px solid rgba(36,59,85,.75);text-align:left;vertical-align:top}.data-table th{color:#cbd5e1;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.pill{display:inline-flex;padding:.22rem .55rem;border-radius:999px;background:rgba(56,189,248,.12);color:#bae6fd;font-size:.74rem;font-weight:700}.pill.success{background:rgba(34,197,94,.14);color:#bbf7d0}.pill.warn{background:rgba(250,204,21,.13);color:#fef08a}.pill.muted{background:rgba(148,163,184,.12);color:#cbd5e1}.empty{color:var(--muted);text-align:center;padding:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.inline-form{display:grid;grid-gap:1rem;gap:1rem}.action-row{display:flex;gap:.45rem;flex-wrap:wrap}.user-chip{padding:.45rem .7rem;border:1px solid var(--border);border-radius:999px;background:rgba(13,27,45,.8);color:var(--muted);font-size:.8rem}@media (max-width:720px){.hero-map{height:auto;min-height:0}.map-instance{height:58vh;min-height:420px}.map-overlay{position:static;width:100%;border-radius:0;border-left:none;border-right:none;border-top:none}.site-header{align-items:flex-start;flex-direction:column}}