body{margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.uploader-btn{display:inline-block;position:relative;padding:4px 8px;font-size:100%;line-height:1.4;color:#666;border:1px solid #666;cursor:pointer;border-radius:2px;background:0 0;outline:0}.uploader-btn:hover{background-color:#00000014}.uploader-drop{position:relative;padding:10px;overflow:hidden;border:1px dashed #ccc;background-color:#f5f5f5}.uploader-dragover{border-color:#999;background-color:#f7f7f7}.uploader-unsupport{position:relative;z-index:10;overflow:hidden}.uploader-file{position:relative;height:49px;line-height:49px;overflow:hidden;border-bottom:1px solid #cdcdcd}.uploader-file[status=uploading] .uploader-file-pause,.uploader-file[status=waiting] .uploader-file-pause,.uploader-file[status=paused] .uploader-file-resume,.uploader-file[status=error] .uploader-file-retry{display:block}.uploader-file[status=success] .uploader-file-remove{display:none}.uploader-file[status=error] .uploader-file-progress{background:#ffe0e0}.uploader-file-progress{position:absolute;width:100%;height:100%;background:#e2eeff;-webkit-transform:translateX(-100%);transform:translate(-100%)}.uploader-file-progressing{-webkit-transition:all .4s linear;transition:all .4s linear}.uploader-file-info{position:relative;z-index:1;height:100%;overflow:hidden}.uploader-file-info:hover{background-color:#f0f0f033}.uploader-file-info em,.uploader-file-info i{font-style:normal}.uploader-file-actions,.uploader-file-meta,.uploader-file-name,.uploader-file-size,.uploader-file-status{float:left;position:relative;height:100%}.uploader-file-name{width:45%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-indent:14px}.uploader-file-icon{width:24px;height:24px;display:inline-block;vertical-align:top;margin-top:13px;margin-right:8px}.uploader-file-icon:before{content:"📃";display:block;height:100%;font-size:24px;line-height:1;text-indent:0}.uploader-file-icon[icon=folder]:before{content:"📂"}.uploader-file-icon[icon=image]:before{content:"📊"}.uploader-file-icon[icon=video]:before{content:"📹"}.uploader-file-icon[icon=audio]:before{content:"🎵"}.uploader-file-icon[icon=document]:before{content:"📋"}.uploader-file-size{width:13%;text-indent:10px}.uploader-file-meta{width:8%}.uploader-file-status{width:24%;text-indent:20px}.uploader-file-actions{width:10%}.uploader-file-actions>span{display:none;float:left;width:16px;height:16px;margin-top:16px;margin-right:10px;cursor:pointer;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAACxMAAAsTAQCanBgAAARkSURBVGje7ZnfS1NRHMAH4ptPkvQSuAdBkCxD8FUQJMEULUgzy1KyyPVQ4JMiiP4Bvg6EwUQQfMmwhwRDshwaKUjDVCgoSdDNHkzTJZ6+Z37Purve8+PeTb2TM/ggu+ew89l33x8H9BBCPG7GowXTJej3+wnDvEm0JuLC04+EYWftVAUv+fiCvDUdQR1BHUEdQR3BTIygvixoQS14XgTtthLVdpNWwXRLqvQ724LplFRtyrYF0yVpFLQrKRVMh6RZ0I6kkmCqklaCqpKZH0FX56Crq9jVfdDVk0RfFrSgFsxkQVmLcdKCVrKySCrryhPEyYShhzOcrFtG0EoilfHHk1CRU5rF6ZjNZhlVOW6RnMSVyyilKies4pO41diVy8wIujoHXV3FGdMHXTtJKLFYTLhZtq4vC1rwXApCZTIqgR6g1PBMCO9DL3bMMSqBHqDU8EyISDAHiGKvWwcCQG2KgjlAFCDAOhAAap0K5gKLphk8mqJgLrCIgoxRJ4J5wKpJ7gAoMkn5EBXBPGDVJHcAFJmkfIhQcAql1oBpTvTol9gG9pm4RHAKpdaAaU706JfYBvaZuJVgPQrt4sFlnOh5MC/p3lmJYD0K7eLBZZzoeTAv6d5ZnuAYHjpgEOnk5F0ufhG6v1ggOIaHDhhEOjl5l4tfhO4vthLcwAMrFNvLJO5vEwhu4IEViu1lEve3WQmyoihQFBzG/V0CQVYUBYqCw7i/SxTBcpsRbFeIYLnNCLZbCY5b5KAnxRwct8hBj9McZFVMW0ihRNBuFdMWUigRlFaxuQ9WWYjRMTiIe5z0wSoLMToGB3GPsA9aTZIJoB+nRgBnM1tzOkkmgH6cGgGczWzNpzqLx3n/aULJJgezeNw07oxQySbVywKjBOgFRnDs+VEsx8FlgVEC9AIjOPb8KJYjvSzoG7UW1IJaUAtqQS14toLNM5fN5APdwBJA8G83Pk/aK/rgzVvXzeQD3cASQPBvNz5P2ssTzAaGUIrHEO6zI5gNDKEUjyHcxxWkh4Ylcowwk1QQpIeGJXKMMJO0EgwqyjGCioJBJvDrxRMSuVOTJEXfbz1/bHwWtBL0yoQehK6RucgE+bGzanzulQh6E3IgQV+xpc8kcrfuSO7eTfJ3ZYmQw0Oy9azVKOk1C/bJ5D5F38YPeLfx0rjWJxHsS0SqsSYuxySjj5qO5Oj7xQWy2VBtFOwzCy6ryH3YfE3uh64Y1xckgstJPydEjkkeHv07Iy4Xaao15+KCWTBx6M/db+T9xivSErqaJDdzXI6yLRE8Vgg0coex/SPJvT0SbWu0KpZtbgSpCH3NRt7I5OxHkObc6heU+/M/J5vrpBFM5GBLqCQux14COXs5CNXK5OjPGm1tSMrJSOMNYQ4mVTGV/L6zTL7+DovkbFUxbSW0Wo05l8hJWsU+cRWfSh+Mt5Lb1ck/J1TvVsdDaR/MiEni+llsdZuZp62EViu+96bpNjNPWwmtVnzvFd5m9IVVC54x/wA7gNvqFG9vXQAAAABJRU5ErkJggg==) no-repeat 0 0}.uploader-file-actions>span:hover{background-position-x:-21px}.uploader-file-actions .uploader-file-pause{background-position-y:0}.uploader-file-actions .uploader-file-resume{background-position-y:-17px}.uploader-file-actions .uploader-file-retry{background-position-y:-53px}.uploader-file-actions .uploader-file-remove{display:block;background-position-y:-34px}.uploader-list{position:relative}.uploader-list>ul{list-style:none;margin:0;padding:0}.uploader-files{position:relative}.uploader-files>ul{list-style:none;margin:0;padding:0}.uploader{position:relative}:root{--bg-page: #f8fafc;--bg-card: #ffffff;--bg-sidebar: #ffffff;--bg-table-header: #f9fafb;--bg-input: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border-light: #e2e8f0;--border-medium: #cbd5e1;--shadow-card: 0 1px 3px rgba(0,0,0,.1);--shadow-hover: 0 4px 6px -1px rgba(0,0,0,.05);--primary-blue: #1890ff;--primary-blue-hover: #096dd9;--danger: #ef4444;--danger-hover: #dc2626;--danger-bg: #fef2f2;--success: #10b981;--success-bg: #ecfdf5;--warning: #f59e0b;--warning-bg: #fffbeb;--bg-layout-header: #ffffff}html[data-theme=dark]{--bg-page: #0f172a;--bg-card: #1e293b;--bg-sidebar: #1e293b;--bg-table-header: #334155;--bg-input: #0f172a;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-light: #334155;--border-medium: #475569;--shadow-card: none;--shadow-hover: 0 4px 6px -1px rgba(0,0,0,.5);--primary-blue: #3b82f6;--primary-blue-hover: #60a5fa;--danger: #f87171;--danger-hover: #fca5a5;--danger-bg: rgba(239, 68, 68, .15);--success: #34d399;--success-bg: rgba(16, 185, 129, .15);--warning: #fbbf24;--warning-bg: rgba(245, 158, 11, .15);--bg-layout-header: #1e293b}body,.table-card,.sidebar,.top-header,.page-container,.nav-item,.nav-parent,table,th,td{transition:background-color .3s ease,border-color .3s ease,color .3s ease}.page-container{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-badge{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.success{background:var(--success-bg);color:var(--success)}.status-badge.warning{background:var(--warning-bg);color:var(--warning)}.status-badge.danger{background:var(--danger-bg);color:var(--danger)}.status-badge.default{background:var(--border-light);color:var(--text-secondary)}.status-badge.status-draft{background:var(--border-light);color:var(--text-muted)}.status-badge.status-uploading{background:#3b82f626;color:var(--primary-blue)}.status-badge.status-uploaded{background:#6366f126;color:#6366f1}.status-badge.status-building{background:var(--warning-bg);color:var(--warning)}.status-badge.status-built,.status-badge.status-pushed{background:var(--success-bg);color:var(--success)}.status-badge.status-failed{background:var(--danger-bg);color:var(--danger)}.btn-primary{background:var(--primary-blue);border:none;color:#fff;font-weight:600;padding:12px;border-radius:6px;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--primary-blue-hover)}.btn-primary:disabled{background:#3b82f680;cursor:not-allowed;color:#fffc}.btn-primary.blue{background:var(--primary-blue);color:#fff}.btn-primary.blue:hover{background:var(--primary-blue-hover)}.table-card{background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-card);overflow:hidden}table{width:100%;border-collapse:collapse}th{background:var(--bg-table-header);padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-light)}td{padding:16px;border-bottom:1px solid var(--border-light);font-size:14px;color:var(--text-primary);vertical-align:middle}tr:last-child td{border-bottom:none}.font-medium{font-weight:500}.text-sm{font-size:13px}.text-gray-500{color:var(--text-secondary)}.primary-text{color:var(--primary-blue);font-weight:500}.pagination{display:flex;justify-content:flex-end;align-items:center;padding:16px;gap:12px;border-top:1px solid var(--border-light)}.pagination button{padding:6px 12px;border:1px solid var(--border-medium);background:var(--bg-card);color:var(--text-primary);border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s ease}.pagination button:hover:not(:disabled){background:var(--bg-table-header)}.pagination button:disabled{background:var(--bg-page);border-color:var(--border-light);color:var(--text-muted);cursor:not-allowed}.pagination span{font-size:13px;color:var(--text-secondary)}.action-group{display:flex;gap:8px}.btn-action{padding:6px 16px;border:1px solid transparent;background:#3b82f61a;color:var(--primary-blue);border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;white-space:nowrap}.btn-action:hover{background:var(--primary-blue);color:#fff;box-shadow:0 2px 4px #1890ff33}.btn-action:disabled{background:var(--border-light)!important;color:var(--text-muted)!important;border-color:transparent!important;cursor:not-allowed;box-shadow:none}.btn-action.danger{color:var(--danger);background:var(--danger-bg);border-color:#ef444433}.btn-action.danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}.btn-action.success{color:var(--success);background:var(--success-bg);border-color:#10b98133}.btn-action.success:hover{color:#fff;background:var(--success);border-color:var(--success)}
