/* 中医高质量数据管理平台 · 基础组件样式
   色板：玄青侧栏 / 松石主色 / 月白底 / 墨色正文 / 朱砂（只用于确认印章与需医师确认）/ 藤黄（警示） */
:root{
  --ink:#1C2826; --ink2:#46524F; --mute:#7A8784; --faint:#A9B3B0;
  --bg:#F2F5F4; --card:#FFFFFF; --inner:#F7F9F8; --line:#DCE4E1; --line2:#EAEFED;
  --pine:#1F5E58; --pine-d:#164843; --pine-l:#E3EFEC; --pine-ll:#F0F7F5;
  --xuan:#15302D; --xuan2:#1D3D39;
  --cin:#B23A2B; --cin-l:#FBEDEA;
  --ochre:#B8862B; --ochre-l:#FBF3E2;
  --indigo:#3C5A8A; --indigo-l:#EAF0F8;
  --serif:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;
  --r:6px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font:14px/1.6 var(--sans);color:var(--ink);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:var(--pine);cursor:pointer;text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:700;margin:0;letter-spacing:.5px}
.muted{color:var(--mute)} .tiny{font-size:12px} .ink2{color:var(--ink2)}
.row{display:flex;align-items:center;gap:10px} .row.wrap{flex-wrap:wrap} .grow{flex:1;min-width:0}
.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- 页面骨架 ---------- */
.page{padding:20px 24px 70px}
.ph{display:flex;align-items:flex-end;gap:16px;margin-bottom:16px}
.ph h1{font-size:22px;line-height:1.3}
.ph .crumb{font-size:12px;color:var(--mute);margin-bottom:4px}
.ph .acts{margin-left:auto;display:flex;gap:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:14px}
.card > .hd{display:flex;align-items:center;gap:10px;margin:-2px 0 12px}
.card > .hd h3{font-size:15px}
.card > .hd .r{margin-left:auto;display:flex;gap:8px;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

/* ---------- 控件 ---------- */
.btn{height:32px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line);background:#fff;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.btn:hover{border-color:var(--pine);color:var(--pine)}
.btn.pri{background:var(--pine);border-color:var(--pine);color:#fff}
.btn.pri:hover{background:var(--pine-d);color:#fff}
.btn.cin{background:var(--cin);border-color:var(--cin);color:#fff}
.btn.cin:hover{filter:brightness(.92);color:#fff}
.btn.ghost{border-color:transparent;background:transparent;color:var(--pine);padding:0 8px}
.btn.ghost:hover{background:var(--pine-ll)}
.btn.sm{height:26px;padding:0 10px;font-size:12px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.input,.select,textarea.input{height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r);background:#fff;min-width:0}
textarea.input{height:auto;padding:8px 10px;line-height:1.6;resize:vertical;width:100%}
.input:focus,.select:focus,.select.open,.input.open{border-color:var(--pine);outline:none;box-shadow:0 0 0 3px var(--pine-l)}
.input[readonly]{background:#fff;cursor:pointer}
.input[data-date],.input[data-month]{padding-right:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%237A8784' stroke-width='1.5'%3E%3Crect x='1.5' y='2.5' width='11' height='10' rx='1.5'/%3E%3Cpath d='M1.5 5.5h11M4.5 1v3M9.5 1v3'/%3E%3C/svg%3E") no-repeat right 10px center}
/* 下拉框：外观统一，弹出面板由 kit.js 接管 */
select,.select{-webkit-appearance:none;appearance:none;height:32px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;min-width:96px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%237A8784' stroke-width='1.5'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 11px center}
select:disabled{background-color:var(--inner);color:var(--mute);cursor:not-allowed}
.pop{position:fixed;z-index:95;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(21,48,45,.16);padding:4px;max-height:300px;overflow:auto;font-size:13px}
.cs-o{padding:7px 28px 7px 10px;border-radius:5px;cursor:pointer;white-space:nowrap;position:relative}
.cs-o:hover,.cs-o.hi{background:var(--pine-ll)}
.cs-o.on{color:var(--pine);font-weight:600}
.cs-o.on::after{content:"";position:absolute;right:10px;top:50%;width:8px;height:4px;border-left:2px solid var(--pine);border-bottom:2px solid var(--pine);transform:translateY(-70%) rotate(-45deg)}
.cs-o.all{color:var(--mute)}
.cs-o.dis{color:var(--faint);cursor:default;background:none}
.cal{width:260px;padding:10px;max-height:none}
.cal-h{display:flex;align-items:center;gap:2px;margin-bottom:8px}
.cal-h b{flex:1;text-align:center;font-weight:600}
.cal-h button{border:0;background:none;width:26px;height:26px;border-radius:5px;cursor:pointer;color:var(--ink2);font-size:14px}
.cal-h button:hover{background:var(--pine-ll)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-g span{font-size:12px;color:var(--mute);padding:4px 0}
.cal-g button{border:0;background:none;height:30px;border-radius:5px;cursor:pointer;font-size:13px}
.cal-g button:hover{background:var(--pine-ll)}
.cal-g button.td{color:var(--pine);font-weight:600;box-shadow:inset 0 0 0 1px #C5DDD7}
.cal-g button.on{background:var(--pine);color:#fff}
.cal-g.m{grid-template-columns:repeat(3,1fr);gap:6px}
.cal-g.m button{height:36px}
.cal-f{display:flex;justify-content:space-between;border-top:1px solid var(--line2);margin-top:8px;padding-top:8px}
.cal-f button{border:0;background:none;color:var(--pine);cursor:pointer;font-size:12px;padding:2px 6px}
/* 勾选框 / 单选框 */
input[type=checkbox],input[type=radio]{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin:0;border:1.5px solid #B4C2BE;background:#fff;border-radius:4px;display:inline-grid;place-content:center;cursor:pointer;flex:0 0 auto;vertical-align:-3px;transition:background .12s,border-color .12s}
input[type=radio]{border-radius:50%}
input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--pine)}
input[type=checkbox]:checked{background:var(--pine);border-color:var(--pine)}
input[type=checkbox]:checked::before{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
input[type=radio]:checked{border-color:var(--pine)}
input[type=radio]:checked::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pine)}
input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed}
input[type=range]{-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--line);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--pine);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.15)}
/* 上传区 */
.upz{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px dashed #B9C8C4;border-radius:8px;padding:16px;text-align:center;cursor:pointer;background:var(--inner);transition:border-color .15s,background .15s}
.upz:hover,.upz.drag{border-color:var(--pine);background:var(--pine-ll)}
.upz-t{color:var(--pine);font-size:13px}
.upz-h{color:var(--mute);font-size:12px}
.upz-f{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.upz-n{font-size:12px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:1px 8px}
.upz-n::before{content:"📄 "}
.filter{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 18px}
.filter label{display:flex;align-items:center;gap:8px;color:var(--ink2);font-size:13px}
.filter .acts{margin-left:auto;display:flex;gap:8px}
.chk{display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin-right:14px}


/* 标签 */
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:12px;white-space:nowrap;background:var(--inner);color:var(--ink2);border:1px solid var(--line)}
.tag.ok{background:var(--pine-l);border-color:#C5DDD7;color:var(--pine)}
.tag.warn{background:var(--ochre-l);border-color:#EBD7AA;color:#8A6216}
.tag.bad{background:var(--cin-l);border-color:#EFC9C2;color:var(--cin)}
.tag.info{background:var(--indigo-l);border-color:#CBD7EA;color:var(--indigo)}
.tag.dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px}

/* 表格 */
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-weight:500;color:var(--mute);font-size:12px;text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--inner);white-space:nowrap}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line2);vertical-align:middle}
.tbl tr:hover td{background:var(--pine-ll)}
.tbl td.num,.tbl th.num{text-align:right}
.tbl td.ops{text-align:right;white-space:nowrap}
.tbl td.ops a{margin-left:12px}
.tbl .sub{font-size:12px;color:var(--mute)}
.card.flush{padding:0;overflow:hidden}
.card.flush > .hd{padding:14px 18px 0}
.pager{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--mute);font-size:12px}
.pager .sp{flex:1}
.pager .pg{min-width:24px;height:24px;border:1px solid var(--line);border-radius:4px;background:#fff;display:inline-grid;place-items:center;font-size:12px;color:var(--ink2)}
.pager .pg.on{border-color:var(--pine);color:var(--pine);background:var(--pine-ll)}
.pager button.pg:disabled{color:var(--faint);cursor:not-allowed}
.empty{padding:40px 0;text-align:center;color:var(--mute)}

/* 统计 */
.stat{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.stat .l{font-size:12px;color:var(--mute)}
.stat .v{font-size:24px;font-weight:600;margin-top:2px;line-height:1.3}
.stat .v small{font-size:12px;font-weight:400;color:var(--mute);margin-left:4px}
.bar{height:6px;border-radius:3px;background:var(--line2);overflow:hidden}
.bar i{display:block;height:100%;background:var(--pine);border-radius:3px}
.bar.warn i{background:var(--ochre)} .bar.bad i{background:var(--cin)}

/* Tabs */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}
.tabs a{padding:9px 16px;color:var(--ink2);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;text-decoration:none}
.tabs a.on{color:var(--pine);border-color:var(--pine);font-weight:600}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.seg a{padding:5px 14px;color:var(--ink2);cursor:pointer;text-decoration:none;font-size:13px}
.seg a+a{border-left:1px solid var(--line)}
.seg a.on{background:var(--pine);color:#fff}

/* 键值 */
.kv{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;font-size:13px}
.kv dt{color:var(--mute)} .kv dd{margin:0}

/* 表单 */
.form .fi{margin-bottom:14px}
.form .fi > label{display:block;font-size:13px;color:var(--ink2);margin-bottom:6px}
.form .fi > label .req{color:var(--cin);margin-left:2px}
.form .fi .hint{font-size:12px;color:var(--mute);margin-top:4px}
.form .input,.form .select{width:100%}
.form .opts{display:flex;flex-wrap:wrap;gap:6px 0;padding-top:4px}
.form .fi .ferr{display:none;font-size:12px;color:var(--cin);margin-top:4px}
.form .fi.err .ferr{display:block}
.form .fi.err .input,.form .fi.err .select,.form .fi.err .upz{border-color:var(--cin);box-shadow:0 0 0 3px var(--cin-l)}
.form .fi.err .opts{outline:1px solid var(--cin);outline-offset:4px;border-radius:4px}

/* ---------- 朱砂印章：专家 / 医师确认 ---------- */
.seal{display:inline-grid;place-items:center;width:46px;height:46px;border:2px solid var(--cin);border-radius:4px;color:var(--cin);font:700 12px/1.15 var(--serif);text-align:center;letter-spacing:1px;transform:rotate(-8deg);padding:3px;background:rgba(178,58,43,.04);box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px rgba(178,58,43,.55);flex:0 0 auto}
.seal.lg{width:64px;height:64px;font-size:15px}
.seal.stamp{animation:stamp .35s cubic-bezier(.2,1.6,.4,1)}
@keyframes stamp{from{transform:rotate(-8deg) scale(1.8);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}
.need{display:inline-flex;align-items:center;gap:6px;color:var(--cin);border:1px dashed var(--cin);border-radius:4px;padding:1px 8px;font-size:12px;background:var(--cin-l)}

/* 抽屉 / 弹窗 / 提示 */
.mask{position:fixed;inset:0;background:rgba(21,48,45,.32);z-index:80;display:none}
.mask.on{display:block}
.drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:94vw;background:#fff;z-index:81;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s ease;box-shadow:-12px 0 40px rgba(21,48,45,.15)}
.drawer.on{transform:none}
.drawer .dh{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center}
.drawer .dh h3{font-size:16px}
.drawer .dh .x{margin-left:auto;border:0;background:none;font-size:20px;cursor:pointer;color:var(--mute)}
.drawer .db{flex:1;overflow:auto;padding:18px 20px}
.drawer .df{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:520px;max-width:94vw;max-height:86vh;background:#fff;border-radius:10px;z-index:82;display:none;flex-direction:column;box-shadow:0 20px 60px rgba(21,48,45,.25)}
.modal.on{display:flex}
.modal.stacked{z-index:84;box-shadow:0 0 0 100vmax rgba(21,48,45,.32),0 20px 60px rgba(21,48,45,.25)}
.modal .dh{padding:16px 20px 8px;display:flex}
.modal .dh h3{font-size:16px}
.modal .dh .x{margin-left:auto;border:0;background:none;font-size:20px;cursor:pointer;color:var(--mute)}
.modal .db{padding:8px 20px 16px;overflow:auto}
.modal .df{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);background:var(--xuan);color:#fff;padding:9px 18px;border-radius:6px;z-index:99;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.18);animation:tin .18s ease-out}
.toast.bad{background:var(--cin)}
@keyframes tin{from{opacity:0;transform:translate(-50%,-6px)}}

/* 来源追溯链 */
.trace{list-style:none;margin:0;padding:0;position:relative}
.trace li{position:relative;padding:0 0 16px 26px}
.trace li::before{content:"";position:absolute;left:6px;top:7px;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--pine)}
.trace li::after{content:"";position:absolute;left:11px;top:20px;bottom:0;width:1px;background:var(--line)}
.trace li:last-child::after{display:none}
.trace li.cin::before{border-color:var(--cin);background:var(--cin)}
.trace .t{font-weight:600}
.trace .m{font-size:12px;color:var(--mute)}

/* 原文对照 */
.src{font-family:var(--serif);font-size:15px;line-height:2;color:#2B3532;background:var(--inner);border:1px solid var(--line2);border-radius:6px;padding:14px 18px;white-space:pre-wrap}
.src mark{background:transparent;border-bottom:2px solid transparent;color:inherit;transition:background .2s}
.src mark.hit{background:#FBE9C7;border-color:var(--ochre)}
.el{display:grid;grid-template-columns:84px 1fr;gap:6px 10px;padding:8px 10px;border-radius:6px;cursor:pointer;border:1px solid transparent}
.el:hover{background:var(--pine-ll)}
.el.on{border-color:var(--ochre);background:#FFFBF2}
.el .k{color:var(--mute);font-size:13px}
.term{display:inline-flex;gap:6px;align-items:baseline;margin:0 8px 2px 0}
.term .std{color:var(--pine);font-weight:600}
.term .raw{font-size:12px;color:var(--ink2);font-family:var(--serif)}

/* 原型状态条（非真实界面） */
.states{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:60;background:rgba(21,48,45,.94);color:#B9CCC7;border-radius:8px;padding:6px 8px;display:flex;align-items:center;gap:6px;font-size:12px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.states .lb{padding:0 6px}
.states button{height:24px;border:1px solid #2E524D;background:#1D3D39;color:#D5E3DF;border-radius:4px;padding:0 10px;cursor:pointer;font-size:12px}
.states button.on{background:#E7C46A;border-color:#E7C46A;color:#15302D}

/* 页面说明抽屉（与参考原型一致：悬浮按钮 + 右侧说明） */
.spec-fab{position:fixed;right:0;top:120px;z-index:58;background:var(--xuan);color:#fff;border:0;cursor:pointer;writing-mode:vertical-rl;padding:12px 7px;border-radius:8px 0 0 8px;font-size:12px;letter-spacing:3px}
.spec-fab:hover{background:var(--pine)}
.spec{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:94vw;background:#fff;border-left:1px solid var(--line);z-index:57;overflow:auto;transform:translateX(100%);transition:transform .22s ease;box-shadow:-12px 0 40px rgba(21,48,45,.12);font-size:13px;color:var(--ink2)}
body.spec-open .spec{transform:none}
body.spec-open .spec-fab{right:460px}
.spec-mask{position:fixed;inset:0;z-index:56;display:none}
body.spec-open .spec-mask{display:block}
.spec-h{position:sticky;top:0;background:var(--xuan);color:#fff;padding:16px 44px 14px 18px;z-index:2}
.spec-h .t{font:700 16px var(--serif)}
.spec-h .s{font-size:12px;color:#9FC0B9;margin-top:4px}
.spec-close{position:absolute;right:12px;top:14px;width:26px;height:26px;border-radius:6px;border:1px solid #33605A;background:transparent;color:#fff;cursor:pointer}
.spec-body{padding:4px 18px 30px}
.spec h4{margin:18px 0 8px;font-size:13px;color:var(--pine);padding-left:9px;border-left:3px solid var(--pine)}
.spec ol{margin:6px 0;padding-left:20px}.spec li{margin:5px 0}
.spec .pbox{background:#FFF9EE;border:1px solid #EFDFB8;border-radius:8px;padding:10px 12px;color:#6B4E12;white-space:pre-wrap;line-height:1.75}
.spec .nobox{background:var(--inner);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.spec table{width:100%;border-collapse:collapse;font-size:12px}
.spec td,.spec th{border:1px solid var(--line2);padding:6px 8px;text-align:left;vertical-align:top}
.spec th{background:var(--inner);font-weight:500}

/* 智能体结果卡片（临床客户端、智能体调试、智能问学共用） */
.rc{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:10px;overflow:hidden}
.rc .rh{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line2);background:var(--inner)}
.rc .rh b{font-family:var(--serif);font-size:15px}
.rc .rb{padding:12px 14px;white-space:pre-wrap;line-height:1.8;font-size:14px}
.rc .ev{padding:0 14px 10px}
.rc .ev a{display:block;font-size:12px;padding:3px 0;color:var(--indigo)}
.rc .ev a::before{content:"依据  ";color:var(--mute)}
.rc .rf{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line2)}
.rc.needc{border-color:#E9C3BC}
.rc.needc .rh{background:#FDF5F3}
.rc .weak{font-size:12px;color:#8A6216;background:var(--ochre-l);padding:6px 14px}
.rc.done .rf{background:var(--pine-ll)}
/* 页面说明 · 按功能清单 V1 展示 */
.spec-f{border-bottom:1px dashed var(--line);padding-bottom:12px;margin-bottom:4px}
.spec-f:last-of-type{border-bottom:0}
.spec-p{display:inline-block;font-size:11px;line-height:18px;padding:0 7px;border-radius:9px;margin-left:6px;vertical-align:1px;font-weight:600;cursor:help}
.spec-p.p1{background:#F6D9D5;color:#8a2b1f}.spec-p.p2{background:#FBE8C8;color:#7a5513}.spec-p.p3{background:#DCEBDF;color:#245a3c}.spec-p.p4{background:#E3E6EE;color:#3b4560}
.spec-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.spec-meta span{font-size:11px;color:var(--ink2);background:var(--inner);border:1px solid var(--line2);border-radius:5px;padding:1px 7px}
.spec-k{font-size:11px;color:var(--mute);margin:10px 0 4px}
/* 原型工具条（各入口共用） */
.proto-btn{border:1px dashed #c9b98f;background:#fffaf0;color:#7a5513;border-radius:6px;font-size:11px;padding:4px 9px;cursor:pointer;white-space:nowrap}.proto-btn:hover{border-style:solid}
.proto-dock{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.proto-h{writing-mode:vertical-rl;background:#fffaf0;border:1px dashed #c9b98f;border-right:0;color:#7a5513;font-size:11px;padding:8px 4px;border-radius:6px 0 0 6px;cursor:default}.proto-dock .proto-btn{display:none;margin-right:6px}.proto-dock:hover .proto-btn,.proto-dock:focus-within .proto-btn{display:block}.proto-dock:hover .proto-h,.proto-dock:focus-within .proto-h{display:none}
.pt-login[hidden],#portal[hidden]{display:none!important}
/* 工作台（名中医 / 专家）不显示管理后台专用元素 */
.end-ex .admin-only,.end-mw .admin-only{display:none!important}
.lbox{border:1px solid #CFE0DA;background:#F3F8F6;border-radius:8px;padding:6px 12px}.lk-i{display:flex;flex-direction:column;gap:3px;padding:7px 0;border-top:1px dashed #D6E4DF;line-height:1.75}.lk-i:first-child{border-top:0}
.lk-t{align-self:flex-start;font-size:11px;padding:0 7px;border-radius:4px;background:#E6EBEA;color:#46524F}.lk-t.lk-cfg{background:#E3EFEC;color:#1F5E58}.lk-t.lk-src{background:#E8EEF6;color:#3F6286}.lk-t.lk-back{background:#F5EEDF;color:#8A6216}
/* 评审用内容（页面说明、功能全景、工具条、评审状态条）：只在评审模式（?review=1）显示 */
html:not(.review) .proto-dock,html:not(.review) .spec,html:not(.review) .spec-fab,html:not(.review) .spec-mask,html:not(.review) .states,html:not(.review) #specBtn,html:not(.review) #overviewBtn,html:not(.review) [data-review]{display:none!important}

.chips-in{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:4px 6px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.chips-in:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px var(--pine-l)}
.chips-in .cl{display:contents}.chips-in .chip{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 8px;border-radius:10px;background:var(--inner);border:1px solid var(--line2);font-size:12px}
.chips-in .chip i{font-style:normal;cursor:pointer;color:var(--mute);padding:0 4px}.chips-in .chip i:hover{color:var(--cin)}
.chips-in .ci{flex:1;min-width:120px;border:0;outline:0;height:24px;font:inherit;background:transparent}
.chips-in .ct{height:24px;border:1px solid var(--line2);border-radius:4px;font-size:12px;background:#fff}
