:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;color:#3a2e22;background:#fdf8ee;font-synthesis:none;--brand-deep: #c8956d;--brand: #d4a574;--brand-soft: #fbf3e0;--brand-line: #ecdcc0;--text-1: #3a2e22;--text-2: #6b5c4f;--text-3: #a99988;--line: #f0e5d2;--line-soft: #faf1e0;--page: #fdf8ee;--surface: #fff;--warn-bg: #fff7e6;--warn-fg: #b45309;--danger-bg: #fee2e2;--danger-fg: #b91c1c;--success-bg: #dcfce7;--success-fg: #15803d;--radius: 14px}*{box-sizing:border-box}html{min-width:320px;background:var(--page)}body{margin:0;min-width:320px;min-height:100vh;background:var(--page);font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(212,165,116,.28);outline-offset:2px}h1,h2,h3,p{margin-top:0}.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}.app-shell{min-height:100vh}.brand-topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:var(--text-1);background:linear-gradient(90deg,#fffaf0,#fff5e1);border-bottom:1px solid var(--line)}.brand-title{display:flex;align-items:center;gap:40px}.brand-title strong{color:var(--brand-deep);font-size:17px;font-weight:700;letter-spacing:1.5px}.brand-title span{font-size:13px;opacity:.78}.school-identity{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border-left:1px solid var(--brand-line);color:var(--brand-deep)}.school-identity b{font-size:13px;font-weight:600;white-space:nowrap}.school-identity select{max-width:240px;height:32px;padding:0 28px 0 8px;border:1px solid var(--brand-line);border-radius:7px;color:var(--text-1);background:#fffc;font-size:12px}.top-actions{display:flex;align-items:center;gap:14px}.icon-button{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent}.brand-topbar .icon-button{color:var(--brand-deep)}.brand-topbar .icon-button:hover{background:#d4a5741f}.top-actions .icon-button i{position:absolute;top:8px;right:8px;width:7px;height:7px;border:2px solid #fff8e9;border-radius:50%;background:#e5b8a8}.top-user{display:flex;align-items:center;gap:7px;padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px}.top-user>span{display:grid;line-height:1.25}.top-user small{color:var(--text-3);font-size:10px;font-weight:400}.primary-nav{height:55px;overflow-x:auto;border-bottom:1px solid var(--line);background:#fff;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.nav-inner{max-width:1320px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:stretch;gap:36px}.primary-nav button{position:relative;flex:none;display:inline-flex;align-items:center;gap:7px;padding:0;border:0;color:var(--text-2);background:transparent;font-size:14px}.primary-nav button:hover,.primary-nav button.active{color:var(--brand)}.primary-nav button.active{font-weight:600}.primary-nav button.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:var(--brand)}.subnav{height:47px;display:flex;align-items:center;gap:8px;padding:0 32px;border-bottom:1px solid var(--line);color:var(--text-3);background:#fff;font-size:13px}.subnav strong{color:var(--brand);font-weight:600}.active-dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}.main-area{min-height:calc(100vh - 111px)}.page-wrap{width:min(1320px,calc(100% - 40px));margin:20px auto 48px;padding:24px 32px 32px;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 0 20px;border-bottom:1px solid var(--line-soft)}.page-header h1,.welcome-panel h1{margin:5px 0 4px;color:var(--text-1);font-size:22px;font-weight:600;letter-spacing:0}.page-header p,.welcome-panel p{max-width:760px;margin:0;color:var(--text-2);font-size:13px}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:12px;font-weight:600;letter-spacing:0}.primary-button,.secondary-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 18px;border:1px solid transparent;border-radius:8px;font-size:13px;transition:.15s}.primary-button{color:#fff;background:var(--brand-deep);border-color:var(--brand-deep);box-shadow:0 2px 6px #c8956d33}.primary-button:hover{background:#b9835b}.secondary-button{color:var(--text-1);background:#fff;border-color:#dde3ee}.secondary-button:hover{color:var(--brand);border-color:var(--brand)}.text-button{display:inline-flex;align-items:center;gap:5px;padding:3px 0;border:0;color:var(--brand);background:transparent;font-size:13px}.text-button:hover{text-decoration:underline}.welcome-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.date-card{display:flex;align-items:center;gap:12px;padding:9px 14px;border:1px solid var(--brand-line);border-radius:6px;background:#fff}.date-card>svg{color:var(--brand-deep)}.date-card>span{display:grid;line-height:1.4}.date-card small{color:var(--text-2)}.date-card strong{color:var(--text-1);font-size:13px}.scope-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:12px 16px;border:1px solid var(--brand-line);border-radius:10px;background:#fffaf3}.scope-toolbar>div:first-child{display:flex;align-items:center;gap:9px;color:var(--brand-deep)}.scope-toolbar>div:first-child span{display:grid;line-height:1.35}.scope-toolbar small{color:var(--text-3);font-size:10px}.scope-toolbar strong{color:var(--text-1);font-size:13px}.scope-selects{display:flex;align-items:center;gap:10px}.scope-selects label{display:flex;align-items:center;gap:7px;color:var(--text-2);font-size:12px}.scope-selects select{min-width:140px;height:38px;padding:0 30px 0 10px;border:1px solid var(--brand-line);border-radius:8px;color:var(--text-1);background:#fff}.scope-selects select:disabled{cursor:not-allowed;color:var(--text-2);background:#f6efe4}.scope-selects .term-select select{min-width:230px}.dashboard-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 13px;border:1px solid #f5caca;border-radius:8px;color:var(--danger-fg);background:#fff4f4}.dashboard-error button{border:0;color:inherit;background:transparent;text-decoration:underline}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.metrics article{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff}.metrics article header{display:flex;align-items:center;gap:8px;padding:10px 16px;color:#fff;background:var(--brand-deep);font-size:13px;font-weight:500;letter-spacing:.3px}.metrics article>div{padding:16px 16px 18px;background:#fff}.metrics strong{color:var(--brand);font-size:30px;line-height:1.2;font-variant-numeric:tabular-nums}.metrics strong i{margin-left:4px;color:var(--text-2);font-size:13px;font-style:normal;font-weight:400}.metrics p{margin:5px 0 0;color:var(--text-3);font-size:12px}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-top:28px}.dashboard-right-stack{display:grid;align-content:start;gap:18px}.panel{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff}.focus-panel,.rhythm-panel{padding:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-heading h2,.quick-section h2{display:flex;align-items:center;gap:9px;margin:3px 0 0;font-size:16px;font-weight:600}.panel-heading h2:before,.quick-section h2:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--brand)}.focus-list{display:grid}.focus-list>button{min-height:66px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 4px;border:0;border-top:1px solid #f3f5fa;text-align:left;background:transparent}.focus-list>button:hover{background:#fafbff}.student-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--brand);background:var(--brand-soft);font-weight:600}.tone-2{color:#b45309;background:#fff7e6}.tone-3{color:#15803d;background:#dcfce7}.student-summary{display:grid;gap:3px}.student-summary strong{font-size:14px}.student-summary strong i{margin-left:8px;padding:2px 7px;border-radius:4px;color:var(--brand);background:var(--brand-soft);font-size:11px;font-style:normal;font-weight:400}.student-summary small{color:var(--text-3)}.status{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:3px 10px;border-radius:4px;font-size:12px;white-space:nowrap}.status-持续关注,.health-重点关怀{color:var(--danger-fg);background:var(--danger-bg)}.status-稳定跟进,.health-日常关注{color:var(--warn-fg);background:#fef3c7}.status-阶段完成,.health-状态稳定{color:var(--success-fg);background:var(--success-bg)}.rhythm-bars{display:grid;gap:18px;margin-top:24px}.rhythm-bars>div{display:grid;grid-template-columns:72px 1fr 26px;align-items:center;gap:10px;font-size:13px}.rhythm-bars i{height:7px;overflow:hidden;border-radius:4px;background:#eef1f7}.rhythm-bars b{display:block;height:100%;background:var(--brand)}.rhythm-bars strong{text-align:right;font-variant-numeric:tabular-nums}.rhythm-tip{margin:22px 0 0;padding:12px 14px;border-left:3px solid var(--brand);color:var(--text-2);background:#f8faff;font-size:12px}.focus-empty{margin:36px 0;color:var(--text-3);text-align:center;font-size:12px}.ai-assistant-panel{padding:18px 20px 20px;border-color:var(--brand-line);background:#fffdf8}.assistant-heading{display:flex;align-items:center;gap:10px}.assistant-heading>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--brand-deep);background:var(--brand-soft)}.assistant-heading div{display:grid}.assistant-heading small{color:var(--brand-deep);font-size:11px;font-weight:600}.assistant-heading h2{margin:0;font-size:15px}.ai-assistant-panel>p{margin:10px 0 12px;color:var(--text-2);font-size:12px}.ai-assistant-panel form{display:grid;gap:9px}.ai-assistant-panel textarea{width:100%;min-height:76px;padding:10px 11px;resize:vertical;border:1px solid var(--brand-line);border-radius:8px;outline:0;color:var(--text-1);background:#fff}.ai-assistant-panel textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.ai-assistant-panel form button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--brand-deep);border-radius:8px;color:#fff;background:var(--brand-deep)}.ai-assistant-panel form button:disabled{cursor:not-allowed;opacity:.55}.assistant-error{color:var(--danger-fg)!important}.assistant-result{margin-top:13px;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:#fff}.assistant-result>strong{font-size:12px}.assistant-result p{margin:4px 0 7px;color:var(--text-2);font-size:11px}.assistant-result ol{margin:0 0 7px;padding-left:18px;color:var(--text-1);font-size:11px}.assistant-result li+li{margin-top:4px}.assistant-result small{color:var(--text-3);font-size:10px}.quick-section{margin-top:30px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.quick-actions button{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:15px 16px;border:1px solid var(--line-soft);border-radius:var(--radius);text-align:left;background:#fff}.quick-actions button:hover{color:var(--brand);border-color:var(--brand-line);background:#fafbff}.quick-actions button>svg{color:var(--brand)}.quick-actions span{display:grid;gap:2px}.quick-actions strong{font-size:13px}.quick-actions small{color:var(--text-3);font-size:11px}.grade-overview{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:18px}.grade-overview button{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--text-2);background:#fff;text-align:left;cursor:pointer}.grade-overview button:hover,.grade-overview button.active{border-color:var(--brand);background:var(--brand-soft)}.grade-overview button:disabled{cursor:default}.grade-overview span{color:var(--brand-deep);font-size:12px}.grade-overview strong{color:var(--text-1);font-size:15px}.grade-overview small{color:var(--text-3)}.student-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.student-stats article{min-height:72px;display:flex;align-items:center;gap:12px;padding:14px 17px;border:1px solid var(--line);border-radius:var(--radius);color:var(--brand-deep);background:#fffaf4}.student-stats span{display:grid}.student-stats small{color:var(--text-2)}.student-stats strong{color:var(--text-1);font-size:19px;font-variant-numeric:tabular-nums}.student-list-panel{margin-top:18px;overflow:hidden}.student-list-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border-bottom:1px solid var(--line-soft);background:#fffdf9}.student-list-heading span{color:var(--brand-deep);font-size:11px;letter-spacing:.08em}.student-list-heading h2{margin:3px 0 0;font-size:18px}.student-list-heading p{max-width:510px;margin:0;padding:8px 11px;border-radius:8px;color:var(--text-2);background:var(--brand-soft);font-size:11px}.student-toolbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid var(--line-soft)}.student-search{width:min(280px,100%);min-height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--brand-line);border-radius:8px;color:var(--text-3);background:#fff}.student-search input{width:100%;border:0;outline:0;background:transparent}.student-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.student-toolbar>div label{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:11px}.student-toolbar select{min-width:118px;min-height:40px;padding:0 28px 0 9px;border:1px solid var(--brand-line);border-radius:8px;color:var(--text-1);background:#fff}.student-toolbar label:first-child select{min-width:205px}.student-table{min-width:1380px}.student-table td:first-child{color:var(--text-3);font-variant-numeric:tabular-nums}.student-table td:nth-child(5) small{display:block;margin-top:3px;color:var(--text-3)}.student-name-cell{display:flex!important;align-items:center;gap:8px}.student-name-cell>i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:var(--brand-deep);background:var(--brand-soft);font-style:normal}.student-name-cell>em{padding:1px 5px;border-radius:4px;color:var(--brand-deep);background:#fff3df;font-size:9px;font-style:normal;font-weight:500}.gender-tag{display:inline-flex;min-width:34px;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px}.gender-tag.male{color:#577590;background:#edf5f8}.gender-tag.female{color:#a26769;background:#faeeee}.student-table code{color:var(--text-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.concern-category,.concern-level{display:inline-flex;padding:3px 8px;border-radius:999px;white-space:nowrap;font-size:10px}.concern-category{color:var(--brand-deep);background:var(--brand-soft)}.concern-level{color:#627069;background:#edf3ef}.concern-持续关注{color:#8a653c;background:#fff1dc}.concern-重点关怀{color:#a25454;background:#fae9e9}.concern-note{max-width:330px;color:var(--text-2);line-height:1.6}.student-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;color:var(--danger-fg);background:var(--danger-bg)}.student-error button{border:0;color:inherit;background:transparent;text-decoration:underline}.list-panel{margin-top:16px;overflow:hidden}.toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line-soft);background:#fff}.search-box{width:min(420px,100%);min-height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #dde3ee;border-radius:8px;color:var(--text-3);background:#fff}.search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #3461f01a}.search-box input{width:100%;border:0;outline:0;background:transparent}.filter-row{display:flex;gap:10px}.toolbar select{min-width:140px;min-height:38px;padding:0 32px 0 11px;border:1px solid #dde3ee;border-radius:8px;color:var(--text-1);background:#fff}.toolbar select:hover{border-color:var(--brand)}.record-count{padding:12px 18px;color:var(--text-2);font-size:13px}.record-count strong{color:var(--brand)}.table-wrap{overflow-x:auto;border-top:1px solid var(--line-soft)}table{width:100%;min-width:980px;border-collapse:collapse;font-size:13px}th{padding:11px 14px;border-bottom:1px solid var(--line-soft);color:var(--text-2);background:#f8faff;text-align:left;font-weight:600}td{padding:13px 14px;border-bottom:1px solid #f3f5fa;color:var(--text-1);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbff}td>strong,td>small{display:block}td>small{display:flex;align-items:center;gap:4px;margin-top:3px;color:var(--text-3);font-size:11px}.summary-cell{max-width:240px;color:var(--text-2)}.visit-type{display:inline-flex;align-items:center;gap:5px;color:var(--brand)}.row-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.row-actions button{display:inline-flex;align-items:center;gap:4px;padding:3px 0;border:0;color:var(--brand);background:transparent;font-size:12px}.row-actions button:hover{text-decoration:underline}.row-actions .danger-link{color:var(--danger-fg)}.visit-table{min-width:680px;table-layout:fixed}.visit-table th:nth-child(1){width:31%}.visit-table th:nth-child(2){width:29%}.visit-table th:nth-child(3){width:16%}.visit-table th:nth-child(4){width:24%}.student-profile-link{padding:0;border:0;color:var(--brand-deep);background:transparent;font-weight:700;cursor:pointer}.student-profile-link:hover{text-decoration:underline}.visit-address{max-width:170px}.visit-address svg{margin-right:4px;color:var(--brand);vertical-align:-2px}.visit-actions{gap:14px}.visit-actions button{min-height:34px;padding:0 3px}.visit-complete-tag{display:inline-flex;padding:3px 8px;border-radius:999px;color:var(--success-fg);background:var(--success-bg);font-size:10px;font-weight:600}.profile-state{min-height:220px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-2)}.profile-state.error{flex-direction:column;color:var(--danger-fg)}.loading-dot{width:9px;height:9px;border-radius:50%;background:var(--brand);animation:profile-pulse 1s ease-in-out infinite alternate}.student-profile{display:grid;gap:16px}.profile-person{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px;border:1px solid var(--brand-line);border-radius:var(--radius);background:#fffaf3}.profile-person>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--brand-deep);background:var(--brand-soft)}.profile-person h3,.profile-person p{margin:0}.profile-person h3{font-size:17px}.profile-person h3 em{margin-left:7px;color:var(--brand-deep);font-size:9px;font-style:normal}.profile-person p{margin-top:3px;color:var(--text-3);font-size:11px}.profile-person>div:last-child{display:grid;gap:3px;text-align:right}.profile-person small{color:var(--text-3)}.profile-person strong{font-size:12px}.profile-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.profile-counts span{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;color:var(--text-2);background:var(--brand-soft)}.profile-counts svg{color:var(--brand-deep)}.profile-record-section{display:grid;gap:8px}.profile-record-section>h3{display:flex;align-items:center;gap:7px;margin:4px 0 0;font-size:15px}.profile-record-section>h3 svg{color:var(--brand)}.profile-record-section>article{padding:13px 14px;border:1px solid var(--line-soft);border-radius:8px}.profile-record-section article header{display:flex;justify-content:space-between;gap:12px}.profile-record-section article header span{color:var(--text-3);font-size:10px}.profile-record-section article>p{margin:8px 0;color:var(--text-2);line-height:1.7}.profile-record-section dl{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;margin:0}.profile-record-section dl div{display:grid;grid-template-columns:72px 1fr;gap:7px}.profile-record-section dt{color:var(--text-3);font-size:10px}.profile-record-section dd{display:flex;align-items:center;gap:4px;margin:0;color:var(--text-1);font-size:11px}.profile-empty{margin:0;padding:16px;border:1px dashed var(--line);border-radius:8px;color:var(--text-3);text-align:center}.field input[type=hidden]{display:none}@keyframes profile-pulse{to{opacity:.35;transform:scale(.72)}}.visit-create-steps{display:grid;gap:12px}.visit-step{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px}.visit-step>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--brand-line);border-radius:50%;color:var(--brand-deep);background:var(--brand-soft);font-size:12px;font-weight:700}.visit-step.disabled>span{color:var(--text-3);background:#f4f4f2}.visit-step .field select{min-height:48px;font-size:14px}.visit-required-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-left:42px;padding-top:4px}.visit-create-tip{margin:4px 0 0 42px;padding:10px 12px;border-radius:8px;color:var(--text-2);background:#fffaf3;font-size:11px;line-height:1.6}.visit-create-steps .form-error{margin:0 0 0 42px}.visit-create-steps .form-actions{margin-left:42px}.selected-visit-student{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--brand-line);border-radius:8px;background:#fffaf3}.selected-visit-student>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--brand-deep);background:var(--brand-soft);font-weight:700}.selected-visit-student div{display:grid;gap:2px}.selected-visit-student small{color:var(--text-3)}.visit-draft-tag{display:inline-flex;margin-left:5px;padding:3px 8px;border-radius:999px;color:#8a653c;background:#fff1dc;font-size:10px;font-style:normal;font-weight:600}.visit-detail{display:grid;gap:14px}.visit-detail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.visit-detail>header>div{display:flex;align-items:center;gap:14px}.visit-detail>header strong{display:flex;align-items:center;gap:5px;font-size:12px}.visit-detail-meta{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:9px}.visit-detail-meta>div{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:8px;background:#fffaf5}.visit-detail-meta small{color:var(--text-3)}.visit-detail-meta span{color:var(--text-3);font-size:10px}.visit-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:9px}.visit-detail-content article{padding:12px 13px;border:1px solid var(--line-soft);border-radius:8px}.visit-detail-content article:first-child,.visit-detail-content article:last-child{grid-column:1/-1}.visit-detail-content h3{margin:0 0 6px;font-size:12px}.visit-detail-content p{margin:0;color:var(--text-2);line-height:1.7;white-space:pre-wrap}.visit-detail>footer{display:flex;justify-content:flex-end;padding-top:4px}.visit-ai-assistant{display:grid;gap:10px;padding:14px;border:1px solid var(--brand-line);border-radius:10px;background:#fffaf3}.visit-ai-assistant>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.visit-ai-assistant>header>div{display:flex;align-items:center;gap:9px}.visit-ai-assistant>header>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--brand-deep);background:var(--brand-soft)}.visit-ai-assistant>header div div{display:grid;gap:2px}.visit-ai-assistant small{color:var(--text-3);font-weight:400}.visit-ai-assistant button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--brand-deep);border-radius:8px;color:var(--brand-deep);background:#fff;font-size:12px}.visit-ai-assistant>header button.recording{color:#fff;background:#a65d52;border-color:#a65d52}.visit-ai-assistant button:disabled{cursor:not-allowed;opacity:.55}.visit-ai-assistant textarea{min-height:100px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;outline:0;background:#fff;resize:vertical;line-height:1.7}.visit-ai-assistant textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.visit-ai-assistant>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.visit-ai-assistant>footer span{color:var(--text-3);font-size:10px}.visit-ai-assistant>footer button{color:#fff;background:var(--brand-deep)}.visit-ai-assistant>p{margin:0;color:var(--danger-fg);font-size:11px}.visit-editor-page{width:min(1440px,calc(100% - 40px));overflow:visible;background:transparent;box-shadow:none;padding:0}.visit-editor-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 24px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff}.visit-editor-header h1{margin:3px 0 2px;font-size:22px;font-weight:600}.visit-editor-header p{margin:0;color:var(--text-2);font-size:12px}.visit-editor-header>.visit-draft-tag{margin-left:0}.visit-editor-back{min-height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--brand-line);border-radius:8px;color:var(--brand-deep);background:#fffaf3;font-size:12px}.visit-editor-back:hover{border-color:var(--brand);background:var(--brand-soft)}.visit-editor-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,3fr);align-items:start;gap:18px;margin-top:18px}.visit-editor-main{min-width:0;grid-column:1;grid-row:1;margin-top:0;padding:20px 22px 0;overflow:hidden}.visit-editor-form{margin-top:20px}.visit-editor-form .field textarea{min-height:104px;line-height:1.7}.visit-editor-actions{position:sticky;bottom:0;z-index:2;margin:2px -22px 0;padding:14px 22px 18px;border-top:1px solid var(--line-soft);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.visit-editor-actions button:disabled{cursor:not-allowed;opacity:.58}.visit-ai-sidebar{position:sticky;top:18px;max-height:calc(100vh - 36px);display:grid;gap:15px;padding:20px;overflow-y:auto;border-color:var(--brand-line);background:#fffdf8}.visit-ai-heading{display:flex;align-items:center;gap:10px}.visit-ai-heading>span{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--brand-deep);background:var(--brand-soft)}.visit-ai-heading>div{display:grid;white-space:nowrap;line-height:1.35}.visit-ai-heading strong{font-size:16px}.visit-ai-heading small{color:var(--brand-deep);font-size:10px}.visit-ai-sidebar>p{margin:0;color:var(--text-2);font-size:12px;line-height:1.75}.visit-ai-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.visit-ai-mic{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--brand-deep);border-radius:8px;color:var(--brand-deep);background:#fff;font-size:12px;font-weight:600;transition:.18s ease}.visit-ai-mic:hover{border-color:var(--brand);background:var(--brand-soft)}.visit-ai-mic>svg{flex:none}.visit-ai-mic.recording{color:#9c4f48;border-color:#e4b5ad;background:#fff1ef}.visit-ai-mic.recording>svg{animation:visit-recording-pulse 1.15s ease-in-out infinite alternate}.visit-ai-mic:disabled,.visit-ai-organize:disabled{cursor:not-allowed;opacity:.55;transform:none}.visit-ai-transcript{display:grid;gap:6px;color:var(--text-2);font-size:12px;font-weight:500}.visit-ai-transcript textarea{width:100%;min-height:150px;padding:10px 11px;border:1px solid var(--brand-line);border-radius:8px;outline:0;color:var(--text-1);background:#fff;resize:vertical;font-weight:400;line-height:1.7}.visit-ai-transcript textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.visit-ai-organize{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid var(--brand-deep);border-radius:8px;color:#fff;background:var(--brand-deep);font-size:12px;font-weight:600}.visit-ai-organize:hover{background:#b9835b}.visit-ai-notice{display:flex;align-items:flex-start;gap:7px;padding:10px 11px;border:1px solid #cfe7d3;border-radius:8px;color:#39704a;background:#f1faf3;font-size:11px;line-height:1.6}.visit-ai-notice svg{flex:none;margin-top:1px}.visit-ai-error{margin:0;padding:9px 10px;border-radius:8px;color:var(--danger-fg);background:var(--danger-bg);font-size:11px}.visit-advice-assistant{display:grid;gap:11px;padding-top:15px;border-top:1px solid var(--brand-line)}.visit-advice-assistant>header{display:flex;align-items:center;gap:8px;color:var(--brand-deep)}.visit-advice-assistant>header>div{display:grid;line-height:1.35}.visit-advice-assistant>header strong{color:var(--text-1);font-size:14px}.visit-advice-assistant>header small{color:var(--brand-deep);font-size:10px}.visit-advice-assistant>p{margin:0;color:var(--text-2);font-size:11px;line-height:1.7}.visit-advice-start{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--brand-deep);border-radius:8px;color:#fff;background:var(--brand-deep);font-size:12px;font-weight:600}.visit-advice-start:disabled,.visit-advice-actions button:disabled{cursor:not-allowed;opacity:.55}.visit-advice-reply{display:flex;align-items:flex-start;gap:7px;padding:9px 10px;border-radius:8px;color:var(--text-2);background:var(--brand-soft);font-size:11px;line-height:1.6}.visit-advice-reply svg{flex:none;margin-top:2px;color:var(--brand-deep)}.visit-advice-draft,.visit-advice-instruction{display:grid;gap:5px;color:var(--text-2);font-size:11px;font-weight:500}.visit-advice-draft textarea,.visit-advice-instruction textarea{width:100%;min-height:150px;padding:9px 10px;border:1px solid var(--brand-line);border-radius:8px;outline:0;color:var(--text-1);background:#fff;resize:vertical;font-weight:400;line-height:1.7}.visit-advice-instruction textarea{min-height:68px}.visit-advice-draft textarea:focus,.visit-advice-instruction textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.visit-advice-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.visit-advice-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;border:1px solid var(--brand-deep);border-radius:8px;color:var(--brand-deep);background:#fff;font-size:11px}.visit-advice-actions button:last-child{color:#fff;background:var(--brand-deep)}.visit-ai-privacy{padding-top:11px;border-top:1px solid var(--line-soft);color:var(--text-3);font-size:10px;line-height:1.6}.visit-agent-workspace{position:sticky;top:18px;height:min(820px,calc(100vh - 36px));min-width:0;grid-column:2;grid-row:1;display:flex;flex-direction:column;overflow:hidden;border-color:var(--brand-line)}.visit-agent-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--brand-line);background:#fffaf3}.visit-agent-tabs{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--brand-line);border-radius:10px;background:#fff}.visit-agent-tabs button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 12px;border:0;border-radius:7px;color:var(--text-2);background:transparent;font-size:12px}.visit-tab-label{min-width:2em;white-space:nowrap;text-align:center;line-height:1.35}.visit-agent-tabs button:hover{color:var(--brand-deep);background:#fffaf3}.visit-agent-tabs button.active{color:#fff;background:var(--brand-deep);font-weight:600}.visit-organize-panel{min-height:0;flex:1;display:flex;flex-direction:column;gap:18px;padding:26px 24px 20px;overflow-y:auto;background:#fffdf9}.visit-organize-intro strong{font-size:17px;font-weight:600}.visit-organize-intro p{margin:7px 0 0;color:var(--text-2);font-size:13px;line-height:1.8}.visit-organize-input{display:grid;gap:7px;color:var(--text-2);font-size:13px;font-weight:600}.visit-organize-input textarea{width:100%;min-height:260px;padding:13px 14px;border:1px solid var(--brand-line);border-radius:10px;outline:0;color:var(--text-1);background:#fff;resize:vertical;font-size:14px;font-weight:400;line-height:1.8}.visit-organize-input textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.visit-organize-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visit-organize-actions .visit-ai-mic,.visit-organize-actions .visit-ai-organize{min-height:48px;font-size:13px}.visit-organize-privacy{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);color:var(--text-3);font-size:10px;line-height:1.7}.visit-advice-chat{min-height:0;flex:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff}.visit-advice-generate{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fffdf9}.visit-advice-generate>div{display:grid;line-height:1.4}.visit-advice-generate strong{font-size:13px}.visit-advice-generate span{color:var(--text-3);font-size:10px}.visit-advice-generate button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border:1px solid var(--brand-deep);border-radius:8px;color:#fff;background:var(--brand-deep);white-space:nowrap;font-size:12px;font-weight:600}.visit-advice-generate button:disabled{cursor:not-allowed;opacity:.55}.visit-agent-chat{min-height:0;flex:1;display:grid;grid-template-rows:minmax(0,1fr) auto}.visit-organize-chat{background:#fff}.visit-agent-messages{min-height:0;padding:20px 18px;overflow-y:auto;background:#fff;scroll-behavior:smooth}.visit-agent-message{max-width:92%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px}.visit-agent-message+.visit-agent-message{margin-top:18px}.visit-agent-message>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--brand-deep);background:var(--brand-soft)}.visit-agent-message>div{min-width:0;display:grid;gap:6px;padding:11px 13px;border:1px solid var(--line-soft);border-radius:4px 12px 12px;background:#fffdf9}.visit-agent-message>div>small{color:var(--brand-deep);font-size:10px;font-weight:600}.visit-agent-message p{margin:0;color:var(--text-1);font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.visit-agent-message.user{margin-left:auto;grid-template-columns:minmax(0,1fr) 34px}.visit-agent-message.user>span{grid-column:2;grid-row:1;color:#fff;background:var(--brand-deep)}.visit-agent-message.user>div{grid-column:1;grid-row:1;border-radius:12px 4px 12px 12px;background:var(--brand-soft)}.visit-agent-message.user>div>small{text-align:right}.visit-advice-chat .visit-agent-message.user>div{color:#fff;border-color:var(--brand-deep);background:var(--brand-deep)}.visit-advice-chat .visit-agent-message.user>div>small,.visit-advice-chat .visit-agent-message.user p{color:#fff}.visit-organize-chat .visit-agent-message.user>div{color:#fff;border-color:var(--brand-deep);background:var(--brand-deep)}.visit-organize-chat .visit-agent-message.user>div>small,.visit-organize-chat .visit-agent-message.user p{color:#fff}.visit-agent-detail{padding-top:9px;border-top:1px solid var(--line);color:var(--text-2);font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.visit-agent-message button{width:max-content;min-height:36px;display:inline-flex;align-items:center;gap:6px;margin-top:3px;padding:0 11px;border:1px solid var(--brand-deep);border-radius:7px;color:var(--brand-deep);background:#fff;font-size:11px}.visit-agent-message button:hover{color:#fff;background:var(--brand-deep)}.visit-message-attachments{display:flex;flex-wrap:wrap;gap:5px}.visit-message-attachments>span{max-width:100%;display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:6px;color:var(--text-2);background:var(--brand-soft);font-size:10px;overflow-wrap:anywhere}.visit-agent-message.user .visit-message-attachments>span{color:#fff;background:#ffffff29}.visit-agent-message.thinking i{display:flex;gap:4px;height:10px}.visit-agent-message.thinking i b{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:agent-thinking .9s ease-in-out infinite alternate}.visit-agent-message.thinking i b:nth-child(2){animation-delay:.15s}.visit-agent-message.thinking i b:nth-child(3){animation-delay:.3s}.visit-agent-composer{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:18px;border-top:1px solid var(--brand-line);background:#fffaf3}.visit-agent-composer>label{display:grid;gap:7px;color:var(--text-2);font-size:12px;font-weight:600}.visit-agent-composer textarea{width:100%;min-height:118px;max-height:210px;padding:12px 13px;border:1px solid var(--brand-line);border-radius:10px;outline:0;color:var(--text-1);background:#fff;resize:vertical;font-size:13px;font-weight:400;line-height:1.75}.visit-agent-composer textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.advice-chat-composer textarea{min-height:86px}.visit-advice-composer{display:grid;gap:7px;padding:13px 14px 14px;border-top:1px solid var(--brand-line);background:#fffaf3}.visit-advice-composer>label{min-height:50px;display:flex;align-items:flex-end;gap:8px;padding:4px 5px 4px 12px;border:1px solid var(--brand-line);border-radius:12px;background:#fff}.visit-advice-composer>label:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.visit-advice-composer>label.disabled{background:#f8f4ed;opacity:.72}.visit-advice-composer textarea{flex:1;min-width:0;min-height:40px;max-height:92px;padding:9px 0;border:0;outline:0;color:var(--text-1);background:transparent;resize:none;font-size:13px;line-height:1.55}.visit-advice-composer button{flex:none;min-width:78px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:1px solid var(--brand-deep);border-radius:9px;color:#fff;background:var(--brand-deep);font-size:12px;font-weight:600}.visit-advice-composer button:disabled{cursor:not-allowed;opacity:.45}.visit-advice-composer>small{color:var(--text-3);font-size:10px;line-height:1.5}.visit-chat-composer{display:grid;gap:7px;padding:12px 13px 13px;border-top:1px solid var(--brand-line);background:#fffaf3}.visit-chat-input{display:grid;gap:6px;padding:8px 8px 7px 12px;border:1px solid var(--brand-line);border-radius:14px;background:#fff}.visit-chat-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.visit-chat-input textarea{width:100%;min-height:52px;max-height:124px;padding:3px 2px;border:0;outline:0;color:var(--text-1);background:transparent;resize:vertical;font-size:13px;line-height:1.6}.visit-chat-tools{display:flex;align-items:center;justify-content:flex-end;gap:5px}.visit-chat-tools input{display:none}.visit-chat-tool,.visit-chat-send{width:44px;height:44px;display:inline-grid;place-items:center;flex:none;padding:0;border-radius:50%}.visit-chat-tool{border:1px solid transparent;color:var(--text-2);background:transparent}.visit-chat-tool:hover{color:var(--brand-deep);border-color:var(--brand-line);background:var(--brand-soft)}.visit-chat-tool.recording{color:#fff;border-color:#a65d52;background:#a65d52;animation:visit-recording-pulse 1.15s ease-in-out infinite alternate}.visit-chat-send{border:1px solid var(--brand-deep);color:#fff;background:var(--brand-deep)}.visit-chat-tool:disabled,.visit-chat-send:disabled{cursor:not-allowed;opacity:.42}.visit-chat-composer>small{color:var(--text-3);font-size:10px;line-height:1.5}.visit-attachment-list{display:flex;flex-wrap:wrap;gap:6px}.visit-attachment-list>span{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:5px;padding:5px 5px 5px 8px;border:1px solid var(--brand-line);border-radius:8px;color:var(--brand-deep);background:#fff;font-size:10px}.visit-attachment-list b{max-width:180px;overflow:hidden;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-weight:500}.visit-attachment-list button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:var(--text-3);background:transparent}.visit-attachment-list button:hover{color:var(--danger-fg);background:var(--danger-bg)}.visit-agent-compose-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.visit-agent-compose-actions.advice{display:flex;align-items:center;justify-content:space-between}.visit-agent-compose-actions.advice>span{max-width:150px;color:var(--text-3);font-size:10px;line-height:1.5}.visit-agent-compose-actions.advice>button{flex:none}.visit-agent-workspace>footer{padding:10px 18px;border-top:1px solid var(--line-soft);color:var(--text-3);background:#fffdf9;font-size:10px;text-align:center}.visit-form-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-2px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line-soft)}.visit-form-heading h2{margin:2px 0 0;font-size:17px;font-weight:600}.visit-form-heading>small{color:var(--text-3);font-size:10px}@keyframes visit-recording-pulse{to{box-shadow:0 0 0 8px #a65d521f}}@keyframes agent-thinking{to{opacity:.3;transform:translateY(-3px)}}.empty-state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:var(--brand);background:var(--brand-soft)}.empty-state strong{margin-top:12px}.empty-state p{margin:4px 0 9px;color:var(--text-3);font-size:12px}.support-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 0}.support-summary article{display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--brand);background:#fff}.support-summary span{display:grid}.support-summary small{color:var(--text-2)}.support-summary strong{color:var(--text-1);font-size:17px}.support-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:0 18px 20px}.support-cards>article{padding:18px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff}.support-card-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.support-card-top h3{margin:0 0 3px;font-size:14px}.support-card-top h3 span{margin-left:7px;padding:2px 7px;border-radius:4px;color:var(--brand);background:var(--brand-soft);font-size:11px;font-weight:400}.support-card-top p{margin:0;color:var(--text-3);font-size:11px}.support-copy{min-height:118px;margin:15px 0 10px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:8px;background:#fafbff}.support-copy small{color:var(--text-3);font-size:11px}.support-copy p{margin:2px 0 10px;color:var(--text-2);font-size:12px}.support-copy p:last-child{margin-bottom:0}.support-meta{display:flex;justify-content:space-between;gap:8px;color:var(--text-3);font-size:11px}.support-meta span{display:flex;align-items:center;gap:4px}.support-cards footer{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:11px;border-top:1px solid var(--line-soft)}.privacy-banner{display:flex;align-items:center;gap:11px;margin:16px 0 0;padding:12px 16px;border:1px solid var(--brand-line);border-radius:8px;color:var(--brand);background:#f4f7ff}.privacy-banner div{display:grid}.privacy-banner strong{font-size:13px}.privacy-banner span{color:var(--text-2);font-size:12px}.health-list{padding:0 18px 20px}.health-list>article{min-height:80px;display:grid;grid-template-columns:auto minmax(140px,1fr) minmax(100px,.7fr) minmax(100px,.7fr) auto auto auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line-soft)}.health-person h3{margin:0;font-size:14px}.health-person p{margin:2px 0 0;color:var(--text-3);font-size:11px}.health-item{display:flex;align-items:center;gap:7px;color:var(--brand)}.health-item span{display:grid}.health-item small{color:var(--text-3);font-size:10px}.health-item strong{color:var(--text-1);font-size:12px}.review-date{color:var(--text-3);white-space:nowrap}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a7a}.modal-panel{width:min(620px,100%);max-height:min(88vh,900px);overflow:hidden;display:flex;flex-direction:column;border-radius:12px;background:#fff;box-shadow:0 20px 50px #0f172a33}.modal-wide{width:min(840px,100%)}.modal-header{flex:none;display:flex;justify-content:space-between;gap:16px;padding:18px 22px 14px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0 0 3px;font-size:18px;font-weight:600}.modal-header p{margin:0;color:var(--text-3);font-size:12px}.modal-body{padding:20px 22px 24px;overflow-y:auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:grid;gap:5px;color:var(--text-2);font-size:13px}.field>span{font-weight:500}.field i{color:var(--danger-fg);font-style:normal}.field input,.field select,.field textarea,.follow-form input,.follow-form textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid #dde3ee;border-radius:8px;outline:0;color:var(--text-1);background:#fff}.field textarea,.follow-form textarea{min-height:78px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.follow-form input:focus,.follow-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #3461f01a}.field-full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.detail-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:22px}.detail-brief{padding:16px;border:1px solid var(--brand-line);border-radius:8px;background:#f8faff}.detail-brief h3{margin:13px 0}.detail-brief small{color:var(--text-3)}.detail-brief p{margin:3px 0 13px;color:var(--text-2);font-size:12px}.follow-section h3{margin-bottom:10px;font-size:15px}.follow-form{display:grid;grid-template-columns:150px 1fr;gap:8px}.follow-form textarea{grid-column:1/-1}.follow-form button{grid-column:2;justify-self:end}.timeline{margin-top:18px;padding-left:13px;border-left:1px solid var(--brand-line)}.timeline article{position:relative;padding:0 0 15px 11px}.timeline article i{position:absolute;left:-18px;top:3px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--brand);box-shadow:0 0 0 1px var(--brand)}.timeline small{color:var(--brand)}.timeline p{margin:3px 0 0;color:var(--text-2);font-size:12px}.muted{color:var(--text-3);font-size:12px}.health-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.health-detail>div{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:8px;background:#fafbff}.health-detail span{color:var(--text-3);font-size:11px}.health-detail strong{font-size:13px}.health-detail section{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--line)}.health-detail section h3{font-size:14px}.health-detail section p{color:var(--text-2);font-size:12px}.bottom-nav{display:none}.app-loading{min-height:100vh;display:grid;place-items:center;color:var(--brand-deep);background:var(--page)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#fffaf0,#fdf8ee 58%,#f8ede0)}.login-card{width:min(420px,100%);overflow:hidden;border:1px solid var(--brand-line);border-radius:16px;background:#fff;box-shadow:0 18px 48px #4665591f}.login-card>header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line-soft);background:#f7fbf8}.login-card>header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#476f5e;background:#dfeee4}.login-card h1{margin:0;font-size:18px}.login-card header p{margin:1px 0 0;color:var(--text-3);font-size:11px}.login-intro{padding:28px 28px 14px}.login-intro small{color:var(--brand)}.login-intro h2{margin:5px 0 3px;font-size:24px}.login-intro p{color:var(--text-2);font-size:13px}.login-card form{display:grid;gap:16px;padding:0 28px 26px}.login-card form label{display:grid;gap:6px;color:var(--text-2);font-size:13px}.login-card form label>div{min-height:44px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #dce5df;border-radius:9px;color:var(--text-3)}.login-card form label>div:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #709b871f}.login-card form input{width:100%;border:0;outline:0;background:transparent}.login-card form .primary-button{width:100%;min-height:44px}.login-card>footer{padding:13px 24px;border-top:1px solid var(--line-soft);color:var(--text-3);background:#fafcfb;text-align:center;font-size:11px}.form-error{margin:0;padding:9px 11px;border-radius:7px;color:var(--danger-fg);background:var(--danger-bg);font-size:12px}.login-shell{width:min(900px,100%);min-height:540px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid var(--brand-line);border-radius:20px;background:#fff;box-shadow:0 24px 70px #7d5c3d21}.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:38px 42px;overflow:hidden;border-right:1px solid var(--line);background:linear-gradient(150deg,#fff8e9,#fbefd8)}.login-brand-panel:after{content:"";position:absolute;right:-80px;bottom:-90px;width:260px;height:260px;border:48px solid rgba(232,196,154,.22);border-radius:50%}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.login-brand>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--brand-deep)}.login-brand>div{display:grid}.login-brand strong{color:var(--brand-deep);font-size:21px;letter-spacing:2px}.login-brand small{color:var(--text-2);font-size:11px}.login-brand-copy{position:relative;z-index:1;max-width:360px}.login-brand-copy>small{color:var(--brand-deep);font-weight:600;letter-spacing:.1em}.login-brand-copy h1{margin:10px 0 15px;color:var(--text-1);font-size:34px;line-height:1.4;letter-spacing:.02em}.login-brand-copy p{margin:0;color:var(--text-2);font-size:13px;line-height:1.9}.login-features{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:9px}.login-features span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(200,149,109,.24);border-radius:999px;color:#80644e;background:#fff9;font-size:11px}.login-shell .login-card{width:auto;display:flex;flex-direction:column;justify-content:center;border:0;border-radius:0;box-shadow:none}.login-shell .login-intro{padding:52px 42px 18px}.login-shell .login-intro small{color:var(--brand-deep);font-weight:600}.login-shell .login-intro h2{margin-top:7px;color:var(--text-1);font-size:28px}.login-shell .login-card form{padding:0 42px 32px}.login-shell .login-card form label>div{border-color:#eadcc7;background:#fffdfa}.login-shell .login-card form label>div:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.login-shell .login-card>footer{margin-top:auto;border-color:var(--line-soft);background:#fffaf3}.session-expired-backdrop{z-index:180}.session-expired-dialog{width:min(430px,100%);padding:30px;border:1px solid var(--brand-line);border-radius:18px;background:#fffdf9;box-shadow:0 24px 70px #5b3f2733;text-align:center}.session-expired-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 14px;border-radius:15px;color:var(--brand-deep);background:var(--brand-soft)}.session-expired-dialog h2{margin:0;color:var(--text-1);font-size:22px}.session-expired-dialog>p{margin:8px 0 22px;color:var(--text-2);font-size:13px;line-height:1.75}.session-expired-dialog form{display:grid;gap:14px;text-align:left}.session-expired-dialog label{display:grid;gap:6px;color:var(--text-2);font-size:12px}.session-expired-dialog label>div{min-height:44px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--brand-line);border-radius:9px;color:var(--text-3);background:#fff}.session-expired-dialog label>div:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #d4a57429}.session-expired-dialog input{width:100%;border:0;outline:0;background:transparent}.session-expired-dialog .primary-button{width:100%;min-height:44px}.settings-message{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:10px 13px;border:1px solid #cde7d7;border-radius:8px;color:var(--success-fg);background:#f0faf4}.settings-message.error{color:var(--danger-fg);border-color:#f5caca;background:#fff4f4}.settings-message button{border:0;color:inherit;background:transparent;font-size:12px}.settings-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.settings-stats article{display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--brand)}.settings-stats span{display:grid}.settings-stats small{color:var(--text-2)}.settings-stats strong{color:var(--text-1);font-size:18px}.settings-stats.four{grid-template-columns:repeat(4,1fr)}.settings-stats.five{grid-template-columns:repeat(5,1fr)}.student-account-section>header>svg{color:var(--brand-deep)}.student-account-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) minmax(120px,.65fr) auto;align-items:end;gap:12px;padding:18px;background:#fffaf3}.student-account-tools label,.student-account-tools>div{display:grid;gap:5px;color:var(--text-2);font-size:11px}.student-account-tools select{width:100%;min-height:40px;padding:0 32px 0 11px;border:1px solid var(--brand-line);border-radius:8px;color:var(--text-1);background:#fff}.student-account-tools>div{min-height:40px;justify-content:center}.student-account-tools>div small{color:var(--text-3)}.student-account-tools>div strong{color:var(--brand-deep);font-size:13px}.student-account-tools .primary-button{min-height:40px;white-space:nowrap}.settings-section{margin-top:18px;overflow:hidden}.section-title{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line-soft)}.section-title h2{margin:0;font-size:16px}.section-title p{margin:3px 0 0;color:var(--text-3);font-size:12px}.role-tag{display:inline-flex;padding:3px 9px;border-radius:4px;color:var(--brand-deep);background:var(--brand-soft);font-size:12px}.table-action{padding:3px 0;border:0;color:var(--brand);background:transparent}.table-action:disabled{cursor:not-allowed;color:var(--text-3)}.upload-button{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 15px;border:1px solid var(--brand-deep);border-radius:8px;color:#fff;background:var(--brand-deep);font-size:13px;cursor:pointer}.upload-button input{display:none}.upload-button.disabled{cursor:wait;opacity:.65}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px}.class-grid article{display:grid;padding:13px 14px;border:1px solid var(--line-soft);border-radius:8px;background:#fffaf4}.class-grid span{color:var(--text-3);font-size:11px}.class-grid b{margin-top:6px;color:var(--brand);font-size:13px}.empty-inline{grid-column:1/-1;margin:20px;color:var(--text-3);text-align:center}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px}.school-grid article{display:grid;gap:6px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.school-grid article.active{border-color:var(--brand);background:#fffaf3;box-shadow:inset 3px 0 var(--brand)}.school-grid article>span{display:flex;align-items:center;justify-content:space-between;color:var(--brand-deep)}.school-grid article i{color:var(--text-3);font-size:10px;font-style:normal;font-weight:400}.school-grid article>strong{font-size:14px}.school-grid article>small{color:var(--text-3);font-size:11px}.school-grid article .text-button{width:max-content;margin-top:3px}.graduate-search{width:min(280px,100%);min-height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--brand-line);border-radius:8px;color:var(--text-3);background:#fff}.graduate-search input{width:100%;border:0;outline:0;background:transparent}.graduate-table{min-width:1120px}.simulation-tag{display:inline-flex;margin-left:6px;padding:1px 5px;border-radius:4px;color:var(--brand-deep);background:var(--brand-soft);font-size:9px;font-style:normal;font-weight:500;vertical-align:middle}.transfer-control{display:flex;align-items:center;gap:7px}.transfer-control select{min-width:150px;height:34px;padding:0 27px 0 8px;border:1px solid var(--brand-line);border-radius:7px;color:var(--text-1);background:#fff;font-size:11px}.transfer-control button{min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid var(--brand-deep);border-radius:7px;color:#fff;background:var(--brand-deep);white-space:nowrap;font-size:11px}.transfer-control button:disabled{cursor:not-allowed;opacity:.5}.archive-complete{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);white-space:nowrap}.graduate-limit{margin:0;padding:10px 18px;border-top:1px solid var(--line-soft);color:var(--text-3);font-size:11px}.approval-switch{min-height:38px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.approval-switch input{position:absolute;opacity:0;pointer-events:none}.approval-switch>span{position:relative;width:42px;height:23px;border-radius:999px;background:#dfd4c5;transition:.2s}.approval-switch>span:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #3a2e2233;transition:transform .2s}.approval-switch input:checked+span{background:var(--brand-deep)}.approval-switch input:checked+span:after{transform:translate(19px)}.approval-switch input:focus-visible+span{outline:3px solid rgba(212,165,116,.28);outline-offset:2px}.approval-switch b{color:var(--text-2);font-size:12px;font-weight:500;white-space:nowrap}.transfer-request-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;background:#fffaf3}.transfer-request-tools form{flex:1;max-width:620px;min-height:58px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:8px 10px 8px 14px;border:1px solid var(--brand-line);border-radius:10px;color:var(--brand-deep);background:#fff}.transfer-request-tools label{display:grid}.transfer-request-tools label span{color:var(--text-2);font-size:10px}.transfer-request-tools input{width:100%;border:0;outline:0;color:var(--text-1);background:transparent}.transfer-request-tools form button{min-height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 13px;border:1px solid var(--brand-deep);border-radius:8px;color:#fff;background:var(--brand-deep);white-space:nowrap;font-size:12px}.transfer-request-tools form button:disabled{cursor:wait;opacity:.6}.transfer-request-tools>p{max-width:420px;margin:0;color:var(--text-3);font-size:11px}.transfer-request-table{min-width:1060px}.transfer-pending{color:var(--warn-fg);background:#fef3c7}.transfer-approved{color:var(--success-fg);background:var(--success-bg)}.transfer-rejected{color:var(--danger-fg);background:var(--danger-bg)}.review-actions{display:flex;gap:8px}.review-actions button{min-height:32px;display:inline-flex;align-items:center;gap:4px;padding:0 10px;border:1px solid var(--brand-deep);border-radius:7px;color:#fff;background:var(--brand-deep);font-size:11px}.review-actions button.reject{color:var(--danger-fg);border-color:#efbcbc;background:#fff}.review-actions button:disabled{cursor:wait;opacity:.55}.empty-table{padding:34px 18px;color:var(--text-3);text-align:center}.metrics article header{color:var(--brand-deep);background:linear-gradient(90deg,#fcf3df,#fff7e5)}.tone-1{color:#806044;background:#f4d3a8}.tone-2{color:#986655;background:#f2d4c8}.tone-3{color:#a67843;background:#fbf3e0}.focus-list>button:hover,.quick-actions button:hover,tbody tr:hover{background:#fffaf4}.rhythm-tip,th,.detail-brief{background:#fffaf3}.support-copy,.health-detail>div{background:#fffaf5}.privacy-banner{background:#fff8e9}.search-box:focus-within,.field input:focus,.field select:focus,.field textarea:focus,.follow-form input:focus,.follow-form textarea:focus{box-shadow:0 0 0 3px #d4a57429}@media(max-width:1050px){.dashboard-grid{grid-template-columns:1fr}.settings-stats.four,.school-grid{grid-template-columns:repeat(2,1fr)}.health-list>article{grid-template-columns:auto 1fr 1fr auto}.health-item:nth-of-type(2),.review-date{display:none}}@media(max-width:760px){.brand-topbar{padding:0 16px}.brand-title{gap:12px}.brand-title>span{display:none}.school-identity{padding-left:10px}.school-identity select{max-width:170px}.school-identity b{max-width:180px;overflow:hidden;text-overflow:ellipsis}.top-user{display:none}.nav-inner{padding:0 16px;gap:24px}.primary-nav button{min-height:48px}.subnav{padding:0 16px}.page-wrap{width:calc(100% - 24px);margin-top:12px;padding:20px 18px 90px}.page-header{align-items:flex-start}.scope-toolbar{align-items:stretch;flex-direction:column}.scope-selects,.scope-selects label{flex:1}.scope-selects select{width:100%}.metrics,.settings-stats,.settings-stats.four,.student-stats{grid-template-columns:1fr}.grade-overview{grid-template-columns:repeat(2,1fr)}.student-list-heading{align-items:flex-start;flex-direction:column}.student-toolbar{align-items:stretch;flex-direction:column}.student-search{width:100%}.student-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.student-toolbar>div label{display:grid;grid-template-columns:40px 1fr}.student-toolbar>div label:first-child{grid-column:1/-1}.student-toolbar select,.student-toolbar label:first-child select{width:100%;min-width:0}.support-cards,.quick-actions{grid-template-columns:1fr}.class-grid,.school-grid{grid-template-columns:repeat(2,1fr)}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;min-height:68px;display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fffffff7}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;color:var(--text-3);background:transparent;font-size:10px}.bottom-nav button.active{color:var(--brand);font-weight:600}}@media(max-width:560px){body{font-size:14px}.brand-title strong{font-size:15px}.school-identity{border-left:0}.school-identity svg{display:none}.school-identity select{max-width:148px}.school-identity b{max-width:150px;font-size:11px}.page-header{display:grid}.page-header .primary-button{width:100%;min-height:44px}.welcome-panel{display:grid;padding:18px}.welcome-panel h1{font-size:19px}.date-card{display:grid;gap:2px}.scope-selects{align-items:stretch;flex-direction:column}.scope-selects label{display:grid;grid-template-columns:42px 1fr}.focus-panel,.rhythm-panel,.ai-assistant-panel{padding:16px 13px}.focus-list>button{grid-template-columns:auto 1fr auto}.focus-list>button .status{display:none}.support-summary{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.search-box,.filter-row,.toolbar select{width:100%}.support-cards,.health-list{padding-inline:10px}.support-card-top{grid-template-columns:auto 1fr}.support-card-top>.status{grid-column:2}.support-meta{align-items:flex-start;flex-direction:column}.health-list>article{grid-template-columns:auto 1fr auto;gap:10px}.health-item,.review-date{display:none!important}.health-list .row-actions{grid-column:2/-1}.section-title{align-items:stretch;flex-direction:column}.section-title .primary-button,.upload-button{width:100%;justify-content:center}.transfer-request-tools{align-items:stretch;flex-direction:column}.transfer-request-tools form{width:100%;grid-template-columns:auto 1fr}.transfer-request-tools form button{grid-column:1/-1;min-height:44px;justify-content:center}.approval-switch{justify-content:flex-start}.class-grid,.school-grid{grid-template-columns:1fr}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{width:100%;max-height:92vh;border-radius:14px 14px 0 0}.modal-header,.modal-body{padding-right:16px;padding-left:16px}.form-grid,.detail-layout,.health-detail{grid-template-columns:1fr}.field-full,.health-detail section{grid-column:1}.profile-person{grid-template-columns:auto 1fr}.profile-person>div:last-child{grid-column:1/-1;text-align:left}.profile-counts,.profile-record-section dl{grid-template-columns:1fr}.profile-record-section article header{align-items:flex-start;flex-direction:column}.follow-form{grid-template-columns:1fr}.follow-form textarea,.follow-form button{grid-column:1}.follow-form button{width:100%}.form-actions{position:sticky;bottom:-24px;padding:12px 0 18px;background:#fff}.form-actions button{flex:1;min-height:44px}}@media(max-width:760px){.login-page{align-items:start;padding:16px}.login-shell{width:min(500px,100%);min-height:0;grid-template-columns:1fr;border-radius:16px}.login-brand-panel{min-height:205px;padding:24px 26px;border-right:0;border-bottom:1px solid var(--line)}.login-brand-copy{margin-top:34px}.login-brand-copy>small,.login-brand-copy p,.login-features{display:none}.login-brand-copy h1{margin:0;font-size:25px;line-height:1.45}.login-shell .login-intro{padding:30px 26px 14px}.login-shell .login-card form{padding:0 26px 28px}}@media(max-width:560px){.visit-required-row{grid-template-columns:1fr;margin-left:0}.visit-create-tip,.visit-create-steps .form-error,.visit-create-steps .form-actions{margin-left:0}.visit-ai-assistant>header,.visit-ai-assistant>footer{align-items:stretch;flex-direction:column}.visit-ai-assistant>header button,.visit-ai-assistant>footer button{width:100%;min-height:44px}.visit-detail-meta,.visit-detail-content{grid-template-columns:1fr}.visit-detail-content article:first-child,.visit-detail-content article:last-child{grid-column:1}.visit-detail>header>div{align-items:flex-start;flex-direction:column;gap:5px}.visit-detail>footer .primary-button{width:100%;justify-content:center}}@media(max-width:1180px){.visit-editor-layout{grid-template-columns:1fr}.visit-agent-workspace{position:static;height:auto;grid-column:1;grid-row:1}.visit-editor-main{grid-column:1;grid-row:2}.visit-advice-chat{min-height:640px;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}.visit-agent-messages{height:440px}.visit-organize-input textarea{min-height:220px}.visit-ai-sidebar{position:static;max-height:none;grid-row:1}.visit-ai-transcript textarea{min-height:110px}}@media(max-width:760px){.visit-editor-page{width:calc(100% - 24px);padding:0 0 86px}.visit-editor-header{grid-template-columns:1fr auto;padding:18px}.visit-editor-header .visit-editor-back{grid-column:1/-1;width:max-content}.visit-editor-main{padding:17px 16px 0}.visit-editor-actions{margin-right:-16px;margin-left:-16px;padding-right:16px;padding-left:16px}}@media(max-width:560px){.visit-editor-header{grid-template-columns:1fr}.visit-editor-header>.visit-draft-tag,.visit-editor-header>.visit-complete-tag{justify-self:start}.visit-editor-main{border-radius:10px}.visit-editor-actions{bottom:68px}.visit-ai-sidebar{padding:17px}.visit-ai-actions,.visit-advice-actions{grid-template-columns:1fr}}@media(max-width:860px){.visit-advice-chat{min-height:600px;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}.visit-agent-messages{height:400px}}@media(max-width:560px){.visit-agent-header{align-items:stretch;flex-direction:column}.visit-agent-tabs{width:100%}.visit-agent-tabs button{flex:1;justify-content:center;min-height:44px}.visit-organize-panel{padding:20px 16px 16px}.visit-organize-input textarea{min-height:210px;font-size:16px}.visit-organize-actions{grid-template-columns:1fr}.visit-agent-messages{height:380px;padding:16px 12px}.visit-agent-message{max-width:94%;grid-template-columns:30px minmax(0,1fr);gap:7px}.visit-agent-message.user{grid-template-columns:minmax(0,1fr) 30px}.visit-agent-message>span{width:30px;height:30px}.visit-agent-message>div{padding:10px 11px}.visit-agent-message p,.visit-agent-detail{font-size:14px}.visit-agent-message button{min-height:44px}.visit-agent-composer{padding:16px 14px}.visit-agent-composer textarea{min-height:132px;font-size:16px}.visit-agent-compose-actions,.visit-agent-compose-actions.advice{display:grid;grid-template-columns:1fr}.visit-agent-compose-actions.advice>span{max-width:none}.visit-form-heading{align-items:flex-start;flex-direction:column;gap:4px}}@media(max-width:560px){.visit-advice-generate{align-items:stretch;flex-direction:column}.visit-advice-generate button{width:100%}.visit-advice-composer textarea{font-size:16px}.visit-advice-composer button{min-width:70px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:1050px){.settings-stats.five{grid-template-columns:repeat(2,1fr)}.student-account-tools{grid-template-columns:1fr 1fr}}@media(max-width:760px){.settings-stats.five,.student-account-tools{grid-template-columns:1fr}}.psych-metrics,.assessment-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.psych-metrics article,.assessment-metrics article{min-height:116px;display:flex;align-items:flex-start;gap:13px;padding:19px;border:1px solid var(--line-soft);border-radius:12px;background:#fff}.psych-metrics article>span,.assessment-metrics article>svg{width:42px;height:42px;flex:none;padding:10px;border-radius:12px;color:var(--brand-deep);background:var(--brand-soft)}.psych-metrics article.attention,.assessment-metrics article.attention{border-color:#edc5bd;background:snow}.psych-metrics article.attention>span,.assessment-metrics article.attention>svg{color:#a65d52;background:#fbe9e6}.psych-metrics article div,.assessment-metrics article div{display:grid}.psych-metrics small,.assessment-metrics small{color:var(--text-2);font-size:11px}.psych-metrics strong,.assessment-metrics strong{margin-top:2px;color:var(--text-1);font-size:26px;line-height:1.2}.psych-metrics p,.assessment-metrics p{margin:5px 0 0;color:var(--text-3);font-size:10px}.psych-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-bottom:18px}.psych-grade-coverage,.psych-risk-summary{padding:18px 20px}.psych-grade-coverage>header,.psych-risk-summary>header,.assessment-catalog>header,.assessment-results>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.psych-grade-coverage h2,.psych-risk-summary h2,.assessment-catalog h2,.assessment-results h2{margin:3px 0 0;font-size:16px}.psych-grade-coverage>div{display:grid;grid-template-columns:54px minmax(90px,1fr) 38px;align-items:center;gap:10px;min-height:32px;color:var(--text-2);font-size:11px}.psych-grade-coverage i,.psych-portrait i{height:7px;overflow:hidden;border-radius:999px;background:#f2e9dc}.psych-grade-coverage i b,.psych-portrait i b{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-deep))}.psych-grade-coverage strong{text-align:right;font-size:11px}.psych-risk-summary>div{min-height:34px;display:grid;grid-template-columns:1fr auto 38px;align-items:center;gap:9px;border-top:1px solid var(--line-soft)}.psych-risk-summary>div:first-of-type{border-top:0}.psych-risk-summary>div>strong{font-size:15px}.psych-risk-summary>div>small{color:var(--text-3);text-align:right}.psych-risk{width:max-content;display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;white-space:nowrap;font-size:10px;font-weight:600}.risk-常规关怀{color:#477563;background:#e7f3eb}.risk-成长支持{color:#896b36;background:#fbf1d7}.risk-持续跟进{color:#9b654f;background:#fae8df}.risk-重点复核{color:#a14545;background:#fde8e8}.psych-student-panel,.assessment-results{overflow:hidden}.psych-filterbar{min-height:76px;display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line-soft);background:#fffaf3}.psych-filterbar .search-box{flex:1;max-width:330px}.psych-filterbar>label:not(.search-box){display:flex;align-items:center;gap:7px;color:var(--text-2);font-size:11px}.psych-filterbar select,.assessment-filters select,.assessment-student-select select{min-height:40px;padding:0 32px 0 11px;border:1px solid var(--brand-line);border-radius:8px;color:var(--text-1);background:#fff}.record-count{padding:10px 18px;color:var(--text-3);font-size:11px}.record-count strong{color:var(--brand-deep)}.psych-student-table{min-width:1120px}.psych-student-table td,.assessment-results td{vertical-align:middle}.psych-student-table td strong,.psych-student-table td small,.assessment-results td strong,.assessment-results td small{display:block}.psych-student-table td small,.assessment-results td small{margin-top:3px;color:var(--text-3);font-size:10px}.psych-student-table td:first-child i,.assessment-results td:first-child i{margin-left:5px;padding:1px 5px;border-radius:4px;color:var(--brand-deep);background:var(--brand-soft);font-size:9px;font-style:normal}.psych-student-table td:nth-child(3){max-width:260px}.psych-student-table td:nth-child(3) em,.assessment-results td:nth-child(4) em{display:flex;align-items:center;gap:4px;margin-top:4px;color:#a14545;font-size:10px;font-style:normal}tr.has-alert{background:snow}tr.has-alert td:first-child{box-shadow:inset 3px 0 #ce7e73}.psych-view-button{min-height:36px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid var(--brand-line);border-radius:8px;color:var(--brand-deep);background:#fff;white-space:nowrap;font-size:11px}.psych-view-button:hover{border-color:var(--brand);background:var(--brand-soft)}.psych-load-error{display:flex;align-items:center;gap:8px;margin:12px 18px 0;padding:10px 12px;border-radius:8px;color:var(--danger-fg);background:var(--danger-bg);font-size:11px}.psych-load-error button{margin-left:auto;border:0;color:inherit;background:transparent;text-decoration:underline}.psych-archive-detail>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.psych-archive-detail>header>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.psych-archive-detail>header button,.psych-record-timeline>header button{min-height:36px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid var(--brand-line);border-radius:8px;color:var(--brand-deep);background:#fff}.psych-critical-flag{display:inline-flex;align-items:center;gap:5px;color:#a14545;font-size:11px}.psych-archive-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:0 -22px 18px;padding:0 22px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.psych-archive-tabs button{min-height:48px;border:0;border-bottom:2px solid transparent;color:var(--text-2);background:transparent;font-size:12px}.psych-archive-tabs button.active{color:var(--brand-deep);border-bottom-color:var(--brand-deep);font-weight:600}.psych-growth-view{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.psych-growth-view>div,.psych-growth-view>article{padding:17px;border:1px solid var(--line-soft);border-radius:10px;background:#fffdf9}.psych-growth-view h3{margin:3px 0 14px;font-size:15px}.psych-growth-view h4{margin:15px 0 7px;font-size:12px}.psych-growth-view p{margin:0;color:var(--text-2);font-size:11px;line-height:1.8}.psych-portrait header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.psych-portrait header small{max-width:180px;color:var(--text-3);text-align:right;font-size:9px}.psych-portrait>div{display:grid;grid-template-columns:82px 1fr 28px;align-items:center;gap:9px;min-height:34px;color:var(--text-2);font-size:11px}.psych-portrait>div strong{font-size:11px;text-align:right}.psych-tags{display:flex;flex-wrap:wrap;gap:6px}.psych-tags span{padding:4px 8px;border-radius:999px;color:#6f685d;background:#f7ecdc;font-size:9px}.psych-tags.alert span{color:#9f4747;background:#fdeaea}.psych-record-timeline>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.psych-record-timeline>header h3{margin:0;font-size:15px}.psych-record-timeline>header>span{color:var(--text-3);font-size:10px}.psych-record-timeline>article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;padding:15px 0;border-top:1px solid var(--line-soft)}.psych-record-timeline>article>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--brand-deep);background:var(--brand-soft);font-style:normal}.psych-record-timeline article strong,.psych-record-timeline article small{display:block}.psych-record-timeline article small{margin-top:3px;color:var(--text-3);font-size:10px}.psych-record-timeline article p{color:var(--text-2);font-size:11px;line-height:1.7}.psych-record-timeline dl{margin:9px 0 0}.psych-record-timeline dl>div{display:grid;grid-template-columns:95px 1fr;gap:8px;margin-top:5px;font-size:10px}.psych-record-timeline dt{color:var(--text-3)}.psych-record-timeline dd{margin:0;color:var(--text-2)}.psych-empty{min-height:150px;display:grid;place-items:center;margin:0;color:var(--text-3);font-size:11px}.assessment-catalog{margin:18px 0;padding:20px;border:1px solid var(--line-soft);border-radius:12px;background:#fff}.assessment-catalog>header p{max-width:450px;margin:0;color:var(--text-3);font-size:11px;text-align:right}.assessment-catalog>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.assessment-catalog article{display:flex;flex-direction:column;min-height:280px;padding:17px;border:1px solid var(--brand-line);border-radius:11px;background:#fffdfa}.assessment-catalog article.professional{border-color:#e5c7bf;background:snow}.assessment-catalog article>header{display:flex;align-items:center;justify-content:space-between}.assessment-catalog article>header span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--brand-deep);background:var(--brand-soft)}.assessment-catalog article>header i{color:var(--text-3);font-size:9px;font-style:normal}.assessment-catalog h3{margin:17px 0 4px;font-size:15px}.assessment-catalog article>p{min-height:36px;margin:0;color:var(--text-2);font-size:11px}.assessment-catalog dl{margin:15px 0}.assessment-catalog dl div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--line-soft);font-size:10px}.assessment-catalog dt{color:var(--text-3)}.assessment-catalog dd{margin:0}.assessment-catalog article>small{color:var(--text-3);font-size:9px;line-height:1.6}.assessment-catalog article>button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;border:1px solid var(--brand-deep);border-radius:8px;color:var(--brand-deep);background:#fff;font-size:11px}.assessment-catalog article>button:hover{color:#fff;background:var(--brand-deep)}.assessment-results>header{align-items:center;margin:0;padding:16px 18px;border-bottom:1px solid var(--line-soft)}.assessment-filters{display:flex;align-items:center;gap:8px}.assessment-filters .search-box{width:220px}.assessment-results table{min-width:1120px}.assessment-results td:nth-child(4){max-width:300px}.assessment-results td:nth-child(4)>span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-2);font-size:10px;line-height:1.6}.assessment-review{display:inline-flex;padding:4px 8px;border-radius:5px;color:var(--success-fg);background:var(--success-bg);font-size:10px}.assessment-review.pending{color:var(--warn-fg);background:#fef3c7}.assessment-student-select{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:13px;border:1px solid var(--brand-line);border-radius:10px;background:#fffaf3}.assessment-student-select label{display:grid;gap:5px;color:var(--text-2);font-size:10px}.assessment-consent{display:flex;align-items:flex-start;gap:9px;margin:15px 0;padding:12px 13px;border:1px solid #cde7d7;border-radius:9px;background:#f4faf6;cursor:pointer}.assessment-consent input{margin-top:3px;accent-color:var(--brand-deep)}.assessment-consent span{display:grid}.assessment-consent strong{font-size:11px}.assessment-consent small{margin-top:3px;color:var(--text-3);font-size:9px}.assessment-questions{display:grid;gap:11px}.assessment-questions fieldset{margin:0;padding:13px;border:1px solid var(--line-soft);border-radius:10px}.assessment-questions legend{display:flex;align-items:center;gap:7px;padding:0 4px;color:var(--text-1);font-size:11px}.assessment-questions legend b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;color:var(--brand-deep);background:var(--brand-soft);font-size:9px}.assessment-questions legend em{padding:2px 5px;border-radius:4px;color:#a14545;background:#fdeaea;font-size:8px;font-style:normal}.assessment-questions fieldset>div{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}.assessment-questions label{min-height:38px;display:grid;place-items:center;border:1px solid var(--brand-line);border-radius:8px;color:var(--text-2);background:#fff;cursor:pointer;font-size:10px}.assessment-questions label.selected{color:var(--brand-deep);border-color:var(--brand-deep);background:var(--brand-soft);font-weight:600}.assessment-questions input{position:absolute;opacity:0}.assessment-runner>footer{position:sticky;bottom:-24px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px -22px -24px;padding:13px 22px;border-top:1px solid var(--line-soft);background:#fffdf9f7}.assessment-runner>footer span{color:var(--text-3);font-size:10px}.assessment-detail>.psych-risk{margin-bottom:11px}.assessment-detail h3{margin:0 0 8px}.assessment-detail>p{color:var(--text-2);font-size:11px;line-height:1.75}.assessment-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.assessment-detail dl div{padding:9px 10px;border:1px solid var(--line-soft);border-radius:8px;background:#fffaf3}.assessment-detail dt{color:var(--text-3);font-size:9px}.assessment-detail dd{margin:2px 0 0;font-size:11px}.assessment-detail>small{display:flex;align-items:center;gap:6px;color:var(--brand-deep);font-size:10px}.psych-critical-box{display:flex;align-items:flex-start;gap:9px;margin:12px 0;padding:11px 12px;border:1px solid #edc5bd;border-radius:8px;color:#a14545;background:#fff5f3}.psych-critical-box div{display:grid}.psych-critical-box strong{font-size:11px}.psych-critical-box span{margin-top:2px;font-size:10px}@media(max-width:1050px){.psych-metrics,.assessment-metrics{grid-template-columns:repeat(2,1fr)}.assessment-catalog>div{grid-template-columns:1fr 1fr}.psych-overview-grid{grid-template-columns:1fr}}@media(max-width:760px){.psych-filterbar,.assessment-results>header,.assessment-filters{align-items:stretch;flex-direction:column}.psych-filterbar .search-box,.assessment-filters .search-box,.assessment-filters select{width:100%;max-width:none}.psych-filterbar>label:not(.search-box){display:grid;grid-template-columns:64px 1fr}.assessment-catalog>header{align-items:flex-start;flex-direction:column}.assessment-catalog>header p{text-align:left}.assessment-catalog>div,.psych-growth-view{grid-template-columns:1fr}.psych-archive-detail>header{align-items:flex-start;flex-direction:column}.assessment-student-select{grid-template-columns:1fr}}@media(max-width:560px){.psych-metrics,.assessment-metrics{grid-template-columns:1fr}.psych-metrics article,.assessment-metrics article{min-height:94px}.psych-archive-tabs{grid-template-columns:1fr 1fr}.psych-archive-tabs button{min-height:44px}.psych-archive-detail>header>div:last-child{width:100%;display:grid;grid-template-columns:1fr 1fr}.psych-record-timeline>article{grid-template-columns:32px minmax(0,1fr)}.psych-record-timeline>article>.psych-risk,.psych-record-timeline>article>.status{grid-column:2}.assessment-questions fieldset>div{grid-template-columns:1fr}.assessment-questions label{min-height:44px}.assessment-runner>footer{align-items:stretch;flex-direction:column}.assessment-runner>footer button{width:100%}.assessment-detail dl{grid-template-columns:1fr}}
