:root{color-scheme:light;--ink:#17294a;--text:#253650;--muted:#68768b;--line:#e0e6ef;--blue:#2155d6;--blue-soft:#eff4ff;--gold:#d6b577;--bg:#f4f6fa;--radius:14px;font-family:Inter,"Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}h1,h2,h3,p{margin:0}fieldset{min-width:0;margin:0;padding:0;border:0}legend{padding:0}b{color:#b64635}em{font-style:normal;color:var(--muted);font-size:.875rem;font-weight:400;margin-left:8px}small{font-size:.8125rem;color:var(--muted)}:focus-visible{outline:3px solid #8ba9f4;outline-offset:3px}html{scroll-behavior:auto;scroll-padding-top:90px}
.topbar{height:88px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1280px)/2));gap:20px}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-size:1.25rem;letter-spacing:.1em;font-weight:700}.brand small{display:block;letter-spacing:.15em;font-size:.625rem;font-weight:500;line-height:1.5}.brand-mark{display:grid;place-items:center;width:42px;height:46px;border-radius:12px;background:var(--ink);color:var(--gold);font-family:serif;font-size:1.5rem;letter-spacing:0}.header-label{font-size:.875rem;color:var(--muted)}.survey-layout{max-width:1280px;margin:0 auto;padding:46px 32px 24px;display:grid;grid-template-columns:310px minmax(0,1fr);gap:56px}.intro{position:sticky;top:40px;align-self:start;padding-top:7px}.eyebrow{display:block;font-size:.75rem;letter-spacing:.12em;color:var(--blue);font-weight:600}.intro h1{margin-top:20px;font-size:2.1rem;line-height:1.5;font-weight:650;letter-spacing:-.025em;color:var(--ink)}.intro-subtitle{font-size:1.15rem;margin-top:10px;color:var(--ink)}.intro-copy{color:var(--muted);font-size:.9375rem;line-height:1.95;margin-top:22px}.intro-note{margin-top:30px;border-left:3px solid var(--gold);padding-left:16px;font-size:.875rem}.intro-note span{font-weight:600}.intro-note p{margin-top:6px;color:var(--muted)}.section-nav{margin-top:38px;border-top:1px solid var(--line)}.section-nav a{display:flex;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.section-nav span{font-size:.75rem;color:var(--blue);font-weight:600}.section-nav a:hover{color:var(--blue)}.required-note{font-size:.8125rem;color:var(--muted);margin-top:25px}.form-column{min-width:0}.form-progress{font-size:.875rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 2px 22px}.form-progress strong{font-size:.8125rem;font-weight:500;color:var(--muted)}progress{width:100%;height:4px;border:0;background:#dce3ef;border-radius:10px}progress::-webkit-progress-bar{background:#dce3ef;border-radius:10px}progress::-webkit-progress-value{background:var(--blue);border-radius:10px;transition:width .2s}progress::-moz-progress-bar{background:var(--blue)}.form-section{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:22px}.section-heading{display:flex;gap:14px;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid #edf0f5;margin-bottom:25px}.section-heading>span{color:var(--blue);background:var(--blue-soft);font-size:.8125rem;padding:5px 9px;border-radius:7px;margin-top:3px;font-weight:600}.section-heading h2{font-size:1.25rem;color:var(--ink);font-weight:650}.section-heading p{color:var(--muted);font-size:.875rem;margin-top:5px}.field{margin-bottom:27px}.field:last-child{margin-bottom:0}.field>label,.field>legend{display:block;font-weight:600;margin-bottom:12px;font-size:.9375rem}.field small{display:block;margin-top:8px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-col>.field{margin-bottom:27px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;color:var(--ink);border:1px solid #ccd5e2;border-radius:8px;padding:12px 13px;background:#fff;min-height:48px;font-size:1rem}input::placeholder,textarea::placeholder{color:#7e8999;font-size:.875rem}input:focus,select:focus,textarea:focus{border-color:var(--blue)}input[aria-invalid=true],select[aria-invalid=true]{border-color:#c2493d}textarea{resize:vertical;min-height:130px;line-height:1.8}select{padding-right:25px}select:disabled{background:#f4f6fa;color:#8a94a5}.region-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.manual-region{margin-top:12px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice{position:relative;display:flex;align-items:flex-start;gap:10px;border:1px solid #dce2ec;border-radius:9px;padding:13px 12px;cursor:pointer;line-height:1.65;font-size:.875rem;min-width:0;transition:background .12s,border .12s}.choice:hover{border-color:#99b1e9;background:#fafbff}.choice:has(input:checked){border-color:var(--blue);background:var(--blue-soft);color:#173c97}.choice input{appearance:auto;accent-color:var(--blue);flex:0 0 17px;width:17px;height:17px;margin:3px 0 0;cursor:pointer}.choice span{overflow-wrap:anywhere}.budget-options{display:grid;gap:9px}.budget-choice{align-items:center;padding:13px 15px}.budget-choice input{margin-top:0}.budget-choice strong{display:block;font-weight:600;font-size:.9375rem}.budget-choice small{margin:2px 0 0;display:block;font-size:.8125rem}.field-error{color:#ae352b;font-size:.875rem;margin-top:9px}.other-input{margin-top:12px}.industry-field{margin-top:14px;border-left:2px solid #e4eafa;padding-left:14px}.industry-field>span{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:8px}.char-count{text-align:right}.submit-area{padding:7px 4px 0}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;cursor:pointer}.consent input{flex:0 0 18px;width:18px;height:18px;margin-top:4px;accent-color:var(--blue)}.privacy{margin:10px 0 20px 28px;font-size:.8125rem;color:var(--muted)}summary{cursor:pointer;color:var(--blue)}.privacy p{margin-top:10px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:10px 17px;min-height:44px;font-size:.875rem;font-weight:600}.button:hover{background:#f0f4fc}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.primary:hover{background:#1747bd}.submit-button{width:100%;font-size:1rem;min-height:55px;justify-content:space-between;padding-inline:23px;box-shadow:0 6px 18px #2155d619}.submit-note{font-size:.8125rem;text-align:center;color:var(--muted);margin-top:12px}.notice{padding:12px 15px;border-radius:9px;margin:0 0 18px;font-size:.875rem}.error{background:#fff2ef;border:1px solid #f0cdc6;color:#a7382d}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.page-footer{text-align:center;color:#7b8698;font-size:.75rem;margin-top:32px;padding:20px 0}.success-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:60px 40px;text-align:center}.success-icon{width:66px;height:66px;border-radius:50%;background:#e9f6ee;color:#207344;display:grid;place-items:center;font-size:2rem;margin:0 auto 25px}.success-panel h2{font-size:1.8rem;margin:15px 0}.success-panel p{line-height:1.9}.receipt{font-size:.875rem;color:var(--blue);margin-top:28px}.success-footnote{margin-top:15px;color:var(--muted);font-size:.875rem}.success-wechat{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:14px}.success-wechat img{width:190px;max-width:100%;height:auto;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #17294a17}.success-wechat p{font-size:.9375rem}.success-wechat strong{color:var(--ink)}
.admin-body{background:#f4f6fb}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 88px)}.login-intro{background:var(--ink);color:#fff;padding:12vh max(48px,calc((100vw - 1180px)/2));padding-right:60px}.login-intro .eyebrow{color:var(--gold)}.login-intro h1{font-size:2.4rem;font-weight:550;line-height:1.5;margin:25px 0}.login-intro p{max-width:350px;color:#becbe0}.login-meta{border-top:1px solid #ffffff25;margin-top:70px;padding-top:25px;font-size:.875rem}.login-panel-wrap{display:grid;place-items:center;padding:45px 30px}.login-panel{width:100%;max-width:380px}.login-panel h2{font-size:1.65rem;margin-bottom:8px}.login-panel>p{color:var(--muted);font-size:.9375rem;margin-bottom:32px}.login-panel .button{width:100%;margin-top:5px}.login-panel .field{margin-bottom:22px}.login-foot{font-size:.8125rem;color:var(--muted);margin-top:25px;text-align:center}.admin-shell{max-width:1320px;margin:0 auto;padding:40px 32px}.admin-titlebar{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-titlebar h1{font-size:1.75rem;margin:6px 0}.admin-titlebar p{font-size:.875rem;color:var(--muted)}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.stat{background:#fff;border:1px solid var(--line);padding:22px 25px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.stat span{color:var(--muted);font-size:.875rem}.stat strong{font-size:1.8rem;font-weight:550;color:var(--ink)}.records{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.records-title{padding:22px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.records-title h2{font-size:1.125rem}.records-title span{font-size:.8125rem;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{font-weight:500;color:var(--muted);background:#fafbfe;padding:14px 20px;white-space:nowrap}td{padding:19px 20px;border-top:1px solid #edf0f5;vertical-align:middle}tbody tr:hover{background:#fafcff}.person-name{font-size:1rem;font-weight:600;color:var(--ink)}.person-phone{display:block;color:var(--muted);font-size:.875rem;margin-top:3px}.tags{display:flex;flex-wrap:wrap;gap:6px;min-width:140px;max-width:270px}.tag{display:inline-block;border-radius:5px;background:#edf2fd;color:#2852a8;font-size:.75rem;padding:3px 8px;white-space:nowrap}.text-button{border:0;background:none;color:var(--blue);font:inherit;cursor:pointer;padding:7px 0;white-space:nowrap}.text-button:hover{text-decoration:underline}.date-cell{white-space:nowrap;color:var(--muted);font-size:.8125rem}.empty-state{text-align:center;padding:75px 20px;color:var(--muted)}.empty-state strong{display:block;font-size:1.125rem;color:var(--ink);font-weight:600;margin-bottom:10px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 25px;border-top:1px solid var(--line);font-size:.875rem}.pagination>div{display:flex;gap:10px}.pagination .button{min-height:38px;padding:7px 12px}.dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(690px,calc(100% - 28px));max-height:88vh;color:var(--text);box-shadow:0 25px 100px #0e214e33}.dialog::backdrop{background:#0e1a3699}.dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.dialog-header h2{font-size:1.3rem}.dialog-header p{font-size:.8125rem;color:var(--muted)}.dialog-content{padding:8px 28px 28px}.detail-item{display:grid;grid-template-columns:150px 1fr;gap:20px;border-bottom:1px solid #edf0f5;padding:16px 0;font-size:.9375rem;overflow-wrap:anywhere}.detail-item dt{color:var(--muted);font-size:.875rem}.detail-item dd{margin:0;white-space:pre-wrap}.detail-item ul{margin:0;padding-left:18px}.dialog .tags{max-width:none}.back-link{font-size:.875rem;color:var(--muted)}
@media(min-width:1450px){.survey-layout{gap:70px;grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:1020px){.survey-layout{grid-template-columns:250px minmax(0,1fr);gap:30px;padding-inline:24px}.intro h1{font-size:1.8rem}.form-section{padding:24px}.choice-grid.three{grid-template-columns:1fr}.region-grid{grid-template-columns:1fr}.login-intro{padding:90px 40px}.login-intro h1{font-size:2rem}}
@media(max-width:760px){.topbar{height:74px;padding:0 20px}.brand{font-size:1.125rem}.brand-mark{width:36px;height:40px}.brand small{font-size:.5625rem}.header-label{font-size:.75rem}.survey-layout{display:block;padding:28px 16px 18px}.intro{position:static;padding:0 6px 25px}.intro h1{font-size:1.7rem;line-height:1.45;margin-top:14px}.intro h1 br{display:none}.intro-subtitle{font-size:1.0625rem;margin-top:8px}.intro-copy{font-size:.875rem;margin-top:14px}.intro-note{margin-top:20px}.section-nav{display:none}.required-note{margin-top:16px}.form-progress{padding:12px 6px;margin-bottom:12px;position:sticky;top:0;background:var(--bg);z-index:2;border-bottom:1px solid var(--line)}.form-section{padding:24px 20px;margin-bottom:16px}.two-col{grid-template-columns:1fr;gap:0}.two-col>.field{margin-bottom:23px}.manual-region{gap:10px}.region-grid{grid-template-columns:1fr 1fr}.region-grid select:first-child{grid-column:1/-1}.choice-grid{grid-template-columns:1fr}.choice-grid.three{grid-template-columns:1fr}.choice{padding:13px 12px}.section-heading{gap:12px}.field>label,.field>legend{line-height:1.8}.field{margin-bottom:26px}.field em{white-space:nowrap}.submit-area{padding:7px 6px}.success-panel{padding:42px 25px}.login-layout{display:block;min-height:0}.login-intro{padding:32px 25px}.login-intro h1{font-size:1.65rem;margin:14px 0 10px}.login-intro h1 br{display:none}.login-intro>p{font-size:.875rem}.login-meta{display:none}.login-panel-wrap{padding:34px 25px}.admin-shell{padding:28px 16px}.admin-titlebar{align-items:flex-start;flex-direction:column}.admin-titlebar h1{font-size:1.5rem}.admin-actions{width:100%}.admin-actions .button{flex:1}.stats{gap:12px;margin:24px 0}.stat{display:block;padding:16px}.stat strong{display:block;font-size:1.7rem;margin-top:5px}.records-title{padding:18px;align-items:flex-start;flex-direction:column;gap:4px}th,td{padding:14px}table{min-width:760px}.pagination{padding:16px;flex-wrap:wrap}.dialog-header{padding:20px}.dialog-content{padding:0 20px 20px}.detail-item{grid-template-columns:1fr;gap:6px;padding:14px 0}.back-link{font-size:.8125rem}.industry-field .choice-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
