:root{--bg:#eff5f1;--surface:#fff;--surface-2:#f7f9f8;--ink:#203e38;--muted:#73837e;--accent:#137d70;--accent-hover:#0c655a;--line:#e5ece8;--danger:#bf443e;--success:#147460;--warning:#946726;--font-sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--radius:12px;--shadow:0 12px 48px #254f3e08;color-scheme:light}
*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-size:14px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--accent);text-decoration:none}button{cursor:pointer;line-height:1.2}button:disabled{cursor:not-allowed;opacity:.48}button{transition:background .16s,color .16s}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #72c5b6;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}
.registration-page{background:#edf4ef;background-image:radial-gradient(ellipse at 15% 20%,#e1eee5 0,transparent 50%)}.survey-shell{width:min(100% - 40px,740px);margin:40px auto 24px}.campaign-hero{height:302px;position:relative;overflow:hidden;border-radius:18px 18px 0 0;background:#d7eee5}.hero-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-copy{position:relative;padding:28px 38px;z-index:1;max-width:70%}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.8px;display:flex;gap:9px;align-items:center;color:#216456}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:8px;background:var(--accent);color:#fff;font-size:19px;line-height:1}.hero-copy h1{font-size:39px;font-weight:750;letter-spacing:2px;line-height:1.3;margin-top:22px;color:#184f42}.title-dot{color:var(--accent)}.hero-copy p{font-size:12px;color:#3e6d5e;margin-top:12px;letter-spacing:1px}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:36px;background:#175641e8;color:#f0f8ec;display:flex;justify-content:space-between;align-items:center;padding:0 38px;font-size:10px;letter-spacing:1.5px}.hero-bottom span:last-child{color:#d5ead8}.hero-bottom span span{margin-left:8px}
.survey-paper{background:var(--surface);padding:34px 42px 25px;box-shadow:var(--shadow);border-radius:0 0 16px 16px}.section-kicker{font-size:11px;letter-spacing:2px;font-weight:650;color:var(--accent);margin-bottom:9px}.paper-intro h2{font-size:25px;letter-spacing:.4px;font-weight:650}.paper-intro>p{color:var(--muted);margin-top:10px;font-size:13px}.form-meta{display:flex;align-items:center;justify-content:space-between;margin:23px 0 5px;padding-bottom:23px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.form-meta span{display:flex;align-items:center;gap:6px}.small-dot{width:6px;height:6px;background:#63a899;border-radius:50%}b{color:var(--danger);font-weight:600}.question-group{border:0;padding:25px 0 0;margin:0;min-width:0}.question-group legend{float:left;width:100%;padding:0 0 20px;font-size:15px;font-weight:650;display:flex;align-items:center;gap:10px}.question-group legend+.field{clear:both}.step-number{font-size:11px;color:var(--accent);font-weight:600;background:#ebf5f1;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:7px;letter-spacing:.5px}.field{margin-bottom:22px}.field>label{display:block;font-weight:500;margin-bottom:9px;font-size:13px}.field label b{margin-left:3px}input:not([type=checkbox]),textarea,select{display:block;border:1px solid #dce5df;border-radius:7px;background:#fff;padding:12px 14px;width:100%;color:var(--ink);min-height:46px;transition:border-color .15s,box-shadow .15s;font-size:14px}input::placeholder,textarea::placeholder{color:#9aa69f;font-size:13px}textarea{resize:vertical;min-height:80px;line-height:1.7}input:hover,textarea:hover,select:hover{border-color:#aacabd}input:focus,textarea:focus,select:focus{border-color:var(--accent)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger);background:#fffaf9}.field-hint{display:block;color:var(--muted);font-size:11px;margin-top:7px}.field-error{display:block;color:var(--danger);font-size:12px;margin-top:5px}.field-error:empty{display:none}.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.region-grid select{font-size:13px;padding-left:10px;padding-right:4px}.region-grid select:disabled{background:#f7f9f7;color:#9ca7a1}.region-help{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:5px}.region-help .field-hint{margin:0}.text-button{background:none;border:0;color:var(--accent);font-size:12px;padding:3px 0}.text-button:hover{text-decoration:underline}.optional{color:var(--muted);font-size:11px;font-weight:400;border:1px solid var(--line);border-radius:4px;padding:0 5px}.note-group{border-bottom:1px solid var(--line);padding-top:8px}.note-group legend{padding-bottom:13px}.submit-area{padding-top:24px}.consent-label{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.9;color:#7b8982}.consent-label .text-button{font-size:11px;line-height:inherit;padding:0}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;min-width:16px;margin:3px 0 0;cursor:pointer}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;min-height:43px;padding:10px 18px;font-weight:500;font-size:13px}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.primary:hover{background:var(--accent-hover)}.secondary{background:#fff;border:1px solid #dce5df;color:#416057}.secondary:hover{background:#f0f6f2;border-color:#9cbeb0}.submit-button{margin-top:23px;width:100%;height:51px;justify-content:space-between;padding:0 22px;font-size:15px;letter-spacing:1px}.submit-button span:last-child{font-size:21px}.submit-hint{font-size:10px;color:#96a199;text-align:center;margin-top:12px}.form-message{color:var(--danger);background:#fff4f1;padding:10px 13px;border-radius:6px;font-size:12px;margin-top:14px}.form-message.success{color:var(--success);background:#edf7f1}.survey-footer{font-size:10px;letter-spacing:1px;color:#8b9c90;text-align:center;padding-top:20px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.footer-leaf{color:#799b82}.survey-footer>span:not(.footer-leaf){width:100%;letter-spacing:0}.success-panel{text-align:center;padding:55px 28px 50px}.success-symbol{width:68px;height:68px;border-radius:50%;background:#e6f5ed;color:var(--accent);font-size:34px;margin:0 auto 24px;display:grid;place-items:center}.success-panel h2{font-size:28px;margin:9px 0 15px}.success-panel p{color:var(--muted);line-height:1.9}.receipt-box{margin:26px auto;max-width:300px;padding:17px;background:var(--surface-2);border-radius:8px;display:flex;justify-content:space-between;gap:10px;font-size:12px}.receipt-box strong{color:var(--accent);font-size:13px}.closed-state{text-align:center;padding:45px 0}.closed-state p{color:var(--muted);margin-top:10px}
.modal{border:1px solid var(--line);border-radius:16px;padding:26px;max-width:500px;width:calc(100% - 32px);color:var(--ink);max-height:85vh;box-shadow:0 30px 90px #163d3226}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.dialog-header h2{font-size:19px}.icon-button{display:inline-grid;place-items:center;flex:0 0 auto;border:0;padding:0;background:#f0f4f1;border-radius:50%;width:30px;height:30px;color:var(--ink);font-family:Arial,sans-serif;font-size:20px;line-height:1}.privacy-copy p{font-size:13px;color:#62746b;line-height:1.9;margin-bottom:15px}
.admin-page{background:#f5f7f6}.admin-topbar{height:72px;padding:0 40px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:13px}.admin-brand strong{font-size:16px}.admin-brand-separator{color:#ccd8d0;font-weight:300;margin:0 5px}.admin-brand>.brand-mark{width:30px;height:30px}.topbar-actions{display:flex;align-items:center;gap:24px;font-size:12px}.dashboard{max-width:1280px;margin:auto;padding:40px 40px 25px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.dashboard-heading h1{font-size:30px;line-height:1.4;letter-spacing:1px}.dashboard-heading p{font-size:12px;margin-top:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.stat{padding:23px 26px;border:1px solid var(--line);border-radius:10px;background:white;display:flex;flex-direction:column}.stat>span{font-size:12px;color:#687c71;display:flex;align-items:center;gap:7px}.stat strong{font-size:36px;font-weight:550;line-height:1.3;margin-top:10px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.stat small{font-size:10px;color:#8c9b92;margin-top:7px}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.pending-dot{background:#c79542}.shipped-dot{background:#339a77}.records-panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.records-toolbar{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.filter-tabs{display:flex;gap:4px}.filter-tab{background:none;border:0;padding:9px 13px;border-radius:6px;white-space:nowrap;color:#7c8b83;font-size:12px}.filter-tab.active{background:#eaf4ee;color:var(--accent);font-weight:650}.search-form{display:flex;align-items:center;gap:8px}.search-form input{width:205px;min-height:36px;padding:8px 11px;font-size:12px;background:#fbfcfb}.search-form .secondary{min-height:36px;padding:7px 12px;font-size:12px}.list-actions{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);gap:10px}.list-actions>div{display:flex;align-items:center;gap:18px}.small{font-size:11px;min-height:31px;padding:5px 11px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;min-width:840px}th{font-size:11px;color:#87958d;font-weight:450;background:#f9fbf9;padding:12px 14px;border-bottom:1px solid var(--line)}td{padding:19px 14px;vertical-align:top;border-bottom:1px solid #edf1ee;line-height:1.8}td strong{font-size:13px;font-weight:550}td small{display:block;color:#87948c;font-size:10px}td .phone{font-size:12px;color:#6e8177;letter-spacing:.4px}.checkbox-cell{width:40px;padding-left:22px}td.address-cell{max-width:300px;min-width:180px}td.address-cell>span{display:block;word-break:break-word}.status-pill{font-size:10px;white-space:nowrap;border-radius:4px;padding:4px 7px;background:#faf3e5;color:#967537}.status-pill.shipped{background:#ebf5ef;color:#388466}.duplicate-tag{font-size:9px;background:#fff1df;color:#926623;border-radius:3px;padding:2px 4px;margin-left:5px;white-space:nowrap}.row-actions{display:flex;gap:13px;white-space:nowrap}.row-actions button{font-size:11px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;font-size:11px;color:var(--muted)}.pagination>div{display:flex;gap:8px}.admin-footnote{font-size:11px;color:#8a9a90;margin-top:20px;text-align:center}.empty-state{text-align:center;padding:55px 20px;color:#80938a}.empty-state>span{display:block;font-size:40px;color:#9ab8a7}.empty-state h3{font-size:15px;font-weight:500;color:#5d7768;margin:10px 0 5px}.empty-state p{font-size:12px}.batch-actions{display:flex;align-items:center;gap:12px;padding:12px 22px;background:#edf7f0;font-size:12px}.login-panel{width:calc(100% - 36px);max-width:440px;margin:90px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:36px}.login-panel h1{font-size:25px}.login-panel>p{font-size:12px;margin-top:8px}.login-panel form{margin-top:28px}.login-panel .primary{width:100%;margin-top:4px}.loading-state{text-align:center;margin:90px auto;color:var(--muted)}.table-message{margin:0 22px 15px}.detail-list{margin:0}.detail-list dt{font-size:11px;color:var(--muted);margin-top:14px}.detail-list dd{margin:3px 0 0;word-break:break-word;font-size:14px}.qr-content{text-align:center}.qr-content img{max-width:100%;height:auto;margin:10px auto}.qr-content .primary{margin:15px auto 0}.qr-content p{font-size:13px}.qr-content .field-hint{word-break:break-all}
@media(min-width:1100px){.survey-shell{margin-top:44px}.registration-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.9%,#2d684504 50%,transparent 50.1%);z-index:-1}}
@media(max-width:650px){.survey-shell{width:100%;margin:0 auto}.campaign-hero{border-radius:0;height:252px}.hero-copy{padding:25px 24px;max-width:78%}.eyebrow{font-size:10px;letter-spacing:1px}.hero-copy h1{font-size:32px;letter-spacing:1px;margin-top:18px}.hero-copy p{font-size:10px;letter-spacing:.5px}.hero-art{object-position:55% center}.hero-bottom{padding:0 24px;height:31px;font-size:9px;letter-spacing:.6px}.survey-paper{padding:28px 24px 23px;border-radius:0 0 14px 14px;margin:0 12px;position:relative}.survey-shell>.survey-paper{margin-top:-1px}.paper-intro h2{font-size:22px}.paper-intro>p{font-size:12px}.section-kicker{font-size:10px}.form-meta{font-size:10px;margin-top:21px}.question-group{padding-top:22px}.question-group legend{font-size:14px}.field{margin-bottom:23px}.region-grid{gap:7px}.region-grid select{font-size:12px;padding-left:7px}.region-grid input{padding:10px 7px;font-size:13px}.region-grid input::placeholder{font-size:11px}.region-help{align-items:flex-start}.region-help .field-hint{font-size:10px}.region-help .text-button{font-size:10px;padding:0}.consent-label{font-size:10px}.consent-label .text-button{font-size:10px}.survey-footer{padding-bottom:25px;font-size:9px}.submit-button{height:49px}.success-panel{padding:45px 20px}.admin-topbar{height:62px;padding:0 17px}.admin-brand{gap:7px;font-size:11px}.admin-brand strong{font-size:14px}.admin-brand-separator{margin:0}.topbar-actions{gap:12px;font-size:10px}.topbar-actions .text-button{font-size:10px}.dashboard{padding:24px 16px}.dashboard-heading{align-items:flex-start;gap:10px}.dashboard-heading h1{font-size:26px}.dashboard-heading p{font-size:11px;max-width:220px}.dashboard-heading>.secondary{font-size:10px;padding:8px;min-height:35px;white-space:nowrap}.stats-grid{gap:8px;margin-bottom:20px}.stat{padding:15px 12px}.stat>span{font-size:10px}.stat strong{font-size:28px}.stat small{font-size:9px;line-height:1.5}.records-toolbar{padding:13px;flex-wrap:wrap;gap:12px}.search-form{width:100%}.search-form input{width:100%}.filter-tab{font-size:11px}.list-actions{padding:13px}.list-actions>div{gap:10px}.batch-actions{padding:10px 13px;gap:8px;flex-wrap:wrap}.pagination{padding:13px}.admin-footnote{font-size:10px}.login-panel{margin-top:50px;padding:28px}.topbar-actions a{max-width:85px}.table-message{margin:0 13px 12px}.modal{padding:22px}.privacy-copy p{font-size:12px}}
.overwrite-copy{color:#62746b;font-size:13px;line-height:1.9}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions button{font-size:12px}input[readonly]{background:var(--surface-2);color:var(--muted)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.dashboard-heading{justify-content:space-between;gap:20px;margin-bottom:18px}.dashboard-heading .section-kicker{margin-bottom:0;font-size:14px}

/* Long-form hero: px fallbacks support older WebViews without cqi.
   The notice stays in normal flow so wrapping and larger fonts cannot cover copy. */
.campaign-hero{container-type:inline-size;height:auto;min-height:0;background:#dff5ee;isolation:isolate}
.campaign-hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#e8faf5f8 0%,#e8faf5f1 62%,#e8faf5b8 84%,#e8faf552 100%);pointer-events:none}
.campaign-hero .hero-art{inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:58% 68%}
.campaign-hero .hero-copy{position:relative;z-index:1;max-width:none;padding:22px 20px 24px;padding:clamp(22px,5cqi,38px) clamp(20px,5.2cqi,40px) clamp(24px,4cqi,32px)}
.campaign-hero .eyebrow{font-size:9px;font-size:clamp(9px,1.5cqi,11px);letter-spacing:.6px;letter-spacing:clamp(.6px,.18cqi,1.3px)}
.campaign-hero .hero-copy h1{margin-top:14px;margin-top:clamp(14px,2.7cqi,20px);font-size:28px;font-size:clamp(28px,5.2cqi,38px);line-height:1.2;letter-spacing:.2px;letter-spacing:clamp(.2px,.14cqi,1px)}
.campaign-hero .hero-lead{margin-top:6px;margin-top:clamp(6px,1.1cqi,8px);font-size:14px;font-size:clamp(14px,2.3cqi,17px);font-weight:650;line-height:1.55;letter-spacing:.1px;color:#245f52}
.campaign-hero .hero-intro{max-width:640px;margin-top:11px;margin-top:clamp(11px,2cqi,15px);font-size:11px;font-size:clamp(11px,1.75cqi,13px);line-height:1.8;letter-spacing:0;color:#456d62}
.hero-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;gap:clamp(9px,1.7cqi,12px);margin-top:16px;margin-top:clamp(16px,3cqi,22px)}
.hero-info-card,.hero-steps,.hero-privacy{border:1px solid #bcded2;background:#ffffffbf;box-shadow:0 10px 32px #225f4910;backdrop-filter:blur(8px);border-radius:9px;border-radius:clamp(9px,1.6cqi,12px);padding:13px 14px;padding:clamp(13px,2.2cqi,16px) clamp(14px,2.5cqi,18px)}
.hero-info-card h2,.hero-steps h2,.hero-privacy h2{font-size:12px;font-size:clamp(12px,1.9cqi,14px);line-height:1.4;color:#165b4d;margin-bottom:6px;margin-bottom:clamp(6px,1.2cqi,9px)}
.hero-info-card dl,.hero-info-card ul,.hero-steps ol,.hero-privacy ul{margin:0;padding:0;color:#496b62;font-size:10px;font-size:clamp(10px,1.5cqi,11px);line-height:1.72}
.hero-info-card dl div+div{margin-top:8px}.hero-info-card dt{float:left;margin-right:7px;color:#137d70;font-weight:700}.hero-info-card dd{margin:0}.hero-info-card ul,.hero-privacy ul{padding-left:17px}.hero-info-card li+li,.hero-privacy li+li{margin-top:5px}
.hero-steps{margin-top:9px;margin-top:clamp(9px,1.7cqi,12px)}.hero-steps ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;gap:clamp(7px,1.2cqi,9px) clamp(14px,3cqi,22px);list-style:none;counter-reset:hero-step}.hero-steps li{counter-increment:hero-step;position:relative;padding-left:26px}.hero-steps li::before{content:counter(hero-step);position:absolute;left:0;top:1px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#dcefe8;color:#176a5a;font-size:10px;font-weight:700;line-height:1}
.hero-privacy{margin-top:9px;margin-top:clamp(9px,1.7cqi,12px)}.hero-privacy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;gap:8px clamp(14px,3.2cqi,24px)}
.campaign-hero .hero-bottom{position:relative;inset:auto;z-index:2;height:auto;min-height:48px;padding:10px 20px;padding:10px clamp(20px,5.2cqi,40px);gap:16px;line-height:1.55;letter-spacing:.2px;background:#174e42e8}.campaign-hero .hero-bottom strong{white-space:nowrap;font-size:9px;font-size:clamp(9px,1.4cqi,10px)}.campaign-hero .hero-bottom>span{font-size:9px;font-size:clamp(9px,1.4cqi,10px);color:#e0eee8}
@media(max-width:650px){.campaign-hero{border-radius:0}.campaign-hero::after{background:linear-gradient(180deg,#e8faf5fa 0%,#e8faf5f4 76%,#e8faf590 92%,#e8faf540 100%)}.campaign-hero .hero-art{object-position:63% 70%}.hero-info-grid,.hero-steps ol,.hero-privacy ul{grid-template-columns:1fr}.campaign-hero .hero-bottom{align-items:flex-start;flex-direction:column;gap:2px}}

/* Explicitly hidden in HTML, including browsers without native dialog support. */
.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(25,60,53,.45);overflow:auto;-webkit-overflow-scrolling:touch}
.modal{display:block;position:relative;margin:auto;background:#fff;width:100%;max-width:500px;max-height:80vh;max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:0 1 auto}
.dialog-actions{flex-wrap:wrap;gap:0;margin-left:-10px;margin-top:14px}
.dialog-actions>button{margin-left:10px;margin-top:10px;white-space:normal;line-height:1.5;flex:0 1 auto}
@media(max-width:420px){.dialog-actions>button{flex:1 1 120px;padding:10px 8px}.modal{padding:20px}}

/* Mobile completion occupies the page; natural scrolling keeps large text usable. */
.registration-success .campaign-hero,.registration-success .survey-footer{display:none}
@media(max-width:650px){
  .registration-success{background:#fff}
  .registration-success .survey-shell{width:100%;margin:0}
  .registration-success .survey-shell>.success-panel{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:100vh;min-height:100dvh;width:100%;margin:0;border-radius:0;box-shadow:none;
    padding:40px 24px;padding-bottom:calc(40px + env(safe-area-inset-bottom));outline:none
  }
  .registration-success .success-panel>*{flex-shrink:0;max-width:100%}
  .registration-success .success-panel h2{font-size:26px;line-height:1.4}
  .registration-success .success-panel .receipt-box{width:100%;overflow-wrap:break-word}
}

/* Success actions remain available after restoring the original hero layout. */
.success-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media(max-width:650px){.success-actions{width:100%;flex-direction:column}.success-actions button{width:100%}}
