:root { --ink:#21352f; --muted:#70807a; --sage:#688f80; --sage-dark:#466d5f; --cream:#f5f1e8; --paper:#fffdf8; --line:#dce4df; }
* { box-sizing:border-box; }
html,body { min-height:100%; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif; }
button,input,select,textarea { font:inherit; }
.page-shell { min-height:100vh; position:relative; overflow:hidden; display:grid; place-items:center; padding:42px 20px; background:radial-gradient(circle at 12% 0%,rgba(160,187,167,.42),transparent 31%),radial-gradient(circle at 90% 90%,rgba(216,184,139,.26),transparent 28%),var(--cream); }
.survey-card { width:min(100%,570px); min-height:760px; position:relative; z-index:2; background:rgba(255,253,248,.96); border:1px solid rgba(85,111,100,.13); border-radius:28px; box-shadow:0 28px 80px rgba(51,70,62,.14); padding:28px 42px 26px; }
.brand-row { display:flex; align-items:center; gap:10px; }.brand-mark { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:white; background:var(--sage-dark); font:600 13px Georgia,serif; }.brand-name { font-size:13px; letter-spacing:.15em; font-weight:700; }.time-pill { margin-left:auto; padding:7px 12px; border-radius:99px; background:#edf2ee; color:var(--sage-dark); font-size:12px; }
.progress { height:4px; margin:24px -42px 0; background:#e9ede9; }.progress span { display:block; height:100%; background:var(--sage); border-radius:0 3px 3px 0; transition:width .35s ease; }
.intro { padding:38px 0 30px; border-bottom:1px solid #e8ece8; }.eyebrow { margin:0 0 12px; color:var(--sage-dark); font-size:12px; font-weight:800; letter-spacing:.2em; }
h1 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:clamp(34px,7vw,48px); line-height:1.17; letter-spacing:-.035em; font-weight:500; }.subtitle { margin:17px 0 0; max-width:430px; color:var(--muted); font-size:15px; line-height:1.75; }
.question-block { padding:28px 0 20px; }.question-spacious { min-height:540px; padding-top:58px; }.question-number { margin:0 0 9px; color:#98a69f; font-size:11px; letter-spacing:.18em; font-weight:700; }h2 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:24px; font-weight:500; }.hint { margin:7px 0 19px; color:#8c9994; font-size:13px; }
.option-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.option-grid-single { grid-template-columns:1fr; }.option { min-height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 16px; color:#40554d; background:white; border:1px solid var(--line); border-radius:14px; cursor:pointer; transition:.18s ease; }.option:hover { border-color:#9bb3aa; transform:translateY(-1px); }.option.selected { color:var(--sage-dark); background:#edf3ef; border-color:var(--sage); box-shadow:0 4px 14px rgba(80,116,102,.1); }.radio-dot { width:15px; height:15px; border:1.5px solid #a9b7b1; border-radius:50%; }.selected .radio-dot { border:4.5px solid var(--sage-dark); background:white; }
.button-row { display:flex; gap:10px; align-items:center; }.button-row .primary-button { flex:1; }.primary-button { width:100%; min-height:56px; display:flex; align-items:center; justify-content:center; border:0; border-radius:15px; color:white; background:var(--sage-dark); font-weight:700; cursor:pointer; box-shadow:0 10px 22px rgba(70,109,95,.2); }.primary-button:disabled { color:#a6b0ac; background:#e4e8e5; box-shadow:none; cursor:not-allowed; }.back-button { min-width:88px; min-height:56px; padding:0 14px; color:#61726b; background:transparent; border:1px solid #dbe2de; border-radius:15px; cursor:pointer; }.invisible { visibility:hidden; }.privacy-note { margin:14px 0 0; text-align:center; color:#98a39e; font-size:11px; }
.field { display:block; margin-top:20px; color:#52645c; font-size:13px; font-weight:700; }.field input { width:100%; height:56px; margin-top:8px; padding:0 16px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; font-size:16px; outline:none; transition:.18s ease; }.field input:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(104,143,128,.12); }.consent { display:flex; gap:8px; align-items:flex-start; margin:18px 0; color:#75827d; font-size:12px; line-height:1.55; }.consent input { margin-top:2px; accent-color:var(--sage-dark); }.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.error-message { margin:0 0 12px; color:#a34d47; font-size:12px; }
.success-card { min-height:760px; }.success-content { padding:56px 0 20px; }.success-check { display:grid; place-items:center; width:46px; height:46px; margin-bottom:26px; color:#fff; background:var(--sage-dark); border-radius:50%; font-size:22px; }.success-content h1 { font-size:clamp(32px,6vw,43px); }.result-box { margin:28px 0 18px; padding:6px 20px; background:#f0f4f1; border-radius:16px; }.result-box div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid #dce5df; }.result-box div:last-child { border-bottom:0; }.result-box span { color:#798781; font-size:12px; }.result-box strong { text-align:right; color:#3f5c51; font-size:14px; }.benefit-box { margin-bottom:20px; padding:17px 18px; border:1px solid #dfd4c0; border-radius:16px; background:#fbf5ea; }.benefit-box span { color:#956f3e; font-size:11px; font-weight:800; letter-spacing:.12em; }.benefit-box p { margin:7px 0 0; color:#705e48; font-size:13px; line-height:1.6; }.contact-promise { display:flex; flex-direction:column; align-items:center; gap:6px; width:100%; padding:17px; color:white; background:var(--sage-dark); border-radius:15px; text-align:center; box-shadow:0 10px 22px rgba(70,109,95,.2); }.contact-promise strong { font-size:14px; }.contact-promise span { color:#dce9e3; font-size:12px; }
.ambient { position:absolute; border:1px solid rgba(87,118,105,.15); border-radius:50%; }.ambient-one { width:360px; height:360px; left:-160px; bottom:-110px; }.ambient-two { width:230px; height:230px; right:-70px; top:-80px; }
.admin-login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 20% 0%,rgba(160,187,167,.4),transparent 32%),var(--cream); }.admin-login-card { width:min(100%,430px); padding:42px; background:var(--paper); border:1px solid rgba(85,111,100,.13); border-radius:24px; box-shadow:0 24px 70px rgba(51,70,62,.14); }.admin-login-card h1 { font-size:38px; }.admin-brand { margin-bottom:28px; }.admin-login-card .primary-button { margin-top:22px; }.admin-back { display:block; margin-top:22px; color:#73827c; text-align:center; text-decoration:none; font-size:12px; }
.admin-shell { min-height:100vh; padding:48px max(24px,calc((100vw - 1180px)/2)); background:#f4f2ec; }.admin-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }.admin-header h1 { font-size:44px; }.admin-header p:last-child { margin:10px 0 0; color:#718078; }.admin-actions { display:flex; align-items:center; gap:16px; }.secondary-link { padding:12px 18px; color:white; background:var(--sage-dark); border-radius:12px; text-decoration:none; font-size:13px; font-weight:700; }.text-button { color:#6c7a74; background:transparent; border:0; cursor:pointer; }.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }.stat-grid article { padding:20px 22px; background:var(--paper); border:1px solid #e2e4df; border-radius:16px; }.stat-grid span { display:block; color:#7c8983; font-size:12px; }.stat-grid strong { display:block; margin-top:10px; color:var(--ink); font-family:Georgia,serif; font-size:32px; font-weight:500; }.lead-list { display:grid; gap:14px; }.lead-card { padding:24px; background:var(--paper); border:1px solid #e2e4df; border-radius:18px; }.lead-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.lead-head>div { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }.lead-head h2 { font-family:Arial,"PingFang SC",sans-serif; font-size:19px; font-weight:700; }.lead-head a { color:var(--sage-dark); font-size:14px; }.lead-head time { color:#929d98; font-size:12px; }.status { padding:5px 8px; border-radius:8px; font-size:11px; font-weight:700; }.status-new { color:#9a642a; background:#faebd4; }.status-contacted { color:#356b76; background:#dceef1; }.status-booked { color:#526a36; background:#e5efd8; }.status-converted { color:#fff; background:var(--sage-dark); }.status-closed { color:#767676; background:#ececec; }.lead-details { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin:20px 0; }.lead-details div { padding:12px; background:#f5f5f1; border-radius:10px; }.lead-details span { display:block; margin-bottom:6px; color:#8a9690; font-size:10px; }.lead-details strong { color:#44564f; font-size:12px; }.hot-text { color:#a05236!important; }.lead-form { display:grid; grid-template-columns:130px 1fr 98px; gap:8px; }.lead-form select,.lead-form input { height:42px; padding:0 12px; color:#40534b; background:#fff; border:1px solid #d9e0dc; border-radius:10px; outline:none; }.lead-form select:focus,.lead-form input:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(104,143,128,.1); }.lead-form button { color:#fff; background:var(--sage-dark); border:0; border-radius:10px; cursor:pointer; font-size:13px; font-weight:700; }.followup-panel { margin-top:20px; padding-top:16px; border-top:1px solid #e4e8e5; }.followup-panel summary { display:flex; align-items:center; gap:8px; color:#52635c; cursor:pointer; font-size:13px; font-weight:700; list-style:none; }.followup-panel summary::-webkit-details-marker { display:none; }.followup-panel summary::before { content:"＋"; display:grid; place-items:center; width:19px; height:19px; color:#fff; background:#90a79d; border-radius:50%; font-size:13px; }.followup-panel[open] summary::before { content:"−"; }.followup-panel summary span { color:#87948e; font-size:11px; font-weight:400; }.followup-timeline { max-height:320px; overflow:auto; margin:16px 0 0 9px; padding:0 4px 0 20px; border-left:1px solid #cfdad5; }.followup-item { position:relative; padding:0 0 20px; }.followup-item:last-child { padding-bottom:4px; }.followup-dot { position:absolute; top:5px; left:-25px; width:9px; height:9px; background:var(--sage-dark); border:2px solid var(--paper); border-radius:50%; box-shadow:0 0 0 2px #adc0b8; }.followup-meta { display:flex; align-items:center; gap:9px; }.followup-meta time { color:#8c9893; font-size:11px; }.followup-meta .status { padding:3px 7px; font-size:10px; }.followup-item p { margin:8px 0 0; color:#40534b; font-size:13px; line-height:1.65; white-space:normal; }.followup-empty { margin:0 0 4px; color:#919c97; font-size:12px; }.empty-state { display:flex; flex-direction:column; align-items:center; gap:8px; padding:70px 20px; color:#7c8983; background:var(--paper); border:1px solid #e2e4df; border-radius:18px; }.empty-state strong { color:#42554d; }
.assessment-shell { align-items:start; padding-top:32px; padding-bottom:60px; }.assessment-card { width:min(100%,700px); min-height:auto; }.assessment-form-card { width:min(100%,760px); }.assessment-intro { padding:38px 0 20px; }.assessment-intro h1,.confirm-heading h1 { font-size:clamp(36px,7vw,50px); }.assessment-points { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }.assessment-points span { padding:7px 10px; color:#587065; background:#edf3ef; border-radius:99px; font-size:11px; }.profile-form { margin-top:12px; padding-top:6px; border-top:1px solid #e8ece8; }.profile-form .primary-button { margin-top:24px; }.linked-customer { margin:4px 0 18px; padding:12px 14px; color:#486358; background:#edf3ef; border-left:3px solid var(--sage-dark); border-radius:8px; font-size:12px; line-height:1.6; }.section-heading { padding:30px 0 20px; border-bottom:1px solid #e7ebe8; }.section-heading h2 { font-size:31px; }.assessment-questions { display:grid; gap:0; }.assessment-question { min-width:0; margin:0; padding:24px 0; border:0; border-bottom:1px solid #e8ece9; }.assessment-question legend { width:100%; padding:0; }.assessment-question-head { display:flex; align-items:flex-start; gap:10px; margin-bottom:15px; }.assessment-question-head>span { flex:none; display:grid; place-items:center; width:24px; height:24px; color:#72837b; background:#edf1ee; border-radius:50%; font-size:10px; font-weight:800; }.assessment-question-head h3 { margin:1px 0 0; color:#30453d; font-size:15px; line-height:1.5; }.choice-wrap { display:flex; flex-wrap:wrap; gap:8px; padding-left:34px; }.choice-chip { min-height:38px; padding:8px 13px; color:#5c6d66; background:#fff; border:1px solid #dbe3de; border-radius:10px; cursor:pointer; font-size:12px; }.choice-chip.selected { color:#fff; background:var(--sage-dark); border-color:var(--sage-dark); box-shadow:0 5px 12px rgba(70,109,95,.16); }.number-scale { display:grid; grid-template-columns:repeat(11,1fr); gap:5px; padding-left:34px; }.scale-button { aspect-ratio:1; min-width:0; color:#66766f; background:#fff; border:1px solid #d9e1dd; border-radius:9px; cursor:pointer; font-size:12px; }.scale-button.selected { color:#fff; background:var(--sage-dark); border-color:var(--sage-dark); }.scale-labels { display:flex; justify-content:space-between; padding:7px 0 0 34px; color:#929d98; font-size:10px; }.rating-row { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; padding-left:34px; }.rating-button { min-height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; color:#687972; background:#fff; border:1px solid #d9e1dd; border-radius:10px; cursor:pointer; }.rating-button strong { font-size:14px; }.rating-button span { min-height:12px; color:#9aa49f; font-size:9px; }.rating-button.selected { color:#fff; background:var(--sage-dark); border-color:var(--sage-dark); }.rating-button.selected span { color:#e5eee9; }.assessment-nav { margin-top:24px; }.confirm-heading { padding:48px 0 25px; }.field textarea { width:100%; min-height:150px; margin-top:8px; padding:15px 16px; resize:vertical; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; outline:none; line-height:1.65; }.field textarea:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(104,143,128,.12); }.medical-note { margin:20px 0 0; color:#89958f; font-size:11px; line-height:1.7; text-align:center; }.admin-nav { display:flex; gap:7px; margin-top:17px; }.admin-nav a { padding:8px 11px; color:#66776f; background:#e8ece9; border-radius:9px; text-decoration:none; font-size:12px; font-weight:700; }.admin-nav a.active { color:#fff; background:var(--sage-dark); }.assessment-link { display:inline-flex; align-items:center; padding:8px 11px; color:#fff!important; background:#6e8f82; border-radius:9px; text-decoration:none; font-size:11px!important; font-weight:700; }.assessment-list { display:grid; gap:14px; }.assessment-admin-card { display:grid; grid-template-columns:1.1fr 1.5fr auto; align-items:center; gap:24px; padding:22px 24px; background:var(--paper); border:1px solid #e2e4df; border-radius:18px; }.assessment-admin-card h2 { margin:7px 0 5px; font:700 19px Arial,"PingFang SC",sans-serif; }.assessment-admin-card p { margin:0; color:#7c8983; font-size:12px; }.recommendation-preview span { color:#8a9690; font-size:10px; }.recommendation-preview strong { display:block; margin-top:7px; color:#40564d; font-size:15px; }.risk-badge { display:inline-block; padding:5px 8px; border-radius:8px; font-size:10px; font-weight:800; }.risk-low { color:#487152; background:#e3f0e5; }.risk-medium { color:#8b652e; background:#f5ead4; }.risk-high { color:#9a403b; background:#f5deda; }.report-link { padding:10px 14px; color:#fff; background:var(--sage-dark); border-radius:10px; text-decoration:none; font-size:12px; font-weight:700; white-space:nowrap; }.report-layout { display:grid; grid-template-columns:1.4fr .8fr; gap:18px; }.report-panel { padding:25px; background:var(--paper); border:1px solid #e2e4df; border-radius:18px; }.report-panel.full { grid-column:1/-1; }.report-panel h2 { margin-bottom:18px; font:700 20px Arial,"PingFang SC",sans-serif; }.course-hero { padding:24px; color:#fff; background:linear-gradient(135deg,#466d5f,#718f83); border-radius:15px; }.course-hero span { color:#dbe8e2; font-size:11px; }.course-hero strong { display:block; margin-top:8px; font:500 27px Georgia,"Songti SC",serif; }.course-hero p { margin:12px 0 0; color:#e7efeb; font-size:12px; line-height:1.7; }.report-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }.report-grid div { padding:14px; background:#f3f5f2; border-radius:11px; }.report-grid span { color:#87938d; font-size:10px; }.report-grid strong { display:block; margin-top:6px; color:#40544c; font-size:12px; line-height:1.55; }.tag-list { display:flex; flex-wrap:wrap; gap:8px; }.tag-list span { padding:7px 10px; color:#496358; background:#edf3ef; border-radius:8px; font-size:11px; }.warning-list span { color:#8c493e; background:#f8e8e4; }.answer-section { margin-top:22px; }.answer-section h3 { margin:0 0 10px; color:#40554d; font-size:14px; }.answer-table { width:100%; border-collapse:collapse; }.answer-table td { padding:10px 8px; border-bottom:1px solid #e8ebe8; color:#64736c; font-size:12px; line-height:1.55; }.answer-table td:first-child { width:56%; color:#87938d; }
@media (max-width:900px) { .stat-grid { grid-template-columns:1fr 1fr; }.lead-details { grid-template-columns:repeat(3,1fr); }.assessment-admin-card { grid-template-columns:1fr 1fr; }.assessment-admin-card .report-link { grid-column:1/-1; text-align:center; }.report-layout { grid-template-columns:1fr; }.report-panel.full { grid-column:auto; } }
@media (max-width:620px) { .page-shell { display:block; min-height:100svh; padding:0; background:var(--paper); }.survey-card { width:100%; min-height:100svh; border:0; border-radius:0; box-shadow:none; padding:22px 20px 20px; }.progress { margin:20px -20px 0; }.intro { padding:30px 0 25px; }.question-spacious { min-height:calc(100svh - 210px); padding-top:46px; }.option-grid { grid-template-columns:1fr; gap:9px; }.option { min-height:50px; }.primary-button { margin-top:4px; }.success-content { padding-top:42px; }.ambient { display:none; }.admin-login-card { padding:30px 22px; }.admin-shell { padding:28px 14px; }.admin-header { align-items:flex-start; flex-direction:column; }.admin-header h1 { font-size:36px; }.stat-grid { grid-template-columns:1fr 1fr; }.lead-card { padding:18px; }.lead-head { flex-direction:column; gap:10px; }.lead-details { grid-template-columns:1fr 1fr; }.lead-form { grid-template-columns:1fr; }.lead-form button { height:44px; } }
@media (max-width:620px) { .assessment-shell { padding:0; }.assessment-card { min-height:100svh; }.assessment-intro { padding-top:30px; }.choice-wrap,.number-scale,.scale-labels,.rating-row { padding-left:0; }.number-scale { grid-template-columns:repeat(6,1fr); }.scale-button { aspect-ratio:auto; min-height:38px; }.assessment-question-head h3 { font-size:14px; }.assessment-nav { position:sticky; bottom:0; margin:20px -20px 0; padding:12px 20px max(12px,env(safe-area-inset-bottom)); background:rgba(255,253,248,.96); border-top:1px solid #e4e8e5; }.assessment-admin-card { grid-template-columns:1fr; gap:15px; }.assessment-admin-card .report-link { grid-column:auto; }.report-grid { grid-template-columns:1fr; }.admin-nav { flex-wrap:wrap; } }
