:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#18364a;background:#f3f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,119,154,.24);outline-offset:2px}[hidden]{display:none!important}.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}
.site-header{background:#112c40;color:#edf5f8}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1420px,calc(100% - 48px));min-height:66px;margin:auto}.brand{text-decoration:none;font-weight:800;letter-spacing:.02em}.brand span{margin:0 7px;color:#d9ae61}.header-actions{display:flex;align-items:center;gap:16px;font-size:13px}.header-actions>span{color:#c4d9e2}.back-link{padding:8px 12px;border:1px solid #547184;border-radius:8px;text-decoration:none}.back-link:hover{background:#22465d}
.shell{width:min(1420px,calc(100% - 48px));margin:32px auto 80px}.eyebrow{color:#ad7e34;font-size:11px;font-weight:800;letter-spacing:.14em}.notice{display:none;margin-bottom:18px;padding:12px 16px;border:1px solid #b9d6cb;border-radius:11px;background:#eaf7f0;color:#216247;font-size:13px}.notice.show{display:block}.notice.error{border-color:#e9c1ba;background:#fff0ed;color:#a14c3e}
.gate{max-width:520px;margin:10vh auto;padding:38px;border:1px solid #d9e5eb;border-radius:20px;background:#fff;box-shadow:0 18px 40px rgba(22,53,72,.08)}.gate h1{margin:8px 0 10px;font-size:28px}.gate p{margin:0 0 24px;color:#6f8390;font-size:14px;line-height:1.8}.gate label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.gate select{display:block;width:100%;height:44px;margin-bottom:17px;padding:0 12px;border:1px solid #ccdce5;border-radius:9px;background:#fff}.gate .primary{width:100%}
.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:32px 38px;border-radius:20px;background:linear-gradient(115deg,#15384e,#215268);color:#fff;box-shadow:0 18px 34px rgba(20,57,78,.13)}.hero .eyebrow{color:#edc071}.hero h1{margin:9px 0 9px;font-size:31px;letter-spacing:.015em}.hero p{max-width:740px;margin:0;color:#c9dce5;font-size:14px;line-height:1.8}.hero-date{flex:none;padding:8px 12px;border:1px solid #55788a;border-radius:999px;color:#d9e8ed;font-size:12px}.identity-note{margin:15px 0 22px;color:#8b6a3a;font-size:12px;line-height:1.65}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}.metric{padding:19px 22px;border:1px solid #dae5ea;border-radius:14px;background:#fff;box-shadow:0 6px 19px rgba(28,59,75,.035)}.metric strong{display:block;font-size:29px;line-height:1.1}.metric span{display:block;margin-top:8px;color:#718698;font-size:12px}.metric.alert strong{color:#b95a45}
.main-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(370px,.92fr);gap:20px;align-items:start}.task-area,.detail-area,.log-section{border:1px solid #dce7ec;border-radius:18px;background:#fff;box-shadow:0 9px 25px rgba(22,53,72,.035)}.task-area{padding:24px}.detail-area{position:sticky;top:18px;min-height:520px;padding:25px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.section-title h2{margin:5px 0 5px;font-size:21px}.section-title p{margin:0;color:#81919c;font-size:12px;line-height:1.65}.quiet{flex:none;padding:8px 12px;border:1px solid #d8e4e9;border-radius:8px;background:#fff;color:#2d5266;font-size:12px;font-weight:700}.quiet:hover{background:#f1f7f9}.primary{min-height:42px;padding:0 17px;border:1px solid #15394e;border-radius:9px;background:#15394e;color:#fff;font-weight:700}.primary:hover{background:#23536b}
.filters{margin-top:22px}.filter-tabs{display:flex;flex-wrap:wrap;gap:7px}.filter-tabs button{padding:8px 12px;border:1px solid #dde7eb;border-radius:8px;background:#fff;color:#627e8e;font-size:12px;font-weight:700}.filter-tabs button.active{border-color:#1a4a62;background:#eaf3f7;color:#173c53}.filter-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,190px);gap:9px;margin:13px 0 7px}.filter-fields input,.filter-fields select{width:100%;height:40px;padding:0 12px;border:1px solid #d8e4ea;border-radius:9px;background:#fff;color:#28495c;font-size:12px}.task-count{margin:13px 0 8px;color:#84939e;font-size:12px}.task-list{display:grid;gap:9px;max-height:820px;overflow:auto;padding:1px 2px 2px 1px}.task-item{display:block;width:100%;padding:15px;border:1px solid #e1e9ed;border-radius:12px;background:#fff;text-align:left}.task-item:hover,.task-item.selected{border-color:#8eb4c5;background:#f5fafc}.task-item.selected{box-shadow:inset 3px 0 #2d7797}.task-item-top,.task-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-item-top strong{font-size:14px;line-height:1.55}.task-item-top .priority{flex:none;padding:3px 7px;border-radius:5px;background:#fff3e8;color:#a65c31;font-size:10px;font-weight:800}.task-item p{margin:6px 0 11px;color:#7a8e99;font-size:12px}.task-item-bottom{color:#718b9b;font-size:11px}.task-status{padding:4px 8px;border-radius:999px;background:#edf3f5;color:#547385;font-weight:700;white-space:nowrap}.task-status.blocked{background:#fff0e9;color:#af5741}.task-status.done{background:#eaf6ee;color:#43815a}.task-status.progress{background:#e9f2fa;color:#28678d}.empty{padding:30px 18px;border:1px dashed #d9e5e9;border-radius:11px;color:#7a8e9b;text-align:center;font-size:13px;line-height:1.7}
.detail-empty{display:grid;place-items:center;min-height:450px;text-align:center;align-content:center}.detail-empty span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f3f6f7;color:#ba8a3e;font-weight:800}.detail-empty h2{margin:17px 0 5px;font-size:19px}.detail-empty p{max-width:270px;margin:0;color:#8a99a3;font-size:12px;line-height:1.75}.detail-kicker{color:#a57836;font-size:10px;font-weight:800;letter-spacing:.12em}.detail-head h2{margin:7px 0 10px;font-size:22px;line-height:1.45}.detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.detail-meta span{padding:5px 8px;border-radius:6px;background:#f1f5f7;color:#648092;font-size:11px}.detail-path{display:grid;gap:8px;padding:15px;border:1px solid #e3ecf0;border-radius:11px;background:#f8fafb;color:#395c70;font-size:12px}.detail-path div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px}.detail-path b{color:#8399a6;font-weight:600}.detail-copy{display:grid;gap:14px;margin:18px 0}.detail-copy h3,.action-block h3{margin:0 0 7px;font-size:13px}.detail-copy p{margin:0;color:#627a89;font-size:12px;line-height:1.7;white-space:pre-wrap}.action-block{padding-top:18px;border-top:1px solid #e8eef1}.status-row{display:flex;gap:8px}.status-row select{flex:1;min-width:0;height:42px;padding:0 10px;border:1px solid #d4e1e7;border-radius:9px;background:#fff;color:#284b5e}.status-row .primary{flex:none}.action-hint{margin:9px 0 0;color:#8799a3;font-size:11px;line-height:1.6}
.journal-form{display:grid;gap:12px;margin-top:19px;padding-top:18px;border-top:1px solid #e8eef1}.journal-form h3{margin:0 0 2px;font-size:15px}.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.journal-form label{display:grid;gap:6px;color:#36576b;font-size:12px;font-weight:700}.journal-form input,.journal-form textarea{width:100%;padding:10px 11px;border:1px solid #d8e4e9;border-radius:9px;background:#fff;color:#1b3d51;font-size:12px;font-weight:400}.journal-form textarea{resize:vertical;min-height:75px;line-height:1.65}.journal-form .submit-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.journal-form .submit-row small{color:#8395a1;font-size:11px}.journal-form .submit-row button{flex:none}.edit-banner{padding:9px 11px;border-radius:8px;background:#fff7e8;color:#8a6329;font-size:11px}
.log-section{margin-top:22px;padding:25px}.log-total{padding:7px 10px;border-radius:999px;background:#eaf2f6;color:#355f76;font-size:12px;font-weight:700}.log-list{display:grid;gap:10px;margin-top:19px}.log-card{display:grid;grid-template-columns:115px minmax(0,1fr) auto;gap:14px;padding:15px;border:1px solid #e2e9ed;border-radius:12px}.log-date{color:#59768a;font-size:12px;font-weight:700}.log-date strong{display:block;margin-top:5px;color:#173c52;font-size:19px}.log-main strong{display:block;color:#24485d;font-size:13px}.log-main small{display:block;margin:4px 0 8px;color:#879aa5;font-size:11px}.log-main p{margin:5px 0;color:#5e7888;font-size:12px;line-height:1.6;white-space:pre-wrap}.log-main .blocker{color:#a05d46}.log-edit{align-self:start;padding:6px 9px;border:1px solid #d8e4e9;border-radius:7px;background:#fff;color:#41667b;font-size:11px}
.log-history{margin-top:10px;padding:10px 12px;border-radius:8px;background:#f7fafb;color:#5c7889;font-size:11px}.log-history summary{cursor:pointer;font-weight:700}.log-history>div{padding:9px 0;border-top:1px solid #e2ebef}.log-history>div:first-of-type{margin-top:8px}.log-history p{margin:4px 0!important}
@media(max-width:1000px){.main-grid{grid-template-columns:1fr}.detail-area{position:static;min-height:0}.task-list{max-height:520px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.site-header-inner,.shell{width:calc(100% - 28px)}.site-header-inner{min-height:60px}.brand{font-size:13px}.header-actions{gap:7px}.back-link{font-size:11px}.hero{align-items:flex-start;flex-direction:column;padding:25px}.hero h1{font-size:25px}.metrics{gap:8px}.metric{padding:16px}.metric strong{font-size:24px}.task-area,.detail-area,.log-section{padding:18px}.filter-fields{grid-template-columns:1fr}.log-card{grid-template-columns:1fr auto;gap:5px}.log-date{grid-column:1}.log-date strong{display:inline;margin-left:9px;font-size:15px}.log-main{grid-column:1/3;grid-row:2}.log-edit{grid-column:2;grid-row:1}.form-row{grid-template-columns:1fr}.journal-form .submit-row{align-items:flex-start;flex-direction:column}.journal-form .submit-row button{width:100%}}
