:root{
  --navy:#1A3A5C;--navy2:#254e7a;--navy3:#2e618f;
  --blue-light:#E8F0F8;--blue-mid:#C8DCEE;
  --gold:#B8860B;--gold2:#D4A017;--gold-bg:#FDF8EC;
  --white:#fff;--off:#F8F6F2;--cream:#F2EDE4;
  --border:#DDD8CE;--text:#1E1A16;--text2:#4A4540;--text3:#7A7268;
  --ok:#2E7D52;--ok-bg:#EAF4EE;
  --warn:#9C6A00;--warn-bg:#FFF4DC;
  --err:#B83232;--err-bg:#FDEAEA;
  --info:#1E5C96;--info-bg:#E8F0F8;
  --act-bg:#D4EDDA;--inact-bg:#EEEBE6;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Nunito',sans-serif;background:var(--off);color:var(--text);min-height:100vh;}

/* LOGIN */
#login-screen{position:fixed;inset:0;z-index:9999;background:linear-gradient(145deg,var(--navy),var(--navy2) 50%,#1a4a6e);display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.login-card{background:var(--white);border-radius:22px;padding:2.8rem 2.4rem;width:100%;max-width:480px;box-shadow:0 24px 80px rgba(0,0,0,.3);animation:slideUp .4s ease both;}
@keyframes slideUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.login-card .brand{text-align:center;margin-bottom:2rem;}
.login-card .emblem{width:72px;height:72px;border-radius:50%;margin:0 auto .8rem;background:linear-gradient(135deg,var(--navy),var(--navy3));display:flex;align-items:center;justify-content:center;font-size:1.9rem;box-shadow:0 8px 24px rgba(26,58,92,.25);}
.login-card h1{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--navy);font-weight:700;}
.login-card .sub{font-size:.75rem;color:var(--text3);margin-top:.2rem;line-height:1.4;}
.login-divider{height:1px;background:linear-gradient(to right,transparent,var(--border),transparent);margin:1.4rem 0;}
.login-error{background:var(--err-bg);border:1px solid #f0c0c0;border-radius:8px;padding:.6rem .9rem;font-size:.82rem;color:var(--err);margin-bottom:1rem;display:none;}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--navy);box-shadow:0 2px 12px rgba(26,58,92,.2);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:62px;}
.nav-logo{display:flex;align-items:center;gap:.6rem;}
.nav-logo .emb{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),#f0c040);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--navy);font-weight:900;flex-shrink:0;}
.nav-logo .tt{display:flex;flex-direction:column;line-height:1.2;}
.nav-logo .main{font-family:'Cormorant Garamond',serif;font-size:1rem;color:#fff;font-weight:700;}
.nav-logo .sub2{font-size:.58rem;color:rgba(255,255,255,.45);letter-spacing:.08em;text-transform:uppercase;font-weight:500;}
.nav-tabs{display:flex;gap:.1rem;}
.nav-tab{padding:.38rem .88rem;border-radius:6px;border:none;background:transparent;color:rgba(255,255,255,.6);font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;}
.nav-tab:hover{color:#fff;background:rgba(255,255,255,.1);}
.nav-tab.active{background:var(--gold2);color:var(--navy);font-weight:700;}
.nav-right{display:flex;align-items:center;gap:.75rem;}
.nav-user{display:flex;align-items:center;gap:.42rem;font-size:.78rem;color:rgba(255,255,255,.75);}
.nav-user .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),#f0c040);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:var(--navy);}
.btn-logout{padding:.32rem .75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.65);font-size:.75rem;font-family:'Nunito',sans-serif;font-weight:600;cursor:pointer;transition:all .2s;}
.btn-logout:hover{background:rgba(255,255,255,.1);color:#fff;}

/* PAGES */
.page{display:none;padding-top:62px;min-height:100vh;}
.page.active{display:block;animation:fadeIn .3s ease both;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* HERO */
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2) 55%,var(--navy3));padding:3rem 2rem 2.25rem;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-60px;right:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(212,160,23,.1),transparent 70%);border-radius:50%;}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold2),#f0c040,var(--gold2));}
.hero-inner{max-width:1140px;margin:0 auto;position:relative;}
.hero-tag{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:.25rem .85rem;font-size:.68rem;color:rgba(255,255,255,.75);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:.75rem;}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.5vw,2.7rem);color:#fff;line-height:1.15;font-weight:700;margin-bottom:.3rem;}
.hero h1 em{color:var(--gold2);font-style:normal;}
.hero p{color:rgba(255,255,255,.6);font-size:.88rem;margin-bottom:1.75rem;}
.stats-row{display:flex;gap:1rem;flex-wrap:wrap;}
.stat-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1rem 1.4rem;flex:1;min-width:120px;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--gold2);line-height:1;font-weight:700;margin-bottom:.18rem;}
.stat-label{font-size:.71rem;color:rgba(255,255,255,.55);font-weight:500;}

