:root{--header-height: 56px;--sider-width: 232px;--surface: #ffffff;--surface-sunken: #fafbfc;--bg-layout: #f7f8fa;--border-hairline: #edeff3;--border-default: #e3e6eb;--text-primary: #14161a;--text-secondary: #565d6b;--text-tertiary: #8b919e;--brand: #4056d6;--success: #16a34a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-layout);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#dcdfe5;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#c3c8d0;background-clip:content-box}.app-sider{height:100vh;position:sticky;top:0;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border-hairline);scrollbar-width:thin}.app-sider .ant-menu-item-selected{font-weight:500}.app-sider .ant-menu-item-selected .anticon{color:var(--brand)}.app-sider .ant-menu-item-group-title{font-size:11px;color:var(--text-tertiary);padding-top:14px}.app-logo{height:var(--header-height);display:flex;align-items:center;gap:10px;padding:0 16px;flex:none;overflow:hidden;white-space:nowrap}.app-logo-mark{flex:none;width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;background:var(--brand)}.app-logo-text{color:var(--text-primary);font-weight:600;font-size:14.5px;letter-spacing:-.1px}.ant-layout-sider-collapsed .app-logo{padding:0;justify-content:center}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 20px 0 10px;border-bottom:1px solid var(--border-hairline);position:sticky;top:0;z-index:10}.app-header-left{display:flex;align-items:center;gap:6px;min-width:0}.app-collapse-btn{font-size:15px;color:var(--text-tertiary);width:32px;height:32px;border-radius:6px}.app-collapse-btn:hover{background:#f1f2f5!important;color:var(--text-primary)!important}.app-header .ant-breadcrumb{font-size:13px}.app-header .ant-breadcrumb-link{color:var(--text-tertiary)}.app-user{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border-radius:6px;cursor:pointer;transition:background .15s}.app-user:hover{background:#f1f2f5}.app-user-avatar{background:var(--brand);font-weight:500}.app-user-name{font-size:13.5px;color:var(--text-secondary)}.app-user-caret{font-size:9px;color:var(--text-tertiary)}.app-content{padding:24px;overflow:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-title{font-size:19px;font-weight:600;letter-spacing:-.3px;margin:0;color:var(--text-primary)}.ant-card{border:1px solid var(--border-hairline);box-shadow:none}.ant-card-hoverable:hover{border-color:var(--border-default);box-shadow:none;transform:none}.ant-card-head{border-bottom-color:var(--border-hairline)!important}.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin:-4px -16px 16px;padding:12px 16px 0;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border-hairline)}.tenant-shell{min-height:100vh;background:var(--canvas, #f5f6f8)}.tenant-manage{display:flex;min-height:100vh;background:var(--surface)}.tenant-manage-side{width:232px;flex:none;border-right:1px solid var(--border-hairline);background:var(--surface);padding-top:8px}.tenant-manage-blank{flex:1;min-height:100vh;background:var(--canvas, #f5f6f8)}.table-pagination{display:flex;justify-content:flex-end;margin-top:16px}.table-surface{background:var(--surface);border:1px solid var(--border-hairline);border-radius:10px;padding:32px}.table-surface-padded{padding:4px 16px}.ant-table-content{overflow-x:auto}.ant-table-content>table{width:max-content!important}.ant-table-thead>tr>th{font-weight:500;font-size:12.5px;color:var(--text-tertiary);border-bottom:1px solid var(--border-hairline);white-space:nowrap}.ant-table-tbody>tr>td{white-space:nowrap;border-bottom:1px solid var(--border-hairline)}.ant-table-tbody>tr:last-child>td{border-bottom:none}.table-row>td{transition:background .15s}.table-action{color:var(--text-secondary)!important;padding-inline:6px}.table-action:hover{color:var(--brand)!important}.table-action-danger:hover{color:#dc2626!important}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(900px 560px at 14% 20%,rgba(64,86,214,.42) 0%,transparent 55%),radial-gradient(820px 640px at 86% 84%,rgba(96,70,190,.34) 0%,transparent 58%),linear-gradient(140deg,#262b4d,#1a1e38 60%,#151830)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000 15%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 15%,transparent 72%);pointer-events:none}.login-card{width:392px;padding:34px 30px 26px;background:#fff;border-radius:14px;position:relative;z-index:1;box-shadow:0 16px 48px #0a0f283d}.login-title{text-align:center;margin-bottom:26px}.login-title h1{font-size:21px;margin:14px 0 5px;letter-spacing:-.4px;color:var(--text-primary)}.login-title p{color:var(--text-tertiary);margin:0;font-size:13px}.login-logo{width:44px;height:44px;margin:0 auto;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;background:var(--brand);box-shadow:0 6px 16px #4056d647}.quick-link-card{height:100%;border-radius:8px!important}.quick-link-card .ant-card-body{padding:16px}.quick-link-title{font-weight:500;margin-bottom:4px;color:var(--text-primary);transition:color .15s}.quick-link-card:hover .quick-link-title{color:var(--brand)}.quick-link-desc{color:var(--text-tertiary);font-size:12px;line-height:1.5}.status-enabled{color:var(--success);font-weight:500}.status-disabled{color:var(--text-tertiary)}.ant-tag{border-radius:4px;font-weight:500;background:#f6f7f9;border-color:var(--border-hairline);color:var(--text-secondary)}.ant-tag.ant-tag-success{background:#16a34a14;border-color:#16a34a33;color:var(--success)}.ant-tag.ant-tag-error{background:#dc262614;border-color:#dc262633;color:#dc2626}.ant-tag.ant-tag-warning{background:#d9770614;border-color:#d9770633;color:#b45309}.error-text{color:#dc2626;font-size:13px}.text-muted{color:var(--text-tertiary)}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}.secret-box{background:#fffbe6;border:1px solid #ffe58f;padding:12px;border-radius:6px;margin:8px 0;word-break:break-all;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}
