:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#243630;background:#f5f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-color:#1e8467}button,.button{cursor:pointer;border:1px solid #dae3de;border-radius:7px;background:#fff;padding:9px 13px;color:#31443b;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){background:#eaf2ee}.app{display:flex;min-height:100vh}aside{width:244px;background:#122d26;color:#d9e5de;position:fixed;inset:0 auto 0 0;padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:650}.brand-icon{background:#2b5142;padding:9px;border-radius:10px;color:#d3edb5}.brand small{font-size:9px;letter-spacing:2px;color:#8ba99b;margin-top:7px}.section-label{margin:48px 8px 18px;font-size:11px;color:#8ca698;display:flex;justify-content:space-between;align-items:center;letter-spacing:2px}.section-label button{border:0;background:none;color:#b3c8bb;padding:0}nav{overflow:auto}nav button{width:100%;justify-content:start;border:0;background:transparent;color:#b8cdc2;text-align:left;padding:13px 10px;margin-bottom:5px;font-size:13px}nav button.selected{background:#284a3d;color:#eef6ed}nav button span{overflow:hidden;text-overflow:ellipsis}small{display:block;font-size:11px;color:#85948d;margin-top:6px;line-height:1.5}.aside-bottom{margin-top:auto;padding:24px 8px 0;font-size:12px;border-top:1px solid #2b443a}.dot{display:inline-block;width:7px;height:7px;background:#81b38c;border-radius:50%;margin-right:8px}main{margin-left:244px;width:calc(100% - 244px);padding:0 38px 50px}header{height:76px;border-bottom:1px solid #e0e7e2;display:flex;justify-content:space-between;align-items:center;font-size:12px}.avatar{background:#e0e9df;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;font-size:10px}.muted{color:#839087;font-size:13px;line-height:1.8}.heading{display:flex;justify-content:space-between;align-items:center;margin:36px 0 28px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#718a7a;font-weight:650}h1{font-size:29px;font-weight:650;letter-spacing:-.8px;margin:12px 0}h2{font-size:21px;margin:12px 0 17px}h3{font-size:14px;font-weight:650}p{line-height:1.8;font-size:13px}.heading p{color:#8b968f;font-size:12px;margin-bottom:0}.separator{margin:0 13px}.primary{background:#22674e;color:#fff;border-color:#22674e}.primary:hover:not(:disabled){background:#18523d}.heading-actions{display:flex;gap:12px}.danger{color:#a8473a;border-color:#e7cfc9}.danger:hover:not(:disabled){background:#fbefec}.danger-solid{background:#a8473a;color:#fff;border-color:#a8473a}.danger-solid:hover:not(:disabled){background:#8e3a2f}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats article{background:#fff;border:1px solid #e0e7e1;border-radius:10px;padding:20px 23px}.stats article>span{color:#7c8981;font-size:12px}.stats strong{display:block;font-size:30px;font-weight:600;margin:15px 0 9px}.stats em{font-style:normal;font-size:12px;font-weight:400;color:#94a096}.progress{height:4px;background:#edf1ec;border-radius:4px;margin-top:19px}.progress i{display:block;height:4px;background:#8da974}.steps{display:flex;justify-content:space-between;align-items:center;margin:28px 0;padding:20px;background:#edf1eb;border-radius:9px;gap:12px}.steps>span{display:flex;align-items:center;gap:10px;font-size:11px;flex:1;white-space:nowrap}.steps b{border:1px solid #bbcbbd;color:#607b68;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:10px}.step-line{height:1px;background:#c9d4c9;flex:1}.tabs{display:flex;gap:25px;border-bottom:1px solid #dce4dd;margin-bottom:24px}.tabs button{padding:13px 0;border:0;border-radius:0;background:transparent;color:#7f8c82;font-size:13px}.tabs button.active{color:#255d42;border-bottom:2px solid #255d42}.panel{background:#fff;border:1px solid #dfe7e0;border-radius:10px}.split{display:grid;grid-template-columns:minmax(310px,1fr) minmax(340px,1.04fr);gap:22px;align-items:start}.panel-title{padding:14px 20px;border-bottom:1px solid #e6ece7;display:flex;justify-content:space-between;align-items:center}.item{border:0;border-bottom:1px solid #edf0ec;border-radius:0;width:100%;justify-content:start;padding:16px;font-size:12px;text-align:left;background:transparent}.item.chosen{background:#eef5ef;box-shadow:inset 3px 0 #497852}.code{font-size:10px;background:#f2f5f0;color:#789079;padding:5px;border-radius:4px}.item .badge{margin-left:auto}.item-group{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 16px;background:#f7f9f5;border-bottom:1px solid #edf0ec;font-size:11px;color:#3f5a47}.item-group small{color:#8a9a8d}.item-group.opt{color:#7d8a80}.req{font-style:normal;font-size:10px;padding:1px 5px;margin-right:6px;border-radius:3px}.req.must{color:#a8473a;background:#fbefec}.req.opt{color:#6f7f73;background:#eef1ed}.req-note{font-size:12px;line-height:1.7;padding:8px 12px;border-radius:6px;margin:-4px 0 12px}.req-note.must{color:#8e3a2f;background:#fbefec}.req-note.opt{color:#5d6e62;background:#f2f5f0}.badge{font-size:10px;color:#998257;background:#f6f2e6;padding:4px 7px;border-radius:4px;white-space:nowrap}.badge.green{color:#477851;background:#e5f2e5}.inspector{padding:26px}.dropzone{border:1px dashed #b9ccbc;background:#f8faf6;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:27px 12px;cursor:pointer;color:#648369;gap:9px;margin:22px 0}.dropzone strong{font-size:13px;font-weight:500}.dropzone span{font-size:11px;color:#9aa79a}.dropzone input{display:none}.file-list a{display:flex;align-items:center;gap:10px;color:#425e49;text-decoration:none;padding:10px 0;border-bottom:1px solid #eef1ed;font-size:12px}.file-list a span{flex:1;overflow-wrap:anywhere}.review{border-top:1px solid #e5ebe4;margin-top:24px;padding-top:13px}label:not(.dropzone){display:block;font-size:12px;color:#6e8173;margin-top:14px}input,select,textarea{display:block;width:100%;padding:10px 12px;border:1px solid #dce4dc;background:#fff;border-radius:6px;color:#344e3b;margin-top:8px;font-size:13px}textarea{resize:vertical;min-height:90px;margin-bottom:16px}.content{padding:28px;max-width:1150px}.callout{font-size:12px;line-height:1.9;background:#f1f5ed;border-left:3px solid #a6ba8f;padding:12px 16px;margin:18px 0;color:#687d59}.issue{display:flex;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid #e7ece5;font-size:13px}.issue>span{flex:1}.issue>b{color:#8a9d85}.issue a{color:#28684b}.content h3{margin-top:29px}.event{display:flex;padding:18px 0;border-bottom:1px solid #edf0ec;font-size:13px}.event .dot{margin-top:5px}.drawing{border:1px solid #e0e8de;border-radius:8px;padding:17px;margin-top:20px}.drawing .badge{flex:0}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.empty{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#638066}.empty h1{color:#273f30}.empty-small{padding:50px;text-align:center;color:#899888;font-size:13px}.toast{position:fixed;right:30px;top:20px;background:#fff;border:1px solid #d4e2d3;box-shadow:0 8px 35px #193c2522;padding:13px 16px;border-radius:8px;z-index:20;max-width:650px;font-size:13px}.toast button{margin-left:20px;padding:4px 8px}.modal-backdrop{position:fixed;inset:0;background:#142a2266;display:grid;place-items:center;z-index:10}.modal{width:480px;background:#fff;border-radius:14px;padding:34px;box-shadow:0 25px 100px #10241933}@media(max-width:1100px){aside{width:200px}main{margin-left:200px;width:calc(100% - 200px);padding:0 22px 35px}.stats{gap:10px}.stats article{padding:16px}.split{grid-template-columns:1fr}.steps{flex-wrap:wrap}.steps>span{min-width:40%}}@media(max-width:700px){aside{position:static;width:100%;padding:18px}.app{display:block}.section-label,.aside-bottom{display:none}nav{display:flex;margin-top:15px}main{margin:0;width:100%;padding:0 16px}.heading{display:block}.heading .heading-actions{margin-top:20px}.stats{grid-template-columns:1fr 1fr}.tabs{gap:15px;overflow:auto;white-space:nowrap}.modal{width:92%}}.model-section{border-bottom:1px solid #e1e8df;padding-bottom:24px;margin-bottom:24px}details{margin-top:18px;background:#f7f9f5;padding:14px;border-radius:6px;font-size:12px}summary{cursor:pointer;color:#457052}.model-report{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.9 inherit;color:#435445}