/* CONTENT */
.content{max-width:1140px;margin:0 auto;padding:2rem;}

/* SECTION TITLE */
.section-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--navy);font-weight:700;margin-bottom:1.2rem;display:flex;align-items:center;gap:.7rem;}
.section-title::after{content:'';flex:1;height:1px;background:linear-gradient(to right,var(--border),transparent);}

/* CARD */
.card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 6px rgba(26,58,92,.06);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:8px;font-family:'Nunito',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:all .2s;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,58,92,.22);}
.btn-gold{background:var(--gold2);color:var(--navy);}
.btn-gold:hover{background:#e0a818;transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--navy2);}
.btn-outline:hover{background:var(--blue-light);}
.btn-ghost{background:var(--cream);color:var(--text2);border:1px solid var(--border);}
.btn-ghost:hover{background:var(--border);}
.btn-sm{padding:.3rem .78rem;font-size:.75rem;}
.btn-danger{background:var(--err-bg);color:var(--err);border:1px solid #f0c0c0;}
.btn-on{background:var(--act-bg);color:var(--ok);border:1.5px solid #a0d4b4;font-weight:700;}
.btn-off{background:var(--inact-bg);color:var(--text3);border:1.5px solid #ccc8c0;font-weight:700;}

/* BADGE */
.badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.68rem;font-weight:700;}
.badge-ok{background:var(--ok-bg);color:var(--ok);}
.badge-warn{background:var(--warn-bg);color:var(--warn);}
.badge-err{background:var(--err-bg);color:var(--err);}
.badge-info{background:var(--info-bg);color:var(--info);}
.badge-navy{background:var(--blue-light);color:var(--navy);}
.badge-act{background:var(--act-bg);color:var(--ok);}
.badge-inact{background:var(--inact-bg);color:var(--text3);}
.badge-gold{background:var(--gold-bg);color:var(--gold);border:1px solid #e8d090;}

/* FORM */
.form-group{margin-bottom:1rem;}
.form-label{display:block;font-size:.72rem;font-weight:700;color:var(--text3);margin-bottom:.36rem;text-transform:uppercase;letter-spacing:.07em;}
.form-input,.form-select,.form-textarea{width:100%;padding:.6rem .88rem;background:var(--off);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-family:'Nunito',sans-serif;font-size:.88rem;transition:border-color .2s,box-shadow .2s;outline:none;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--navy2);box-shadow:0 0 0 3px rgba(37,78,122,.1);background:var(--white);}
.form-textarea{resize:vertical;min-height:80px;}

/* PROGRESS */
.progress-bar{height:7px;background:var(--cream);border-radius:10px;overflow:hidden;}
.progress-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,var(--navy2),var(--navy3));transition:width .5s ease;}
.pf-ok{background:linear-gradient(90deg,var(--ok),#4caf7d);}
.pf-warn{background:linear-gradient(90deg,var(--warn),#d4a017);}
.pf-err{background:linear-gradient(90deg,var(--err),#e05c5c);}

/* TABLE */
.table{width:100%;border-collapse:collapse;}
.table th{text-align:left;padding:.65rem 1rem;font-size:.7rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;background:var(--cream);border-bottom:2px solid var(--border);}
.table td{padding:.85rem 1rem;font-size:.84rem;border-bottom:1px solid var(--border);color:var(--text2);}
.table tr:last-child td{border-bottom:none;}
.table tr:hover td{background:var(--blue-light);}

/* ─── HIERARCHY NAV ─── */
.hier-nav{background:var(--white);border-bottom:1px solid var(--border);padding:0;position:sticky;top:62px;z-index:50;box-shadow:0 2px 8px rgba(26,58,92,.05);}
.hier-nav-inner{max-width:1140px;margin:0 auto;display:flex;align-items:stretch;}
.hier-step{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;border-right:1px solid var(--border);cursor:pointer;transition:background .15s;position:relative;min-width:0;}
.hier-step:hover{background:var(--blue-light);}
.hier-step.active-step{background:var(--blue-light);}
.hier-step.active-step::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--navy);}
.hier-step .step-icon{width:32px;height:32px;border-radius:8px;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;transition:background .15s;}
.hier-step.active-step .step-icon,.hier-step.done-step .step-icon{background:var(--navy);color:#fff;}
.hier-step.done-step .step-icon{background:var(--ok);}
.hier-step .step-info{min-width:0;}
.hier-step .step-label{font-size:.68rem;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;font-weight:600;}
.hier-step .step-value{font-size:.88rem;color:var(--navy);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;}
.hier-step .step-value.placeholder{color:var(--text3);font-weight:400;font-style:italic;}
.hier-chevron{color:var(--border);font-size:1.1rem;padding:0 .2rem;display:flex;align-items:center;}

/* ─── UNION / CAMPO CARDS ─── */
.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;}
.org-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:1.3rem 1.4rem;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;}
.org-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--navy);}
.org-card:hover{border-color:var(--navy2);box-shadow:0 4px 18px rgba(26,58,92,.12);transform:translateY(-2px);}
.org-card.selected-card{border-color:var(--navy);background:var(--blue-light);box-shadow:0 4px 18px rgba(26,58,92,.15);}
.org-card.selected-card::before{background:var(--gold2);}
.org-card-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--navy);font-weight:700;margin-bottom:.3rem;}
.org-card-sub{font-size:.78rem;color:var(--text3);}
.org-card-count{font-size:.72rem;font-weight:700;color:var(--navy2);margin-top:.5rem;}

