*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f3f6f8;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(22,119,255,.08),transparent 32%),linear-gradient(315deg,rgba(31,157,85,.1),transparent 30%),#f5f7fb}.login-panel{width:min(420px,100%);padding:28px;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;box-shadow:0 18px 45px #0f172a1f}.login-brand{display:flex;gap:14px;align-items:center;margin-bottom:28px}.login-brand .ant-typography{margin:0}.brand-avatar{background:#1677ff;font-weight:700}.shell{min-height:100vh}.sider-brand{height:64px;display:flex;align-items:center;gap:10px;padding:0 20px;color:#fff;font-size:17px;font-weight:700}.topbar{position:sticky;top:0;z-index:10;height:auto;min-height:64px;padding:12px 24px;border-bottom:1px solid #e5e7eb;line-height:1.4}.topbar .ant-statistic-title{margin-bottom:0;color:#64748b;font-size:12px}.topbar .ant-statistic-content{color:#111827;font-size:16px;font-weight:700}.content{padding:24px}.page-header{margin-bottom:16px}.page-header .ant-typography{margin:0}.filter-bar{width:100%;margin-bottom:16px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff}.filter-bar .ant-form-item{margin-bottom:8px}.filter-select{min-width:160px}.stats-export-bar{margin-bottom:16px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff}.stats-summary{color:#334155}.deleted-row{background:#f8fafc}.deleted-row td{color:#64748b}.full-width{width:100%}.thumb,.preview-image{overflow:hidden;border-radius:6px;object-fit:cover;background:#e5e7eb}.muted-line{margin-top:3px;color:#64748b;font-size:12px;line-height:1.45}.form-grid{width:100%}.form-grid>.ant-form-item{flex:1 1 0}.order-project{padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.detail-loading{opacity:.55;pointer-events:none}@media (max-width: 768px){.content{padding:16px}.page-header{align-items:flex-start;flex-direction:column}.filter-bar{display:block}.filter-bar .ant-form-item,.filter-bar .ant-input-affix-wrapper,.filter-bar .ant-picker,.filter-select,.filter-bar .ant-btn{width:100%}.form-grid{display:block}.topbar{padding:12px 16px}}
