.top-actions{display:flex;align-items:center;gap:10px}.language-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);background:#f4f7f5;border-radius:999px}.language-switch button{min-height:32px;border:0;background:transparent;border-radius:999px;padding:4px 10px;font-size:.75rem;color:#60736c}.language-switch button.on{background:var(--g);color:#fff;box-shadow:0 2px 7px #176b5430}.login-language{position:fixed;right:24px;top:20px;z-index:80}.login-language .language-switch{background:#fff}.login-language .language-switch button{min-height:36px}.topbar .language-switch{flex:none}body[data-language=en]{font-family:Inter,Arial,sans-serif}body[data-language=en] .page-title h1,body[data-language=en] .login-copy h1,body[data-language=en] .login-copy em,body[data-language=en] .login-form h2{font-family:Georgia,Times New Roman,serif;letter-spacing:-.015em}body[data-language=en] .sidebar{width:270px}body[data-language=en] .app-shell{grid-template-columns:270px 1fr}body[data-language=en] .workspace{grid-column:2}@media(max-width:780px){.topbar{gap:10px;align-items:flex-start;flex-direction:column;padding-top:10px;padding-bottom:10px}.top-actions{width:100%;justify-content:space-between}.login-language{right:12px;top:12px}body[data-language=en] .sidebar{width:100%}body[data-language=en] .app-shell{display:block}.language-switch button{font-size:.7rem;padding:3px 8px}}.multi-upload{height:auto;min-height:180px;padding:10px}.image-strip{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.image-strip img{width:100%;height:135px;object-fit:contain;background:#eef2ef;border-radius:8px}.reasoning-loop{margin:16px 0 10px;padding-top:14px;border-top:1px solid #cfdfd5;display:flex;flex-direction:column;gap:9px}.reasoning-loop label{font-size:11px;font-weight:700;color:var(--g)}.reasoning-loop textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:9px;padding:10px;line-height:1.6}.reasoning-loop .mini{align-self:flex-start}.rubric{margin:0 0 20px;border:1px solid #cfe0d6;border-radius:13px;background:#f7faf8;padding:14px}.rubric summary{cursor:pointer;font-weight:800;color:var(--g)}.rubric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:13px 0}.rubric-grid article{background:#fff;border:1px solid #e1ebe5;border-radius:10px;padding:11px}.rubric-grid b{display:flex;justify-content:space-between;font-size:12px}.rubric-grid em{font-style:normal;color:#9a632d}.rubric-grid p{font-size:10px;color:var(--muted);line-height:1.7;margin:6px 0 0}.rubric>small{display:block;color:#60736c;line-height:1.7}.risk-point text{font-size:7px;font-weight:800;fill:var(--gd);paint-order:stroke;stroke:#fff;stroke-width:2px}.chart-labels span{display:flex!important;flex-direction:column;align-items:center;gap:1px}.chart-labels span>b{font:700 15px Georgia;color:var(--g)}.chart-labels span>small{font-size:8px;color:var(--muted)}html{font-size:16px;scroll-behavior:smooth}body{line-height:1.65}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e69b55;outline-offset:2px}.structured-result{display:grid;gap:.55rem;margin-top:.75rem}.structured-result p{margin:0;padding:.5rem .7rem;border-radius:8px;background:#fff}.structured-result p.important{background:#fff4df;border-left:4px solid var(--orange);color:#3f3224}.structured-result strong{color:var(--gd)}.case-stage{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:1rem}.case-stage span{padding:.55rem .45rem;border-radius:999px;background:#eef2ef;color:var(--muted);font-size:.78rem;text-align:center}.case-stage span.done{background:#e3f2e9;color:var(--g)}.case-stage span.active{background:#fff0dd;color:#8a531f;font-weight:700}.binding-status{display:grid;gap:.35rem}.binding-status span{font-size:.8rem;color:var(--muted)}.binding-status strong{font-size:1.25rem;color:var(--g)}.binding-status small{font-size:.82rem;color:var(--muted)}.library-grid>button{content-visibility:auto;contain-intrinsic-size:260px}.toast{font-size:.95rem;max-width:min(420px,calc(100vw - 30px))}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:780px){.sidebar nav button{font-size:.95rem;padding:12px 16px}.page-title h1{font-size:1.8rem}.page-title p{font-size:.95rem}.topbar{min-height:64px;height:auto}.rubric-grid{grid-template-columns:1fr}}:root{--g: #176b54;--gd: #0f4f3e;--mint: #eaf4ee;--ink: #173a32;--muted: #71827c;--line: #dce6df;--bg: #f5f7f3;--orange: #e8894d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Microsoft YaHei,Noto Sans SC,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.login-art{position:relative;overflow:hidden;background:linear-gradient(155deg,#e7f4ed,#f6f0df);padding:48px 64px;display:flex;flex-direction:column}.login-brand,.logo{display:flex;align-items:center;gap:12px}.login-brand>span,.logo>span{width:44px;height:44px;border-radius:15px 15px 19px 10px;background:var(--g);color:#fff;display:grid;place-items:center;font:700 25px Georgia;transform:rotate(-4deg)}.login-brand div,.logo div{display:flex;flex-direction:column}.login-brand b,.logo b{letter-spacing:.14em}.login-brand small,.logo small{font-size:9px;color:#739086;margin-top:3px}.login-copy{margin:auto 0 220px;z-index:2}.login-copy em{font-style:normal;font:700 32px Songti SC,serif}.login-copy h1{font:800 68px Songti SC,serif;color:var(--g);margin:4px 0 18px}.login-copy p{color:#658077;letter-spacing:.15em;font-size:13px}.village{position:absolute;left:0;right:0;bottom:0;height:290px;background:linear-gradient(165deg,transparent 22%,#b9d8b9 23% 100%)}.village:after{content:"";position:absolute;width:230px;height:140px;background:#f8f0db;bottom:30px;left:43%;border-radius:8px;box-shadow:0 15px 30px #45705c33}.village:before{content:"";position:absolute;width:175px;height:175px;background:#db8051;bottom:98px;left:47%;transform:rotate(45deg);border-radius:17px}.village>b{position:absolute;z-index:2;left:calc(52% + 22px);bottom:190px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--g);font-size:30px}.village i{position:absolute;width:82px;height:82px;border-radius:50%;background:#efc475;right:80px;top:28px}.village span{position:absolute;z-index:2;width:36px;height:55px;background:#9cc9bb;bottom:70px;left:calc(43% + 35px)}.village span:nth-of-type(2){left:calc(43% + 158px)}.village span:nth-of-type(3){width:42px;height:75px;left:calc(43% + 94px);bottom:30px;background:#2f7660}.login-art footer{position:absolute;bottom:16px;left:35px;z-index:3;font-size:10px;color:#537268}.login-form{display:grid;place-items:center;padding:50px}.login-form form{width:min(470px,100%)}.kicker,.page-title>span{font-size:11px;letter-spacing:.18em;color:var(--g);font-weight:800}.login-form h2{font:800 38px Songti SC,serif;margin:12px 0}.login-form>form>p{color:var(--muted);font-size:14px;margin-bottom:34px}.field,.login-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin-bottom:18px}.field input,.field select,.field textarea,.login-form input{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:13px 14px;outline:none;color:var(--ink)}.field textarea{resize:vertical;line-height:1.7}.field input:focus,.field select:focus,.field textarea:focus,.login-form input:focus{border-color:#77aa98;box-shadow:0 0 0 3px #dceee5}.login-error{color:#c0392b;font-size:13px;font-weight:700;margin:-6px 0 14px}.role-picks{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.role-picks button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 5px;color:#61756e}.role-picks button b{display:block;font-size:20px;color:var(--g);margin-bottom:5px}.role-picks button.on{border-color:var(--g);background:var(--mint);color:var(--g);font-weight:700}.login details{margin:16px 0 22px;border-top:1px solid var(--line);padding-top:15px}.login summary{font-size:13px;color:var(--g);font-weight:700;margin-bottom:18px}.secret{display:flex}.secret input{border-radius:11px 0 0 11px}.secret button{border:1px solid var(--line);border-left:0;background:#f5f7f4;border-radius:0 11px 11px 0;padding:0 14px;color:var(--g)}label small,.hint{font-size:10px;color:#899991;font-weight:400;line-height:1.6}.enter,.submit{width:100%;border:0;border-radius:11px;background:var(--g);color:#fff;font-weight:700;padding:14px 20px;box-shadow:0 8px 22px #176b5430}.enter span{float:right}.enter:hover,.submit:hover{background:var(--gd)}.app-shell{min-height:100vh;display:grid;grid-template-columns:242px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#113f34;color:#fff;padding:25px 16px;display:flex;flex-direction:column;z-index:20}.logo{padding:0 8px 22px;border-bottom:1px solid #ffffff18}.logo>span{background:#fff;color:var(--g);width:38px;height:38px}.logo b{font-size:14px}.logo small{color:#8cb1a5}.profile{display:flex;align-items:center;gap:10px;margin:20px 6px 15px;padding:12px;background:#ffffff0b;border-radius:12px}.profile>div{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7b477;color:#5e3d23;font-weight:700}.profile span{display:flex;flex-direction:column}.profile b{font-size:12px}.profile small{font-size:9px;color:#94b5aa;margin-top:3px}.sidebar nav{overflow:auto}.sidebar nav button,.side-bottom button{width:100%;border:0;background:transparent;color:#b9d0c8;padding:11px 13px;border-radius:10px;text-align:left;font-size:12px;margin:2px 0}.sidebar nav button i{font-style:normal;display:inline-grid;place-items:center;width:22px;margin-right:8px;color:#90b8aa}.sidebar nav button:hover,.sidebar nav button.on{background:#ffffff12;color:#fff}.sidebar nav button.on{box-shadow:inset 3px 0 #e5b372}.side-bottom{margin-top:auto;border-top:1px solid #ffffff18;padding-top:10px}.side-bottom p{font-size:8px;text-align:center;color:#6f9689}.workspace{grid-column:2;min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar>div:first-child{display:flex;gap:10px;align-items:center;font-size:12px}.topbar>div:first-child span{color:var(--muted)}.api-state{font-size:10px;padding:7px 11px;border-radius:20px;background:#f1f3f1;color:#77827e}.api-state i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ca7a3;margin-right:6px}.api-state.ok{background:#e7f4ec;color:var(--g)}.api-state.ok i{background:#35a670}.page-body{padding:35px clamp(22px,4vw,55px) 70px;max-width:1500px;margin:auto}.page-title{margin-bottom:30px}.page-title h1{font:800 34px Songti SC,serif;margin:7px 0}.page-title p{margin:0;color:var(--muted);font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.metrics>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;position:relative}.metrics b{display:block;font:700 30px Georgia;color:var(--g)}.metrics span{font-size:11px;color:var(--muted)}.metrics i{position:absolute;right:18px;top:18px;font-style:normal;color:#80a897;background:var(--mint);border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.dash-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:20px}.panel-head{padding-bottom:15px;border-bottom:1px solid #edf1ee;margin-bottom:12px}.panel-head h3{font-size:15px;margin:0}.quick button{width:100%;border:0;background:#fff;display:flex;align-items:center;padding:13px 5px;border-bottom:1px solid #edf1ee;text-align:left}.quick button i{font-style:normal;width:38px;height:38px;border-radius:11px;background:var(--mint);color:var(--g);display:grid;place-items:center}.quick button span{display:flex;flex-direction:column;margin-left:10px}.quick button b{font-size:12px}.quick button small{font-size:9px;color:var(--muted);margin-top:3px}.quick button em{font-style:normal;margin-left:auto;color:var(--g)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#82928c;font-weight:500;padding:10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #edf1ee;color:#536a62}td b{color:var(--ink);display:block}td small{color:#95a29d}.risk{display:inline-block;padding:4px 8px;border-radius:15px;background:#eaf4ee;color:var(--g);font-size:9px;white-space:nowrap}.risk.高风险,.risk.紧急{background:#fce9e4;color:#b44e36}.risk.中风险{background:#fdf1df;color:#9e642b}.form-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:20px}.form-panel{padding:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 12px;font-size:11px;color:#61756e}.chips button.on{background:var(--mint);border-color:#75a993;color:var(--g)}.upload{height:180px;border:1px dashed #9ab9ac;border-radius:13px;background:#f7faf7;display:grid;place-items:center;align-content:center;gap:7px;overflow:hidden;cursor:pointer;color:#607a70}.upload b{font-size:26px;color:var(--g)}.upload span{font-size:11px}.upload small{font-size:9px;color:#97a39e}.upload input{display:none}.upload img{width:100%;height:100%;object-fit:contain}.result{min-height:420px}.empty{height:240px;display:grid;place-items:center;align-content:center;color:#9aaba4}.empty b{font-size:35px;color:#a8c7b8}.empty p{font-size:11px}.ai-output{background:#eef6f1;border-left:3px solid var(--g);border-radius:10px;padding:18px;margin-top:16px}.ai-output span{font-size:10px;font-weight:700;color:var(--g)}.ai-output p{font-size:12px;line-height:1.9;color:#415e54;white-space:pre-wrap}.ai-output small{font-size:9px;color:#80938b}.pre p{white-space:pre-wrap}.filter{margin-bottom:20px;padding:17px 22px}.filter .field{max-width:420px;margin:0}.narrow{max-width:780px}.mini,.danger{border:1px solid #bdd1c8;background:#fff;color:var(--g);padding:9px 13px;border-radius:9px;font-size:10px}.danger{color:#aa4a3d;border-color:#e5c2bc}.question,.case-vignette,.warning{background:#f7f5ed;border-radius:11px;padding:15px;margin:14px 0}.question b,.warning b{font-size:11px}.question p,.warning p,.case-vignette p{font-size:11px;color:#6b7d76;line-height:1.7}.case-card{display:flex;gap:15px;border:1px solid var(--line);border-radius:12px;padding:13px;margin:14px 0}.case-card img{width:120px;height:100px;object-fit:cover;border-radius:9px}.case-card h3{font-size:14px;margin:8px 0}.case-card p,.case-card small{font-size:10px;color:var(--muted);line-height:1.5}.tabs{display:flex;gap:7px;margin-bottom:15px}.tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 17px;font-size:11px;color:#60736c}.tabs button.on{background:var(--g);border-color:var(--g);color:#fff}.training{max-width:850px}.training-head{display:flex;justify-content:space-between;align-items:center}.training-head span,.case-vignette span{font-size:9px;color:var(--g);font-weight:700}.training-head h3,.case-vignette h3{font-size:16px}.train-img{width:100%;height:360px;object-fit:contain;background:#eef1ed;border-radius:12px;margin:15px 0}.chat{background:#f4f7f4;border-radius:12px;padding:16px;margin-bottom:18px}.patient,.doctor{width:fit-content;max-width:75%;padding:10px 13px;border-radius:12px;margin:8px 0;font-size:11px;line-height:1.6}.patient{background:#fff}.doctor{background:#dff0e7;margin-left:auto;color:#245a47}.inline{display:flex;gap:10px;align-items:center}.inline .submit{width:auto}.library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.library-grid>button{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;text-align:left;padding:0;color:var(--ink)}.library-grid img{width:100%;height:170px;object-fit:cover}.library-grid>button div{padding:15px}.library-grid span{font-size:9px;color:var(--g)}.library-grid h3{font-size:13px;margin:6px 0}.library-grid p{font-size:9px;color:var(--muted)}.modal{position:fixed;inset:0;background:#122f2999;z-index:50;display:grid;place-items:center;padding:20px}.modal article{position:relative;background:#fff;width:min(600px,100%);max-height:90vh;overflow:auto;padding:25px;border-radius:18px}.modal article>img{width:100%;max-height:420px;object-fit:contain;background:#eef2ef;border-radius:12px}.modal article span{font-size:10px;color:var(--g)}.modal article p{font-size:12px;line-height:1.8;color:#60736c}.close{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:50%;border:0;background:#fff;font-size:22px}.notice,.toast{background:#e9f4ed;color:#316954;border-radius:10px;padding:12px 15px;font-size:11px;margin-top:15px}.toast{position:fixed;right:25px;bottom:25px;z-index:60;box-shadow:0 12px 35px #264c3d33}.warning{background:#fff5e8}.warning b{color:#9a632d}@media(max-width:1050px){.form-layout,.dash-grid{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){.login{grid-template-columns:1fr}.login-art{min-height:330px;padding:30px}.login-copy{margin:auto 0 100px}.login-copy h1{font-size:48px}.village{height:180px}.village:after,.village:before,.village>b{transform:scale(.65)}.login-form{padding:40px 22px}.app-shell{display:block}.sidebar{position:static;width:100%;height:auto}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav button{min-width:max-content}.side-bottom{display:flex}.workspace{width:100%}.topbar{position:static}.metrics,.library-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}@media(max-width:500px){.role-picks{grid-template-columns:1fr 1fr}.metrics,.library-grid{grid-template-columns:1fr}.page-body{padding:25px 15px}.topbar{padding:0 18px}.login-art{display:none}.training{padding:15px}.train-img{height:260px}}button,input,select,textarea{font-size:1rem;touch-action:manipulation}button{min-height:44px}.sidebar nav button,.side-bottom button{font-size:.9rem;min-height:46px}.profile b,.topbar,.field,.login-form label{font-size:.95rem}.profile small,.logo small,label small,.hint,.ai-output small{font-size:.78rem}.page-title p,.case-card p,.case-card small,.question p,.warning p,.case-vignette p{font-size:.9rem}.panel-head h3,.prescription h3,.risk-chart h3{font-size:1.08rem}.ai-output p,.structured-result p,.prescription p{font-size:.95rem;line-height:1.8}.toast{font-size:.95rem}.risk-chart{margin:18px 0}.risk-chart h3{font-size:15px;margin:0 0 4px}.risk-chart>div>small{font-size:9px;color:var(--muted)}.risk-chart svg{width:100%;height:230px;margin-top:15px;overflow:visible}.risk-chart .grid line{stroke:#dce7df;stroke-width:.4}.risk-chart polyline{fill:none;stroke:var(--g);stroke-width:1.4;vector-effect:non-scaling-stroke}.risk-chart circle{fill:#fff;stroke:var(--orange);stroke-width:1;vector-effect:non-scaling-stroke}.chart-labels{display:flex;justify-content:space-around;font-size:9px;color:var(--muted)}.prescription{margin-top:18px;border-left:4px solid var(--g)}.prescription h3{font-size:15px}.prescription p{font-size:12px;line-height:1.8;color:#536a62}.recorder{display:flex;align-items:center;gap:12px;padding:14px;background:#f2f6f3;border-radius:12px}.recorder button{border:0;border-radius:20px;background:var(--g);color:#fff;padding:10px 16px;flex:none}.recorder span{font-size:12px;color:var(--muted);line-height:1.55}.recorder.recording{background:#fff0ed}.recorder.recording button{background:#c45340}.field audio{width:100%;margin-top:10px}.audio-playback{display:grid;gap:4px;margin-top:10px}.audio-playback audio{margin-top:0}.audio-playback small{color:var(--muted)}.audio-meter{position:relative;height:12px;margin-top:10px;border-radius:999px;background:#dce7df;overflow:visible}.audio-meter>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2f7d5a,#ef9b4a);transition:width .08s linear}.audio-meter small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.audio-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.audio-actions button{border:1px solid #b9cec2;border-radius:999px;background:#fff;color:var(--g);padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer}.audio-actions button:disabled{cursor:wait;opacity:.55}