/* ─── CHURCH CARD ─── */
.church-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 1px 6px rgba(26,58,92,.06);transition:all .2s;}
.church-card:hover{box-shadow:0 4px 18px rgba(26,58,92,.11);border-color:var(--blue-mid);}
.church-card-hdr{background:linear-gradient(135deg,var(--navy),var(--navy2));padding:1.05rem 1.3rem;border-bottom:3px solid var(--gold2);}
.church-card-hdr h3{font-family:'Cormorant Garamond',serif;font-size:1rem;color:#fff;font-weight:700;margin-bottom:.18rem;}
.church-card-hdr .loc{font-size:.7rem;color:rgba(255,255,255,.52);}
.church-card-body{padding:1rem 1.3rem;}
.church-card-footer{padding:.8rem 1.3rem;background:var(--cream);border-top:1px solid var(--border);display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.3rem;}
.dot-on{background:var(--ok);box-shadow:0 0 5px rgba(46,125,82,.5);}
.dot-off{background:var(--text3);}

/* FILTER BAR */
.filter-bar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem;align-items:center;}
.search-input{flex:1;min-width:200px;padding:.52rem .9rem .52rem 2.3rem;background:var(--white);border:1.5px solid var(--border);border-radius:8px;font-family:'Nunito',sans-serif;font-size:.86rem;outline:none;transition:border-color .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='%237A7268' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.099zm-5.242 1.656a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.7rem center;}
.search-input:focus{border-color:var(--navy2);}
.filter-select{padding:.5rem .88rem;background:var(--white);border:1.5px solid var(--border);border-radius:8px;font-family:'Nunito',sans-serif;font-size:.83rem;color:var(--text2);outline:none;cursor:pointer;}
.filter-select:focus{border-color:var(--navy2);}

