:root{--ink:#07120d;--muted:#65706a;--line:#dce4df;--paper:#f4f7f5;--green:#0f7a4f;--lime:#cfff45;--white:#fff;--danger:#b42318;--shadow:0 24px 70px rgba(7,18,13,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Anuphan,system-ui,sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.eyebrow{margin:0 0 8px;font:700 12px/1.2 "Space Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}.report-site-header{max-width:1180px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}.report-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 20px "Space Grotesk",sans-serif}.report-brand img{width:34px;height:34px}.report-site-header nav{display:flex;gap:8px}.report-site-header nav a{padding:10px 14px;border-radius:999px;text-decoration:none;font-weight:600;color:#526059}.report-site-header nav a:hover,.report-site-header nav .active{background:#e3ece7;color:var(--ink)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 21px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer}.primary-button{background:var(--ink);color:#fff}.secondary-button{border-color:#bdc9c2;background:transparent}.report-hub{max-width:1180px;margin:32px auto 80px;padding:70px;min-height:590px;border-radius:38px;background:radial-gradient(circle at 88% 20%,rgba(207,255,69,.25),transparent 26%),linear-gradient(135deg,#06150e,#0b4d34);color:#fff;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end;overflow:hidden}.report-hub h1{font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:-.055em;margin:18px 0 28px}.report-hub h1 span{color:var(--lime)}.report-hub section>p:not(.eyebrow){max-width:620px;font-size:19px;color:#c7d5ce}.report-hub section>div{display:flex;gap:12px;margin-top:34px}.report-hub .primary-button{background:var(--lime);color:var(--ink)}.report-hub .secondary-button{color:#fff;border-color:#60776b}.report-hub aside{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:28px;border-radius:24px;backdrop-filter:blur(12px)}.report-hub aside strong{font-size:24px}.report-hub ol{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:18px}.report-hub li{display:flex;align-items:center;gap:12px;color:#d7e1dc}.report-hub li span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--ink);font-weight:800}.report-public{max-width:1080px;margin:24px auto 80px;padding:0 20px}.campaign-hero{position:relative;overflow:hidden;min-height:320px;padding:54px;border-radius:32px;background:linear-gradient(135deg,var(--campaign),#07120d);color:#fff;display:flex;align-items:flex-end;box-shadow:var(--shadow)}.campaign-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.26}.campaign-hero>div{position:relative;max-width:760px}.campaign-hero h1{font-size:clamp(38px,6vw,68px);line-height:1.06;letter-spacing:-.04em;margin:12px 0 20px}.campaign-hero>div>p:not(.eyebrow){font-size:18px;color:#e0ebe5}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero-meta span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.11);font-size:13px}.setup-notice,.emergency-note{margin-top:18px;padding:16px 18px;border-radius:16px}.setup-notice{background:#fff3cd;border:1px solid #eed88d}.report-form-card{margin-top:22px;padding:44px;border-radius:30px;background:#fff;box-shadow:var(--shadow)}.form-intro{display:flex;gap:20px;border-bottom:1px solid var(--line);padding-bottom:30px}.form-intro>span{display:grid;place-items:center;min-width:54px;height:54px;border-radius:18px;background:var(--ink);color:var(--lime);font:700 18px "Space Grotesk",sans-serif}.form-intro h2{margin:0;font-size:28px}.form-intro p:last-child{margin:5px 0 0;color:var(--muted)}.emergency-note{display:flex;gap:12px;background:#fff1f0;color:#8b1a14}.emergency-note strong{white-space:nowrap}.report-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:34px 0}.report-field{display:flex;flex-direction:column;gap:9px}.report-field-wide{grid-column:1/-1}.report-field>span,.report-field legend{font-weight:700}.report-field em,.report-field span small{margin-left:8px;font-style:normal;font-size:11px;color:var(--danger);background:#fee4e2;padding:3px 7px;border-radius:999px}.report-field span small{color:var(--muted);background:#edf1ef}.field-help,.char-count{margin:0;color:var(--muted);font-size:13px}.char-count{text-align:right}.report-field input,.report-field select,.report-field textarea,.track-page input,.admin-content input,.admin-content select,.admin-content textarea,.admin-login-card input{width:100%;border:1px solid #cdd7d1;border-radius:14px;background:#fbfcfb;padding:14px 15px;outline:none;color:var(--ink)}.report-field textarea{min-height:150px;resize:vertical}.report-field input:focus,.report-field select:focus,.report-field textarea:focus,.track-page input:focus,.admin-content input:focus,.admin-content select:focus,.admin-content textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(15,122,79,.12)}fieldset.report-field{border:0;padding:0;margin:0}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice-row label{cursor:pointer}.choice-row input{position:absolute;opacity:0;width:1px}.choice-row span{display:block;border:1px solid var(--line);padding:11px 16px;border-radius:999px}.choice-row input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.upload-zone{border:1.5px dashed #aebcb4;border-radius:18px;padding:30px;text-align:center;cursor:pointer;background:#f8faf9}.upload-zone input{position:absolute;opacity:0;pointer-events:none}.upload-zone strong,.upload-zone small{display:block}.upload-zone strong{font-size:18px}.image-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.image-preview figure{margin:10px 0 0;position:relative}.image-preview img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:13px}.image-preview button{position:absolute;right:6px;top:6px;border:0;border-radius:50%;background:#fff;width:30px;height:30px}.location-field{align-items:flex-start}.location-button{border:0;background:#e7f3ed;color:#07583a;border-radius:999px;padding:11px 16px;font-weight:700}.location-field output{font-size:13px;color:var(--muted)}.consent-panel{display:grid;gap:12px;background:#f0f4f2;padding:22px;border-radius:18px}.consent-panel label{display:flex;gap:12px;align-items:flex-start}.consent-panel input{margin-top:5px}.submit-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px}.submit-row p{max-width:560px;color:var(--muted)}.submit-row button,.track-page button,.admin-login-card button,.admin-content button{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:14px 22px;font-weight:700;cursor:pointer}.submit-row button span{color:var(--lime);font-size:20px}.form-message{color:var(--danger);font-weight:600}.report-footer{max-width:1180px;margin:0 auto;padding:26px 24px 40px;display:flex;gap:22px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}.report-footer span{margin-right:auto}.track-page,.success-page,.report-message-page{max-width:860px;margin:64px auto 120px;padding:54px;border-radius:30px;background:#fff;box-shadow:var(--shadow)}.track-page h1,.success-page h1,.report-message-page h1{font-size:clamp(36px,6vw,62px);letter-spacing:-.045em;line-height:1.05;margin:10px 0 18px}.track-page form{display:flex;gap:10px;margin-top:30px}.track-result{margin-top:28px;border-radius:20px;padding:24px;background:#07120d;color:#fff}.track-result dl{display:grid;grid-template-columns:1fr 1fr;gap:16px}.track-result dt{font-size:12px;color:#9fb3a8}.track-result dd{margin:4px 0;font-weight:700}.success-page{text-align:center}.success-icon{margin:auto;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--lime);font-size:40px;font-weight:800}.report-id{display:grid;gap:8px;margin:28px auto;padding:22px;max-width:500px;border:1px solid var(--line);border-radius:18px}.report-id strong{font:700 clamp(20px,5vw,30px) "Space Grotesk",sans-serif}.report-id button{justify-self:center;border:0;background:transparent;color:var(--green);font-weight:700}.success-actions{display:flex;justify-content:center;gap:10px}.status-pill{display:inline-flex;background:#e5f4ec;color:#087149;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px}
/* Admin */.report-admin-body{background:#eef2ef}.report-admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.report-admin-shell>aside{position:sticky;top:0;height:100vh;padding:26px 18px;background:#07120d;color:#fff;display:flex;flex-direction:column}.report-admin-shell>aside .report-brand{padding:0 10px;margin-bottom:34px}.report-admin-shell>aside nav{display:grid;gap:6px}.report-admin-shell>aside nav a{padding:13px 14px;border-radius:12px;text-decoration:none;color:#aebbb4}.report-admin-shell>aside nav a:hover,.report-admin-shell>aside nav a.active{background:#173126;color:#fff}.report-admin-shell>aside>button{margin-top:auto;border:1px solid #34483e;background:transparent;color:#fff;border-radius:12px;padding:12px}.report-admin-shell>main{min-width:0;padding:0 32px 64px}.report-admin-shell>main>header{min-height:100px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #d6ded9}.report-admin-shell>main>header h1{margin:0;font-size:28px}.report-admin-shell>main>header .primary-button{margin-left:auto}.admin-menu{display:none}.admin-login-card{max-width:480px;margin:90px auto;padding:38px;background:#fff;border-radius:24px;box-shadow:var(--shadow)}.admin-login-card h2{font-size:32px}.admin-login-card label{display:grid;gap:8px;font-weight:700}.admin-login-card button{margin-top:16px;width:100%}.admin-content{max-width:1450px;margin:28px auto}.admin-loading,.empty-state,.setup-card{padding:32px;border-radius:20px;background:#fff}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-card,.panel{background:#fff;border:1px solid #e0e6e2;border-radius:19px;padding:22px}.metric-card span{color:var(--muted);font-size:13px}.metric-card strong{display:block;font:700 34px "Space Grotesk",sans-serif;margin-top:8px}.panel{margin-top:18px}.panel-head,.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.panel h2{margin:0}.toolbar{flex-wrap:wrap}.toolbar>*{min-width:145px}.toolbar .search{flex:1}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #e6ebe8;vertical-align:top}.data-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.data-table a{font-weight:700;color:var(--green)}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form label{display:grid;gap:7px;font-weight:600}.admin-form .wide{grid-column:1/-1}.admin-form textarea{min-height:110px}.admin-form .form-actions{grid-column:1/-1;display:flex;gap:10px}.campaign-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.campaign-card{padding:22px;border-radius:20px;background:#fff;border:1px solid #dae3dd}.campaign-card h3{margin:12px 0 4px}.campaign-card footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.campaign-card footer a,.campaign-card footer button{font-size:12px;padding:9px 12px}.field-editor{display:grid;gap:10px}.field-row{display:grid;grid-template-columns:1fr 1.5fr 2fr auto auto;gap:8px;align-items:center;padding:10px;background:#f5f7f6;border-radius:12px}.detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-list div{padding-bottom:12px;border-bottom:1px solid #e5e9e6}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{margin:4px 0;white-space:pre-wrap}.report-images{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-images img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.notice{padding:14px 16px;border-radius:12px;background:#fff4cc;color:#6c5300;margin-bottom:16px}.error{color:var(--danger)}
@media(max-width:900px){.report-hub{margin:14px;grid-template-columns:1fr;padding:40px;min-height:auto}.report-hub aside{margin-top:20px}.report-fields,.detail-grid{grid-template-columns:1fr}.report-field-wide{grid-column:auto}.report-admin-shell{grid-template-columns:1fr}.report-admin-shell>aside{position:fixed;z-index:10;width:260px;transform:translateX(-110%);transition:.25s}.report-admin-shell.menu-open>aside{transform:none}.report-admin-shell>main{padding:0 16px 50px}.admin-menu{display:block;border:0;background:transparent;font-size:24px}.admin-grid{grid-template-columns:repeat(2,1fr)}.campaign-list{grid-template-columns:1fr 1fr}.data-table{display:block;overflow-x:auto}.field-row{grid-template-columns:1fr 1fr}.field-row input:nth-child(3){grid-column:1/-1}}
@media(max-width:620px){.report-site-header{padding:14px 16px}.report-site-header nav a{padding:8px;font-size:12px}.report-site-header nav a:last-child{display:none}.report-hub{padding:32px 24px;border-radius:24px}.report-hub h1{font-size:49px}.report-hub section>div,.success-actions{flex-direction:column}.campaign-hero{padding:34px 24px;min-height:280px;border-radius:24px}.campaign-hero h1{font-size:40px}.report-public{padding:0 12px}.report-form-card{padding:24px 18px;border-radius:22px}.form-intro{gap:12px}.form-intro>span{min-width:42px;height:42px}.form-intro h2{font-size:22px}.emergency-note,.submit-row,.track-page form{flex-direction:column;align-items:stretch}.choice-row{display:grid}.image-preview{grid-template-columns:1fr 1fr}.track-page,.success-page,.report-message-page{margin:24px 12px 70px;padding:30px 20px}.report-footer{flex-wrap:wrap}.report-footer span{width:100%}.admin-grid,.campaign-list,.admin-form,.detail-list{grid-template-columns:1fr}.admin-form .wide,.admin-form .form-actions{grid-column:auto}.report-admin-shell>main>header .primary-button{display:none}.metric-card{padding:16px}.panel{padding:16px}.report-images{grid-template-columns:1fr 1fr}}
.campaign-hero .eyebrow{color:var(--lime)}.honeypot{display:none!important}.upload-zone{position:relative}.upload-zone input{width:1px!important;height:1px;inset:0 auto auto 0}.field-row{grid-template-columns:1fr 1fr 1.5fr 1.5fr 86px auto auto}

/* Minimal editorial refinement */
.report-body:not(.report-admin-body){background:
  radial-gradient(circle at 8% 0,rgba(15,122,79,.055),transparent 28rem),
  linear-gradient(180deg,#fbfaf7 0,#f5f5f1 100%);color:#101914}
.report-body:not(.report-admin-body) .report-site-header{max-width:1120px;margin:14px auto 0;padding:10px 12px 10px 16px;border:1px solid rgba(17,36,27,.09);border-radius:22px;background:rgba(255,255,252,.78);box-shadow:0 10px 34px rgba(13,31,22,.045);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:relative;z-index:5}
.report-body:not(.report-admin-body) .report-brand{font-weight:650;letter-spacing:-.025em}
.report-body:not(.report-admin-body) .report-site-header nav a{color:#647069;font-size:14px;transition:color .2s ease,background-color .2s ease}
.report-body:not(.report-admin-body) .report-site-header nav a:hover,.report-body:not(.report-admin-body) .report-site-header nav .active{background:#eef1ed;color:#11241b}
.report-public{max-width:1040px;margin-top:38px}
.campaign-hero{min-height:350px;padding:64px 62px;border:1px solid rgba(255,255,255,.13);border-radius:34px;background:
  radial-gradient(circle at 88% 18%,rgba(207,255,69,.14),transparent 24rem),
  linear-gradient(138deg,color-mix(in srgb,var(--campaign) 65%,#07120d),#07120d 78%);box-shadow:0 28px 80px rgba(7,18,13,.11)}
.campaign-hero::after{content:"";position:absolute;right:-70px;bottom:-130px;width:360px;height:360px;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 58px rgba(255,255,255,.025),0 0 0 116px rgba(255,255,255,.018);pointer-events:none}
.campaign-cover{opacity:.18;filter:saturate(.72) contrast(.92)}
.campaign-hero>div{max-width:720px;z-index:1}
.campaign-hero .eyebrow{color:#d9f79a;letter-spacing:.19em}
.campaign-hero h1{max-width:820px;margin:15px 0 18px;font-size:clamp(42px,6vw,66px);font-weight:700;letter-spacing:-.052em;line-height:1.02;text-wrap:balance}
.campaign-hero>div>p:not(.eyebrow){max-width:660px;margin:0;color:rgba(244,249,246,.76);font-size:17px;line-height:1.75}
.hero-meta{gap:8px;margin-top:30px}
.hero-meta span{display:inline-flex;align-items:center;gap:9px;min-height:36px;padding:7px 13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.065);color:rgba(255,255,255,.82);font-size:12px;font-weight:600;letter-spacing:.005em;box-shadow:inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.hero-meta .active-participation{border-color:rgba(217,247,154,.22);background:rgba(217,247,154,.09);color:#f6ffe5}
.active-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d7ff63;box-shadow:0 0 0 0 rgba(215,255,99,.42);animation:report-active-pulse 2.8s ease-in-out infinite}
@keyframes report-active-pulse{0%,100%{opacity:.58;transform:scale(.82);box-shadow:0 0 0 0 rgba(215,255,99,0)}50%{opacity:1;transform:scale(1);box-shadow:0 0 0 7px rgba(215,255,99,.12)}}
.report-form-card{margin-top:18px;padding:50px;border:1px solid rgba(17,36,27,.09);border-radius:30px;background:rgba(255,255,253,.92);box-shadow:0 22px 70px rgba(13,31,22,.065)}
.form-intro{gap:22px;padding-bottom:32px;border-color:#e8e9e4}
.form-intro>span{min-width:50px;height:50px;border-radius:15px;background:#10251b;color:#d7ff63;font-size:15px;box-shadow:0 10px 26px rgba(16,37,27,.13)}
.form-intro h2{font-size:clamp(25px,3vw,31px);letter-spacing:-.035em;line-height:1.25}
.form-intro p:last-child{color:#747d77}
.emergency-note{border:1px solid #f1d9d4;background:#fff8f5;color:#7c2c22}
.report-fields{gap:24px 20px;margin:38px 0}
.report-field>span,.report-field legend{font-size:14px;color:#1d2923}
.report-field input,.report-field select,.report-field textarea{border-color:#dfe3df;border-radius:13px;background:#fbfbf8;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.report-field input:hover,.report-field select:hover,.report-field textarea:hover{border-color:#bbc6bf;background:#fff}
.report-field input:focus,.report-field select:focus,.report-field textarea:focus{border-color:#607f6d;background:#fff;box-shadow:0 0 0 4px rgba(62,105,79,.1)}
.choice-row span{border-color:#dfe3df;background:#fbfbf8;color:#526059;transition:all .2s ease}
.choice-row input:checked+span{border-color:#10251b;background:#10251b;color:#fff;box-shadow:0 8px 20px rgba(16,37,27,.12)}
.upload-zone{border-color:#c8d0cb;background:#fafaf7;transition:border-color .2s ease,background-color .2s ease}
.upload-zone:hover{border-color:#7e9487;background:#f5f7f3}
.location-button{background:#edf3ee;color:#214c36}
.consent-panel{gap:14px;border:1px solid #e6e9e5;border-radius:16px;background:#f7f8f5}
.submit-row{margin-top:30px;padding-top:27px;border-top:1px solid #eaebe7}
.submit-row button{min-width:142px;background:#10251b;box-shadow:0 12px 28px rgba(16,37,27,.15);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.submit-row button:hover{background:#17382a;transform:translateY(-1px);box-shadow:0 15px 32px rgba(16,37,27,.2)}
.report-footer{max-width:1040px;border-color:#e0e3df;color:#747d77}
@media(max-width:620px){
  .report-body:not(.report-admin-body) .report-site-header{margin:8px 10px 0;padding:8px 8px 8px 12px;border-radius:18px}
  .report-body:not(.report-admin-body) .report-brand{font-size:17px}
  .report-public{margin-top:18px;padding:0 10px}
  .campaign-hero{min-height:330px;padding:38px 24px;border-radius:25px}
  .campaign-hero h1{font-size:clamp(36px,11vw,48px)}
  .campaign-hero>div>p:not(.eyebrow){font-size:15px;line-height:1.7}
  .hero-meta{gap:7px;margin-top:25px}
  .hero-meta span{min-height:33px;padding:6px 10px;font-size:11px}
  .report-form-card{padding:28px 20px;border-radius:24px}
  .form-intro{padding-bottom:25px}
  .report-fields{margin:30px 0}
  .submit-row{padding-top:23px}
}
@media(prefers-reduced-motion:reduce){.active-dot{animation:none;opacity:1}.submit-row button{transition:none}}

/* 2026 Civic Robot interface */
.report-body:not(.report-admin-body){--bot-navy:#07111f;--bot-ink:#0d1a2a;--bot-blue:#1677ff;--bot-cyan:#36dcff;--bot-mint:#69ffd2;--bot-line:#d9e7f2;font-family:"Noto Sans Thai",system-ui,sans-serif;background:
  linear-gradient(rgba(23,102,164,.055) 1px,transparent 1px),
  linear-gradient(90deg,rgba(23,102,164,.055) 1px,transparent 1px),
  radial-gradient(circle at 92% 3%,rgba(54,220,255,.17),transparent 25rem),
  radial-gradient(circle at 5% 28%,rgba(22,119,255,.1),transparent 28rem),
  #f3f8fc;background-size:44px 44px,44px 44px,auto,auto,auto;color:var(--bot-ink)}
.report-body:not(.report-admin-body) .report-site-header{max-width:1080px;margin:16px auto 0;padding:9px 10px 9px 14px;border:1px solid rgba(142,183,211,.38);border-radius:18px;background:rgba(249,253,255,.82);box-shadow:0 12px 40px rgba(23,69,101,.1),inset 0 1px #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.report-body:not(.report-admin-body) .report-brand{gap:11px;color:#0b1e31;font-family:"Space Grotesk","Noto Sans Thai",sans-serif;font-size:18px;font-weight:700;letter-spacing:-.025em}
.report-body:not(.report-admin-body) .report-brand img{width:36px;height:36px;padding:7px;border:1px solid #c5e1ed;border-radius:12px;background:linear-gradient(145deg,#effcff,#dff5fb);box-shadow:0 6px 16px rgba(18,121,151,.12)}
.report-body:not(.report-admin-body) .report-site-header nav a{padding:9px 14px;border-radius:11px;color:#607489;font-size:13px;font-weight:650}
.report-body:not(.report-admin-body) .report-site-header nav a:hover,.report-body:not(.report-admin-body) .report-site-header nav .active{background:#e7f5fb;color:#075b7b;box-shadow:inset 0 0 0 1px #c8e7f2}
.report-public{max-width:1040px;margin-top:28px}
.campaign-hero{isolation:isolate;min-height:410px;padding:62px 47% 58px 56px;align-items:center;border:1px solid rgba(117,224,255,.34);border-radius:30px;background:
  linear-gradient(90deg,rgba(7,17,31,.98) 0,rgba(8,29,51,.96) 52%,rgba(6,35,56,.88) 100%);box-shadow:0 28px 80px rgba(8,35,62,.22),inset 0 1px rgba(255,255,255,.08)}
.campaign-hero:before{content:"";position:absolute;z-index:-1;right:8%;top:50%;width:260px;height:260px;border:1px solid rgba(91,225,255,.36);border-radius:38% 42% 48% 35%;background:
  radial-gradient(circle at 34% 42%,#eaffff 0 5px,#37e5ff 6px 12px,transparent 13px),
  radial-gradient(circle at 66% 42%,#eaffff 0 5px,#37e5ff 6px 12px,transparent 13px),
  linear-gradient(90deg,transparent 38%,rgba(105,255,210,.64) 39% 61%,transparent 62%) 50% 68%/42% 4px no-repeat,
  linear-gradient(145deg,rgba(25,118,179,.46),rgba(8,32,56,.76));box-shadow:0 0 0 18px rgba(54,220,255,.035),0 0 0 38px rgba(54,220,255,.025),0 30px 65px rgba(2,11,24,.46),inset 0 0 55px rgba(54,220,255,.13);transform:translateY(-50%) rotate(-3deg);animation:bot-float 6s ease-in-out infinite}
.campaign-hero:after{content:"AI • CIVIC LINK";right:calc(8% + 29px);bottom:42px;width:202px;height:auto;padding:9px 0;border:1px solid rgba(105,255,210,.22);border-radius:999px;background:rgba(6,25,43,.7);box-shadow:none;color:#9affdf;font:700 10px/1 "Space Grotesk",sans-serif;letter-spacing:.18em;text-align:center;backdrop-filter:blur(8px)}
@keyframes bot-float{0%,100%{transform:translateY(-50%) rotate(-3deg)}50%{transform:translateY(calc(-50% - 9px)) rotate(1deg)}}
.campaign-hero .campaign-cover{z-index:-2;opacity:.1;filter:saturate(.6) contrast(1.1)}
.campaign-hero>div{max-width:560px}
.campaign-hero .eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:10px;color:#67eaff;font-size:10px;letter-spacing:.2em}
.campaign-hero .eyebrow:before{content:"";width:24px;height:1px;background:#69ffd2;box-shadow:0 0 10px #69ffd2}
.campaign-hero h1{margin:14px 0 18px;color:#f7fbff;font-size:clamp(39px,5.8vw,61px);font-weight:750;line-height:1.09;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 7px 34px rgba(54,220,255,.1)}
.campaign-hero>div>p:not(.eyebrow){max-width:555px;color:#b8cbda;font-size:15px;line-height:1.8}
.hero-meta{margin-top:27px}
.hero-meta .active-participation{min-height:38px;padding:7px 14px;border:1px solid rgba(105,255,210,.28);border-radius:12px;background:rgba(20,73,92,.52);color:#e6fff8;font-size:12px;box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 25px rgba(0,0,0,.12)}
.active-dot{width:7px;height:7px;background:#69ffd2;box-shadow:0 0 13px #69ffd2;animation:bot-status 2.3s ease-in-out infinite}
@keyframes bot-status{0%,100%{opacity:.55;box-shadow:0 0 0 0 rgba(105,255,210,0)}50%{opacity:1;box-shadow:0 0 0 6px rgba(105,255,210,.12),0 0 18px #69ffd2}}
.report-form-card{position:relative;margin-top:20px;padding:50px;border:1px solid rgba(158,190,210,.42);border-radius:27px;background:rgba(255,255,255,.9);box-shadow:0 25px 70px rgba(21,57,82,.11),inset 0 1px #fff;backdrop-filter:blur(18px)}
.report-form-card:before{content:"";position:absolute;left:32px;right:32px;top:0;height:2px;background:linear-gradient(90deg,transparent,#36dcff 36%,#69ffd2 64%,transparent);opacity:.76}
.form-intro{gap:20px;padding-bottom:30px;border-color:#dce9f1}
.form-intro>span{min-width:52px;height:52px;border:1px solid #143754;border-radius:14px;background:linear-gradient(145deg,#0b1b2d,#133d5d);color:#69ffd2;font-size:14px;box-shadow:0 10px 25px rgba(10,45,72,.2),inset 0 0 18px rgba(54,220,255,.08)}
.form-intro h2{color:#0a2032;font-size:clamp(24px,3vw,30px);font-weight:750;letter-spacing:-.025em}
.form-intro p:last-child{color:#687d8d;font-size:14px}
.report-form-card .eyebrow{color:#0a7898;font-size:10px;letter-spacing:.17em}
.emergency-note{border:1px solid #f2c9c2;border-left:4px solid #f06a57;border-radius:13px;background:#fff7f5;color:#803227}
.report-fields{gap:25px 20px;margin:37px 0}
.report-field>span,.report-field legend{color:#173247;font-size:14px;font-weight:700}
.report-field em,.report-field span small{border-radius:7px}
.field-help,.char-count{color:#718596;font-size:12px}
.report-field input,.report-field select,.report-field textarea{min-height:50px;border:1px solid #cfdee8;border-radius:13px;background:#f8fbfd;color:#10283b;font-size:14px;box-shadow:inset 0 1px 2px rgba(15,43,65,.025)}
.report-field textarea{min-height:155px}
.report-field input:hover,.report-field select:hover,.report-field textarea:hover{border-color:#9ac6d9;background:#fff}
.report-field input:focus,.report-field select:focus,.report-field textarea:focus{border-color:#22a9d1;background:#fff;box-shadow:0 0 0 4px rgba(54,220,255,.13),0 7px 20px rgba(32,118,150,.07)}
.choice-row{gap:8px}.choice-row span{border-color:#d3e2eb;border-radius:11px;background:#f7fafc;color:#506779;font-size:13px}
.choice-row input:checked+span{border-color:#147ea7;background:linear-gradient(135deg,#0d506f,#147f9f);color:#fff;box-shadow:0 8px 20px rgba(13,94,126,.15)}
.upload-zone{border-color:#9ecddd;border-radius:16px;background:linear-gradient(135deg,#f5fbfd,#eef8fb)}
.upload-zone:hover{border-color:#39accd;background:#f0fbff}
.location-button{border:1px solid #bee2ec;border-radius:11px;background:#e9f8fc;color:#0b6a88}
.consent-panel{gap:15px;padding:23px;border:1px solid #d7e7ee;border-radius:16px;background:linear-gradient(135deg,#f5fafc,#edf7fa);color:#40596a;font-size:13px}
.consent-panel input{accent-color:#137fa3}
.submit-row{margin-top:31px;padding-top:27px;border-color:#dce9ef}
.submit-row p{color:#6b8090;font-size:13px}
.submit-row button{min-width:156px;min-height:51px;border:1px solid #156581;border-radius:13px;background:linear-gradient(135deg,#0a304b,#0b6c87);box-shadow:0 13px 28px rgba(8,69,96,.21),inset 0 1px rgba(255,255,255,.16);font-size:14px;letter-spacing:.01em}
.submit-row button:hover{background:linear-gradient(135deg,#0b3a57,#0785a5);box-shadow:0 17px 35px rgba(8,91,119,.25);transform:translateY(-2px)}
.submit-row button span{color:#69ffd2}
.report-footer{max-width:1040px;border-color:#d6e4ec;color:#687f8f}
@media(max-width:800px){.campaign-hero{min-height:455px;padding:45px 42% 44px 35px}.campaign-hero:before{right:2%;width:210px;height:210px}.campaign-hero:after{right:calc(2% + 20px);bottom:30px;width:170px}}
@media(max-width:620px){
  .report-body:not(.report-admin-body){background-size:30px 30px,30px 30px,auto,auto,auto}
  .report-body:not(.report-admin-body) .report-site-header{margin:8px 9px 0;padding:7px 7px 7px 10px;border-radius:15px}
  .report-body:not(.report-admin-body) .report-brand img{width:32px;height:32px;border-radius:10px}
  .report-body:not(.report-admin-body) .report-site-header nav a{padding:8px 9px;font-size:11px}
  .report-public{margin-top:14px;padding:0 9px}
  .campaign-hero{min-height:500px;padding:36px 22px 224px;border-radius:23px;align-items:flex-start}
  .campaign-hero:before{right:50%;top:auto;bottom:42px;width:162px;height:162px;transform:translateX(50%);animation:bot-float-mobile 6s ease-in-out infinite}
  .campaign-hero:after{right:50%;bottom:17px;width:166px;transform:translateX(50%);font-size:8px}
  @keyframes bot-float-mobile{0%,100%{transform:translateX(50%) translateY(0) rotate(-3deg)}50%{transform:translateX(50%) translateY(-7px) rotate(1deg)}}
  .campaign-hero h1{font-size:clamp(34px,10.4vw,44px);line-height:1.13}
  .campaign-hero>div>p:not(.eyebrow){font-size:14px;line-height:1.72}
  .report-form-card{padding:27px 19px;border-radius:22px}
  .report-form-card:before{left:20px;right:20px}
  .form-intro{gap:12px}.form-intro>span{min-width:42px;height:42px;border-radius:12px}
  .form-intro h2{font-size:21px;line-height:1.35}
  .report-fields{margin:30px 0}
  .submit-row button{width:100%}
}
@media(prefers-reduced-motion:reduce){.campaign-hero:before,.active-dot{animation:none}}

/* Friendly digital mailbox mascot for the public report service */
.campaign-hero:before,.campaign-hero:after{content:none}
.campaign-hero>.service-mailbot{position:absolute;z-index:2;right:3.5%;top:50%;width:310px;max-width:none;height:320px;flex:none;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;filter:drop-shadow(0 28px 34px rgba(0,7,18,.32))}
.mailbot-orbit{position:absolute;inset:4px;border:1px solid rgba(76,224,255,.18);border-radius:50%;box-shadow:0 0 0 27px rgba(76,224,255,.035),0 0 0 56px rgba(76,224,255,.018);animation:mailbot-orbit 8s linear infinite}
.mailbot-orbit:before,.mailbot-orbit:after{content:"";position:absolute;border-radius:50%;background:#69ffd2;box-shadow:0 0 18px #36dcff}
.mailbot-orbit:before{width:7px;height:7px;left:20px;top:48px}
.mailbot-orbit:after{width:5px;height:5px;right:25px;bottom:58px}
.mailbot-box{position:relative;width:220px;height:166px;margin-top:30px;border:1px solid rgba(105,255,210,.48);border-radius:28px 28px 38px 38px;background:linear-gradient(145deg,#167e9e 0%,#0b4d70 42%,#082b49 100%);box-shadow:inset 0 2px rgba(255,255,255,.2),inset 0 -20px 38px rgba(0,10,29,.22),0 0 0 9px rgba(54,220,255,.035),0 22px 46px rgba(0,7,18,.4);animation:mailbot-float 5.2s ease-in-out infinite}
.mailbot-box:before{content:"";position:absolute;left:-1px;right:-1px;top:-62px;height:92px;border:1px solid rgba(105,255,210,.48);border-bottom:0;border-radius:110px 110px 14px 14px;background:linear-gradient(165deg,#1c8eab,#0c4668 68%,#0a3656);box-shadow:inset 0 2px rgba(255,255,255,.18),inset 0 14px 28px rgba(75,226,255,.08)}
.mailbot-box:after{content:"";position:absolute;right:17px;bottom:15px;width:7px;height:7px;border-radius:50%;background:#69ffd2;box-shadow:0 0 12px #69ffd2;animation:mailbot-status 2.2s ease-in-out infinite}
.mailbot-slot{position:absolute;z-index:4;left:50%;top:-13px;width:116px;height:13px;transform:translateX(-50%);border:1px solid rgba(121,239,255,.36);border-radius:999px;background:#04192b;box-shadow:inset 0 3px 7px #020d19,0 0 14px rgba(54,220,255,.13)}
.mailbot-letter{position:absolute;z-index:3;left:50%;top:-85px;width:74px;height:48px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.74);border-radius:8px;background:linear-gradient(145deg,#f7feff,#bbf5ff);box-shadow:0 10px 24px rgba(0,10,26,.34);animation:mailbot-letter 5.2s cubic-bezier(.45,0,.2,1) infinite}
.mailbot-letter:before,.mailbot-letter:after{content:"";position:absolute;top:8px;width:40px;height:1px;background:#5ebbd0;opacity:.75;transform-origin:center}
.mailbot-letter:before{left:3px;transform:rotate(32deg)}
.mailbot-letter:after{right:3px;transform:rotate(-32deg)}
.mailbot-eye{position:absolute;z-index:5;top:64px;width:24px;height:27px;border-radius:50%;background:#eaffff;box-shadow:0 0 0 6px rgba(54,220,255,.14),0 0 18px rgba(54,220,255,.52);animation:mailbot-blink 4.6s ease-in-out infinite}
.mailbot-eye:after{content:"";position:absolute;left:8px;top:8px;width:8px;height:9px;border-radius:50%;background:#062942}
.mailbot-eye-left{left:52px}.mailbot-eye-right{right:52px}
.mailbot-smile{position:absolute;z-index:5;left:50%;top:98px;width:54px;height:28px;transform:translateX(-50%);border-bottom:5px solid #69ffd2;border-radius:0 0 55px 55px;filter:drop-shadow(0 0 7px rgba(105,255,210,.48));animation:mailbot-smile 3.8s ease-in-out infinite}
.mailbot-flag{position:absolute;z-index:6;right:-29px;top:-76px;width:5px;height:82px;border-radius:4px;background:linear-gradient(#69ffd2,#28b8da);transform-origin:bottom center;animation:mailbot-wave 5.2s ease-in-out infinite}
.mailbot-flag:after{content:"";position:absolute;left:4px;top:0;width:38px;height:25px;border-radius:4px 11px 11px 4px;background:linear-gradient(135deg,#d9ff70,#69ffd2);box-shadow:0 0 17px rgba(105,255,210,.36)}
.mailbot-label{position:absolute;left:50%;bottom:0;min-width:206px;padding:9px 16px;transform:translateX(-50%);border:1px solid rgba(105,255,210,.24);border-radius:999px;background:rgba(4,21,37,.76);color:#9affdf;font:700 9px/1 "Space Grotesk",sans-serif;letter-spacing:.18em;text-align:center;box-shadow:inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(8px)}
@keyframes mailbot-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes mailbot-orbit{to{transform:rotate(360deg)}}
@keyframes mailbot-letter{0%,8%{top:-105px;opacity:0;transform:translateX(-50%) scale(.86)}18%{opacity:1}42%{top:-19px;opacity:1;transform:translateX(-50%) scale(1)}51%,100%{top:-4px;opacity:0;transform:translateX(-50%) scale(.94)}}
@keyframes mailbot-blink{0%,44%,50%,100%{transform:scaleY(1)}47%{transform:scaleY(.12)}}
@keyframes mailbot-smile{0%,100%{width:48px}50%{width:58px}}
@keyframes mailbot-wave{0%,100%{transform:rotate(0)}20%{transform:rotate(-7deg)}34%{transform:rotate(4deg)}}
@keyframes mailbot-status{0%,100%{opacity:.45}50%{opacity:1;box-shadow:0 0 0 6px rgba(105,255,210,.1),0 0 16px #69ffd2}}
@media(max-width:800px){.campaign-hero>.service-mailbot{right:-1%;scale:.82}}
@media(max-width:620px){
  .campaign-hero{padding-bottom:245px}
  .campaign-hero>.service-mailbot{right:50%;top:auto;bottom:7px;width:270px;height:238px;transform:translateX(50%);scale:.78;transform-origin:bottom center}
  .mailbot-label{bottom:-4px}
}
@media(prefers-reduced-motion:reduce){.mailbot-orbit,.mailbot-box,.mailbot-letter,.mailbot-eye,.mailbot-smile,.mailbot-flag,.mailbot-box:after{animation:none}.mailbot-letter{top:-20px;opacity:1}}

/* Keep the approved civic mailbox and single-column form layout. */
.report-body { font-family: 'Noto Sans Thai', system-ui, sans-serif; }
.choice-row input:focus-visible + span { outline: 2px solid #36dcff; outline-offset: 4px; }
