:root{--brand:#7454b5;--deep:#573792;--ink:#292433;--muted:#756e80;--bg:#f6f4f9;--soft:#eee8f7;--border:#e4dfeb;--good:#246453;--warn:#8b5918;--error:#a53c49;font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid var(--border);border-radius:12px;padding:10px 16px;background:white;color:var(--ink)}button:hover{border-color:var(--brand)}button:disabled{opacity:.48;cursor:default}button.primary{color:white;background:var(--brand);border-color:var(--brand)}button.danger{color:var(--error)}button.link{border:0;color:var(--deep);background:transparent;padding:8px}a{color:var(--deep)}input,select,textarea{width:100%;padding:11px 13px;background:white;border:1px solid var(--border);border-radius:11px;color:var(--ink)}textarea{resize:vertical;min-height:120px}input[type=checkbox]{width:20px;height:20px;margin:0 9px 0 0;vertical-align:middle}label{display:block;margin:12px 0 5px}h1{font-size:28px;line-height:1.45;margin:10px 0 16px}h2{font-size:20px;line-height:1.5;margin:0 0 12px}h3{font-size:17px;margin:0 0 9px}p{margin:8px 0 15px}small,.muted{color:var(--muted);font-size:14px}.eyebrow{color:var(--brand);font-size:14px}header{background:white;border-bottom:1px solid var(--border);padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:750}.brand img{height:38px;width:38px;border-radius:9px}.header-tools{display:flex;gap:8px;align-items:center}.header-tools select{max-width:160px;min-height:44px}.mobile{max-width:620px;margin:auto;min-height:100dvh;background:var(--bg)}.mobile main{padding:24px 20px 105px}.card{padding:20px;background:white;border:1px solid var(--border);border-radius:16px;margin:16px 0}.card.soft{background:var(--soft);border:0}.card.warning{background:#fff3da;border:0;color:var(--warn)}.card.error{background:#fff0f0;border-color:#edcdd1;color:var(--error)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.wrap{flex-wrap:wrap}.voice-main{display:flex;justify-content:center;align-items:center;gap:13px;width:100%;min-height:90px;font-weight:650;font-size:20px}.voice-dot{display:grid;place-items:center;width:35px;height:35px;border:1px solid #c9b7ec;border-radius:50%;font-size:21px}.recording{background:#a53c49!important;border-color:#a53c49!important}.chips{display:flex;flex-wrap:wrap;gap:9px}.chips button{border-radius:30px;font-size:14px;min-height:44px}.badge{display:inline-block;background:var(--soft);color:var(--deep);padding:4px 10px;border-radius:30px;font-size:13px}.badge.good{color:var(--good);background:#e6f1ec}.badge.warn{color:var(--warn);background:#fff3da}.section-text{white-space:pre-wrap;word-break:break-word}.mobile nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,620px);display:flex;background:white;border-top:1px solid var(--border);padding:8px 7px calc(8px + env(safe-area-inset-bottom));z-index:5}.mobile nav button{flex:1;min-width:0;padding:10px 3px;border:0;border-radius:11px;font-size:13px;background:transparent;color:var(--muted)}nav button.active{background:var(--soft);color:var(--brand)}nav button span{display:block;font-size:19px;margin-bottom:2px}.expert{min-height:100dvh}.expert header{padding:18px 28px}.workspace{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1550px;margin:auto}.sidebar{padding:24px 12px;background:white;border-right:1px solid var(--border);min-height:calc(100dvh - 80px)}.sidebar button{width:100%;text-align:left;margin-bottom:4px;border:0;background:transparent}.sidebar button.active{background:var(--soft);color:var(--deep)}.expert main{padding:25px 30px;min-width:0}.case-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--soft);border-radius:12px;padding:13px 18px;margin-bottom:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.grid>.card{margin:0}.grid .card{min-width:0}.list-item{padding:16px 0;border-bottom:1px solid var(--border)}.list-item:last-child{border:0}.empty{padding:28px 18px;border:1px dashed var(--border);border-radius:16px;background:white}.empty h3{font-size:18px}.progress{border-left:2px solid var(--border);margin-left:9px;padding-left:24px}.progress p{position:relative}.progress p:before{content:"";position:absolute;left:-31px;top:10px;border-radius:50%;width:11px;height:11px;background:var(--border)}.progress p.current:before{background:var(--brand)}.score{display:flex;align-items:center;gap:10px;margin:14px 0}.score>span{width:45px}.score-track{flex:1;height:12px;background:var(--soft);border-radius:10px;overflow:hidden}.score-bar{height:100%;background:var(--brand)}.metric{font-size:29px;color:var(--deep)}.metrics{display:flex;gap:24px;flex-wrap:wrap}.login{max-width:460px;margin:7vh auto;padding:20px}.login .card{padding:30px}.login .brand{margin-bottom:24px}.note{padding:10px 14px;border-left:3px solid var(--brand);background:var(--soft);margin:15px 0}.error-text,#dialog-error{color:var(--error)}dialog{max-width:720px;width:calc(100% - 28px);max-height:90dvh;border:0;border-radius:22px;padding:24px;color:var(--ink);box-shadow:0 20px 90px #29243340}dialog::backdrop{background:#29243366}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head button{border:0;background:var(--bg);font-size:24px;min-width:44px;padding:2px}.dialog-head h2{margin:0}#dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}#toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);max-width:90%;color:white;background:var(--ink);padding:12px 20px;border-radius:12px;box-shadow:0 3px 20px #29243333;z-index:30;display:none}.checkbox{display:flex;align-items:flex-start;gap:8px;margin:12px 0}.checkbox input{flex:none;margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{margin-top:0}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);vertical-align:top;word-break:break-word}.table-wrap{overflow:auto;max-width:100%}.audit{font-family:monospace;font-size:13px}.file-list button{max-width:100%;overflow-wrap:anywhere}.divider{height:1px;background:var(--border);margin:20px 0}details{margin:14px 0}summary{cursor:pointer;color:var(--deep);min-height:44px;padding:8px 0}.loading{padding:40px;text-align:center}.spinner{border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;height:24px;width:24px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:3px solid #b99bdf;outline-offset:2px}@media(max-width:900px){.workspace{grid-template-columns:1fr}.sidebar{display:flex;overflow-x:auto;min-height:0;padding:8px;gap:6px;border-bottom:1px solid var(--border)}.sidebar button{width:auto;white-space:nowrap;flex-shrink:0}.expert main{padding:20px}.grid{grid-template-columns:1fr}}@media(max-width:430px){h1{font-size:26px}.header-tools select{max-width:112px;font-size:14px}.brand{font-size:19px}.form-grid{grid-template-columns:1fr}.mobile main{padding-top:20px}.row{flex-wrap:wrap}.expert header{padding:15px}.expert .brand{font-size:17px}}
:root .header-tools select{width:110px;flex:none}.header-tools button.link{min-width:44px;padding:8px;white-space:nowrap;flex:none}.case-bar select{width:auto;max-width:100%}

.communication-session{border-top:1px solid #e5dff0;margin-top:24px;padding-top:16px}.communication-session small{color:#70647e}.communication-panel .actions{flex-wrap:wrap}.communication-panel [role=status]{overflow-wrap:anywhere}

.dossier-dimensions{margin:20px 0}.dossier-dimensions .active{background:#7454b5;color:white}.dossier-group>h2{margin:28px 0 12px}.dossier-point details{margin:12px 0}.dossier-point .actions{flex-wrap:wrap}.dossier-point p{overflow-wrap:anywhere}
.dossier-note-hint{font-size:13px;color:var(--muted);margin:7px 0 17px}.dossier-note-example{padding:12px 14px;margin:8px 0 22px;background:var(--soft);border-radius:10px;font-size:13px;line-height:1.75;overflow-wrap:anywhere}.dossier-note-example strong{display:block;color:var(--deep);font-size:12px;margin-bottom:4px}.dossier-note-example span{display:block;color:#625275}#dialog [name=topic]{min-width:0;max-width:100%;font-size:14px}

.intake-intro{margin-bottom:24px}.intake-intro h1{font-size:27px;margin-bottom:10px}.intake-zone{padding:22px;margin:22px 0;border-top:4px solid var(--brand);box-shadow:0 4px 18px #30274305}.zone-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.zone-heading h2{margin:0 0 5px}.zone-heading p{margin:0}.zone-number{flex:none;display:grid;place-items:center;width:34px;height:34px;background:var(--soft);color:var(--deep);border-radius:10px;font-weight:750}.zone-concern .voice-main{margin-top:0;min-height:76px}.zone-concern textarea{min-height:128px}.intake-response{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}.intake-recording{border-top:1px solid var(--border);padding-top:7px;margin-bottom:0}.intake-recording summary{font-size:14px}.intake-recording .card{box-shadow:none;border:0;background:var(--bg);margin-bottom:0}.zone-materials{border-top-color:#458c79;background:#fbfdfc}.zone-materials .zone-number{background:#e8f3ee;color:#246453}.material-types{display:flex;flex-wrap:wrap;gap:8px}.material-types span{padding:5px 11px;background:#eaf3ef;border-radius:8px;color:#356252;font-size:13px}.material-upload{width:100%;color:#246453;border-color:#97beaf;background:white;font-weight:650}.material-destination{font-size:13px;padding:9px 12px;background:#eef4f1;border-radius:8px;overflow-wrap:anywhere}.home-material-list{border-top:1px solid #dce8e1;margin-top:20px;padding-top:18px}.home-material-list strong{overflow-wrap:anywhere}.home-material-list .list-item{padding:12px 0}.home-material-list .row{margin-top:8px}.zone-next{border-top-color:#b9a8cf;background:#fdfcfe}.consultation-summary{border-left:3px solid #c7b4e3;padding:1px 0 1px 14px;margin:16px 0}.consultation-summary p{overflow-wrap:anywhere}.zone-next .actions button{flex:1 1 180px}.intake-zone [role=status]{overflow-wrap:anywhere}@media(max-width:430px){.intake-zone{padding:18px 16px;margin:24px 0}.intake-intro h1{font-size:25px}.zone-heading{gap:11px}.zone-heading h2{font-size:19px}.zone-concern .voice-main{font-size:18px}.intake-zone .chips{gap:7px}.intake-zone .chips button{font-size:13px;padding:8px 11px}}

.consultation-picker{margin:18px 0 24px;padding:12px 16px;background:#eee8f780;border:1px solid var(--border);border-radius:13px}.consultation-picker label{font-size:14px;font-weight:650;margin:0 0 8px}.consultation-picker p{margin:8px 0 0;font-size:12px}.consultation-picker select{font-size:14px}.journey-next{margin:18px 0;padding:16px;background:var(--soft);border-radius:12px}.journey-next h3{font-size:16px}.journey-next p{font-size:14px;margin-bottom:10px}.journey-steps{list-style:none;padding:0;margin:0}.journey-steps li{display:flex;align-items:flex-start;gap:13px;padding:16px 6px;border-bottom:1px solid var(--border)}.journey-steps li:last-child{border-bottom:0}.journey-step-number{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--bg);color:var(--muted)}.journey-steps li.active{background:#f2edf8;border-radius:12px;border-bottom:0}.journey-steps li.active .journey-step-number{background:var(--brand);color:white}.journey-steps .badge{font-size:11px;padding:2px 7px;margin-left:9px}.journey-steps p{margin:4px 0 0;font-size:13px;color:var(--muted)}.journey-counts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.journey-counts span{font-size:13px;padding:7px 11px;background:var(--bg);border-radius:10px}.journey-counts strong{color:var(--deep)}

.structure-intro{margin:6px 0 24px}.structure-intro h1{margin-bottom:10px}.structure-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.structure-shortcuts button{font-size:13px;padding:8px 12px;border-radius:24px;color:var(--deep);background:#ffffff}.structure-zone{--zone-accent:#7454b5;--zone-soft:#eee8f7;--zone-ink:#573792;background:white;border:1px solid var(--border);border-top:4px solid var(--zone-accent);border-radius:16px;padding:22px;margin:22px 0;scroll-margin-top:22px}.structure-zone.tone-materials{--zone-accent:#458c79;--zone-soft:#e8f3ee;--zone-ink:#246453}.structure-zone.tone-next{--zone-accent:#a67d4b;--zone-soft:#f8efe3;--zone-ink:#795323}.structure-zone.tone-history{--zone-accent:#9080ab;--zone-soft:#efedf4;--zone-ink:#625176}.structure-zone-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:19px}.structure-number{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;color:var(--zone-ink);background:var(--zone-soft);font-size:15px;font-weight:750}.structure-zone-heading h2{margin:0 0 5px;font-size:20px}.structure-zone-heading p{margin:0;font-size:14px}.structure-zone-content:empty{display:none}.structure-zone-content>.card{margin:12px 0;border-color:#e9e4ef;background:#fdfcfe;padding:18px;box-shadow:none}.structure-zone-content>.card:first-child{margin-top:0}.structure-zone-content>.card:last-child{margin-bottom:0}.structure-zone-content>.empty{padding:18px 10px;margin:0}.structure-zone-content>.actions:first-child{margin-top:0}.structure-zone-content>.communication-panel{border:0;padding:0;background:transparent}.structure-zone-content>.structured-form.card{border:0;padding:0;background:transparent}.structure-zone-content>label:first-child{margin-top:0}.structure-zone-content .card h3{font-size:17px}.structure-zone-content button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.structured-fields{min-inline-size:0;border:1px solid #e7e0ef;background:#faf8fd;border-radius:12px;padding:14px 16px 18px;margin:20px 0}.structured-fields legend{font-size:15px;font-weight:700;color:var(--deep);padding:0 8px;max-width:100%;overflow-wrap:anywhere}.structured-fields>label:first-of-type{margin-top:7px}.structured-fields>.actions{margin-bottom:0}.structure-benefits{padding-left:20px;margin:0 0 18px}.structure-benefits li{margin:10px 0}.login{max-width:520px}.login .structure-zone{padding:24px}.sidebar-section{padding:0 0 15px;margin:0 0 15px;border-bottom:1px solid var(--border)}.sidebar-section:last-child{border-bottom:0}.sidebar-section h2{font-size:12px;letter-spacing:.3px;color:var(--muted);padding:4px 12px;margin:0 0 7px}.sidebar-section button{display:block;width:100%;text-align:left}.structured-page h3{overflow-wrap:anywhere}.structured-page .list-item>strong{overflow-wrap:anywhere}.structured-page .section-text{overflow-wrap:anywhere}.structure-zone-content .metrics{gap:20px}.structure-zone-content .table-wrap{margin-top:8px}dialog .dialog-head{border-bottom:1px solid var(--border);padding-bottom:15px;margin-bottom:18px}dialog .structured-fields{background:#faf8fd}dialog #dialog-actions{border-top:1px solid var(--border);padding-top:18px}dialog #dialog-body>p:first-child{margin-top:0}@media(min-width:1100px){.expert .structure-intro h1{font-size:30px}.expert .structured-page{max-width:1180px}.expert .structure-zone-content>.structured-form .structured-fields{padding:18px 22px}.expert .structure-zone{padding:24px 28px}.expert .structure-zone-heading{margin-bottom:22px}}@media(max-width:900px){.sidebar-section{display:flex;gap:6px;align-items:center;padding:0 8px 0 0;margin:0;border-bottom:0;border-right:1px solid var(--border)}.sidebar-section h2{writing-mode:vertical-rl;flex:none;padding:0 3px;margin:0;font-size:11px}.sidebar-section button{width:auto}.structure-zone{padding:20px}}@media(max-width:430px){.structure-zone{padding:18px 16px;margin:24px 0}.structure-zone-heading{gap:11px}.structure-zone-heading h2{font-size:19px}.structure-zone-content>.card{padding:15px}.structured-fields{padding:12px 12px 16px;margin:18px 0}.structure-shortcuts{gap:7px}.structure-shortcuts button{font-size:12px;padding:8px 10px}.login .structure-zone{padding:20px}.structure-zone-content>.communication-panel{padding:0}.structure-zone-content .row{gap:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.structure-zone-content .table-wrap{max-height:520px;overflow:auto;overscroll-behavior:contain}.structure-zone-content .table-wrap th{position:sticky;top:0;background:#faf8fd;z-index:1}

/* Family service progress and expert response workbench. */
.care-value-list{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.care-value-list span{background:#eee8f8;color:#594288;border-radius:18px;padding:6px 11px;font-size:13px}
.care-reception{background:#f6f3fb;border:1px solid #e9e1f5;border-radius:14px;padding:12px 15px;margin:14px 0}.care-reception p{margin:5px 0;font-size:13px;line-height:1.7}
.care-service-card{border-top:4px solid #8061ba}.care-key-list{margin:14px 0}.care-key-list>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid #eee9f3}.care-key-list dt{color:#756983;font-size:13px}.care-key-list dd{margin:0;line-height:1.7;overflow-wrap:anywhere}
.care-deadlines{display:grid;gap:8px;margin:12px 0}.care-deadline{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;background:#f5f8f6;border-radius:12px;padding:10px 12px;font-size:13px}.care-late{background:#fff4e9}.care-deadline .badge{margin-left:auto}
.care-guidance{border-top:4px solid #709c83}.care-guide-list{display:grid;gap:8px;margin:12px 0}.care-guide-list button{text-align:left;white-space:normal;line-height:1.6}.care-ai-option{background:#faf8fd;border:1px solid #eee8f4;border-radius:12px;padding:12px;margin:12px 0}.care-ai-option>summary{cursor:pointer;color:#6f5c87}.care-ai-option button{margin-top:8px}
.care-overview{border-top:4px solid #709c83}.care-first-steps{display:grid;gap:12px;margin:15px 0}.care-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;border:1px solid #e7e4ed;border-radius:14px;padding:14px}.care-step h3{margin:0 0 8px}.care-step-number{display:flex;width:27px;height:27px;align-items:center;justify-content:center;background:#e9f1ec;color:#47755c;border-radius:50%;font-weight:700}.care-step p{overflow-wrap:anywhere}.care-child-summary{border-top:4px solid #709c83}.care-request{border-left:4px solid #c4a16d}.care-service-card small{display:block;line-height:1.7}
@media(max-width:480px){.care-key-list>div{grid-template-columns:76px minmax(0,1fr);gap:8px}.care-step{padding:12px;gap:8px}.care-service-card .row{align-items:flex-start;flex-wrap:wrap}.care-deadline{gap:6px}.care-service-card>.actions{display:grid;grid-template-columns:minmax(0,1fr)}.care-value-list span{font-size:12px}.care-reception{padding:10px 12px}}

.intake-shortcuts button{font-size:13px;padding:10px}.care-reception-short{font-size:13px;margin-bottom:0}

/* Shared consultation process and itemized, manually verified fees. */
.process-simulation{border:1px solid #e1b96d;background:#fff4df;color:#6c4716;border-radius:12px;padding:14px 16px;margin:12px 0 22px}.process-simulation p{margin:6px 0 0;font-size:13px}.process-counts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.process-counts span{padding:8px 11px;background:var(--soft);border-radius:9px;font-size:13px}.process-session h3{overflow-wrap:anywhere}.process-session h4{font-size:15px;margin:20px 0 8px}.process-dialogue{display:grid;gap:12px;margin:16px 0}.process-line{padding:12px 14px;border-left:3px solid #c8b6e5;background:#faf8fd;border-radius:0 10px 10px 0}.process-line strong{display:block;font-size:13px;color:var(--deep);margin-bottom:6px}.process-line.role-child{border-color:#80ab94;background:#f2f8f4}.process-line.role-parent{border-color:#bea87e;background:#faf7f0}.process-dialogue-row{border:1px solid var(--border);border-radius:12px;padding:14px;margin:14px 0;min-width:0}.process-session details{min-width:0}.process-session .section-text,.process-payment-list p{overflow-wrap:anywhere}.process-entry{margin:14px 0}.process-offer-row{min-width:0}@media(max-width:430px){.process-session{padding:16px}.process-counts{gap:7px}.process-counts span{font-size:12px}.process-line{padding:10px 12px}.process-dialogue-row{padding:10px}.process-session h3{font-size:17px}}
