*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}.drag-handle{cursor:grab;color:#999;-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px;transition:all .2s}.drag-handle:hover{color:#1890ff;background-color:#1890ff1a;transform:scale(1.1)}.drag-handle:active{cursor:grabbing;color:#1890ff;background-color:#1890ff33;transform:scale(.95)}.drag-handle.dragging{color:#1890ff;cursor:grabbing;background-color:#1890ff33}.layout-card{border:2px solid #0000;margin-bottom:12px;transition:all .2s}.layout-card:hover{border-color:#d9d9d9;box-shadow:0 2px 8px #0000001f}.layout-card.disabled{opacity:.5}.layout-card.selected{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.layout-card.dragging{opacity:.8;border-color:#1890ff;transform:scale(1.02);box-shadow:0 8px 24px #00000026}.sortable-ghost{opacity:.4;background:#f0f0f0;border:2px dashed #d9d9d9}.sortable-ghost .drag-handle{visibility:hidden}.sortable-drag{opacity:.8;transform:scale(1.05);box-shadow:0 12px 24px #00000026}.sortable-drag .drag-handle{color:#1890ff;background:#1890ff33}.ant-table{font-size:13px!important}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header h2{margin:0;font-size:20px}.build-log{color:#d4d4d4;white-space:pre-wrap;word-break:break-all;background:#1e1e1e;border-radius:8px;max-height:500px;padding:16px;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.ant-tag{margin-bottom:4px}
.mobile-sider-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;animation:mSbFade .2s ease}
@keyframes mSbFade{from{opacity:0}to{opacity:1}}
@media(max-width:1024px){
  .ant-layout-sider{z-index:1001!important;box-shadow:2px 0 8px rgba(0,0,0,.15)}
  .ant-layout-sider.ant-layout-sider-collapsed{transform:translateX(-100%);box-shadow:none}
  .ant-layout-has-sider>.ant-layout:not(.ant-layout-sider){margin-left:0!important}
  .ant-layout-header{padding:0 16px!important}
  .ant-layout-content{margin:12px!important;padding:16px!important}
  .ant-table-wrapper,.ant-table,.ant-table-container,.ant-table-content{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ant-table-content>table{min-width:700px;width:auto}
  .ant-table{display:block}
  .page-header{flex-direction:column;gap:8px;align-items:flex-start!important}
  .page-header .ant-space{width:100%}
  .ant-modal{max-width:95vw!important;margin:8px!important}
  .ant-modal .ant-modal-content{padding:16px!important}
  .ant-form-item{margin-bottom:12px!important}
  .ant-btn{height:36px!important;padding:0 12px!important;font-size:13px!important}
}
@media(max-width:768px){
  .ant-layout-sider{position:fixed!important;z-index:1001!important}
  .ant-layout-sider.ant-layout-sider-collapsed{width:0!important;min-width:0!important;max-width:0!important;transform:translateX(-100%);overflow:hidden}
  .ant-layout-has-sider>.ant-layout:not(.ant-layout-sider){margin-left:0!important}
  .ant-layout-header{padding:0 12px!important;height:56px!important;line-height:56px!important}
  .ant-layout-content{margin:8px!important;padding:12px!important;border-radius:6px!important}
  .page-header h2{font-size:16px!important}
  .layout-card{margin-bottom:8px!important}
  .layout-card .ant-card-body{padding:10px 12px!important}
  .layout-card .ant-card-body>div{flex-wrap:wrap;gap:8px!important}
  .layout-card .ant-card-body>div>.ant-space{flex-wrap:wrap;justify-content:flex-end;gap:2px!important}
  .layout-card .ant-card-body>div>div:last-child .ant-btn{padding:0 6px!important;min-width:28px!important}
  .layout-card .ant-card-body>div>div:nth-child(2){min-width:32px!important;gap:4px!important}
  .layout-card .ant-card-body>div>div:nth-child(2) span:last-child{font-size:12px!important}
  .layout-card .ant-card-body>div>div:nth-child(3)>div:first-child{font-size:13px!important}
  .layout-card .ant-card-body>div>div:nth-child(3)>div:last-child{font-size:11px!important}
  .ant-table-wrapper,.ant-table,.ant-table-container,.ant-table-content{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ant-table-content>table{min-width:600px;width:auto}
  .ant-table{display:block;font-size:12px!important}
  .ant-table-cell{padding:8px 6px!important;white-space:nowrap!important}
  .ant-table-thead>tr>th,.ant-table-tbody>tr>td{white-space:nowrap!important}
  .ant-modal{max-width:calc(100vw - 16px)!important;margin:8px!important}
  .ant-modal .ant-modal-content{padding:14px!important}
  .ant-input,.ant-select-selector,.ant-input-affix-wrapper>input{font-size:16px!important}
  .ant-btn{height:38px!important;padding:0 14px!important;font-size:14px!important}
  .ant-btn-sm{height:32px!important;font-size:12px!important}
  .hide-mobile{display:none!important}
  .ant-pagination{justify-content:center}
  .build-log{font-size:11px!important;padding:12px!important;max-height:300px}
  .ant-select-dropdown{max-width:calc(100vw - 24px)!important}
  .ant-modal .ant-select-dropdown{max-width:calc(100vw - 48px)!important}
  .ant-message{max-width:calc(100vw - 16px)!important}
  .ant-notification{width:calc(100vw - 16px)!important;max-width:380px!important}
}
@media(max-width:480px){
  .drag-handle{display:none!important}
  .layout-card .ant-card-body>div>div:last-child .ant-space-item:first-child,
  .layout-card .ant-card-body>div>div:last-child .ant-space-item:nth-child(2){display:none!important}
  .page-header .ant-space{width:100%}
  .page-header .ant-space .ant-space-item{flex:1}
  .page-header .ant-space .ant-btn{width:100%}
  .ant-layout-header>span:last-child{font-size:13px!important}
  .ant-modal .ant-modal-body{max-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .ant-card-body>div>div:nth-child(2){min-width:32px!important}
  .ant-card-body>div>div:nth-child(2) span:last-child{font-size:12px!important}
}