:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#182d27;background:#f4f5f0;font-size:15px;line-height:1.65;--green:#17382e;--muted:#69766e}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid #d2dbd3;background:#fff;color:var(--green);padding:10px 16px;border-radius:8px;text-decoration:none;display:inline-block;min-height:44px}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled),a.button:hover{box-shadow:0 2px 8px #17382e18}input,select,textarea{width:100%;border:1px solid #cbd5cc;border-radius:7px;padding:10px 12px;color:#182d27;background:#fff;min-height:44px}textarea{resize:vertical;min-height:90px}input[type=checkbox]{width:20px;min-height:20px;flex-shrink:0}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #8cb09e;outline-offset:2px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #e0e6dc}.brand{font-size:23px;font-weight:700;text-decoration:none;white-space:nowrap}.brand span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:400}.topbar nav{display:flex;align-items:center;gap:20px;font-size:13px}.topbar nav a{text-decoration:none}.topbar button{padding:7px 11px}main{max-width:1180px;margin:auto;padding:38px 24px 60px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{letter-spacing:2px;font-size:11px;color:var(--muted)}h1{font-size:clamp(25px,4vw,38px);line-height:1.35;margin:10px 0 12px;font-weight:600;letter-spacing:-1px}h2{font-size:21px;margin:0 0 10px}h3{font-size:16px;margin:0 0 12px}p{margin:8px 0}.intro p:last-child{color:var(--muted)}.seal{font-family:serif;font-size:20px;letter-spacing:5px;border:1px solid #98ac9c;padding:8px 6px 8px 12px;color:#637e6b;border-radius:5px;line-height:1.2;flex-shrink:0}.policy{background:var(--green);color:#f5f8f2;border-radius:14px;padding:24px;display:grid;grid-template-columns:120px 1fr;gap:24px;margin:22px 0}.policy strong{font-size:38px;font-weight:500;line-height:1.1}.policy small{display:block;color:#b9cfc1;font-size:12px;margin-top:8px}.policy p{font-size:14px;margin:0}.panel{background:#fff;border:1px solid #e0e5dc;border-radius:12px;padding:24px;margin:18px 0}.muted,.hint{color:var(--muted);font-size:13px}.hint{margin:8px 0 16px}.notice,#notice{padding:12px 16px;border-radius:8px;background:#e7eee5;font-size:14px;overflow-wrap:anywhere}#notice:empty{display:none}.warning{background:#fff3dc;color:#775221;padding:12px 16px;border-radius:8px;margin:14px 0}.error{color:#a02c25}.layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:22px;align-items:start}.project-list{display:grid;gap:10px}.project-list button{text-align:left;width:100%;padding:16px}.project-list button strong,.project-list button small{display:block;overflow-wrap:anywhere}.project-list button small{color:var(--muted);margin-top:5px;font-size:12px}.project-list button[aria-pressed=true]{border-color:var(--green);background:#e6eee5}.project-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.tag{display:inline-block;font-size:12px;color:#416148;background:#edf3e9;padding:3px 9px;border-radius:20px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e2e9de;border:1px solid #e2e9de;border-radius:10px;overflow:hidden;margin:20px 0}.metric{background:#f8faf6;padding:16px 12px;overflow-wrap:anywhere}.metric span{display:block;font-size:12px;color:var(--muted)}.metric strong{font-size:21px;display:block;font-variant-numeric:tabular-nums;margin-top:5px;font-weight:550}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:block;font-size:13px}label input,label select,label textarea{display:block;margin-top:6px}.wide{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;padding:15px 0}.check input{margin:3px 0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:15px}.feedback{font-size:13px;color:#9c382a;overflow-wrap:anywhere}.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.person{border:1px solid #dfe6dc;padding:16px;border-radius:8px}.person h3{margin-bottom:3px}.person.disabled{opacity:.6}details{margin:20px 0;border-top:1px solid #e1e6de;padding-top:18px}summary{cursor:pointer;font-weight:600;min-height:35px}details>form,details>.body{margin-top:15px}.agreement{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.9;background:#f7f8f4;padding:22px;border-radius:8px;max-height:460px;overflow:auto}.table-wrap{overflow:auto;margin:16px 0}table{width:100%;border-collapse:collapse;font-size:13px;min-width:500px}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid #e4e9e0;vertical-align:top}th{font-weight:500;color:var(--muted);white-space:nowrap}td input{min-width:125px}td small{display:block;max-width:270px;overflow-wrap:anywhere}.allocation{display:grid;grid-template-columns:minmax(0,1fr) 100px 50px;gap:8px;margin:10px 0}.timeline{padding:0;list-style:none}.timeline li{padding:12px 0;border-bottom:1px solid #e7ebe4;font-size:13px;overflow-wrap:anywhere}.timeline time{display:block;color:var(--muted);font-size:11px}.empty{text-align:center;color:var(--muted);padding:50px 16px}.ledger-id{font-size:11px;color:var(--muted);word-break:break-all}.cancelled{color:#89948b;text-decoration:line-through}footer{text-align:center;color:var(--muted);font-size:12px;padding:25px}.print-area{display:none}body.printing .print-area{display:block}body.printing>main,body.printing>.topbar,body.printing>footer{display:none}@media(max-width:850px){.layout{grid-template-columns:1fr}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.topbar{padding:14px 16px;gap:12px;align-items:flex-start;flex-direction:column}.topbar nav{gap:15px;width:100%;justify-content:space-between}.brand{font-size:21px}.brand span{display:inline;font-size:10px;margin-left:10px;letter-spacing:0}main{padding:25px 16px 40px}.intro{margin-bottom:18px}.seal{font-size:16px}.policy{grid-template-columns:80px 1fr;padding:18px;gap:12px}.policy strong{font-size:30px}.policy p{font-size:12px}.panel{padding:18px}.fields{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{font-size:20px}.roster{grid-template-columns:1fr}.actions button{flex-grow:1}.agreement{padding:15px}.project-list button{padding:12px}}@media print{body>*{display:none!important}.print-area{display:block!important;color:#000;padding:15mm;font-size:12px}.print-area pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.7} .print-area h1{font-size:24px}@page{size:A4;margin:10mm}}
