:root{--color-acento: #2D6A4F;--color-base: #F7F6F2;--color-surface: #FFFFFF;--color-border: #E5E3DD;--color-text: #1A1A1A;--color-text-muted: #5E5E5E;--color-ok: #1E7B45;--color-alerta: #F2C94C;--color-urgente: #C53030;--color-alerta-text: #8A5A00;--color-on-acento: #FFFFFF;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--touch-target: 44px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--bottom-nav-height: 64px;--top-bar-height: 56px;--sidebar-width: 248px;--breakpoint-desktop: 1024px;--page-max-width: 1200px;--page-max-width-narrow: 800px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}#root{min-height:100dvh;display:flex;flex-direction:column}img,svg{display:block;max-width:100%}button{cursor:pointer;font-family:inherit;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:639px){.hide-on-phone{display:none!important}}@media(min-width:640px){.phone-only{display:none!important}}.item-title-link{padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--color-text);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}@media(hover:hover){.item-title-link:hover{color:var(--color-acento);text-decoration-color:currentColor}}:focus-visible{outline:2px solid var(--color-acento);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;height:100dvh;position:sticky;top:0;background-color:var(--color-surface);border-right:1px solid var(--color-border)}.sidebar-close-btn{display:none;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);border:none;background:none;cursor:pointer;font-size:16px;color:var(--color-text-muted);line-height:1}.topbar-menu-btn{display:none;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:none;background:none;cursor:pointer;font-size:20px;color:var(--color-text);line-height:1}@media(max-width:1023px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:200;width:min(var(--sidebar-width),80vw);padding-top:env(safe-area-inset-top,0px);transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:var(--shadow-md)}.sidebar--open{transform:translate(0);visibility:visible;transition:transform .2s ease}.sidebar-close-btn,.topbar-menu-btn{display:flex}.sidebar-backdrop--open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;z-index:150}}.app-main{flex:1;min-width:0;overflow-x:clip}.page{width:100%;max-width:var(--page-max-width);padding:var(--space-4)}.page--narrow{max-width:var(--page-max-width-narrow)}@media(min-width:1024px){.page{padding:var(--space-6)}}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--space-3);min-height:calc(var(--top-bar-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--space-4) 0;background-color:var(--color-base);border-bottom:1px solid var(--color-border)}.topbar-title{flex:1;min-width:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-leading,.topbar-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.topbar-leading .btn{padding-inline:var(--space-2)}.topbar-actions--compact,.fab{display:none}@media(min-width:1024px){.topbar{padding-inline:var(--space-6)}}@media(max-width:767px){.topbar{gap:var(--space-2)}.topbar-actions .btn{padding-inline:var(--space-3)}.topbar-actions--wide{display:none}.topbar-actions--compact{display:flex}.fab{display:flex;position:fixed;right:var(--space-4);bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));width:56px;height:56px;align-items:center;justify-content:center;border-radius:50%;background-color:var(--color-acento);color:var(--color-on-acento);box-shadow:0 6px 16px #0000003d;transition:transform .1s ease,filter .15s ease;animation:fabIn .2s ease}.fab:not(:disabled):active{transform:scale(.94)}.fab:disabled{opacity:.5;cursor:not-allowed}.app-main:has(.fab) .page{padding-bottom:96px}}@keyframes fabIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.btn{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:filter .15s ease,background-color .15s ease,opacity .15s ease,transform .1s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--sm{min-height:32px;min-width:32px;padding:0 12px;font-size:var(--font-size-sm)}.btn--md{min-height:var(--touch-target);min-width:var(--touch-target);padding:0 24px;font-size:var(--font-size-base)}.btn--primary{background-color:var(--color-acento);color:var(--color-on-acento);border:none}.btn--secondary{background-color:transparent;color:var(--color-acento);border:1.5px solid var(--color-acento)}.btn--ghost{background-color:transparent;color:var(--color-text);border:none}.btn--danger{background-color:var(--color-urgente);color:#fff;border:none}.icon-btn{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:4px 6px;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background-color .15s ease,transform .1s ease}.icon-btn--danger{color:var(--color-urgente)}@media(hover:hover){.btn--primary:not(:disabled):hover,.btn--danger:not(:disabled):hover{filter:brightness(.9)}.btn--secondary:not(:disabled):hover{background-color:color-mix(in srgb,var(--color-acento) 8%,transparent)}.btn--ghost:not(:disabled):hover,.icon-btn:not(:disabled):hover{background-color:color-mix(in srgb,var(--color-text) 6%,transparent)}}.btn:not(:disabled):active{transform:scale(.97)}.icon-btn:not(:disabled):active{transform:scale(.92);background-color:color-mix(in srgb,var(--color-text) 10%,transparent)}@media(pointer:coarse){.btn--sm,.icon-btn{min-height:40px;min-width:40px}}.link-btn{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-1);border:none;background:none;font-family:var(--font-family);font-size:var(--font-size-xs);text-decoration:underline;cursor:pointer}.chip-action{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:0;border:none;border-radius:999px;background:none;color:var(--color-text-muted);cursor:pointer}@media(pointer:coarse){.link-btn{min-height:40px}.chip-action{min-width:32px;min-height:32px}}@media(hover:hover){.link-btn:not(:disabled):hover{text-decoration-thickness:2px}.chip-action:hover{background-color:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text)}.sidebar-link:hover{background-color:var(--color-base)}}.form-row{display:flex;gap:var(--space-3)}@media(max-width:639px){.form-row{flex-direction:column}}@media(min-width:640px){.form-row--end{align-items:flex-end}}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-3)}@media(max-width:639px){.form-actions>.btn{flex:1 1 auto}}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(max-width:639px){.tabs>.btn{flex:1 1 0;padding-inline:var(--space-2);font-size:var(--font-size-sm);line-height:1.2}}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media(min-width:768px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.item-card{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.item-card-info{flex:1 1 320px;min-width:0}.item-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-left:auto}@media(max-width:639px){.item-card{align-items:flex-start;gap:var(--space-2) var(--space-3)}.item-card-info{flex:1 1 0}.item-card-actions{flex:1 1 100%;gap:var(--space-1);border-top:1px solid var(--color-border);padding-top:var(--space-2)}.item-card-actions .btn-text{display:none}.item-card-actions .btn--md{padding-inline:var(--space-3)}}.map-overlay{position:absolute;top:10px;right:10px;z-index:10;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:calc(100% - 20px)}.map-overlay--stack{flex-direction:column;align-items:flex-end}@media(max-width:639px){.map-overlay{top:60px}}.floating-sheet{position:fixed;left:0;right:0;bottom:0;background-color:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5) var(--space-4);padding-bottom:max(var(--space-5),env(safe-area-inset-bottom,0px));animation:slideUp .24s ease}@media(min-width:640px){.floating-sheet{left:auto;right:var(--space-6);bottom:var(--space-6);width:min(420px,calc(100vw - 2 * var(--space-6)));border-radius:var(--radius-lg);padding-bottom:var(--space-5)}}.toast-region{position:fixed;z-index:1200;top:calc(env(safe-area-inset-top,0px) + var(--top-bar-height) + var(--space-2));left:var(--space-4);right:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}@media(min-width:640px){.toast-region{top:auto;left:auto;right:var(--space-6);bottom:var(--space-6);width:min(380px,calc(100vw - 2 * var(--space-6)))}}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:#1f2320;color:#fff;font-size:var(--font-size-sm);font-weight:500;box-shadow:0 8px 24px #0003;animation:toastIn .2s ease}.toast--success .toast-icon{color:#6ee7a0;flex-shrink:0}.toast--error{background-color:var(--color-urgente)}.toast--error .toast-icon{flex-shrink:0}.toast-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-sm);color:inherit;opacity:.8}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--space-1);border-radius:50%;background-color:color-mix(in srgb,var(--color-acento) 10%,transparent);color:var(--color-acento)}.empty-state--error .empty-state-icon{background-color:#fff5f5;color:var(--color-urgente)}.empty-state-title{font-weight:600;color:var(--color-text)}.empty-state-text{max-width:420px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.empty-state-action{margin-top:var(--space-2)}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.skeleton-line{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--color-border) 25%,#F1EFEA 45%,var(--color-border) 65%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.autocomplete-list{position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:4px;padding:4px;max-height:240px;overflow-y:auto;overscroll-behavior:contain;background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014}.autocomplete-option{display:flex;align-items:center;min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer}.autocomplete-option--active{background-color:color-mix(in srgb,var(--color-acento) 10%,transparent)}.autocomplete-message{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.dropdown-menu{position:absolute;right:0;top:100%;z-index:50;min-width:180px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1) 0}.dropdown-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);background:none;border:none;cursor:pointer;text-align:left;min-height:var(--touch-target)}.dropdown-menu-item:not(:disabled):hover,.dropdown-menu-item:focus-visible{background-color:var(--color-base)}.dropdown-menu-item:focus-visible{outline-offset:-2px}.dropdown-menu-item:disabled{opacity:.5;cursor:not-allowed}.timeline-year-header{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin-top:var(--space-6)}.timeline-year-header:first-child{margin-top:0}.timeline-month-header{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);margin-top:var(--space-4)}.timeline-item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-left:2px solid var(--color-border);margin-left:var(--space-3);padding-left:var(--space-4);position:relative}.timeline-item:before{content:"";position:absolute;left:-6px;top:var(--space-4);width:10px;height:10px;border-radius:50%;background-color:var(--color-acento);border:2px solid var(--color-surface)}.timeline-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg)}.timeline-content{flex:1;min-width:0}.timeline-title{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.timeline-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.timeline-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.timeline-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-8) var(--space-4)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background-color:#0006;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-content{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;outline:none;background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}@media(max-width:639px){.modal-backdrop{align-items:flex-end;padding:0}.modal-content{max-width:100%;max-height:92dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5) var(--space-4) max(var(--space-5),env(safe-area-inset-bottom,var(--space-5)));animation:slideUp .22s ease}}.modal-content--fullscreen{width:92vw;height:92vh;max-width:1280px;max-height:92vh;display:flex;flex-direction:column}@media(max-width:639px){.modal-content--fullscreen{width:100vw;height:100dvh;max-width:100%;max-height:100dvh;border-radius:0;animation:none}}.filters-extra{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);align-items:end}.filters-toggle{display:none}@media(max-width:639px){.filters-extra{display:none;grid-template-columns:1fr 1fr}.filters-extra[style*=grid]{display:grid}.filters-extra>.date-input{grid-column:1 / -1}.filters-toggle{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;min-height:var(--touch-target);background:none;border:none;padding:0;font-size:var(--font-size-sm);font-weight:500;color:var(--color-acento);cursor:pointer;font-family:var(--font-family)}}
