:root { font-family: -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; color:#182638; background:#f4f6f9; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; min-height:100vh; }
button,select,textarea { font:inherit; }
button { cursor:pointer; }
.topbar { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px max(16px,calc((100vw - 1060px)/2)); background:#fff; border-bottom:1px solid #e8edf4; }
.brand { display:flex; align-items:center; gap:10px; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:#eaf3ff; color:#1677ff; font-weight:750; }
.brand strong,.brand small { display:block; }
.brand strong { font-size:15px; }.brand small { color:#8492a3; font-size:11px; margin-top:2px; }
.topbar a { color:#1677ff; text-decoration:none; font-size:12px; font-weight:650; }
main { width:min(100%,1080px); margin:0 auto; padding:18px 16px 44px; }
.hero { padding:22px 24px; border-radius:16px; background:linear-gradient(115deg,#186fff,#429eff); color:#fff; box-shadow:0 8px 18px rgba(22,119,255,.15); }
.hero span { font-size:11px; opacity:.9; }.hero h1 { margin:5px 0 3px; font-size:24px; }.hero p { margin:0; font-size:12px; opacity:.9; }
.panel { margin-top:16px; padding:18px; border:1px solid #edf0f4; border-radius:16px; background:#fff; box-shadow:0 4px 16px rgba(25,45,80,.035); }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }.section-head h2 { margin:0; font-size:17px; }.section-head button { border:1px solid #cfe1fa; border-radius:8px; background:#f4f9ff; color:#166ce0; padding:7px 12px; }
#message:not(:empty),#delegationMessage:not(:empty) { padding:9px 11px; margin:12px 0; border-radius:8px; background:#fff7e9; color:#875711; font-size:12px; }
.request-list { display:grid; gap:10px; margin-top:13px; }
.request-card { border:1px solid #e4eaf2; border-radius:11px; padding:14px; }
.request-head { display:flex; justify-content:space-between; gap:12px; }.request-head strong { font-size:12px; overflow-wrap:anywhere; }.request-head span { color:#1970e7; font-size:12px; font-weight:650; white-space:nowrap; }
.request-card dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:12px 0; }.request-card dl div { min-width:0; }.request-card dt { color:#8190a1; font-size:11px; }.request-card dd { margin:3px 0 0; font-size:13px; overflow-wrap:anywhere; }
.card-actions { display:flex; gap:8px; flex-wrap:wrap; }.card-actions button,.card-actions a,.dialog-actions button,.primary { padding:8px 13px; border-radius:8px; border:1px solid #bdd8fa; background:#f3f8ff; color:#166bea; font-weight:650; text-decoration:none; font-size:13px; }
.card-actions button:first-child,.primary { border-color:#1677ff; background:#1677ff; color:#fff; }
.empty { padding:25px; text-align:center; color:#8594a5; border:1px dashed #d4deea; border-radius:10px; }
.switch-line { display:block; margin:14px 0; font-size:13px; }.switch-line input { accent-color:#1677ff; vertical-align:middle; width:17px; height:17px; }.field-label { display:block; margin-bottom:7px; color:#53647a; font-size:12px; }#delegateSelect { width:100%; max-width:420px; display:block; padding:10px; border:1px solid #dce5ef; border-radius:8px; background:#fff; }
#saveDelegation { margin-top:12px; }details { margin-top:20px; font-size:12px; color:#53647a; }summary { cursor:pointer; font-weight:650; }#delegationAudit div { padding:7px 0; border-bottom:1px solid #edf1f5; }#moreDelegationAudit { margin-top:10px; border:0; background:none; color:#1677ff; }
dialog { width:min(560px,calc(100vw - 24px)); max-height:min(86dvh,800px); padding:0; border:1px solid #e0e8f2; border-radius:14px; box-shadow:0 20px 60px rgba(17,37,67,.25); color:#182638; }dialog::backdrop { background:rgba(18,35,56,.46); }.dialog-head { display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-bottom:1px solid #edf1f6; }.dialog-head h2 { margin:0; font-size:18px; }.dialog-head button { border:0; background:#f0f3f7; border-radius:7px; width:28px; height:28px; font-size:20px; }.dialog-body { max-height:calc(86dvh - 145px); overflow:auto; padding:14px 18px; }.detail-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }.detail-list div { min-width:0; padding:9px; border-radius:8px; background:#f7f9fc; }.detail-list dt { color:#8190a1; font-size:11px; }.detail-list dd { margin:4px 0 0; font-size:13px; overflow-wrap:anywhere; white-space:pre-wrap; }.dialog-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; padding:12px 18px 16px; border-top:1px solid #edf1f6; }.dialog-actions button:disabled { opacity:.5; cursor:default; }.dialog-body textarea { width:100%; min-height:75px; padding:10px; border:1px solid #dce5ef; border-radius:8px; resize:vertical; }.detail-message { font-size:12px; color:#a54c1f; }
.attachment-link { display:inline-block; margin:12px 0; padding:8px 12px; border:1px solid #bdd8fa; border-radius:8px; color:#166bea; background:#f3f8ff; text-decoration:none; font:inherit; cursor:pointer; }
#attachmentPreview table { width:100%; border-collapse:collapse; font-size:13px; }
#attachmentPreview th,#attachmentPreview td { padding:9px 7px; border-bottom:1px solid #e7edf4; text-align:left; }
#attachmentPreview th { color:#64758b; background:#f7f9fc; }
@media(max-width:720px) { .request-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); }main { padding:14px 12px 35px; }.panel { padding:14px; } .detail-list { grid-template-columns:1fr; } }
