:root{font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fafaf8;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}@font-face{font-family:Babbler;src:url(/fonts/Babbler.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Babbler-Regular;src:url(/fonts/Babbler.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--bg-page:#f5f8fa;--bg-surface:#fff;--bg-subtle:#e9f0f6;--brand-primary:#0b2941;--brand-dark:#071d2f;--brand-light:#15466e;--brand-accent:#c99438;--brand-gold:#c99438;--text-main:#0e2033;--text-muted:#53697e;--text-light:#889bb0;--border-color:#dbe4ee;--border-focus:#15466e;--shadow-sm:0 2px 8px #0b29410a;--shadow-md:0 8px 24px -4px #0b294114, 0 2px 6px -1px #0b29410a;--shadow-lg:0 16px 36px -6px #0b29411f, 0 4px 12px -2px #0b29410d;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:9999px;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Playfair Display", Georgia, serif;--font-cursive:"Alex Brush", cursive}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}.splash-screen{z-index:9999;opacity:1;background:radial-gradient(circle,#fff 0%,#edf3f8 100%);justify-content:center;align-items:center;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}.splash-fade-out{opacity:0;pointer-events:none;transform:scale(1.02)}.splash-ambient-glow{pointer-events:none;background:radial-gradient(circle,#0b294114 0%,#c994380f 50%,#0000 70%);border-radius:50%;width:360px;height:360px;animation:2.4s ease-in-out infinite alternate splashGlowPulse;position:absolute}@keyframes splashGlowPulse{0%{opacity:.6;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}.splash-center{text-align:center;flex-direction:column;align-items:center;padding:20px;display:flex;position:relative}.splash-logo-container{justify-content:center;align-items:center;display:flex;position:relative}.splash-logo-img{object-fit:contain;opacity:0;filter:drop-shadow(0 14px 28px #0b29411f);width:clamp(210px,50vw,270px);height:clamp(210px,50vw,270px);transform:scale(.88)translateY(12px)}.splash-running .splash-logo-img{animation:1.1s cubic-bezier(.16,1,.3,1) forwards splashLogoEntrance}@keyframes splashLogoEntrance{0%{opacity:0;filter:drop-shadow(0 4px 10px #0b29410a)blur(4px);transform:scale(.86)translateY(14px)}60%{opacity:1;filter:drop-shadow(0 14px 28px #0b29411f)blur()}to{opacity:1;filter:drop-shadow(0 16px 32px #0b294124)blur();transform:scale(1)translateY(0)}}.splash-logo-aura{pointer-events:none;opacity:0;background:radial-gradient(circle,#c5934138 0%,#0000 68%);border-radius:50%;position:absolute;inset:-12px;transform:scale(.7)}.splash-running .splash-logo-aura{animation:1.3s ease-out .15s forwards splashAuraPop}@keyframes splashAuraPop{0%{opacity:0;transform:scale(.7)}50%{opacity:.85;transform:scale(1.18)}to{opacity:.35;transform:scale(1)}}.splash-tagline{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;opacity:0;margin-top:14px;font-size:13.5px;font-weight:600}.splash-running .splash-tagline{animation:.8s .5s forwards splashFadeIn}@keyframes splashFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mobile-app-wrapper{background-color:var(--bg-page);flex-direction:column;max-width:540px;min-height:100vh;margin:0 auto;padding:0 16px 40px;display:flex}.app-top-brand{text-align:center;justify-content:center;align-items:center;padding:24px 0 16px;display:flex}.app-brand-link{justify-content:center;align-items:center;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.app-brand-link:hover{opacity:.95;transform:scale(1.02)}.app-brand-logo{object-fit:contain;filter:drop-shadow(0 4px 16px #0b294114);width:clamp(170px,44vw,215px);height:auto;max-height:200px;display:block}.app-screen-content{flex-direction:column;flex:1;display:flex}.search-section-clean{margin-bottom:24px}.app-search-box{flex-direction:column;gap:12px;display:flex}.search-field-container{width:100%;position:relative}.search-field-pill{border:1.5px solid var(--border-color);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);background:#fff;align-items:center;padding:4px 16px;transition:all .2s;display:flex}.search-field-pill:focus-within{border-color:var(--brand-primary);box-shadow:0 4px 16px #0b29411a}.search-field-icon{color:var(--text-light);margin-right:10px;font-size:18px}.app-search-input{color:var(--text-main);font-size:16px;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:10px 0}.app-search-input::placeholder{color:var(--text-light);font-size:15px}.search-clear-touch{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:6px;font-size:14px;transition:color .15s}.search-clear-touch:hover{color:var(--brand-primary)}.search-live-dropdown{border-radius:var(--radius-md);border:1px solid var(--border-color);z-index:100;background:#fff;animation:.22s cubic-bezier(.16,1,.3,1) dropdownPop;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 18px 40px -4px #0b29412e,0 4px 12px #0b29410f}@keyframes dropdownPop{0%{opacity:0;transform:translateY(-8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-loading-state{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:24px 16px;font-size:14px;display:flex}.dropdown-spinner{border:2px solid var(--border-color);border-top-color:var(--brand-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.dropdown-empty-state{text-align:center;padding:24px 18px}.dropdown-empty-state p{color:var(--text-muted);margin-bottom:12px;font-size:14px}.dropdown-empty-state strong{color:var(--text-main)}.dropdown-btn-add{color:var(--brand-primary);border:1px solid var(--border-color);border-radius:var(--radius-pill);cursor:pointer;background:#eef4f9;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.dropdown-btn-add:hover{background:var(--brand-primary);color:#fff}.dropdown-header-label{border-bottom:1px solid var(--border-color);color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;justify-content:space-between;align-items:center;padding:10px 16px 8px;font-size:11.5px;font-weight:700;display:flex}.dropdown-pulse-badge{color:var(--brand-accent);text-transform:none;font-size:11px;font-weight:500}.dropdown-list{flex-direction:column;max-height:360px;margin:0;padding:4px 0;list-style:none;display:flex;overflow-y:auto}.dropdown-item{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover,.dropdown-item:focus{background:#f1f6fa}.dropdown-item-avatar{border:1.5px solid var(--border-color);background:#eaf0f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.dropdown-item-avatar img{object-fit:cover;width:100%;height:100%}.dropdown-item-initial{color:var(--brand-primary);font-size:18px;font-weight:600;font-family:var(--font-serif)}.dropdown-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dropdown-item-name{font-family:var(--font-serif);color:var(--brand-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:600;overflow:hidden}.dropdown-item-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.dropdown-item-dates{color:var(--brand-light);background:#edf3f8;border-radius:4px;padding:1px 7px;font-weight:500}.dropdown-item-cemetery{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.dropdown-item-arrow{color:var(--brand-light);opacity:.45;flex-shrink:0;font-size:16px;transition:all .15s}.dropdown-item:hover .dropdown-item-arrow{opacity:1;color:var(--brand-accent);transform:translate(3px)}.dropdown-footer-fullsearch{border:none;border-top:1px solid var(--border-color);width:100%;color:var(--brand-primary);cursor:pointer;text-align:center;background:#f8fafc;padding:11px 16px;font-size:13px;font-weight:600;transition:background .15s}.dropdown-footer-fullsearch:hover{color:var(--brand-light);background:#edf4f9}.person-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.advanced-filters-panel{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:12px;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.filter-input-row{gap:8px;display:flex}.advanced-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);background:#fafcfb;outline:none;flex:1;padding:9px 12px;font-size:14px}.advanced-input:focus{border-color:var(--brand-primary);background:#fff}.input-year{max-width:120px}.action-buttons-strip{flex-wrap:wrap;gap:8px;display:flex}.btn-app-action{font-family:var(--font-sans);border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:4px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary-action{color:#171203;background:linear-gradient(135deg,#e3c168 0%,#c99438 50%,#ad7b22 100%);border:1px solid #fff6;flex:1.2;font-weight:700;box-shadow:0 4px 14px #c9943859}.btn-primary-action:hover:not(:disabled){background:linear-gradient(135deg,#edd07d 0%,#d8a347 50%,#ba8628 100%);transform:translateY(-1px);box-shadow:0 6px 18px #c9943873}.btn-primary-action:active{transform:scale(.98)}.btn-secondary-action{color:var(--text-muted);border-color:var(--border-color);background:#fff;flex:1}.btn-secondary-action:hover{color:var(--brand-primary);background:#f0f5f2;border-color:#cbd8d1}.btn-secondary-action.active{color:var(--brand-primary);border-color:var(--brand-primary);background:#edf5f1}.btn-add-person{color:#fff;background:#0e3657;border-color:#0e3657;box-shadow:0 4px 12px #0e365747}.btn-add-person:hover{color:#fff;background:#08233a;border-color:#08233a}.btn-add-person span{color:#dfba53;font-size:16px;font-weight:700}.app-search-error{color:#c93b4f;text-align:center;margin-top:8px;font-size:13px;font-weight:500}.app-results-feed{flex-direction:column;gap:12px;display:flex}.results-badge-bar{color:var(--text-muted);margin-bottom:2px;font-size:13px;font-weight:600}.app-cards-list{flex-direction:column;gap:12px;display:flex}.app-person-card{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:12px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex}.app-person-card:hover{box-shadow:var(--shadow-md);border-color:#d1ded7}.person-main-row{align-items:flex-start;gap:14px;display:flex}.person-avatar-circle{width:44px;height:44px;color:var(--brand-primary);font-family:var(--font-serif);background:#edf4f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.person-meta-col{flex-direction:column;flex:1;gap:2px;display:flex}.person-meta-col h4{font-family:var(--font-serif);color:var(--brand-primary);font-size:17px;font-weight:600}.person-years-pill{color:var(--text-muted);font-size:12px;font-weight:500}.cemetery-name-text{color:var(--text-main);margin-top:4px;font-size:13px;font-weight:500}.grave-location-sub{color:var(--brand-light);font-size:12px;font-weight:600}.person-actions-row{border-top:1px solid #f0f4f2;gap:8px;padding-top:8px;display:flex}.btn-touch-tribute{background:var(--brand-primary);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;flex:1;padding:8px 12px;font-size:13px;font-weight:600;transition:background-color .2s}.btn-touch-tribute:hover{background:var(--brand-dark)}.btn-touch-tumulo{color:#1e293b;background:#f8fafc;border:1px solid #cbd5e1}.btn-touch-tumulo:hover{color:#0f172a;background:#e2e8f0}.btn-touch-map{color:var(--text-muted);border:1px solid var(--border-color);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s}.btn-touch-map:hover:not(:disabled){border-color:var(--brand-primary);color:var(--brand-primary)}.btn-touch-map:disabled{opacity:.4;cursor:not-allowed}.app-empty-card{border:1px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;background:#fff;padding:36px 20px}.empty-symbol{margin-bottom:8px;font-size:36px;display:block}.app-empty-card h3{font-family:var(--font-serif);color:var(--brand-primary);margin-bottom:6px;font-size:18px}.app-empty-card p{color:var(--text-muted);margin-bottom:16px;font-size:14px}.btn-suggest-add{border:1px solid var(--brand-accent);color:var(--brand-accent);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.btn-suggest-add:hover{background:#fdf2f4}.app-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0a252073;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.app-modal-sheet{width:100%;max-width:520px;box-shadow:var(--shadow-lg);background:#fff;border-radius:24px 24px 0 0;max-height:90vh;padding:20px 20px 32px;animation:.25s cubic-bezier(.16,1,.3,1) sheetUp;position:relative;overflow-y:auto}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle-bar{background:#d6e2dc;border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.modal-sheet-header{text-align:left;margin-bottom:20px;position:relative}.modal-sheet-header h3{font-family:var(--font-serif);color:var(--brand-primary);margin-bottom:4px;font-size:20px}.modal-sheet-header p{color:var(--text-muted);font-size:13.5px}.modal-close-icon{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;position:absolute;top:0;right:0}.modal-request-form{flex-direction:column;gap:14px;display:flex}.form-group-clean{flex-direction:column;gap:4px;display:flex}.form-group-clean label{color:var(--text-main);font-size:12px;font-weight:600}.form-group-clean input,.form-group-clean textarea{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans);color:var(--text-main);background:#fafcfb;outline:none;padding:10px 12px;transition:border-color .2s}.form-group-clean input:focus,.form-group-clean textarea:focus{border-color:var(--brand-primary);background:#fff}.form-row-dual{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-buttons-row{gap:10px;margin-top:10px;display:flex}.btn-cancel-modal{border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;flex:1;padding:12px;font-size:14px;font-weight:500}.btn-submit-modal{background:var(--brand-primary);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;flex:1.5;padding:12px;font-size:14px;font-weight:600}.btn-submit-modal:hover{background:var(--brand-dark)}.request-success-box{text-align:center;padding:30px 10px}.success-icon{margin-bottom:12px;font-size:38px;display:block}.request-success-box h4{font-family:var(--font-serif);color:var(--brand-primary);margin-bottom:8px;font-size:20px}.request-success-box p{color:var(--text-muted);margin-bottom:20px;font-size:14px}@media (width>=641px){.app-modal-overlay{align-items:center;padding:20px}.app-modal-sheet{border-radius:var(--radius-lg)}.modal-handle-bar{display:none}}.app-reflections-section{flex-direction:column;align-items:center;gap:20px;margin-top:36px;display:flex}.reflection-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);background:#fff;max-width:440px;padding:24px 22px;transition:transform .2s,box-shadow .2s;position:relative}.reflection-card:hover{box-shadow:var(--shadow-md);border-color:#cbdad1;transform:translateY(-2px)}.reflection-icon{margin-bottom:10px;font-size:26px;display:block}.reflection-quote{font-family:var(--font-serif);color:var(--brand-primary);font-size:15.5px;font-style:italic;line-height:1.6}.reflection-pills-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.reflection-micro-pill{border-radius:var(--radius-pill);color:var(--text-muted);background:#0b29410a;align-items:center;gap:6px;padding:6px 14px;font-size:12px;display:inline-flex}.reflection-micro-pill span{color:var(--brand-accent);font-size:12px}.app-clean-footer{text-align:center;margin-top:auto;padding:30px 10px 10px}.app-clean-footer p{color:var(--text-light);letter-spacing:.2px;font-size:12.5px;font-style:italic}.login-screen-wrapper{background:radial-gradient(circle at top,#fff 0%,#edf3f8 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:40px 32px}.login-header-block{text-align:center;margin-bottom:24px}.login-logo-img{filter:drop-shadow(0 4px 14px #0b294114);width:170px;height:auto;margin:0 auto 10px;display:block}.login-header-block p{color:var(--text-muted);font-size:14px}.modern-login-form{flex-direction:column;gap:18px;display:flex}.form-field-group{flex-direction:column;gap:6px;display:flex}.form-field-group label{color:var(--text-main);font-size:13px;font-weight:600}.input-with-icon{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);background:#fafcfb;align-items:center;padding:0 14px;transition:all .2s;display:flex}.input-with-icon:focus-within{border-color:var(--brand-primary);background:#fff;box-shadow:0 0 0 3px #0b29411a}.field-icon{margin-right:10px;font-size:16px}.input-with-icon input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-size:15px}.login-error-alert{color:#9b1c1c;border-radius:var(--radius-sm);background:#fdf2f2;border:1px solid #f8b4b4;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.btn-login-submit{background:var(--brand-primary);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;margin-top:6px;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.btn-login-submit:hover:not(:disabled){background:var(--brand-dark)}.btn-login-submit:disabled{opacity:.6}.login-card-footer{text-align:center;margin-top:24px}.btn-back-home{color:var(--text-muted);font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.btn-back-home:hover{color:var(--brand-primary)}.admin-page-layout{min-height:100vh;color:var(--text-main);font-family:var(--font-sans);background:#f1f5f9;flex-direction:row;display:flex}.modern-admin-header{border-bottom:1px solid var(--border-color);z-index:50;background:#fff;position:sticky;top:0;box-shadow:0 1px 3px #00000005}.admin-header-main{justify-content:space-between;align-items:center;max-width:1040px;margin:0 auto;padding:12px 20px;display:flex}.admin-brand-cluster{align-items:center;gap:10px;display:flex}.admin-brand-link{color:var(--brand-primary);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.admin-brand-link strong{font-family:var(--font-serif);font-size:20px}.admin-badge-panel{color:var(--brand-primary);text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-pill);background:#eaf1ed;padding:3px 8px;font-size:11px;font-weight:700}.admin-user-profile{align-items:center;gap:14px;display:flex}.admin-user-info{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.user-name-text{color:var(--text-main);font-size:13.5px;font-weight:600}.user-role-tag{border-radius:var(--radius-pill);text-transform:capitalize;padding:2px 8px;font-size:11px;font-weight:600}.role-superadmin{color:#6b21a8;background:#f3e8ff}.role-admin{color:#137333;background:#e6f4ea}.role-moderador{color:#0369a1;background:#e0f2fe}.btn-admin-logout{color:#dc2626;border-radius:var(--radius-pill);cursor:pointer;background:#fef2f2;border:1px solid #fee2e2;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s}.btn-admin-logout:hover{background:#fee2e2}.admin-nav-tabs{background:#fafcfb;border-top:1px solid #f0f4f2}.admin-tabs-scroll{gap:6px;max-width:1040px;margin:0 auto;padding:0 20px;display:flex;overflow-x:auto}.admin-nav-tab{color:var(--text-muted);white-space:nowrap;border-bottom:2.5px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.admin-nav-tab:hover{color:var(--brand-primary)}.admin-nav-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);background:#fff}.admin-container-box{width:100%;max-width:1040px;margin:0 auto;padding:28px 20px 60px}.admin-page-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.admin-page-hero h2{color:#0f172a;letter-spacing:-.2px;margin-bottom:4px;font-size:22px;font-weight:800}.admin-page-hero p{color:#64748b;font-size:13.5px;line-height:1.5}.btn-admin-primary{color:#fff!important;letter-spacing:.5px!important;text-transform:uppercase!important;cursor:pointer!important;background:#2563eb!important;border:none!important;border-radius:6px!important;align-items:center!important;gap:8px!important;padding:10px 18px!important;font-size:12.5px!important;font-weight:800!important;transition:all .15s!important;display:inline-flex!important;box-shadow:0 1px 3px #2563eb4d!important}.btn-admin-primary:hover{background:#1d4ed8!important;transform:translateY(-1px)!important;box-shadow:0 4px 8px #2563eb66!important}.dashboard-welcome-banner{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:24px 28px;display:flex;box-shadow:0 1px 3px #0000000d}.welcome-text-col h2{color:#0f172a;letter-spacing:-.2px;margin-bottom:6px;font-size:22px;font-weight:800}.welcome-text-col p{color:#64748b;max-width:580px;font-size:14px;line-height:1.5}.welcome-quick-actions{align-items:center;gap:10px;display:flex}.btn-view-portal{color:#0f172a;letter-spacing:.5px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:12.5px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn-view-portal:hover{color:#fff;background:#0f172a;border-color:#0f172a}.dashboard-alert-banner{background:#fffbeb;border:1px solid #fde68a;border-left:5px solid #d97706;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #0000000a}.alert-banner-info{align-items:center;gap:14px;display:flex}.alert-banner-icon{color:#d97706;background:#fef3c7;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.alert-banner-info strong{color:#92400e;font-size:14px;font-weight:800;display:block}.alert-banner-info span{color:#b45309;font-size:13px}.dashboard-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:30px;display:grid}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:16px;padding:20px 22px;transition:all .15s;display:flex;position:relative;box-shadow:0 1px 3px #0000000a}.stat-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-icon-bubble{color:#2563eb;background:#f1f5f9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-info{flex-direction:column;flex:1;display:flex}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12.5px;font-weight:600}.stat-number{color:#0f172a;margin-top:4px;font-size:26px;font-weight:800;line-height:1.1}.dashboard-modules-section{margin-top:10px}.dashboard-modules-section h3{color:#64748b;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;font-size:12px;font-weight:800}.modules-action-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.module-card-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:10px;padding:22px;transition:all .15s;display:flex;box-shadow:0 1px 3px #0000000a}.module-card-item:hover{border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.module-card-top{justify-content:space-between;align-items:center;display:flex}.module-icon-wrap{color:#0f172a;background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.module-badge{text-transform:uppercase;color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:800}.module-card-item h4{color:#0f172a;font-size:16.5px;font-weight:800}.module-card-item p{color:#64748b;flex:1;font-size:13px;line-height:1.5}.module-card-soft{cursor:default;opacity:.8}.module-card-soft:hover{box-shadow:var(--shadow-sm);border-color:var(--border-color);transform:none}.module-cta-disabled{color:var(--text-light);font-size:12px;font-style:italic}.admin-toolbar-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.admin-search-field{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:#fff;flex:1;align-items:center;gap:8px;max-width:440px;padding:6px 16px;display:flex}.search-symbol{color:var(--text-light);font-size:16px}.admin-search-field input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;font-size:14px}.admin-counter-tag{color:var(--text-muted);font-size:13px;font-weight:500}.admin-table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.admin-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.admin-data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background:#f8faf9;padding:14px 18px;font-size:12px;font-weight:600}.admin-data-table td{vertical-align:middle;border-bottom:1px solid #f0f4f2;padding:14px 18px}.admin-data-table tr:last-child td{border-bottom:none}.user-cell{align-items:center;gap:12px;display:flex}.user-avatar-tiny{width:36px;height:36px;color:var(--brand-primary);font-family:var(--font-serif);background:#edf5f1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.user-cell strong{color:var(--text-main);font-size:14.5px;display:block}.user-cell small{color:var(--text-muted);font-size:12px}.role-badge{border-radius:var(--radius-pill);padding:3px 10px;font-size:11.5px;font-weight:600}.cemetery-assigned-badge{color:#0369a1;border-radius:var(--radius-pill);background:#e0f2fe;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.cemetery-all-badge{color:var(--text-muted);font-size:12.5px;font-style:italic}.cemetery-none-badge{color:#c2410c;border-radius:var(--radius-pill);background:#ffedd5;padding:2px 8px;font-size:11px;font-weight:500}.status-pill.active{color:#15803d;background:#dcfce7}.status-pill.inactive{color:#b91c1c;background:#fee2e2}.btn-table-edit{color:var(--brand-primary);border-radius:var(--radius-pill);cursor:pointer;background:#f0f5f2;border:1px solid #d4e2dc;padding:5px 12px;font-size:12px;font-weight:600;transition:all .2s}.btn-table-edit:hover{background:var(--brand-primary);color:#fff}.admin-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0a252073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-modal-dialog{border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);background:#fff;max-height:90vh;padding:26px 28px;overflow-y:auto}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dialog-header h3{font-family:var(--font-serif);color:var(--brand-primary);font-size:20px}.btn-close-dialog{color:var(--text-light);cursor:pointer;background:0 0;border:none;font-size:18px}.dialog-form{flex-direction:column;gap:14px;display:flex}.dialog-form-group{flex-direction:column;gap:5px;display:flex}.dialog-form-group label{color:var(--text-main);font-size:12.5px;font-weight:600}.dialog-form-group input,.dialog-form-group select{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);font-size:14px;font-family:var(--font-sans);background:#fafcfb;outline:none;padding:10px 12px}.dialog-form-group input:focus,.dialog-form-group select:focus{border-color:var(--brand-primary);background:#fff}.field-hint{color:var(--text-muted);font-size:11.5px}.highlight-box{border-radius:var(--radius-sm);background:#f0f7f4;border:1px solid #d5e6de;padding:12px}.checkbox-row{margin-top:4px}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:flex}.dialog-actions-footer{gap:10px;margin-top:10px;display:flex}.btn-dialog-cancel{border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;flex:1;padding:11px;font-size:13.5px;font-weight:600}.btn-dialog-save{background:var(--brand-primary);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;flex:1.5;padding:11px;font-size:13.5px;font-weight:600}.btn-dialog-save:hover{background:var(--brand-dark)}.admin-loading-screen,.admin-loading-card,.admin-empty-table{text-align:center;color:var(--text-muted);padding:40px 20px}.admin-alert-banner,.dialog-alert-error{color:#dc2626;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:10px 14px;font-size:13px}.admin-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.cemetery-admin-card{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:12px;padding:20px;display:flex}.cemetery-card-header{align-items:flex-start;gap:12px;display:flex}.cemetery-pin{font-size:24px}.cemetery-card-header h4{font-family:var(--font-serif);color:var(--brand-primary);font-size:17px}.cemetery-card-header small{color:var(--text-muted);font-size:13px}.cemetery-card-body{flex-direction:column;flex:1;gap:6px;display:flex}.cemetery-address-text{color:var(--text-main);font-size:13px}.gps-status-badge{font-size:11.5px;font-weight:500}.gps-status-badge.has-gps{color:#15803d}.gps-status-badge.no-gps{color:var(--text-light)}.cemetery-card-footer{border-top:1px solid #f0f4f2;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.cemetery-status-tag{color:#15803d;border-radius:var(--radius-pill);background:#dcfce7;padding:2px 8px;font-size:11.5px;font-weight:600}.form-box-slide{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:24px;padding:24px}.form-box-slide h3{font-family:var(--font-serif);color:var(--brand-primary);margin-bottom:16px;font-size:18px}.admin-compact-form{flex-direction:column;gap:12px;display:flex}.memorial-page{background-color:#f7f9f8;flex-direction:column;min-height:100vh;display:flex}.memorial-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:40;background:#ffffffeb;padding:14px 20px;position:sticky;top:0}.topbar-content{justify-content:space-between;align-items:center;max-width:860px;margin:0 auto;display:flex}.back-link,.btn-app-back-nav{color:var(--brand-primary);border-radius:var(--radius-pill);border:1px solid var(--border-color);cursor:pointer;background:#fff;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0b29410f}.back-link:hover,.btn-app-back-nav:hover{color:var(--brand-dark);background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 10px #0b29411a}.brand-mini{align-items:center;text-decoration:none;transition:opacity .2s,transform .2s;display:flex}.brand-mini:hover{opacity:.9;transform:scale(1.02)}.brand-horizontal-logo{object-fit:contain;width:auto;max-width:170px;height:32px;display:block}.memorial-hero{background:linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-primary) 100%);color:#fff;padding:36px 20px;position:relative}.hero-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.memorial-container{box-sizing:border-box;width:100%;max-width:860px;margin:0 auto;padding:0 16px}.location-badge{flex-direction:column;gap:4px;display:flex}.location-badge span{font-size:22px;font-weight:600;font-family:var(--font-serif);letter-spacing:-.3px}.location-badge small{color:#c9e1d8;font-size:14px}.memorial-hero-actions-col{flex-direction:column;align-items:flex-end;gap:10px;display:flex}@media (width<=600px){.memorial-hero-actions-col{align-items:stretch;width:100%}}.memorial-map-btn{cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-size:13.5px;transition:transform .2s,background-color .2s;display:inline-flex;box-shadow:0 4px 14px #00000026;color:var(--brand-primary)!important;border-radius:var(--radius-pill)!important;background:#fff!important;padding:10px 20px!important;font-weight:700!important}.memorial-map-btn:hover{transform:translateY(-2px);background:#f0f7f4!important}.btn-ver-tumulo-hero{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--radius-pill);background:#ffffff2e;border:1px solid #fff6;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0000001f}.btn-ver-tumulo-hero:hover{color:#fff;background:#ffffff47;border-color:#fff;transform:translateY(-1px)}.main-content{flex:1;padding-top:30px;padding-bottom:60px}.family-tabs{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#edf4f0;margin-bottom:24px;padding:14px 18px}.family-tabs>span{text-transform:uppercase;letter-spacing:.6px;color:var(--brand-light);margin-bottom:10px;font-size:12px;font-weight:700;display:block}.tabs-list{flex-wrap:wrap;gap:8px;display:flex}.family-tab{border-radius:var(--radius-pill);color:var(--text-main);cursor:pointer;background:#fff;border:1px solid #c7d8d0;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.family-tab.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.tribute-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff;padding:40px 32px;overflow:hidden}.tribute-header{text-align:center;border-bottom:1px solid #edf2ef;flex-direction:column;align-items:center;gap:22px;margin-bottom:34px;padding-bottom:34px;display:flex}.portrait-wrapper{aspect-ratio:1;background:#081d2f;border:4px solid #fff;border-radius:20px;outline:2px solid #dce5ee;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:290px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px #0b294129,0 2px 8px #0000000f}.portrait-wrapper:hover{transform:translateY(-2px);box-shadow:0 20px 44px #0b294138}.portrait-img{object-fit:cover;width:100%;height:100%;display:block}.portrait-placeholder-gold{background:radial-gradient(circle at 50% 38%,#0f3957 0%,#081d2f 85%);border:2px solid #d4af3773;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 40px #00000080}.initial-gold-letter{font-family:var(--font-serif,"Playfair Display", Georgia, serif);color:#dfba53;background:linear-gradient(135deg,#fff3c4 0%,#dfba53 45%,#b2881a 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 14px #0000008c);-webkit-user-select:none;user-select:none;-webkit-background-clip:text;font-size:clamp(84px,15vw,115px);font-weight:700;line-height:1}.portrait-placeholder{color:#9cb1a9;font-size:60px}.tribute-identity{flex-direction:column;align-items:center;width:100%;display:flex}.tribute-identity h1{font-family:var(--font-serif);color:var(--brand-primary);margin:0 0 10px;font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.18}.lifespan{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:12px;font-size:16px;font-weight:500;display:flex}.age-badge{color:var(--brand-light);border-radius:var(--radius-pill);background:#edf5f1;margin:0 0 14px;padding:4px 14px;font-size:13px;font-weight:600;display:inline-block}.candle-area{flex-direction:column;align-items:center;margin-top:8px;display:flex}.suggest-edit-area{justify-content:center;margin-top:14px;display:flex}.btn-suggest-centered{color:#475569;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:1px solid #cbd5e1;align-items:center;gap:7px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-suggest-centered:hover{color:var(--brand-primary);background:#f1f5f9;border-color:#94a3b8}.candle-button{color:#8c5b16;border-radius:var(--radius-pill);cursor:pointer;background:#fff8eb;border:1px solid #f6dbb0;align-items:center;gap:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .25s;display:inline-flex}.candle-button:hover{background:#fef1d6;transform:translateY(-1px)}.candle-button.lit{color:#6d4206;background:#fdf3df;border-color:#e5b974;box-shadow:0 0 16px #ebac4766}.flame-icon{font-size:18px;animation:1.8s ease-in-out infinite alternate flicker}@keyframes flicker{0%{opacity:.9;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(3deg)}to{opacity:.85;transform:scale(.95)rotate(-2deg)}}.candle-subtext{color:#8f6e43;margin-top:6px;font-size:12px;font-style:italic;display:block}.biography-section,.gallery-section,.messages-section{margin-bottom:40px}.biography-section h2,.gallery-section h2,.messages-section h2{font-family:var(--font-serif);color:var(--brand-primary);border-left:4px solid var(--brand-light);margin:0 0 16px;padding-left:12px;font-size:22px}.biography-text{color:#3b4e47;white-space:pre-line;font-size:17px;line-height:1.8}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}@media (width<=600px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.gallery-item{border-radius:var(--radius-md);cursor:pointer;aspect-ratio:1;background:#f1f5f9;border:1px solid #0b29410f;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 4px 14px #0b294114}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0b294129}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.gallery-item:hover img{transform:scale(1.05)}.photo-caption{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000 0%,#071d2fd9 100%);padding:18px 10px 8px;font-size:12px;font-weight:500;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.gallery-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.btn-gallery-upload{background:var(--brand-primary);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0b294133}.btn-gallery-upload:hover{background:var(--brand-dark);transform:translateY(-1px)}.empty-gallery-box{text-align:center;border-radius:var(--radius-md);color:var(--text-muted);background:#fbfdfc;border:1.5px dashed #cbd5e1;padding:36px 20px}.btn-gallery-empty-action{color:var(--brand-primary);border:1.5px solid var(--brand-primary);border-radius:var(--radius-pill);cursor:pointer;background:0 0;align-items:center;gap:6px;margin-top:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-gallery-empty-action:hover{background:var(--brand-primary);color:#fff}.messages-list{flex-direction:column;gap:14px;display:flex}.message-card{border-left:3px solid var(--brand-accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:#fbfcfb;border-left-width:4px;padding:16px 20px}.message-text{font-family:var(--font-serif);color:var(--text-main);margin:0 0 10px;font-size:16px;font-style:italic;line-height:1.6}.message-meta{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.empty-messages{color:var(--text-muted);font-size:15px;font-style:italic}.photo-modal-backdrop{z-index:100;background:#000000e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.photo-modal-content{flex-direction:column;justify-content:center;align-items:center;max-width:92vw;max-height:92vh;display:flex;position:relative}.lightbox-img-wrapper{justify-content:center;align-items:center;max-width:86vw;max-height:80vh;display:flex;position:relative}.lightbox-img-wrapper img{object-fit:contain;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;max-width:100%;max-height:80vh;box-shadow:0 16px 40px #000000b3}.lightbox-nav-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10;background:#0b2941a6;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #0006}.lightbox-nav-btn:hover{background:#0b2941f2;border-color:#fff;transform:translateY(-50%)scale(1.08)}.lightbox-nav-btn.lightbox-prev{left:-28px}.lightbox-nav-btn.lightbox-next{right:-28px}@media (width<=650px){.lightbox-nav-btn.lightbox-prev{left:8px}.lightbox-nav-btn.lightbox-next{right:8px}.lightbox-nav-btn{background:#0b2941cc;width:44px;height:44px}}.modal-close-btn{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex;position:absolute;top:-46px;right:0}.modal-close-btn:hover{background:#ffffff59;transform:scale(1.05)}.lightbox-footer{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:14px;display:flex}.modal-caption{color:#f1f5f9;text-shadow:0 2px 4px #0009;max-width:600px;margin:0;font-size:15px;line-height:1.4}.lightbox-counter{color:#ffffffb3;letter-spacing:.5px;background:#0006;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600}.memorial-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);background:#eef4f9;padding:30px 20px;font-size:14px}@media (width<=700px){.tribute-header{text-align:center;flex-direction:column;gap:20px}.lifespan{justify-content:center}.tribute-card{padding:26px 18px}.portrait-wrapper{aspect-ratio:1;border-radius:18px;width:100%;max-width:260px;height:auto}.hero-inner{flex-direction:column;align-items:flex-start}.memorial-map-btn{justify-content:center;width:100%}}.map-picker-component{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:12px;padding:16px;display:flex}.map-picker-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.map-picker-title{color:var(--brand-primary);font-size:13.5px;font-weight:700}.map-layer-toggles{gap:6px;display:flex}.btn-layer-toggle{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:#f0f5f2;border:1px solid #d4e2dc;padding:5px 12px;font-size:12px;font-weight:600;transition:all .2s}.btn-layer-toggle:hover{color:var(--brand-primary);background:#fff}.btn-layer-toggle.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.smart-coords-container{border-radius:var(--radius-md);background:#f8faf9;border:1px solid #d9e6e0;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.smart-coords-label{color:var(--brand-primary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px;font-size:12.5px;font-weight:600;display:flex}.smart-coords-sublabel{color:var(--text-muted);font-size:11px;font-weight:400}.smart-coords-input-wrapper{border-radius:var(--radius-sm);background:#fff;border:1.5px solid #c2dbd0;align-items:center;padding:2px 6px 2px 10px;transition:border-color .2s,box-shadow .2s;display:flex}.smart-coords-input-wrapper:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px #0b29411f}.smart-coords-icon{color:var(--brand-primary);align-items:center;margin-right:8px;display:flex}.smart-coords-input{color:#1a202c;background:0 0;border:none;outline:none;flex:1;padding:7px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13.5px}.smart-coords-input.has-error{color:#c53030}.btn-smart-copy{color:var(--brand-primary);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:#e6f0eb;border:1px solid #b7d6c7;padding:4px 10px;font-size:11.5px;font-weight:600;transition:all .2s}.btn-smart-copy:hover{background:var(--brand-primary);color:#fff}.smart-coords-error{color:#c53030;font-size:11.5px;font-weight:500}.map-search-bar{flex-wrap:wrap;gap:8px;display:flex}.map-search-input-box{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:#fafcfb;flex:1;align-items:center;min-width:220px;padding:2px 4px 2px 12px;display:flex}.search-pin-icon{color:var(--text-light);margin-right:8px;font-size:14px}.map-search-input-box input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:13px}.btn-map-search{background:var(--brand-primary);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;padding:6px 14px;font-size:12px;font-weight:600}.btn-my-gps{color:var(--brand-light);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:#edf5f1;border:1px solid #cce2d7;padding:6px 14px;font-size:12.5px;font-weight:600;transition:all .2s}.btn-my-gps:hover{background:var(--brand-primary);color:#fff}.map-search-dropdown{border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;max-height:160px;display:flex;overflow-y:auto}.map-dropdown-item{color:var(--text-main);cursor:pointer;border-bottom:1px solid #f0f4f2;padding:8px 12px;font-size:12.5px}.map-dropdown-item:hover{color:var(--brand-primary);background:#f0f7f4}.leaflet-map-element{border:1.5px solid var(--border-color);overflow:hidden;box-shadow:inset 0 1px 4px #00000014}.map-coords-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.map-hint{color:var(--text-muted);font-size:11.5px}.coords-readout{color:var(--brand-primary);border-radius:var(--radius-pill);background:#edf5f1;padding:4px 10px;font-size:12px;font-weight:500}.no-coords-text{color:var(--text-light);font-style:italic}.tribute-interactive-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.btn-interactive-pill{color:var(--brand-primary);border:1.5px solid var(--border-color);border-radius:var(--radius-pill);cursor:pointer;background:#fff;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0000000a}.btn-interactive-pill:hover{border-color:var(--brand-primary);background:#f0f7f4;transform:translateY(-1px)}.btn-interactive-pill:active{transform:translateY(0)}.cemetery-interlinked-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;display:flex}.btn-cemetery-action{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:7px 12px;font-size:12.5px;font-weight:600;transition:all .2s}.btn-view-people{color:var(--brand-primary);background:#f0f7f4;border:1px solid #cbdad1}.btn-view-people:hover{background:var(--brand-primary);color:#fff}.btn-add-person{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.btn-add-person:hover{color:#fff;background:#1d4ed8}.btn-edit-cemetery{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.btn-edit-cemetery:hover{background:#e2e8f0}.cemetery-persons-list{flex-direction:column;gap:10px;max-height:480px;padding-right:4px;display:flex;overflow-y:auto}.cemetery-person-row{border-radius:var(--radius-sm);background:#f8fafc;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:background-color .2s;display:flex}.cemetery-person-row:hover{background:#f1f5f9}.cemetery-person-left{align-items:center;gap:12px;min-width:0;display:flex}.cemetery-person-avatar{background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.cemetery-person-avatar img{object-fit:cover;width:100%;height:100%}.cemetery-person-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.grave-code-tag{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:2px 6px;font-weight:500}.cemetery-person-actions{flex-shrink:0;gap:6px;display:flex}.btn-touch-sm{border-radius:var(--radius-sm);color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;padding:6px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:all .2s}.btn-touch-sm:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.admin-filter-bar{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:20px;padding:14px 18px}.filter-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filter-item{flex-direction:column;gap:4px;min-width:180px;display:flex}.filter-item label{color:#475569;text-transform:uppercase;letter-spacing:.3px;font-size:11.5px;font-weight:600}.filter-item select,.filter-item input{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);background:#fafcfb;outline:none;padding:9px 12px;font-size:13.5px}.filter-item.search-grow{flex:1;min-width:220px}.btn-filter-action{background:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;height:40px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:background-color .2s}.btn-filter-action:hover{background:var(--brand-dark)}.admin-persons-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.person-admin-card{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:12px;padding:18px;transition:transform .2s,box-shadow .2s;display:flex}.person-admin-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.person-card-top{align-items:center;gap:14px;display:flex}.person-avatar-wrap{border:2px solid var(--border-color);background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;display:flex;overflow:hidden}.person-avatar-wrap img{object-fit:cover;width:100%;height:100%}.avatar-ph{font-size:24px}.person-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.person-header-info h4{color:var(--brand-primary);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.person-lifespan-tag{color:#64748b;font-size:12px;font-weight:500}.cemetery-pill-tag{color:#0369a1;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.person-bio-snippet{color:#475569;border-radius:var(--radius-sm);background:#f8fafc;padding:8px 12px;font-size:13px;line-height:1.45}.person-card-badges{flex-wrap:wrap;gap:6px;display:flex}.status-pill{border-radius:var(--radius-pill);padding:3px 8px;font-size:11.5px;font-weight:600}.status-public{color:#15803d;background:#dcfce7}.status-hidden{color:#64748b;background:#f1f5f9}.status-photos{color:#6d28d9;background:#ede9fe}.status-gps{color:#0284c7;background:#e0f2fe}.person-card-actions{border-top:1px solid #f1f5f9;gap:8px;padding-top:10px;display:flex}.btn-card-action{border-radius:var(--radius-sm);cursor:pointer;text-align:center;border:1px solid var(--border-color);color:#334155;background:#f8fafc;flex:1;padding:8px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s}.btn-card-action:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#fff}.btn-photos{color:#7e22ce;background:#faf5ff;border-color:#e9d5ff}.btn-photos:hover{color:#fff;background:#7e22ce}.btn-memorial{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.btn-memorial:hover{color:#fff;background:#166534}.photo-upload-bar{border-radius:var(--radius-sm);border:1px dashed var(--border-color);background:#f8fafc;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px;display:flex}.photos-admin-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.photo-admin-item{aspect-ratio:1;border-radius:var(--radius-sm);background:#f1f5f9;border:2px solid #e2e8f0;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.photo-admin-item:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 16px #0f172a1f}.photo-admin-item.is-main-photo{border:3px solid #dfba53;box-shadow:0 0 0 2px #dfba5359,0 6px 18px #0e365733}.main-photo-badge{z-index:5;color:#dfba53;pointer-events:none;background:linear-gradient(135deg,#0e3657 0%,#154c79 100%);border:1px solid #dfba53;border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;font-weight:800;display:inline-flex;position:absolute;top:6px;left:6px;box-shadow:0 2px 6px #00000059}.photo-admin-item img{object-fit:cover;width:100%;height:100%;display:block}.photo-admin-overlay{opacity:0;background:linear-gradient(#0000 0%,#00000040 45%,#000c 100%);flex-direction:column;justify-content:space-between;padding:8px;transition:opacity .2s;display:flex;position:absolute;inset:0}.photo-admin-item:hover .photo-admin-overlay{opacity:1}.photo-admin-caption{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);white-space:nowrap;text-overflow:ellipsis;background:#0f172abf;border-radius:4px;max-width:100%;padding:3px 6px;font-size:11px;overflow:hidden}.photo-actions-row{justify-content:flex-end;align-items:center;gap:6px;display:flex}.btn-photo-icon-action{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .15s,background-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 6px #0000004d}.btn-photo-icon-action:hover{transform:scale(1.12)}.btn-set-main{color:#64748b;background:#ffffffe6}.btn-set-main:hover{color:#dfba53;background:#fff}.btn-active-main{color:#0e3657;background:#dfba53;box-shadow:0 0 8px #dfba53cc}.btn-edit-photo{color:#fff;background:#0e3657e6}.btn-edit-photo:hover{background:#0e3657}.btn-del-photo{color:#fff;background:#ef4444e6}.btn-del-photo:hover{background:#dc2626}.status-filter-tabs{gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.status-filter-tab{border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#fff;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.status-filter-tab:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.status-filter-tab.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.admin-solicitacoes-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.solicitacao-card{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:12px;padding:18px;display:flex}.solicitacao-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.solic-title-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.solic-type-pill{border-radius:var(--radius-pill);padding:4px 10px;font-size:12px;font-weight:700}.badge-solic-add{color:#1d4ed8;background:#eff6ff}.badge-solic-edit{color:#b45309;background:#fef3c7}.badge-solic-photo{color:#7e22ce;background:#faf5ff}.badge-solic-gen{color:#475569;background:#f1f5f9}.solic-status-pill{border-radius:var(--radius-pill);text-transform:uppercase;padding:2px 8px;font-size:11px;font-weight:700}.status-pendente{color:#854d0e;background:#fef9c3}.status-aprovado{color:#15803d;background:#dcfce7}.status-rejeitado{color:#b91c1c;background:#fee2e2}.solic-date{color:#94a3b8;white-space:nowrap;font-size:11.5px}.solicitacao-card-body{flex-direction:column;flex:1;gap:10px;display:flex}.solic-target-box{border-radius:var(--radius-sm);color:#334155;border-left:3px solid var(--brand-primary);background:#f8fafc;padding:8px 12px;font-size:13px}.solic-message-box{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-main);background:#fafcfb;padding:10px 12px;font-size:13px;line-height:1.45}.solic-message-box strong{color:#64748b;margin-bottom:4px;font-size:11.5px;display:block}.solic-photo-preview{cursor:pointer;flex-direction:column;align-items:center;margin-top:4px;display:flex}.solic-photo-preview img{border-radius:var(--radius-sm);object-fit:cover;border:1px solid #cbd5e1;max-width:100%;max-height:160px}.photo-hint{color:#64748b;margin-top:4px;font-size:11px}.solic-author-footer{color:#475569;border-top:1px solid #f1f5f9;margin-top:auto;padding-top:8px;font-size:12.5px}.solic-contact-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.btn-whatsapp-chat{color:#fff;border-radius:var(--radius-pill);background:#25d366;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.btn-whatsapp-chat:hover{opacity:.9}.solicitacao-card-actions{border-top:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:12px;display:grid}.btn-solic-action{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:9px;font-size:13px;font-weight:700;transition:all .2s}.btn-approve{color:#fff;background:#16a34a}.btn-approve:hover:not(:disabled){background:#15803d}.btn-reject{color:#dc2626;background:#f1f5f9;border:1px solid #fca5a5}.btn-reject:hover:not(:disabled){background:#fee2e2}.btn-solic-action:disabled{opacity:.5;cursor:not-allowed}.admin-page-layout,.admin-page-layout *,.admin-page-layout h1,.admin-page-layout h2,.admin-page-layout h3,.admin-page-layout h4,.admin-page-layout h5,.admin-page-layout h6,.admin-page-layout p,.admin-page-layout span,.admin-page-layout button,.admin-page-layout input,.admin-page-layout select,.admin-page-layout textarea,.admin-page-layout label,.admin-page-layout strong,.admin-page-layout small,.admin-page-layout a,.admin-page-layout td,.admin-page-layout th,.admin-page-layout div{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.admin-page-layout{color:#0f172a!important;background:#f1f5f9!important}.admin-header-solid{z-index:100;background:#0f172a;border-bottom:3px solid #2563eb;position:sticky;top:0;box-shadow:0 4px 12px #00000026}.admin-header-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:12px 18px;display:flex}.admin-brand-solid{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-box-icon{color:#fff;background:#2563eb;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:900;display:flex}.brand-main-text{letter-spacing:1px;color:#fff;font-size:18px;font-weight:800;line-height:1.1;display:block}.brand-sub-text{color:#94a3b8;letter-spacing:.5px;font-size:11px;font-weight:700}.admin-session-box{align-items:center;gap:14px;display:flex}.admin-user-details{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.admin-user-title{color:#fff;font-size:13.5px;font-weight:700}.admin-role-badge{color:#38bdf8;background:#334155;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:800}.btn-solid-logout{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:8px 14px;font-size:12px;font-weight:800;transition:background-color .2s}.btn-solid-logout:hover{background:#b91c1c}.admin-nav-bar-solid{background:#1e293b;border-top:1px solid #334155;padding:6px 18px}.admin-nav-grid-solid{flex-wrap:wrap;gap:8px;max-width:1200px;margin:0 auto;display:flex}.admin-nav-btn-solid{color:#e2e8f0;text-transform:uppercase;letter-spacing:.5px;background:#334155;border:none;border-radius:6px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s ease-in-out;display:inline-flex}.admin-nav-btn-solid:hover{color:#fff;background:#475569}.admin-nav-btn-solid.active{box-shadow:0 2px 6px #2563eb66;color:#fff!important;background:#2563eb!important}.nav-icon-solid{font-size:15px}.admin-page-hero-solid{background:#fff;border:1px solid #cbd5e1;border-left:5px solid #2563eb;border-radius:8px;margin-bottom:20px;padding:16px 20px;box-shadow:0 1px 3px #0000000d}.admin-page-hero-solid h2{color:#0f172a;letter-spacing:.5px;margin-bottom:4px;font-size:18px;font-weight:800}.admin-page-hero-solid p{color:#64748b;font-size:13px;font-weight:500}.btn-admin-primary,.btn-dialog-save,.btn-submit-modal{color:#fff!important;text-transform:uppercase!important;letter-spacing:.5px!important;cursor:pointer!important;background:#2563eb!important;border:none!important;border-radius:6px!important;padding:10px 18px!important;font-size:13px!important;font-weight:800!important;transition:background-color .15s!important;box-shadow:0 2px 4px #2563eb40!important}.btn-admin-primary:hover,.btn-dialog-save:hover,.btn-submit-modal:hover{background:#1d4ed8!important}.btn-cemetery-action,.btn-card-action{text-transform:uppercase!important;letter-spacing:.5px!important;cursor:pointer!important;border:none!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;gap:6px!important;padding:10px 14px!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;transition:transform .1s,opacity .15s!important;display:inline-flex!important;box-shadow:0 1px 3px #0000001a!important}.btn-cemetery-action:hover,.btn-card-action:hover{opacity:.92;transform:translateY(-1px)}.btn-view-people{color:#fff!important;background:#0f172a!important}.btn-add-person{color:#fff!important;background:#0e3657!important}.btn-edit-cemetery{color:#fff!important;background:#0284c7!important}.btn-edit{color:#fff!important;background:#2563eb!important}.btn-photos{color:#fff!important;background:#7c3aed!important}.btn-memorial{color:#fff!important;background:#059669!important}.status-filter-tabs-solid{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.btn-filter-solid{color:#334155;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:#e2e8f0;border:none;border-radius:6px;padding:10px 18px;font-size:13px;font-weight:800;transition:all .15s ease-in-out}.btn-filter-solid:hover{background:#cbd5e1}.btn-filter-solid.active-amber{color:#fff!important;background:#d97706!important}.btn-filter-solid.active-green{color:#fff!important;background:#16a34a!important}.btn-filter-solid.active-red{color:#fff!important;background:#dc2626!important}.btn-filter-solid.active-dark{color:#fff!important;background:#0f172a!important}.solicitacao-card-solid{background:#fff;border:1px solid #cbd5e1;border-top:4px solid #2563eb;border-radius:8px;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 2px 4px #0000000a}.solicitacao-card-header-solid{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.solic-type-badge-solid{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:11.5px;font-weight:800}.badge-solid-add{color:#1e40af;background:#dbeafe}.badge-solid-tribute{color:#166534;background:#dcfce7}.badge-solid-grave{color:#0369a1;background:#e0f2fe}.badge-solid-edit{color:#92400e;background:#fef3c7}.badge-solid-photo{color:#5b21b6;background:#ede9fe}.badge-solid-gen{color:#334155;background:#f1f5f9}.solic-status-badge-solid{text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:800}.status-solid-pendente{color:#854d0e;background:#fef08a}.status-solid-aprovado{color:#166534;background:#bbf7d0}.status-solid-rejeitado{color:#991b1b;background:#fecaca}.solic-date-solid{color:#64748b;font-size:12px;font-weight:600}.solicitacao-card-body-solid{flex-direction:column;gap:12px;display:flex}.solic-target-box-solid{background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f172a;border-radius:4px;padding:10px 12px;font-size:13.5px}.solic-target-box-solid.highlight-box{background:#eff6ff;border-left-color:#2563eb}.solic-message-box-solid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:10px 12px;font-size:13.5px;line-height:1.5}.solic-message-box-solid strong{color:#64748b;margin-bottom:4px;font-size:11.5px;display:block}.solic-photo-preview-solid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;align-items:center;gap:8px;padding:10px;display:flex}.solic-photo-preview-solid img{cursor:pointer;border:2px solid #cbd5e1;border-radius:6px;max-width:100%;max-height:200px}.btn-solid-photo-zoom{color:#fff;cursor:pointer;background:#475569;border:none;border-radius:4px;width:100%;padding:8px 14px;font-size:12px;font-weight:700}.solic-author-footer-solid{border-top:1px solid #e2e8f0;flex-direction:column;gap:6px;padding-top:10px;font-size:13px;display:flex}.btn-whatsapp-solid{color:#fff;text-align:center;background:#22c55e;border:none;border-radius:6px;margin-top:6px;padding:10px 14px;font-size:13px;font-weight:800;text-decoration:none;display:block;box-shadow:0 2px 4px #22c55e4d}.btn-whatsapp-solid:hover{background:#16a34a}.solicitacao-card-actions-solid{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.btn-solid-action-approve{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:6px;padding:12px;font-size:13px;font-weight:800}.btn-solid-action-approve:hover:not(:disabled){background:#15803d}.btn-solid-action-reject{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:12px;font-size:13px;font-weight:800}.btn-solid-action-reject:hover:not(:disabled){background:#b91c1c}.btn-solid-action-delete{color:#b91c1c;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;padding:12px;font-size:13px;font-weight:800;transition:all .15s}.btn-solid-action-delete:hover:not(:disabled){color:#fff;background:#ef4444;border-color:#dc2626}.btn-solid-quick-create{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;width:100%;padding:10px;font-size:12.5px;font-weight:800}.admin-page-layout{color:#0f172a!important;background-color:#f1f5f9!important;flex-direction:row!important;align-items:stretch!important;width:100%!important;min-height:100vh!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;display:flex!important;position:relative!important}.admin-mobile-top-bar{color:#f8fafc;z-index:100;background:#0f172a;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0003}.admin-mobile-hamburger{color:#f8fafc;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.admin-mobile-brand{letter-spacing:.5px;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.admin-mobile-brand .brand-dot{background:#38bdf8;border-radius:50%;width:8px;height:8px}.admin-mobile-role-tag{color:#38bdf8;background:#1e293b;border:1px solid #334155;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800}.admin-sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:998;background:#0f172a99;position:fixed;inset:0}.admin-sidebar-left{color:#94a3b8!important;z-index:999!important;background-color:#0f172a!important;border-right:1px solid #1e293b!important;flex-direction:column!important;flex-shrink:0!important;width:260px!important;min-width:260px!important;max-width:260px!important;height:100vh!important;display:flex!important;position:sticky!important;top:0!important;overflow-y:auto!important}.sidebar-brand-box{border-bottom:1px solid #1e293b;padding:20px 18px}.sidebar-brand-link{color:#f8fafc;align-items:center;gap:12px;text-decoration:none;display:flex}.sidebar-brand-icon{color:#38bdf8;background:#1e293b;border:1px solid #334155;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-brand-info{flex-direction:column;display:flex}.sidebar-brand-title{letter-spacing:1px;color:#fff;font-size:15px;font-weight:800;line-height:1.2}.sidebar-brand-badge{color:#38bdf8;letter-spacing:.5px;font-size:10px;font-weight:700}.sidebar-scope-card{background:#1e293b;border:1px solid #334155;border-radius:6px;flex-direction:column;gap:2px;margin:14px 16px 0;padding:10px 12px;display:flex}.sidebar-scope-card .scope-label{color:#64748b;letter-spacing:.5px;font-size:9.5px;font-weight:700}.sidebar-scope-card .scope-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.sidebar-nav-container{flex:1;padding:20px 12px;overflow-y:auto}.sidebar-nav-header{color:#475569;letter-spacing:.75px;padding:0 10px 8px;font-size:10.5px;font-weight:800;display:block}.sidebar-nav-list{flex-direction:column;gap:4px;display:flex}.sidebar-nav-item{color:#94a3b8;border-radius:6px;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .15s;display:flex;position:relative}.sidebar-nav-item:hover{color:#f1f5f9;background:#1e293b}.sidebar-nav-item.active{color:#38bdf8;background:#1e293b;font-weight:700;box-shadow:inset 3px 0 #38bdf8}.sidebar-item-icon{color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-item-label{flex:1}.sidebar-item-badge{color:#fff;background:#ef4444;border-radius:9999px;padding:2px 6px;font-size:11px;font-weight:800;line-height:1}.sidebar-nav-item.item-portal{color:#64748b;border:1px dashed #334155;margin-top:4px}.sidebar-nav-item.item-portal:hover{color:#38bdf8;border-color:#38bdf8}.sidebar-footer{background:#0b1120;border-top:1px solid #1e293b;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.sidebar-user-card{align-items:center;gap:10px;display:flex}.sidebar-user-avatar{color:#fff;background:#2563eb;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:flex}.sidebar-user-meta{flex-direction:column;display:flex;overflow:hidden}.sidebar-user-name{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.sidebar-user-role{color:#64748b;font-size:10.5px;font-weight:600}.sidebar-btn-logout{color:#f87171;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:12.5px;font-weight:700;transition:all .2s;display:flex}.sidebar-btn-logout:hover{color:#fff;background:#dc2626;border-color:#dc2626}.admin-container-box{box-sizing:border-box!important;background-color:#f1f5f9!important;flex:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:24px 32px!important}@media (width<=900px){.admin-page-layout{flex-direction:column!important;padding-top:56px!important}.admin-mobile-top-bar{display:flex!important}.admin-sidebar-left{z-index:1000!important;width:270px!important;min-width:270px!important;max-width:270px!important;height:calc(100vh - 56px)!important;transition:transform .25s ease-in-out!important;position:fixed!important;top:56px!important;bottom:0!important;left:0!important;transform:translate(-100%)!important}.admin-sidebar-left.open{transform:translate(0)!important}.admin-container-box{width:100%!important;padding:16px!important}}.admin-view-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.view-title-col{flex:1;min-width:280px}.view-main-title{color:#0f172a;letter-spacing:-.2px;margin:0 0 4px;font-size:22px;font-weight:800}.view-subtitle{color:#64748b;margin:0;font-size:13.5px;line-height:1.5}.view-actions-col{align-items:center;gap:10px;display:flex}.btn-solid-primary{color:#fff!important;letter-spacing:.5px!important;text-transform:uppercase!important;cursor:pointer!important;background:#2563eb!important;border:none!important;border-radius:6px!important;align-items:center!important;gap:8px!important;padding:10px 18px!important;font-size:12.5px!important;font-weight:800!important;transition:all .15s!important;display:inline-flex!important;box-shadow:0 1px 3px #2563eb4d!important}.btn-solid-primary:hover:not(:disabled){background:#1d4ed8!important;transform:translateY(-1px)!important;box-shadow:0 4px 8px #2563eb66!important}.btn-solid-primary:disabled{opacity:.6!important;cursor:not-allowed!important;transform:none!important}.admin-filter-bar-solid{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:20px;padding:14px 18px;display:flex;box-shadow:0 1px 3px #0000000a}.filter-field-box{flex-direction:column;gap:6px;min-width:180px;display:flex}.filter-field-box.flex-grow{flex:1;min-width:260px}.filter-field-box label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-size:11.5px;font-weight:700}.filter-input-solid{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:8px 12px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.filter-input-solid:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.admin-stats-summary-strip{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.summary-pill{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:10px;padding:10px 16px;display:flex;box-shadow:0 1px 2px #00000008}.pill-num{color:#2563eb;min-width:24px;font-size:18px;font-weight:800}.pill-text{color:#475569;font-size:12.5px;font-weight:600}.admin-table-solid{border-collapse:collapse;text-align:left;width:100%;font-size:13.5px}.admin-table-solid thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.admin-table-solid th{text-transform:uppercase;letter-spacing:.5px;color:#475569;padding:12px 16px;font-size:11.5px;font-weight:800}.admin-table-solid td{vertical-align:middle;color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 16px}.admin-table-solid tbody tr:hover{background-color:#f8fafc}.cell-tomb-code{align-items:center;gap:8px;display:flex}.cell-tomb-code strong{color:#0f172a;font-size:14px;font-weight:800}.badge-qr-ok{color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:700}.cell-cemetery-meta{flex-direction:column;display:flex}.cell-cemetery-meta .cemetery-name{color:#1e293b;font-size:13.5px;font-weight:700}.cell-cemetery-meta .quadra-sub{color:#64748b;font-size:12px}.cell-people-list{flex-direction:column;gap:6px;display:flex}.people-tags-cloud{flex-wrap:wrap;gap:5px;display:flex}.tag-person-item{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:2px 8px;font-size:11.5px;font-weight:700;text-decoration:none;transition:all .15s}.tag-person-item:hover{color:#0f172a;background:#e2e8f0;border-color:#94a3b8}.btn-inline-manage-people{color:#2563eb;cursor:pointer;background:0 0;border:1px dashed #94a3b8;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:3px 8px;font-size:11.5px;font-weight:700;transition:all .15s;display:inline-flex}.btn-inline-manage-people:hover{background:#eff6ff;border-color:#2563eb}.text-empty-muted{color:#94a3b8;font-size:12px;font-style:italic}.cell-coords-tag{flex-direction:column;gap:2px;display:flex}.coord-status.ok{color:#059669;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.coord-status.none{color:#94a3b8;font-size:12px;font-style:italic}.cell-actions-solid{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.btn-action-solid{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn-action-solid.btn-portal{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.btn-action-solid.btn-portal:hover{color:#1e40af;background:#dbeafe}.btn-action-solid.btn-print{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.btn-action-solid.btn-print:hover{color:#166534;background:#dcfce7}.btn-action-solid.btn-edit{color:#334155;background:#f8fafc;border-color:#cbd5e1}.btn-action-solid.btn-edit:hover{color:#0f172a;background:#f1f5f9}.btn-action-solid.btn-delete{color:#dc2626;background:#fef2f2;border-color:#fecaca}.btn-action-solid.btn-delete:hover{color:#991b1b;background:#fee2e2}.admin-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.admin-modal-container{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.admin-modal-container.max-w-700{max-width:700px}.admin-modal-container.max-w-650{max-width:650px}.admin-modal-container.max-w-500{max-width:500px}.admin-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.admin-modal-header h3{color:#0f172a;margin:0;font-size:16px;font-weight:800}.btn-modal-x{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px;font-weight:700}.btn-modal-x:hover{color:#0f172a;background:#e2e8f0}.admin-modal-form{flex-direction:column;gap:16px;padding:20px;display:flex}.form-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=600px){.form-grid-2{grid-template-columns:1fr}}.form-group-solid{flex-direction:column;gap:6px;display:flex}.form-group-solid label{text-transform:uppercase;letter-spacing:.5px;color:#334155;font-size:11.5px;font-weight:700}.input-solid{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:9px 12px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.input-solid:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.field-hint{color:#64748b;margin:0;font-size:12px}.admin-modal-actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.btn-cancel-modal{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:9px 16px;font-size:12.5px;font-weight:700;transition:all .15s}.btn-cancel-modal:hover:not(:disabled){color:#0f172a;background:#e2e8f0}.modal-content-manage-people{flex-direction:column;gap:16px;padding:18px 20px;display:flex}.section-note{color:#64748b;margin:0;font-size:13px;font-weight:600}.current-people-list h4,.link-new-person-box h4{color:#1e293b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:12.5px;font-weight:800}.empty-sublist{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;padding:16px;font-size:12.5px}.people-sublist-items{flex-direction:column;gap:8px;display:flex}.sublist-person-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.sublist-person-info{flex-direction:column;display:flex}.sublist-person-info strong{color:#0f172a;font-size:13.5px}.sublist-dates{color:#64748b;font-size:11.5px}.sublist-person-actions{align-items:center;gap:8px;display:flex}.btn-sub-view{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:6px 10px;font-size:12px;font-weight:700;text-decoration:none}.btn-sub-unlink{color:#dc2626;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:4px;padding:6px 10px;font-size:12px;font-weight:700}.btn-sub-unlink:hover:not(:disabled){color:#991b1b;background:#fca5a5}.link-new-person-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:14px}.form-inline-link{gap:8px;display:flex}.shortcut-create-person{color:#64748b;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.shortcut-create-person .btn-link-action{color:#2563eb;font-weight:700;text-decoration:underline}.placa-qr-box{text-align:center;background:#fff;border:2px solid #0f172a;border-radius:12px;max-width:320px;margin:12px auto;padding:24px}.placa-brand{letter-spacing:2px;color:#64748b;text-transform:uppercase;font-size:11px;font-weight:800}.placa-cemetery{color:#0f172a;margin-top:4px;font-size:14px;font-weight:800}.placa-title{color:#0f172a;margin-top:6px;font-size:18px;font-weight:900}.placa-quadra{color:#475569;font-size:12px;font-weight:600}.placa-qr-img-wrapper{justify-content:center;margin:14px 0;display:flex}.placa-qr-img{border:1px solid #e2e8f0;border-radius:8px;width:180px;height:180px}.placa-url-text{color:#2563eb;letter-spacing:.5px;font-size:12px;font-weight:800}.placa-family-note{color:#334155;margin-top:8px;font-size:11px;font-weight:600}.placa-scan-note{color:#64748b;margin-top:6px;font-size:10px;font-style:italic}.admin-empty-state-box{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;margin:20px 0;padding:48px 24px}.admin-empty-state-box h3{color:#0f172a;margin-bottom:6px;font-size:16px;font-weight:800}.admin-empty-state-box p{color:#64748b;max-width:440px;margin:0 auto 18px;font-size:13.5px;line-height:1.5}.admin-error-box{text-align:center;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:20px 0;padding:24px}.admin-error-box p{margin-bottom:12px;font-size:14px;font-weight:600}.tumulo-publico-page{min-height:100vh;font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto);color:#2c2523;background-color:#faf7f2;flex-direction:column;display:flex}.tumulo-header{background:#fff;border-bottom:1px solid #ebdcd0;padding:16px 0}.tumulo-container{box-sizing:border-box;width:100%;max-width:980px;margin:0 auto;padding:0 20px}.tumulo-header-inner{justify-content:space-between;align-items:center;display:flex}.tumulo-logo{align-items:center;text-decoration:none;transition:opacity .2s,transform .2s;display:flex}.tumulo-logo:hover{opacity:.9;transform:scale(1.02)}.tumulo-logo-horizontal{object-fit:contain;width:auto;max-width:180px;height:34px;display:block}.tumulo-header-subtitle{color:var(--text-muted);font-size:12.5px;font-weight:600}.tumulo-hero{color:#fff;background:linear-gradient(135deg,#0b2941 0%,#15466e 100%);padding:44px 0 36px;box-shadow:0 4px 20px #0b294126}.tumulo-hero-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:9999px;align-items:center;gap:8px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.tumulo-hero-title{font-family:var(--font-serif,"Playfair Display", Georgia, serif);margin:0 0 8px;font-size:32px;font-weight:700}.tumulo-hero-loc{color:#ffffffd9;margin:0 0 24px;font-size:14.5px}.tumulo-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.btn-tumulo-action{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #00000026}.btn-tumulo-action.btn-gps{color:var(--brand-primary);background:#fff}.btn-tumulo-action.btn-gps:hover{background:#f1f5f9}.btn-tumulo-action.btn-suggest{color:#fff;background:#fff3;border:1px solid #ffffff59}.btn-tumulo-action.btn-suggest:hover{background:#ffffff4d}.tumulo-main{flex:1;padding-top:36px;padding-bottom:48px}.tumulo-section-header{margin-bottom:24px}.tumulo-section-title{font-family:var(--font-serif,"Playfair Display", Georgia, serif);color:var(--brand-primary);margin:0 0 4px;font-size:22px}.tumulo-section-desc{color:var(--text-muted);margin:0;font-size:14px}.tumulo-pessoas-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:32px;display:grid}.tumulo-pessoa-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;flex-direction:column;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 14px #0b29410d}.tumulo-pessoa-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0b29411a}.pessoa-card-top{align-items:center;gap:14px;display:flex}.pessoa-card-avatar{object-fit:cover;border:2px solid var(--brand-primary);border-radius:50%;flex-shrink:0;width:60px;height:60px}.pessoa-card-avatar-placeholder{background:var(--brand-primary);color:#dfba53;width:60px;height:60px;font-family:var(--font-serif,"Playfair Display", Georgia, serif);border:2px solid #dfba5366;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.pessoa-card-info{flex-direction:column;display:flex}.pessoa-card-nome{font-family:var(--font-serif,"Playfair Display", Georgia, serif);color:var(--brand-primary);margin:0 0 4px;font-size:18px}.pessoa-card-datas{color:var(--text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.pessoa-idade-chip{color:var(--brand-primary);background:#eaf0f6;border-radius:4px;width:fit-content;margin-top:2px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.pessoa-card-bio{color:var(--text-muted);margin:14px 0;font-size:13px;font-style:italic;line-height:1.5}.pessoa-card-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:14px}.btn-ver-memorial{background:var(--brand-primary);color:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13.5px;font-weight:700;text-decoration:none;transition:background .2s;display:flex}.btn-ver-memorial:hover{background:var(--brand-dark)}.tumulo-empty-card{border:1px dashed var(--border-color);text-align:center;color:var(--text-muted);background:#fff;border-radius:12px;margin-bottom:32px;padding:36px 20px}.btn-suggest-empty{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:12px;padding:10px 18px;font-weight:700;transition:background .2s}.btn-suggest-empty:hover{background:var(--brand-dark)}.tumulo-info-box{border:1px solid var(--border-color);background:#fff;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px;display:grid}.tumulo-info-item{flex-direction:column;gap:2px;display:flex}.tumulo-info-item .info-label{color:var(--text-light);text-transform:uppercase;font-size:11.5px;font-weight:700}.tumulo-info-item .info-val{color:var(--brand-primary);font-size:14px;font-weight:600}.tumulo-footer{border-top:1px solid var(--border-color);text-align:center;color:var(--text-muted);background:#fff;margin-top:auto;padding:20px 0;font-size:12.5px}.link-ver-tumulo-badge{color:#38bdf8;margin-top:6px;font-size:11.5px;font-weight:700;text-decoration:underline;display:inline-block}.admin-persons-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.person-admin-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000a}.person-admin-row:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a0f}.person-row-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.person-row-avatar{background:#0e3657;border:2px solid #dfba53;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;overflow:hidden}.person-row-avatar img{object-fit:cover;width:100%;height:100%}.person-row-avatar .avatar-ph{color:#dfba53;font-family:Georgia,serif;font-size:18px;font-weight:700}.person-row-details{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.person-row-name-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.person-row-name-line h4{color:#0f172a;margin:0;font-size:15.5px;font-weight:700}.person-row-name-line .person-lifespan-tag{color:#64748b;font-size:12px;font-weight:500}.person-row-location{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.person-row-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.person-row-actions .btn-card-action{cursor:pointer;white-space:nowrap;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:7px 13px;font-size:12px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.person-row-actions .btn-card-action:hover{opacity:.92;transform:translateY(-1px)}.person-row-actions .btn-edit{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.person-row-actions .btn-photos{color:#fff;background:#0284c7;border-color:#0284c7}.person-row-actions .btn-placa{color:#fff;background:#0e3657;border-color:#0e3657}.person-row-actions .btn-memorial{color:#0b1f33;background:#dfba53;border-color:#dfba53}@media (width<=860px){.person-admin-row{flex-direction:column;align-items:flex-start;gap:12px}.person-row-actions{justify-content:flex-start;width:100%}}
