:root{--ink:#18302b;--muted:#64756f;--brand:#176b52;--paper:#f4f7f4;--line:#dce6e1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,sans-serif}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:#102f28;color:white;padding:28px 20px}.brand{font-size:24px;font-weight:800;margin-bottom:30px}.brand.dark{color:var(--ink)}.side nav{display:grid;grid-gap:8px;gap:8px}.side a{padding:10px 12px;border-radius:8px}.side a:hover{background:#225047}.main{padding:32px;max-width:1400px}.top{display:flex;justify-content:space-between;align-items:center}.grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));grid-gap:16px;gap:16px;margin:24px 0}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 2px 8px #1231}.metric{font-size:30px;font-weight:750}.muted{color:var(--muted)}.progress{height:10px;background:#e6eee9;border-radius:10px;overflow:hidden}.progress span{display:block;background:var(--brand);height:100%;width:76%}.map{height:560px;border:1px solid var(--line)}.map,table{border-radius:14px;overflow:hidden}table{width:100%;border-collapse:collapse;background:white}td,th{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.badge{padding:4px 9px;border-radius:20px;background:#dff2e8;color:#145b45}.login{position:fixed;inset:0;background:#102f28;display:grid;place-items:center;z-index:1000}.login-card{width:min(420px,calc(100vw - 32px));display:grid;grid-gap:14px;gap:14px}.login-card label{display:grid;grid-gap:6px;gap:6px;font-weight:650}.login-card input{padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit}.login-card button{padding:12px;border:0;border-radius:8px;background:var(--brand);color:white;font-weight:750;font:inherit}.error{color:#a22727}@media(max-width:800px){.shell{grid-template-columns:1fr}.side{padding:16px}.side nav{grid-template-columns:repeat(3,1fr)}.main{padding:18px}.grid{grid-template-columns:1fr 1fr}.map{height:65vh}}.top{gap:20px}.search,.top select{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit}.search{width:min(360px,45vw)}@media(max-width:800px){.top{align-items:flex-start;flex-direction:column}.search{width:100%}}.two{grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);grid-gap:20px;gap:20px}.form,.two{display:grid}.form{grid-gap:14px;gap:14px}.form label{display:grid;grid-gap:6px;gap:6px;font-weight:650}.form input,.form select,.form textarea{padding:11px;border:1px solid var(--line);border-radius:8px;background:white}.form textarea{min-height:100px;resize:vertical}.form button{padding:12px;border:0;border-radius:8px;background:var(--brand);color:white;font-weight:750}.history{border-top:1px solid var(--line);padding:14px 0}@media(max-width:800px){.two{grid-template-columns:1fr}}.child{margin:18px 0}.fields{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));grid-gap:12px;gap:12px}.child label{display:grid;grid-gap:5px;gap:5px}.child input,.child select{padding:10px;border:1px solid var(--line);border-radius:8px;background:white}.child .check{display:flex;grid-column:1/-1;flex-direction:row;margin:14px 0}.primary{padding:11px 16px;border:0;border-radius:8px;background:var(--brand);color:white;font-weight:750}.submit{margin-bottom:40px}@media(max-width:900px){.fields{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fields{grid-template-columns:1fr}}.report{text-align:left;display:grid;grid-gap:8px;gap:8px;cursor:pointer;color:var(--ink);font:inherit}.report span{color:var(--muted)}.campaign-list{display:grid;grid-gap:16px;gap:16px;margin-top:20px}.campaign-list .card{display:grid;grid-gap:10px;gap:10px}.address-picker{display:grid;grid-gap:6px;gap:6px;max-height:380px;overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;padding:12px;margin:14px 0 24px}.address-picker label{display:flex;gap:9px;padding:6px;border-bottom:1px solid var(--line)}