.joybell-admin-layout{min-height:100vh;background:#f3f6fb;font-size:13px}.joybell-login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);background:#f4f7fb}.joybell-login-brand{background:#042b58;color:#fff;display:flex;align-items:center;padding:56px}.joybell-login-brand h1.ant-typography{color:#fff;margin:0;font-size:42px;line-height:1.12}.joybell-login-brand .ant-typography{color:#ffffffd6;max-width:560px}.joybell-login-points{display:flex;flex-wrap:wrap;gap:8px}.joybell-login-points span{border:1px solid rgb(255 255 255 / 24%);border-radius:6px;padding:6px 10px;color:#ffffffd6;font-size:13px}.joybell-login-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px}.joybell-login-card{width:min(440px,100%);border:1px solid #d8e2f0;border-radius:8px;box-shadow:0 20px 50px #0a1f441f}.joybell-login-icon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:#e7f0ff;color:#1262c6;font-size:22px}@media (max-width: 900px){.joybell-login-page{grid-template-columns:1fr}.joybell-login-brand{padding:32px 24px}.joybell-login-brand h1.ant-typography{font-size:30px}}.joybell-admin-layout .ant-pro-layout-bg-list{background:#f3f6fb}.joybell-admin-layout .ant-pro-sider,.joybell-admin-layout .ant-pro-sider .ant-layout-sider-children{background:linear-gradient(180deg,#06458f,#042b58 46%,#021d3f)!important}.joybell-admin-layout .ant-pro-sider-logo{background:#0855a8;border-block-end:1px solid rgb(255 255 255 / 12%);height:auto;min-height:58px;padding-inline:10px}.joybell-admin-layout .ant-pro-sider-logo h1{color:#fff;font-size:16px;font-weight:700;white-space:nowrap}.joybell-sider-brand{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:6px;row-gap:1px;align-items:center;width:100%;min-width:0;padding:8px 0}.joybell-logo-glyph{position:relative;display:inline-block;width:14px;height:14px;margin-left:1px;border:2px solid #4cc9ff;border-radius:4px;transform:rotate(45deg)}.joybell-logo-glyph:after{position:absolute;top:3px;right:3px;bottom:3px;left:3px;content:"";background:#ff3d71;border-radius:2px}.joybell-logo-title{overflow:visible;color:#f8fbff;font-size:14px;font-weight:800;line-height:1.08;text-overflow:clip;white-space:nowrap}.joybell-logo-version{grid-column:2;color:#d1e8ff57;font-size:11px;line-height:1;letter-spacing:0;white-space:nowrap}.joybell-bell-button{width:32px;min-width:32px;height:30px;padding:0}.joybell-admin-layout .ant-menu{background:transparent!important;color:#ffffffd1}.joybell-admin-layout .ant-menu-item,.joybell-admin-layout .ant-menu-submenu-title{color:#ffffffd1!important;border-radius:6px;margin-inline:6px;width:calc(100% - 12px);font-size:13px}.joybell-admin-layout .ant-menu-title-content{overflow:hidden;text-overflow:ellipsis}.joybell-admin-layout .ant-menu-item-selected{background:#0f67d8!important;color:#fff!important}.joybell-admin-layout .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important}.joybell-admin-layout .ant-menu-item a{color:inherit}.joybell-admin-layout .ant-pro-layout-header{background:#fff!important;border-bottom:1px solid #e5ebf3;box-shadow:0 1px 3px #0f172a0d}.joybell-cockpit-shell{min-height:calc(100vh - 56px);background:#f3f6fb}.joybell-top-sync-bar{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:7px 12px;overflow:hidden;color:#3f526d;white-space:nowrap;background:#f8fbff;border:1px solid #dce8f7;border-radius:6px}.joybell-overdue-order-line td{background:#fff1f0!important;border-top:1px solid #ffccc7;border-bottom:1px solid #ffccc7}.joybell-overdue-order-line td:first-child{border-left:3px solid #ff4d4f}.joybell-content-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px 0}.joybell-header-actions{display:flex;align-items:center;gap:14px;height:100%;padding-right:16px}.joybell-user-block{display:flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid #edf1f7}.joybell-cockpit-page{padding:16px 18px 22px}.joybell-cockpit-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.joybell-cockpit-titlebar h2{margin:0;color:#102033}.joybell-cockpit-actions{display:flex;align-items:center;gap:10px}.joybell-step-strip{padding:14px 22px 10px;margin-bottom:14px;background:#fff;border:1px solid #e4ebf5;border-radius:8px}.joybell-step-current{margin-top:8px;color:#1262c6;font-weight:600}.cockpit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px;align-items:stretch}.cockpit-lower-grid{display:grid;grid-template-columns:minmax(560px,1.55fr) minmax(420px,1fr);gap:12px;margin-top:12px}.cockpit-card{min-width:0;height:100%;border-color:#dfe8f4;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.cockpit-card .ant-card-head{min-height:42px;padding-inline:14px;background:#fbfdff;border-bottom-color:#e7eef8}.cockpit-card .ant-card-body,.cockpit-card .ant-pro-card-body{padding:12px}.cockpit-table .ant-table{min-width:0;font-size:12px}.cockpit-table .ant-table-thead>tr>th{padding:8px;color:#39506d;background:#f4f8fd}.cockpit-table .ant-table-tbody>tr>td{padding:8px}.cockpit-supplier-card .ant-card-body{overflow:hidden}.cockpit-supplier-name{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-rule-form .ant-form-item{margin-bottom:10px}.cockpit-target-price-row{display:grid;grid-template-columns:minmax(180px,1fr) 132px 132px auto;gap:8px;align-items:center;width:100%}.cockpit-target-price-row .ant-input-number{width:100%}.cockpit-supplier-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 140px auto;gap:8px;align-items:center;margin-bottom:12px}.cockpit-score-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,1fr) 48px;gap:8px;align-items:center;margin-bottom:10px}.cockpit-score-track{height:9px;overflow:hidden;background:#e8eef7;border-radius:999px;box-shadow:inset 0 0 0 1px #0f172a08}.cockpit-score-fill{height:100%;border-radius:inherit;box-shadow:0 0 0 1px #ffffff47,0 5px 12px #0f172a1a;transition:width .16s ease}.cockpit-award-card{border-color:#bfe2c8;background:#fbfffc}.cockpit-award-card .ant-card-head{background:#f2fbf5}.cockpit-mini-meta{color:#64748b;font-size:12px}.joybell-price-chart-card .ant-card-body{padding:14px}.joybell-chart-card{overflow:hidden;border-color:#dfe9f6;box-shadow:0 8px 24px #0f172a0a}.joybell-chart-card .ant-card-head{min-height:48px;background:linear-gradient(180deg,#fff,#fbfdff);border-bottom-color:#e8eef7}.joybell-chart-card .ant-card-head-title{color:#0f172a;font-weight:650}.joybell-chart{background:linear-gradient(180deg,#fff,#fbfdff);border-radius:6px}.cockpit-price-trend-card .cockpit-score-track{height:10px}.purchase-analytics-chart-card{border-color:#dfe9f6;box-shadow:0 8px 24px #0f172a0a}.purchase-analytics-chart-card .ant-card-head{min-height:48px;border-bottom-color:#e8eef7;background:linear-gradient(180deg,#fff,#fbfdff)}.purchase-analytics-chart-card .ant-card-head-title{color:#0f172a;font-weight:650}.purchase-analytics-main-chart-card .ant-card-body{padding-top:10px}.purchase-analytics-chart{border-radius:6px}.purchase-analytics-empty-chart{display:grid;min-height:96px;place-items:center;background:linear-gradient(180deg,#fff,#fbfdff);border:1px dashed #d8e4f2;border-radius:6px}.purchase-analytics-point{display:grid;grid-template-columns:minmax(128px,1fr) minmax(120px,2fr) minmax(92px,auto);gap:10px;align-items:center}.purchase-analytics-bar{height:9px;overflow:hidden;background:#e8eef7;border-radius:999px}.purchase-analytics-bar>div{height:100%;background:linear-gradient(90deg,#1677ff,#0ea5e9);border-radius:inherit;box-shadow:0 0 0 1px #1677ff14}.purchase-analytics-inline-stat{padding:10px 12px;background:#f8fbff;border:1px solid #e4ecf7;border-radius:6px}@media (max-width: 1120px){.cockpit-grid,.cockpit-lower-grid{grid-template-columns:1fr}}@media (max-width: 768px){.joybell-cockpit-page{padding:12px}.joybell-cockpit-titlebar{flex-direction:column}.joybell-cockpit-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.joybell-top-sync-bar{width:100%}.joybell-content-topbar{align-items:flex-start;flex-direction:column}}
