html,body,#root{margin:0;min-height:100%}body{-webkit-font-smoothing:antialiased}.app{min-height:100vh;background:#f4f6fa}.brand{height:60px;display:flex;align-items:center;gap:10px;padding:0 20px;color:#fff;font-size:17px;font-weight:700;letter-spacing:.5px}.brand-logo,.login-logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#4096ff,#1677ff);color:#fff;font-size:15px;font-weight:700;flex:none}.topbar{position:sticky;top:0;z-index:10;height:60px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #edf0f5}.top-actions{display:flex;align-items:center;gap:14px}.top-user{color:#1f2937}.content{padding:20px 24px 32px;max-width:1600px;width:100%;box-sizing:border-box}.content h3.ant-typography{margin-top:4px;margin-bottom:16px}.content .ant-card{border-color:#eaedf3;box-shadow:0 1px 2px rgba(16,24,40,.04)}.content .ant-statistic-title{color:#6b7280}.content .ant-card-hoverable:hover{box-shadow:0 6px 18px rgba(16,24,40,.08)}.section{margin-top:16px}.toolbar{margin-bottom:14px}.full{width:100%}.setting-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #eef1f6}.page-loading{min-height:50vh;display:grid;place-items:center}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#e8f1ff 0,transparent 45%),linear-gradient(135deg,#f4f8ff,#fff);padding:20px}.login-panel{width:min(400px,100%);background:#fff;padding:32px 32px 28px;border:1px solid #edf0f5;border-radius:14px;box-shadow:0 18px 50px rgba(20,40,80,.08);box-sizing:border-box}.login-logo{width:44px;height:44px;border-radius:12px;font-size:20px;margin-bottom:16px}.dark{background:#0f172a}.dark .topbar{background:rgba(23,32,51,.92);border-bottom-color:#1f2a40}.dark .top-user,.dark .topbar .ant-typography{color:#e5e7eb}.dark .content .ant-card,.dark .ant-table,.dark .ant-modal-content{background:#172033;color:#e5e7eb;border-color:#24304a}.dark .content h3.ant-typography{color:#e5e7eb}pre{white-space:pre-wrap;word-break:break-word;margin:0}@media(max-width:760px){.content{padding:12px}.topbar{padding:0 12px}.topbar-title,.top-user span:not(.ant-avatar){display:none}}.table-total-row>td{background:var(--ant-color-fill-quaternary, rgba(0, 0, 0, .02));font-weight:600}
