:root{--bo-bg: #f2f4f7;--bo-surface: #ffffff;--bo-border: #e4e7ec;--bo-border-soft: #eef0f4;--bo-text: #101828;--bo-text-soft: #475467;--bo-muted: #6b7280;--bo-navy: #1f3a5f;--bo-rail: #0f2138;--bo-rail-line: rgba(255, 255, 255, .08);--bo-radius: 8px;--bo-header-h: 56px;--bo-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}#root>.ant-app{height:100%}body{zoom:.9;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--bo-text);background:var(--bo-bg)}.app-shell{height:100%;overflow:hidden}.app-rail{border-right:1px solid rgba(255,255,255,.06)}.app-rail>.ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.app-shell>.ant-layout{min-width:0;overflow:hidden}.app-brand{display:flex;align-items:center;gap:10px;height:var(--bo-header-h);flex:none;padding:0 16px;border-bottom:1px solid var(--bo-rail-line);overflow:hidden;white-space:nowrap}.app-brand-mark{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:7px;background:linear-gradient(140deg,#3f6ea8,#1f3a5f);color:#fff;font-size:14px;font-weight:700;letter-spacing:.02em}.app-brand-name{color:#fff;font-size:14px;font-weight:600;line-height:1.2}.app-brand-sub{color:#ffffff73;font-size:11px;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}.app-nav{flex:1;min-height:0;overflow-y:auto;padding:8px 0 12px}.app-nav .ant-menu{border-inline-end:none}.app-nav .ant-menu-item-group-title{padding:12px 16px 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.app-rail-foot{flex:none;padding:10px 16px;border-top:1px solid var(--bo-rail-line);color:#fff6;font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;border-bottom:1px solid var(--bo-border)}.app-header-left,.app-header-right{display:flex;align-items:center;gap:12px;min-width:0}.app-user{display:flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 4px;border-radius:18px;cursor:pointer;transition:background .15s ease}.app-user:hover{background:#f2f4f7}.app-user-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--bo-text-soft)}.app-content{flex:1;min-height:0;display:flex;overflow:hidden;padding:20px 24px 24px}.page{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex:none;margin-bottom:16px;flex-wrap:wrap}.page-title{margin:0 0 4px;font-size:20px;font-weight:600;letter-spacing:-.01em}.page-subtitle{margin:0;color:var(--bo-muted);font-size:13px;max-width:82ch;line-height:1.55}.page-notice{flex:none;margin-bottom:16px}.panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--bo-surface);border:1px solid var(--bo-border);border-radius:var(--bo-radius);box-shadow:var(--bo-shadow)}.panel-toolbar{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--bo-border-soft);background:var(--bo-surface)}.panel-body,.panel-tabs{display:flex;flex-direction:column;flex:1;min-height:0}.panel-tabs>.ant-tabs-nav{flex:none;margin:0;padding:0 16px}.panel-tabs>.ant-tabs-content-holder{display:flex;flex:1;min-height:0}.panel-tabs>.ant-tabs-content-holder>.ant-tabs-content{display:flex;flex:1;min-height:0}.panel-tabs .ant-tabs-tabpane{display:flex;flex-direction:column;min-height:0;height:100%}.data-table{flex:1;min-height:0;display:flex;flex-direction:column}.data-table>.ant-table-wrapper,.data-table .ant-spin-nested-loading,.data-table .ant-spin-nested-loading>.ant-spin-container{display:flex;flex-direction:column;flex:1;min-height:0}.data-table .ant-table{flex:1;min-height:0}.data-table .ant-pagination.ant-table-pagination{margin-top:auto}.data-table .ant-table{background:transparent}.data-table .ant-table-thead>tr>th{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--bo-text-soft)}.data-table .ant-pagination.ant-table-pagination{margin:0;padding:11px 16px;border-top:1px solid var(--bo-border-soft)}.data-table .ant-table-placeholder .ant-table-cell{border-bottom:none}.data-table .ant-table-body::-webkit-scrollbar,.app-nav::-webkit-scrollbar,.ant-drawer-body::-webkit-scrollbar{width:10px;height:10px}.data-table .ant-table-body::-webkit-scrollbar-thumb,.app-nav::-webkit-scrollbar-thumb,.ant-drawer-body::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:6px;background-clip:content-box;background-color:#cfd4dc}.data-table .ant-table-body::-webkit-scrollbar-thumb:hover,.app-nav::-webkit-scrollbar-thumb:hover,.ant-drawer-body::-webkit-scrollbar-thumb:hover{background-color:#98a2b3}.app-nav::-webkit-scrollbar-thumb{background-color:#ffffff2e}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.cell-sub{color:var(--bo-muted)}.login-shell{height:100%;overflow:auto;display:grid;place-items:center;padding:24px;background:radial-gradient(1100px 520px at 50% -10%,#e8edf5,#e8edf500 70%),var(--bo-bg)}.login-panel{width:100%;max-width:400px}.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}.login-brand .app-brand-mark{width:34px;height:34px;border-radius:9px;font-size:16px}.login-brand-name{font-size:17px;font-weight:600;letter-spacing:-.01em}.login-card{width:100%}.login-foot{margin-top:16px;text-align:center;color:var(--bo-muted);font-size:12px}
