:root{--navy:#10264b;--blue:#2867c7;--cyan:#22a2b6;--bg:#f3f6f9;--line:#d9e0e9;--muted:#667286;--red:#b44b4b;--green:#317f65;--amber:#b87920}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#111c2e;font-family:"Microsoft YaHei","PingFang SC",sans-serif}.top{height:68px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:18px}.brand small{display:block;color:#94a8c5;font-size:11px;font-weight:400;margin-top:3px}.top nav{display:flex;gap:7px}.top a,.top button{color:#dce7f6;background:transparent;border:1px solid #ffffff35;padding:9px 13px;text-decoration:none;cursor:pointer;font:inherit}.top a.active{background:#fff;color:var(--navy)}.shell{max-width:1500px;margin:auto;padding:28px}.hero{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;margin-bottom:22px}.hero h1{margin:0 0 7px;font-size:34px}.hero p{margin:0;color:var(--muted)}.deadline{background:#fff;padding:16px 24px;border-left:4px solid var(--cyan);box-shadow:0 5px 18px #1d355712}.deadline b{display:block;font-size:23px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.btn{border:1px solid var(--line);background:#fff;padding:9px 13px;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{color:var(--red)}.saved{font-size:12px;color:var(--green);align-self:center;opacity:0;transition:.2s}.saved.show{opacity:1}.tabs{display:flex;gap:1px;border-bottom:1px solid var(--line);margin-bottom:18px}.tab{border:0;background:transparent;padding:12px 18px;cursor:pointer;color:var(--muted);font-weight:700}.tab.active{color:var(--blue);border-bottom:3px solid var(--blue)}.panel{display:none}.panel.active{display:block}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:#fff;border:1px solid var(--line);padding:20px}.card h2,.card h3{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);padding:9px;background:#fff;font:inherit}.field textarea{min-height:70px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:950px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:13px}th{background:#eaf0f6;color:var(--navy);white-space:nowrap}td input,td select{width:100%;min-width:90px;border:1px solid transparent;padding:7px;background:transparent;font:inherit}td input:focus,td select:focus{border-color:var(--blue);background:#fff}.icon{border:0;background:transparent;color:var(--red);cursor:pointer}.tree-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.tree{background:#fff;border:1px solid var(--line);padding:18px;min-height:440px}.node{margin:6px 0}.node-line{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid transparent;cursor:pointer}.node-line:hover,.node-line.selected{background:#edf4fd;border-color:#c8d8ef}.node-line b{font-size:13px}.node-type{font-size:11px;color:var(--blue);background:#e7f0fc;padding:3px 6px}.children{margin-left:25px;border-left:1px solid var(--line);padding-left:10px}.empty{padding:30px;text-align:center;color:var(--muted)}.summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);padding:18px}.stat span{font-size:12px;color:var(--muted)}.stat b{font-size:25px;display:block;margin-top:8px}.note{border-left:3px solid var(--cyan);background:#eff9fa;padding:12px 15px;color:#44546a;font-size:13px;line-height:1.7}.pill{font-size:11px;padding:4px 7px;background:#fff0d8;color:var(--amber)}.split-title{display:flex;justify-content:space-between;align-items:center}.modal{position:fixed;inset:0;background:#08162d99;display:none;place-items:center;z-index:20;padding:20px}.modal.open{display:grid}.modal-box{background:#fff;width:min(720px,100%);padding:25px;max-height:90vh;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:900px){.top{height:auto;align-items:flex-start;gap:15px;padding:15px;flex-direction:column}.top nav{overflow:auto;width:100%}.shell{padding:18px}.hero,.grid,.tree-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.summary{grid-template-columns:1fr 1fr}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.summary{grid-template-columns:1fr}.hero h1{font-size:27px}}
