/* 三级流程空间体系（process-levels.html）。沿用 styles.css / healing-theme.css 的变量与卡片语汇，只补本页结构。 */
.pl-page{--pl-l1:#274f73;--pl-l2:#2f6f73;--pl-l3:#ad7c32;--pl-patient:#274f73;--pl-staff:#765b86;--pl-clean:#4f8f8c;--pl-dirty:#c7672b;--pl-infect:#bf4e34}
.pl-depts{gap:8px}
.pl-dept-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(28,40,39,.14);border-radius:8px;padding:8px 11px;font-size:13px;font-weight:900;min-height:40px;background:rgba(255,255,255,.64);color:#243130}
.pl-dept-chip.on{background:var(--heal-sage-deep,#254439);border-color:var(--heal-sage-deep,#254439);color:#fff}
.pl-dept-chip.on em{font-style:normal;font-size:11px;background:rgba(255,255,255,.18);border-radius:999px;padding:1px 7px}
.pl-dept-chip.off{opacity:.5;cursor:not-allowed}

.pl-hero{padding-bottom:8px}
.pl-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
.pl-level{position:relative;border:1px solid rgba(28,40,39,.14);background:rgba(255,255,255,.74);border-radius:8px;padding:14px 16px 14px 18px;box-shadow:0 2px 8px rgba(35,48,43,.05);border-left:4px solid var(--c);cursor:pointer;text-align:left;color:inherit}
.pl-level:hover{border-color:var(--c);background:#fff}
.pl-level b{display:block;font-size:17px;color:var(--c)}
.pl-level small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.pl-level p{margin:8px 0 0;font-size:13px;color:#40504c}
.pl-level .pl-count{position:absolute;right:14px;top:12px;font-size:24px;font-weight:900;color:var(--c);opacity:.85}
.pl-level:not(:last-child):after{content:"";position:absolute;right:-12px;top:50%;width:10px;height:10px;border-top:2px solid rgba(28,40,39,.35);border-right:2px solid rgba(28,40,39,.35);transform:translateY(-50%) rotate(45deg)}

.pl-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}
.pl-tree{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow:auto;border:1px solid rgba(28,40,39,.14);background:rgba(255,255,255,.74);border-radius:8px;padding:10px;box-shadow:0 2px 8px rgba(35,48,43,.05)}
.pl-tree-search{width:100%;border:1px solid rgba(28,40,39,.16);border-radius:7px;padding:7px 9px;background:#fff;margin-bottom:8px;font-size:13px}
.pl-node{display:flex;align-items:center;gap:7px;width:100%;border:0;background:transparent;text-align:left;border-radius:7px;padding:6px 8px;color:#243130;font-size:13px;line-height:1.35}
.pl-node:hover{background:rgba(15,140,146,.07)}
.pl-node.on{background:var(--heal-sage-soft,#edf4f0);box-shadow:inset 3px 0 0 var(--heal-sage,#33594b);font-weight:900}
.pl-node code{flex:0 0 auto;font:700 11px/1 Consolas,monospace;color:#fff;background:var(--c);border-radius:4px;padding:3px 5px}
.pl-node span{flex:1;min-width:0}
.pl-node i{flex:0 0 auto;font-style:normal;font-size:10px;font-weight:900;border-radius:999px;padding:1px 6px;border:1px solid currentColor}
.pl-node.l1{--c:var(--pl-l1);font-weight:900}
.pl-node.l2{--c:var(--pl-l2)}
.pl-node.l3{--c:var(--pl-l3);font-size:12.5px}
.pl-node.disabled{opacity:.45;cursor:not-allowed}
.st-existing{color:#2f6f73}.st-new{color:#bf4e34}.st-reference{color:#596b65}.st-reclassify{color:#ad7c32}.st-framework{color:#445963}.st-pending{color:#8a9592}

.pl-detail{min-width:0;border:1px solid rgba(28,40,39,.14);background:rgba(255,255,255,.80);border-radius:8px;box-shadow:0 2px 8px rgba(35,48,43,.05),0 6px 18px rgba(35,48,43,.04);overflow:hidden}
.pl-head{padding:16px 18px 12px;border-bottom:1px solid rgba(28,40,39,.10);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.6))}
.pl-crumbs{display:flex;flex-wrap:wrap;gap:4px;font-size:12px;color:var(--muted);margin-bottom:6px}
.pl-crumbs a{color:var(--muted)}.pl-crumbs a:hover{color:var(--teal)}
.pl-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.pl-title h3{margin:0;font-size:23px;line-height:1.25}
.pl-badge{display:inline-flex;align-items:center;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:900;border:1px solid currentColor;background:#fff}
.pl-badge.lv{color:#fff;border-color:transparent}
.pl-badge.lv1{background:var(--pl-l1)}.pl-badge.lv2{background:var(--pl-l2)}.pl-badge.lv3{background:var(--pl-l3)}
.pl-summary{margin:8px 0 0;color:#33413f}
.pl-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pl-facts span{font-size:12px;border-radius:6px;background:rgba(102,122,96,.10);color:#43544f;padding:3px 8px}

.pl-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:8px 12px 0;border-bottom:1px solid rgba(28,40,39,.12);background:rgba(250,248,241,.7);position:sticky;top:76px;z-index:5}
.pl-tab{border:1px solid transparent;border-bottom:0;background:transparent;border-radius:7px 7px 0 0;padding:8px 13px;font-weight:900;font-size:13px;color:#4a5a57}
.pl-tab:hover{color:var(--teal)}
.pl-tab.on{background:#fff;border-color:rgba(28,40,39,.12);color:var(--heal-sage-deep,#254439);margin-bottom:-1px}
.pl-tab em{font-style:normal;font-size:11px;color:var(--muted);margin-left:4px}
.pl-pane{padding:18px}
.pl-pane h4{margin:18px 0 8px;font-size:16px}.pl-pane h4:first-child{margin-top:0}
.pl-muted{color:var(--muted);font-size:13px}

/* 流程 */
.pl-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.pl-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;position:relative;padding-bottom:12px}
.pl-step:not(:last-child):before{content:"";position:absolute;left:17px;top:30px;bottom:0;border-left:2px dashed rgba(28,40,39,.2)}
.pl-step>i{font-style:normal;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff;background:var(--heal-sage-deep,#254439)}
.pl-step-body{border:1px solid rgba(28,40,39,.12);background:#fff;border-radius:8px;padding:9px 12px}
.pl-step-body b{font-size:15px}
.pl-step-body p{margin:4px 0 0;font-size:13px;color:#40504c}
.pl-chips{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:8px;vertical-align:middle}
.pl-chip{font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;border:1px solid rgba(28,40,39,.16);background:rgba(255,255,255,.8);color:#43544f}
.pl-chip.actor{background:rgba(39,79,115,.08);color:var(--pl-patient);border-color:rgba(39,79,115,.25)}
.pl-chip.space{cursor:pointer;color:#7a5520;background:rgba(173,124,50,.10);border-color:rgba(173,124,50,.3)}
.pl-chip.space:hover{background:rgba(173,124,50,.2)}
.pl-flows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pl-flow{border:1px solid rgba(28,40,39,.12);border-left:4px solid var(--fc);border-radius:7px;background:#fff;padding:8px 10px;font-size:13px}
.pl-flow b{color:var(--fc)}
.pl-flow div{color:#4a5a57;font-size:12px;margin-top:3px}

/* 图示 */
.pl-figure{margin:0 0 14px;border:1px solid rgba(28,40,39,.12);border-radius:8px;background:#fbfaf6;overflow:hidden}
.pl-figure svg{display:block;width:100%;height:auto}
.pl-figure img{display:block;width:100%;height:auto;background:#fff}
.pl-figure figcaption{padding:8px 12px;font-size:12px;color:var(--muted);border-top:1px solid rgba(28,40,39,.08);background:#fff}
.pl-figrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pl-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#40504c;padding:6px 2px}
.pl-legend span{display:inline-flex;align-items:center;gap:6px}
.pl-legend svg{width:34px;height:10px}
.dg-node rect{stroke-width:1.4}
.dg-node text{font:700 14.5px "Microsoft YaHei",sans-serif;fill:#1a2421}
.dg-node.link{cursor:pointer}.dg-node.link:hover rect{stroke-width:2.6}
.dg-node .dg-code{font:700 11px Consolas,monospace;fill:#7a5520}

/* 审核要点 */
.pl-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:6px}
.pl-role{border:1px solid rgba(28,40,39,.12);border-top:3px solid var(--rc);background:#fff;border-radius:8px;padding:10px 12px;font-size:13px;color:#40504c}
.pl-role b{display:block;color:var(--rc);margin-bottom:3px}
.pl-items{display:grid;gap:10px}
.pl-item{border:1px solid rgba(28,40,39,.12);background:#fff;border-radius:8px;padding:11px 13px}
.pl-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pl-item-head b{font-size:15px;margin-right:4px}
.pl-tag{font-size:11px;font-weight:900;border-radius:5px;padding:1px 7px}
.pl-tag.dim{background:rgba(68,89,99,.10);color:#445963}
.pl-tag.must{background:var(--heal-clay-soft,#faede8);color:var(--heal-clay,#bf4e34)}
.pl-tag.child{background:#fdf1d9;color:#8a6116}
.pl-tag.calc{background:rgba(15,140,146,.10);color:#0b666b}
.pl-tag.add{background:rgba(118,91,134,.12);color:#765b86}
.pl-rules{margin:7px 0 0;padding-left:20px;font-size:13.5px;color:#33413f}
.pl-rules li{margin:2px 0}
.pl-rules li.opt{color:#5b6b67}
.pl-rules li.opt:after{content:"（优化建议）";color:var(--muted);font-size:12px}
.pl-norms{margin-top:7px;display:grid;gap:5px}
.pl-norm{font-size:12.5px;border-left:3px solid var(--teal);background:rgba(15,140,146,.05);border-radius:0 6px 6px 0;padding:5px 9px;color:#40504c}
.pl-norm b{color:#0b666b;margin-right:6px}
.pl-verify{font-size:11px;color:var(--muted);margin-left:6px}
.pl-evidence{font-size:12px;color:var(--heal-clay,#bf4e34);margin-top:5px}

/* 分析 */
.pl-matrix{border-collapse:collapse;font-size:12.5px;background:#fff}
.pl-matrix th,.pl-matrix td{border:1px solid rgba(28,40,39,.14);padding:5px 7px;text-align:center;min-width:40px}
.pl-matrix th{background:#f4f1ea;font-weight:800;white-space:nowrap}
.pl-matrix th.rowh{text-align:right}
.pl-matrix td.v0{color:#c3cbc9}.pl-matrix td.v1{background:#eef6f3;color:#2f6f73}.pl-matrix td.v2{background:#cfe6df;color:#1f4d44;font-weight:900}.pl-matrix td.v3{background:#fae3dc;color:#bf4e34;font-weight:900}.pl-matrix td.vx{background:#f4f1ea}
.pl-scroll{overflow:auto;max-width:100%}
.pl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pl-card{border:1px solid rgba(28,40,39,.12);background:#fff;border-radius:8px;padding:10px 12px;font-size:13px;color:#40504c}
.pl-card b{display:block;color:#1a2421;font-size:14px;margin-bottom:3px}
.pl-card .k{color:var(--muted);font-size:12px}
.pl-calc{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-top:8px}
.pl-calc label{display:grid;font-size:11px;color:var(--muted)}
.pl-calc input{width:96px;border:1px solid rgba(28,40,39,.2);border-radius:6px;padding:4px 6px;font-size:13px}
.pl-calc output{font-size:15px;font-weight:900;color:var(--heal-sage-deep,#254439);padding:4px 0}
.pl-ol{margin:0;padding-left:22px;font-size:13.5px;color:#33413f}.pl-ol li{margin:3px 0}
.pl-table{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff}
.pl-table th,.pl-table td{border:1px solid rgba(28,40,39,.12);padding:6px 8px;text-align:left;vertical-align:top}
.pl-table th{background:#f4f1ea}
.res-ok{color:#2f6f73;font-weight:900}.res-bad{color:#bf4e34;font-weight:900}.res-na{color:var(--muted)}
.pl-details{margin-top:12px;border:1px dashed rgba(28,40,39,.2);border-radius:8px;padding:8px 12px;background:rgba(255,255,255,.6)}
.pl-details summary{cursor:pointer;font-weight:900;font-size:13px}
.pl-refs a{font-weight:800}

/* 3D */
.pl-3d{position:relative;aspect-ratio:16/9;min-height:360px;border-radius:8px;overflow:hidden;background:linear-gradient(145deg,#e7eeec,#fff);border:1px solid rgba(28,40,39,.12)}
.pl-3d iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pl-3d-empty{display:grid;place-items:center;text-align:center;padding:28px;color:var(--muted)}
.pl-3d-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}

/* 空间构成 */
.pl-kids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pl-kid{border:1px solid rgba(28,40,39,.13);background:#fff;border-radius:8px;overflow:hidden;cursor:pointer;text-align:left;padding:0;color:inherit;display:flex;flex-direction:column}
.pl-kid:hover{border-color:rgba(15,140,146,.4);box-shadow:0 4px 14px rgba(35,48,43,.08)}
.pl-kid .th{aspect-ratio:16/10;background:#eef2f0 center/cover no-repeat;border-bottom:1px solid rgba(28,40,39,.08);display:grid;place-items:center;color:var(--muted);font-size:12px}
.pl-kid .bd{padding:9px 11px}
.pl-kid b{display:block;font-size:14px}
.pl-kid small{display:block;color:var(--muted);font-size:12px}

.pl-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pl-note-grid .pl-card ul{margin:4px 0 0;padding-left:18px}

@media(max-width:1100px){.pl-workspace{grid-template-columns:1fr}.pl-tree{position:static;max-height:340px}.pl-kids{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-note-grid{grid-template-columns:1fr}.pl-tabs{top:0}}
@media(max-width:720px){.pl-levels,.pl-roles,.pl-cards,.pl-flows,.pl-figrow,.pl-kids{grid-template-columns:1fr}.pl-level:not(:last-child):after{display:none}.pl-pane{padding:12px}.pl-3d{min-height:300px;aspect-ratio:3/4}.pl-depts{justify-content:flex-start}}
.pl-norm.pending{border-left-color:#ad7c32;background:rgba(173,124,50,.07)}.pl-norm.pending b{color:#7a5520}

/* 门诊部整体组织示意平面 */
.tp-bar{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 8px;font-size:13px}
.tp-bar label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.tp-bar i{display:inline-block;width:18px;height:4px;border-radius:2px}
.tp-fig svg{background:#fff}
.tp-t{font:600 13px "Microsoft YaHei",sans-serif;fill:#1a2421}
.tp-c{font:700 10px Consolas,monospace;fill:#7a5520}
.tp-d{font:600 12px "Microsoft YaHei",sans-serif;fill:#274f73}
.tp-dim{stroke:#000;stroke-width:1}
.tp-tick{stroke:#000;stroke-width:2}
.tp-dt{font:12px Arial,sans-serif;fill:#000}
.tp-zone.link{cursor:pointer}.tp-zone.link:hover rect{stroke-width:2.6}
.tp-notes{margin-top:6px}

/* 案例与研究 */
.cs-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cs-filter button{border:1px solid rgba(28,40,39,.16);background:#fff;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:800;color:#43544f}
.cs-filter button.on{background:var(--heal-sage-deep,#254439);color:#fff;border-color:transparent}
.cs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cs-card{border:1px solid rgba(28,40,39,.13);background:#fff;border-radius:8px;padding:12px 14px;font-size:13px;color:#40504c}
.cs-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}
.cs-head b{display:block;font-size:15px;color:#1a2421}
.cs-head small{display:block;color:var(--muted);font-size:12px}
.cs-icon{width:96px;height:50px;background:#fbfaf6;border:1px solid rgba(28,40,39,.1);border-radius:6px}
.cs-chips{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.cs-chips span{font-size:11px;border-radius:999px;padding:1px 8px;background:rgba(102,122,96,.10);color:#43544f}
.cs-card dl{margin:6px 0;display:grid;grid-template-columns:62px minmax(0,1fr);gap:3px 8px}
.cs-card dt{font-weight:900;color:#33594b}.cs-card dd{margin:0}
.cs-take{border-left:3px solid var(--heal-ochre,#ad7c32);background:#fbf3e6;border-radius:0 6px 6px 0;padding:6px 10px;margin:8px 0}
.cs-take ul{margin:4px 0 0;padding-left:18px}
.cs-typ{background:#fff;border:1px solid rgba(28,40,39,.12);border-radius:8px;padding:10px 12px;font-size:13.5px}
.rs-list{display:grid;gap:10px}
.rs-item{border:1px solid rgba(28,40,39,.13);background:#fff;border-radius:8px;padding:10px 14px}
.rs-item summary{cursor:pointer}.rs-item summary b{font-size:15px;margin-right:8px}.rs-item summary span{color:var(--muted);font-size:12.5px}
.rs-papers{margin:8px 0;padding-left:20px;font-size:13px}.rs-papers li{margin:6px 0}
.rs-papers a{font-weight:800}.rs-papers small{display:block;color:var(--muted)}.rs-papers p{margin:2px 0 0;color:#40504c}
@media(max-width:900px){.cs-grid{grid-template-columns:1fr}}
.cs-more summary{cursor:pointer;font-size:12px;font-weight:800;color:#33594b;margin:4px 0}

.tp-fig .tp-in{font-size:11px;paint-order:stroke;stroke:#fff;stroke-width:3px}
.cs-book{font-size:12px;color:var(--muted);border:1px dashed rgba(28,40,39,.2);border-radius:999px;padding:2px 9px}
