:root{color:#162334;background:#edf2f7;font-family:PingFang SC,MiSans,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{height:100vh;background:linear-gradient(180deg,#23537514,#edf2f700 260px),#edf2f7;display:flex;justify-content:center;overflow:hidden;padding:18px 12px}.phone-frame{width:min(100%,480px);height:calc(100vh - 36px);background:#f7fafc;border:1px solid #d8e1ea;border-radius:18px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 18px 42px #16233424}.page{min-height:100%;padding:18px 16px 28px}.task-detail-page{display:grid;grid-template-rows:auto auto auto 1fr;height:100%;min-height:0;overflow:hidden}.page-with-safe-bottom{padding-bottom:36px}.home-header{display:grid;gap:14px;padding:4px 0 18px}.home-title-row{align-items:start;display:flex;gap:12px;justify-content:space-between}.eyebrow{color:#2f6f8f;font-size:13px;font-weight:700;margin:0 0 6px}h1,h2,h3,p{margin-top:0}.home-header h1,.detail-hero h1,.visitor-header h1{color:#102a43;font-size:24px;line-height:1.25;margin-bottom:0}.user-card{background:#fff;border:1px solid #dbe6ef;border-radius:12px;padding:12px;display:grid;gap:6px}.user-card span,.task-card p,.detail-hero p,.action-card p,.list-card p,.site-card p,.report-card p,.fallback-text,.qr-hint{color:#5b6b7d}.user-card strong{color:#102a43;font-size:18px}.logout-icon-button{background:#f7fafc;border:1px solid #d7e2ec;border-radius:10px;color:#123c5a;flex:0 0 40px;font-size:20px;font-weight:800;height:40px;line-height:1;padding:0;width:40px}.login-page{align-content:center;display:grid;gap:22px}.login-title h1{color:#102a43;font-size:28px;margin-bottom:0}.login-form{background:#fff;border:1px solid #d9e4ec;border-radius:12px;display:grid;gap:14px;padding:16px}.login-form label{color:#253f55;display:grid;font-size:14px;font-weight:800;gap:7px}.login-form input{background:#fff;border:1px solid #cfdce7;border-radius:10px;color:#102a43;height:44px;padding:0 12px}.form-error{background:#fdecea;border:1px solid #f5c2bd;border-radius:10px;color:#a61b12;font-size:13px;line-height:1.5;margin:0;padding:10px 12px}.status-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.status-tabs button{border:1px solid #d7e2ec;border-radius:10px;background:#fff;color:#34536b;height:38px}.status-tabs .is-active{background:#123c5a;border-color:#123c5a;color:#fff;font-weight:700}.status-tabs button:only-child{grid-column:1 / -1}.section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.section-title h2,.answer-list h2,.source-card h2{color:#102a43;font-size:18px;margin-bottom:0}.section-title span{color:#60758a;font-size:13px}.stack{display:grid;gap:12px}.task-card,.list-card,.site-card,.report-card,.action-card,.source-card,.answer-card,.question-card,.qr-panel,.empty-state{background:#fff;border:1px solid #d9e4ec;border-radius:12px;color:inherit;text-align:left}.task-card{padding:15px;display:grid;gap:10px}.task-card h3,.list-card h3,.site-card h3,.report-card h3,.answer-card h3{color:#102a43;font-size:17px;line-height:1.35;margin-bottom:4px}.task-card p,.action-card p,.list-card p,.site-card p,.report-card p{font-size:14px;line-height:1.55;margin-bottom:0}.status-pill,.review-pill,.code-ready,.code-empty{border-radius:999px;font-size:12px;font-weight:700;padding:4px 9px;width:fit-content}.status-active{background:#e6f5ee;color:#16724a}.status-upcoming{background:#eaf2fa;color:#22577a}.status-ended{background:#eef2f5;color:#5d6b78}.meta-grid{border-top:1px solid #edf2f7;color:#60758a;display:grid;font-size:13px;gap:6px;padding-top:10px}.page-header{align-items:center;display:grid;grid-template-columns:44px 1fr 44px;margin-bottom:14px}.page-header button{background:#fff;border:1px solid #d9e4ec;border-radius:10px;color:#123c5a;font-size:28px;height:40px}.page-header h1{color:#102a43;font-size:18px;margin:0;text-align:center}.detail-hero{background:#fff;border:1px solid #d9e4ec;border-radius:14px;padding:16px}.detail-hero h1{margin:12px 0 10px}.hero-period{color:#34536b;font-size:14px;font-weight:700}.summary-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:12px 0}.metric-card{background:#e9f4f2;border:1px solid #cfe4df;border-radius:12px;padding:13px}.metric-card span{color:#52697a;display:block;font-size:13px;margin-bottom:6px}.metric-card strong{color:#0b5d4c;font-size:24px}.action-grid{display:grid;align-content:start;gap:14px;min-height:0}.action-card{background:#fff;border:1px solid #d9e4ec;border-radius:12px;box-shadow:0 10px 24px #102a4314;min-height:124px;padding:16px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.action-card span{color:#102a43;display:block;font-size:18px;font-weight:800;margin-bottom:8px}.action-card strong{color:#0f6f5c;display:block;margin-top:16px}.action-card:hover,.action-card:focus-visible{border-color:#9fcfc5;box-shadow:0 14px 30px #102a431f;transform:translateY(-1px)}.primary-action{border-color:#d9e4ec;background:#fff}.task-context{background:#eef6fb;border:1px solid #d0e2ef;border-radius:12px;display:grid;gap:8px;margin-bottom:14px;padding:12px}.task-context strong{color:#102a43;font-size:15px;line-height:1.45}.task-context span{color:#2f6f8f;font-size:13px;font-weight:700}.list-card,.site-card,.report-card{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px}.list-card span{color:#0f6f5c;flex:0 0 auto;font-size:13px;font-weight:700}.compact{min-height:78px}.search-box{display:grid;gap:7px;margin-bottom:12px}.search-box span,.question-card label{color:#253f55;font-size:14px;font-weight:800}.search-box input,.question-card input,.question-card select,.question-card textarea{background:#fff;border:1px solid #cfdce7;border-radius:10px;color:#102a43;padding:0 12px;width:100%}.search-box input,.question-card input,.question-card select{height:44px}.question-card textarea{line-height:1.7;min-height:108px;padding:12px;resize:vertical}.question-card input[readonly]{background:#f1f6f8;color:#456173;font-weight:900}.search-box input:focus,.question-card input:focus,.question-card select:focus,.question-card textarea:focus,button:focus-visible{outline:3px solid rgba(47,111,143,.28);outline-offset:2px}.site-card small,.report-card small{color:#738293;display:block;font-size:12px;margin-top:5px}.code-ready{background:#e6f5ee;color:#16724a}.code-empty{background:#f0f4f8;color:#5d6b78}.qr-panel{padding:18px;text-align:center}.qr-site-info h2{color:#102a43;font-size:21px;margin-bottom:6px}.qr-site-info p{color:#5b6b7d;margin-bottom:18px}.qr-image-button{background:#fff;border:1px solid #d9e4ec;border-radius:14px;padding:14px}.qr-image-button img{display:block;height:216px;image-rendering:pixelated;width:216px}.qr-actions,.sticky-actions{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:16px}.qr-actions{margin-top:30px}.primary-button,.secondary-button{border-radius:10px;height:46px;font-weight:800}.primary-button{background:#0f6f5c;border:1px solid #0f6f5c;color:#fff}.secondary-button{background:#fff;border:1px solid #bfd0dd;color:#123c5a}.fallback-text{font-size:13px;line-height:1.5;margin:14px 0 0}.review-pending{background:#fff7db;color:#8f6200}.review-approved{background:#e6f5ee;color:#16724a}.review-rejected{background:#fdecea;color:#b42318}.source-card,.answer-card,.question-card,.empty-state{padding:14px}.source-card dl{display:grid;gap:10px;margin:12px 0 0}.source-card div{display:flex;justify-content:space-between;gap:12px}.source-card dt{color:#60758a}.source-card dd{color:#102a43;font-weight:700;margin:0;text-align:right}.answer-list{display:grid;gap:10px;margin-top:14px}.answer-card p{color:#31485c;margin-bottom:0}.visitor-page{background:linear-gradient(180deg,#edf5f8 0,#fff 230px),#fff;padding-bottom:104px}.visitor-hero{align-items:start;display:flex;gap:12px;justify-content:space-between;padding:8px 0 14px}.visitor-hero h1{color:#102a43;font-size:25px;line-height:1.28;margin-bottom:0}.visitor-badge{background:#fff;border:1px solid #cfdde8;border-radius:999px;color:#245875;flex:0 0 auto;font-size:12px;font-weight:800;padding:6px 10px}.visitor-source{background:transparent;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:8px 0}.visitor-source div{display:flex;align-items:center;gap:4px;padding:0}.visitor-source span{color:#999;font-size:12px;line-height:1.4;white-space:nowrap}.visitor-source strong{color:#666;font-size:12px;font-weight:400;line-height:1.4}.survey-progress{background:#f7fafc;border:1px solid #dfe8f0;border-radius:12px;margin-bottom:14px;padding:12px}.survey-progress-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.survey-progress-title strong{color:#31506a;font-size:12px}.progress-bar{background:#e4edf5;border-radius:999px;height:8px;overflow:hidden}.progress-bar span{background:#0f6f5c;border-radius:inherit;display:block;height:100%;transition:width .18s ease}.step-heading{margin:8px 0 12px}.step-heading span{color:#102a43;display:block;font-size:18px;font-weight:900;margin-bottom:4px}.step-heading p{margin-bottom:0}.question-stack{display:grid;gap:12px}.division-select{display:grid;gap:6px}.division-cascade-row{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.division-select span{color:#b42318;font-size:12px}.survey-termination-notice{background:#fff8e6;border:1px solid #f2d391;border-radius:10px;color:#7a4d00;font-size:13px;line-height:1.55;padding:12px}.question-card{background:#fff;border:1px solid #dce7ef;border-radius:12px;box-shadow:0 8px 18px #102a430d;display:grid;gap:13px;padding:14px}.question-section-marker{background:#eef5f4;border-left:4px solid #0f6f5c;border-radius:8px;color:#20384d;font-size:15px;font-weight:900;line-height:1.45;padding:10px 12px}.question-title{display:block}.question-title label{color:#20384d;font-size:16px;font-weight:900;line-height:1.55}.option-grid{display:grid;gap:9px}.option-grid button{background:#f8fbfd;border:1px solid #d7e2ec;border-radius:10px;color:#20384d;line-height:1.45;min-height:46px;padding:10px 12px;text-align:left}.option-grid .is-selected{background:#e9f4f2;border-color:#0f6f5c;box-shadow:inset 3px 0 #0f6f5c;color:#0b5d4c;font-weight:900}.sticky-actions{background:#f7fafcf7;border-top:1px solid #d9e4ec;bottom:0;left:50%;margin:0;max-width:478px;padding:12px 16px 18px;position:fixed;transform:translate(-50%);width:calc(100% - 26px)}.success-page{align-content:center;display:grid;justify-items:center;text-align:center}.success-mark{align-items:center;background:#e6f5ee;border-radius:50%;color:#0f6f5c;display:flex;font-size:40px;font-weight:900;height:82px;justify-content:center;margin-bottom:18px;width:82px}.success-page h1{color:#102a43;margin-bottom:8px}.success-page p{color:#5b6b7d}.floating-survey{background:#123c5a;border:1px solid rgba(255,255,255,.28);border-radius:999px;bottom:20px;color:#fff;font-weight:800;height:42px;padding:0 16px;position:fixed;right:18px;box-shadow:0 10px 22px #102a4338}.qr-preview{align-items:center;background:#0a1420eb;display:grid;inset:0;justify-items:center;padding:24px;position:fixed;z-index:10}.qr-preview img{background:#fff;border-radius:18px;height:min(76vw,360px);image-rendering:pixelated;padding:18px;width:min(76vw,360px)}.preview-close,.preview-save{align-items:center;border-radius:10px;display:flex;font-weight:800;height:42px;justify-content:center;min-width:128px;text-decoration:none}.preview-close{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;justify-self:end}.preview-save{background:#fff;border:1px solid #ffffff;color:#123c5a}@media(max-width:520px){.app-shell{padding:0}.phone-frame{border:0;border-radius:0;height:100vh;width:100%}.page{min-height:100vh}.task-detail-page{height:100vh;min-height:0}}.survey-header{background:#fff;padding:32px 24px 24px;margin-bottom:16px}.official-title{color:#1a1a1a;font-size:28px;font-weight:700;line-height:1.4;margin:0 0 20px;text-align:center;letter-spacing:2px}.official-table{width:fit-content;border-collapse:collapse;margin:0 auto 24px;border:1px dashed #d0d0d0}.official-table td{padding:4px 8px;border-right:1px dashed #d0d0d0;border-bottom:1px dashed #d0d0d0;vertical-align:middle;white-space:nowrap}.official-table tr:last-child td{border-bottom:none}.official-table td:first-child{width:60%;border-right:1px dashed #d0d0d0}.official-table td:nth-child(2){width:auto;text-align:left;padding-right:8px}.official-table td:last-child{width:auto;text-align:left;border-right:none}.label-cell{color:#333;font-size:14px;font-weight:600}.value-cell{color:#1a1a1a;font-size:14px;font-weight:500;letter-spacing:1px}.greeting-text{margin:0 0 16px;padding:0;text-align:left}.greeting-text p{color:#333;font-size:14px;line-height:2;margin:0 0 8px;text-indent:2em}.greeting-text p:first-child{color:#1a1a1a;font-size:15px;font-weight:600;margin:0 0 8px}.greeting-text p:last-child{color:#1a1a1a;font-size:14px;font-weight:500;margin:0}.signature{text-align:right;margin-top:16px;margin-bottom:0}.signature span{color:#1a1a1a;font-size:15px;font-weight:500}.start-survey-section{display:flex;justify-content:center;align-items:center;padding:48px 24px 64px;margin-top:8px}.start-button{width:auto;min-width:200px;max-width:320px;padding:16px 48px;font-size:18px;font-weight:600;letter-spacing:2px}