/* QR */
.link-box{display:flex;gap:.5rem;align-items:center;background:var(--blue-light);border:1.5px solid var(--blue-mid);border-radius:9px;padding:.62rem 1rem;}
.link-box input{flex:1;background:transparent;border:none;color:var(--navy);font-size:.82rem;font-family:'Nunito',sans-serif;outline:none;font-weight:600;}
.qr-wrap{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--white);border:1px solid var(--border);border-radius:10px;margin-top:.75rem;}
.qr-url{font-size:.67rem;color:var(--text3);margin-top:.5rem;word-break:break-all;text-align:center;font-weight:600;}
.status-line{display:flex;align-items:center;gap:.5rem;font-size:.78rem;margin-bottom:.7rem;}

/* SURVEY */
.survey-shell{min-height:100vh;background:linear-gradient(180deg,var(--blue-light),var(--off) 35%);}
.survey-wrap{max-width:640px;margin:0 auto;padding:2rem 1.5rem;}
.survey-hdr{text-align:center;padding:2.75rem 2rem 2rem;background:linear-gradient(135deg,var(--navy),var(--navy2));position:relative;overflow:hidden;}
.survey-hdr::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold2),#f0c040,var(--gold2));}
.survey-hdr .seal{width:56px;height:56px;margin:0 auto .85rem;background:rgba(255,255,255,.12);border:2px solid rgba(212,160,23,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.45rem;}
.survey-hdr h2{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:#fff;font-weight:700;margin-bottom:.32rem;}
.survey-hdr p{color:rgba(255,255,255,.58);font-size:.82rem;}
.sprog{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text3);margin-bottom:.3rem;font-weight:600;}
.q-lbl{font-size:.96rem;font-weight:600;color:var(--text);margin-bottom:.82rem;line-height:1.55;}
.radio-group{display:flex;flex-direction:column;gap:.42rem;}
.radio-opt{display:flex;align-items:center;gap:.7rem;padding:.62rem 1rem;background:var(--white);border:1.5px solid var(--border);border-radius:9px;cursor:pointer;transition:all .15s;font-size:.87rem;color:var(--text2);}
.radio-opt:hover{border-color:var(--navy2);background:var(--blue-light);color:var(--navy);}
.radio-opt.sel{border-color:var(--navy);background:var(--blue-light);color:var(--navy);font-weight:600;}
.scale-row{display:flex;gap:.38rem;flex-wrap:wrap;align-items:center;}
.scale-btn{width:44px;height:44px;background:var(--white);border:1.5px solid var(--border);border-radius:9px;color:var(--text2);font-size:.92rem;font-weight:700;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;}
.scale-btn:hover{border-color:var(--navy2);color:var(--navy);background:var(--blue-light);}
.scale-btn.sel{background:var(--navy);color:#fff;border-color:var(--navy);}
.scale-leg{font-size:.69rem;color:var(--text3);margin-left:.4rem;line-height:1.4;}

/* DIAG */
.diag-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:1.25rem;box-shadow:0 2px 10px rgba(26,58,92,.07);}
.diag-hdr{padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--navy),var(--navy2));border-bottom:3px solid var(--gold2);}
.diag-hdr h3{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:#fff;font-weight:700;}
.diag-score{font-family:'Cormorant Garamond',serif;font-size:2.1rem;color:var(--gold2);font-weight:700;line-height:1;}
.diag-score span{font-size:.9rem;font-family:'Nunito',sans-serif;color:rgba(255,255,255,.6);}
.diag-body{padding:1.2rem 1.4rem;}
.diag-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;}
.diag-cat{font-size:.8rem;min-width:148px;color:var(--text2);font-weight:600;}
.diag-bar{flex:1;}
.diag-sc{font-size:.8rem;font-weight:700;min-width:32px;text-align:right;}
.diag-footer{padding:.9rem 1.4rem;background:var(--cream);border-top:1px solid var(--border);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(26,58,92,.38);backdrop-filter:blur(4px);z-index:200;display:none;align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal{background:var(--white);border-radius:16px;padding:2rem;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(26,58,92,.22);}
.modal-lg{max-width:700px;}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--navy);font-weight:700;margin-bottom:1.4rem;padding-bottom:.7rem;border-bottom:2px solid var(--gold2);}
.modal-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1.4rem;}

