:root{--green: #0f4c29;--green-dark: #072212;--gold: #c9a258;--gold-light: #e6c888;--sage: #6e7a73;--ink: #2c3531;--cream: #fcfbf9;--line: #ebe6dc;--up: #1f7a45;--down: #b5432f;--radius: 14px;--shadow: 0 1px 3px rgba(7, 34, 18, .05), 0 8px 24px rgba(7, 34, 18, .06)}*{box-sizing:border-box}html,body{margin:0}body{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#f5f2ec;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Cinzel,Georgia,serif;color:var(--green-dark);margin:0}button{font-family:inherit}.container{max-width:1240px;margin:0 auto;padding:0 24px}.muted{color:var(--sage);font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.state-msg{min-height:100vh;display:grid;place-items:center;color:var(--sage);font-size:15px}.topbar{background:var(--green-dark);border-bottom:1px solid rgba(255,255,255,.08)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:76px}.brand-group{display:flex;align-items:center;gap:16px}.brand-logo{height:46px;width:auto}.brand-tag{color:var(--gold-light);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;border-left:1px solid rgba(255,255,255,.2);padding-left:14px}.topbar-right{display:flex;align-items:center;gap:20px;font-size:13px}.updated{color:#ffffffa6}.logout{color:#fff;font-weight:700;text-decoration:none;border:1px solid rgba(255,255,255,.25);padding:7px 16px;border-radius:999px;transition:all .15s}.logout:hover{border-color:var(--gold);color:var(--gold-light)}.hero{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%);color:#fff;padding:44px 0 40px;position:relative}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.eyebrow{color:var(--gold-light);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700}.hero h1{color:#fff;font-size:clamp(26px,3.4vw,38px);margin:10px 0 16px;font-weight:600}.hero-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.period{margin:0;font-size:16px;color:#ffffffd9}.range-tabs{display:inline-flex;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:4px}.range-tabs button{background:none;border:0;color:#fffc;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}.range-tabs button:hover{color:#fff}.range-tabs button.active{background:var(--gold);color:var(--green-dark)}.section-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.nav-pill{background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.nav-pill:hover{background:#ffffff2e}.nav-pill.active{background:#fff;color:var(--green-dark);border-color:#fff;font-weight:800}.sample-pill{display:inline-block;margin-top:18px;font-size:12px;padding:5px 14px;border-radius:999px;background:#e6c88826;color:var(--gold-light);border:1px dashed rgba(230,200,136,.5)}.main{margin-top:24px;position:relative;padding-bottom:60px}.dashboard-section{margin-bottom:48px}.dashboard-section:first-child .section-header{margin-top:8px}.section-header{display:flex;align-items:center;gap:16px;margin:38px 0 18px}.section-num{font-family:Cinzel,serif;font-size:16px;font-weight:700;color:var(--gold);background:#fff;border:1px solid var(--gold);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow)}.section-title-clean{font-size:21px;font-weight:700;color:var(--green-dark)}.section-subtitle{margin:2px 0 0;color:var(--sage);font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.kpi-card{background:#fff;border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow);border-top:3px solid var(--gold)}.kpi-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--sage);font-weight:700}.kpi-value{font-size:30px;font-weight:900;color:var(--green-dark);margin:8px 0 10px;letter-spacing:-.01em}.kpi-foot{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.kpi-change{font-weight:700;padding:2px 8px;border-radius:999px}.kpi-change.up{color:var(--up);background:#1f7a451a}.kpi-change.down{color:var(--down);background:#b5432f1a}.kpi-change.neutral{color:var(--sage);background:#f1eee8}.kpi-hint{color:var(--sage);font-size:11.5px}.highlight-card{border-top-color:var(--green)}.text-green{color:var(--green)!important;font-size:26px!important}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.panel{background:#fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);min-width:0}.panel-full{margin-top:18px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}.panel-head h3{font-size:15px;font-weight:600}.cemetery-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.cemetery-row{display:flex;flex-direction:column;gap:4px}.cemetery-info{display:flex;justify-content:space-between;font-size:13.5px}.cemetery-name{font-weight:700;color:var(--green-dark)}.cemetery-stat{color:var(--sage);font-size:12.5px}.table-responsive{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--sage);padding:10px 8px;border-bottom:1px solid var(--line)}.table td{padding:11px 8px;border-bottom:1px solid #f3f0ea}.table tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.font-bold{font-weight:700}.font-medium{font-weight:600}.highlight-conversion{color:var(--up);font-weight:700}.pos-badge{background:#eef4f0;color:var(--green);font-weight:700;padding:2px 8px;border-radius:6px;font-size:12px}.page-cell{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--green)}.bar-track{background:#f1eee8;height:8px;border-radius:99px;overflow:hidden}.bar-fill{background:linear-gradient(90deg,var(--green),#4f7d63);height:100%;border-radius:99px}.badge-local{background:#c9a2582e;color:#876214;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.gbp-desc{font-size:13px;color:var(--sage);margin:0 0 16px}.gbp-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gbp-tile{background:#fbfaf8;border:1px solid var(--line);border-radius:10px;padding:14px}.gbp-label{display:block;font-size:11px;text-transform:uppercase;color:var(--sage);font-weight:700}.gbp-value{display:block;font-size:22px;font-weight:900;color:var(--green-dark);margin:4px 0}.gbp-sub{display:block;font-size:11.5px;color:var(--sage)}.engagement-extras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.mini-panel{display:flex;align-items:flex-start;gap:14px;padding:18px}.panel-icon{font-size:24px;line-height:1}.mini-panel h4{font-size:14px;font-weight:700;margin-bottom:4px}.extra-stat{font-size:15px;font-weight:800;color:var(--green);margin:0 0 2px}.extra-sub{font-size:12px;color:var(--sage);margin:0}.geo-list{display:flex;flex-direction:column;gap:12px}.geo-row{display:flex;flex-direction:column;gap:4px}.geo-header{display:flex;justify-content:space-between;font-size:13.5px}.geo-title{font-weight:600;color:var(--ink)}.geo-val{color:var(--sage);font-size:12.5px}.badge-pass{background:#1f7a451f;color:var(--up);font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase}.health-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.health-checklist li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.4}.check-icon{background:var(--up);color:#fff;width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:900;flex:none;margin-top:2px}.vitals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.vital-item{background:#fbfaf8;border:1px solid var(--line);border-radius:10px;padding:14px}.vital-name{display:block;font-size:11.5px;color:var(--sage);font-weight:700;margin-bottom:6px}.vital-status{font-size:16px;font-weight:800}.vital-status.good{color:var(--up)}.pie-wrap{display:flex;align-items:center;gap:8px}.legend-list{list-style:none;margin:0;padding:0;flex:1;font-size:13.5px}.legend-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #f3f0ea}.legend-list li:last-child{border-bottom:0}.legend-list strong{margin-left:auto;color:var(--green-dark)}.dot{width:10px;height:10px;border-radius:50%;flex:none}.footer{background:var(--green-dark);color:#ffffffb3;font-size:13px;margin-top:40px}.footer-inner{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;flex-wrap:wrap;gap:12px}.footer-left{display:flex;align-items:center;gap:10px}.footer-divider{opacity:.4}.footer strong{color:var(--gold-light)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,var(--green) 0%,var(--green-dark) 70%)}.login-card{background:var(--cream);width:100%;max-width:400px;padding:0 36px 28px;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px #00000059;text-align:center}.login-brand{background:var(--green-dark);margin:0 -36px 28px;padding:28px 36px 24px;border-bottom:3px solid var(--gold)}.login-logo{max-width:240px;width:100%;display:block;margin:0 auto}.login-card h1{font-size:22px;margin-bottom:8px}.login-card p{margin:0 0 22px}.login-card input{width:100%;padding:13px 14px;font-size:15px;border:1px solid #d9d3c7;border-radius:10px;background:#fff;outline:none;font-family:inherit}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a25833}.login-card button{width:100%;margin-top:14px;padding:13px;font-size:15px;font-weight:700;border:0;border-radius:10px;background:var(--green);color:#fff;cursor:pointer;transition:background .15s}.login-card button:hover{background:var(--green-dark)}.login-card button:disabled{opacity:.7;cursor:default}.login-error{margin-top:12px;color:var(--down);font-size:13px}.login-footer{margin-top:26px;font-size:12px;color:var(--sage)}.login-footer strong{color:var(--green)}@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.engagement-extras-grid{grid-template-columns:1fr}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.updated{display:none}.brand-logo{height:36px}.brand-tag{display:none}.range-tabs{width:100%;overflow-x:auto}.range-tabs button{padding:8px 12px;white-space:nowrap}.pie-wrap{flex-direction:column}.pie-wrap>div{width:100%!important}}
