:root{--bg:#f7f7f2;--paper:#fffefa;--sidebar:#efeee6;--green:#2c493d;--green-soft:#e4e9dd;--ink:#293d33;--text:#4c554e;--muted:#81877d;--line:#e2e5da;--gold:#a98d58;--danger:#924633;--radius:13px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.65}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--green)}button{color:inherit}button:active{transform:translateY(1px)}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:35px 22px 18px;background:var(--sidebar);border-right:1px solid #e1e2d7;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:18px;letter-spacing:2px;font-weight:700;color:var(--green)}.brand-mark{width:43px;height:43px;display:flex;align-items:center;justify-content:center;font:italic 45px Georgia;border:1px solid #bcc7b7;border-radius:50%;letter-spacing:-7px;padding-right:8px;padding-bottom:8px}.brand-mark span{font-size:35px}.brand-sub{display:block;font-size:8px;letter-spacing:1.8px;font-weight:500}.workspace-label{display:flex;align-items:center;gap:6px;font-size:10px;margin:34px 3px 23px;white-space:nowrap;color:#747e70}.status-dot,.profile-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#6c8566;flex-shrink:0}.local-label{font-size:8px;letter-spacing:1px;margin-left:auto;border:1px solid #ccd1c3;padding:1px 4px;border-radius:3px}.nav-caption{font-size:10px;color:#91958a;letter-spacing:2px;margin:0 14px 12px;display:block}.nav-caption.second{margin-top:26px}.nav-item{border:0;background:none;width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;margin:3px 0;border-radius:8px;font-size:13px;transition:background .16s}.nav-item:hover{background:#e6e8dc}.nav-item.active{background:var(--green);color:#fffef7;box-shadow:0 5px 12px #243d3012}.nav-icon{width:20px;font-size:20px;line-height:20px;text-align:center;font-weight:400}.nav-count{margin-left:auto;font-size:10px;opacity:.65}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-note{padding:22px 14px 30px}.small-serif{font-family:Georgia,serif;font-style:italic;color:#7d886f;font-size:15px}.sidebar-note p{font-size:10px;margin:4px 0 15px;letter-spacing:1px;color:#909787}.note-line{display:block;width:28px;border-bottom:1px solid #bdc3ae}.admin-nav{font-size:12px;color:#798273}.profile{border-top:1px solid #dce0d2;margin-top:17px;padding:20px 8px 0;display:flex;align-items:center;gap:10px;font-size:11px}.avatar{display:grid;place-items:center;width:33px;height:33px;background:#e0e5d5;border:1px solid #d5dcc8;border-radius:50%;color:#6c795d;font-size:12px}.profile small{display:block;color:#979d90;font-size:9px}.profile-dot{margin-left:auto}main{margin-left:240px;min-height:100vh}.topbar{height:75px;border-bottom:1px solid var(--line);padding:0 45px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8c9388}.breadcrumb{display:flex;gap:14px;align-items:center}.breadcrumb strong{font-weight:500;color:var(--green)}.topbar-right{display:flex;gap:8px;align-items:center;font-size:10px}.topbar-divider{height:12px;border-left:1px solid #dce1d5;margin:0 10px}.content{max-width:1420px;margin:0 auto;padding:0 45px}.hero{min-height:216px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);overflow:hidden}.eyebrow{font-size:9px;letter-spacing:2.2px;color:#8f987f;font-weight:600}.hero .eyebrow span{margin-left:14px;color:#b0b59f}.hero h1,.page-heading h1{font-family:"Songti SC","Noto Serif CJK SC",Georgia,serif;font-size:32px;font-weight:500;letter-spacing:1px;color:var(--ink);line-height:1.45;margin:14px 0 12px}.hero p,.page-heading p{font-size:12px;color:#8b9286;letter-spacing:.5px;margin:0}.hero-art{width:210px;height:180px;position:relative;margin-right:12px;flex-shrink:0}.orbit{position:absolute;left:34px;top:30px;width:115px;height:115px;border:1px solid #cfd6c1;border-radius:50%;transform:rotate(-28deg) scaleX(1.3)}.orbit-two{transform:rotate(33deg) scaleX(1.3);border-color:#dbe0d0}.art-center{position:absolute;top:55px;left:66px;font:47px "Songti SC",serif;color:#a8b396}.art-star{position:absolute;right:35px;top:21px;color:#99a183;font-size:28px}.art-label{position:absolute;bottom:7px;left:30px;font-size:7px;color:#a5ad96;letter-spacing:1.7px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0 30px;border-bottom:1px solid var(--line)}.stat{padding:0 25px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#858d7d}.stat-label>span{color:#a8b09a;font-size:12px}.stat strong{font-family:Georgia,serif;font-size:33px;line-height:1.7;font-weight:400;color:var(--green);font-variant-numeric:tabular-nums}.stat div>span{font-size:10px;color:#a4aa9b;margin-left:8px}.stat small{font-size:9px;color:#999f92}.collection{padding-top:29px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-top h2{font-size:20px;color:var(--ink);font-weight:500;margin:4px 0 0;letter-spacing:.5px}.text-button{border:0;background:none;font-size:11px;color:#849079;padding:8px 0;white-space:nowrap}.text-button:hover{text-decoration:underline}#search-form{margin-top:23px}.search-box{display:flex;align-items:center;padding:6px 7px 6px 18px;gap:12px;background:var(--paper);border:1px solid #d5dccb;border-radius:9px;box-shadow:0 3px 6px #4b644007}.search-box>span{font-size:27px;line-height:1;color:#8e9b82;margin-top:-4px}.search-box input{background:transparent;border:0;outline:none;width:100%;min-width:0;height:38px;color:var(--ink);font-size:12px}.search-box input::placeholder{color:#a1a797}.search-box:focus-within{border-color:#94a88b;box-shadow:0 0 0 3px #2c493d08}.search-box kbd{border:1px solid #e4e8de;border-radius:4px;padding:0 5px;color:#b2b9a8;font-size:10px}.primary-button,.secondary-button{border:0;background:var(--green);color:#fffef7;border-radius:6px;padding:9px 23px;font-size:12px;white-space:nowrap}.primary-button:hover{background:#3b5b49}.secondary-button{color:var(--green);background:#e9edde;border:1px solid #d5ddc8}.filter-row{display:flex;align-items:center;gap:18px;padding:16px 0 19px;border-bottom:1px solid var(--line)}.filter-row label{display:flex;gap:8px;align-items:center;font-size:10px;color:#91998b}.filter-row select{font-size:10px;color:#5b6953;background:transparent;border:0;max-width:185px;padding:4px 16px 4px 3px}.clear-button{margin-left:auto;border:0;background:none;font-size:10px;color:#929c85;white-space:nowrap}.collection-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#959d8d;margin:17px 0}.collection-meta p{margin:0}.collection-meta>span{font-size:9px}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.record{background:var(--paper);border:1px solid #e1e6d9;border-radius:var(--radius);padding:21px 23px 16px;display:flex;flex-direction:column;min-height:227px;transition:box-shadow .15s,border-color .15s}.record:hover{border-color:#becbae;box-shadow:0 5px 16px #40593507}.record-top{display:flex;align-items:center;gap:7px;margin-bottom:14px;flex-wrap:wrap}.badge{display:inline-block;color:#718160;background:#edf0e5;border:1px solid #e0e7d4;border-radius:4px;padding:2px 7px;font-size:9px;line-height:1.6}.badge.evidence{color:#9b8155;background:#f5f1e6;border-color:#ebe3ce}.badge.neutral{color:#8b9481;background:#f3f5ee;border-color:#e6eade}.record-year{margin-left:auto;font-size:9px;color:#a1aa97}.record-title{padding:0;border:0;text-align:left;color:var(--ink);font-size:15px;line-height:1.6;font-weight:500;background:none;overflow-wrap:anywhere}.record-title:hover{text-decoration:underline;text-decoration-color:#acb89c;text-underline-offset:4px}.record-subtitle{font-size:10px;line-height:1.6;color:#9aa28f;margin:8px 0 14px;overflow-wrap:anywhere}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-bottom:14px}.tag{font-size:9px;color:#8c987e;background:#f3f5ec;border-radius:4px;padding:2px 7px}.record-bottom{border-top:1px solid #edf0e7;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#a4ad98;gap:12px}.source-link{font-size:9px;color:#7a8e69;text-decoration:none;display:inline-flex;gap:5px;align-items:center}.source-link:hover{text-decoration:underline}.record-state{font-size:9px;color:#939d88}.excerpt{border:1px solid var(--line);border-left:3px solid #cbd6c0;border-radius:8px;padding:12px 15px;margin:0 0 11px;background:var(--paper)}.excerpt h4{margin:0 0 7px;font-size:11px;letter-spacing:.5px;color:#8b9481;font-weight:500}.excerpt-zh{margin:0 0 9px;font-size:12.5px;line-height:1.85;color:var(--ink)}.excerpt-en{margin:0;font-size:11px;line-height:1.7;color:#98a08d;border-top:1px dashed var(--line);padding-top:9px;overflow-wrap:anywhere}/* 中文标题在先、英文原文紧随其后：渲染是渲染，不是替代 */.record-original{margin:7px 0 0;font-size:10.5px;line-height:1.6;color:#a4ab99;overflow-wrap:anywhere}.title-original{margin:10px 0 0;font-size:11px;line-height:1.6;color:#8b9481;overflow-wrap:anywhere}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #d8e0cc;border-radius:12px;padding:42px 20px;background:#f4f6ed}.empty-state .empty-symbol{font-family:Georgia,serif;font-size:35px;color:#a2b28f}.empty-state h3{font-size:15px;font-weight:500;color:#627254;margin:10px 0}.empty-state p{color:#94a087;font-size:11px;max-width:470px;margin:0 auto}.load-more-wrap{text-align:center;margin-top:20px}.evidence-note{display:flex;gap:10px;align-items:flex-start;padding:16px 18px;background:#eff2e8;border:1px solid #e7ebdc;border-radius:7px;margin-top:26px;color:#909a81;font-size:10px}.evidence-note>span{font-size:13px}.evidence-note p{margin:0}.evidence-note strong{font-weight:500;color:#77876b}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0 22px;font-size:8px;color:#a5ad99;letter-spacing:1.4px}.page-heading{padding:36px 0}.admin-grid{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(320px,1.4fr);gap:20px}.panel{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.panel h2{font-weight:500;color:var(--green);font-size:18px;margin:0 0 12px}.muted{color:#919a86;font-size:11px;line-height:1.8}.panel form{display:grid;gap:15px;margin-top:23px}.panel form label{display:flex;flex-direction:column;gap:6px;color:#7a8870;font-size:11px}.panel form input,.panel form select{border:1px solid #dae1ce;border-radius:6px;padding:10px;background:#fbfcf7;width:100%;font-size:12px;color:var(--green)}.panel form button{margin-top:3px;display:flex;justify-content:space-between}.source-row{padding:16px 0;border-bottom:1px solid var(--line)}.source-row:last-child{border:0;padding-bottom:0}.source-header{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.source-header h3{font-size:13px;margin:0;color:var(--green);font-weight:500}.source-row p{margin:7px 0 4px;font-size:10px;color:#929b86;overflow-wrap:anywhere}.source-row a{font-size:10px;color:#7c8a6d}.jobs-panel{margin-top:23px}.job-row{border-top:1px solid var(--line);padding:18px 0}.job-heading{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.job-heading strong{font-size:12px;font-weight:500;color:var(--green);overflow-wrap:anywhere}.job-heading time{margin-left:auto;font-size:9px;color:#97a088}.job-metrics{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:10px;color:#8d987e}.job-metrics b{font-weight:600;color:#647853}.job-error{font-size:10px;color:var(--danger);overflow-wrap:anywhere;margin:9px 0}.job-progress{font-size:10px;color:#8a957c}.retry-button{border:1px solid #dfd0bc;background:#f8f2e8;border-radius:5px;color:#967a51;font-size:10px;padding:4px 10px;margin-top:7px}.message{font-size:11px;line-height:1.7;padding:10px 13px;border:1px solid #dce6ce;background:#edf3e5;border-radius:6px;overflow-wrap:anywhere}.message.error{background:#fbf0e9;color:#955c42;border-color:#ebd9c9}.message.error button{background:none;border:0;color:inherit;text-decoration:underline;margin-left:10px}.error + .results{margin-top:15px}#future-panel{padding:95px 30px;text-align:center;min-height:680px;display:flex;align-items:center;flex-direction:column}.future-icon{font-size:60px;color:#a7b398;margin-bottom:24px}#future-panel h1{font-family:"Songti SC",serif;font-size:34px;color:var(--green);font-weight:400;margin:14px}#future-panel p{max-width:430px;font-size:13px;color:#929d84;line-height:2;margin:22px 0 30px}dialog{border:1px solid #d8e0ce;border-radius:16px;background:var(--paper);color:var(--text);max-width:720px;width:calc(100% - 36px);padding:28px 32px;box-shadow:0 25px 120px #20362830}dialog::backdrop{background:#20362860;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.icon-button{border:0;background:#eff2e8;width:31px;height:31px;border-radius:50%;font-size:23px;color:#7a8a6b;line-height:1}#detail-title{font-size:22px;font-weight:500;line-height:1.6;color:var(--green);overflow-wrap:anywhere}.detail-section{border-top:1px solid var(--line);padding-top:17px;margin-top:22px}.detail-section h3{font-size:12px;letter-spacing:.5px;color:#718362;margin:0 0 10px}.detail-section p{font-size:12px;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:92px 1fr;gap:8px 16px;font-size:11px;overflow-wrap:anywhere}.detail-grid dt{color:#99a18d}.detail-grid dd{margin:0;color:#6c7a60}.detail-source{padding:12px 0;border-bottom:1px solid #edf0e6}.detail-source a{font-size:12px;overflow-wrap:anywhere}.detail-source p{font-size:10px;color:#99a28c;margin:4px 0}.skip-link{position:fixed;top:-60px;left:20px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}.loading-placeholder{height:227px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(110deg,#f0f2e9 20%,#f9faf5 40%,#f0f2e9 60%);background-size:200% 100%;animation:shimmer 1.7s infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1600px){.content{padding:0 65px}.topbar{padding:0 65px}.hero{min-height:235px}.record{min-height:235px}}@media(max-width:1150px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.brand{font-size:16px;gap:10px}.brand-sub{font-size:7px}.brand-mark{width:38px;height:38px}main{margin-left:205px}.content{padding:0 28px}.topbar{padding:0 28px}.hero h1{font-size:28px}.hero-art{width:175px;margin-right:-15px}.stat{padding:0 16px}.stat small{font-size:8px}.record{padding:18px}.filter-row{gap:10px}.filter-row select{max-width:135px}.admin-grid{grid-template-columns:1fr}}@media(max-width:820px){.sidebar{width:175px;padding:26px 10px 14px}.brand{gap:8px;font-size:14px}.brand-mark{width:30px;height:30px;font-size:33px}.brand-mark span{font-size:24px}.brand-sub{font-size:5.8px}.workspace-label{font-size:8px;gap:4px;margin-top:27px}.local-label{font-size:6px}.nav-item{padding:11px 12px;font-size:12px}.nav-count{font-size:9px}main{margin-left:175px}.content{padding:0 22px}.topbar{padding:0 22px}.topbar-right #today,.topbar-divider{display:none}.hero{min-height:202px}.hero h1{font-size:26px}.hero-art{display:none}.hero p{font-size:11px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:22px 0}.stat:nth-child(2){border:0}.stat:nth-child(3){padding-left:0}.stat small{font-size:9px}.results{grid-template-columns:1fr}.filter-row{gap:7px;flex-wrap:wrap}.filter-row label{gap:3px}.filter-row select{max-width:105px}.clear-button{margin-left:0}.section-top h2{font-size:18px}.sidebar-note{padding:20px 9px}.small-serif{font-size:12px}.profile{font-size:9px}.record{min-height:205px}}@media(max-width:580px){.sidebar{position:relative;width:100%;padding:18px 18px 10px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:17px;gap:10px}.brand-mark{width:32px;height:32px}.brand-sub{font-size:7px}.workspace-label{position:absolute;right:18px;top:20px;margin:0;font-size:8px}.workspace-label .local-label{display:none}.sidebar nav{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none;margin-top:16px}.nav-caption,.nav-caption.second,.nav-icon,.nav-count,.sidebar-note,.profile{display:none}.nav-item{width:auto;white-space:nowrap;padding:9px 11px;font-size:11px;border-radius:6px;margin:0}.sidebar-bottom{padding:0;margin:0;position:absolute;right:18px;top:51px}.admin-nav{padding:3px 0;font-size:8px}main{margin-left:0}.topbar{height:51px;padding:0 20px;font-size:10px}.topbar-right{font-size:8px}.content{padding:0 20px}.hero{min-height:186px}.hero h1{font-size:27px;letter-spacing:0}.eyebrow{font-size:8px;letter-spacing:1.7px}.hero p{font-size:10px}.stat-grid{padding:22px 0;gap:17px 0}.stat strong{font-size:29px}.stat-label{font-size:10px}.stat small{font-size:8px}.collection{padding-top:25px}.section-top h2{font-size:18px}.text-button{font-size:10px}.search-box{padding-left:11px;gap:7px}.search-box input{font-size:10px}.search-box kbd{display:none}.search-box .primary-button{padding:8px 14px}.filter-row{gap:8px 5px;padding:14px 0}.filter-row label{font-size:9px}.filter-row select{font-size:9px;max-width:92px;padding-right:5px}.clear-button{font-size:9px;padding-left:0}.record{padding:18px 20px}.record-title{font-size:14px}.collection-meta{font-size:9px}.collection-meta>span{font-size:8px}.evidence-note{padding:13px;font-size:9px}.page-heading h1{font-size:26px}.panel{padding:20px}.panel h2{font-size:17px}.admin-grid{grid-template-columns:minmax(0,1fr)}.job-heading time{width:100%;margin-left:0}.job-metrics{gap:12px}.job-heading strong{max-width:100%}.source-header{gap:7px}.source-header h3{font-size:12px}footer{font-size:7px;letter-spacing:.6px}dialog{padding:21px}#detail-title{font-size:18px}.detail-grid{grid-template-columns:65px 1fr;gap:9px}.source-panel .section-top{flex-wrap:wrap}#future-panel{padding:60px 10px;min-height:520px}}

.source-list{max-height:440px;overflow:auto;scrollbar-width:thin;padding-right:8px}.source-rights{font-size:10px;margin-top:9px;color:#909c80}.source-rights summary{cursor:pointer;color:#798c65}.source-rights a{display:block;margin:7px 0;overflow-wrap:anywhere}.source-rights p{font-size:10px}.source-panel{min-width:0}
.coverage-panel{margin-bottom:22px}.coverage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.coverage-grid>div{padding:17px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.coverage-grid>div:last-child{border-right:0}.coverage-grid strong{font:29px Georgia;color:var(--green)}.coverage-grid span,.coverage-notes p,.collection-plan-row p{font-size:11px;color:#78886c;line-height:1.75;margin:0}.coverage-notes{display:grid;gap:7px}.collection-plan-list{margin-top:15px;border-top:1px solid var(--line)}.collection-plan-row{padding:12px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}.collection-plan-row strong{font-size:12px;color:var(--green);overflow-wrap:anywhere}.collection-plan-row p{grid-column:1/-1}
@media(max-width:820px){.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-grid>div:nth-child(2){border-right:0}.coverage-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:580px){.coverage-grid>div{padding:14px 12px}.coverage-grid strong{font-size:25px}.collection-plan-row{grid-template-columns:1fr}.collection-plan-row .badge{justify-self:start}}
/* Synthetic case workspace: clear records, visible gates, reviewable drafts. */
.demo-notice{padding:15px 18px;background:#f1ecdF;border:1px solid #e1d8bf;color:#776443;border-radius:8px;margin-bottom:22px;font-size:12px;line-height:1.9}.workflow-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:22px}.workflow-grid>.panel{min-width:0}.workflow-grid .section-top{flex-wrap:wrap}.case-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.case-fields>label{min-width:0}.intake-fieldset,.observation-group{border:1px solid var(--line);border-radius:8px;padding:17px;margin:0;min-width:0}.intake-fieldset legend,.observation-group legend{font-size:12px;color:var(--green);padding:0 6px}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.panel form .equipment-grid label{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:7px}.panel form .equipment-grid input{width:15px;height:15px;margin:0;accent-color:var(--green)}.screen-grid{display:grid;gap:12px}.panel form .screen-grid label{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:14px}.screen-grid select{min-width:0}.assessment-entry{border:1px solid var(--line);border-radius:8px;padding:14px}.assessment-entry summary{cursor:pointer;color:var(--green);font-size:12px}.observation-group{margin-top:17px}.observation-group>.field-label{margin:14px 0}.observation-group .case-fields{margin-top:13px}.saved-case{border-bottom:1px solid var(--line);padding:18px 0}.saved-case:last-child{border-bottom:0}.saved-case h3{font-size:14px;line-height:1.8;color:var(--green);font-weight:500;margin:8px 0}.saved-case p{margin:7px 0 12px}.saved-case button{white-space:normal}.case-list .empty-state{padding:30px 15px}.workflow-selector{display:flex;flex-direction:column;font-size:12px;gap:8px;margin:22px 0;color:var(--green)}.workflow-selector select{padding:10px;border:1px solid var(--line);background:var(--bg);border-radius:6px;color:var(--green);max-width:100%;min-width:0}.case-title{font-size:16px;font-weight:500;color:var(--green);margin-top:30px}.safety-banner{border-radius:10px;padding:20px;margin:20px 0;border:1px solid}.safety-banner h3{font-size:20px;font-weight:500;margin:10px 0;color:var(--green)}.safety-banner.ready{background:#eef3e6;border-color:#d1dfc6}.safety-banner.blocked{background:#fbf0e9;border-color:#ebd9c9}.safety-banner.blocked h3{color:var(--danger)}.safety-banner p{font-size:12px}.safety-banner .badge{font-size:11px}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.plain-list{padding-left:20px;margin:8px 0;font-size:12px;line-height:1.9}.plain-list li{margin:7px 0}.analysis-grid p{line-height:1.9}.analysis-grid .detail-section{margin-top:12px}.analysis-grid .detail-section h3,#case-analysis>.detail-section h3{font-size:14px}.analysis-grid .muted{font-size:10px}.plans-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr)}#draft-detail h2{margin-top:12px}.plan-item{border-top:1px solid var(--line);padding:22px 0 18px;position:relative;margin-top:13px}.plan-index{font:24px Georgia;color:#a7b398;float:right}.plan-item h3{font-size:17px;line-height:1.6;color:var(--green);font-weight:500;margin:0 40px 10px 0}.plan-item p{font-size:12px;line-height:1.8}.plan-item .muted{font-size:11px}.dose-line{background:#f0f3e9;padding:10px;border-radius:6px;color:var(--green)}#generate-draft{margin-top:25px}#generate-draft:disabled{cursor:not-allowed}.special-library{margin-top:26px}.special-library .section-top h2{margin:0}.published-search{grid-template-columns:minmax(0,1fr) 130px 130px auto;align-items:end}.panel .published-search label{font-size:10px}.published-search .primary-button{padding:10px 13px;justify-content:center}.published-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.published-record,.protocol-card{border:1px solid var(--line);border-radius:9px;padding:18px;background:#fcfcf7;min-width:0}.published-record h3,.protocol-card h3{font-size:16px;color:var(--green);font-weight:500;margin:10px 0}.published-record p,.protocol-card p{font-size:11px;line-height:1.9}.published-record .badge,.protocol-card .badge{font-size:10px}.protocol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}#published-more{margin-top:20px}.instructions{white-space:pre-line;line-height:1.9}.relationship-row{border-bottom:1px solid var(--line);padding-bottom:10px}#workflow-panel .message{margin:15px 0}.workflow-selector select,.case-fields select,.screen-grid select{overflow:hidden;text-overflow:ellipsis}.panel .assessment-entry button{display:inline-flex}.panel .case-fields input{min-width:0}#workflow-panel .field-label,#workflow-panel .case-fields{overflow-wrap:anywhere}.setup-fields{margin-top:15px}button:disabled{cursor:not-allowed}
@media(max-width:1200px){.workflow-grid{grid-template-columns:minmax(0,1fr)}.protocol-grid{grid-template-columns:minmax(0,1fr)}.published-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.published-search>input{grid-column:1/-1}.published-search .primary-button{grid-column:1/-1}}
@media(max-width:820px){.analysis-grid,.published-grid{grid-template-columns:minmax(0,1fr)}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.workflow-grid{gap:18px}.workflow-grid .panel{padding:18px}.case-fields{grid-template-columns:minmax(0,1fr)}.panel form .screen-grid label{grid-template-columns:minmax(0,1fr);gap:6px}.equipment-grid{gap:12px 8px}.demo-notice{padding:13px;font-size:11px}.safety-banner{padding:15px}.safety-banner h3{font-size:18px}.workflow-grid .section-top{align-items:flex-start;gap:8px}.workflow-grid .section-top .secondary-button{padding:8px 11px}.intake-fieldset,.observation-group{padding:12px}.published-search{gap:12px}.special-library{padding:17px}.special-library .section-top{flex-wrap:wrap}.protocol-card,.published-record{padding:15px}.plan-index{font-size:21px}.workflow-selector select{font-size:11px}#case-form>button{white-space:normal;justify-content:center}.page-heading{padding:30px 0}.page-heading p{line-height:1.8}#workflow-panel .panel .section-top h2{margin-bottom:0}}
.case-link-note{border-left:2px solid #c7d2ba;padding:2px 12px;margin:10px 0 2px;background:#f7f8f1;border-radius:0 5px 5px 0}.plan-item .case-link-note p{font-size:11px;color:#78886c;margin:8px 0}
/* Chinese explanations accompany visible originals and adjacent citations. */
.ai-reference{background:#fbf3e4;border:1px solid #e6d3ab;border-left:4px solid #c08a2e;border-radius:8px;padding:15px;margin:0 0 14px;min-width:0;overflow-wrap:anywhere}.ai-reference h4{color:#8a5a12;font-size:13px;margin:0 0 10px}.ai-reference p{white-space:pre-wrap;line-height:1.9}.ai-reference .message{margin:0 0 10px;font-size:12px}.ai-reference .muted{font-size:11px}.chinese-explanation{background:#f5f6ed;border-radius:8px;padding:15px;margin:0 0 14px;min-width:0;overflow-wrap:anywhere}.chinese-explanation h4{color:var(--green);font-size:13px;margin:0 0 10px}.chinese-explanation p{white-space:pre-wrap;line-height:1.9}.chinese-explanation .muted{font-size:11px}.member-summary{margin-top:18px;min-width:0;overflow-wrap:anywhere}.member-summary .detail-section{padding:12px 0;border-top:1px solid var(--line)}.member-summary .detail-section h3{margin:0 0 10px}.member-hypothesis+.member-hypothesis,.member-applicability+.member-applicability{border-top:1px solid var(--line);padding-top:8px}.member-applicability .detail-grid{font-size:11px}.member-summary .plain-list{margin-bottom:0}
.assistant-panel{margin-bottom:22px}.assistant-panel .section-top h2{margin:7px 0}.panel form textarea{border:1px solid #dae1ce;border-radius:6px;padding:12px;background:#fbfcf7;width:100%;min-height:108px;resize:vertical;font:inherit;font-size:13px;line-height:1.8;color:var(--green)}.panel form textarea:focus-visible,.panel form select:focus-visible{outline:2px solid #94a88b;outline-offset:2px}.assistant-scope{background:#f0f3e9;border-left:2px solid #c7d2ba;padding:10px 13px;font-size:12px;line-height:1.8;margin:0;overflow-wrap:anywhere}.assistant-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.assistant-actions{display:flex;gap:10px;flex-wrap:wrap}.panel .assistant-actions button{justify-content:center;white-space:normal}#assistant-draft-label[hidden]{display:none}.assistant-answer:empty{display:none}.assistant-answer{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);overflow-wrap:anywhere}.assistant-conclusion{font-size:19px;font-weight:500;color:var(--green);line-height:1.8}.assistant-context{background:#f0f3e9;border-radius:8px;padding:16px;margin:18px 0}.assistant-context h4{font-size:13px;font-weight:500;color:var(--green);margin:0 0 12px}.assistant-answer .detail-section h3{font-size:14px}.assistant-reason{padding:16px 0;border-bottom:1px solid var(--line)}.assistant-reason:last-child{border-bottom:0}.assistant-reason blockquote{margin:0;border-left:2px solid #c7d2ba;padding:1px 14px;color:#4d5c45;white-space:pre-wrap;font-size:13px;line-height:1.95}.assistant-source{margin:14px 0 0 16px;font-size:11px}.assistant-source .source-link{font-size:12px;line-height:1.8;display:inline;overflow-wrap:anywhere}.assistant-source p{margin:6px 0}.assistant-source .citation-button{padding:4px 0;font-size:11px}.assistant-answer .detail-section p{font-size:12px;line-height:1.9}.assistant-panel form label{font-size:12px}.assistant-panel .message{font-size:12px}
@media(max-width:580px){.assistant-panel{padding:18px}.assistant-panel .section-top{flex-wrap:wrap;align-items:flex-start;gap:8px}.assistant-panel .section-top h2{font-size:18px}.assistant-form-bottom{align-items:flex-start;gap:7px}.assistant-actions{width:100%;gap:8px}.assistant-actions .primary-button{flex:1}.assistant-actions button{padding:10px 12px}.assistant-conclusion{font-size:17px}.assistant-reason blockquote{padding-left:11px;font-size:12px}.assistant-source{margin-left:12px}.assistant-context{padding:13px}.assistant-scope{font-size:11px}.assistant-panel .muted{font-size:11px}}

/* 动作库：讲解、图示与视频、禁忌与注意 */
.badge.warn{color:var(--danger);background:#f7ece8;border-color:#eed9d1}
.instruction-block{border-left:2px solid var(--green-soft);padding:2px 0 2px 13px;margin:0 0 14px}
.instruction-block:last-child{margin-bottom:0}
.instruction-zh{margin:0 0 4px;color:var(--ink);font-size:15px;line-height:1.8}
.instruction-source{margin-top:5px}
.instruction-source summary{font-size:11px;color:var(--muted);cursor:pointer;letter-spacing:.5px}
.instruction-source .instructions{margin:7px 0 0;font-size:12.5px;color:var(--muted);line-height:1.7}
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 14px}
.media-figure{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.media-figure img{display:block;width:100%;height:auto;background:#f2f2ec}
.media-figure figcaption{padding:7px 10px;font-size:10.5px;color:var(--muted);border-top:1px solid var(--line)}
.media-video{border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;margin:0 0 11px;background:var(--paper)}
.media-video h4{margin:0 0 4px;font-size:13.5px;color:var(--ink)}
.media-embed{width:100%;aspect-ratio:16/9;border:0;border-radius:8px;margin:8px 0}

/* 视频：点击后才注入播放器 */
.media-video-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.media-video-head h4{margin:0}
.media-video-head p{margin:0}
.progression-review{margin-top:10px}.review-line{border:1px solid var(--line);border-radius:8px;padding:11px 13px;margin:0 0 9px;background:var(--paper)}.review-line h4{margin:0 0 5px;font-size:12.5px;color:var(--ink)}.review-line input{min-width:190px}#login-dialog{max-width:420px}#login-dialog h2{font-size:17px;color:var(--ink);margin:6px 0 10px}#login-dialog form{display:grid;gap:11px;margin-top:14px}#login-dialog input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}#login-dialog label{font-size:11px;color:var(--muted)}#login-dialog .icon-button{position:absolute;top:10px;right:12px}
/* 暂缓时补资料的入口：给出去哪几条、往哪走 */
.safety-followup{margin:0 0 20px;padding:14px 16px;border:1px solid #ebd9c9;border-left:3px solid var(--danger);border-radius:8px;background:#fdf7f3}
.safety-followup p{margin:0 0 10px;font-size:12px}
#case-screen label.needs-answer{outline:2px solid var(--danger);outline-offset:3px;border-radius:6px;background:#fdf3ee}
/* 动作图示：本地已保存的公共领域图示，随草案一起给出 */
.plan-item-head{margin:0 0 10px}
.plan-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.plan-thumb{width:132px;height:132px;object-fit:cover;border:1px solid var(--line);border-radius:10px;background:#f2f2ec}
@media(max-width:580px){.plan-thumb{width:104px;height:104px}}
/* 窄屏：选中的草案排到列表前面，否则看计划要先滚过一整列列表 */
@media(max-width:1200px){.plans-grid[data-selected="1"] > section:last-child{order:-1}}

/* 内部推导收进折叠块：需要核对时展开，不占屏幕 */
.draft-internals{margin-top:26px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:0 16px}
.draft-internals>summary{cursor:pointer;padding:13px 0;font-size:11.5px;color:#7d8a71;letter-spacing:.4px}
.draft-internals[open]>summary{border-bottom:1px solid var(--line);margin-bottom:6px}
.draft-internals .detail-section h3{margin-top:16px}
.plan-actions{border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:6px}

/* 草案列表：默认只列最近 3 份，其余按需展开 */
.draft-filters{display:flex;gap:14px;align-items:center;padding:6px 0 12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.draft-filters .text-button{color:#8b9481}
.draft-filters .text-button.active{color:var(--green);font-weight:600;text-decoration:underline}
.saved-case .assistant-actions{gap:14px;align-items:center}

/* 周期计划：一块里四种周期，点生成即按选择产出，结果就在下面 */
.program-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--line)}
.program-label{min-width:52px;font-size:12.5px;color:var(--green);font-weight:500}
.program-output{margin-top:18px}
.program-week{border:1px solid var(--line);border-radius:8px;padding:9px 13px;margin-bottom:8px;background:var(--paper)}
.program-week>summary{cursor:pointer;font-size:12px;color:var(--ink)}
.program-week p{margin:9px 0 6px;font-size:11px}
.program-session ol{margin:6px 0 2px}
.program-session li{font-size:11.5px;line-height:1.9}

/* 分化选择器：每天都在变化，选中的那个要看得出来 */
.split-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:4px 0 10px}
.split-row .text-button{color:#8b9481}
.split-row .text-button.active{color:var(--green);font-weight:600;text-decoration:underline}
.program-session h4{margin:11px 0 4px;font-size:12px;color:var(--green);font-weight:500}

/* 案例标签：合成案例的可辨认名字 */
.case-label-field{display:block;margin:0 0 12px;font-size:11px;color:var(--muted)}
.case-label-field input{display:block;width:100%;margin-top:5px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}

/* 案例搜索：标签/年龄/目标/课程类型/日期都能搜 */
.case-controls{display:flex;gap:12px;align-items:center;margin:2px 0 12px}
.case-controls input{flex:1;padding:8px 11px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:11.5px}
.case-controls .text-button.active{color:var(--green);font-weight:600;text-decoration:underline}
/* 对外模式的登录门：未登录时整个应用被这扇门挡住，登录是唯一入口。 */
body.gated{overflow:hidden}
body.gated aside.sidebar,body.gated main{display:none}
#login-gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:60;padding:20px}
.gate-card{width:100%;max-width:380px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:34px 30px;box-shadow:0 25px 80px #20362818}
.gate-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.gate-brand .brand-mark{width:40px;height:40px;font:italic 32px Georgia;letter-spacing:-6px;padding-right:6px;padding-bottom:6px}
.gate-brand .brand-mark span{font-size:24px}
.gate-brand>span{font-size:13px;letter-spacing:2px;font-weight:700;color:var(--green);line-height:1.25}
.gate-brand small{display:block;font-size:7px;letter-spacing:1.8px;font-weight:500;color:#7a8774}
.gate-card h1{font-family:"Songti SC","Noto Serif CJK SC",Georgia,serif;font-size:24px;color:var(--ink);font-weight:500;margin:0 0 8px}
.gate-card>.muted{margin:0 0 22px}
.gate-card form{display:grid;gap:13px}
.gate-card label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#7a8870}
.gate-card input{border:1px solid #dae1ce;border-radius:6px;padding:10px 11px;background:#fbfcf7;font-size:13px;color:var(--green)}
.gate-card .primary-button{width:100%;justify-content:center;padding:11px;font-size:13px}
.gate-card .message{margin-top:14px}
/* 教练管理列表复用来源行样式，停用按钮退成次要文字样式 */
#coach-list .source-row .text-button{padding:4px 0;margin-top:6px}