/* TOAST */
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--navy);border-left:4px solid var(--gold2);border-radius:10px;padding:.82rem 1.25rem;font-size:.84rem;color:#fff;z-index:999;transform:translateY(100px);opacity:0;transition:all .3s;max-width:300px;display:flex;align-items:center;gap:.5rem;box-shadow:0 8px 24px rgba(26,58,92,.25);}
.toast.show{transform:translateY(0);opacity:1;}

/* BREADCRUMB */
.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text3);margin-bottom:1rem;flex-wrap:wrap;}
.breadcrumb span{color:var(--navy);font-weight:600;cursor:pointer;}
.breadcrumb span:hover{text-decoration:underline;}
.breadcrumb .sep{color:var(--border2);}

/* EMPTY STATE */
.empty-state{text-align:center;padding:3.5rem 1rem;color:var(--text3);}
.empty-state .ei{font-size:2.5rem;margin-bottom:.6rem;}
.empty-state p{font-size:.88rem;}

.ch-ind{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:rgba(255,255,255,.7);padding:.26rem .72rem;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);border-radius:20px;margin-bottom:.42rem;font-weight:600;}
.ch-dot{width:6px;height:6px;border-radius:50%;background:var(--gold2);}

.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;}
.divider{height:1px;background:var(--border);margin:1rem 0;}

::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--off);}
::-webkit-scrollbar-thumb{background:var(--blue-mid);border-radius:10px;}
@media(max-width:640px){
  .nav-tabs{gap:0;}.nav-tab{padding:.36rem .46rem;font-size:.7rem;}
  .nav-logo .sub2{display:none;}
  .hier-step .step-value{max-width:100px;}
}

/* RESPONSIVE IMPROVEMENTS */
@media(max-width:768px){
  .hero-inner{padding:1.5rem 1rem;}
  .hero h1{font-size:1.5rem;}
  .stats-row{grid-template-columns:repeat(3,1fr);gap:.5rem;}
  .stat-card{padding:.6rem;}
  .stat-num{font-size:1.3rem;}
  .content{padding:0 .8rem 2rem;}
  .org-grid{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .filter-bar{flex-direction:column;}
  .table{font-size:.75rem;}
  .table th,.table td{padding:.4rem .5rem;}
  .diag-card .diag-body{padding:.6rem;}
  .diag-row{flex-wrap:wrap;gap:.3rem;}
  .diag-cat{min-width:100%!important;margin-bottom:.2rem;}
  .nav{flex-wrap:wrap;padding:.4rem .6rem;}
  .nav-right{width:100%;justify-content:flex-end;gap:.3rem;}
  .church-card-footer{flex-wrap:wrap;}
  .modal{width:95%;max-width:none;margin:.5rem;}
}
@media(max-width:480px){
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .nav-tabs{overflow-x:auto;flex-wrap:nowrap;}
  .hero h1{font-size:1.2rem;}
}

@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}
