:root{--bg:#f4f6f8;--panel:#ffffff;--ink:#17202a;--muted:#667085;--line:#dde3ea;--nav:#121922;--nav-soft:#1d2935;--gold:#d99a18;--gold-soft:#fff4d7;--blue:#2455c6;--blue-soft:#e7efff;--green:#137a55;--green-soft:#e8f6ef;--amber:#a45d00;--amber-soft:#fff1d6;--red:#bd3030;--red-soft:#fde9e9;--violet:#6a4bc3;--violet-soft:#eee9ff;--shadow:0 14px 36px rgba(23,32,42,0.08)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:Arial,Microsoft YaHei,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:30px;line-height:1.15}h2{margin-bottom:6px;font-size:20px;line-height:1.25}h3{margin-bottom:8px;line-height:1.3}.loading{place-items:center;color:var(--muted)}.authGate,.loading{display:grid;min-height:100vh}.authGate{place-items:center;padding:24px;background:var(--bg)}.authPanel{display:grid;width:min(520px,100%);grid-gap:18px;gap:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:24px;box-shadow:var(--shadow)}.authBrand{margin:0;padding:0;color:var(--ink)}.authBrand span{color:var(--gold)}.authPanel h1{margin-bottom:10px}.authPanel p{color:var(--muted)}.authStatus{border:1px solid var(--amber-soft);border-radius:8px;background:var(--amber-soft);color:var(--amber);padding:10px 12px;font-weight:800}.authActions{display:flex;flex-wrap:wrap;gap:10px}.app{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:22px 16px;background:var(--nav);color:#f8fafc;overflow:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:8px 6px}.brandMark{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:var(--gold);color:#111820;font-size:20px;font-weight:900}.brand span,.brand strong{display:block}.brand strong{font-size:17px}.brand span{margin-top:3px;color:#f1c75f;font-size:12px;font-weight:800}.nav{display:grid;grid-gap:6px;gap:6px}.navItem{display:flex;align-items:center;gap:10px;min-height:42px;width:100%;border:0;border-radius:8px;background:transparent;color:#c8d2de;padding:0 12px;text-align:left}.navItem.active,.navItem:hover:not(:disabled){background:var(--nav-soft);color:#ffffff}.navItem.active{box-shadow:inset 3px 0 0 var(--gold)}.navBadge{display:inline-grid;min-width:22px;height:22px;margin-left:auto;place-items:center;border-radius:999px;background:var(--gold);color:#111820;font-size:12px;font-weight:900}.sideCard{display:grid;grid-gap:6px;gap:6px;margin-top:24px;border:1px solid #2f3d4c;border-radius:8px;padding:14px;background:#182330}.sideCard small,.sideCard span{color:#aeb8c4}.sideCard strong{color:#ffe3a0}.workspace{min-width:0;padding:26px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:13px}.userSwitch{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:8px 10px;box-shadow:0 8px 22px rgba(23,32,42,.06)}.adminGrid input,.deliveryInput,.formGrid input,.formGrid textarea,.grantBox input,.grantBox select,.grantBox textarea,.monthInput,.noteBox,.searchField input,.taskToolbar select,.userCreateForm input,.userSwitch select,.userToolbar select{border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--ink)}.userSwitch select{border:0;outline:0}.userIdentity{min-width:128px;grid-gap:2px;gap:2px}.userIdentity strong{color:var(--ink);font-size:14px;line-height:1.2}.userIdentity span{color:var(--muted);font-size:12px;line-height:1.2}.iconButton{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:#253041}.iconButton:hover{border-color:#bcc7d3;background:#f8fafc}.heroBand{display:grid;grid-template-columns:minmax(0,1fr) 132px 132px;grid-gap:14px;gap:14px;align-items:stretch;margin-bottom:16px;border:1px solid #e5d29d;border-radius:8px;background:#fffaf0;padding:18px;box-shadow:var(--shadow)}.heroBand h2{margin-bottom:8px;font-size:24px}.heroBand p{margin-bottom:0;color:#6b5b35;line-height:1.6}.brandTag{display:inline-flex;align-items:center;min-height:26px;margin-bottom:10px;border-radius:999px;background:#17202a;color:#f4c95d;padding:0 10px;font-size:12px;font-weight:900}.heroStats{display:grid;align-content:center;justify-items:center;border:1px solid #efdca6;border-radius:8px;background:#ffffff;padding:12px}.heroStats small,.heroStats span{color:var(--muted)}.heroStats strong{margin:3px 0;font-size:30px}.notice{border-left:4px solid var(--gold);border-radius:8px;background:var(--gold-soft);padding:12px 14px;color:#684800}.metrics,.notice{margin-bottom:16px}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px}.metric{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:6px 10px;gap:6px 10px;min-height:92px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px;box-shadow:var(--shadow)}.metric svg{color:var(--gold)}.metric span{color:var(--muted)}.metric strong{grid-column:1/-1;font-size:24px}.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:18px;box-shadow:var(--shadow)}.panelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.auditRow p,.boardTitle p,.bodyText,.grantBox p,.panelHeader p,.standard p,.taskMeta{color:var(--muted)}.inlineError{border:1px solid rgba(185,28,28,.2);border-radius:8px;background:rgba(254,226,226,.72);color:#991b1b}.inlineError,.inlineStatus{margin:-6px 0 14px;padding:10px 12px;font-weight:700}.inlineStatus{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;color:var(--muted)}.pill{display:inline-flex;align-items:center;min-height:30px;white-space:nowrap;border-radius:999px;background:var(--blue-soft);color:var(--blue);padding:0 12px;font-weight:800}.adminGrid,.formGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}label{display:grid;grid-gap:7px;gap:7px}label span{color:#344054;font-weight:800}input,textarea{width:100%;padding:10px 11px}input:focus,select:focus,textarea:focus{outline:2px solid rgba(217,154,24,.24);border-color:var(--gold)}textarea{resize:vertical}.wide{grid-column:1/-1}.dangerButton,.ghostButton,.primaryButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:8px;padding:0 13px;font-weight:800}.primaryButton{border:1px solid var(--blue);background:var(--blue);color:#ffffff;text-decoration:none}.primaryButton:hover{background:#1e49aa}.primaryButton.disabled,.primaryButton[aria-disabled=true]{cursor:not-allowed;opacity:.72}.ghostButton{border:1px solid var(--line);background:#ffffff;color:#253041}.ghostButton:hover{border-color:#bcc7d3;background:#f8fafc}.dangerButton{border:1px solid var(--red);background:var(--red);color:#ffffff}.empty{display:grid;min-height:160px;place-items:center;border:1px dashed var(--line);border-radius:8px;background:#fbfcfe;color:var(--muted)}.empty.small{min-height:110px}.empty.compact{min-height:88px}.panelActions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.notificationBlock{display:grid;grid-gap:12px;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.notificationHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.notificationHeader h3{margin:0;font-size:16px}.notificationHeader span{color:var(--muted);font-size:13px}.notificationItem.unread{background:#f7fbff;border-color:#bfd6f6}.notificationItem.read{opacity:.72}.inlineButton{min-height:30px;margin-top:10px;padding:0 10px;font-size:12px}.todoList{grid-gap:12px}.todoItem,.todoList{display:grid;gap:12px}.todoItem{grid-template-columns:42px minmax(0,1fr);grid-gap:12px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;background:#fbfcfe;padding:14px}.todoItem.action{border-left-color:var(--blue)}.todoItem.warning{border-left-color:var(--amber)}.todoItem.success{border-left-color:var(--green)}.todoItem.info{border-left-color:var(--violet)}.todoIcon{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:var(--gold-soft);color:#8a5b00}.todoTitle{display:flex;align-items:center;justify-content:space-between;gap:10px}.todoItem p,.todoMeta span,.todoTitle span{color:var(--muted)}.todoItem p{margin:6px 0 0;line-height:1.55}.todoMeta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:10px;font-size:13px}.todoActions{display:grid;grid-gap:2px;gap:2px}.todoActions .inlineButton{width:-moz-fit-content;width:fit-content}.taskGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.taskToolbar{display:grid;grid-template-columns:minmax(220px,1fr) 150px 150px auto;grid-gap:12px;gap:12px;align-items:end;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:12px}.taskToolbar label{gap:6px}.taskToolbar select{min-height:40px;padding:0 10px}.searchField{position:relative}.searchField svg{position:absolute;left:11px;bottom:12px;color:var(--muted)}.searchField input{min-height:40px;padding-left:34px}.filterReset{min-height:40px}.taskCard{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fbfcfe}.taskCard:hover{border-color:#c8d1dc}.taskCard.focused{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.actionRow,.grantBox,.taskTop{display:flex;align-items:center;gap:10px}.taskTop{justify-content:space-between}.taskTop strong{color:#8a5b00;font-size:18px}.status{display:inline-flex;align-items:center;min-height:27px;border-radius:999px;padding:0 10px;font-size:13px;font-weight:900}.status.green{background:var(--green-soft);color:var(--green)}.status.blue{background:var(--blue-soft);color:var(--blue)}.status.amber{background:var(--amber-soft);color:var(--amber)}.status.violet{background:var(--violet-soft);color:var(--violet)}.status.red{background:var(--red-soft);color:var(--red)}.status.gray{background:#edf0f4;color:#445060}.bodyText{line-height:1.6}.capacityBox,.rejectBox,.standard{border-radius:8px;padding:11px}.standard{background:#eef6f1}.standard span{display:block;margin-bottom:6px;color:#225342;font-size:13px;font-weight:900}.auditRow p,.rejectBox p,.standard p{margin-bottom:0}.rejectBox{background:var(--red-soft);color:var(--red)}.capacityBox{background:var(--amber-soft);color:var(--amber)}.capacityBox p{margin-bottom:0;color:#6a4a00}.adminInline,.userCapacityWarning{grid-column:1/-1}.taskMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px 10px;gap:6px 10px;font-size:13px}.dueBadge{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc;padding:9px 10px;font-size:13px}.dueBadge svg{flex:0 0 auto}.dueBadge strong{color:#344054}.dueBadge span{color:var(--muted)}.dueBadge.overdue{border-color:#f0b8b8;background:var(--red-soft)}.dueBadge.overdue strong,.dueBadge.overdue svg{color:var(--red)}.dueBadge.soon,.dueBadge.today{border-color:#ecd28e;background:var(--amber-soft)}.dueBadge.soon strong,.dueBadge.soon svg,.dueBadge.today strong,.dueBadge.today svg{color:var(--amber)}.noteBox{min-height:78px}.deliveryInput{min-height:40px}.actionHint,.formHint{margin:-4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.actionHint{margin-top:-2px}.deliveryLink{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;margin-top:8px;color:var(--blue);font-weight:800;overflow-wrap:anywhere;text-decoration:none}.deliveryLink:hover{text-decoration:underline}.deliveryMaterial{display:grid;grid-gap:4px;gap:4px;margin-bottom:8px;border-radius:8px;background:#f7f9fc;padding:10px}.deliveryMaterial span{color:var(--muted);font-size:13px;font-weight:900}.detailToggle{display:flex;justify-content:flex-end}.taskDetail{display:grid;grid-gap:12px;gap:12px;border:1px solid #d8e0ea;border-radius:8px;background:#ffffff;padding:12px}.detailSection{display:grid;grid-gap:8px;gap:8px}.detailSection h4{margin:0;font-size:14px}.timeline{display:grid;grid-gap:8px;gap:8px}.timelineItem{display:grid;grid-template-columns:92px minmax(90px,140px) minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;border-left:3px solid var(--gold);padding-left:10px}.detailEmpty,.detailRow span,.opinionGrid span,.timelineItem span{color:var(--muted);font-size:13px}.detailRow p,.opinionGrid p,.timelineItem p{margin-bottom:0;color:var(--muted)}.detailRows{display:grid;border-top:1px solid #edf0f4}.detailRow{display:grid;grid-template-columns:92px 110px minmax(0,1fr) 70px;grid-gap:8px;gap:8px;align-items:start;border-bottom:1px solid #edf0f4;padding:8px 0}.auditDetailRow{grid-template-columns:92px 140px minmax(0,1fr)}.detailRow b{color:#8a5b00;text-align:right}.opinionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.opinionGrid>div{border-radius:8px;background:#f7f9fc;padding:10px}.actionRow{flex-wrap:wrap}.leaderboardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.leaderboardActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.board{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fbfcfe}.boardTitle{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.boardTitle svg{color:var(--gold)}.rankRow{display:grid;grid-template-columns:36px 1fr auto;align-items:center;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding:12px 0}.rankRow small{display:block;color:var(--muted)}.rank{display:grid;width:30px;height:30px;place-items:center;border-radius:999px;background:var(--gold-soft);color:#8a5b00;font-weight:900}.table{display:grid}.tableHead,.tableRow{display:grid;grid-template-columns:150px 110px minmax(0,1fr) 90px;grid-gap:12px;gap:12px;align-items:center;padding:12px 0}.tableHead{border-bottom:1px solid var(--line);color:var(--muted);font-weight:900}.tableRow{border-bottom:1px solid #edf0f4}.amountIn{color:var(--green)}.amountOut{color:var(--red)}.toggleLine{display:flex;align-items:center;min-height:42px}.toggleLine input{width:auto}.readinessModeGroup{display:flex;flex-wrap:wrap;gap:8px}.modeButton{min-height:34px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;color:var(--muted);font-weight:900;cursor:pointer}.modeButton.active{border-color:var(--ink);background:var(--ink);color:#fff}.grantBox{justify-content:space-between;margin-top:20px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfcfe}.grantBox input{max-width:170px}.forceCancelBox{align-items:flex-start}.forceCancelBox>div:first-child{flex:1 1 320px}.forceCancelControls{display:grid;flex:1 1 420px;grid-gap:10px;gap:10px}.forceCancelControls input{max-width:none}.forceCancelControls textarea{min-height:64px}.wecomBox{align-items:flex-start;flex-wrap:wrap}.wecomBox>div:first-child{flex:1 1 360px}.wecomStatusGrid{display:flex;flex:1 0 100%;flex-wrap:wrap;gap:8px}.wecomStatusGrid p{flex:1 0 100%;margin:0}.issueList{display:grid;flex-basis:100%;grid-gap:8px;gap:8px}.issueRow{display:grid;grid-gap:3px;gap:3px;width:100%;border:1px solid var(--line);border-radius:8px;background:#ffffff;padding:10px}.issueRow.error{border-color:rgba(185,28,28,.22)}.issueRow.warning{border-color:rgba(217,154,24,.28)}.issueRow.success{border-color:rgba(22,163,74,.24)}.issueRow small,.issueRow span{color:var(--muted)}.issueRow span{display:grid;grid-gap:4px;gap:4px;min-width:0}.issueRow code{display:inline-block;max-width:100%;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:6px;background:#f8fafc;padding:4px 6px;color:var(--ink)}.auditList{margin-top:20px}.auditToolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;align-items:end;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:12px}.auditToolbar label{min-width:0;gap:6px}.auditToolbar input,.auditToolbar select{min-height:40px;padding:0 10px}.auditResultList{margin-top:10px}.userAdminList{display:grid;grid-gap:10px;gap:10px;margin-top:20px}.userAdminList>*{min-width:0}.userCreateForm,.userToolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;align-items:end;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:12px}.pendingUserPanel{display:grid;grid-gap:10px;gap:10px;border:1px solid #fedf89;border-radius:8px;background:#fffcf5;padding:12px}.compactTitle h4{margin:0 0 4px;font-size:16px}.pendingUserGrid{display:grid;grid-gap:10px;gap:10px}.pendingUserRow{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(270px,1.4fr) minmax(170px,.9fr);grid-gap:12px;gap:12px;align-items:center;border:1px solid #f6c768;border-radius:8px;background:#ffffff;padding:12px}.pendingUserRow>*{min-width:0}.pendingUserActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.userCreateForm label{gap:6px}.userCreateForm input{min-height:40px;padding:0 10px}.createRoleChecks{min-height:40px;align-items:center}.userToolbar label{gap:6px}.userToolbar select{min-height:40px;padding:0 10px}.sectionTitle{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px}.sectionTitle p{margin-bottom:8px;color:var(--muted)}.userAdminRow{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(270px,1.4fr) minmax(145px,.7fr) 78px minmax(185px,.8fr);grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;padding:12px}.userAdminRow>*{min-width:0}.userIdentity{display:grid;grid-gap:4px;gap:4px}.userProfileEdit{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.15fr);grid-gap:8px;gap:8px;min-width:0}.userProfileEdit label{gap:4px}.userProfileEdit input{min-height:36px;min-width:0;padding:0 9px}.userIdentity span,.userStats span{color:var(--muted);font-size:13px}.roleChecks,.userStats{display:flex;flex-wrap:wrap;gap:8px 12px}.inlineCheck{display:inline-flex;align-items:center;gap:6px;color:#344054;font-weight:800}.inlineCheck input{width:auto}.auditRow{display:grid;grid-template-columns:140px 150px 1fr;grid-gap:12px;gap:12px;border-top:1px solid var(--line);padding:11px 0}.auditRow small,.auditRow span{color:var(--muted)}.auditRow small{display:block;margin-top:4px}@media (max-width:1040px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.heroBand,.leaderboardGrid,.metrics,.taskGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.heroBand>div:first-child{grid-column:1/-1}.auditToolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.userAdminRow{grid-template-columns:1fr}}@media (max-width:1320px){.pendingUserRow,.userAdminRow{grid-template-columns:1fr}.pendingUserActions{justify-content:flex-start}}@media (max-width:720px){.workspace{padding:16px}.grantBox,.panelHeader,.topbar{align-items:stretch;flex-direction:column}.adminGrid,.auditDetailRow,.auditRow,.auditToolbar,.detailRow,.formGrid,.heroBand,.leaderboardGrid,.metrics,.nav,.opinionGrid,.tableHead,.tableRow,.taskGrid,.taskMeta,.taskToolbar,.timelineItem,.todoItem,.userAdminRow,.userCreateForm,.userProfileEdit,.userToolbar{grid-template-columns:1fr}.heroBand>div:first-child{grid-column:auto}.tableHead{display:none}h1{font-size:24px}}