*{box-sizing:border-box}body{margin:0;color:#1f2329;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;background:#f2f4f7}button,input,textarea{font:inherit}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.admin-shell.unauthenticated{display:block}.admin-sidebar{display:flex;flex-direction:column;gap:20px;min-height:100vh;padding:20px 14px;background:#202936;color:#fff}.brand-block{display:grid;gap:4px;padding:0 8px 16px;border-bottom:1px solid rgb(255 255 255 / 12%)}.brand-block strong{font-size:18px;letter-spacing:0}.brand-block span{color:#aeb8c7;font-size:12px}.admin-nav{display:grid;gap:6px}.admin-nav button{width:100%;min-height:40px;padding:0 12px;border:0;border-radius:6px;color:#d6deeb;text-align:left;background:transparent;cursor:pointer}.admin-nav button:hover,.admin-nav button.active{color:#fff;background:#2f7ef7}.admin-main{min-width:0;padding:20px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;margin-bottom:16px}.admin-topbar h1{margin:0;font-size:22px;font-weight:700;letter-spacing:0}.topbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.alert{margin-bottom:16px}.login-panel{max-width:720px;margin:64px auto 0}.module-panel{display:grid;gap:16px}.table-card,.settings-card{border-radius:6px}.table-card{min-width:0}.table-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.table-toolbar label{width:min(360px,100%)}.file-toolbar,.project-toolbar{flex-wrap:wrap;justify-content:flex-start}.file-toolbar label,.project-toolbar label{width:min(220px,100%)}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:6px;color:#4b5563;font-size:13px}.line-items{display:grid;gap:10px;margin-top:4px}.line-item-head,.line-item-row,.detail-line,.stage-head,.compact-row{display:grid;gap:10px;align-items:center}.line-item-head,.stage-head{grid-template-columns:1fr auto}.stage-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.action-hint{max-width:220px;color:#6b7280;font-size:12px;line-height:1.5;text-align:right}.line-item-row{grid-template-columns:minmax(0,1fr) 110px 68px}.drawer-body{display:grid;gap:18px;padding-right:4px}.drawer-actions{display:flex;justify-content:flex-end}.empty-line{padding:12px;color:#6b7280;border:1px dashed #d1d5db;border-radius:6px;background:#fbfcfe}.attachment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f5}.attachment-row div{display:grid;gap:4px;min-width:0}.attachment-row strong,.attachment-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-row span{color:#6b7280;font-size:12px}.section-actions,.row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.section-actions{justify-content:flex-start}.detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-summary.one-column{grid-template-columns:1fr}.detail-summary div{display:grid;gap:4px;min-height:64px;padding:12px;border:1px solid #e5e7eb;border-radius:6px;background:#fbfcfe}.detail-summary span{color:#6b7280;font-size:12px}.detail-summary strong{overflow:hidden;color:#1f2329;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.detail-section{display:grid;gap:10px}.detail-section h2,.setting-section h2,.stage-panel h3{margin:0;font-size:16px;letter-spacing:0}.detail-line{grid-template-columns:120px minmax(0,1fr) 90px 90px;min-height:34px;padding:7px 0;border-bottom:1px solid #edf0f4;color:#374151;font-size:13px}.detail-line strong,.detail-line span,.compact-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stage-panel{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid #e5e7eb;border-radius:6px;background:#fbfcfe}.draft-editor{display:grid;gap:10px}.draft-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#6b7280;font-size:13px}.danger-text{color:#b91c1c}.secret-status{display:flex;align-items:center;gap:8px;margin-top:12px}.dialog-body{display:grid;gap:16px;max-height:72vh;overflow:auto;padding-right:4px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.admin-section{display:grid;gap:12px;padding-top:14px}.compact-row{grid-template-columns:minmax(120px,.7fr) minmax(0,1fr) auto auto;min-height:36px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;color:#374151;background:#fff;font-size:13px}.inline-check{display:flex;align-items:center;gap:8px;min-height:32px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.setting-section{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid #e5e7eb;border-radius:6px;background:#fbfcfe}@media (max-width: 1180px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:sticky;top:0;z-index:10;min-height:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 16px}.brand-block{padding:0;border-bottom:0}.admin-nav{display:flex;flex-wrap:wrap}.admin-nav button{width:auto;min-width:96px;text-align:center}.stage-grid,.settings-grid{grid-template-columns:1fr}}@media (max-width: 760px){.admin-main{padding:12px}.admin-topbar{align-items:flex-start;flex-direction:column}.topbar-actions{justify-content:flex-start}.form-grid.two,.detail-summary,.line-item-row,.detail-line,.compact-row{grid-template-columns:1fr}.admin-sidebar{align-items:flex-start;flex-direction:column}.admin-nav,.admin-nav button{width:100%}}
