
:root {font-family:Inter,"Segoe UI","Microsoft YaHei UI",sans-serif;color:#253348;background:#f3f5f8;line-height:1.5;--accent:#176c65;--accent-soft:#e8f3ef;--border:#dfe5ec;--muted:#748196}
* {box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,summary{outline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}
header{height:62px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#182b3b;color:#eef5f8}header a{color:inherit}.brand{font-size:21px;font-weight:700;letter-spacing:-.4px}.brand span{margin-left:10px;font-size:10px;letter-spacing:1.5px;border:1px solid #687f8c;padding:2px 5px;border-radius:4px}nav{display:flex;gap:24px;align-items:center;font-size:13px}nav form{margin:0}.link{background:none!important;border:0!important;color:inherit!important;padding:0!important}
.prototype{font-size:11px;color:#69798a;background:#eaf0f4;text-align:center;padding:5px 16px}main{max-width:1800px;margin:auto;padding:24px 28px}footer{padding:14px;text-align:center;font-size:11px;color:#8390a0}h1,h2,h3,p{margin-top:0}h1{font-size:24px;letter-spacing:-.7px;margin-bottom:0}h2{font-size:16px;margin-bottom:12px}h3{font-size:13px;margin-bottom:8px}.muted{color:var(--muted);font-size:12px}.subtle{font-size:11px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:var(--accent);margin-bottom:3px}.workbench-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.workbench-heading>p{margin:0}.card{background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:0 2px 6px #24394f03}.workbench{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}.explorer{position:sticky;top:16px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.explorer-section{padding:17px 16px 14px;border-bottom:1px solid var(--border)}.section-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-label h2,.section-label h3{margin:0}.key-hint{font-size:10px;color:#8d98a6;letter-spacing:1px}.category-heading{padding:16px 16px 8px;display:flex;justify-content:space-between;align-items:center}.category-heading h2{font-size:12px;margin:0;color:#728194}.category-tree{padding:0 8px 16px;overflow:auto;min-height:160px;max-height:55vh}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 13px;border:1px solid transparent;border-radius:5px;background:var(--accent);color:white;font-size:12px;cursor:pointer;line-height:1.4;white-space:nowrap}button:hover,.button:hover{filter:brightness(.97)}button:disabled{opacity:.4;cursor:default}.secondary{color:#46566a;background:#fff;border-color:var(--border)}.text-button{background:transparent;color:var(--accent);padding:3px 0;border:0;font-size:12px}.badge{padding:4px 10px;border-radius:20px;background:var(--accent-soft);color:#247663;border:1px solid #d1e7df;font-size:11px;white-space:nowrap}.badge.unsaved{background:#fff4db;border-color:#f0d59e;color:#966c1e}.workspace{margin-top:8px;width:100%;display:block;text-align:left;white-space:normal;overflow-wrap:anywhere;background:#f5f7fa;color:#45566c;border-color:transparent;padding:10px}.workspace strong{display:block;font-size:12px;font-weight:550}.workspace small{font-size:10px;color:var(--muted)}.workspace.active{background:var(--accent-soft);color:#17665e;border-color:#cce1d9}
input,select,textarea{border:1px solid #d5dee7;border-radius:5px;background:#fff;padding:8px 10px;font-size:12px;max-width:100%;min-width:0}input:focus,select:focus{border-color:#529c90;outline:2px solid #176c6512}input[type=checkbox]{accent-color:var(--accent);margin:0}input[type=file]{font-size:11px;width:100%;padding:6px}label{display:block;font-size:12px;margin:10px 0}label>input:not([type=checkbox]),label>select{display:block;width:100%;margin-top:5px}details summary{cursor:pointer;font-size:12px}.upload-panel{margin-top:14px}.upload-panel>summary{color:var(--accent);list-style:none}.upload-panel form{padding-top:4px}.upload-panel form button{width:100%}
.category-tree ul{list-style:none;margin:0;padding-left:13px}.category-tree>ul{padding:0}.category-tree details{padding:0;margin:0}.category-tree summary{list-style:none;padding:6px 8px;color:#617286;display:flex;gap:6px;align-items:center}.category-tree summary:before{content:'▾';font-size:10px}.category-tree details:not([open])>summary:before{content:'▸'}.category{width:100%;text-align:left;justify-content:space-between;background:transparent;color:#4a5d72;white-space:normal;padding:6px 9px;font-size:12px}.category:hover{background:#f2f6f8}.category.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.category .count{color:#8d9aa7;font-size:10px;font-weight:400}
.editor{min-width:0;overflow:clip}.document-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 12px;gap:16px}.document-heading h2{font-size:17px;overflow-wrap:anywhere;margin:0 0 3px}.document-heading p{margin:0;font-size:11px}.editor-toolbar{padding:0 20px 13px;display:flex;gap:8px;align-items:center}.toolbar-group{display:flex;gap:6px}.editor-toolbar button{font-size:11px;padding:6px 10px}.tools-menu{position:relative;margin-left:auto}.tools-menu summary{font-size:11px;color:#5b6e80;padding:6px 10px;list-style:none;border:1px solid var(--border);border-radius:5px}.tools-menu>div{position:absolute;right:0;top:36px;z-index:5;min-width:180px;background:#fff;border:1px solid var(--border);padding:6px;border-radius:6px;box-shadow:0 8px 26px #25334820}.tools-menu button,.tools-menu label{display:flex;justify-content:flex-start;width:100%;margin:0;background:white;border:0;padding:9px 10px;font-size:12px}.tools-menu button:hover,.tools-menu label:hover{background:#f4f7f9}.filter-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fafbfd;padding:10px 20px;display:flex;gap:16px;align-items:center}.filter-bar>input{flex:1;max-width:380px;background:white}.check-label{display:inline-flex;align-items:center;gap:7px;margin:0!important;white-space:nowrap;font-size:11px}.format-label{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px;color:#6b7c8e;margin:0 0 0 auto}.format-label select{display:inline-block;width:auto;margin:0;padding:6px 8px}
.parameter-table{overflow:auto;max-height:clamp(260px,44vh,550px);min-height:220px}table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;font-size:12px}.col-name{width:27%}.col-initial{width:15%}.col-value{width:18%}.col-unit{width:9%}.col-range{width:20%}.col-access{width:11%}th{position:sticky;top:0;z-index:1;background:#eef2f6;text-align:left;padding:10px 14px;color:#63758a;border-bottom:1px solid #d8e1ea;font-size:11px;font-weight:550;white-space:nowrap}td{padding:8px 14px;height:51px;border-bottom:1px solid #edf1f5;vertical-align:middle;overflow-wrap:anywhere}td strong{font-weight:550;display:block}td small{color:#94a0ae;display:block;font-size:10px}.parameter-row{cursor:pointer}.parameter-row:nth-child(even){background:#fcfdfe}.parameter-row:hover{background:#f4f8fa}.parameter-row.selected{background:#eaf3f8}.parameter-row.selected td:first-child{box-shadow:inset 3px 0 #3c819b}.value-cell input{width:100%;padding:6px 8px;font-family:Consolas,"SFMono-Regular",monospace;font-size:12px;background:transparent;border-color:transparent}.value-cell input:hover{border-color:#c9d6e0;background:white}.value-cell input:focus{background:white;border-color:var(--accent)}.modified .value-cell{background:#fff5d9}.modified .value-cell input{color:#8c651d}.numeric{font-family:Consolas,"SFMono-Regular",monospace;font-variant-numeric:tabular-nums;font-size:12px}.initial-value{color:#7f8b9b}.readonly td{color:#8c97a5}.access-label{font-size:10px;color:#789080;white-space:nowrap}.readonly .access-label{color:#a1a9b4}.table-status{display:flex;justify-content:space-between;padding:8px 16px;background:#fafbfd;border-bottom:1px solid var(--border);font-size:10px;color:#8c98a6;gap:12px}.no-results{text-align:center;padding:40px;color:var(--muted);font-size:12px}
.parameter-details{padding:15px 20px;min-height:160px;max-height:290px;overflow:auto;background:#fbfcfe}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:9px}.detail-heading h3{font-size:13px;margin-bottom:1px}.detail-heading span{font-family:Consolas,monospace;font-size:10px}.parameter-help{font-size:12px;color:#647489;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.value-assist{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.value-assist select{font-size:11px}.value-assist button{font-size:10px;padding:4px 8px}.parameter-timeline{padding:4px 0 0;margin:12px 0 0;list-style:none;border-top:1px solid var(--border)}.parameter-timeline li{display:flex;gap:15px;padding:7px 0;font-size:11px;align-items:baseline}.parameter-timeline time{color:#8a98a7;font-size:10px;min-width:160px}.parameter-timeline .pending{color:#a7751e}.parameter-timeline .pending time{color:#b18b43}.saved-history{border-top:1px solid var(--border);padding:16px 20px;max-height:340px;overflow:auto}.revision{border-left:2px solid #c8ded6;margin:16px 0;padding-left:12px;font-size:11px}.revision p{margin:5px 0;color:#748397}.revision small{color:#8d9aa7}.revision button{font-size:10px;padding:5px 8px;margin-top:5px}.save-bar{display:flex;gap:10px;align-items:center;padding:13px 20px;border-top:1px solid var(--border);background:white;position:sticky;bottom:0;z-index:3}.save-note{flex:1;margin:0;min-width:100px}.save-note input{margin:0!important;width:100%}.save-bar button,.save-bar a{font-size:12px}.save-bar .check-label{color:#738294}
.empty{min-height:590px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.empty h2{margin-bottom:8px;font-size:20px}.empty .muted{max-width:330px}.empty-symbol{font-family:Consolas,monospace;font-weight:bold;color:#72a499;background:#eaf3ef;border:1px solid #d3e4dc;border-radius:14px;width:66px;height:74px;display:grid;place-items:center;font-size:18px;margin-bottom:25px;box-shadow:5px 5px 0 #f0f5f3}.empty button{margin:10px 0 17px}.empty .subtle{margin:0}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.auth{max-width:420px;margin:45px auto;padding:30px}.auth h1{font-size:25px;margin-bottom:12px}.auth button{width:100%;margin-top:10px}.auth input{padding:10px}.error{color:#b34b40}#message{margin:0}#message:not(:empty){margin-bottom:14px;padding:9px 14px;background:#e8f4ee;border:1px solid #d4e8db;border-radius:6px;font-size:12px;color:#32715b}#message.error{background:#fff2ef;border-color:#f0d5ce;color:#a2483d}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:12px;color:#65768b;padding:15px}code{overflow-wrap:anywhere}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid .card,main>.card:not(.auth){padding:22px;margin-bottom:18px}.inline-list{display:flex;align-items:center;gap:10px;font-size:12px;color:#63758a}.inline-list button{padding:4px 8px}.table-scroll{overflow:auto}#events table{table-layout:auto}#events th{position:static}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:701px){header{height:56px}main{padding-top:18px;padding-bottom:12px}.workbench-heading{margin-bottom:14px}h1{font-size:21px}.editor{display:flex;flex-direction:column;height:calc(100dvh - 166px);min-height:520px}.document-heading{padding-top:13px;padding-bottom:8px}.editor-toolbar{padding-bottom:10px}.editor>.document-heading,.editor>.editor-toolbar,.editor>.filter-bar,.editor>.table-status,.editor>.save-bar{flex-shrink:0}.parameter-table{flex:1;min-height:140px;max-height:none}.parameter-details{flex-shrink:0;min-height:125px;max-height:180px;padding-top:12px;padding-bottom:12px}.save-bar{position:static}.saved-history{min-height:130px;max-height:220px;flex-shrink:0}.editor:has(.saved-history:not([hidden])) .parameter-details{display:none}}
@media(min-width:701px){.editor{height:calc(100dvh - 146px)}.document-heading{padding-top:10px;padding-bottom:6px}.editor-toolbar{padding-bottom:8px}.editor-toolbar button{padding-top:5px;padding-bottom:5px}.filter-bar{padding-top:7px;padding-bottom:7px}.filter-bar>input{padding-top:6px;padding-bottom:6px}.parameter-details{min-height:100px;max-height:155px}.save-bar{padding-top:10px;padding-bottom:10px}td{height:45px;padding-top:5px;padding-bottom:5px}}
.editor>#audit-details{max-height:180px;min-height:0;overflow:auto;margin:0;flex-shrink:1}
@media(min-width:701px){.saved-history{flex:0 1 220px;min-height:100px}}
@media(min-width:1400px){.workbench{grid-template-columns:260px minmax(0,1fr)}main{padding-left:36px;padding-right:36px}}
@media(max-width:1000px){main{padding:18px 16px}.workbench{grid-template-columns:205px minmax(0,1fr);gap:12px}.document-heading,.filter-bar,.editor-toolbar,.save-bar{padding-left:14px;padding-right:14px}.parameter-table table{min-width:660px}.table-status span:last-child{display:none}.save-bar{flex-wrap:wrap}.save-note{flex-basis:100%}.filter-bar{gap:10px;flex-wrap:wrap}.format-label{margin-left:0}}
@media(max-width:700px){header{padding:0 16px;height:auto;min-height:58px;gap:16px;flex-wrap:wrap}nav{gap:14px;font-size:11px;padding:12px 0}.brand{font-size:18px}.workbench-heading>p{display:none}.workbench{grid-template-columns:1fr}.explorer{position:static;max-height:none}.explorer-section{padding:12px}.category-heading{padding-top:12px}.category-tree{max-height:170px;min-height:0}.editor-toolbar{flex-wrap:wrap}.tools-menu{margin-left:0}.workbench-heading{margin-bottom:14px}.empty{min-height:300px}.parameter-details{max-height:300px}.detail-heading{flex-wrap:wrap}.parameter-timeline li{flex-wrap:wrap;gap:3px}.parameter-timeline time{width:100%}.prototype{font-size:10px}.save-bar .check-label{margin-right:auto!important}.admin-grid{grid-template-columns:1fr}}
dialog{border:1px solid #d5dee7;border-radius:10px;max-width:min(680px,94vw);padding:22px}dialog::backdrop{background:#102b3359}#security-recipients label{overflow-wrap:anywhere;font-family:monospace}
